// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.28.1
// 	protoc        v3.19.4
// source: sni.proto

package sni

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// address space used to interpret an address in:
type AddressSpace int32

const (
	// The default is the FX Pak Pro / SD2SNES's address space:
	// $00_0000..$DF_FFFF =   ROM contents, linearly mapped
	// $E0_0000..$EF_FFFF =  SRAM contents, linearly mapped
	// $F5_0000..$F6_FFFF =  WRAM contents, linearly mapped
	// $F7_0000..$F7_FFFF =  VRAM contents, linearly mapped
	// $F8_0000..$F8_FFFF =   APU contents, linearly mapped
	// $F9_0000..$F9_01FF = CGRAM contents, linearly mapped
	// $F9_0200..$F9_041F =   OAM contents, linearly mapped
	// $F9_0420..$F9_04FF =  MISC contents, linearly mapped
	// $F9_0500..$F9_06FF =         PPUREG, linearly mapped
	// $F9_0700..$F9_08FF =         CPUREG, linearly mapped
	// translated device address depends on device being talked to and its current MemoryMapping mode
	AddressSpace_FxPakPro AddressSpace = 0 // SNES
	// The SNES's main A-bus; address depends on device's current MemoryMapping mode, e.g. LoROM, HiROM, ExHiROM, etc.
	AddressSpace_SnesABus AddressSpace = 1
	// Do not do any address translation; simply pass the raw address to the device as-is:
	AddressSpace_Raw AddressSpace = 2
)

// Enum value maps for AddressSpace.
var (
	AddressSpace_name = map[int32]string{
		0: "FxPakPro",
		1: "SnesABus",
		2: "Raw",
	}
	AddressSpace_value = map[string]int32{
		"FxPakPro": 0,
		"SnesABus": 1,
		"Raw":      2,
	}
)

func (x AddressSpace) Enum() *AddressSpace {
	p := new(AddressSpace)
	*p = x
	return p
}

func (x AddressSpace) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (AddressSpace) Descriptor() protoreflect.EnumDescriptor {
	return file_sni_proto_enumTypes[0].Descriptor()
}

func (AddressSpace) Type() protoreflect.EnumType {
	return &file_sni_proto_enumTypes[0]
}

func (x AddressSpace) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use AddressSpace.Descriptor instead.
func (AddressSpace) EnumDescriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{0}
}

// memory mapping mode of a SNES cart:
type MemoryMapping int32

const (
	MemoryMapping_Unknown MemoryMapping = 0
	MemoryMapping_HiROM   MemoryMapping = 1
	MemoryMapping_LoROM   MemoryMapping = 2
	MemoryMapping_ExHiROM MemoryMapping = 3 // (48-64Mbit)
	MemoryMapping_SA1     MemoryMapping = 4 // TODO: BSX = 5;
)

// Enum value maps for MemoryMapping.
var (
	MemoryMapping_name = map[int32]string{
		0: "Unknown",
		1: "HiROM",
		2: "LoROM",
		3: "ExHiROM",
		4: "SA1",
	}
	MemoryMapping_value = map[string]int32{
		"Unknown": 0,
		"HiROM":   1,
		"LoROM":   2,
		"ExHiROM": 3,
		"SA1":     4,
	}
)

func (x MemoryMapping) Enum() *MemoryMapping {
	p := new(MemoryMapping)
	*p = x
	return p
}

func (x MemoryMapping) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (MemoryMapping) Descriptor() protoreflect.EnumDescriptor {
	return file_sni_proto_enumTypes[1].Descriptor()
}

func (MemoryMapping) Type() protoreflect.EnumType {
	return &file_sni_proto_enumTypes[1]
}

func (x MemoryMapping) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use MemoryMapping.Descriptor instead.
func (MemoryMapping) EnumDescriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{1}
}

// capabilities of a device
type DeviceCapability int32

const (
	DeviceCapability_None                  DeviceCapability = 0
	DeviceCapability_ReadMemory            DeviceCapability = 1
	DeviceCapability_WriteMemory           DeviceCapability = 2
	DeviceCapability_ExecuteASM            DeviceCapability = 3
	DeviceCapability_ResetSystem           DeviceCapability = 4
	DeviceCapability_PauseUnpauseEmulation DeviceCapability = 5
	DeviceCapability_PauseToggleEmulation  DeviceCapability = 6
	DeviceCapability_ResetToMenu           DeviceCapability = 7
	DeviceCapability_FetchFields           DeviceCapability = 8
	DeviceCapability_ReadDirectory         DeviceCapability = 10
	DeviceCapability_MakeDirectory         DeviceCapability = 11
	DeviceCapability_RemoveFile            DeviceCapability = 12
	DeviceCapability_RenameFile            DeviceCapability = 13
	DeviceCapability_PutFile               DeviceCapability = 14
	DeviceCapability_GetFile               DeviceCapability = 15
	DeviceCapability_BootFile              DeviceCapability = 16
	DeviceCapability_NWACommand            DeviceCapability = 20
)

// Enum value maps for DeviceCapability.
var (
	DeviceCapability_name = map[int32]string{
		0:  "None",
		1:  "ReadMemory",
		2:  "WriteMemory",
		3:  "ExecuteASM",
		4:  "ResetSystem",
		5:  "PauseUnpauseEmulation",
		6:  "PauseToggleEmulation",
		7:  "ResetToMenu",
		8:  "FetchFields",
		10: "ReadDirectory",
		11: "MakeDirectory",
		12: "RemoveFile",
		13: "RenameFile",
		14: "PutFile",
		15: "GetFile",
		16: "BootFile",
		20: "NWACommand",
	}
	DeviceCapability_value = map[string]int32{
		"None":                  0,
		"ReadMemory":            1,
		"WriteMemory":           2,
		"ExecuteASM":            3,
		"ResetSystem":           4,
		"PauseUnpauseEmulation": 5,
		"PauseToggleEmulation":  6,
		"ResetToMenu":           7,
		"FetchFields":           8,
		"ReadDirectory":         10,
		"MakeDirectory":         11,
		"RemoveFile":            12,
		"RenameFile":            13,
		"PutFile":               14,
		"GetFile":               15,
		"BootFile":              16,
		"NWACommand":            20,
	}
)

func (x DeviceCapability) Enum() *DeviceCapability {
	p := new(DeviceCapability)
	*p = x
	return p
}

func (x DeviceCapability) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (DeviceCapability) Descriptor() protoreflect.EnumDescriptor {
	return file_sni_proto_enumTypes[2].Descriptor()
}

func (DeviceCapability) Type() protoreflect.EnumType {
	return &file_sni_proto_enumTypes[2]
}

func (x DeviceCapability) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use DeviceCapability.Descriptor instead.
func (DeviceCapability) EnumDescriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{2}
}

// fields to query from DeviceInfo.FetchFields
type Field int32

const (
	Field_DeviceName    Field = 0
	Field_DeviceVersion Field = 1
	Field_DeviceStatus  Field = 2
	Field_CoreName      Field = 20
	Field_CoreVersion   Field = 21
	Field_CorePlatform  Field = 22
	Field_RomFileName   Field = 40
	Field_RomHashType   Field = 41
	Field_RomHashValue  Field = 42
)

// Enum value maps for Field.
var (
	Field_name = map[int32]string{
		0:  "DeviceName",
		1:  "DeviceVersion",
		2:  "DeviceStatus",
		20: "CoreName",
		21: "CoreVersion",
		22: "CorePlatform",
		40: "RomFileName",
		41: "RomHashType",
		42: "RomHashValue",
	}
	Field_value = map[string]int32{
		"DeviceName":    0,
		"DeviceVersion": 1,
		"DeviceStatus":  2,
		"CoreName":      20,
		"CoreVersion":   21,
		"CorePlatform":  22,
		"RomFileName":   40,
		"RomHashType":   41,
		"RomHashValue":  42,
	}
)

func (x Field) Enum() *Field {
	p := new(Field)
	*p = x
	return p
}

func (x Field) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Field) Descriptor() protoreflect.EnumDescriptor {
	return file_sni_proto_enumTypes[3].Descriptor()
}

func (Field) Type() protoreflect.EnumType {
	return &file_sni_proto_enumTypes[3]
}

func (x Field) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Field.Descriptor instead.
func (Field) EnumDescriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{3}
}

type DirEntryType int32

const (
	DirEntryType_Directory DirEntryType = 0
	DirEntryType_File      DirEntryType = 1
)

// Enum value maps for DirEntryType.
var (
	DirEntryType_name = map[int32]string{
		0: "Directory",
		1: "File",
	}
	DirEntryType_value = map[string]int32{
		"Directory": 0,
		"File":      1,
	}
)

func (x DirEntryType) Enum() *DirEntryType {
	p := new(DirEntryType)
	*p = x
	return p
}

func (x DirEntryType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (DirEntryType) Descriptor() protoreflect.EnumDescriptor {
	return file_sni_proto_enumTypes[4].Descriptor()
}

func (DirEntryType) Type() protoreflect.EnumType {
	return &file_sni_proto_enumTypes[4]
}

func (x DirEntryType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use DirEntryType.Descriptor instead.
func (DirEntryType) EnumDescriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{4}
}

type DevicesRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// optional list of device kind filters
	Kinds []string `protobuf:"bytes,1,rep,name=kinds,proto3" json:"kinds,omitempty"` // TODO: repeated DeviceCapability capabilities;
}

func (x *DevicesRequest) Reset() {
	*x = DevicesRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DevicesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DevicesRequest) ProtoMessage() {}

func (x *DevicesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DevicesRequest.ProtoReflect.Descriptor instead.
func (*DevicesRequest) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{0}
}

func (x *DevicesRequest) GetKinds() []string {
	if x != nil {
		return x.Kinds
	}
	return nil
}

type DevicesResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Devices []*DevicesResponse_Device `protobuf:"bytes,1,rep,name=devices,proto3" json:"devices,omitempty"`
}

func (x *DevicesResponse) Reset() {
	*x = DevicesResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DevicesResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DevicesResponse) ProtoMessage() {}

func (x *DevicesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DevicesResponse.ProtoReflect.Descriptor instead.
func (*DevicesResponse) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{1}
}

func (x *DevicesResponse) GetDevices() []*DevicesResponse_Device {
	if x != nil {
		return x.Devices
	}
	return nil
}

type ResetSystemRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
}

func (x *ResetSystemRequest) Reset() {
	*x = ResetSystemRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ResetSystemRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ResetSystemRequest) ProtoMessage() {}

func (x *ResetSystemRequest) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ResetSystemRequest.ProtoReflect.Descriptor instead.
func (*ResetSystemRequest) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{2}
}

func (x *ResetSystemRequest) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

type ResetSystemResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
}

func (x *ResetSystemResponse) Reset() {
	*x = ResetSystemResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ResetSystemResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ResetSystemResponse) ProtoMessage() {}

func (x *ResetSystemResponse) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ResetSystemResponse.ProtoReflect.Descriptor instead.
func (*ResetSystemResponse) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{3}
}

func (x *ResetSystemResponse) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

type ResetToMenuRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
}

func (x *ResetToMenuRequest) Reset() {
	*x = ResetToMenuRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ResetToMenuRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ResetToMenuRequest) ProtoMessage() {}

func (x *ResetToMenuRequest) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ResetToMenuRequest.ProtoReflect.Descriptor instead.
func (*ResetToMenuRequest) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{4}
}

func (x *ResetToMenuRequest) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

type ResetToMenuResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
}

func (x *ResetToMenuResponse) Reset() {
	*x = ResetToMenuResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ResetToMenuResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ResetToMenuResponse) ProtoMessage() {}

func (x *ResetToMenuResponse) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ResetToMenuResponse.ProtoReflect.Descriptor instead.
func (*ResetToMenuResponse) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{5}
}

func (x *ResetToMenuResponse) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

type PauseEmulationRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	// true to pause emulation, false to unpause
	Paused bool `protobuf:"varint,2,opt,name=paused,proto3" json:"paused,omitempty"`
}

func (x *PauseEmulationRequest) Reset() {
	*x = PauseEmulationRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PauseEmulationRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PauseEmulationRequest) ProtoMessage() {}

func (x *PauseEmulationRequest) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PauseEmulationRequest.ProtoReflect.Descriptor instead.
func (*PauseEmulationRequest) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{6}
}

func (x *PauseEmulationRequest) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *PauseEmulationRequest) GetPaused() bool {
	if x != nil {
		return x.Paused
	}
	return false
}

type PauseEmulationResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri    string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Paused bool   `protobuf:"varint,2,opt,name=paused,proto3" json:"paused,omitempty"`
}

func (x *PauseEmulationResponse) Reset() {
	*x = PauseEmulationResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PauseEmulationResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PauseEmulationResponse) ProtoMessage() {}

func (x *PauseEmulationResponse) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PauseEmulationResponse.ProtoReflect.Descriptor instead.
func (*PauseEmulationResponse) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{7}
}

func (x *PauseEmulationResponse) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *PauseEmulationResponse) GetPaused() bool {
	if x != nil {
		return x.Paused
	}
	return false
}

type PauseToggleEmulationRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
}

func (x *PauseToggleEmulationRequest) Reset() {
	*x = PauseToggleEmulationRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PauseToggleEmulationRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PauseToggleEmulationRequest) ProtoMessage() {}

func (x *PauseToggleEmulationRequest) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PauseToggleEmulationRequest.ProtoReflect.Descriptor instead.
func (*PauseToggleEmulationRequest) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{8}
}

func (x *PauseToggleEmulationRequest) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

type PauseToggleEmulationResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
}

func (x *PauseToggleEmulationResponse) Reset() {
	*x = PauseToggleEmulationResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PauseToggleEmulationResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PauseToggleEmulationResponse) ProtoMessage() {}

func (x *PauseToggleEmulationResponse) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PauseToggleEmulationResponse.ProtoReflect.Descriptor instead.
func (*PauseToggleEmulationResponse) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{9}
}

func (x *PauseToggleEmulationResponse) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

type DetectMemoryMappingRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	// optional fallback value to set in case detection fails for some reason
	FallbackMemoryMapping *MemoryMapping `protobuf:"varint,2,opt,name=fallbackMemoryMapping,proto3,enum=MemoryMapping,oneof" json:"fallbackMemoryMapping,omitempty"`
	// optional ROM header (from bus address $00:FFB0, at least $30 bytes long) to use for detection
	// if not provided, the header will be read from the device
	RomHeader00FFB0 []byte `protobuf:"bytes,3,opt,name=romHeader00FFB0,proto3,oneof" json:"romHeader00FFB0,omitempty"`
}

func (x *DetectMemoryMappingRequest) Reset() {
	*x = DetectMemoryMappingRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DetectMemoryMappingRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DetectMemoryMappingRequest) ProtoMessage() {}

func (x *DetectMemoryMappingRequest) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DetectMemoryMappingRequest.ProtoReflect.Descriptor instead.
func (*DetectMemoryMappingRequest) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{10}
}

func (x *DetectMemoryMappingRequest) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *DetectMemoryMappingRequest) GetFallbackMemoryMapping() MemoryMapping {
	if x != nil && x.FallbackMemoryMapping != nil {
		return *x.FallbackMemoryMapping
	}
	return MemoryMapping_Unknown
}

func (x *DetectMemoryMappingRequest) GetRomHeader00FFB0() []byte {
	if x != nil {
		return x.RomHeader00FFB0
	}
	return nil
}

type DetectMemoryMappingResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	// the memory mapping mode detected
	MemoryMapping MemoryMapping `protobuf:"varint,2,opt,name=memoryMapping,proto3,enum=MemoryMapping" json:"memoryMapping,omitempty"`
	// true if confident we detected a mapping; false if using a fallback or default value
	Confidence bool `protobuf:"varint,3,opt,name=confidence,proto3" json:"confidence,omitempty"`
	// the ROM header read from $00:FFB0, length is $50 bytes if server reads it, otherwise length of `romHeader00FFB0` from request
	RomHeader00FFB0 []byte `protobuf:"bytes,4,opt,name=romHeader00FFB0,proto3" json:"romHeader00FFB0,omitempty"`
}

func (x *DetectMemoryMappingResponse) Reset() {
	*x = DetectMemoryMappingResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DetectMemoryMappingResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DetectMemoryMappingResponse) ProtoMessage() {}

func (x *DetectMemoryMappingResponse) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[11]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DetectMemoryMappingResponse.ProtoReflect.Descriptor instead.
func (*DetectMemoryMappingResponse) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{11}
}

func (x *DetectMemoryMappingResponse) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *DetectMemoryMappingResponse) GetMemoryMapping() MemoryMapping {
	if x != nil {
		return x.MemoryMapping
	}
	return MemoryMapping_Unknown
}

func (x *DetectMemoryMappingResponse) GetConfidence() bool {
	if x != nil {
		return x.Confidence
	}
	return false
}

func (x *DetectMemoryMappingResponse) GetRomHeader00FFB0() []byte {
	if x != nil {
		return x.RomHeader00FFB0
	}
	return nil
}

type ReadMemoryRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	RequestAddress       uint32        `protobuf:"varint,1,opt,name=requestAddress,proto3" json:"requestAddress,omitempty"`
	RequestAddressSpace  AddressSpace  `protobuf:"varint,2,opt,name=requestAddressSpace,proto3,enum=AddressSpace" json:"requestAddressSpace,omitempty"`
	RequestMemoryMapping MemoryMapping `protobuf:"varint,4,opt,name=requestMemoryMapping,proto3,enum=MemoryMapping" json:"requestMemoryMapping,omitempty"`
	Size                 uint32        `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
}

func (x *ReadMemoryRequest) Reset() {
	*x = ReadMemoryRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReadMemoryRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadMemoryRequest) ProtoMessage() {}

func (x *ReadMemoryRequest) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[12]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReadMemoryRequest.ProtoReflect.Descriptor instead.
func (*ReadMemoryRequest) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{12}
}

func (x *ReadMemoryRequest) GetRequestAddress() uint32 {
	if x != nil {
		return x.RequestAddress
	}
	return 0
}

func (x *ReadMemoryRequest) GetRequestAddressSpace() AddressSpace {
	if x != nil {
		return x.RequestAddressSpace
	}
	return AddressSpace_FxPakPro
}

func (x *ReadMemoryRequest) GetRequestMemoryMapping() MemoryMapping {
	if x != nil {
		return x.RequestMemoryMapping
	}
	return MemoryMapping_Unknown
}

func (x *ReadMemoryRequest) GetSize() uint32 {
	if x != nil {
		return x.Size
	}
	return 0
}

type ReadMemoryResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	RequestAddress       uint32        `protobuf:"varint,1,opt,name=requestAddress,proto3" json:"requestAddress,omitempty"`
	RequestAddressSpace  AddressSpace  `protobuf:"varint,2,opt,name=requestAddressSpace,proto3,enum=AddressSpace" json:"requestAddressSpace,omitempty"`
	RequestMemoryMapping MemoryMapping `protobuf:"varint,6,opt,name=requestMemoryMapping,proto3,enum=MemoryMapping" json:"requestMemoryMapping,omitempty"`
	// the address sent to the device and its space
	DeviceAddress      uint32       `protobuf:"varint,3,opt,name=deviceAddress,proto3" json:"deviceAddress,omitempty"`
	DeviceAddressSpace AddressSpace `protobuf:"varint,4,opt,name=deviceAddressSpace,proto3,enum=AddressSpace" json:"deviceAddressSpace,omitempty"`
	Data               []byte       `protobuf:"bytes,5,opt,name=data,proto3" json:"data,omitempty"`
}

func (x *ReadMemoryResponse) Reset() {
	*x = ReadMemoryResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReadMemoryResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadMemoryResponse) ProtoMessage() {}

func (x *ReadMemoryResponse) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[13]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReadMemoryResponse.ProtoReflect.Descriptor instead.
func (*ReadMemoryResponse) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{13}
}

func (x *ReadMemoryResponse) GetRequestAddress() uint32 {
	if x != nil {
		return x.RequestAddress
	}
	return 0
}

func (x *ReadMemoryResponse) GetRequestAddressSpace() AddressSpace {
	if x != nil {
		return x.RequestAddressSpace
	}
	return AddressSpace_FxPakPro
}

func (x *ReadMemoryResponse) GetRequestMemoryMapping() MemoryMapping {
	if x != nil {
		return x.RequestMemoryMapping
	}
	return MemoryMapping_Unknown
}

func (x *ReadMemoryResponse) GetDeviceAddress() uint32 {
	if x != nil {
		return x.DeviceAddress
	}
	return 0
}

func (x *ReadMemoryResponse) GetDeviceAddressSpace() AddressSpace {
	if x != nil {
		return x.DeviceAddressSpace
	}
	return AddressSpace_FxPakPro
}

func (x *ReadMemoryResponse) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}

type WriteMemoryRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	RequestAddress       uint32        `protobuf:"varint,1,opt,name=requestAddress,proto3" json:"requestAddress,omitempty"`
	RequestAddressSpace  AddressSpace  `protobuf:"varint,2,opt,name=requestAddressSpace,proto3,enum=AddressSpace" json:"requestAddressSpace,omitempty"`
	RequestMemoryMapping MemoryMapping `protobuf:"varint,4,opt,name=requestMemoryMapping,proto3,enum=MemoryMapping" json:"requestMemoryMapping,omitempty"`
	Data                 []byte        `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
}

