// Code generated by protoc-gen-go. DO NOT EDIT. // source: proto/pbservice/healthcheck.proto package pbservice import ( fmt "fmt" proto "github.com/golang/protobuf/proto" duration "github.com/golang/protobuf/ptypes/duration" pbcommon "github.com/hashicorp/consul/proto/pbcommon" math "math" ) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf // This is a compile-time assertion to ensure that this generated file // is compatible with the proto package it is being compiled against. // A compilation error at this line likely means your copy of the // proto package needs to be updated. const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package // HealthCheck represents a single check on a given node // // mog annotation: // // target=github.com/hashicorp/consul/agent/structs.HealthCheck // output=healthcheck.gen.go // name=Structs type HealthCheck struct { Node string `protobuf:"bytes,1,opt,name=Node,proto3" json:"Node,omitempty"` // mog: func-to=CheckIDType func-from=string CheckID string `protobuf:"bytes,2,opt,name=CheckID,proto3" json:"CheckID,omitempty"` Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` Status string `protobuf:"bytes,4,opt,name=Status,proto3" json:"Status,omitempty"` Notes string `protobuf:"bytes,5,opt,name=Notes,proto3" json:"Notes,omitempty"` Output string `protobuf:"bytes,6,opt,name=Output,proto3" json:"Output,omitempty"` ServiceID string `protobuf:"bytes,7,opt,name=ServiceID,proto3" json:"ServiceID,omitempty"` ServiceName string `protobuf:"bytes,8,opt,name=ServiceName,proto3" json:"ServiceName,omitempty"` ServiceTags []string `protobuf:"bytes,9,rep,name=ServiceTags,proto3" json:"ServiceTags,omitempty"` Type string `protobuf:"bytes,12,opt,name=Type,proto3" json:"Type,omitempty"` Definition *HealthCheckDefinition `protobuf:"bytes,10,opt,name=Definition,proto3" json:"Definition,omitempty"` // mog: func-to=RaftIndexToStructs func-from=NewRaftIndexFromStructs RaftIndex *pbcommon.RaftIndex `protobuf:"bytes,11,opt,name=RaftIndex,proto3" json:"RaftIndex,omitempty"` // mog: func-to=EnterpriseMetaToStructs func-from=NewEnterpriseMetaFromStructs EnterpriseMeta *pbcommon.EnterpriseMeta `protobuf:"bytes,13,opt,name=EnterpriseMeta,proto3" json:"EnterpriseMeta,omitempty"` // mog: func-to=int func-from=int32 ExposedPort int32 `protobuf:"varint,14,opt,name=ExposedPort,proto3" json:"ExposedPort,omitempty"` Interval string `protobuf:"bytes,15,opt,name=Interval,proto3" json:"Interval,omitempty"` Timeout string `protobuf:"bytes,16,opt,name=Timeout,proto3" json:"Timeout,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *HealthCheck) Reset() { *m = HealthCheck{} } func (m *HealthCheck) String() string { return proto.CompactTextString(m) } func (*HealthCheck) ProtoMessage() {} func (*HealthCheck) Descriptor() ([]byte, []int) { return fileDescriptor_8a6f7448747c9fbe, []int{0} } func (m *HealthCheck) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_HealthCheck.Unmarshal(m, b) } func (m *HealthCheck) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_HealthCheck.Marshal(b, m, deterministic) } func (m *HealthCheck) XXX_Merge(src proto.Message) { xxx_messageInfo_HealthCheck.Merge(m, src) } func (m *HealthCheck) XXX_Size() int { return xxx_messageInfo_HealthCheck.Size(m) } func (m *HealthCheck) XXX_DiscardUnknown() { xxx_messageInfo_HealthCheck.DiscardUnknown(m) } var xxx_messageInfo_HealthCheck proto.InternalMessageInfo func (m *HealthCheck) GetNode() string { if m != nil { return m.Node } return "" } func (m *HealthCheck) GetCheckID() string { if m != nil { return m.CheckID } return "" } func (m *HealthCheck) GetName() string { if m != nil { return m.Name } return "" } func (m *HealthCheck) GetStatus() string { if m != nil { return m.Status } return "" } func (m *HealthCheck) GetNotes() string { if m != nil { return m.Notes } return "" } func (m *HealthCheck) GetOutput() string { if m != nil { return m.Output } return "" } func (m *HealthCheck) GetServiceID() string { if m != nil { return m.ServiceID } return "" } func (m *HealthCheck) GetServiceName() string { if m != nil { return m.ServiceName } return "" } func (m *HealthCheck) GetServiceTags() []string { if m != nil { return m.ServiceTags } return nil } func (m *HealthCheck) GetType() string { if m != nil { return m.Type } return "" } func (m *HealthCheck) GetDefinition() *HealthCheckDefinition { if m != nil { return m.Definition } return nil } func (m *HealthCheck) GetRaftIndex() *pbcommon.RaftIndex { if m != nil { return m.RaftIndex } return nil } func (m *HealthCheck) GetEnterpriseMeta() *pbcommon.EnterpriseMeta { if m != nil { return m.EnterpriseMeta } return nil } func (m *HealthCheck) GetExposedPort() int32 { if m != nil { return m.ExposedPort } return 0 } func (m *HealthCheck) GetInterval() string { if m != nil { return m.Interval } return "" } func (m *HealthCheck) GetTimeout() string { if m != nil { return m.Timeout } return "" } type HeaderValue struct { Value []string `protobuf:"bytes,1,rep,name=Value,proto3" json:"Value,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *HeaderValue) Reset() { *m = HeaderValue{} } func (m *HeaderValue) String() string { return proto.CompactTextString(m) } func (*HeaderValue) ProtoMessage() {} func (*HeaderValue) Descriptor() ([]byte, []int) { return fileDescriptor_8a6f7448747c9fbe, []int{1} } func (m *HeaderValue) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_HeaderValue.Unmarshal(m, b) } func (m *HeaderValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_HeaderValue.Marshal(b, m, deterministic) } func (m *HeaderValue) XXX_Merge(src proto.Message) { xxx_messageInfo_HeaderValue.Merge(m, src) } func (m *HeaderValue) XXX_Size() int { return xxx_messageInfo_HeaderValue.Size(m) } func (m *HeaderValue) XXX_DiscardUnknown() { xxx_messageInfo_HeaderValue.DiscardUnknown(m) } var xxx_messageInfo_HeaderValue proto.InternalMessageInfo func (m *HeaderValue) GetValue() []string { if m != nil { return m.Value } return nil } // HealthCheckDefinition of a single HealthCheck. // // mog annotation: // // target=github.com/hashicorp/consul/agent/structs.HealthCheckDefinition // output=healthcheck.gen.go // name=Structs type HealthCheckDefinition struct { HTTP string `protobuf:"bytes,1,opt,name=HTTP,proto3" json:"HTTP,omitempty"` TLSServerName string `protobuf:"bytes,19,opt,name=TLSServerName,proto3" json:"TLSServerName,omitempty"` TLSSkipVerify bool `protobuf:"varint,2,opt,name=TLSSkipVerify,proto3" json:"TLSSkipVerify,omitempty"` // mog: func-to=MapHeadersToStructs func-from=NewMapHeadersFromStructs Header map[string]*HeaderValue `protobuf:"bytes,3,rep,name=Header,proto3" json:"Header,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Method string `protobuf:"bytes,4,opt,name=Method,proto3" json:"Method,omitempty"` Body string `protobuf:"bytes,18,opt,name=Body,proto3" json:"Body,omitempty"` TCP string `protobuf:"bytes,5,opt,name=TCP,proto3" json:"TCP,omitempty"` // mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto Interval *duration.Duration `protobuf:"bytes,6,opt,name=Interval,proto3" json:"Interval,omitempty"` // mog: func-to=uint func-from=uint32 OutputMaxSize uint32 `protobuf:"varint,9,opt,name=OutputMaxSize,proto3" json:"OutputMaxSize,omitempty"` // mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto Timeout *duration.Duration `protobuf:"bytes,7,opt,name=Timeout,proto3" json:"Timeout,omitempty"` // mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto DeregisterCriticalServiceAfter *duration.Duration `protobuf:"bytes,8,opt,name=DeregisterCriticalServiceAfter,proto3" json:"DeregisterCriticalServiceAfter,omitempty"` ScriptArgs []string `protobuf:"bytes,10,rep,name=ScriptArgs,proto3" json:"ScriptArgs,omitempty"` DockerContainerID string `protobuf:"bytes,11,opt,name=DockerContainerID,proto3" json:"DockerContainerID,omitempty"` Shell string `protobuf:"bytes,12,opt,name=Shell,proto3" json:"Shell,omitempty"` H2PING string `protobuf:"bytes,20,opt,name=H2PING,proto3" json:"H2PING,omitempty"` H2PingUseTLS bool `protobuf:"varint,21,opt,name=H2PingUseTLS,proto3" json:"H2PingUseTLS,omitempty"` GRPC string `protobuf:"bytes,13,opt,name=GRPC,proto3" json:"GRPC,omitempty"` GRPCUseTLS bool `protobuf:"varint,14,opt,name=GRPCUseTLS,proto3" json:"GRPCUseTLS,omitempty"` AliasNode string `protobuf:"bytes,15,opt,name=AliasNode,proto3" json:"AliasNode,omitempty"` AliasService string `protobuf:"bytes,16,opt,name=AliasService,proto3" json:"AliasService,omitempty"` // mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto TTL *duration.Duration `protobuf:"bytes,17,opt,name=TTL,proto3" json:"TTL,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *HealthCheckDefinition) Reset() { *m = HealthCheckDefinition{} } func (m *HealthCheckDefinition) String() string { return proto.CompactTextString(m) } func (*HealthCheckDefinition) ProtoMessage() {} func (*HealthCheckDefinition) Descriptor() ([]byte, []int) { return fileDescriptor_8a6f7448747c9fbe, []int{2} } func (m *HealthCheckDefinition) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_HealthCheckDefinition.Unmarshal(m, b) } func (m *HealthCheckDefinition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_HealthCheckDefinition.Marshal(b, m, deterministic) } func (m *HealthCheckDefinition) XXX_Merge(src proto.Message) { xxx_messageInfo_HealthCheckDefinition.Merge(m, src) } func (m *HealthCheckDefinition) XXX_Size() int { return xxx_messageInfo_HealthCheckDefinition.Size(m) } func (m *HealthCheckDefinition) XXX_DiscardUnknown() { xxx_messageInfo_HealthCheckDefinition.DiscardUnknown(m) } var xxx_messageInfo_HealthCheckDefinition proto.InternalMessageInfo func (m *HealthCheckDefinition) GetHTTP() string { if m != nil { return m.HTTP } return "" } func (m *HealthCheckDefinition) GetTLSServerName() string { if m != nil { return m.TLSServerName } return "" } func (m *HealthCheckDefinition) GetTLSSkipVerify() bool { if m != nil { return m.TLSSkipVerify } return false } func (m *HealthCheckDefinition) GetHeader() map[string]*HeaderValue { if m != nil { return m.Header } return nil } func (m *HealthCheckDefinition) GetMethod() string { if m != nil { return m.Method } return "" } func (m *HealthCheckDefinition) GetBody() string { if m != nil { return m.Body } return "" } func (m *HealthCheckDefinition) GetTCP() string { if m != nil { return m.TCP } return "" } func (m *HealthCheckDefinition) GetInterval() *duration.Duration { if m != nil { return m.Interval } return nil } func (m *HealthCheckDefinition) GetOutputMaxSize() uint32 { if m != nil { return m.OutputMaxSize } return 0 } func (m *HealthCheckDefinition) GetTimeout() *duration.Duration { if m != nil { return m.Timeout } return nil } func (m *HealthCheckDefinition) GetDeregisterCriticalServiceAfter() *duration.Duration { if m != nil { return m.DeregisterCriticalServiceAfter } return nil } func (m *HealthCheckDefinition) GetScriptArgs() []string { if m != nil { return m.ScriptArgs } return nil } func (m *HealthCheckDefinition) GetDockerContainerID() string { if m != nil { return m.DockerContainerID } return "" } func (m *HealthCheckDefinition) GetShell() string { if m != nil { return m.Shell } return "" } func (m *HealthCheckDefinition) GetH2PING() string { if m != nil { return m.H2PING } return "" } func (m *HealthCheckDefinition) GetH2PingUseTLS() bool { if m != nil { return m.H2PingUseTLS } return false } func (m *HealthCheckDefinition) GetGRPC() string { if m != nil { return m.GRPC } return "" } func (m *HealthCheckDefinition) GetGRPCUseTLS() bool { if m != nil { return m.GRPCUseTLS } return false } func (m *HealthCheckDefinition) GetAliasNode() string { if m != nil { return m.AliasNode } return "" } func (m *HealthCheckDefinition) GetAliasService() string { if m != nil { return m.AliasService } return "" } func (m *HealthCheckDefinition) GetTTL() *duration.Duration { if m != nil { return m.TTL } return nil } // CheckType is used to create either the CheckMonitor or the CheckTTL. // The following types are supported: Script, HTTP, TCP, Docker, TTL, GRPC, // Alias. Script, H2PING, // HTTP, Docker, TCP, H2PING and GRPC all require Interval. Only one of the types may // to be provided: TTL or Script/Interval or HTTP/Interval or TCP/Interval or // Docker/Interval or GRPC/Interval or H2PING/Interval or AliasService. // // mog annotation: // // target=github.com/hashicorp/consul/agent/structs.CheckType // output=healthcheck.gen.go // name=Structs type CheckType struct { // mog: func-to=CheckIDType func-from=string CheckID string `protobuf:"bytes,1,opt,name=CheckID,proto3" json:"CheckID,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` Status string `protobuf:"bytes,3,opt,name=Status,proto3" json:"Status,omitempty"` Notes string `protobuf:"bytes,4,opt,name=Notes,proto3" json:"Notes,omitempty"` ScriptArgs []string `protobuf:"bytes,5,rep,name=ScriptArgs,proto3" json:"ScriptArgs,omitempty"` HTTP string `protobuf:"bytes,6,opt,name=HTTP,proto3" json:"HTTP,omitempty"` // mog: func-to=MapHeadersToStructs func-from=NewMapHeadersFromStructs Header map[string]*HeaderValue `protobuf:"bytes,20,rep,name=Header,proto3" json:"Header,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Method string `protobuf:"bytes,7,opt,name=Method,proto3" json:"Method,omitempty"` Body string `protobuf:"bytes,26,opt,name=Body,proto3" json:"Body,omitempty"` TCP string `protobuf:"bytes,8,opt,name=TCP,proto3" json:"TCP,omitempty"` // mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto Interval *duration.Duration `protobuf:"bytes,9,opt,name=Interval,proto3" json:"Interval,omitempty"` AliasNode string `protobuf:"bytes,10,opt,name=AliasNode,proto3" json:"AliasNode,omitempty"` AliasService string `protobuf:"bytes,11,opt,name=AliasService,proto3" json:"AliasService,omitempty"` DockerContainerID string `protobuf:"bytes,12,opt,name=DockerContainerID,proto3" json:"DockerContainerID,omitempty"` Shell string `protobuf:"bytes,13,opt,name=Shell,proto3" json:"Shell,omitempty"` H2PING string `protobuf:"bytes,28,opt,name=H2PING,proto3" json:"H2PING,omitempty"` H2PingUseTLS bool `protobuf:"varint,30,opt,name=H2PingUseTLS,proto3" json:"H2PingUseTLS,omitempty"` GRPC string `protobuf:"bytes,14,opt,name=GRPC,proto3" json:"GRPC,omitempty"` GRPCUseTLS bool `protobuf:"varint,15,opt,name=GRPCUseTLS,proto3" json:"GRPCUseTLS,omitempty"` TLSServerName string `protobuf:"bytes,27,opt,name=TLSServerName,proto3" json:"TLSServerName,omitempty"` TLSSkipVerify bool `protobuf:"varint,16,opt,name=TLSSkipVerify,proto3" json:"TLSSkipVerify,omitempty"` // mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto Timeout *duration.Duration `protobuf:"bytes,17,opt,name=Timeout,proto3" json:"Timeout,omitempty"` // mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto TTL *duration.Duration `protobuf:"bytes,18,opt,name=TTL,proto3" json:"TTL,omitempty"` // mog: func-to=int func-from=int32 SuccessBeforePassing int32 `protobuf:"varint,21,opt,name=SuccessBeforePassing,proto3" json:"SuccessBeforePassing,omitempty"` // mog: func-to=int func-from=int32 FailuresBeforeWarning int32 `protobuf:"varint,29,opt,name=FailuresBeforeWarning,proto3" json:"FailuresBeforeWarning,omitempty"` // mog: func-to=int func-from=int32 FailuresBeforeCritical int32 `protobuf:"varint,22,opt,name=FailuresBeforeCritical,proto3" json:"FailuresBeforeCritical,omitempty"` // Definition fields used when exposing checks through a proxy ProxyHTTP string `protobuf:"bytes,23,opt,name=ProxyHTTP,proto3" json:"ProxyHTTP,omitempty"` ProxyGRPC string `protobuf:"bytes,24,opt,name=ProxyGRPC,proto3" json:"ProxyGRPC,omitempty"` // DeregisterCriticalServiceAfter, if >0, will cause the associated // service, if any, to be deregistered if this check is critical for // longer than this duration. // mog: func-to=structs.DurationFromProto func-from=structs.DurationToProto DeregisterCriticalServiceAfter *duration.Duration `protobuf:"bytes,19,opt,name=DeregisterCriticalServiceAfter,proto3" json:"DeregisterCriticalServiceAfter,omitempty"` // mog: func-to=int func-from=int32 OutputMaxSize int32 `protobuf:"varint,25,opt,name=OutputMaxSize,proto3" json:"OutputMaxSize,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *CheckType) Reset() { *m = CheckType{} } func (m *CheckType) String() string { return proto.CompactTextString(m) } func (*CheckType) ProtoMessage() {} func (*CheckType) Descriptor() ([]byte, []int) { return fileDescriptor_8a6f7448747c9fbe, []int{3} } func (m *CheckType) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CheckType.Unmarshal(m, b) } func (m *CheckType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CheckType.Marshal(b, m, deterministic) } func (m *CheckType) XXX_Merge(src proto.Message) { xxx_messageInfo_CheckType.Merge(m, src) } func (m *CheckType) XXX_Size() int { return xxx_messageInfo_CheckType.Size(m) } func (m *CheckType) XXX_DiscardUnknown() { xxx_messageInfo_CheckType.DiscardUnknown(m) } var xxx_messageInfo_CheckType proto.InternalMessageInfo func (m *CheckType) GetCheckID() string { if m != nil { return m.CheckID } return "" } func (m *CheckType) GetName() string { if m != nil { return m.Name } return "" } func (m *CheckType) GetStatus() string { if m != nil { return m.Status } return "" } func (m *CheckType) GetNotes() string { if m != nil { return m.Notes } return "" } func (m *CheckType) GetScriptArgs() []string { if m != nil { return m.ScriptArgs } return nil } func (m *CheckType) GetHTTP() string { if m != nil { return m.HTTP } return "" } func (m *CheckType) GetHeader() map[string]*HeaderValue { if m != nil { return m.Header } return nil } func (m *CheckType) GetMethod() string { if m != nil { return m.Method } return "" } func (m *CheckType) GetBody() string { if m != nil { return m.Body } return "" } func (m *CheckType) GetTCP() string { if m != nil { return m.TCP } return "" } func (m *CheckType) GetInterval() *duration.Duration { if m != nil { return m.Interval } return nil } func (m *CheckType) GetAliasNode() string { if m != nil { return m.AliasNode } return "" } func (m *CheckType) GetAliasService() string { if m != nil { return m.AliasService } return "" } func (m *CheckType) GetDockerContainerID() string { if m != nil { return m.DockerContainerID } return "" } func (m *CheckType) GetShell() string { if m != nil { return m.Shell } return "" } func (m *CheckType) GetH2PING() string { if m != nil { return m.H2PING } return "" } func (m *CheckType) GetH2PingUseTLS() bool { if m != nil { return m.H2PingUseTLS } return false } func (m *CheckType) GetGRPC() string { if m != nil { return m.GRPC } return "" } func (m *CheckType) GetGRPCUseTLS() bool { if m != nil { return m.GRPCUseTLS } return false } func (m *CheckType) GetTLSServerName() string { if m != nil { return m.TLSServerName } return "" } func (m *CheckType) GetTLSSkipVerify() bool { if m != nil { return m.TLSSkipVerify } return false } func (m *CheckType) GetTimeout() *duration.Duration { if m != nil { return m.Timeout } return nil } func (m *CheckType) GetTTL() *duration.Duration { if m != nil { return m.TTL } return nil } func (m *CheckType) GetSuccessBeforePassing() int32 { if m != nil { return m.SuccessBeforePassing } return 0 } func (m *CheckType) GetFailuresBeforeWarning() int32 { if m != nil { return m.FailuresBeforeWarning } return 0 } func (m *CheckType) GetFailuresBeforeCritical() int32 { if m != nil { return m.FailuresBeforeCritical } return 0 } func (m *CheckType) GetProxyHTTP() string { if m != nil { return m.ProxyHTTP } return "" } func (m *CheckType) GetProxyGRPC() string { if m != nil { return m.ProxyGRPC } return "" } func (m *CheckType) GetDeregisterCriticalServiceAfter() *duration.Duration { if m != nil { return m.DeregisterCriticalServiceAfter } return nil } func (m *CheckType) GetOutputMaxSize() int32 { if m != nil { return m.OutputMaxSize } return 0 } func init() { proto.RegisterType((*HealthCheck)(nil), "pbservice.HealthCheck") proto.RegisterType((*HeaderValue)(nil), "pbservice.HeaderValue") proto.RegisterType((*HealthCheckDefinition)(nil), "pbservice.HealthCheckDefinition") proto.RegisterMapType((map[string]*HeaderValue)(nil), "pbservice.HealthCheckDefinition.HeaderEntry") proto.RegisterType((*CheckType)(nil), "pbservice.CheckType") proto.RegisterMapType((map[string]*HeaderValue)(nil), "pbservice.CheckType.HeaderEntry") } func init() { proto.RegisterFile("proto/pbservice/healthcheck.proto", fileDescriptor_8a6f7448747c9fbe) } var fileDescriptor_8a6f7448747c9fbe = []byte{ // 994 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xd1, 0x6e, 0x22, 0x37, 0x14, 0x15, 0x21, 0x40, 0xc6, 0x84, 0x6c, 0xe2, 0x4d, 0x52, 0x2f, 0xbb, 0x8d, 0x28, 0xdd, 0x07, 0xa4, 0x4d, 0x41, 0x62, 0xdb, 0x6a, 0xd5, 0x87, 0xaa, 0x09, 0xa4, 0x1b, 0xa4, 0x24, 0xa5, 0xc3, 0x74, 0x2b, 0xf5, 0xcd, 0x19, 0x0c, 0x58, 0x19, 0xc6, 0x23, 0x8f, 0x27, 0x0a, 0xfd, 0x80, 0x7e, 0x42, 0xbf, 0xa1, 0x9f, 0x59, 0xf9, 0x7a, 0x06, 0x66, 0x96, 0x49, 0x88, 0x54, 0xf5, 0x09, 0xdf, 0x7b, 0xae, 0x8d, 0x7d, 0xef, 0x39, 0x07, 0xd0, 0x57, 0x81, 0x14, 0x4a, 0x74, 0x82, 0xdb, 0x90, 0xc9, 0x7b, 0xee, 0xb2, 0xce, 0x8c, 0x51, 0x4f, 0xcd, 0xdc, 0x19, 0x73, 0xef, 0xda, 0x80, 0x61, 0x6b, 0x09, 0xd6, 0x4f, 0xa6, 0x42, 0x4c, 0x3d, 0xd6, 0x01, 0xe0, 0x36, 0x9a, 0x74, 0xc6, 0x91, 0xa4, 0x8a, 0x0b, 0xdf, 0x94, 0xd6, 0x5f, 0x27, 0xa7, 0xb9, 0x62, 0x3e, 0x17, 0x7e, 0xc7, 0x7c, 0x18, 0xb0, 0xf9, 0xf7, 0x36, 0xaa, 0x5e, 0xc2, 0xe9, 0x3d, 0x7d, 0x3a, 0xc6, 0x68, 0xfb, 0x46, 0x8c, 0x19, 0x29, 0x34, 0x0a, 0x2d, 0xcb, 0x86, 0x35, 0x26, 0xa8, 0x02, 0xe0, 0xa0, 0x4f, 0xb6, 0x20, 0x9d, 0x84, 0x50, 0x4d, 0xe7, 0x8c, 0x14, 0xe3, 0x6a, 0x3a, 0x67, 0xf8, 0x18, 0x95, 0x47, 0x8a, 0xaa, 0x28, 0x24, 0xdb, 0x90, 0x8d, 0x23, 0x7c, 0x88, 0x4a, 0x37, 0x42, 0xb1, 0x90, 0x94, 0x20, 0x6d, 0x02, 0x5d, 0xfd, 0x4b, 0xa4, 0x82, 0x48, 0x91, 0xb2, 0xa9, 0x36, 0x11, 0x7e, 0x83, 0xac, 0x91, 0x79, 0xdf, 0xa0, 0x4f, 0x2a, 0x00, 0xad, 0x12, 0xb8, 0x81, 0xaa, 0x71, 0x00, 0x5f, 0xbf, 0x03, 0x78, 0x3a, 0x95, 0xaa, 0x70, 0xe8, 0x34, 0x24, 0x56, 0xa3, 0x98, 0xaa, 0xd0, 0x29, 0x7d, 0x77, 0x67, 0x11, 0x30, 0xb2, 0x6b, 0xee, 0xae, 0xd7, 0xf8, 0x27, 0x84, 0xfa, 0x6c, 0xc2, 0x7d, 0xae, 0xdb, 0x47, 0x50, 0xa3, 0xd0, 0xaa, 0x76, 0x1b, 0xed, 0x65, 0xab, 0xdb, 0xa9, 0x4e, 0xad, 0xea, 0xec, 0xd4, 0x1e, 0xdc, 0x41, 0x96, 0x4d, 0x27, 0x6a, 0xe0, 0x8f, 0xd9, 0x03, 0xa9, 0xc2, 0x01, 0x07, 0xed, 0xb8, 0xe3, 0x4b, 0xc0, 0x5e, 0xd5, 0xe0, 0x1f, 0xd1, 0xde, 0x85, 0xaf, 0x98, 0x0c, 0x24, 0x0f, 0xd9, 0x35, 0x53, 0x94, 0xd4, 0x60, 0xd7, 0x71, 0xb2, 0x2b, 0x8b, 0xda, 0x9f, 0x55, 0xeb, 0x87, 0x5e, 0x3c, 0x04, 0x22, 0x64, 0xe3, 0xa1, 0x90, 0x8a, 0xec, 0x35, 0x0a, 0xad, 0x92, 0x9d, 0x4e, 0xe1, 0x3a, 0xda, 0x19, 0xe8, 0x3d, 0xf7, 0xd4, 0x23, 0x2f, 0xe0, 0xb1, 0xcb, 0x58, 0x8f, 0xd6, 0xe1, 0x73, 0x26, 0x22, 0x45, 0xf6, 0xcd, 0x68, 0xe3, 0xb0, 0xf9, 0x35, 0xf0, 0x62, 0xcc, 0xe4, 0x27, 0xea, 0x45, 0x4c, 0x4f, 0x0f, 0x16, 0xa4, 0x00, 0x9d, 0x34, 0x41, 0xf3, 0xaf, 0x0a, 0x3a, 0xca, 0xed, 0x89, 0xee, 0xee, 0xa5, 0xe3, 0x0c, 0x13, 0x1e, 0xe9, 0x35, 0x7e, 0x8b, 0x6a, 0xce, 0xd5, 0x48, 0xcf, 0x80, 0x49, 0x98, 0xdb, 0x4b, 0x00, 0xb3, 0xc9, 0xa4, 0xea, 0x8e, 0x07, 0x9f, 0x98, 0xe4, 0x93, 0x05, 0x70, 0x6e, 0xc7, 0xce, 0x26, 0x71, 0x1f, 0x95, 0xcd, 0xf5, 0x48, 0xb1, 0x51, 0x6c, 0x55, 0xbb, 0xa7, 0x9b, 0xa6, 0xd4, 0x36, 0xe5, 0x17, 0xbe, 0x92, 0x0b, 0x3b, 0xde, 0xab, 0xd9, 0x77, 0xcd, 0xd4, 0x4c, 0x8c, 0x13, 0xae, 0x9a, 0x48, 0xdf, 0xfe, 0x5c, 0x8c, 0x17, 0x04, 0x9b, 0xdb, 0xeb, 0x35, 0xde, 0x47, 0x45, 0xa7, 0x37, 0x8c, 0xd9, 0xab, 0x97, 0xf8, 0xbb, 0x54, 0x63, 0xcb, 0x30, 0xb4, 0x57, 0x6d, 0xa3, 0xc5, 0x76, 0xa2, 0xc5, 0x76, 0x3f, 0xd6, 0x62, 0xaa, 0xe7, 0x6f, 0x51, 0xcd, 0x90, 0xfc, 0x9a, 0x3e, 0x8c, 0xf8, 0x9f, 0x8c, 0x58, 0x8d, 0x42, 0xab, 0x66, 0x67, 0x93, 0xf8, 0xfd, 0x6a, 0x32, 0x95, 0x4d, 0x67, 0x27, 0x95, 0x98, 0xa2, 0x93, 0x3e, 0x93, 0x6c, 0xca, 0x43, 0xc5, 0x64, 0x4f, 0x72, 0xc5, 0x5d, 0xea, 0xc5, 0xa4, 0x3f, 0x9b, 0x28, 0x26, 0x41, 0x2a, 0x4f, 0x9e, 0xb5, 0xe1, 0x00, 0x7c, 0x82, 0xd0, 0xc8, 0x95, 0x3c, 0x50, 0x67, 0x72, 0x1a, 0x12, 0x04, 0x6c, 0x48, 0x65, 0xf0, 0x29, 0x3a, 0xe8, 0x0b, 0xf7, 0x8e, 0xc9, 0x9e, 0xf0, 0x15, 0xe5, 0x3e, 0x93, 0x83, 0x3e, 0x08, 0xc1, 0xb2, 0xd7, 0x01, 0x4d, 0xab, 0xd1, 0x8c, 0x79, 0x5e, 0xac, 0x42, 0x13, 0xe8, 0xb1, 0x5c, 0x76, 0x87, 0x83, 0x9b, 0x8f, 0xe4, 0xd0, 0x8c, 0xc5, 0x44, 0xb8, 0x89, 0x76, 0x2f, 0xbb, 0x43, 0xee, 0x4f, 0x7f, 0x0b, 0x99, 0x73, 0x35, 0x22, 0x47, 0xc0, 0x8c, 0x4c, 0x4e, 0x8f, 0xee, 0xa3, 0x3d, 0xec, 0x81, 0x8a, 0x2c, 0x1b, 0xd6, 0xfa, 0xce, 0xfa, 0x33, 0xde, 0xb5, 0x07, 0xbb, 0x52, 0x19, 0x6d, 0x36, 0x67, 0x1e, 0xa7, 0x21, 0x38, 0x9f, 0x91, 0xc8, 0x2a, 0xa1, 0xbf, 0x15, 0x82, 0xb8, 0x0d, 0xb1, 0x50, 0x32, 0x39, 0xfc, 0x0e, 0x15, 0x1d, 0xe7, 0x8a, 0x1c, 0x6c, 0xea, 0xae, 0xae, 0xaa, 0xff, 0x9a, 0x48, 0x0b, 0xc8, 0xa8, 0x89, 0x75, 0xc7, 0x16, 0xb1, 0x52, 0xf4, 0x12, 0x9f, 0xa2, 0xd2, 0x3d, 0x88, 0x6d, 0x2b, 0xb6, 0x82, 0x0c, 0xb7, 0x13, 0x4d, 0xda, 0xa6, 0xe8, 0x87, 0xad, 0x0f, 0x85, 0xe6, 0x3f, 0x16, 0xb2, 0x80, 0xf0, 0x60, 0x63, 0x29, 0xc3, 0x2e, 0xe4, 0x1b, 0xf6, 0x56, 0xae, 0x61, 0x17, 0xf3, 0x0d, 0x7b, 0x3b, 0x6d, 0xd8, 0xd9, 0xf9, 0x97, 0xd6, 0xe6, 0x9f, 0x08, 0xbf, 0x9c, 0x12, 0xfe, 0x87, 0xa5, 0x58, 0x0f, 0x41, 0xac, 0x69, 0x4b, 0x5d, 0xde, 0x7a, 0x83, 0x40, 0x2b, 0xb9, 0x02, 0xad, 0xaf, 0x0b, 0x74, 0x27, 0x5f, 0xa0, 0xd6, 0xf3, 0x05, 0x9a, 0xa1, 0x03, 0xda, 0x44, 0x87, 0x6a, 0x0e, 0x1d, 0x72, 0x45, 0xb0, 0xbb, 0x51, 0x04, 0xb5, 0x7c, 0x11, 0xbc, 0x79, 0x52, 0x04, 0x27, 0x4f, 0x88, 0x60, 0xef, 0x51, 0x11, 0xbc, 0x58, 0x13, 0xc1, 0x9a, 0x3b, 0xbf, 0x7e, 0x96, 0x3b, 0xef, 0xe7, 0xb9, 0x73, 0xca, 0xbc, 0x0e, 0x9e, 0x6d, 0x5e, 0xb1, 0x86, 0xf0, 0x73, 0x34, 0x84, 0xbb, 0xe8, 0x70, 0x14, 0xb9, 0x2e, 0x0b, 0xc3, 0x73, 0x36, 0x11, 0x92, 0x0d, 0x69, 0x18, 0x72, 0x7f, 0x0a, 0x96, 0x50, 0xb2, 0x73, 0x31, 0xfc, 0x2d, 0x3a, 0xfa, 0x99, 0x72, 0x2f, 0x92, 0x2c, 0x06, 0x7e, 0xa7, 0xd2, 0xd7, 0x9b, 0xbe, 0x84, 0x4d, 0xf9, 0x20, 0xfe, 0x1e, 0x1d, 0x67, 0x81, 0xc4, 0x16, 0xc9, 0x31, 0x6c, 0x7b, 0x04, 0xd5, 0x2c, 0x1a, 0x4a, 0xf1, 0xb0, 0x00, 0x35, 0x7c, 0x61, 0x58, 0xb4, 0x4c, 0x2c, 0x51, 0x18, 0x13, 0x49, 0xa1, 0x30, 0xab, 0xcd, 0x3e, 0xfe, 0xf2, 0xbf, 0xfa, 0xf8, 0xda, 0xaf, 0xd0, 0x2b, 0x78, 0x4d, 0x36, 0xf9, 0x3f, 0x58, 0xd5, 0xf9, 0x37, 0x7f, 0xbc, 0x9b, 0x72, 0x35, 0x8b, 0x6e, 0xf5, 0x1f, 0x9c, 0xce, 0x8c, 0x86, 0x33, 0xee, 0x0a, 0x19, 0x74, 0x5c, 0xe1, 0x87, 0x91, 0xd7, 0xf9, 0xec, 0xaf, 0xef, 0x6d, 0x19, 0x12, 0xef, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x33, 0x6c, 0x46, 0x9d, 0x14, 0x0b, 0x00, 0x00, }