func (x *WriteMemoryRequest) Reset() {
	*x = WriteMemoryRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WriteMemoryRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WriteMemoryRequest) ProtoMessage() {}

func (x *WriteMemoryRequest) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[14]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WriteMemoryRequest.ProtoReflect.Descriptor instead.
func (*WriteMemoryRequest) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{14}
}

func (x *WriteMemoryRequest) GetRequestAddress() uint32 {
	if x != nil {
		return x.RequestAddress
	}
	return 0
}

func (x *WriteMemoryRequest) GetRequestAddressSpace() AddressSpace {
	if x != nil {
		return x.RequestAddressSpace
	}
	return AddressSpace_FxPakPro
}

func (x *WriteMemoryRequest) GetRequestMemoryMapping() MemoryMapping {
	if x != nil {
		return x.RequestMemoryMapping
	}
	return MemoryMapping_Unknown
}

func (x *WriteMemoryRequest) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}

type WriteMemoryResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	RequestAddress       uint32        `protobuf:"varint,1,opt,name=requestAddress,proto3" json:"requestAddress,omitempty"`
	RequestAddressSpace  AddressSpace  `protobuf:"varint,2,opt,name=requestAddressSpace,proto3,enum=AddressSpace" json:"requestAddressSpace,omitempty"`
	RequestMemoryMapping MemoryMapping `protobuf:"varint,6,opt,name=requestMemoryMapping,proto3,enum=MemoryMapping" json:"requestMemoryMapping,omitempty"`
	DeviceAddress        uint32        `protobuf:"varint,3,opt,name=deviceAddress,proto3" json:"deviceAddress,omitempty"`
	DeviceAddressSpace   AddressSpace  `protobuf:"varint,4,opt,name=deviceAddressSpace,proto3,enum=AddressSpace" json:"deviceAddressSpace,omitempty"`
	Size                 uint32        `protobuf:"varint,5,opt,name=size,proto3" json:"size,omitempty"`
}

func (x *WriteMemoryResponse) Reset() {
	*x = WriteMemoryResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WriteMemoryResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WriteMemoryResponse) ProtoMessage() {}

func (x *WriteMemoryResponse) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[15]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WriteMemoryResponse.ProtoReflect.Descriptor instead.
func (*WriteMemoryResponse) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{15}
}

func (x *WriteMemoryResponse) GetRequestAddress() uint32 {
	if x != nil {
		return x.RequestAddress
	}
	return 0
}

func (x *WriteMemoryResponse) GetRequestAddressSpace() AddressSpace {
	if x != nil {
		return x.RequestAddressSpace
	}
	return AddressSpace_FxPakPro
}

func (x *WriteMemoryResponse) GetRequestMemoryMapping() MemoryMapping {
	if x != nil {
		return x.RequestMemoryMapping
	}
	return MemoryMapping_Unknown
}

func (x *WriteMemoryResponse) GetDeviceAddress() uint32 {
	if x != nil {
		return x.DeviceAddress
	}
	return 0
}

func (x *WriteMemoryResponse) GetDeviceAddressSpace() AddressSpace {
	if x != nil {
		return x.DeviceAddressSpace
	}
	return AddressSpace_FxPakPro
}

func (x *WriteMemoryResponse) GetSize() uint32 {
	if x != nil {
		return x.Size
	}
	return 0
}

type SingleReadMemoryRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri     string             `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Request *ReadMemoryRequest `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"`
}

func (x *SingleReadMemoryRequest) Reset() {
	*x = SingleReadMemoryRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SingleReadMemoryRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SingleReadMemoryRequest) ProtoMessage() {}

func (x *SingleReadMemoryRequest) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[16]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SingleReadMemoryRequest.ProtoReflect.Descriptor instead.
func (*SingleReadMemoryRequest) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{16}
}

func (x *SingleReadMemoryRequest) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *SingleReadMemoryRequest) GetRequest() *ReadMemoryRequest {
	if x != nil {
		return x.Request
	}
	return nil
}

type SingleReadMemoryResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri      string              `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Response *ReadMemoryResponse `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"`
}

func (x *SingleReadMemoryResponse) Reset() {
	*x = SingleReadMemoryResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SingleReadMemoryResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SingleReadMemoryResponse) ProtoMessage() {}

func (x *SingleReadMemoryResponse) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[17]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SingleReadMemoryResponse.ProtoReflect.Descriptor instead.
func (*SingleReadMemoryResponse) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{17}
}

func (x *SingleReadMemoryResponse) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *SingleReadMemoryResponse) GetResponse() *ReadMemoryResponse {
	if x != nil {
		return x.Response
	}
	return nil
}

type SingleWriteMemoryRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri     string              `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Request *WriteMemoryRequest `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"`
}

func (x *SingleWriteMemoryRequest) Reset() {
	*x = SingleWriteMemoryRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SingleWriteMemoryRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SingleWriteMemoryRequest) ProtoMessage() {}

func (x *SingleWriteMemoryRequest) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[18]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SingleWriteMemoryRequest.ProtoReflect.Descriptor instead.
func (*SingleWriteMemoryRequest) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{18}
}

func (x *SingleWriteMemoryRequest) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *SingleWriteMemoryRequest) GetRequest() *WriteMemoryRequest {
	if x != nil {
		return x.Request
	}
	return nil
}

type SingleWriteMemoryResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri      string               `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Response *WriteMemoryResponse `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"`
}

func (x *SingleWriteMemoryResponse) Reset() {
	*x = SingleWriteMemoryResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SingleWriteMemoryResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SingleWriteMemoryResponse) ProtoMessage() {}

func (x *SingleWriteMemoryResponse) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[19]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SingleWriteMemoryResponse.ProtoReflect.Descriptor instead.
func (*SingleWriteMemoryResponse) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{19}
}

func (x *SingleWriteMemoryResponse) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *SingleWriteMemoryResponse) GetResponse() *WriteMemoryResponse {
	if x != nil {
		return x.Response
	}
	return nil
}

type MultiReadMemoryRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri      string               `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Requests []*ReadMemoryRequest `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty"`
}

func (x *MultiReadMemoryRequest) Reset() {
	*x = MultiReadMemoryRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MultiReadMemoryRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MultiReadMemoryRequest) ProtoMessage() {}

func (x *MultiReadMemoryRequest) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[20]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MultiReadMemoryRequest.ProtoReflect.Descriptor instead.
func (*MultiReadMemoryRequest) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{20}
}

func (x *MultiReadMemoryRequest) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *MultiReadMemoryRequest) GetRequests() []*ReadMemoryRequest {
	if x != nil {
		return x.Requests
	}
	return nil
}

type MultiReadMemoryResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri       string                `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Responses []*ReadMemoryResponse `protobuf:"bytes,2,rep,name=responses,proto3" json:"responses,omitempty"`
}

func (x *MultiReadMemoryResponse) Reset() {
	*x = MultiReadMemoryResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MultiReadMemoryResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MultiReadMemoryResponse) ProtoMessage() {}

func (x *MultiReadMemoryResponse) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[21]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MultiReadMemoryResponse.ProtoReflect.Descriptor instead.
func (*MultiReadMemoryResponse) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{21}
}

func (x *MultiReadMemoryResponse) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *MultiReadMemoryResponse) GetResponses() []*ReadMemoryResponse {
	if x != nil {
		return x.Responses
	}
	return nil
}

type MultiWriteMemoryRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri      string                `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Requests []*WriteMemoryRequest `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty"`
}

func (x *MultiWriteMemoryRequest) Reset() {
	*x = MultiWriteMemoryRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MultiWriteMemoryRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MultiWriteMemoryRequest) ProtoMessage() {}

func (x *MultiWriteMemoryRequest) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[22]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MultiWriteMemoryRequest.ProtoReflect.Descriptor instead.
func (*MultiWriteMemoryRequest) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{22}
}

func (x *MultiWriteMemoryRequest) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *MultiWriteMemoryRequest) GetRequests() []*WriteMemoryRequest {
	if x != nil {
		return x.Requests
	}
	return nil
}

type MultiWriteMemoryResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri       string                 `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Responses []*WriteMemoryResponse `protobuf:"bytes,2,rep,name=responses,proto3" json:"responses,omitempty"`
}

func (x *MultiWriteMemoryResponse) Reset() {
	*x = MultiWriteMemoryResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MultiWriteMemoryResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MultiWriteMemoryResponse) ProtoMessage() {}

func (x *MultiWriteMemoryResponse) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[23]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MultiWriteMemoryResponse.ProtoReflect.Descriptor instead.
func (*MultiWriteMemoryResponse) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{23}
}

func (x *MultiWriteMemoryResponse) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *MultiWriteMemoryResponse) GetResponses() []*WriteMemoryResponse {
	if x != nil {
		return x.Responses
	}
	return nil
}

type ReadDirectoryRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri  string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
}

func (x *ReadDirectoryRequest) Reset() {
	*x = ReadDirectoryRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReadDirectoryRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadDirectoryRequest) ProtoMessage() {}

func (x *ReadDirectoryRequest) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[24]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReadDirectoryRequest.ProtoReflect.Descriptor instead.
func (*ReadDirectoryRequest) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{24}
}

func (x *ReadDirectoryRequest) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *ReadDirectoryRequest) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

type DirEntry struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name string       `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Type DirEntryType `protobuf:"varint,2,opt,name=type,proto3,enum=DirEntryType" json:"type,omitempty"`
}

func (x *DirEntry) Reset() {
	*x = DirEntry{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[25]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DirEntry) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DirEntry) ProtoMessage() {}

func (x *DirEntry) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[25]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DirEntry.ProtoReflect.Descriptor instead.
func (*DirEntry) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{25}
}

func (x *DirEntry) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *DirEntry) GetType() DirEntryType {
	if x != nil {
		return x.Type
	}
	return DirEntryType_Directory
}

type ReadDirectoryResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri     string      `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Path    string      `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	Entries []*DirEntry `protobuf:"bytes,3,rep,name=entries,proto3" json:"entries,omitempty"`
}

func (x *ReadDirectoryResponse) Reset() {
	*x = ReadDirectoryResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReadDirectoryResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadDirectoryResponse) ProtoMessage() {}

func (x *ReadDirectoryResponse) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[26]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReadDirectoryResponse.ProtoReflect.Descriptor instead.
func (*ReadDirectoryResponse) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{26}
}

func (x *ReadDirectoryResponse) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *ReadDirectoryResponse) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *ReadDirectoryResponse) GetEntries() []*DirEntry {
	if x != nil {
		return x.Entries
	}
	return nil
}

type MakeDirectoryRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri  string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
}

func (x *MakeDirectoryRequest) Reset() {
	*x = MakeDirectoryRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[27]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MakeDirectoryRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MakeDirectoryRequest) ProtoMessage() {}

func (x *MakeDirectoryRequest) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[27]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MakeDirectoryRequest.ProtoReflect.Descriptor instead.
func (*MakeDirectoryRequest) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{27}
}

func (x *MakeDirectoryRequest) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *MakeDirectoryRequest) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

type MakeDirectoryResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri  string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
}

func (x *MakeDirectoryResponse) Reset() {
	*x = MakeDirectoryResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[28]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MakeDirectoryResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MakeDirectoryResponse) ProtoMessage() {}

func (x *MakeDirectoryResponse) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[28]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MakeDirectoryResponse.ProtoReflect.Descriptor instead.
func (*MakeDirectoryResponse) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{28}
}

func (x *MakeDirectoryResponse) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *MakeDirectoryResponse) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

type RemoveFileRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri  string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
}

func (x *RemoveFileRequest) Reset() {
	*x = RemoveFileRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[29]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RemoveFileRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveFileRequest) ProtoMessage() {}

func (x *RemoveFileRequest) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[29]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveFileRequest.ProtoReflect.Descriptor instead.
func (*RemoveFileRequest) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{29}
}

func (x *RemoveFileRequest) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *RemoveFileRequest) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

type RemoveFileResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri  string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
}

func (x *RemoveFileResponse) Reset() {
	*x = RemoveFileResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[30]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RemoveFileResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveFileResponse) ProtoMessage() {}

func (x *RemoveFileResponse) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[30]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveFileResponse.ProtoReflect.Descriptor instead.
func (*RemoveFileResponse) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{30}
}

func (x *RemoveFileResponse) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *RemoveFileResponse) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

type RenameFileRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri         string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Path        string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	NewFilename string `protobuf:"bytes,3,opt,name=newFilename,proto3" json:"newFilename,omitempty"`
}

func (x *RenameFileRequest) Reset() {
	*x = RenameFileRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[31]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RenameFileRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RenameFileRequest) ProtoMessage() {}

func (x *RenameFileRequest) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[31]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RenameFileRequest.ProtoReflect.Descriptor instead.
func (*RenameFileRequest) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{31}
}

func (x *RenameFileRequest) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *RenameFileRequest) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *RenameFileRequest) GetNewFilename() string {
	if x != nil {
		return x.NewFilename
	}
	return ""
}

type RenameFileResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri         string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Path        string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	NewFilename string `protobuf:"bytes,3,opt,name=newFilename,proto3" json:"newFilename,omitempty"`
}

func (x *RenameFileResponse) Reset() {
	*x = RenameFileResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[32]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RenameFileResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RenameFileResponse) ProtoMessage() {}

func (x *RenameFileResponse) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[32]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RenameFileResponse.ProtoReflect.Descriptor instead.
func (*RenameFileResponse) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{32}
}

func (x *RenameFileResponse) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *RenameFileResponse) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *RenameFileResponse) GetNewFilename() string {
	if x != nil {
		return x.NewFilename
	}
	return ""
}

type PutFileRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri  string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
}

func (x *PutFileRequest) Reset() {
	*x = PutFileRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[33]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PutFileRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PutFileRequest) ProtoMessage() {}

func (x *PutFileRequest) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[33]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PutFileRequest.ProtoReflect.Descriptor instead.
func (*PutFileRequest) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{33}
}

func (x *PutFileRequest) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *PutFileRequest) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *PutFileRequest) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}

type PutFileResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri  string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	Size uint32 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
}

func (x *PutFileResponse) Reset() {
	*x = PutFileResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[34]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PutFileResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PutFileResponse) ProtoMessage() {}

func (x *PutFileResponse) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[34]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PutFileResponse.ProtoReflect.Descriptor instead.
func (*PutFileResponse) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{34}
}

func (x *PutFileResponse) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *PutFileResponse) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *PutFileResponse) GetSize() uint32 {
	if x != nil {
		return x.Size
	}
	return 0
}

type GetFileRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri  string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
}

func (x *GetFileRequest) Reset() {
	*x = GetFileRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[35]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetFileRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetFileRequest) ProtoMessage() {}

func (x *GetFileRequest) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[35]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetFileRequest.ProtoReflect.Descriptor instead.
func (*GetFileRequest) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{35}
}

func (x *GetFileRequest) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *GetFileRequest) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

type GetFileResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri  string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	Size uint32 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
	Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"`
}

func (x *GetFileResponse) Reset() {
	*x = GetFileResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[36]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetFileResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetFileResponse) ProtoMessage() {}

func (x *GetFileResponse) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[36]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetFileResponse.ProtoReflect.Descriptor instead.
func (*GetFileResponse) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{36}
}

func (x *GetFileResponse) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *GetFileResponse) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *GetFileResponse) GetSize() uint32 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *GetFileResponse) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}

type BootFileRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri  string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
}

func (x *BootFileRequest) Reset() {
	*x = BootFileRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[37]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BootFileRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BootFileRequest) ProtoMessage() {}

func (x *BootFileRequest) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[37]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BootFileRequest.ProtoReflect.Descriptor instead.
func (*BootFileRequest) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{37}
}

func (x *BootFileRequest) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *BootFileRequest) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

type BootFileResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri  string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
}

func (x *BootFileResponse) Reset() {
	*x = BootFileResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[38]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BootFileResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BootFileResponse) ProtoMessage() {}

func (x *BootFileResponse) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[38]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BootFileResponse.ProtoReflect.Descriptor instead.
func (*BootFileResponse) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{38}
}

func (x *BootFileResponse) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *BootFileResponse) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

type FieldsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri    string  `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Fields []Field `protobuf:"varint,2,rep,packed,name=fields,proto3,enum=Field" json:"fields,omitempty"`
}

func (x *FieldsRequest) Reset() {
	*x = FieldsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[39]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FieldsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FieldsRequest) ProtoMessage() {}

func (x *FieldsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[39]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FieldsRequest.ProtoReflect.Descriptor instead.
func (*FieldsRequest) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{39}
}

func (x *FieldsRequest) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *FieldsRequest) GetFields() []Field {
	if x != nil {
		return x.Fields
	}
	return nil
}

type FieldsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri    string   `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	Fields []Field  `protobuf:"varint,2,rep,packed,name=fields,proto3,enum=Field" json:"fields,omitempty"`
	Values []string `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"`
}

func (x *FieldsResponse) Reset() {
	*x = FieldsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[40]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FieldsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FieldsResponse) ProtoMessage() {}

func (x *FieldsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[40]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FieldsResponse.ProtoReflect.Descriptor instead.
func (*FieldsResponse) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{40}
}

func (x *FieldsResponse) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *FieldsResponse) GetFields() []Field {
	if x != nil {
		return x.Fields
	}
	return nil
}

func (x *FieldsResponse) GetValues() []string {
	if x != nil {
		return x.Values
	}
	return nil
}

type NWACommandRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	// emu-nwaccess command name:
	Command string `protobuf:"bytes,2,opt,name=command,proto3" json:"command,omitempty"`
	// command arguments:
	Args string `protobuf:"bytes,3,opt,name=args,proto3" json:"args,omitempty"`
	// an optional binary argument:
	BinaryArg []byte `protobuf:"bytes,4,opt,name=binaryArg,proto3,oneof" json:"binaryArg,omitempty"`
}

func (x *NWACommandRequest) Reset() {
	*x = NWACommandRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[41]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NWACommandRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NWACommandRequest) ProtoMessage() {}

func (x *NWACommandRequest) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[41]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NWACommandRequest.ProtoReflect.Descriptor instead.
func (*NWACommandRequest) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{41}
}

func (x *NWACommandRequest) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *NWACommandRequest) GetCommand() string {
	if x != nil {
		return x.Command
	}
	return ""
}

func (x *NWACommandRequest) GetArgs() string {
	if x != nil {
		return x.Args
	}
	return ""
}

func (x *NWACommandRequest) GetBinaryArg() []byte {
	if x != nil {
		return x.BinaryArg
	}
	return nil
}

type NWACommandResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uri          string                             `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	AsciiReply   []*NWACommandResponse_NWAASCIIItem `protobuf:"bytes,2,rep,name=asciiReply,proto3" json:"asciiReply,omitempty"`
	BinaryReplay []byte                             `protobuf:"bytes,3,opt,name=binaryReplay,proto3,oneof" json:"binaryReplay,omitempty"`
}

func (x *NWACommandResponse) Reset() {
	*x = NWACommandResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[42]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NWACommandResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NWACommandResponse) ProtoMessage() {}

func (x *NWACommandResponse) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[42]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NWACommandResponse.ProtoReflect.Descriptor instead.
func (*NWACommandResponse) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{42}
}

func (x *NWACommandResponse) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *NWACommandResponse) GetAsciiReply() []*NWACommandResponse_NWAASCIIItem {
	if x != nil {
		return x.AsciiReply
	}
	return nil
}

func (x *NWACommandResponse) GetBinaryReplay() []byte {
	if x != nil {
		return x.BinaryReplay
	}
	return nil
}

type DevicesResponse_Device struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// URI that describes exactly how to connect to the device, e.g.:
	// RetroArch:  "ra://127.0.0.1:55355"
	// FX Pak Pro: "fxpakpro://./dev/cu.usbmodemDEMO000000001" (MacOS)
	//             "fxpakpro://./COM4"                         (Windows)
	//             "fxpakpro://./dev/ttyACM0"                  (Linux)
	// uri is used as the unique identifier of the device for clients to refer to
	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	// friendly display name of the device
	DisplayName string `protobuf:"bytes,2,opt,name=displayName,proto3" json:"displayName,omitempty"`
	// device kind, e.g. "fxpakpro", "retroarch", "lua"
	Kind string `protobuf:"bytes,3,opt,name=kind,proto3" json:"kind,omitempty"`
	// all device capabilities:
	Capabilities []DeviceCapability `protobuf:"varint,4,rep,packed,name=capabilities,proto3,enum=DeviceCapability" json:"capabilities,omitempty"`
	// default address space for the device:
	DefaultAddressSpace AddressSpace `protobuf:"varint,5,opt,name=defaultAddressSpace,proto3,enum=AddressSpace" json:"defaultAddressSpace,omitempty"`
	// [DEPRECATED] console system supported, e.g. "snes", "n64"
	// since devices can support multiple systems, it's better to fetch platform from DeviceInfo.FetchFields method
	//
	// Deprecated: Do not use.
	System string `protobuf:"bytes,6,opt,name=system,proto3" json:"system,omitempty"`
}

func (x *DevicesResponse_Device) Reset() {
	*x = DevicesResponse_Device{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[43]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DevicesResponse_Device) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DevicesResponse_Device) ProtoMessage() {}

func (x *DevicesResponse_Device) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[43]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DevicesResponse_Device.ProtoReflect.Descriptor instead.
func (*DevicesResponse_Device) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{1, 0}
}

func (x *DevicesResponse_Device) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *DevicesResponse_Device) GetDisplayName() string {
	if x != nil {
		return x.DisplayName
	}
	return ""
}

func (x *DevicesResponse_Device) GetKind() string {
	if x != nil {
		return x.Kind
	}
	return ""
}

func (x *DevicesResponse_Device) GetCapabilities() []DeviceCapability {
	if x != nil {
		return x.Capabilities
	}
	return nil
}

func (x *DevicesResponse_Device) GetDefaultAddressSpace() AddressSpace {
	if x != nil {
		return x.DefaultAddressSpace
	}
	return AddressSpace_FxPakPro
}

// Deprecated: Do not use.
func (x *DevicesResponse_Device) GetSystem() string {
	if x != nil {
		return x.System
	}
	return ""
}

type NWACommandResponse_NWAASCIIItem struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Item map[string]string `protobuf:"bytes,1,rep,name=item,proto3" json:"item,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

func (x *NWACommandResponse_NWAASCIIItem) Reset() {
	*x = NWACommandResponse_NWAASCIIItem{}
	if protoimpl.UnsafeEnabled {
		mi := &file_sni_proto_msgTypes[44]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NWACommandResponse_NWAASCIIItem) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NWACommandResponse_NWAASCIIItem) ProtoMessage() {}

func (x *NWACommandResponse_NWAASCIIItem) ProtoReflect() protoreflect.Message {
	mi := &file_sni_proto_msgTypes[44]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NWACommandResponse_NWAASCIIItem.ProtoReflect.Descriptor instead.
func (*NWACommandResponse_NWAASCIIItem) Descriptor() ([]byte, []int) {
	return file_sni_proto_rawDescGZIP(), []int{42, 0}
}

func (x *NWACommandResponse_NWAASCIIItem) GetItem() map[string]string {
	if x != nil {
		return x.Item
	}
	return nil
}

var File_sni_proto protoreflect.FileDescriptor

var file_sni_proto_rawDesc = []byte{
	0x0a, 0x09, 0x73, 0x6e, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x26, 0x0a, 0x0e, 0x44,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a,
	0x05, 0x6b, 0x69, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6b, 0x69,
	0x6e, 0x64, 0x73, 0x22, 0xab, 0x02, 0x0a, 0x0f, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x52, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x1a, 0xe4, 0x01, 0x0a, 0x06, 0x44,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c,
	0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69,
	0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e,
	0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x35, 0x0a,
	0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20,
	0x03, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x61, 0x70, 0x61,
	0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69,
	0x74, 0x69, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x41,
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x0e, 0x32, 0x0d, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x70, 0x61, 0x63, 0x65,
	0x52, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65,
	0x6d, 0x22, 0x26, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0x27, 0x0a, 0x13, 0x52, 0x65, 0x73,
	0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
	0x72, 0x69, 0x22, 0x26, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x65, 0x74, 0x54, 0x6f, 0x4d, 0x65, 0x6e,
	0x75, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0x27, 0x0a, 0x13, 0x52, 0x65,
	0x73, 0x65, 0x74, 0x54, 0x6f, 0x4d, 0x65, 0x6e, 0x75, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
	0x75, 0x72, 0x69, 0x22, 0x41, 0x0a, 0x15, 0x50, 0x61, 0x75, 0x73, 0x65, 0x45, 0x6d, 0x75, 0x6c,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03,
	0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x16,
	0x0a, 0x06, 0x70, 0x61, 0x75, 0x73, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
	0x70, 0x61, 0x75, 0x73, 0x65, 0x64, 0x22, 0x42, 0x0a, 0x16, 0x50, 0x61, 0x75, 0x73, 0x65, 0x45,
	0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
	0x72, 0x69, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x75, 0x73, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x06, 0x70, 0x61, 0x75, 0x73, 0x65, 0x64, 0x22, 0x2f, 0x0a, 0x1b, 0x50, 0x61,
	0x75, 0x73, 0x65, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x45, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0x30, 0x0a, 0x1c, 0x50,
	0x61, 0x75, 0x73, 0x65, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x45, 0x6d, 0x75, 0x6c, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75,
	0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0xd6, 0x01,
	0x0a, 0x1a, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x61,
	0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03,
	0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x49,
	0x0a, 0x15, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79,
	0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e,
	0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52,
	0x15, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d,
	0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0f, 0x72, 0x6f, 0x6d,
	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x30, 0x30, 0x46, 0x46, 0x42, 0x30, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0c, 0x48, 0x01, 0x52, 0x0f, 0x72, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x30,
	0x30, 0x46, 0x46, 0x42, 0x30, 0x88, 0x01, 0x01, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x66, 0x61, 0x6c,
	0x6c, 0x62, 0x61, 0x63, 0x6b, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69,
	0x6e, 0x67, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x72, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
	0x30, 0x30, 0x46, 0x46, 0x42, 0x30, 0x22, 0xaf, 0x01, 0x0a, 0x1b, 0x44, 0x65, 0x74, 0x65, 0x63,
	0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x34, 0x0a, 0x0d, 0x6d, 0x65, 0x6d, 0x6f,
	0x72, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x0e, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52,
	0x0d, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x1e,
	0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x28,
	0x0a, 0x0f, 0x72, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x30, 0x30, 0x46, 0x46, 0x42,
	0x30, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x72, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x30, 0x30, 0x46, 0x46, 0x42, 0x30, 0x22, 0xd4, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x61,
	0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26,
	0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41,
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x70, 0x61,
	0x63, 0x65, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65,
	0x73, 0x73, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x42, 0x0a, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x61,
	0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65,
	0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x73,
	0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22,
	0xba, 0x02, 0x0a, 0x12, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e,
	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3f,
	0x0a, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x41, 0x64,
	0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x70, 0x61, 0x63, 0x65, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12,
	0x42, 0x0a, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79,
	0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e,
	0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x14, 0x72,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x61, 0x70, 0x70,
	0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x41, 0x64, 0x64,
	0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x64, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x12, 0x64, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x70, 0x61, 0x63, 0x65, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53,
	0x70, 0x61, 0x63, 0x65, 0x52, 0x12, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72,
	0x65, 0x73, 0x73, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xd5, 0x01, 0x0a,
	0x12, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x64,
	0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x13, 0x72,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x70, 0x61,
	0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65,
	0x73, 0x73, 0x53, 0x70, 0x61, 0x63, 0x65, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x42, 0x0a, 0x14,
	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x61, 0x70,
	0x70, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x4d, 0x65, 0x6d,
	0x6f, 0x72, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x14, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67,
	0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04,
	0x64, 0x61, 0x74, 0x61, 0x22, 0xbb, 0x02, 0x0a, 0x13, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65,
	0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e,
	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x64, 0x64,
	0x72, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41,
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0e, 0x32, 0x0d, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x70, 0x61, 0x63, 0x65,
	0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x42, 0x0a, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x61, 0x70, 0x70,
	0x69, 0x6e, 0x67, 0x52, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f,
	0x72, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x0d, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12,
	0x3d, 0x0a, 0x12, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x41, 0x64,
	0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x70, 0x61, 0x63, 0x65, 0x52, 0x12, 0x64, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12,
	0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x69,
	0x7a, 0x65, 0x22, 0x59, 0x0a, 0x17, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x61, 0x64,
	0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a,
	0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12,
	0x2c, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x12, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x5d, 0x0a,
	0x18, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72,
	0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x2f, 0x0a, 0x08, 0x72,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e,
	0x52, 0x65, 0x61, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5b, 0x0a, 0x18,
	0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72,
	0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x2d, 0x0a, 0x07, 0x72, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x57, 0x72,
	0x69, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x5f, 0x0a, 0x19, 0x53, 0x69, 0x6e,
	0x67, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x30, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x57, 0x72, 0x69,
	0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5a, 0x0a, 0x16, 0x4d, 0x75,
	0x6c, 0x74, 0x69, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4d,
	0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x5e, 0x0a, 0x17, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52,
	0x65, 0x61, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
	0x75, 0x72, 0x69, 0x12, 0x31, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73,
	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x65, 0x6d,
	0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22, 0x5c, 0x0a, 0x17, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x57,
	0x72, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
	0x75, 0x72, 0x69, 0x12, 0x2f, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x6d,
	0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x73, 0x22, 0x60, 0x0a, 0x18, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x57, 0x72, 0x69,
	0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
	0x72, 0x69, 0x12, 0x32, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x6d,
	0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22, 0x3c, 0x0a, 0x14, 0x52, 0x65, 0x61, 0x64, 0x44, 0x69,
	0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10,
	0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69,
	0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x70, 0x61, 0x74, 0x68, 0x22, 0x41, 0x0a, 0x08, 0x44, 0x69, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79,
	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x44, 0x69, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x54, 0x79, 0x70,
	0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x62, 0x0a, 0x15, 0x52, 0x65, 0x61, 0x64, 0x44,
	0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
	0x72, 0x69, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65,
	0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x44, 0x69, 0x72, 0x45, 0x6e, 0x74,
	0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x3c, 0x0a, 0x14, 0x4d,
	0x61, 0x6b, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x3d, 0x0a, 0x15, 0x4d, 0x61, 0x6b,
	0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x03, 0x75, 0x72, 0x69, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x39, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f,
	0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a,
	0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12,
	0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70,
	0x61, 0x74, 0x68, 0x22, 0x3a, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x6c,
	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x12, 0x0a, 0x04, 0x70,
	0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22,
	0x5b, 0x0a, 0x11, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x65,
	0x77, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0b, 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5c, 0x0a, 0x12,
	0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x03, 0x75, 0x72, 0x69, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x46,
	0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e,
	0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4a, 0x0a, 0x0e, 0x50, 0x75,
	0x74, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03,
	0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x12,
	0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61,
	0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
	0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x4b, 0x0a, 0x0f, 0x50, 0x75, 0x74, 0x46, 0x69, 0x6c,
	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x12, 0x0a, 0x04, 0x70,
	0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12,
	0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73,
	0x69, 0x7a, 0x65, 0x22, 0x36, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x5f, 0x0a, 0x0f, 0x47,
	0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10,
	0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69,
	0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x37, 0x0a, 0x0f,
	0x42, 0x6f, 0x6f, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72,
	0x69, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x38, 0x0a, 0x10, 0x42, 0x6f, 0x6f, 0x74, 0x46, 0x69, 0x6c,
	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x12, 0x0a, 0x04, 0x70,
	0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22,
	0x41, 0x0a, 0x0d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
	0x72, 0x69, 0x12, 0x1e, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03,
	0x28, 0x0e, 0x32, 0x06, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c,
	0x64, 0x73, 0x22, 0x5a, 0x0a, 0x0e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x1e, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73,
	0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x06, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06,
	0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73,
	0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x84,
	0x01, 0x0a, 0x11, 0x4e, 0x57, 0x41, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
	0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x61, 0x72, 0x67, 0x73, 0x12, 0x21, 0x0a, 0x09, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x41, 0x72,
	0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x62, 0x69, 0x6e, 0x61, 0x72,
	0x79, 0x41, 0x72, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x62, 0x69, 0x6e, 0x61,
	0x72, 0x79, 0x41, 0x72, 0x67, 0x22, 0xac, 0x02, 0x0a, 0x12, 0x4e, 0x57, 0x41, 0x43, 0x6f, 0x6d,
	0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03,
	0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x40,
	0x0a, 0x0a, 0x61, 0x73, 0x63, 0x69, 0x69, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4e, 0x57, 0x41, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4e, 0x57, 0x41, 0x41, 0x53, 0x43, 0x49, 0x49,
	0x49, 0x74, 0x65, 0x6d, 0x52, 0x0a, 0x61, 0x73, 0x63, 0x69, 0x69, 0x52, 0x65, 0x70, 0x6c, 0x79,
	0x12, 0x27, 0x0a, 0x0c, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79,
	0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x88, 0x01, 0x01, 0x1a, 0x87, 0x01, 0x0a, 0x0c, 0x4e, 0x57,
	0x41, 0x41, 0x53, 0x43, 0x49, 0x49, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x3e, 0x0a, 0x04, 0x69, 0x74,
	0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x4e, 0x57, 0x41, 0x43, 0x6f,
	0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4e, 0x57,
	0x41, 0x41, 0x53, 0x43, 0x49, 0x49, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x45,
	0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x1a, 0x37, 0x0a, 0x09, 0x49, 0x74,
	0x65, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
	0x02, 0x38, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x52, 0x65,
	0x70, 0x6c, 0x61, 0x79, 0x2a, 0x33, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53,
	0x70, 0x61, 0x63, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x78, 0x50, 0x61, 0x6b, 0x50, 0x72, 0x6f,
	0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x6e, 0x65, 0x73, 0x41, 0x42, 0x75, 0x73, 0x10, 0x01,
	0x12, 0x07, 0x0a, 0x03, 0x52, 0x61, 0x77, 0x10, 0x02, 0x2a, 0x48, 0x0a, 0x0d, 0x4d, 0x65, 0x6d,
	0x6f, 0x72, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x6e,
	0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x69, 0x52, 0x4f, 0x4d,
	0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x6f, 0x52, 0x4f, 0x4d, 0x10, 0x02, 0x12, 0x0b, 0x0a,
	0x07, 0x45, 0x78, 0x48, 0x69, 0x52, 0x4f, 0x4d, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x41,
	0x31, 0x10, 0x04, 0x2a, 0xb3, 0x02, 0x0a, 0x10, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x61,
	0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65,
	0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79,
	0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72,
	0x79, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, 0x53,
	0x4d, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74,
	0x65, 0x6d, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x61, 0x75, 0x73, 0x65, 0x55, 0x6e, 0x70,
	0x61, 0x75, 0x73, 0x65, 0x45, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x05, 0x12,
	0x18, 0x0a, 0x14, 0x50, 0x61, 0x75, 0x73, 0x65, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x45, 0x6d,
	0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x65, 0x73,
	0x65, 0x74, 0x54, 0x6f, 0x4d, 0x65, 0x6e, 0x75, 0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x65,
	0x74, 0x63, 0x68, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x10, 0x08, 0x12, 0x11, 0x0a, 0x0d, 0x52,
	0x65, 0x61, 0x64, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x0a, 0x12, 0x11,
	0x0a, 0x0d, 0x4d, 0x61, 0x6b, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10,
	0x0b, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x10,
	0x0c, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x10,
	0x0d, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x10, 0x0e, 0x12, 0x0b,
	0x0a, 0x07, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x10, 0x0f, 0x12, 0x0c, 0x0a, 0x08, 0x42,
	0x6f, 0x6f, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x10, 0x10, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x57, 0x41,
	0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x10, 0x14, 0x2a, 0xa1, 0x01, 0x0a, 0x05, 0x46, 0x69,
	0x65, 0x6c, 0x64, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d,
	0x65, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x56, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x6f, 0x72, 0x65,
	0x4e, 0x61, 0x6d, 0x65, 0x10, 0x14, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x6f, 0x72, 0x65, 0x56, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x15, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x6f, 0x72, 0x65, 0x50,
	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x10, 0x16, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x6f, 0x6d,
	0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x10, 0x28, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x6f,
	0x6d, 0x48, 0x61, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, 0x10, 0x29, 0x12, 0x10, 0x0a, 0x0c, 0x52,
	0x6f, 0x6d, 0x48, 0x61, 0x73, 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x2a, 0x2a, 0x27, 0x0a,
	0x0c, 0x44, 0x69, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a,
	0x09, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04,
	0x46, 0x69, 0x6c, 0x65, 0x10, 0x01, 0x32, 0x3d, 0x0a, 0x07, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x73, 0x12, 0x32, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73,
	0x12, 0x0f, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x10, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x22, 0x00, 0x32, 0xaa, 0x02, 0x0a, 0x0d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x3a, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x65, 0x74,
	0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x13, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x79,
	0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x52, 0x65,
	0x73, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x65, 0x74, 0x54, 0x6f, 0x4d, 0x65,
	0x6e, 0x75, 0x12, 0x13, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x54, 0x6f, 0x4d, 0x65, 0x6e, 0x75,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x54,
	0x6f, 0x4d, 0x65, 0x6e, 0x75, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
	0x4a, 0x0a, 0x15, 0x50, 0x61, 0x75, 0x73, 0x65, 0x55, 0x6e, 0x70, 0x61, 0x75, 0x73, 0x65, 0x45,
	0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x50, 0x61, 0x75, 0x73, 0x65,
	0x45, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x17, 0x2e, 0x50, 0x61, 0x75, 0x73, 0x65, 0x45, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x14, 0x50,
	0x61, 0x75, 0x73, 0x65, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x45, 0x6d, 0x75, 0x6c, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x2e, 0x50, 0x61, 0x75, 0x73, 0x65, 0x54, 0x6f, 0x67, 0x67, 0x6c,
	0x65, 0x45, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x1d, 0x2e, 0x50, 0x61, 0x75, 0x73, 0x65, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x45,
	0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x22, 0x00, 0x32, 0x81, 0x04, 0x0a, 0x0c, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x6d,
	0x6f, 0x72, 0x79, 0x12, 0x4c, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x65,
	0x74, 0x65, 0x63, 0x74, 0x12, 0x1b, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d,
	0x6f, 0x72, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x1c, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79,
	0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
	0x00, 0x12, 0x43, 0x0a, 0x0a, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x61, 0x64, 0x12,
	0x18, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x65, 0x6d, 0x6f,
	0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x53, 0x69, 0x6e, 0x67,
	0x6c, 0x65, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0b, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65,
	0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x57, 0x72,
	0x69, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x1a, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65,
	0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x40,
	0x0a, 0x09, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x61, 0x64, 0x12, 0x17, 0x2e, 0x4d, 0x75,
	0x6c, 0x74, 0x69, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x61, 0x64,
	0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
	0x12, 0x43, 0x0a, 0x0a, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x18,
	0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72,
	0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69,
	0x57, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52,
	0x65, 0x61, 0x64, 0x12, 0x17, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x61, 0x64, 0x4d,
	0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x4d,
	0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x48, 0x0a, 0x0b,
	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x4d, 0x75,
	0x6c, 0x74, 0x69, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x57, 0x72, 0x69,
	0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x32, 0x9b, 0x03, 0x0a, 0x10, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x40, 0x0a, 0x0d, 0x52,
	0x65, 0x61, 0x64, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x15, 0x2e, 0x52,
	0x65, 0x61, 0x64, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74,
	0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x40, 0x0a,
	0x0d, 0x4d, 0x61, 0x6b, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x15,
	0x2e, 0x4d, 0x61, 0x6b, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x4d, 0x61, 0x6b, 0x65, 0x44, 0x69, 0x72, 0x65,
	0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
	0x37, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x2e,
	0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x13, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x37, 0x0a, 0x0a, 0x52, 0x65, 0x6e, 0x61,
	0x6d, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x46,
	0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x52, 0x65, 0x6e,
	0x61, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
	0x00, 0x12, 0x2e, 0x0a, 0x07, 0x50, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x0f, 0x2e, 0x50,
	0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e,
	0x50, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
	0x00, 0x12, 0x2e, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x0f, 0x2e, 0x47,
	0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e,
	0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
	0x00, 0x12, 0x31, 0x0a, 0x08, 0x42, 0x6f, 0x6f, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x10, 0x2e,
	0x42, 0x6f, 0x6f, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x11, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x22, 0x00, 0x32, 0x3e, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e,
	0x66, 0x6f, 0x12, 0x30, 0x0a, 0x0b, 0x46, 0x65, 0x74, 0x63, 0x68, 0x46, 0x69, 0x65, 0x6c, 0x64,
	0x73, 0x12, 0x0e, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x0f, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x22, 0x00, 0x32, 0x44, 0x0a, 0x09, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x57,
	0x41, 0x12, 0x37, 0x0a, 0x0a, 0x4e, 0x57, 0x41, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12,
	0x12, 0x2e, 0x4e, 0x57, 0x41, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x4e, 0x57, 0x41, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x3f, 0x0a, 0x15, 0x63, 0x6f,
	0x6d, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x61, 0x6c, 0x74, 0x74, 0x70, 0x6f, 0x2e,
	0x73, 0x6e, 0x69, 0x5a, 0x20, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
	0x61, 0x6c, 0x74, 0x74, 0x70, 0x6f, 0x2f, 0x73, 0x6e, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x73, 0x2f, 0x73, 0x6e, 0x69, 0xaa, 0x02, 0x03, 0x53, 0x4e, 0x49, 0x62, 0x06, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x33,
}

var (
	file_sni_proto_rawDescOnce sync.Once
	file_sni_proto_rawDescData = file_sni_proto_rawDesc
)

func file_sni_proto_rawDescGZIP() []byte {
	file_sni_proto_rawDescOnce.Do(func() {
		file_sni_proto_rawDescData = protoimpl.X.CompressGZIP(file_sni_proto_rawDescData)
	})
	return file_sni_proto_rawDescData
}

var file_sni_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
var file_sni_proto_msgTypes = make([]protoimpl.MessageInfo, 46)
var file_sni_proto_goTypes = []interface{}{
	(AddressSpace)(0),                       // 0: AddressSpace
	(MemoryMapping)(0),                      // 1: MemoryMapping
	(DeviceCapability)(0),                   // 2: DeviceCapability
	(Field)(0),                              // 3: Field
	(DirEntryType)(0),                       // 4: DirEntryType
	(*DevicesRequest)(nil),                  // 5: DevicesRequest
	(*DevicesResponse)(nil),                 // 6: DevicesResponse
	(*ResetSystemRequest)(nil),              // 7: ResetSystemRequest
	(*ResetSystemResponse)(nil),             // 8: ResetSystemResponse
	(*ResetToMenuRequest)(nil),              // 9: ResetToMenuRequest
	(*ResetToMenuResponse)(nil),             // 10: ResetToMenuResponse
	(*PauseEmulationRequest)(nil),           // 11: PauseEmulationRequest
	(*PauseEmulationResponse)(nil),          // 12: PauseEmulationResponse
	(*PauseToggleEmulationRequest)(nil),     // 13: PauseToggleEmulationRequest
	(*PauseToggleEmulationResponse)(nil),    // 14: PauseToggleEmulationResponse
	(*DetectMemoryMappingRequest)(nil),      // 15: DetectMemoryMappingRequest
	(*DetectMemoryMappingResponse)(nil),     // 16: DetectMemoryMappingResponse
	(*ReadMemoryRequest)(nil),               // 17: ReadMemoryRequest
	(*ReadMemoryResponse)(nil),              // 18: ReadMemoryResponse
	(*WriteMemoryRequest)(nil),              // 19: WriteMemoryRequest
	(*WriteMemoryResponse)(nil),             // 20: WriteMemoryResponse
	(*SingleReadMemoryRequest)(nil),         // 21: SingleReadMemoryRequest
	(*SingleReadMemoryResponse)(nil),        // 22: SingleReadMemoryResponse
	(*SingleWriteMemoryRequest)(nil),        // 23: SingleWriteMemoryRequest
	(*SingleWriteMemoryResponse)(nil),       // 24: SingleWriteMemoryResponse
	(*MultiReadMemoryRequest)(nil),          // 25: MultiReadMemoryRequest
	(*MultiReadMemoryResponse)(nil),         // 26: MultiReadMemoryResponse
	(*MultiWriteMemoryRequest)(nil),         // 27: MultiWriteMemoryRequest
	(*MultiWriteMemoryResponse)(nil),        // 28: MultiWriteMemoryResponse
	(*ReadDirectoryRequest)(nil),            // 29: ReadDirectoryRequest
	(*DirEntry)(nil),                        // 30: DirEntry
	(*ReadDirectoryResponse)(nil),           // 31: ReadDirectoryResponse
	(*MakeDirectoryRequest)(nil),            // 32: MakeDirectoryRequest
	(*MakeDirectoryResponse)(nil),           // 33: MakeDirectoryResponse
	(*RemoveFileRequest)(nil),               // 34: RemoveFileRequest
	(*RemoveFileResponse)(nil),              // 35: RemoveFileResponse
	(*RenameFileRequest)(nil),               // 36: RenameFileRequest
	(*RenameFileResponse)(nil),              // 37: RenameFileResponse
	(*PutFileRequest)(nil),                  // 38: PutFileRequest
	(*PutFileResponse)(nil),                 // 39: PutFileResponse
	(*GetFileRequest)(nil),                  // 40: GetFileRequest
	(*GetFileResponse)(nil),                 // 41: GetFileResponse
	(*BootFileRequest)(nil),                 // 42: BootFileRequest
	(*BootFileResponse)(nil),                // 43: BootFileResponse
	(*FieldsRequest)(nil),                   // 44: FieldsRequest
	(*FieldsResponse)(nil),                  // 45: FieldsResponse
	(*NWACommandRequest)(nil),               // 46: NWACommandRequest
	(*NWACommandResponse)(nil),              // 47: NWACommandResponse
	(*DevicesResponse_Device)(nil),          // 48: DevicesResponse.Device
	(*NWACommandResponse_NWAASCIIItem)(nil), // 49: NWACommandResponse.NWAASCIIItem
	nil,                                     // 50: NWACommandResponse.NWAASCIIItem.ItemEntry
}
var file_sni_proto_depIdxs = []int32{
	48, // 0: DevicesResponse.devices:type_name -> DevicesResponse.Device
	1,  // 1: DetectMemoryMappingRequest.fallbackMemoryMapping:type_name -> MemoryMapping
	1,  // 2: DetectMemoryMappingResponse.memoryMapping:type_name -> MemoryMapping
	0,  // 3: ReadMemoryRequest.requestAddressSpace:type_name -> AddressSpace
	1,  // 4: ReadMemoryRequest.requestMemoryMapping:type_name -> MemoryMapping
	0,  // 5: ReadMemoryResponse.requestAddressSpace:type_name -> AddressSpace
	1,  // 6: ReadMemoryResponse.requestMemoryMapping:type_name -> MemoryMapping
	0,  // 7: ReadMemoryResponse.deviceAddressSpace:type_name -> AddressSpace
	0,  // 8: WriteMemoryRequest.requestAddressSpace:type_name -> AddressSpace
	1,  // 9: WriteMemoryRequest.requestMemoryMapping:type_name -> MemoryMapping
	0,  // 10: WriteMemoryResponse.requestAddressSpace:type_name -> AddressSpace
	1,  // 11: WriteMemoryResponse.requestMemoryMapping:type_name -> MemoryMapping
	0,  // 12: WriteMemoryResponse.deviceAddressSpace:type_name -> AddressSpace
	17, // 13: SingleReadMemoryRequest.request:type_name -> ReadMemoryRequest
	18, // 14: SingleReadMemoryResponse.response:type_name -> ReadMemoryResponse
	19, // 15: SingleWriteMemoryRequest.request:type_name -> WriteMemoryRequest
	20, // 16: SingleWriteMemoryResponse.response:type_name -> WriteMemoryResponse
	17, // 17: MultiReadMemoryRequest.requests:type_name -> ReadMemoryRequest
	18, // 18: MultiReadMemoryResponse.responses:type_name -> ReadMemoryResponse
	19, // 19: MultiWriteMemoryRequest.requests:type_name -> WriteMemoryRequest
	20, // 20: MultiWriteMemoryResponse.responses:type_name -> WriteMemoryResponse
	4,  // 21: DirEntry.type:type_name -> DirEntryType
	30, // 22: ReadDirectoryResponse.entries:type_name -> DirEntry
	3,  // 23: FieldsRequest.fields:type_name -> Field
	3,  // 24: FieldsResponse.fields:type_name -> Field
	49, // 25: NWACommandResponse.asciiReply:type_name -> NWACommandResponse.NWAASCIIItem
	2,  // 26: DevicesResponse.Device.capabilities:type_name -> DeviceCapability
	0,  // 27: DevicesResponse.Device.defaultAddressSpace:type_name -> AddressSpace
	50, // 28: NWACommandResponse.NWAASCIIItem.item:type_name -> NWACommandResponse.NWAASCIIItem.ItemEntry
	5,  // 29: Devices.ListDevices:input_type -> DevicesRequest
	7,  // 30: DeviceControl.ResetSystem:input_type -> ResetSystemRequest
	9,  // 31: DeviceControl.ResetToMenu:input_type -> ResetToMenuRequest
	11, // 32: DeviceControl.PauseUnpauseEmulation:input_type -> PauseEmulationRequest
	13, // 33: DeviceControl.PauseToggleEmulation:input_type -> PauseToggleEmulationRequest
	15, // 34: DeviceMemory.MappingDetect:input_type -> DetectMemoryMappingRequest
	21, // 35: DeviceMemory.SingleRead:input_type -> SingleReadMemoryRequest
	23, // 36: DeviceMemory.SingleWrite:input_type -> SingleWriteMemoryRequest
	25, // 37: DeviceMemory.MultiRead:input_type -> MultiReadMemoryRequest
	27, // 38: DeviceMemory.MultiWrite:input_type -> MultiWriteMemoryRequest
	25, // 39: DeviceMemory.StreamRead:input_type -> MultiReadMemoryRequest
	27, // 40: DeviceMemory.StreamWrite:input_type -> MultiWriteMemoryRequest
	29, // 41: DeviceFilesystem.ReadDirectory:input_type -> ReadDirectoryRequest
	32, // 42: DeviceFilesystem.MakeDirectory:input_type -> MakeDirectoryRequest
	34, // 43: DeviceFilesystem.RemoveFile:input_type -> RemoveFileRequest
	36, // 44: DeviceFilesystem.RenameFile:input_type -> RenameFileRequest
	38, // 45: DeviceFilesystem.PutFile:input_type -> PutFileRequest
	40, // 46: DeviceFilesystem.GetFile:input_type -> GetFileRequest
	42, // 47: DeviceFilesystem.BootFile:input_type -> BootFileRequest
	44, // 48: DeviceInfo.FetchFields:input_type -> FieldsRequest
	46, // 49: DeviceNWA.NWACommand:input_type -> NWACommandRequest
	6,  // 50: Devices.ListDevices:output_type -> DevicesResponse
	8,  // 51: DeviceControl.ResetSystem:output_type -> ResetSystemResponse
	10, // 52: DeviceControl.ResetToMenu:output_type -> ResetToMenuResponse
	12, // 53: DeviceControl.PauseUnpauseEmulation:output_type -> PauseEmulationResponse
	14, // 54: DeviceControl.PauseToggleEmulation:output_type -> PauseToggleEmulationResponse
	16, // 55: DeviceMemory.MappingDetect:output_type -> DetectMemoryMappingResponse
	22, // 56: DeviceMemory.SingleRead:output_type -> SingleReadMemoryResponse
	24, // 57: DeviceMemory.SingleWrite:output_type -> SingleWriteMemoryResponse
	26, // 58: DeviceMemory.MultiRead:output_type -> MultiReadMemoryResponse
	28, // 59: DeviceMemory.MultiWrite:output_type -> MultiWriteMemoryResponse
	26, // 60: DeviceMemory.StreamRead:output_type -> MultiReadMemoryResponse
	28, // 61: DeviceMemory.StreamWrite:output_type -> MultiWriteMemoryResponse
	31, // 62: DeviceFilesystem.ReadDirectory:output_type -> ReadDirectoryResponse
	33, // 63: DeviceFilesystem.MakeDirectory:output_type -> MakeDirectoryResponse
	35, // 64: DeviceFilesystem.RemoveFile:output_type -> RemoveFileResponse
	37, // 65: DeviceFilesystem.RenameFile:output_type -> RenameFileResponse
	39, // 66: DeviceFilesystem.PutFile:output_type -> PutFileResponse
	41, // 67: DeviceFilesystem.GetFile:output_type -> GetFileResponse
	43, // 68: DeviceFilesystem.BootFile:output_type -> BootFileResponse
	45, // 69: DeviceInfo.FetchFields:output_type -> FieldsResponse
	47, // 70: DeviceNWA.NWACommand:output_type -> NWACommandResponse
	50, // [50:71] is the sub-list for method output_type
	29, // [29:50] is the sub-list for method input_type
	29, // [29:29] is the sub-list for extension type_name
	29, // [29:29] is the sub-list for extension extendee
	0,  // [0:29] is the sub-list for field type_name
}

func init() { file_sni_proto_init() }
func file_sni_proto_init() {
	if File_sni_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_sni_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DevicesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DevicesResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ResetSystemRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ResetSystemResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ResetToMenuRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ResetToMenuResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PauseEmulationRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PauseEmulationResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PauseToggleEmulationRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PauseToggleEmulationResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DetectMemoryMappingRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DetectMemoryMappingResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReadMemoryRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReadMemoryResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WriteMemoryRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WriteMemoryResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SingleReadMemoryRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SingleReadMemoryResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SingleWriteMemoryRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SingleWriteMemoryResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MultiReadMemoryRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MultiReadMemoryResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MultiWriteMemoryRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MultiWriteMemoryResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReadDirectoryRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DirEntry); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReadDirectoryResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MakeDirectoryRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MakeDirectoryResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RemoveFileRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RemoveFileResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RenameFileRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RenameFileResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PutFileRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PutFileResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetFileRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetFileResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BootFileRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BootFileResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FieldsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FieldsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NWACommandRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NWACommandResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DevicesResponse_Device); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sni_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NWACommandResponse_NWAASCIIItem); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_sni_proto_msgTypes[10].OneofWrappers = []interface{}{}
	file_sni_proto_msgTypes[41].OneofWrappers = []interface{}{}
	file_sni_proto_msgTypes[42].OneofWrappers = []interface{}{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_sni_proto_rawDesc,
			NumEnums:      5,
			NumMessages:   46,
			NumExtensions: 0,
			NumServices:   6,
		},
		GoTypes:           file_sni_proto_goTypes,
		DependencyIndexes: file_sni_proto_depIdxs,
		EnumInfos:         file_sni_proto_enumTypes,
		MessageInfos:      file_sni_proto_msgTypes,
	}.Build()
	File_sni_proto = out.File
	file_sni_proto_rawDesc = nil
	file_sni_proto_goTypes = nil
	file_sni_proto_depIdxs = nil
}
