From fe461a473fd3d8ad2e94c747bb56612e1d916fb1 Mon Sep 17 00:00:00 2001 From: Matt Brock Date: Thu, 7 Nov 2024 14:16:51 -0600 Subject: [PATCH 01/21] Adding Azure integration gRPC messages and RPC methods --- api/proto/teleport/legacy/types/types.proto | 10 + api/types/types.pb.go | 1082 +++++++++++------ .../v1alpha/access_graph_service.pb.go | 693 +++++++---- .../v1alpha/access_graph_service_grpc.pb.go | 33 + gen/proto/go/accessgraph/v1alpha/azure.pb.go | 941 ++++++++++++++ .../v1alpha/access_graph_service.proto | 20 + proto/accessgraph/v1alpha/azure.proto | 98 ++ 7 files changed, 2265 insertions(+), 612 deletions(-) create mode 100644 gen/proto/go/accessgraph/v1alpha/azure.pb.go create mode 100644 proto/accessgraph/v1alpha/azure.proto diff --git a/api/proto/teleport/legacy/types/types.proto b/api/proto/teleport/legacy/types/types.proto index 4b82464d670b3..14b94cfdd5de2 100644 --- a/api/proto/teleport/legacy/types/types.proto +++ b/api/proto/teleport/legacy/types/types.proto @@ -7795,6 +7795,8 @@ message OktaOptions { message AccessGraphSync { // AWS is a configuration for AWS Access Graph service poll service. repeated AccessGraphAWSSync AWS = 1 [(gogoproto.jsontag) = "aws,omitempty"]; + // Azure is a configuration for the Azure Access Graph service poll service. + repeated AccessGraphAzureSync Azure = 2 [(gogoproto.jsontag) = "azure,omitempty"]; // PollInterval is the frequency at which to poll for AWS resources google.protobuf.Duration PollInterval = 2 [ (gogoproto.jsontag) = "poll_interval,omitempty", @@ -7812,3 +7814,11 @@ message AccessGraphAWSSync { // Integration is the integration name used to generate credentials to interact with AWS APIs. string Integration = 4 [(gogoproto.jsontag) = "integration,omitempty"]; } + +// AccessGraphAzureSync is a configuration for Azure Access Graph service poll service. +message AccessGraphAzureSync { + repeated string Regions = 1 [(gogoproto.jsontag) = "regions,omitempty"]; + string SubscriptionID = 2 [(gogoproto.jsontag) = "regions,omitempty"]; + string UmiClientId = 3 [(gogoproto.jsontag) = "regions,omitempty"]; + string Integration = 4 [(gogoproto.jsontag) = "integration,omitempty"]; +} diff --git a/api/types/types.pb.go b/api/types/types.pb.go index 28a9c3f94e10e..7254d5718bed8 100644 --- a/api/types/types.pb.go +++ b/api/types/types.pb.go @@ -20783,6 +20783,50 @@ func (m *AccessGraphAWSSync) XXX_DiscardUnknown() { var xxx_messageInfo_AccessGraphAWSSync proto.InternalMessageInfo +// AccessGraphAzureSync is a configuration for Azure Access Graph service poll service. +type AccessGraphAzureSync struct { + Regions []string `protobuf:"bytes,1,rep,name=Regions,proto3" json:"regions,omitempty"` + SubscriptionID string `protobuf:"bytes,2,opt,name=SubscriptionID,proto3" json:"regions,omitempty"` + UmiClientId string `protobuf:"bytes,3,opt,name=UmiClientId,proto3" json:"regions,omitempty"` + Integration string `protobuf:"bytes,4,opt,name=Integration,proto3" json:"integration,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AccessGraphAzureSync) Reset() { *m = AccessGraphAzureSync{} } +func (m *AccessGraphAzureSync) String() string { return proto.CompactTextString(m) } +func (*AccessGraphAzureSync) ProtoMessage() {} +func (*AccessGraphAzureSync) Descriptor() ([]byte, []int) { + return fileDescriptor_9198ee693835762e, []int{359} +} +func (m *AccessGraphAzureSync) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AccessGraphAzureSync) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AccessGraphAzureSync.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *AccessGraphAzureSync) XXX_Merge(src proto.Message) { + xxx_messageInfo_AccessGraphAzureSync.Merge(m, src) +} +func (m *AccessGraphAzureSync) XXX_Size() int { + return m.Size() +} +func (m *AccessGraphAzureSync) XXX_DiscardUnknown() { + xxx_messageInfo_AccessGraphAzureSync.DiscardUnknown(m) +} + +var xxx_messageInfo_AccessGraphAzureSync proto.InternalMessageInfo + func init() { proto.RegisterEnum("types.IAMPolicyStatus", IAMPolicyStatus_name, IAMPolicyStatus_value) proto.RegisterEnum("types.DatabaseTLSMode", DatabaseTLSMode_name, DatabaseTLSMode_value) @@ -21207,12 +21251,13 @@ func init() { proto.RegisterType((*OktaOptions)(nil), "types.OktaOptions") proto.RegisterType((*AccessGraphSync)(nil), "types.AccessGraphSync") proto.RegisterType((*AccessGraphAWSSync)(nil), "types.AccessGraphAWSSync") + proto.RegisterType((*AccessGraphAzureSync)(nil), "types.AccessGraphAzureSync") } func init() { proto.RegisterFile("teleport/legacy/types/types.proto", fileDescriptor_9198ee693835762e) } var fileDescriptor_9198ee693835762e = []byte{ - // 29447 bytes of a gzipped FileDescriptorProto + // 29395 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xfd, 0x6b, 0x70, 0x1c, 0x59, 0x76, 0x20, 0x06, 0x77, 0x55, 0xe1, 0x51, 0x38, 0x78, 0x15, 0x2e, 0x40, 0x12, 0x44, 0x37, 0xbb, 0xd8, 0xd9, 0xdd, 0x6c, 0x76, 0x4f, 0x37, 0x39, 0x04, 0xa7, 0x39, 0xd3, 0xd3, 0xaf, 0x29, 0x3c, @@ -22692,368 +22737,365 @@ var fileDescriptor_9198ee693835762e = []byte{ 0xce, 0xea, 0x91, 0x2a, 0xf5, 0xd1, 0x9a, 0x6e, 0x84, 0x3e, 0xef, 0xb7, 0xe3, 0xcf, 0x4b, 0x09, 0x77, 0x6c, 0x35, 0xbd, 0xae, 0xb3, 0xee, 0x27, 0x8a, 0xa8, 0xff, 0xd2, 0xfe, 0x22, 0x9c, 0xa2, 0xc9, 0xb7, 0x13, 0xb8, 0x9d, 0xdd, 0x84, 0x9d, 0x6c, 0xe8, 0x2b, 0x59, 0xec, 0xe4, 0xac, 0xbc, - 0xf1, 0xff, 0xb1, 0x77, 0x35, 0x31, 0x6e, 0x24, 0xd7, 0x79, 0x9a, 0xe4, 0xcc, 0x70, 0x1e, 0xe7, - 0xa7, 0xa7, 0xa4, 0x95, 0x66, 0x67, 0xf4, 0xdb, 0xfa, 0xb1, 0x44, 0x79, 0xd7, 0x96, 0x36, 0xf6, - 0xae, 0xd6, 0x59, 0xaf, 0x7b, 0xc8, 0xe6, 0x4c, 0x4b, 0xfc, 0x73, 0x37, 0x39, 0x63, 0xed, 0xda, - 0xee, 0x50, 0x64, 0xcf, 0x0c, 0x63, 0x0e, 0x49, 0xb3, 0x49, 0xc9, 0x5a, 0x04, 0x48, 0x8c, 0x00, - 0x36, 0x90, 0x3f, 0x27, 0x4e, 0x80, 0x2c, 0x82, 0x00, 0x39, 0x64, 0x11, 0xe4, 0x90, 0x6b, 0x90, - 0x20, 0xc9, 0xc5, 0xb7, 0x05, 0x0c, 0x03, 0x06, 0x92, 0x53, 0x02, 0x2c, 0x92, 0x05, 0x92, 0x43, - 0x92, 0x5b, 0x10, 0x1f, 0x7c, 0x0a, 0xea, 0x55, 0x55, 0x77, 0xf5, 0x0f, 0xa9, 0xd1, 0x6a, 0x37, - 0x89, 0x01, 0x9f, 0xc8, 0x7e, 0xf5, 0xaa, 0xba, 0xba, 0x7e, 0xdf, 0x7b, 0x55, 0xef, 0x7b, 0x94, - 0xdf, 0x2f, 0xf5, 0x54, 0x2b, 0x4e, 0xe4, 0xdf, 0xf0, 0xed, 0x94, 0x98, 0xea, 0x09, 0xd5, 0x49, - 0x18, 0xd6, 0x4a, 0xd2, 0xb0, 0x3e, 0xf9, 0x9c, 0xaa, 0x02, 0x91, 0x17, 0x2b, 0x66, 0xf5, 0xe4, - 0x17, 0xaa, 0x84, 0x9c, 0xce, 0x2b, 0x22, 0x2d, 0x0d, 0x36, 0x0b, 0xa6, 0xb9, 0xde, 0x8e, 0x92, - 0xc8, 0x16, 0x2c, 0xf9, 0xf1, 0xaa, 0xf9, 0xc6, 0x91, 0x65, 0x04, 0xb3, 0x43, 0x2e, 0xc1, 0x32, - 0x13, 0xc9, 0x43, 0x73, 0x0e, 0x90, 0xa6, 0xd3, 0x89, 0x27, 0xda, 0x40, 0x81, 0x4b, 0x4f, 0x6b, - 0x43, 0xb2, 0x0f, 0x67, 0xf0, 0x5a, 0x87, 0x37, 0xf0, 0xbb, 0xc1, 0x69, 0xb7, 0xda, 0x47, 0x2e, - 0x1f, 0xb5, 0x5a, 0x62, 0x67, 0x0c, 0x87, 0xb6, 0x5d, 0x93, 0xfa, 0x61, 0x38, 0xb4, 0xbd, 0x81, - 0x78, 0x2e, 0xd0, 0xec, 0xbc, 0x0e, 0x1d, 0xd8, 0x9a, 0x91, 0x53, 0x5a, 0x38, 0x14, 0x79, 0xe1, - 0xb8, 0x01, 0xea, 0x81, 0xdb, 0xa1, 0x32, 0xb1, 0xdb, 0xc1, 0xaa, 0x3d, 0xba, 0xc3, 0x22, 0xb4, - 0x5b, 0xab, 0x3e, 0xdd, 0xf6, 0x06, 0x7b, 0x77, 0xf8, 0x5b, 0x8e, 0xc5, 0x96, 0x27, 0xab, 0x15, - 0xe4, 0x65, 0x38, 0x15, 0x01, 0x1c, 0x09, 0x3c, 0xd8, 0xad, 0x75, 0x9a, 0x14, 0x86, 0xa7, 0xba, - 0x0c, 0xcb, 0x62, 0x54, 0x8c, 0x7c, 0x3f, 0x38, 0x2b, 0xc7, 0x69, 0x74, 0xd6, 0xf1, 0xd7, 0x4d, - 0xc4, 0x47, 0x25, 0x6a, 0x24, 0x27, 0x90, 0xa5, 0xc9, 0x4b, 0x40, 0x7c, 0xb9, 0xdd, 0x5f, 0x28, - 0xf8, 0x0b, 0xd7, 0x45, 0x8a, 0x3f, 0xc3, 0xf9, 0x6b, 0xff, 0x2e, 0x05, 0xa7, 0x12, 0x54, 0x19, - 0xaa, 0x04, 0x74, 0xfb, 0x63, 0xf7, 0x90, 0xa9, 0x10, 0xf2, 0x47, 0xae, 0x49, 0x74, 0x6e, 0x9f, - 0x5a, 0x60, 0x11, 0xc8, 0xf9, 0xbb, 0xf8, 0x13, 0x5d, 0x3c, 0x5a, 0x23, 0x61, 0x7a, 0xa1, 0x7f, - 0x89, 0x09, 0xeb, 0x18, 0x56, 0xc1, 0xeb, 0x0e, 0x30, 0x3a, 0x03, 0x0a, 0x21, 0x99, 0x90, 0xb2, - 0x83, 0xb5, 0xa8, 0x4b, 0x4c, 0x54, 0x0a, 0xb1, 0xd4, 0x61, 0x84, 0x42, 0xbe, 0x00, 0x9b, 0xd2, - 0x5e, 0xe3, 0x44, 0x66, 0x1e, 0xde, 0x74, 0xb7, 0xce, 0xb6, 0xfc, 0x5d, 0xa7, 0x18, 0x9a, 0x83, - 0xdb, 0x70, 0x01, 0x3b, 0xb1, 0xdb, 0x19, 0x3a, 0xb1, 0x38, 0x1c, 0xf8, 0xa9, 0x0c, 0xb8, 0x7e, - 0x93, 0x72, 0x99, 0x9d, 0x61, 0x24, 0x24, 0x07, 0xfd, 0x6a, 0xde, 0x7c, 0x6f, 0xc3, 0x0b, 0x89, - 0x35, 0xa6, 0x1b, 0x0c, 0x5e, 0xa4, 0x0a, 0x64, 0xa3, 0x45, 0xfa, 0x4c, 0x85, 0xa3, 0xcb, 0xb0, - 0xfc, 0xd0, 0x6d, 0x8d, 0xdc, 0x11, 0xdf, 0xb9, 0xf9, 0x90, 0x60, 0x34, 0x79, 0xe3, 0xee, 0x84, - 0xbb, 0x86, 0xdb, 0x8c, 0x48, 0x05, 0x4e, 0xb1, 0x1d, 0xb0, 0x7b, 0x8c, 0xc2, 0x20, 0xb7, 0x33, - 0x29, 0x21, 0x71, 0x08, 0xb3, 0xe0, 0xd6, 0x64, 0x22, 0x17, 0xcb, 0x6d, 0xad, 0x1f, 0x46, 0x49, - 0x74, 0x46, 0x9f, 0x49, 0xe6, 0x26, 0xdb, 0x90, 0x63, 0x85, 0x33, 0xb5, 0x80, 0x1d, 0x10, 0x5c, - 0x9e, 0xf9, 0x86, 0x02, 0xde, 0x2f, 0xf6, 0xfc, 0xff, 0x74, 0xbf, 0xc6, 0xb3, 0x58, 0xe7, 0x58, - 0x3e, 0xff, 0xb0, 0x96, 0x91, 0xc8, 0xcf, 0x3d, 0xb4, 0xbf, 0x57, 0xc4, 0xa7, 0x86, 0x94, 0x63, - 0x3a, 0xb4, 0x3c, 0xb7, 0x2f, 0xce, 0x80, 0x96, 0x2c, 0xfe, 0xf4, 0x8c, 0x43, 0x9d, 0xbc, 0x0a, - 0xcb, 0xb4, 0xd8, 0xc3, 0x49, 0x9f, 0x0d, 0xb9, 0x74, 0x08, 0x68, 0xa7, 0xc2, 0x92, 0x68, 0xb7, - 0xed, 0xce, 0x59, 0xb9, 0xe3, 0xe0, 0x91, 0x4a, 0xcb, 0xde, 0xf1, 0x78, 0x28, 0x0f, 0x54, 0x61, - 0x28, 0xb4, 0x2b, 0x8d, 0x3a, 0xcf, 0x92, 0xa5, 0x3c, 0x81, 0xb4, 0xbc, 0xbd, 0xc0, 0x4c, 0x85, - 0xda, 0x2d, 0xc8, 0x49, 0x65, 0xd3, 0x8f, 0x61, 0x9e, 0x33, 0xe2, 0x63, 0xd8, 0x13, 0xef, 0xec, - 0x87, 0x90, 0x15, 0x45, 0x52, 0xb5, 0xe0, 0x68, 0xe0, 0x89, 0x49, 0x8e, 0xff, 0x29, 0x8d, 0xb6, - 0x32, 0x7e, 0xe4, 0xbc, 0x85, 0xff, 0x71, 0x2f, 0x19, 0xb7, 0xa8, 0x3e, 0xd0, 0xf3, 0x9c, 0x21, - 0xde, 0xc0, 0xf2, 0x85, 0x67, 0x4a, 0x6f, 0xf4, 0x3c, 0x76, 0x2f, 0x8b, 0xbf, 0xe3, 0xaf, 0xfd, - 0x4d, 0x38, 0x62, 0x4d, 0x98, 0xb6, 0x66, 0x86, 0xb6, 0x8c, 0x54, 0x7c, 0xcb, 0x60, 0x00, 0x2a, - 0x3c, 0x27, 0x7b, 0x33, 0x20, 0x0d, 0xb7, 0x0c, 0x69, 0x65, 0xc8, 0x84, 0x56, 0x06, 0x49, 0x27, - 0x0f, 0x7a, 0x8f, 0xed, 0x38, 0x42, 0x27, 0x8f, 0xae, 0x53, 0x7f, 0x96, 0x12, 0x26, 0x82, 0xed, - 0xc1, 0x60, 0xec, 0x8d, 0x47, 0xad, 0x61, 0xc8, 0x14, 0x4a, 0x8e, 0xe1, 0x45, 0x94, 0xa0, 0xef, - 0x60, 0x08, 0x8b, 0xc1, 0x48, 0x60, 0x76, 0xf8, 0x23, 0x37, 0x77, 0xe7, 0x33, 0x61, 0x19, 0x5f, - 0xa7, 0xdc, 0xba, 0xcc, 0x4c, 0x07, 0xac, 0x54, 0xea, 0xee, 0x9c, 0x75, 0x96, 0x95, 0x19, 0xe3, - 0x22, 0xbb, 0x09, 0x93, 0x38, 0x6a, 0x0b, 0xdd, 0x0e, 0x66, 0x74, 0xb8, 0x54, 0x79, 0xae, 0x93, - 0x2f, 0xc2, 0x52, 0xb7, 0x23, 0x47, 0x6a, 0x8c, 0x5a, 0xe1, 0xcc, 0x0e, 0x43, 0x8b, 0x0e, 0xca, - 0xa0, 0x63, 0xae, 0xcb, 0xa9, 0xdb, 0x2b, 0x21, 0xa3, 0xb1, 0xb6, 0x2d, 0xb4, 0xd1, 0x78, 0x36, - 0xb2, 0x0a, 0x29, 0xbf, 0x87, 0x53, 0xdd, 0x0e, 0x9b, 0x5e, 0x01, 0x5e, 0xb5, 0xc5, 0x9f, 0xb4, - 0x5f, 0x81, 0x1b, 0x27, 0x6d, 0x23, 0x3a, 0x15, 0xa7, 0x34, 0xf8, 0x92, 0xb5, 0xde, 0x8a, 0xb5, - 0xdb, 0x65, 0x90, 0xe1, 0x76, 0xbb, 0x62, 0xf1, 0x13, 0xb4, 0xe6, 0xa8, 0xab, 0xfd, 0x55, 0x1a, - 0x56, 0xc3, 0x66, 0x72, 0x72, 0x0b, 0x32, 0xd2, 0x0a, 0x74, 0x36, 0xc1, 0x96, 0x8e, 0xeb, 0x0e, - 0x32, 0x9d, 0x68, 0xc5, 0x21, 0xf7, 0x60, 0x15, 0x2f, 0xee, 0xa1, 0xe8, 0x39, 0xee, 0xf2, 0xc3, - 0x97, 0xd9, 0xe7, 0x67, 0xd9, 0xf7, 0x3f, 0xb8, 0x38, 0x87, 0x47, 0x65, 0xcb, 0x34, 0x2f, 0x95, - 0xfe, 0x68, 0xa2, 0x64, 0x05, 0xcd, 0x4c, 0xb7, 0x82, 0xf2, 0x4f, 0x99, 0x62, 0x05, 0x9d, 0x9f, - 0x61, 0x05, 0x0d, 0x72, 0xca, 0x56, 0x50, 0xb4, 0x85, 0x2f, 0x4e, 0xb3, 0x85, 0x07, 0x79, 0x98, - 0x2d, 0x3c, 0xb0, 0x62, 0x66, 0xa7, 0x5a, 0x31, 0x83, 0x3c, 0xdc, 0x8a, 0x79, 0x95, 0xb7, 0xd1, - 0xa8, 0xf5, 0xd8, 0xc1, 0xc6, 0xe3, 0xdb, 0x22, 0x7e, 0xbd, 0xd5, 0x7a, 0x8c, 0x97, 0x6b, 0xb6, - 0x97, 0x40, 0xdc, 0xc8, 0xd1, 0x7e, 0x5f, 0x89, 0x58, 0x02, 0x45, 0xff, 0x5d, 0x83, 0x55, 0xb6, - 0x59, 0xb9, 0x1d, 0x49, 0xd7, 0x5c, 0xb1, 0x56, 0x04, 0x95, 0xe9, 0x9b, 0x9f, 0x82, 0x35, 0x9f, - 0x8d, 0xab, 0x5c, 0xe8, 0xa9, 0x67, 0xf9, 0xb9, 0x39, 0xec, 0xcc, 0x2d, 0x58, 0xf7, 0x19, 0xb9, - 0x35, 0x87, 0xa9, 0x9b, 0x2b, 0x96, 0x2a, 0x12, 0xea, 0x9c, 0xae, 0x1d, 0x46, 0x35, 0x8f, 0x4f, - 0xa8, 0x56, 0xda, 0x0f, 0xd2, 0x21, 0x2b, 0x89, 0x78, 0x0d, 0xdd, 0x45, 0xbd, 0x81, 0xc3, 0x1b, - 0x89, 0xaf, 0x45, 0x97, 0xa7, 0xf4, 0x19, 0xbf, 0xd3, 0x64, 0xdb, 0x35, 0x0b, 0x3c, 0x6f, 0x20, - 0xae, 0x38, 0x39, 0x4c, 0xa2, 0x66, 0xfb, 0x3e, 0x8e, 0x59, 0x51, 0x1c, 0x5b, 0x78, 0xf2, 0xb3, - 0x8b, 0x13, 0x6a, 0x2a, 0x1d, 0xb2, 0x28, 0x59, 0xfb, 0x4f, 0xe2, 0x05, 0x4d, 0x40, 0xa3, 0xa2, - 0x17, 0x2e, 0x3c, 0x9d, 0xa0, 0x3b, 0xc5, 0x0a, 0xc7, 0x56, 0xc2, 0x92, 0xd5, 0x89, 0xf8, 0x2b, - 0x8a, 0x35, 0x60, 0x19, 0x6d, 0x14, 0xa2, 0xc0, 0x4c, 0x82, 0x09, 0x3e, 0xfe, 0xf1, 0x05, 0xb3, - 0x62, 0xe5, 0x68, 0x3e, 0x51, 0xcc, 0x11, 0xbc, 0x28, 0x5b, 0x16, 0xc2, 0x95, 0x9c, 0x17, 0x28, - 0xba, 0x33, 0x5b, 0x20, 0x30, 0x40, 0x60, 0x55, 0xcf, 0xb4, 0xc2, 0x04, 0xce, 0xa6, 0x1d, 0xc1, - 0xe6, 0xf4, 0x2e, 0x99, 0x11, 0xa1, 0x29, 0xd8, 0x40, 0x53, 0xf2, 0x06, 0x2a, 0xdb, 0x19, 0xd2, - 0x21, 0x3b, 0x83, 0xf6, 0xa7, 0x69, 0xb8, 0x72, 0x82, 0xee, 0x9a, 0xf1, 0xce, 0x2f, 0x85, 0xc5, - 0xb3, 0x54, 0x48, 0x33, 0xa4, 0x85, 0xf2, 0x05, 0x92, 0x6a, 0xa9, 0xc9, 0xc2, 0xd9, 0x2f, 0xc1, - 0x1a, 0x5b, 0x05, 0xd9, 0xb5, 0xc4, 0x83, 0x49, 0xef, 0x04, 0xcb, 0xe0, 0x96, 0xf0, 0xa1, 0x8a, - 0x64, 0xc5, 0x95, 0x11, 0x57, 0x0c, 0xdb, 0xa7, 0x91, 0x06, 0xe4, 0x90, 0xed, 0xa0, 0xd5, 0xed, - 0x9d, 0xc8, 0x99, 0x47, 0x78, 0x68, 0xc9, 0xd9, 0xd8, 0x6d, 0x6a, 0x4a, 0x28, 0xe1, 0x33, 0xb9, - 0x0e, 0x6b, 0xfd, 0xc9, 0x31, 0x15, 0x3c, 0xd8, 0x58, 0xe0, 0xb7, 0x3f, 0xe6, 0xad, 0x95, 0xfe, - 0xe4, 0x58, 0x1f, 0x0e, 0xb1, 0x4b, 0xf1, 0x9a, 0xc8, 0x3a, 0xe5, 0x63, 0xb3, 0x56, 0x70, 0x2e, - 0x20, 0x27, 0x2d, 0x80, 0xcd, 0x5b, 0xce, 0x7b, 0x1a, 0xd8, 0xa5, 0x41, 0x1e, 0xa1, 0x8a, 0x3d, - 0x68, 0x3f, 0x49, 0x09, 0x7d, 0x77, 0xfa, 0xb8, 0xff, 0x79, 0x17, 0x25, 0x74, 0xd1, 0x0d, 0x50, - 0x69, 0xd3, 0x07, 0x8b, 0x8a, 0xdf, 0x47, 0xab, 0xfd, 0xc9, 0xb1, 0xdf, 0x76, 0x72, 0xc3, 0x2f, - 0xc8, 0x0d, 0xff, 0xaa, 0xd0, 0x87, 0x13, 0x97, 0x87, 0xe9, 0x4d, 0xae, 0xfd, 0x67, 0x1a, 0xae, - 0x9f, 0x6c, 0x11, 0xf8, 0x79, 0xbf, 0x25, 0xf4, 0x5b, 0xc4, 0x74, 0x3a, 0x1f, 0x33, 0x9d, 0x26, - 0xcc, 0xbd, 0x85, 0xa4, 0xb9, 0x17, 0x33, 0xd4, 0x2e, 0x26, 0x18, 0x6a, 0x13, 0x27, 0x68, 0xf6, - 0x29, 0x13, 0x74, 0x49, 0x1e, 0x27, 0xff, 0xe6, 0x1b, 0x30, 0xc2, 0xfa, 0xc0, 0xdb, 0x70, 0x4a, - 0xe8, 0x03, 0x6c, 0xe7, 0x08, 0xec, 0xef, 0xb9, 0x3b, 0x37, 0x93, 0x34, 0x01, 0x64, 0x4b, 0x90, - 0xd6, 0xd7, 0xb9, 0x0e, 0x10, 0xa4, 0xff, 0xff, 0x91, 0xfe, 0xc9, 0x03, 0x38, 0x83, 0xf8, 0xee, - 0x6d, 0xf9, 0xe4, 0xc0, 0x19, 0xb9, 0x07, 0x7c, 0x3c, 0x5c, 0x8e, 0xc9, 0xca, 0xdd, 0xb6, 0x54, - 0x1d, 0xcb, 0x3d, 0xd8, 0x9d, 0xb3, 0x4e, 0x7b, 0x09, 0xf4, 0xa8, 0x62, 0xf1, 0x17, 0x0a, 0x68, - 0x4f, 0x6f, 0x2f, 0x34, 0x54, 0x45, 0x1b, 0x7c, 0xc9, 0xca, 0xb5, 0xa4, 0xd6, 0xbb, 0x02, 0x2b, - 0x23, 0xf7, 0x60, 0xe4, 0x7a, 0x47, 0x21, 0x0b, 0xc8, 0x32, 0x27, 0x8a, 0x86, 0x11, 0x28, 0x93, - 0xcf, 0x24, 0x99, 0x8b, 0x4c, 0x5a, 0xc9, 0xd7, 0x17, 0x13, 0xfb, 0x81, 0x8e, 0x26, 0xb9, 0x82, - 0xec, 0xe1, 0x5e, 0x26, 0x9b, 0x52, 0xd3, 0x16, 0xc7, 0xc2, 0x3c, 0xe8, 0xf6, 0x5c, 0xed, 0x6f, - 0x14, 0x21, 0x11, 0x24, 0x35, 0x1e, 0x79, 0x5b, 0xba, 0xcc, 0x9b, 0x8e, 0x89, 0x21, 0x49, 0x59, - 0xe4, 0x7b, 0x8f, 0x1c, 0x9e, 0x11, 0x09, 0x21, 0x78, 0x46, 0xa4, 0x3c, 0xc7, 0x8d, 0x44, 0xae, - 0x35, 0xdf, 0x15, 0x37, 0x82, 0xe8, 0x9a, 0xb7, 0x77, 0x9b, 0xdc, 0x84, 0x45, 0x76, 0x09, 0x48, - 0x54, 0x77, 0x2d, 0x54, 0xdd, 0xbd, 0xdb, 0x96, 0x48, 0xd7, 0xde, 0xf5, 0xcf, 0xb5, 0x62, 0x1f, - 0xb1, 0x77, 0x9b, 0xbc, 0x7a, 0xb2, 0xcb, 0xb9, 0x59, 0x71, 0x39, 0xd7, 0xbf, 0x98, 0xfb, 0x5a, - 0xe8, 0x62, 0xee, 0xd5, 0xd9, 0xad, 0xc5, 0x4f, 0x23, 0x19, 0x1c, 0x61, 0x00, 0x53, 0xf5, 0x13, - 0x05, 0xce, 0xcf, 0xcc, 0x41, 0xce, 0x41, 0x56, 0xaf, 0x9b, 0x8d, 0xa0, 0x7f, 0xe9, 0x9c, 0x11, - 0x14, 0xb2, 0x03, 0x4b, 0xdb, 0x2d, 0xaf, 0xdb, 0xa6, 0xc3, 0x38, 0xf1, 0x78, 0x20, 0x56, 0xac, - 0xcf, 0xbe, 0x3b, 0x67, 0x05, 0x79, 0x89, 0x03, 0xeb, 0x38, 0x17, 0x42, 0xa1, 0x9f, 0xd2, 0x09, - 0xb6, 0x86, 0x58, 0x81, 0xb1, 0x6c, 0x74, 0x9d, 0x89, 0x11, 0xa3, 0x53, 0xf0, 0x91, 0x90, 0x45, - 0xa6, 0x57, 0xf0, 0x19, 0x70, 0x55, 0x6f, 0x40, 0xb6, 0x2e, 0xee, 0x09, 0x48, 0xb7, 0xd9, 0xc5, - 0x9d, 0x00, 0xcb, 0x4f, 0xd5, 0x7e, 0x4b, 0x11, 0x06, 0x81, 0xa7, 0x7f, 0x88, 0x14, 0x35, 0xab, - 0x33, 0x3b, 0x6a, 0x56, 0xe7, 0x23, 0x46, 0xcd, 0xd2, 0xfe, 0x9c, 0xa3, 0x9e, 0x9b, 0x9d, 0x7a, - 0xc4, 0x32, 0xfb, 0xbc, 0x5e, 0x09, 0x46, 0x68, 0x74, 0x5e, 0x91, 0xa2, 0x2e, 0xc6, 0xdf, 0x35, - 0xdd, 0x39, 0x41, 0x1a, 0xaa, 0x7f, 0x98, 0x86, 0x73, 0xb3, 0xb2, 0x27, 0xc6, 0x75, 0x56, 0x9e, - 0x2d, 0xae, 0xf3, 0x4d, 0xc8, 0x32, 0x9a, 0x7f, 0xe5, 0x1e, 0x1b, 0x9c, 0x67, 0xa5, 0x0d, 0x2e, - 0x92, 0xc9, 0x15, 0x58, 0xd0, 0x0b, 0x76, 0x10, 0x6a, 0x0c, 0xef, 0xc6, 0xb6, 0xda, 0x1e, 0xde, - 0xba, 0xe4, 0x49, 0xe4, 0xeb, 0xf1, 0xe8, 0x7a, 0x3c, 0xc6, 0xd8, 0x96, 0xd4, 0x20, 0xb1, 0x80, - 0x04, 0x58, 0xdf, 0x00, 0x40, 0x9f, 0x63, 0x52, 0x5b, 0xf1, 0x48, 0x7d, 0x1a, 0x2c, 0xd4, 0x47, - 0xae, 0xe7, 0x8e, 0xe5, 0x7b, 0xab, 0x43, 0xa4, 0x58, 0x3c, 0x85, 0xdf, 0x2a, 0x6d, 0x3d, 0x61, - 0x20, 0x02, 0x0b, 0x32, 0xb0, 0x0b, 0x5e, 0x43, 0xa5, 0x64, 0x4b, 0x62, 0xa1, 0x19, 0xca, 0xad, - 0x49, 0xbf, 0x7d, 0xd4, 0xb4, 0xca, 0x5c, 0xd4, 0x60, 0x19, 0x7a, 0x48, 0xa5, 0x1f, 0xe8, 0x59, - 0x12, 0x8b, 0xf6, 0x5d, 0x05, 0x4e, 0x27, 0x7d, 0x07, 0x39, 0x07, 0x99, 0x7e, 0x62, 0x20, 0xc1, - 0x3e, 0xf3, 0x7d, 0xce, 0xd1, 0x5f, 0xe7, 0x60, 0x30, 0x3a, 0x6e, 0x8d, 0xe5, 0xdb, 0xbd, 0x12, - 0xd9, 0x02, 0xfa, 0x50, 0xc2, 0xff, 0xe4, 0xa2, 0x58, 0xa3, 0xd3, 0xb1, 0xd0, 0x83, 0xf8, 0xa3, - 0xe9, 0x00, 0x66, 0xa7, 0x5e, 0x1b, 0x32, 0x40, 0xfc, 0x57, 0x20, 0x43, 0xab, 0x15, 0x19, 0xbd, - 0x74, 0xfc, 0xe8, 0x95, 0x32, 0x67, 0x62, 0xb5, 0xf2, 0x5a, 0xc7, 0x3d, 0x0b, 0x99, 0xb5, 0x7d, - 0x58, 0x0d, 0x73, 0x10, 0x23, 0x0c, 0xa1, 0x9a, 0xbb, 0xa3, 0xf2, 0x92, 0xb6, 0x07, 0x03, 0xe6, - 0x61, 0xb2, 0xfd, 0xe2, 0x3f, 0x7e, 0x70, 0x11, 0xe8, 0x23, 0xcb, 0x93, 0x04, 0xb1, 0xaa, 0x7d, - 0x2f, 0x05, 0xa7, 0x03, 0xa7, 0x76, 0x31, 0x87, 0x7e, 0x66, 0x3d, 0x2c, 0xf5, 0x90, 0x07, 0xa0, - 0x10, 0xb4, 0xe2, 0x1f, 0x38, 0xc3, 0xf1, 0x68, 0x07, 0x36, 0xa6, 0xf1, 0x93, 0x5b, 0xb0, 0x84, - 0x38, 0x48, 0xc3, 0x56, 0xdb, 0x95, 0xd7, 0xbe, 0xbe, 0x20, 0x5a, 0x41, 0xba, 0xf6, 0x23, 0x05, - 0x36, 0xb9, 0x5f, 0x44, 0xa5, 0xd5, 0xed, 0xa3, 0x59, 0xbd, 0xed, 0x7e, 0x3c, 0x1e, 0xc2, 0x3b, - 0xa1, 0x75, 0xec, 0x5a, 0xd8, 0xfd, 0x25, 0xf6, 0xb6, 0xe9, 0x5f, 0x4b, 0x6e, 0x22, 0xb6, 0x17, - 0x3f, 0x76, 0xce, 0x30, 0x44, 0x86, 0x3e, 0x25, 0xc8, 0x88, 0x0c, 0xc8, 0xa1, 0xfd, 0x2a, 0x5c, - 0x98, 0xfd, 0x02, 0xf2, 0x35, 0x58, 0xc1, 0x60, 0x51, 0xcd, 0xe1, 0xe1, 0xa8, 0xd5, 0x71, 0x85, - 0x29, 0x4c, 0x98, 0x2f, 0xe5, 0x34, 0x06, 0x55, 0xc6, 0x11, 0x02, 0x0e, 0x31, 0x0c, 0x15, 0xcf, - 0x14, 0x72, 0x3e, 0x92, 0x4b, 0xd3, 0x7e, 0x4d, 0x01, 0x12, 0x2f, 0x83, 0x7c, 0x1e, 0x96, 0x9b, - 0x8d, 0x82, 0x3d, 0x6e, 0x8d, 0xc6, 0xbb, 0x83, 0xc9, 0x88, 0xe3, 0x84, 0x31, 0x87, 0xf1, 0x71, - 0xdb, 0x61, 0x07, 0x28, 0x47, 0x83, 0xc9, 0xc8, 0x0a, 0xf1, 0x61, 0x94, 0x23, 0xd7, 0xfd, 0x46, - 0xa7, 0xf5, 0x24, 0x1c, 0xe5, 0x88, 0xd3, 0x42, 0x51, 0x8e, 0x38, 0x4d, 0x7b, 0x4f, 0x81, 0x2d, - 0x71, 0x9b, 0xb0, 0x93, 0x50, 0x97, 0x02, 0xc2, 0xa2, 0x8c, 0x04, 0x30, 0xed, 0x2c, 0x91, 0x76, - 0x5d, 0x20, 0x07, 0x61, 0x05, 0x51, 0xb6, 0x65, 0x79, 0xc9, 0x97, 0x20, 0x63, 0x8f, 0x07, 0xc3, - 0x13, 0x40, 0x07, 0xa9, 0x7e, 0x8f, 0x8e, 0x07, 0x43, 0x2c, 0x02, 0x73, 0x6a, 0x2e, 0x9c, 0x96, - 0x2b, 0x27, 0x6a, 0x4c, 0x2a, 0xb0, 0xc8, 0x31, 0xe2, 0x22, 0x07, 0xf5, 0x33, 0xbe, 0x69, 0x7b, - 0x4d, 0xe0, 0x13, 0x71, 0x60, 0x54, 0x4b, 0x94, 0xa1, 0xfd, 0x8e, 0x02, 0x39, 0x2a, 0x6d, 0xa0, - 0x16, 0xf7, 0xbc, 0x43, 0x3a, 0x2c, 0x38, 0x8a, 0x7b, 0x27, 0x7e, 0xf1, 0x27, 0xda, 0x8d, 0x3f, - 0x07, 0x6b, 0x91, 0x0c, 0x44, 0x43, 0x64, 0x8a, 0x5e, 0xb7, 0xdd, 0x62, 0x41, 0x53, 0xd8, 0x9d, - 0x8d, 0x10, 0x4d, 0xfb, 0x0d, 0x05, 0x4e, 0x53, 0x9d, 0x9f, 0x9d, 0x73, 0x5a, 0x93, 0x9e, 0x98, - 0xef, 0x54, 0x82, 0x12, 0xd7, 0x52, 0x99, 0xd7, 0x3c, 0x93, 0xa0, 0x38, 0xcd, 0xf2, 0x53, 0xc9, - 0x2e, 0x64, 0xf9, 0xfe, 0xe2, 0x71, 0x3c, 0xd3, 0x0b, 0x92, 0x31, 0x21, 0x28, 0x98, 0x33, 0xd1, - 0x2f, 0xc1, 0x25, 0x8c, 0xe7, 0xb1, 0xfc, 0xdc, 0xda, 0x7f, 0x29, 0x70, 0x76, 0x4a, 0x1e, 0xf2, - 0x06, 0xcc, 0xa3, 0x47, 0x1f, 0xef, 0xbd, 0x73, 0x53, 0x5e, 0x31, 0x6e, 0x1f, 0xed, 0xdd, 0x66, - 0x1b, 0xd1, 0x31, 0x7d, 0xb0, 0x58, 0x2e, 0xf2, 0x36, 0x2c, 0xe9, 0x9d, 0x0e, 0x57, 0x67, 0x52, - 0x21, 0x75, 0x66, 0xca, 0x1b, 0x5f, 0xf6, 0xf9, 0x99, 0x3a, 0xc3, 0x7c, 0x4b, 0x3a, 0x1d, 0x87, - 0x7b, 0x2b, 0x06, 0xe5, 0x6d, 0xfe, 0x22, 0xac, 0x86, 0x99, 0x9f, 0xc9, 0xc1, 0xea, 0x5d, 0x05, - 0xd4, 0x70, 0x1d, 0x3e, 0x19, 0x64, 0xa5, 0xa4, 0x6e, 0x7e, 0xca, 0xa0, 0xfa, 0xbd, 0x14, 0xbc, - 0x90, 0xd8, 0xc2, 0xe4, 0x25, 0x58, 0xd0, 0x87, 0x43, 0xb3, 0xc8, 0x47, 0x15, 0x97, 0x90, 0xd0, - 0x4a, 0x1c, 0xd2, 0xf6, 0x18, 0x13, 0x79, 0x05, 0xb2, 0xec, 0x38, 0xbd, 0x28, 0x16, 0x1c, 0x84, - 0x8a, 0xe1, 0x67, 0xfd, 0x61, 0x64, 0x51, 0xc1, 0x48, 0x4a, 0xb0, 0xca, 0x41, 0x56, 0x2c, 0xf7, - 0xd0, 0xfd, 0x96, 0x0f, 0x71, 0x8f, 0x28, 0xfc, 0xc2, 0xf4, 0xec, 0x8c, 0x58, 0x9a, 0x0c, 0x33, - 0x12, 0xce, 0x45, 0xca, 0xa0, 0x62, 0x99, 0x72, 0x49, 0x0c, 0xde, 0x14, 0x61, 0x6f, 0x58, 0x25, - 0xa6, 0x94, 0x15, 0xcb, 0xe9, 0x77, 0x97, 0xee, 0x79, 0xdd, 0xc3, 0xfe, 0xb1, 0xdb, 0x1f, 0x7f, - 0x72, 0xdd, 0x15, 0xbc, 0xe3, 0x44, 0xdd, 0xf5, 0x07, 0x19, 0x36, 0x99, 0xa3, 0xd9, 0xa8, 0x44, - 0x23, 0x21, 0x5a, 0xa3, 0x44, 0x43, 0x95, 0x26, 0x0e, 0x23, 0x52, 0x84, 0x45, 0x06, 0xef, 0x22, - 0x66, 0xc6, 0xf9, 0xc4, 0x2a, 0x30, 0x9e, 0xbd, 0xdb, 0x4c, 0x7c, 0x61, 0xae, 0x85, 0x9e, 0x25, - 0xb2, 0x92, 0x3d, 0xc8, 0x15, 0x7a, 0x6e, 0xab, 0x3f, 0x19, 0x36, 0x4e, 0x76, 0xe4, 0xb8, 0xc1, - 0xbf, 0x65, 0xb9, 0xcd, 0xb2, 0xe1, 0x51, 0x25, 0xae, 0xe4, 0x72, 0x41, 0xa4, 0xe1, 0x7b, 0x1b, - 0x65, 0xd0, 0x52, 0xf9, 0xd9, 0x19, 0xed, 0x13, 0x25, 0x62, 0xbe, 0xb0, 0x2b, 0x1d, 0x77, 0x47, - 0x72, 0x60, 0xb5, 0xdc, 0xf2, 0xc6, 0x8d, 0x51, 0xab, 0xef, 0x21, 0x2c, 0xe4, 0x09, 0x60, 0xb3, - 0xb6, 0x44, 0xc8, 0x61, 0xb4, 0x31, 0x8e, 0xfd, 0xac, 0xcc, 0x82, 0x19, 0x2e, 0x8e, 0xca, 0x4b, - 0xa5, 0x6e, 0xbf, 0xd5, 0xeb, 0xbe, 0x23, 0x9c, 0x32, 0x99, 0xbc, 0x74, 0x20, 0x88, 0x56, 0x90, - 0xae, 0x7d, 0x35, 0xd6, 0x6f, 0xac, 0x96, 0x39, 0x58, 0xe4, 0x2e, 0xfb, 0xcc, 0x85, 0xbd, 0x6e, - 0x54, 0x8b, 0x66, 0x75, 0x47, 0x55, 0xc8, 0x2a, 0x40, 0xdd, 0xaa, 0x15, 0x0c, 0xdb, 0xa6, 0xcf, - 0x29, 0xfa, 0xcc, 0xfd, 0xdb, 0x4b, 0xcd, 0xb2, 0x9a, 0x96, 0x5c, 0xdc, 0x33, 0xda, 0x0f, 0x15, - 0x38, 0x93, 0xdc, 0x95, 0xa4, 0x01, 0x08, 0x72, 0xc0, 0x0f, 0x9f, 0x3f, 0x3f, 0xb3, 0xdf, 0x13, - 0xc9, 0x51, 0xb0, 0x84, 0x31, 0x73, 0xc2, 0x4f, 0x89, 0xc3, 0x22, 0xe6, 0xd5, 0xd7, 0xed, 0x58, - 0xa9, 0x6e, 0x47, 0x2b, 0xc0, 0xc6, 0xb4, 0x32, 0xc2, 0x9f, 0xba, 0x06, 0x39, 0xbd, 0x5e, 0x2f, - 0x9b, 0x05, 0xbd, 0x61, 0xd6, 0xaa, 0xaa, 0x42, 0x96, 0x60, 0x7e, 0xc7, 0xaa, 0x35, 0xeb, 0x6a, - 0x4a, 0xfb, 0xbe, 0x02, 0x2b, 0x66, 0x70, 0x4d, 0xeb, 0x79, 0x27, 0xdf, 0xeb, 0xa1, 0xc9, 0xb7, - 0xe1, 0xc3, 0x81, 0xf8, 0x2f, 0x38, 0xd1, 0xcc, 0xfb, 0x07, 0x05, 0xd6, 0x63, 0x79, 0x88, 0x0d, - 0x8b, 0xfa, 0xbe, 0x5d, 0x33, 0x8b, 0x05, 0x5e, 0xb3, 0x8b, 0xc1, 0xfd, 0x22, 0x8c, 0xf8, 0x14, - 0x7b, 0x0b, 0x73, 0xa1, 0x7d, 0xec, 0x39, 0x83, 0x6e, 0x47, 0x8a, 0xd6, 0xba, 0x3b, 0x67, 0x89, - 0x92, 0x70, 0x27, 0x7b, 0x67, 0x32, 0x72, 0xb1, 0xd8, 0x54, 0xc8, 0x10, 0xea, 0xd3, 0xe3, 0x05, - 0xa3, 0xc3, 0x43, 0x8b, 0xa6, 0xc7, 0x8b, 0x0e, 0xca, 0xdb, 0x5e, 0x81, 0x1c, 0xd7, 0x5a, 0x50, - 0x21, 0xf8, 0x81, 0x02, 0x1b, 0xd3, 0xea, 0x4a, 0x15, 0xa1, 0xb0, 0x3f, 0xfd, 0x19, 0x3f, 0x82, - 0x43, 0xd8, 0x91, 0x5e, 0xb0, 0x91, 0x37, 0x21, 0x67, 0x7a, 0xde, 0xc4, 0x1d, 0xd9, 0xaf, 0x34, - 0x2d, 0x93, 0x0f, 0x90, 0xf3, 0xff, 0xfe, 0xc1, 0xc5, 0xb3, 0xe8, 0x96, 0x30, 0x72, 0xbc, 0x57, - 0x9c, 0xc9, 0xa8, 0x1b, 0x42, 0xbb, 0x97, 0x73, 0x50, 0xb9, 0xb5, 0x35, 0xe9, 0x74, 0x5d, 0x21, - 0xb5, 0x0b, 0x9f, 0x63, 0x4e, 0x93, 0x77, 0x11, 0x41, 0xd3, 0xbe, 0xa3, 0xc0, 0xe6, 0xf4, 0x86, - 0xa1, 0x3b, 0x53, 0x83, 0xdd, 0xfa, 0x11, 0x5e, 0xbf, 0xb8, 0x33, 0xf9, 0x57, 0x83, 0xe4, 0x32, - 0x05, 0x23, 0xcd, 0xe4, 0x47, 0x4f, 0x4f, 0xc5, 0x42, 0x26, 0x87, 0x33, 0x09, 0x46, 0xed, 0x3f, - 0x52, 0x70, 0x86, 0x0e, 0xba, 0x9e, 0xeb, 0x79, 0xfa, 0x64, 0x7c, 0xe4, 0xf6, 0xc7, 0x5c, 0x0c, - 0x23, 0xaf, 0xc2, 0xc2, 0xd1, 0xb3, 0x99, 0x1c, 0x19, 0x3b, 0x21, 0x80, 0x0b, 0xb9, 0x70, 0xb2, - 0xa0, 0xff, 0xc9, 0x65, 0x90, 0x83, 0x54, 0xa7, 0x11, 0x26, 0x33, 0xb5, 0xa1, 0x58, 0x4b, 0x43, - 0x3f, 0x9e, 0xec, 0x6b, 0x30, 0x8f, 0x66, 0x06, 0xbe, 0xa4, 0x0a, 0x51, 0x38, 0xb9, 0x76, 0x68, - 0x84, 0xb0, 0x58, 0x06, 0xf2, 0x19, 0x80, 0x20, 0xc2, 0x00, 0x5f, 0x33, 0x85, 0xfa, 0xed, 0x07, - 0x19, 0xb0, 0x96, 0x8e, 0x0f, 0x5a, 0x1c, 0xb6, 0x3f, 0x0f, 0xeb, 0xa2, 0x59, 0x86, 0x02, 0x5d, - 0x8f, 0x9f, 0x86, 0xad, 0xb1, 0x04, 0x73, 0x28, 0x10, 0xf6, 0xae, 0xc6, 0x02, 0xed, 0x22, 0xc8, - 0x6e, 0x24, 0x9a, 0xee, 0xd5, 0x58, 0x34, 0xdd, 0x2c, 0xe3, 0x92, 0x43, 0xe6, 0x6a, 0xff, 0x9a, - 0x82, 0xa5, 0x7d, 0x2a, 0xac, 0xa0, 0x0a, 0x3e, 0x5b, 0xa5, 0xbf, 0x03, 0xb9, 0xf2, 0xa0, 0xc5, - 0x8f, 0x1d, 0xb8, 0x6f, 0x02, 0xf3, 0x0d, 0xee, 0x0d, 0x5a, 0xe2, 0x04, 0xc3, 0xb3, 0x64, 0xa6, - 0xa7, 0xf8, 0x35, 0xdf, 0x83, 0x05, 0x76, 0x0c, 0xc4, 0xad, 0x4b, 0x42, 0x5c, 0xf5, 0x6b, 0xf4, - 0x32, 0x4b, 0x96, 0x2c, 0xe5, 0xec, 0x28, 0x49, 0x96, 0x9d, 0x38, 0x56, 0xa8, 0x64, 0x70, 0x98, - 0x3f, 0x99, 0xc1, 0x41, 0xc2, 0x44, 0x5b, 0x38, 0x09, 0x26, 0xda, 0xe6, 0x5d, 0xc8, 0x49, 0xf5, - 0x79, 0x26, 0xe9, 0xf5, 0xdb, 0x29, 0x58, 0xc1, 0xaf, 0xf2, 0xef, 0x84, 0xfc, 0x6c, 0x9a, 0x4f, - 0x5e, 0x0f, 0x99, 0x4f, 0x36, 0xe4, 0xfe, 0x62, 0x5f, 0x36, 0xc3, 0x6e, 0x72, 0x0f, 0xd6, 0x63, - 0x8c, 0xe4, 0x73, 0x30, 0x4f, 0xab, 0x2f, 0xd4, 0x4d, 0x35, 0x3a, 0x02, 0x02, 0xfc, 0x5c, 0xfa, - 0xe1, 0x9e, 0xc5, 0xb8, 0xb5, 0xff, 0x56, 0x60, 0x99, 0x87, 0xaf, 0xe8, 0x1f, 0x0c, 0x9e, 0xda, - 0x9c, 0xd7, 0xa3, 0xcd, 0xc9, 0x50, 0x3a, 0x78, 0x73, 0xfe, 0x6f, 0x37, 0xe2, 0xdd, 0x50, 0x23, - 0x9e, 0xf5, 0xd1, 0xf4, 0xc4, 0xe7, 0xcc, 0x68, 0xc3, 0xbf, 0x45, 0x7c, 0xd9, 0x30, 0x23, 0xf9, - 0x3a, 0x2c, 0x55, 0xdd, 0xc7, 0x21, 0xad, 0xed, 0xfa, 0x94, 0x42, 0x5f, 0xf6, 0x19, 0xd9, 0x9c, - 0xc2, 0x0d, 0xaf, 0xef, 0x3e, 0x76, 0x62, 0x27, 0x50, 0x41, 0x91, 0x54, 0x71, 0x0b, 0x67, 0x7b, - 0x96, 0xa1, 0xcf, 0x1d, 0x25, 0x11, 0x78, 0xe6, 0xbb, 0x69, 0x80, 0xc0, 0xc7, 0x8c, 0x4e, 0xc0, - 0xd0, 0xe1, 0xbb, 0x30, 0x78, 0x23, 0x49, 0x1e, 0xe3, 0xe2, 0x4c, 0xfe, 0x3a, 0x37, 0xcc, 0xa6, - 0xa6, 0xa3, 0x1d, 0xa2, 0x89, 0xb6, 0xc0, 0x9d, 0x9a, 0x3a, 0x6e, 0xaf, 0xc5, 0xd6, 0xf6, 0xf4, - 0xf6, 0x55, 0x04, 0xb7, 0xf5, 0xa9, 0x53, 0xe2, 0x10, 0xa3, 0xeb, 0x53, 0x91, 0x32, 0xc4, 0xfc, - 0x36, 0x33, 0xcf, 0xe6, 0xb7, 0x59, 0x87, 0xa5, 0x6e, 0xff, 0x91, 0xdb, 0x1f, 0x0f, 0x46, 0x4f, - 0xd0, 0x1a, 0x1d, 0x98, 0xb9, 0x68, 0x13, 0x98, 0x22, 0x8d, 0xf5, 0x03, 0x6e, 0x8c, 0x3e, 0xbf, - 0xdc, 0x0d, 0x3e, 0xd1, 0xf7, 0x3b, 0x9d, 0x57, 0x17, 0xee, 0x65, 0xb2, 0x0b, 0xea, 0xe2, 0xbd, - 0x4c, 0x36, 0xab, 0x2e, 0xdd, 0xcb, 0x64, 0x97, 0x54, 0xb0, 0xa4, 0xf3, 0x1d, 0xff, 0xfc, 0x46, - 0x3a, 0x72, 0x09, 0x1f, 0xa7, 0x68, 0x3f, 0x4d, 0x01, 0x89, 0x57, 0x83, 0xbc, 0x0e, 0x39, 0xb6, - 0xc0, 0x3a, 0x23, 0xef, 0x9b, 0xfc, 0xda, 0x3a, 0x83, 0xef, 0x91, 0xc8, 0x32, 0x7c, 0x0f, 0x23, - 0x5b, 0xde, 0x37, 0x7b, 0xe4, 0x6b, 0x70, 0x0a, 0x9b, 0x77, 0xe8, 0x8e, 0xba, 0x83, 0x8e, 0x83, - 0x58, 0xab, 0xad, 0x1e, 0x8f, 0x19, 0xf8, 0x12, 0x06, 0xb7, 0x8d, 0x27, 0x4f, 0xe9, 0x06, 0x74, - 0x25, 0xab, 0x23, 0x67, 0x9d, 0x31, 0x92, 0x06, 0xa8, 0x72, 0xfe, 0x83, 0x49, 0xaf, 0xc7, 0x7b, - 0x36, 0x4f, 0x15, 0xdd, 0x68, 0xda, 0x94, 0x82, 0x57, 0x83, 0x82, 0x4b, 0x93, 0x5e, 0x8f, 0xbc, - 0x0a, 0x30, 0xe8, 0x3b, 0xc7, 0x5d, 0xcf, 0x63, 0x67, 0x1c, 0xbe, 0xd7, 0x6b, 0x40, 0x95, 0x3b, - 0x63, 0xd0, 0xaf, 0x30, 0x22, 0xf9, 0x05, 0x40, 0xaf, 0x7f, 0x84, 0xc3, 0x60, 0xb7, 0x5a, 0x78, - 0x14, 0x10, 0x41, 0x0c, 0x3b, 0xd9, 0x1e, 0xba, 0x76, 0xf7, 0x1d, 0xe1, 0x32, 0xf0, 0x16, 0xac, - 0xf3, 0x4b, 0xa8, 0xfb, 0xdd, 0xf1, 0x11, 0x97, 0xb0, 0x9f, 0x47, 0x3c, 0x97, 0x44, 0xec, 0x7f, - 0xca, 0x00, 0xe8, 0xfb, 0xb6, 0x40, 0x9a, 0xba, 0x09, 0xf3, 0x54, 0x6f, 0x10, 0xf6, 0x07, 0xb4, - 0xde, 0x62, 0xb9, 0xb2, 0xf5, 0x16, 0x39, 0xe8, 0x6c, 0xb4, 0xf0, 0x72, 0xb6, 0xb0, 0x3d, 0xe0, - 0x6c, 0x64, 0xf7, 0xb5, 0x43, 0x48, 0xbf, 0x9c, 0x8b, 0x94, 0x01, 0x02, 0xec, 0x27, 0xae, 0xc9, - 0xae, 0x07, 0x20, 0x2a, 0x3c, 0x81, 0x47, 0x1b, 0x08, 0xf0, 0xa3, 0xe4, 0xe1, 0x13, 0xb0, 0x91, - 0xfb, 0x90, 0x69, 0xb4, 0x7c, 0x9f, 0xce, 0x29, 0x88, 0x58, 0x97, 0x78, 0x4c, 0xc7, 0x00, 0x15, - 0x6b, 0x75, 0xdc, 0x0a, 0x85, 0xbe, 0xc5, 0x42, 0x88, 0x01, 0x0b, 0x3c, 0x5e, 0xf7, 0x14, 0x24, - 0x45, 0x1e, 0xae, 0x9b, 0xe3, 0x27, 0x23, 0x51, 0x96, 0x29, 0x78, 0x64, 0xee, 0x3b, 0x90, 0xb6, - 0xed, 0x0a, 0xc7, 0x81, 0x58, 0x09, 0xb4, 0x12, 0xdb, 0xae, 0xb0, 0x33, 0x4a, 0xcf, 0x3b, 0x96, - 0xb2, 0x51, 0x66, 0xf2, 0x05, 0xc8, 0x49, 0xe2, 0x33, 0x47, 0x50, 0xc1, 0x36, 0x90, 0xbc, 0x66, - 0xe4, 0x45, 0x43, 0xe2, 0x26, 0x65, 0x50, 0xef, 0x4f, 0x1e, 0xba, 0xfa, 0x70, 0x88, 0xee, 0x74, - 0x8f, 0xdc, 0x11, 0x13, 0xdb, 0xb2, 0x01, 0xf4, 0x30, 0xde, 0xb5, 0xef, 0x88, 0x54, 0xd9, 0x06, - 0x13, 0xcd, 0x49, 0xea, 0xb0, 0x6e, 0xbb, 0xe3, 0xc9, 0x90, 0xdd, 0xd3, 0x28, 0x0d, 0x46, 0x54, - 0x09, 0x61, 0x78, 0x2b, 0x88, 0xd2, 0xea, 0xd1, 0x44, 0x71, 0x39, 0xe6, 0x60, 0x30, 0x8a, 0x28, - 0x24, 0xf1, 0xcc, 0x9a, 0x2b, 0x77, 0x39, 0xdd, 0x55, 0xc3, 0xaa, 0x0d, 0xee, 0xaa, 0x42, 0xb5, - 0x09, 0x14, 0x9a, 0xcf, 0x24, 0x60, 0x82, 0xe1, 0x81, 0x99, 0x84, 0x09, 0x16, 0x42, 0x02, 0x7b, - 0x2f, 0x23, 0xc1, 0x52, 0xf2, 0xbe, 0x78, 0x03, 0xe0, 0xde, 0xa0, 0xdb, 0xaf, 0xb8, 0xe3, 0xa3, - 0x41, 0x47, 0x82, 0x26, 0xcb, 0xfd, 0xf2, 0xa0, 0xdb, 0x77, 0x8e, 0x91, 0xfc, 0xd3, 0x0f, 0x2e, - 0x4a, 0x4c, 0x96, 0xf4, 0x9f, 0x7c, 0x1a, 0x96, 0xe8, 0x53, 0x23, 0xb8, 0x6d, 0xc2, 0x4c, 0x95, - 0x98, 0x9b, 0x05, 0x6f, 0x08, 0x18, 0xc8, 0x5d, 0x0c, 0x57, 0xd2, 0x1d, 0x8e, 0x25, 0xe1, 0x55, - 0xc4, 0x26, 0xe9, 0x0e, 0xc7, 0x51, 0xa4, 0x61, 0x89, 0x99, 0xec, 0xfa, 0x55, 0x17, 0x11, 0x86, - 0x78, 0x54, 0x14, 0xb4, 0xc7, 0xf1, 0xb1, 0xe6, 0x08, 0x88, 0x53, 0x39, 0x16, 0x6c, 0x24, 0x1b, - 0x56, 0xc2, 0xde, 0x2d, 0xb2, 0x03, 0x14, 0x2e, 0xd4, 0xb2, 0x4a, 0x78, 0x47, 0x1d, 0xa7, 0x8d, - 0xe4, 0x50, 0x25, 0x7c, 0x66, 0xb2, 0x0d, 0x6b, 0x4c, 0xc6, 0xf7, 0x23, 0x15, 0x72, 0x11, 0x17, - 0xd7, 0xb6, 0x20, 0x94, 0xa1, 0xfc, 0xfa, 0x48, 0x06, 0x52, 0x82, 0x79, 0x54, 0x08, 0xf9, 0x15, - 0xf3, 0x2d, 0x59, 0x7b, 0x8e, 0xce, 0x23, 0x5c, 0x57, 0x50, 0x6f, 0x96, 0xd7, 0x15, 0x64, 0x25, - 0x5f, 0x01, 0x30, 0xfa, 0xa3, 0x41, 0xaf, 0x87, 0x20, 0xbc, 0x59, 0x54, 0xa5, 0xce, 0x87, 0xe7, - 0x23, 0x96, 0x12, 0x30, 0x71, 0xc0, 0x38, 0x7c, 0x76, 0x22, 0x50, 0xbd, 0x52, 0x59, 0x9a, 0x09, - 0x0b, 0x6c, 0x32, 0x22, 0xa0, 0x35, 0x0f, 0xd1, 0x21, 0xc1, 0x21, 0x33, 0x40, 0x6b, 0x4e, 0x8f, - 0x03, 0x5a, 0x4b, 0x19, 0xb4, 0xfb, 0x70, 0x3a, 0xe9, 0xc3, 0x42, 0x2a, 0xac, 0x72, 0x52, 0x15, - 0xf6, 0x4f, 0xd2, 0xb0, 0x8c, 0xa5, 0x89, 0x55, 0x58, 0x87, 0x15, 0x7b, 0xf2, 0xd0, 0x47, 0x7b, - 0x12, 0xab, 0x31, 0xd6, 0xcf, 0x93, 0x13, 0xe4, 0xa3, 0xad, 0x50, 0x0e, 0x62, 0xc0, 0xaa, 0xd8, - 0x09, 0x76, 0xc4, 0x0d, 0x74, 0x1f, 0x4b, 0x5a, 0x20, 0x16, 0xc6, 0x23, 0xb5, 0x46, 0x32, 0x05, - 0xfb, 0x41, 0xfa, 0x59, 0xf6, 0x83, 0xcc, 0x89, 0xf6, 0x83, 0xb7, 0x61, 0x59, 0xbc, 0x0d, 0x57, - 0xf2, 0xf9, 0xe7, 0x5b, 0xc9, 0x43, 0x85, 0x91, 0xb2, 0xbf, 0xa2, 0x2f, 0xcc, 0x5c, 0xd1, 0xf1, - 0xbc, 0x50, 0xcc, 0xb2, 0x21, 0xd2, 0xe2, 0x0b, 0x3b, 0x86, 0x32, 0xdc, 0x29, 0xd4, 0x3f, 0xc2, - 0x2e, 0xf9, 0x39, 0x58, 0x2a, 0x0f, 0xc4, 0x51, 0x91, 0x64, 0xa3, 0xef, 0x09, 0xa2, 0x2c, 0x2e, - 0xf8, 0x9c, 0xfe, 0xee, 0x96, 0xfe, 0x38, 0x76, 0xb7, 0xbb, 0x00, 0xdc, 0xb5, 0x21, 0x08, 0x41, - 0x86, 0x53, 0x46, 0x20, 0x5d, 0x84, 0x8f, 0x0a, 0x24, 0x66, 0xba, 0x3a, 0xf1, 0x5b, 0x28, 0x7a, - 0xbb, 0x3d, 0x98, 0xf4, 0xc7, 0xa1, 0x98, 0xbd, 0xc2, 0x13, 0xb2, 0xc5, 0xd3, 0xe4, 0xe5, 0x21, - 0x92, 0xed, 0xe3, 0xed, 0x10, 0xf2, 0x65, 0xff, 0x12, 0xdd, 0xe2, 0xac, 0x16, 0xd2, 0x62, 0x2d, - 0x34, 0xf5, 0xea, 0x9c, 0xf6, 0x43, 0x45, 0x06, 0xf2, 0xff, 0x08, 0x5d, 0xfd, 0x1a, 0x80, 0x7f, - 0x56, 0x2f, 0xfa, 0x9a, 0xe9, 0x4b, 0x3e, 0x55, 0x6e, 0xe5, 0x80, 0x57, 0xfa, 0x9a, 0xf4, 0xc7, - 0xf5, 0x35, 0x0d, 0xc8, 0xd5, 0xbe, 0x31, 0x6e, 0x05, 0x97, 0x3b, 0xc0, 0xf6, 0x25, 0x59, 0x5c, - 0x99, 0xd2, 0xdb, 0xd7, 0x70, 0x6f, 0x08, 0xe4, 0xe0, 0x29, 0x22, 0xb0, 0x94, 0x51, 0xfb, 0x4b, - 0x05, 0xd6, 0x64, 0xf7, 0xed, 0x27, 0xfd, 0x36, 0xf9, 0x22, 0xc3, 0x15, 0x55, 0x42, 0x2a, 0x8b, - 0xc4, 0x44, 0x97, 0xdc, 0x27, 0xfd, 0x36, 0x13, 0x80, 0x5a, 0x8f, 0xe5, 0xca, 0xd2, 0x8c, 0xe4, - 0x21, 0x2c, 0xd7, 0x07, 0xbd, 0x1e, 0x15, 0x6b, 0x46, 0x8f, 0xb8, 0x02, 0x40, 0x0b, 0x8a, 0x9e, - 0x18, 0x88, 0x0a, 0x6d, 0x5f, 0xe1, 0x7a, 0xee, 0xd9, 0x21, 0x5d, 0xef, 0xbb, 0x3c, 0x5f, 0x50, - 0xec, 0xbb, 0xe8, 0x6f, 0x25, 0x97, 0xa9, 0xfd, 0x58, 0x01, 0x12, 0xaf, 0x92, 0xbc, 0x64, 0x29, - 0xff, 0x07, 0x22, 0x6c, 0x44, 0xf4, 0xcb, 0x3c, 0x8b, 0xe8, 0x97, 0xff, 0x5d, 0x05, 0xd6, 0x4c, - 0xbd, 0xc2, 0xa1, 0xfd, 0xd9, 0xc1, 0xc6, 0x65, 0x38, 0x6f, 0xea, 0x15, 0xa7, 0x5e, 0x2b, 0x9b, - 0x85, 0x07, 0x4e, 0x22, 0x62, 0xef, 0x79, 0x78, 0x31, 0xce, 0x12, 0x1c, 0x80, 0x9c, 0x83, 0x8d, - 0x78, 0xb2, 0x40, 0xf5, 0x4d, 0xce, 0x2c, 0x00, 0x80, 0xd3, 0xf9, 0x37, 0x61, 0x4d, 0x20, 0xd8, - 0x36, 0xca, 0x36, 0x62, 0xe4, 0xaf, 0x41, 0x6e, 0xcf, 0xb0, 0xcc, 0xd2, 0x03, 0xa7, 0xd4, 0x2c, - 0x97, 0xd5, 0x39, 0xb2, 0x02, 0x4b, 0x9c, 0x50, 0xd0, 0x55, 0x85, 0x2c, 0x43, 0xd6, 0xac, 0xda, - 0x46, 0xa1, 0x69, 0x19, 0x6a, 0x2a, 0xff, 0x26, 0xac, 0xd6, 0x47, 0xdd, 0x47, 0xad, 0xb1, 0x7b, - 0xdf, 0x7d, 0x82, 0xe7, 0x17, 0x8b, 0x90, 0xb6, 0xf4, 0x7d, 0x75, 0x8e, 0x00, 0x2c, 0xd4, 0xef, - 0x17, 0xec, 0xdb, 0xb7, 0x55, 0x85, 0xe4, 0x60, 0x71, 0xa7, 0x50, 0x77, 0xee, 0x57, 0x6c, 0x35, - 0x45, 0x1f, 0xf4, 0x7d, 0x1b, 0x1f, 0xd2, 0xf9, 0xcf, 0xc2, 0x3a, 0x0a, 0x24, 0xe5, 0xae, 0x37, - 0x76, 0xfb, 0xee, 0x08, 0xeb, 0xb0, 0x0c, 0x59, 0xdb, 0xa5, 0x2b, 0xc9, 0xd8, 0x65, 0x15, 0xa8, - 0x4c, 0x7a, 0xe3, 0xee, 0xb0, 0xe7, 0x7e, 0x4b, 0x55, 0xf2, 0x77, 0x61, 0xcd, 0x1a, 0x4c, 0xc6, - 0xdd, 0xfe, 0xa1, 0x3d, 0xa6, 0x1c, 0x87, 0x4f, 0xc8, 0x0b, 0xb0, 0xde, 0xac, 0xea, 0x95, 0x6d, - 0x73, 0xa7, 0x59, 0x6b, 0xda, 0x4e, 0x45, 0x6f, 0x14, 0x76, 0xd9, 0xe9, 0x49, 0xa5, 0x66, 0x37, - 0x1c, 0xcb, 0x28, 0x18, 0xd5, 0x86, 0xaa, 0xe4, 0xbf, 0x87, 0xb6, 0x95, 0xf6, 0xa0, 0xdf, 0x29, - 0xb5, 0xda, 0xe3, 0xc1, 0x08, 0x2b, 0xac, 0xc1, 0x05, 0xdb, 0x28, 0xd4, 0xaa, 0x45, 0xa7, 0xa4, - 0x17, 0x1a, 0x35, 0x2b, 0x09, 0x32, 0x7a, 0x13, 0xce, 0x24, 0xf0, 0xd4, 0x1a, 0x75, 0x55, 0x21, - 0x17, 0x61, 0x2b, 0x21, 0x6d, 0xdf, 0xd8, 0xd6, 0x9b, 0x8d, 0xdd, 0xaa, 0x9a, 0x9a, 0x92, 0xd9, - 0xb6, 0x6b, 0x6a, 0x3a, 0xff, 0x9b, 0x0a, 0xac, 0x36, 0x3d, 0x7e, 0x75, 0xb9, 0x89, 0x5e, 0x8b, - 0x97, 0xe0, 0x5c, 0xd3, 0x36, 0x2c, 0xa7, 0x51, 0xbb, 0x6f, 0x54, 0x9d, 0xa6, 0xad, 0xef, 0x44, - 0x6b, 0x73, 0x11, 0xb6, 0x24, 0x0e, 0xcb, 0x28, 0xd4, 0xf6, 0x0c, 0xcb, 0xa9, 0xeb, 0xb6, 0xbd, - 0x5f, 0xb3, 0x8a, 0xaa, 0x42, 0xdf, 0x98, 0xc0, 0x50, 0x29, 0xe9, 0xac, 0x36, 0xa1, 0xb4, 0xaa, - 0xb1, 0xaf, 0x97, 0x9d, 0xed, 0x5a, 0x43, 0x4d, 0xe7, 0x2b, 0x74, 0x7f, 0x47, 0xe0, 0x56, 0x76, - 0xe1, 0x2e, 0x0b, 0x99, 0x6a, 0xad, 0x6a, 0x44, 0xcf, 0xdc, 0x96, 0x21, 0xab, 0xd7, 0xeb, 0x56, - 0x6d, 0x0f, 0x87, 0x18, 0xc0, 0x42, 0xd1, 0xa8, 0xd2, 0x9a, 0xa5, 0x69, 0x4a, 0xdd, 0xaa, 0x55, - 0x6a, 0x0d, 0xa3, 0xa8, 0x66, 0xf2, 0x96, 0x98, 0xc2, 0xa2, 0xd0, 0xf6, 0x80, 0x1d, 0x70, 0x15, - 0x8d, 0x92, 0xde, 0x2c, 0x37, 0x78, 0x17, 0x3d, 0x70, 0x2c, 0xe3, 0xcb, 0x4d, 0xc3, 0x6e, 0xd8, - 0xaa, 0x42, 0x54, 0x58, 0xae, 0x1a, 0x46, 0xd1, 0x76, 0x2c, 0x63, 0xcf, 0x34, 0xf6, 0xd5, 0x14, - 0x2d, 0x93, 0xfd, 0xa7, 0x6f, 0xc8, 0xbf, 0xa7, 0x00, 0x61, 0xa0, 0xb7, 0x22, 0x92, 0x0a, 0x8e, - 0x98, 0x0b, 0xb0, 0xb9, 0x4b, 0xbb, 0x1a, 0x3f, 0xad, 0x52, 0x2b, 0x46, 0x9b, 0xec, 0x0c, 0x90, - 0x48, 0x7a, 0xad, 0x54, 0x52, 0x15, 0xb2, 0x05, 0xa7, 0x22, 0xf4, 0xa2, 0x55, 0xab, 0xab, 0xa9, - 0xcd, 0x54, 0x56, 0x21, 0x67, 0x63, 0x89, 0xf7, 0x0d, 0xa3, 0xae, 0xa6, 0x69, 0x17, 0x45, 0x12, - 0xc4, 0x94, 0x60, 0xd9, 0x33, 0xf9, 0xef, 0x28, 0x70, 0x86, 0x55, 0x53, 0xcc, 0x2f, 0xbf, 0xaa, - 0xe7, 0x60, 0x83, 0x43, 0x79, 0x27, 0x55, 0xf4, 0x34, 0xa8, 0xa1, 0x54, 0x56, 0xcd, 0x17, 0x60, - 0x3d, 0x44, 0xc5, 0x7a, 0xa4, 0xe8, 0xea, 0x11, 0x22, 0x6f, 0x1b, 0x76, 0xc3, 0x31, 0x4a, 0xa5, - 0x9a, 0xd5, 0x60, 0x15, 0x49, 0xe7, 0x35, 0x58, 0x2f, 0xb8, 0xa3, 0x31, 0x55, 0xbd, 0xfa, 0x5e, - 0x77, 0xd0, 0xc7, 0x2a, 0xac, 0xc0, 0x92, 0xf1, 0x95, 0x86, 0x51, 0xb5, 0xcd, 0x5a, 0x55, 0x9d, - 0xcb, 0x9f, 0x8b, 0xf0, 0x88, 0x79, 0x6c, 0xdb, 0xbb, 0xea, 0x5c, 0xbe, 0x05, 0x2b, 0xe2, 0x92, - 0x30, 0x1b, 0x15, 0x17, 0x60, 0x53, 0x8c, 0x35, 0x5c, 0x51, 0xa2, 0x9f, 0xb0, 0x01, 0xa7, 0xe3, - 0xe9, 0x46, 0x43, 0x55, 0x68, 0x2f, 0x44, 0x52, 0x28, 0x3d, 0x95, 0xff, 0x75, 0x05, 0x56, 0xfc, - 0x43, 0x13, 0x34, 0xd3, 0x5e, 0x84, 0xad, 0x4a, 0x49, 0x77, 0x8a, 0xc6, 0x9e, 0x59, 0x30, 0x9c, - 0xfb, 0x66, 0xb5, 0x18, 0x79, 0xc9, 0x8b, 0xf0, 0x42, 0x02, 0x03, 0xbe, 0x65, 0x03, 0x4e, 0x47, - 0x93, 0x1a, 0x74, 0xaa, 0xa6, 0x68, 0xd3, 0x47, 0x53, 0xfc, 0x79, 0x9a, 0xce, 0xff, 0xb1, 0x02, - 0x1b, 0x3c, 0x54, 0x3d, 0x3f, 0xbe, 0x61, 0x31, 0x4c, 0x10, 0xe4, 0x37, 0x0f, 0xd7, 0x1b, 0x56, - 0xd3, 0x6e, 0x18, 0x45, 0x91, 0x9d, 0x0e, 0x5a, 0xd3, 0x32, 0x2a, 0x46, 0xb5, 0x11, 0xa9, 0xdb, - 0x2d, 0xf8, 0xd4, 0x0c, 0xde, 0x6a, 0xad, 0x21, 0x9e, 0xe9, 0x5c, 0xfd, 0x14, 0x5c, 0x99, 0xc1, - 0xec, 0x33, 0xa6, 0xf2, 0x7b, 0xb0, 0x6a, 0xeb, 0x95, 0x72, 0x69, 0x30, 0x6a, 0xbb, 0xfa, 0x64, - 0x7c, 0xd4, 0x27, 0x5b, 0x70, 0xb6, 0x54, 0xb3, 0x0a, 0x86, 0x83, 0x5f, 0x10, 0xa9, 0xc4, 0x29, - 0x58, 0x93, 0x13, 0x1f, 0x18, 0x74, 0x76, 0x11, 0x58, 0x95, 0x89, 0xd5, 0x9a, 0x9a, 0xca, 0x7f, - 0x15, 0x96, 0x43, 0xf1, 0xde, 0xce, 0xc2, 0x29, 0xf9, 0xb9, 0xee, 0xf6, 0x3b, 0xdd, 0xfe, 0xa1, - 0x3a, 0x17, 0x4d, 0xb0, 0x26, 0xfd, 0x3e, 0x4d, 0xc0, 0xe5, 0x46, 0x4e, 0x68, 0xb8, 0xa3, 0xe3, - 0x6e, 0xbf, 0x35, 0x76, 0x3b, 0x6a, 0x2a, 0xff, 0x32, 0xac, 0x84, 0x50, 0xa6, 0xe9, 0xb8, 0x2a, - 0xd7, 0xf8, 0xfe, 0x50, 0x31, 0x8a, 0x66, 0xb3, 0xa2, 0xce, 0xd3, 0x85, 0x66, 0xd7, 0xdc, 0xd9, - 0x55, 0x21, 0xff, 0x7d, 0x85, 0xaa, 0x41, 0xd8, 0xee, 0x95, 0x92, 0x2e, 0x46, 0x22, 0x9d, 0x05, - 0x0c, 0xbb, 0xde, 0xb0, 0x6d, 0x76, 0x12, 0x7e, 0x0e, 0x36, 0xf8, 0x83, 0xa3, 0x57, 0x8b, 0xce, - 0xae, 0x6e, 0x15, 0xf7, 0x75, 0x8b, 0x4e, 0x8d, 0x07, 0x6a, 0x0a, 0xe7, 0xbb, 0x44, 0x71, 0x1a, - 0xb5, 0x66, 0x61, 0x57, 0x4d, 0xd3, 0xe9, 0x15, 0xa2, 0xd7, 0xcd, 0xaa, 0x9a, 0xc1, 0xd5, 0x23, - 0xc6, 0x8d, 0xc5, 0xd2, 0xf4, 0xf9, 0xfc, 0x87, 0x0a, 0x9c, 0xb5, 0xbb, 0x87, 0xfd, 0xd6, 0x78, - 0x32, 0x72, 0xf5, 0xde, 0xe1, 0x60, 0xd4, 0x1d, 0x1f, 0x1d, 0xdb, 0x93, 0xee, 0xd8, 0x25, 0x37, - 0xe1, 0x9a, 0x6d, 0xee, 0x54, 0xf5, 0x06, 0x9d, 0xfd, 0x7a, 0x79, 0xa7, 0x66, 0x99, 0x8d, 0xdd, - 0x8a, 0x63, 0x37, 0xcd, 0xd8, 0xc4, 0xb8, 0x0a, 0x97, 0xa6, 0xb3, 0x96, 0x8d, 0x1d, 0xbd, 0xf0, - 0x40, 0x55, 0x66, 0x17, 0xb8, 0xad, 0x97, 0xf5, 0x6a, 0xc1, 0x28, 0x3a, 0x7b, 0xb7, 0xd5, 0x14, - 0xb9, 0x06, 0x97, 0xa7, 0xb3, 0x96, 0xcc, 0xba, 0x4d, 0xd9, 0xd2, 0xb3, 0xdf, 0xbb, 0x6b, 0x57, - 0x28, 0x57, 0x26, 0xff, 0x47, 0x0a, 0x6c, 0x4c, 0x83, 0x1a, 0x22, 0xd7, 0x41, 0x33, 0xaa, 0x0d, - 0x4b, 0x37, 0x8b, 0x4e, 0xc1, 0x32, 0x8a, 0x46, 0xb5, 0x61, 0xea, 0x65, 0xdb, 0xb1, 0x6b, 0x4d, - 0x3a, 0x9a, 0x82, 0x0b, 0x0b, 0x57, 0xe0, 0xe2, 0x0c, 0xbe, 0x9a, 0x59, 0x2c, 0xa8, 0x0a, 0xb9, - 0x0d, 0x2f, 0xcd, 0x60, 0xb2, 0x1f, 0xd8, 0x0d, 0xa3, 0x22, 0xa7, 0xa8, 0xa9, 0x7c, 0x01, 0x36, - 0xa7, 0x63, 0x91, 0xd0, 0x5d, 0x24, 0xdc, 0xd2, 0x59, 0xc8, 0x14, 0xe9, 0xc6, 0x15, 0x0a, 0x71, - 0x90, 0xef, 0x82, 0x1a, 0x85, 0x13, 0x88, 0xdd, 0x2c, 0xb1, 0x9a, 0xd5, 0x2a, 0xdb, 0xe5, 0xd6, - 0x20, 0x57, 0x6b, 0xec, 0x1a, 0x16, 0x0f, 0x12, 0x81, 0x51, 0x21, 0x9a, 0x55, 0x3a, 0x71, 0x6a, - 0x96, 0xf9, 0x16, 0x6e, 0x77, 0x1b, 0x70, 0xda, 0x2e, 0xeb, 0x85, 0xfb, 0x38, 0xa7, 0xcd, 0xaa, - 0x53, 0xd8, 0xd5, 0xab, 0x55, 0xa3, 0xac, 0x02, 0x36, 0xe6, 0x34, 0x17, 0x42, 0xf2, 0x69, 0xb8, - 0x51, 0xbb, 0xdf, 0xd0, 0x9d, 0x7a, 0xb9, 0xb9, 0x63, 0x56, 0x1d, 0xfb, 0x41, 0xb5, 0x20, 0x44, - 0xb3, 0x42, 0x7c, 0x47, 0xb8, 0x01, 0x57, 0x67, 0x72, 0x07, 0xe1, 0x1c, 0xae, 0x83, 0x36, 0x93, - 0x93, 0x7f, 0x48, 0xfe, 0x47, 0x0a, 0x6c, 0xcd, 0x38, 0xe2, 0x26, 0x2f, 0xc1, 0xcd, 0x5d, 0x43, - 0x2f, 0x96, 0x0d, 0xdb, 0xc6, 0x85, 0x82, 0x76, 0x03, 0xbb, 0x81, 0x92, 0xb8, 0xde, 0xdf, 0x84, - 0x6b, 0xb3, 0xd9, 0x03, 0xc9, 0xe1, 0x06, 0x5c, 0x9d, 0xcd, 0xca, 0x25, 0x89, 0x14, 0x5d, 0x6f, - 0x67, 0x73, 0xfa, 0x12, 0x48, 0x3a, 0xff, 0xdb, 0x0a, 0x9c, 0x49, 0xb6, 0x33, 0xd1, 0xba, 0x99, - 0x55, 0xbb, 0xa1, 0x97, 0xcb, 0x4e, 0x5d, 0xb7, 0xf4, 0x8a, 0x63, 0x54, 0xad, 0x5a, 0xb9, 0x9c, - 0xb4, 0xf3, 0x5e, 0x85, 0x4b, 0xd3, 0x59, 0xed, 0x82, 0x65, 0xd6, 0xe9, 0xe6, 0xa2, 0xc1, 0x85, - 0xe9, 0x5c, 0x86, 0x59, 0x30, 0xd4, 0xd4, 0xf6, 0x1b, 0xef, 0xff, 0xcb, 0x85, 0xb9, 0xf7, 0x3f, - 0xbc, 0xa0, 0xfc, 0xf8, 0xc3, 0x0b, 0xca, 0x3f, 0x7f, 0x78, 0x41, 0x79, 0xeb, 0xd6, 0xc9, 0x22, - 0x21, 0xa1, 0x5a, 0xf2, 0x70, 0x01, 0x15, 0xa8, 0x57, 0xfe, 0x27, 0x00, 0x00, 0xff, 0xff, 0x1d, - 0xc1, 0x21, 0xab, 0xdd, 0xb0, 0x01, 0x00, + 0xf1, 0xff, 0xb1, 0x77, 0x35, 0xb1, 0x8d, 0x24, 0xd7, 0x59, 0x4d, 0x52, 0x12, 0xf5, 0xa8, 0x9f, + 0x56, 0xcd, 0xec, 0x8c, 0x56, 0x9a, 0xdf, 0x9e, 0x1f, 0xcf, 0x70, 0xbc, 0x6b, 0xcf, 0x6c, 0xec, + 0xf5, 0xd8, 0xf1, 0x4f, 0x8b, 0x6c, 0x4a, 0x3d, 0xc3, 0xbf, 0xed, 0x26, 0x25, 0xcf, 0xae, 0xed, + 0x4e, 0xaf, 0xd8, 0x92, 0x18, 0x53, 0x24, 0xcd, 0x26, 0x77, 0x3c, 0x8b, 0x00, 0x89, 0x11, 0xc0, + 0x06, 0xf2, 0xe7, 0xc4, 0x09, 0x10, 0x23, 0x08, 0x90, 0x43, 0x16, 0x41, 0x0e, 0xb9, 0x27, 0x48, + 0x72, 0xf1, 0x6d, 0x01, 0xc3, 0x80, 0x81, 0xe4, 0x94, 0x00, 0x9b, 0x64, 0x81, 0xe4, 0x90, 0xe4, + 0x16, 0xc4, 0x07, 0x9f, 0x82, 0x7a, 0x55, 0xd5, 0x5d, 0xfd, 0x43, 0x8e, 0x66, 0x67, 0x37, 0x89, + 0x01, 0x9f, 0x24, 0xbe, 0x7a, 0x55, 0x5d, 0xff, 0xf5, 0xea, 0xd5, 0x7b, 0xdf, 0xa3, 0xfc, 0x41, + 0xa9, 0x67, 0xdc, 0x24, 0x91, 0xb7, 0xe1, 0x9f, 0x82, 0xa5, 0x9e, 0x52, 0x9d, 0x94, 0x69, 0xad, + 0xa4, 0x4d, 0xeb, 0xd3, 0xaf, 0xa9, 0x3a, 0x10, 0x79, 0xb3, 0x62, 0x5a, 0x4f, 0x6e, 0x50, 0x25, + 0xe4, 0x74, 0x5e, 0x11, 0x69, 0x6b, 0xb0, 0x59, 0x30, 0xcd, 0xf5, 0x83, 0x38, 0x89, 0x6c, 0xc1, + 0x52, 0x10, 0xaf, 0x9a, 0x1f, 0x1c, 0x79, 0x46, 0x30, 0x3b, 0xbc, 0x85, 0xdf, 0x52, 0xe0, 0xca, + 0xd3, 0x7a, 0x88, 0xec, 0xc3, 0x39, 0x34, 0xda, 0xf0, 0x07, 0x41, 0x27, 0x3b, 0x07, 0xee, 0xc1, + 0xb1, 0xc7, 0xe7, 0xa4, 0x96, 0xda, 0xd5, 0xc3, 0xa1, 0x6d, 0x37, 0xa4, 0x5e, 0x1e, 0x0e, 0x6d, + 0x7f, 0x20, 0x7e, 0x97, 0x68, 0x76, 0x5e, 0x87, 0x0e, 0x6c, 0xcd, 0xc8, 0x29, 0x6d, 0x0b, 0x8a, + 0xbc, 0x2d, 0xdc, 0x02, 0xf5, 0xd0, 0xeb, 0x50, 0x89, 0xd7, 0xeb, 0x60, 0xd5, 0xde, 0xba, 0xc7, + 0xe2, 0xaf, 0x5b, 0xab, 0x01, 0xdd, 0xf6, 0x07, 0x7b, 0xf7, 0xf8, 0x57, 0x4e, 0xc4, 0x81, 0x26, + 0x5f, 0x1a, 0xc8, 0xcb, 0x70, 0x26, 0x06, 0x27, 0x12, 0xfa, 0xa7, 0x5b, 0xeb, 0x34, 0x29, 0x0a, + 0x3e, 0x75, 0x15, 0x96, 0xc5, 0x98, 0x8f, 0x02, 0x2f, 0x37, 0xab, 0xc0, 0x69, 0x74, 0x4d, 0xf1, + 0xcf, 0x4d, 0x44, 0xa3, 0x52, 0xef, 0x1b, 0xa7, 0x90, 0x94, 0xc9, 0x4b, 0x40, 0x02, 0xa9, 0x3c, + 0xd8, 0x06, 0xf8, 0x07, 0xd7, 0x45, 0x4a, 0xb0, 0x7e, 0xf9, 0x67, 0xff, 0x36, 0x03, 0x67, 0x52, + 0x2e, 0x2a, 0x54, 0xc4, 0xef, 0xf6, 0xc7, 0xde, 0x11, 0xbb, 0x20, 0xc8, 0x8d, 0x5c, 0x93, 0xe8, + 0x5c, 0xfb, 0xb4, 0xc0, 0xe2, 0x8b, 0xf3, 0x6f, 0xf1, 0x5f, 0x74, 0x6b, 0x70, 0x47, 0x42, 0xb1, + 0x42, 0xff, 0x25, 0x26, 0xac, 0x63, 0xd0, 0x04, 0xbf, 0x3b, 0xc0, 0xd8, 0x0b, 0x28, 0x62, 0xe4, + 0x22, 0x57, 0x19, 0xac, 0x45, 0x53, 0x62, 0xa2, 0x32, 0x86, 0xa5, 0x0e, 0x63, 0x14, 0xf2, 0x39, + 0xd8, 0x94, 0x4e, 0x12, 0x27, 0xb6, 0xae, 0xd0, 0x8e, 0xdd, 0x3a, 0xef, 0x06, 0x67, 0x4a, 0x39, + 0xb2, 0xc2, 0xb6, 0xe1, 0x12, 0x0e, 0x62, 0xb7, 0x33, 0x74, 0x12, 0x51, 0x36, 0xb0, 0xa9, 0x0c, + 0x96, 0x7e, 0x93, 0x72, 0x99, 0x9d, 0x61, 0x2c, 0xe0, 0x06, 0x6d, 0x35, 0xef, 0xbe, 0x37, 0xe0, + 0x85, 0xd4, 0x1a, 0xd3, 0xe3, 0x03, 0xcd, 0xa4, 0x42, 0xc9, 0x67, 0x91, 0xfe, 0xa6, 0xa2, 0xcf, + 0x55, 0x58, 0x7e, 0xd3, 0x73, 0x47, 0xde, 0x88, 0x9f, 0xcb, 0x7c, 0x4a, 0x30, 0x9a, 0x7c, 0x2c, + 0x77, 0xa2, 0x43, 0xc3, 0x35, 0x42, 0xa4, 0x06, 0x67, 0xd8, 0xf9, 0xd6, 0x3d, 0x41, 0x51, 0x8f, + 0x6b, 0x91, 0x94, 0x88, 0xb0, 0x83, 0x59, 0xf0, 0xe0, 0x31, 0x91, 0x8b, 0xe5, 0xb6, 0xd6, 0x8f, + 0xe2, 0x24, 0xba, 0xa2, 0xcf, 0xa5, 0x73, 0x93, 0x6d, 0x28, 0xb0, 0xc2, 0x99, 0xd0, 0xcf, 0xd4, + 0xff, 0x57, 0x67, 0x7e, 0xa1, 0x84, 0xd6, 0xc3, 0x7e, 0xf0, 0x3f, 0x3d, 0x8d, 0xf1, 0xa5, 0xd5, + 0x39, 0x91, 0x5f, 0x37, 0xac, 0x65, 0x24, 0xf2, 0x57, 0x0d, 0xed, 0xef, 0x14, 0xd1, 0xd4, 0xc8, + 0xd5, 0x97, 0x4e, 0x2d, 0xdf, 0xeb, 0x8b, 0x17, 0x9e, 0x25, 0x8b, 0xff, 0x7a, 0xc6, 0xa9, 0x4e, + 0x5e, 0x85, 0x65, 0x5a, 0xec, 0xd1, 0xa4, 0xcf, 0xa6, 0x5c, 0x36, 0x02, 0xa3, 0x53, 0x63, 0x49, + 0x74, 0xd8, 0x76, 0xe7, 0xac, 0xc2, 0x49, 0xf8, 0x93, 0xca, 0xc2, 0xfe, 0xc9, 0x78, 0x28, 0x4f, + 0x54, 0xa1, 0x06, 0xb4, 0x6b, 0xad, 0x26, 0xcf, 0x92, 0xa7, 0x3c, 0xa1, 0x2c, 0xbc, 0xbd, 0xc0, + 0x14, 0x81, 0xda, 0x1d, 0x28, 0x48, 0x65, 0xd3, 0xc6, 0x30, 0xbf, 0x18, 0xd1, 0x18, 0xf6, 0x8b, + 0x0f, 0xf6, 0x9b, 0x90, 0x17, 0x45, 0x52, 0xa1, 0xff, 0x78, 0xe0, 0x8b, 0x45, 0x8e, 0xff, 0x53, + 0x1a, 0xed, 0x65, 0x6c, 0xe4, 0xbc, 0x85, 0xff, 0xe3, 0x49, 0x31, 0x76, 0xa9, 0xb4, 0xdf, 0xf3, + 0x9d, 0x21, 0xda, 0x57, 0x05, 0xa2, 0x31, 0xa5, 0xb7, 0x7a, 0x3e, 0xb3, 0xba, 0xe2, 0xdf, 0xf8, + 0xab, 0xe0, 0x88, 0x8d, 0xe9, 0x0a, 0xa6, 0xed, 0x99, 0x91, 0x03, 0x21, 0x13, 0x3d, 0x10, 0xc8, + 0x15, 0x58, 0x66, 0xf0, 0x28, 0x3c, 0x27, 0xfb, 0x32, 0x20, 0x4d, 0xc7, 0xec, 0xe1, 0xce, 0x90, + 0x8b, 0xec, 0x0c, 0xd2, 0x8d, 0x3b, 0x1c, 0x3d, 0x26, 0xc3, 0x89, 0x1b, 0x77, 0x7c, 0x9f, 0xfa, + 0xb3, 0x8c, 0x50, 0x00, 0x6c, 0x0f, 0x06, 0x63, 0x7f, 0x3c, 0x72, 0x87, 0x11, 0x45, 0x27, 0x39, + 0x81, 0x17, 0x51, 0x3e, 0xbe, 0x87, 0x01, 0x2a, 0x06, 0x23, 0x81, 0xc8, 0x11, 0xcc, 0xdc, 0xc2, + 0xbd, 0x4f, 0x44, 0x25, 0x78, 0x9d, 0x72, 0xeb, 0x32, 0x33, 0x9d, 0xb0, 0x52, 0xa9, 0xbb, 0x73, + 0xd6, 0x79, 0x56, 0x66, 0x82, 0x8b, 0xec, 0xa6, 0x2c, 0xe2, 0xb8, 0xa6, 0x73, 0x3b, 0x5c, 0xd1, + 0xd1, 0x52, 0xe5, 0xb5, 0x4e, 0xbe, 0x00, 0x4b, 0xdd, 0x8e, 0x1c, 0x87, 0x31, 0xae, 0x63, 0x33, + 0x3b, 0x0c, 0x0b, 0x3a, 0x2c, 0x83, 0xce, 0xb9, 0x2e, 0xa7, 0x6e, 0xaf, 0x44, 0x54, 0xc2, 0xda, + 0xb6, 0xb8, 0x6b, 0x26, 0xb3, 0x91, 0x55, 0xc8, 0x04, 0x23, 0x9c, 0xe9, 0x76, 0xd8, 0xf2, 0x0a, + 0xd1, 0xa8, 0x2d, 0xfe, 0x4b, 0xfb, 0x15, 0xb8, 0x75, 0xda, 0x3e, 0xa2, 0x4b, 0x71, 0x4a, 0x87, + 0x2f, 0x59, 0xeb, 0x6e, 0xa2, 0xdf, 0xae, 0x82, 0x0c, 0xa6, 0xdb, 0x15, 0x9b, 0x9f, 0xa0, 0xb5, + 0x47, 0x5d, 0xed, 0x2f, 0xb3, 0xb0, 0x1a, 0x55, 0x82, 0x93, 0x3b, 0x90, 0x93, 0x76, 0xa0, 0xf3, + 0x29, 0x9a, 0x72, 0xdc, 0x77, 0x90, 0xe9, 0x54, 0x3b, 0x0e, 0x79, 0x00, 0xab, 0x68, 0x96, 0x87, + 0x82, 0xe5, 0xb8, 0xcb, 0x9f, 0x56, 0x66, 0xbf, 0x8e, 0xe5, 0xdf, 0x7d, 0xef, 0xf2, 0x1c, 0x3e, + 0x84, 0x2d, 0xd3, 0xbc, 0x54, 0xb6, 0xa3, 0x89, 0x92, 0x8e, 0x33, 0x37, 0x5d, 0xc7, 0xc9, 0x9b, + 0x32, 0x45, 0xc7, 0x39, 0x3f, 0x43, 0xc7, 0x19, 0xe6, 0x94, 0x75, 0x9c, 0xa8, 0xe9, 0x5e, 0x9c, + 0xa6, 0xe9, 0x0e, 0xf3, 0x30, 0x4d, 0x77, 0xa8, 0xa3, 0xcc, 0x4f, 0xd5, 0x51, 0x86, 0x79, 0xb8, + 0x8e, 0xf2, 0x3a, 0xef, 0xa3, 0x91, 0xfb, 0xd8, 0xc1, 0xce, 0xe3, 0xc7, 0x22, 0xb6, 0xde, 0x72, + 0x1f, 0xa3, 0xe9, 0xcc, 0xf6, 0x12, 0x08, 0x7b, 0x1b, 0xed, 0xf7, 0x95, 0x98, 0x9e, 0x4f, 0x8c, + 0xdf, 0x0d, 0x58, 0x65, 0x87, 0x95, 0xd7, 0x91, 0x6e, 0x92, 0x2b, 0xd6, 0x8a, 0xa0, 0xb2, 0xdb, + 0xe4, 0xc7, 0x60, 0x2d, 0x60, 0xe3, 0x17, 0x2a, 0xf4, 0xc3, 0xb3, 0x82, 0xdc, 0x1c, 0x54, 0xe6, + 0x0e, 0xac, 0x07, 0x8c, 0x5c, 0x57, 0xc3, 0x2e, 0x93, 0x2b, 0x96, 0x2a, 0x12, 0x9a, 0x9c, 0xae, + 0x1d, 0xc5, 0xef, 0x15, 0x1f, 0x51, 0xad, 0xb4, 0x1f, 0x64, 0x23, 0x3a, 0x10, 0xf1, 0x19, 0x7a, + 0x8a, 0xfa, 0x03, 0x87, 0x77, 0x12, 0xdf, 0x8b, 0xae, 0x4e, 0x19, 0x33, 0x6e, 0xb1, 0x64, 0xdb, + 0x0d, 0x0b, 0x7c, 0x7f, 0x20, 0x0c, 0x98, 0x1c, 0x26, 0x51, 0xb3, 0x73, 0x1f, 0xe7, 0xac, 0x28, + 0x8e, 0x6d, 0x3c, 0xc5, 0xd9, 0xc5, 0x89, 0x4b, 0x28, 0x9d, 0xb2, 0x28, 0x59, 0x07, 0xbf, 0xc4, + 0x07, 0xda, 0x80, 0x2a, 0x43, 0x3f, 0x5a, 0x78, 0x36, 0xe5, 0x66, 0x94, 0x28, 0x1c, 0x7b, 0x09, + 0x4b, 0x56, 0x27, 0xe2, 0x5f, 0x51, 0xac, 0x01, 0xcb, 0xa8, 0x81, 0x10, 0x05, 0xe6, 0x52, 0x14, + 0xec, 0xc9, 0xc6, 0x97, 0xcc, 0x9a, 0x55, 0xa0, 0xf9, 0x44, 0x31, 0xc7, 0xf0, 0xa2, 0xac, 0x37, + 0x88, 0x56, 0x72, 0x5e, 0x60, 0xe4, 0xce, 0xec, 0x81, 0x50, 0xbd, 0x80, 0x55, 0x3d, 0xe7, 0x46, + 0x09, 0x9c, 0x4d, 0x3b, 0x86, 0xcd, 0xe9, 0x43, 0x32, 0x23, 0xfe, 0x52, 0x78, 0x80, 0x66, 0xe4, + 0x03, 0x54, 0xd6, 0x22, 0x64, 0x23, 0x5a, 0x04, 0xed, 0x4f, 0xb3, 0x70, 0xed, 0x14, 0xc3, 0x35, + 0xe3, 0x9b, 0x5f, 0x8a, 0x8a, 0x67, 0x99, 0xc8, 0xbd, 0x8f, 0x16, 0xca, 0x37, 0x48, 0x7a, 0x07, + 0x4d, 0x17, 0xce, 0x7e, 0x09, 0xd6, 0xd8, 0x2e, 0xc8, 0x8c, 0x0e, 0x0f, 0x27, 0xbd, 0x53, 0x6c, + 0x83, 0x5b, 0xc2, 0x43, 0x2a, 0x96, 0x15, 0x77, 0x46, 0xdc, 0x31, 0xec, 0x80, 0x46, 0x5a, 0x50, + 0x40, 0xb6, 0x43, 0xb7, 0xdb, 0x3b, 0x95, 0xab, 0x8e, 0xf0, 0xbf, 0x92, 0xb3, 0x31, 0x5b, 0x69, + 0x4a, 0xa8, 0xe0, 0x6f, 0x72, 0x13, 0xd6, 0xfa, 0x93, 0x13, 0x2a, 0x78, 0xb0, 0xb9, 0xc0, 0x6d, + 0x3b, 0xe6, 0xad, 0x95, 0xfe, 0xe4, 0x44, 0x1f, 0x0e, 0x71, 0x48, 0xd1, 0x08, 0x64, 0x9d, 0xf2, + 0xb1, 0x55, 0x2b, 0x38, 0x17, 0x90, 0x93, 0x16, 0xc0, 0xd6, 0x2d, 0xe7, 0x3d, 0x0b, 0xcc, 0x24, + 0x90, 0xc7, 0x9f, 0x62, 0x3f, 0xb4, 0x9f, 0x64, 0xc4, 0x7d, 0x77, 0xfa, 0xbc, 0xff, 0xf9, 0x10, + 0xa5, 0x0c, 0xd1, 0x2d, 0x50, 0x69, 0xd7, 0x87, 0x9b, 0x4a, 0x30, 0x46, 0xab, 0xfd, 0xc9, 0x49, + 0xd0, 0x77, 0x72, 0xc7, 0x2f, 0xc8, 0x1d, 0xff, 0xaa, 0xb8, 0x0f, 0xa7, 0x6e, 0x0f, 0xd3, 0xbb, + 0x5c, 0xfb, 0xcf, 0x2c, 0xdc, 0x3c, 0xdd, 0x26, 0xf0, 0xf3, 0x71, 0x4b, 0x19, 0xb7, 0x98, 0x62, + 0x74, 0x3e, 0xa1, 0x18, 0x4d, 0x59, 0x7b, 0x0b, 0x69, 0x6b, 0x2f, 0xa1, 0x86, 0x5d, 0x4c, 0x51, + 0xc3, 0xa6, 0x2e, 0xd0, 0xfc, 0x53, 0x16, 0xe8, 0x92, 0x3c, 0x4f, 0xfe, 0x2d, 0x50, 0x60, 0x44, + 0xef, 0x03, 0x6f, 0xc0, 0x19, 0x71, 0x1f, 0x60, 0x27, 0x47, 0xa8, 0x5d, 0x2f, 0xdc, 0xbb, 0x9d, + 0x76, 0x13, 0x40, 0xb6, 0x14, 0x69, 0x7d, 0x9d, 0xdf, 0x01, 0xc2, 0xf4, 0xff, 0x3f, 0xd2, 0x3f, + 0x79, 0x04, 0xe7, 0x10, 0xbd, 0xfd, 0x40, 0x7e, 0x17, 0x70, 0x46, 0xde, 0x21, 0x9f, 0x0f, 0x57, + 0x13, 0xb2, 0x72, 0xf7, 0x40, 0xaa, 0x8e, 0xe5, 0x1d, 0xee, 0xce, 0x59, 0x67, 0xfd, 0x14, 0x7a, + 0xfc, 0x62, 0xf1, 0x17, 0x0a, 0x68, 0x4f, 0xef, 0x2f, 0x54, 0x54, 0xc5, 0x3b, 0x7c, 0xc9, 0x2a, + 0xb8, 0x52, 0xef, 0x5d, 0x83, 0x95, 0x91, 0x77, 0x38, 0xf2, 0xfc, 0xe3, 0x88, 0x06, 0x64, 0x99, + 0x13, 0x45, 0xc7, 0x08, 0x0c, 0xc9, 0x67, 0x92, 0xcc, 0x45, 0x26, 0xad, 0x12, 0xdc, 0x17, 0x53, + 0xc7, 0x81, 0xce, 0x26, 0xb9, 0x82, 0xec, 0xc7, 0x83, 0x5c, 0x3e, 0xa3, 0x66, 0x2d, 0x8e, 0x74, + 0x79, 0xd8, 0xed, 0x79, 0xda, 0x5f, 0x2b, 0x42, 0x22, 0x48, 0xeb, 0x3c, 0xf2, 0x86, 0x64, 0xaa, + 0x9b, 0x4d, 0x88, 0x21, 0x69, 0x59, 0x64, 0xab, 0x46, 0x0e, 0xbe, 0x88, 0x84, 0x08, 0xf8, 0x22, + 0x52, 0x9e, 0xc3, 0xde, 0x90, 0xdf, 0x9a, 0xef, 0x0b, 0x7b, 0x1f, 0xba, 0xe7, 0xed, 0xdd, 0x25, + 0xb7, 0x61, 0x91, 0x99, 0xf8, 0x88, 0xea, 0xae, 0x45, 0xaa, 0xbb, 0x77, 0xd7, 0x12, 0xe9, 0xda, + 0xf7, 0x03, 0x55, 0x76, 0xa2, 0x11, 0x7b, 0x77, 0xc9, 0xab, 0xa7, 0x33, 0xbd, 0xcd, 0x0b, 0xd3, + 0xdb, 0xc0, 0xec, 0xf6, 0x33, 0x11, 0xb3, 0xdb, 0xeb, 0xb3, 0x7b, 0x8b, 0xbf, 0x35, 0x32, 0xb0, + 0xc1, 0x10, 0x84, 0xea, 0x27, 0x0a, 0x5c, 0x9c, 0x99, 0x83, 0x5c, 0x80, 0xbc, 0xde, 0x34, 0x5b, + 0xe1, 0xf8, 0xd2, 0x35, 0x23, 0x28, 0x64, 0x07, 0x96, 0xb6, 0x5d, 0xbf, 0x7b, 0x40, 0xa7, 0x71, + 0xaa, 0xf2, 0x3f, 0x51, 0x6c, 0xc0, 0xbe, 0x3b, 0x67, 0x85, 0x79, 0x89, 0x03, 0xeb, 0xb8, 0x16, + 0x22, 0x81, 0x9d, 0xb2, 0x29, 0xba, 0x86, 0x44, 0x81, 0x89, 0x6c, 0x74, 0x9f, 0x49, 0x10, 0xe3, + 0x4b, 0xf0, 0x2d, 0x21, 0x8b, 0x4c, 0xaf, 0xe0, 0x33, 0xa0, 0xa6, 0xde, 0x82, 0x7c, 0x53, 0x58, + 0x01, 0x48, 0xb6, 0xea, 0xe2, 0xc5, 0xdf, 0x0a, 0x52, 0xb5, 0xdf, 0x52, 0x84, 0x42, 0xe0, 0xe9, + 0x0d, 0x91, 0x62, 0x62, 0x75, 0x66, 0xc7, 0xc4, 0xea, 0x7c, 0xc0, 0x98, 0x58, 0xda, 0x9f, 0x73, + 0x4c, 0x73, 0xb3, 0xd3, 0x8c, 0x69, 0x66, 0x9f, 0xd7, 0xe7, 0xc0, 0x88, 0xcc, 0xce, 0x6b, 0x52, + 0x4c, 0xc5, 0xe4, 0xb7, 0xa6, 0xbb, 0x1e, 0x48, 0x53, 0xf5, 0x0f, 0xb3, 0x70, 0x61, 0x56, 0xf6, + 0xd4, 0xa8, 0xcd, 0xca, 0xb3, 0x45, 0x6d, 0xbe, 0x0d, 0x79, 0x46, 0x0b, 0x0c, 0xea, 0xb1, 0xc3, + 0x79, 0x56, 0xda, 0xe1, 0x22, 0x99, 0x5c, 0x83, 0x05, 0xbd, 0x64, 0x87, 0x81, 0xc4, 0xd0, 0xf2, + 0xd5, 0x3d, 0xf0, 0xd1, 0xa6, 0x92, 0x27, 0x91, 0xaf, 0x25, 0x63, 0xe7, 0xf1, 0x08, 0x62, 0x5b, + 0x52, 0x87, 0x24, 0xc2, 0x0d, 0x60, 0x7d, 0x43, 0x78, 0x7c, 0x8e, 0x38, 0x6d, 0x25, 0xe3, 0xf0, + 0x69, 0xb0, 0xd0, 0x1c, 0x79, 0xbe, 0x37, 0x96, 0xad, 0x52, 0x87, 0x48, 0xb1, 0x78, 0x0a, 0xb7, + 0x19, 0x75, 0x9f, 0x30, 0x88, 0x80, 0x05, 0x19, 0xb6, 0x05, 0x8d, 0x4c, 0x29, 0xd9, 0x92, 0x58, + 0x68, 0x86, 0xaa, 0x3b, 0xe9, 0x1f, 0x1c, 0xb7, 0xad, 0x2a, 0x17, 0x35, 0x58, 0x86, 0x1e, 0x52, + 0x69, 0x03, 0x7d, 0x4b, 0x62, 0xd1, 0xbe, 0xa3, 0xc0, 0xd9, 0xb4, 0x76, 0x90, 0x0b, 0x90, 0xeb, + 0xa7, 0x86, 0x09, 0xec, 0x33, 0xcf, 0xe6, 0x02, 0xfd, 0xeb, 0x1c, 0x0e, 0x46, 0x27, 0xee, 0x58, + 0xb6, 0xdd, 0x95, 0xc8, 0x16, 0xd0, 0x1f, 0x15, 0xfc, 0x9f, 0x5c, 0x16, 0x7b, 0x74, 0x36, 0x11, + 0x58, 0x10, 0xff, 0x68, 0x3a, 0x80, 0xd9, 0x69, 0x36, 0x86, 0x0c, 0xee, 0xfe, 0x15, 0xc8, 0xd1, + 0x6a, 0xc5, 0x66, 0x2f, 0x9d, 0x3f, 0x7a, 0xad, 0xca, 0x99, 0x58, 0xad, 0x7c, 0xf7, 0xa4, 0x67, + 0x21, 0xb3, 0xb6, 0x0f, 0xab, 0x51, 0x0e, 0x62, 0x44, 0x01, 0x52, 0x0b, 0xf7, 0x54, 0x5e, 0xd2, + 0xf6, 0x60, 0xc0, 0xfc, 0x47, 0xb6, 0x5f, 0xfc, 0x87, 0xf7, 0x2e, 0x03, 0xfd, 0xc9, 0xf2, 0xa4, + 0x01, 0xa8, 0x6a, 0xdf, 0xcd, 0xc0, 0xd9, 0xd0, 0x65, 0x5d, 0xac, 0xa1, 0x9f, 0x59, 0xff, 0x49, + 0x3d, 0xe2, 0xdf, 0x27, 0x04, 0xad, 0x64, 0x03, 0x67, 0xb8, 0x15, 0xed, 0xc0, 0xc6, 0x34, 0x7e, + 0x72, 0x07, 0x96, 0x10, 0xe5, 0x68, 0xe8, 0x1e, 0x78, 0xf2, 0xde, 0xd7, 0x17, 0x44, 0x2b, 0x4c, + 0xd7, 0x7e, 0xa4, 0xc0, 0x26, 0xf7, 0x7a, 0xa8, 0xb9, 0xdd, 0x3e, 0xaa, 0xd5, 0x0f, 0xbc, 0x0f, + 0xc7, 0xff, 0x77, 0x27, 0xb2, 0x8f, 0xdd, 0x88, 0x3a, 0xb7, 0x24, 0xbe, 0x36, 0xbd, 0xb5, 0xe4, + 0x36, 0x22, 0x77, 0xf1, 0x47, 0xe5, 0x1c, 0xc3, 0x5b, 0xe8, 0x53, 0x82, 0x8c, 0xb7, 0x80, 0x1c, + 0xda, 0xaf, 0xc2, 0xa5, 0xd9, 0x1f, 0x20, 0x5f, 0x85, 0x15, 0x0c, 0x05, 0xd5, 0x1e, 0x1e, 0x8d, + 0xdc, 0x8e, 0x27, 0x54, 0x61, 0x42, 0x7d, 0x29, 0xa7, 0x31, 0x20, 0x32, 0xee, 0xff, 0x7f, 0x84, + 0x41, 0xa6, 0x78, 0xa6, 0x88, 0x6b, 0x91, 0x5c, 0x9a, 0xf6, 0x6b, 0x0a, 0x90, 0x64, 0x19, 0xe4, + 0xd3, 0xb0, 0xdc, 0x6e, 0x95, 0xec, 0xb1, 0x3b, 0x1a, 0xef, 0x0e, 0x26, 0x23, 0x8e, 0x02, 0xc6, + 0xdc, 0xc1, 0xc7, 0x07, 0x0e, 0x7b, 0x40, 0x39, 0x1e, 0x4c, 0x46, 0x56, 0x84, 0x0f, 0x63, 0x18, + 0x79, 0xde, 0xd7, 0x3b, 0xee, 0x93, 0x68, 0x0c, 0x23, 0x4e, 0x8b, 0xc4, 0x30, 0xe2, 0x34, 0xed, + 0x1d, 0x05, 0xb6, 0x84, 0xad, 0x60, 0x27, 0xa5, 0x2e, 0x25, 0x04, 0x3d, 0x19, 0x09, 0xd8, 0xd9, + 0x59, 0x22, 0xed, 0xba, 0xc0, 0x05, 0xc2, 0x0a, 0xa2, 0x6c, 0xcb, 0xf2, 0x92, 0x2f, 0x41, 0xce, + 0x1e, 0x0f, 0x86, 0xa7, 0x00, 0x06, 0x52, 0x83, 0x11, 0x1d, 0x0f, 0x86, 0x58, 0x04, 0xe6, 0xd4, + 0x3c, 0x38, 0x2b, 0x57, 0x4e, 0xd4, 0x98, 0xd4, 0x60, 0x91, 0x23, 0xc0, 0xc5, 0x1e, 0xea, 0x67, + 0xb4, 0x69, 0x7b, 0x4d, 0xa0, 0x0f, 0x71, 0xd8, 0x53, 0x4b, 0x94, 0xa1, 0xfd, 0x8e, 0x02, 0x05, + 0x2a, 0x6d, 0xe0, 0x2d, 0xee, 0x79, 0xa7, 0x74, 0x54, 0x70, 0x14, 0x56, 0x25, 0x41, 0xf1, 0xa7, + 0x3a, 0x8d, 0x3f, 0x05, 0x6b, 0xb1, 0x0c, 0x44, 0x43, 0xdc, 0x89, 0x5e, 0xf7, 0xc0, 0x65, 0x21, + 0x51, 0x98, 0x45, 0x46, 0x84, 0xa6, 0xfd, 0x86, 0x02, 0x67, 0xe9, 0x9d, 0x9f, 0xbd, 0x73, 0x5a, + 0x93, 0x9e, 0x58, 0xef, 0x54, 0x82, 0x12, 0x46, 0xa7, 0xcc, 0x27, 0x9e, 0x49, 0x50, 0x9c, 0x66, + 0x05, 0xa9, 0x64, 0x17, 0xf2, 0xfc, 0x7c, 0xf1, 0x39, 0x5a, 0xe9, 0x25, 0x49, 0x99, 0x10, 0x16, + 0xcc, 0x99, 0x68, 0x4b, 0x70, 0x0b, 0xe3, 0x79, 0xac, 0x20, 0xb7, 0xf6, 0x5f, 0x0a, 0x9c, 0x9f, + 0x92, 0x87, 0x7c, 0x1e, 0xe6, 0xd1, 0x5f, 0x8f, 0x8f, 0xde, 0x85, 0x29, 0x9f, 0x18, 0x1f, 0x1c, + 0xef, 0xdd, 0x65, 0x07, 0xd1, 0x09, 0xfd, 0x61, 0xb1, 0x5c, 0xe4, 0x0d, 0x58, 0xd2, 0x3b, 0x1d, + 0x7e, 0x9d, 0xc9, 0x44, 0xae, 0x33, 0x53, 0xbe, 0xf8, 0x72, 0xc0, 0xcf, 0xae, 0x33, 0xcc, 0x73, + 0xa4, 0xd3, 0x71, 0xb8, 0x2f, 0x62, 0x58, 0xde, 0xe6, 0x2f, 0xc2, 0x6a, 0x94, 0xf9, 0x99, 0xdc, + 0xa7, 0xbe, 0xaf, 0x80, 0x1a, 0xad, 0xc3, 0x47, 0x83, 0x9b, 0x94, 0x36, 0xcc, 0x4f, 0x99, 0x54, + 0xbf, 0x97, 0x81, 0x17, 0x52, 0x7b, 0x98, 0xbc, 0x04, 0x0b, 0xfa, 0x70, 0x68, 0x96, 0xf9, 0xac, + 0xe2, 0x12, 0x12, 0x6a, 0x89, 0x23, 0xb7, 0x3d, 0xc6, 0x44, 0x5e, 0x81, 0x3c, 0x7b, 0x4e, 0x2f, + 0x8b, 0x0d, 0x07, 0x81, 0x60, 0xf8, 0x5b, 0x7f, 0x14, 0x37, 0x54, 0x30, 0x92, 0x0a, 0xac, 0x72, + 0x08, 0x15, 0xcb, 0x3b, 0xf2, 0xbe, 0x19, 0x00, 0xd8, 0x23, 0xc6, 0xbe, 0x50, 0x3d, 0x3b, 0x23, + 0x96, 0x26, 0x83, 0x88, 0x44, 0x73, 0x91, 0x2a, 0xa8, 0x58, 0xa6, 0x5c, 0x12, 0x03, 0x2f, 0x45, + 0x50, 0x1b, 0x56, 0x89, 0x29, 0x65, 0x25, 0x72, 0x06, 0xc3, 0xa5, 0xfb, 0x7e, 0xf7, 0xa8, 0x7f, + 0xe2, 0xf5, 0xc7, 0x1f, 0xdd, 0x70, 0x85, 0xdf, 0x38, 0xd5, 0x70, 0xfd, 0x41, 0x8e, 0x2d, 0xe6, + 0x78, 0x36, 0x2a, 0xd1, 0x48, 0x78, 0xd5, 0x28, 0xd1, 0x60, 0x84, 0x7f, 0x06, 0x12, 0x52, 0x86, + 0x45, 0x06, 0xde, 0x22, 0x56, 0xc6, 0xc5, 0xd4, 0x2a, 0x30, 0x9e, 0xbd, 0xbb, 0x4c, 0x7c, 0x61, + 0x8e, 0x83, 0xbe, 0x25, 0xb2, 0x92, 0x3d, 0x28, 0x94, 0x7a, 0x9e, 0xdb, 0x9f, 0x0c, 0x5b, 0xa7, + 0x7b, 0x72, 0xdc, 0xe0, 0x6d, 0x59, 0x3e, 0x60, 0xd9, 0xf0, 0xa9, 0x12, 0x77, 0x72, 0xb9, 0x20, + 0xd2, 0x0a, 0x7c, 0x89, 0x72, 0xa8, 0xa9, 0xfc, 0xe4, 0x8c, 0xfe, 0x89, 0x13, 0x31, 0x5f, 0xd4, + 0x51, 0x8e, 0x3b, 0x1b, 0x39, 0xb0, 0x5a, 0x75, 0xfd, 0x71, 0x6b, 0xe4, 0xf6, 0x7d, 0x04, 0x7d, + 0x3c, 0x05, 0x28, 0xd6, 0x96, 0x08, 0x28, 0x8c, 0x3a, 0xc6, 0x71, 0x90, 0x95, 0x69, 0x30, 0xa3, + 0xc5, 0x51, 0x79, 0xa9, 0xd2, 0xed, 0xbb, 0xbd, 0xee, 0xdb, 0xc2, 0xe5, 0x92, 0xc9, 0x4b, 0x87, + 0x82, 0x68, 0x85, 0xe9, 0xda, 0x57, 0x12, 0xe3, 0xc6, 0x6a, 0x59, 0x80, 0x45, 0xee, 0x90, 0xcf, + 0x1c, 0xd4, 0x9b, 0x46, 0xbd, 0x6c, 0xd6, 0x77, 0x54, 0x85, 0xac, 0x02, 0x34, 0xad, 0x46, 0xc9, + 0xb0, 0x6d, 0xfa, 0x3b, 0x43, 0x7f, 0x73, 0xef, 0xf5, 0x4a, 0xbb, 0xaa, 0x66, 0x25, 0x07, 0xf6, + 0x9c, 0xf6, 0x43, 0x05, 0xce, 0xa5, 0x0f, 0x25, 0x69, 0x01, 0x42, 0x18, 0xf0, 0xc7, 0xe7, 0x4f, + 0xcf, 0x1c, 0xf7, 0x54, 0x72, 0x1c, 0x0a, 0x61, 0xcc, 0x5c, 0xec, 0x33, 0xe2, 0xb1, 0x88, 0xf9, + 0xec, 0x75, 0x3b, 0x56, 0xa6, 0xdb, 0xd1, 0x4a, 0xb0, 0x31, 0xad, 0x8c, 0x68, 0x53, 0xd7, 0xa0, + 0xa0, 0x37, 0x9b, 0x55, 0xb3, 0xa4, 0xb7, 0xcc, 0x46, 0x5d, 0x55, 0xc8, 0x12, 0xcc, 0xef, 0x58, + 0x8d, 0x76, 0x53, 0xcd, 0x68, 0xdf, 0x53, 0x60, 0xc5, 0x0c, 0xcd, 0xb4, 0x9e, 0x77, 0xf1, 0x7d, + 0x36, 0xb2, 0xf8, 0x36, 0x02, 0xb0, 0x8f, 0xe0, 0x03, 0xa7, 0x5a, 0x79, 0x7f, 0xaf, 0xc0, 0x7a, + 0x22, 0x0f, 0xb1, 0x61, 0x51, 0xdf, 0xb7, 0x1b, 0x66, 0xb9, 0xc4, 0x6b, 0x76, 0x39, 0xb4, 0x2f, + 0xc2, 0x78, 0x4e, 0x89, 0xaf, 0x30, 0x07, 0xd9, 0xc7, 0xbe, 0x33, 0xe8, 0x76, 0xa4, 0x58, 0xac, + 0xbb, 0x73, 0x96, 0x28, 0x09, 0x4f, 0xb2, 0xb7, 0x27, 0x23, 0x0f, 0x8b, 0xcd, 0x44, 0x14, 0xa1, + 0x01, 0x3d, 0x59, 0x30, 0xba, 0x33, 0xb8, 0x34, 0x3d, 0x59, 0x74, 0x58, 0xde, 0xf6, 0x0a, 0x14, + 0xf8, 0xad, 0x05, 0x2f, 0x04, 0x3f, 0x50, 0x60, 0x63, 0x5a, 0x5d, 0xe9, 0x45, 0x28, 0xea, 0x2d, + 0x7f, 0x2e, 0x88, 0xcf, 0x10, 0x75, 0x93, 0x17, 0x6c, 0xe4, 0x8b, 0x50, 0x30, 0x7d, 0x7f, 0xe2, + 0x8d, 0xec, 0x57, 0xda, 0x96, 0xc9, 0x27, 0xc8, 0xc5, 0x7f, 0x7f, 0xef, 0xf2, 0x79, 0x74, 0x3a, + 0x18, 0x39, 0xfe, 0x2b, 0xce, 0x64, 0xd4, 0x8d, 0x60, 0xd9, 0xcb, 0x39, 0xa8, 0xdc, 0xea, 0x4e, + 0x3a, 0x5d, 0x4f, 0x48, 0xed, 0xc2, 0xa3, 0x98, 0xd3, 0xe4, 0x53, 0x44, 0xd0, 0xb4, 0x6f, 0x2b, + 0xb0, 0x39, 0xbd, 0x63, 0xe8, 0xc9, 0xd4, 0x62, 0x56, 0x3f, 0xc2, 0xa7, 0x17, 0x4f, 0xa6, 0xc0, + 0x34, 0x48, 0x2e, 0x53, 0x30, 0xd2, 0x4c, 0x41, 0x6c, 0xf4, 0x4c, 0x22, 0x20, 0x72, 0x34, 0x93, + 0x60, 0xd4, 0xfe, 0x23, 0x03, 0xe7, 0xe8, 0xa4, 0xeb, 0x79, 0xbe, 0xaf, 0x4f, 0xc6, 0xc7, 0x5e, + 0x7f, 0xcc, 0xc5, 0x30, 0xf2, 0x2a, 0x2c, 0x1c, 0x3f, 0x9b, 0xca, 0x91, 0xb1, 0x13, 0x02, 0xb8, + 0x91, 0x0b, 0x17, 0x0a, 0xfa, 0x3f, 0xb9, 0x0a, 0x72, 0x08, 0xea, 0x2c, 0x82, 0x60, 0x66, 0x36, + 0x14, 0x6b, 0x69, 0x18, 0x44, 0x8b, 0xfd, 0x0c, 0xcc, 0xa3, 0x9a, 0x81, 0x6f, 0xa9, 0x42, 0x14, + 0x4e, 0xaf, 0x1d, 0x2a, 0x21, 0x2c, 0x96, 0x81, 0x7c, 0x02, 0x20, 0x8c, 0x1f, 0xc0, 0xf7, 0x4c, + 0x71, 0xfd, 0x0e, 0x42, 0x08, 0x58, 0x4b, 0x27, 0x87, 0x2e, 0x07, 0xe5, 0x2f, 0xc2, 0xba, 0xe8, + 0x96, 0xa1, 0xc0, 0xce, 0xe3, 0xaf, 0x61, 0x6b, 0x2c, 0xc1, 0x1c, 0x0a, 0xfc, 0xbc, 0xeb, 0x89, + 0x30, 0xba, 0x08, 0xa1, 0x1b, 0x8b, 0x95, 0x7b, 0x3d, 0x11, 0x2b, 0x37, 0xcf, 0xb8, 0xe4, 0x80, + 0xb8, 0xda, 0xbf, 0x66, 0x60, 0x69, 0x9f, 0x0a, 0x2b, 0x78, 0x05, 0x9f, 0x7d, 0xa5, 0xbf, 0x07, + 0x85, 0xea, 0xc0, 0xe5, 0xcf, 0x0e, 0xdc, 0xf3, 0x80, 0x79, 0xfe, 0xf6, 0x06, 0xae, 0x78, 0xc1, + 0xf0, 0x2d, 0x99, 0xe9, 0x29, 0x5e, 0xcb, 0x0f, 0x60, 0x81, 0x3d, 0x03, 0x71, 0xed, 0x92, 0x10, + 0x57, 0x83, 0x1a, 0xbd, 0xcc, 0x92, 0x25, 0x4d, 0x39, 0x7b, 0x4a, 0x92, 0x65, 0x27, 0x8e, 0x04, + 0x2a, 0x29, 0x1c, 0xe6, 0x4f, 0xa7, 0x70, 0x90, 0x10, 0xcf, 0x16, 0x4e, 0x83, 0x78, 0xb6, 0x79, + 0x1f, 0x0a, 0x52, 0x7d, 0x9e, 0x49, 0x7a, 0xfd, 0x56, 0x06, 0x56, 0xb0, 0x55, 0x81, 0x4d, 0xc8, + 0xcf, 0xa6, 0xfa, 0xe4, 0xb3, 0x11, 0xf5, 0xc9, 0x86, 0x3c, 0x5e, 0xac, 0x65, 0x33, 0xf4, 0x26, + 0x0f, 0x60, 0x3d, 0xc1, 0x48, 0x3e, 0x05, 0xf3, 0xb4, 0xfa, 0xe2, 0xba, 0xa9, 0xc6, 0x67, 0x40, + 0x88, 0x8e, 0x4b, 0x1b, 0xee, 0x5b, 0x8c, 0x5b, 0xfb, 0x6f, 0x05, 0x96, 0x79, 0x70, 0x8a, 0xfe, + 0xe1, 0xe0, 0xa9, 0xdd, 0x79, 0x33, 0xde, 0x9d, 0x0c, 0x83, 0x83, 0x77, 0xe7, 0xff, 0x76, 0x27, + 0xde, 0x8f, 0x74, 0xe2, 0xf9, 0x00, 0x2b, 0x4f, 0x34, 0x67, 0x46, 0x1f, 0xfe, 0x0d, 0xa2, 0xc7, + 0x46, 0x19, 0xc9, 0xd7, 0x60, 0xa9, 0xee, 0x3d, 0x8e, 0xdc, 0xda, 0x6e, 0x4e, 0x29, 0xf4, 0xe5, + 0x80, 0x91, 0xad, 0x29, 0x3c, 0xf0, 0xfa, 0xde, 0x63, 0x27, 0xf1, 0x02, 0x15, 0x16, 0x49, 0x2f, + 0x6e, 0xd1, 0x6c, 0xcf, 0x32, 0xf5, 0xb9, 0x1b, 0x24, 0xc2, 0xca, 0x7c, 0x27, 0x0b, 0x10, 0x7a, + 0x90, 0xd1, 0x05, 0x18, 0x79, 0x7c, 0x17, 0x0a, 0x6f, 0x24, 0xc9, 0x73, 0x5c, 0xbc, 0xc9, 0xdf, + 0xe4, 0x8a, 0xd9, 0xcc, 0x74, 0x2c, 0x43, 0x54, 0xd1, 0x96, 0xb8, 0xcb, 0x52, 0xc7, 0xeb, 0xb9, + 0x6c, 0x6f, 0xcf, 0x6e, 0x5f, 0x47, 0xe8, 0xda, 0x80, 0x3a, 0x25, 0xca, 0x30, 0x3a, 0x36, 0x95, + 0x29, 0x43, 0xc2, 0x2b, 0x33, 0xf7, 0x6c, 0x5e, 0x99, 0x4d, 0x58, 0xea, 0xf6, 0xdf, 0xf2, 0xfa, + 0xe3, 0xc1, 0xe8, 0x09, 0x6a, 0xa3, 0x43, 0x35, 0x17, 0xed, 0x02, 0x53, 0xa4, 0xb1, 0x71, 0xc0, + 0x83, 0x31, 0xe0, 0x97, 0x87, 0x21, 0x20, 0x06, 0x5e, 0xa5, 0xf3, 0xea, 0xc2, 0x83, 0x5c, 0x7e, + 0x41, 0x5d, 0x7c, 0x90, 0xcb, 0xe7, 0xd5, 0xa5, 0x07, 0xb9, 0xfc, 0x92, 0x0a, 0x96, 0xf4, 0xbe, + 0x13, 0xbc, 0xdf, 0x48, 0x4f, 0x2e, 0xd1, 0xe7, 0x14, 0xed, 0xa7, 0x19, 0x20, 0xc9, 0x6a, 0x90, + 0xcf, 0x42, 0x81, 0x6d, 0xb0, 0xce, 0xc8, 0xff, 0x06, 0x37, 0x5b, 0x67, 0xe0, 0x3c, 0x12, 0x59, + 0x06, 0xe7, 0x61, 0x64, 0xcb, 0xff, 0x46, 0x8f, 0x7c, 0x15, 0xce, 0x60, 0xf7, 0x0e, 0xbd, 0x51, + 0x77, 0xd0, 0x71, 0x10, 0x49, 0xd5, 0xed, 0xf1, 0x88, 0x80, 0x2f, 0x61, 0xe8, 0xda, 0x64, 0xf2, + 0x94, 0x61, 0x40, 0x47, 0xb1, 0x26, 0x72, 0x36, 0x19, 0x23, 0x69, 0x81, 0x2a, 0xe7, 0x3f, 0x9c, + 0xf4, 0x7a, 0x7c, 0x64, 0x8b, 0xf4, 0xa2, 0x1b, 0x4f, 0x9b, 0x52, 0xf0, 0x6a, 0x58, 0x70, 0x65, + 0xd2, 0xeb, 0x91, 0x57, 0x01, 0x06, 0x7d, 0xe7, 0xa4, 0xeb, 0xfb, 0xec, 0x8d, 0x23, 0xf0, 0x69, + 0x0d, 0xa9, 0xf2, 0x60, 0x0c, 0xfa, 0x35, 0x46, 0x24, 0xbf, 0x00, 0xe8, 0xd3, 0x8f, 0x60, 0x17, + 0xcc, 0xaa, 0x85, 0xc7, 0xf8, 0x10, 0xc4, 0xa8, 0x0b, 0xed, 0x91, 0x67, 0x77, 0xdf, 0x16, 0x2e, + 0x03, 0xaf, 0xc3, 0x3a, 0x37, 0x42, 0xdd, 0xef, 0x8e, 0x8f, 0xb9, 0x84, 0xfd, 0x3c, 0xe2, 0xb9, + 0x24, 0x62, 0xff, 0x63, 0x0e, 0x40, 0xdf, 0xb7, 0x05, 0x8e, 0xd4, 0x6d, 0x98, 0xa7, 0xf7, 0x06, + 0xa1, 0x7f, 0x40, 0xed, 0x2d, 0x96, 0x2b, 0x6b, 0x6f, 0x91, 0x83, 0xae, 0x46, 0x0b, 0x8d, 0xb3, + 0x85, 0xee, 0x01, 0x57, 0x23, 0xb3, 0xd7, 0x8e, 0xe0, 0xf8, 0x72, 0x2e, 0x52, 0x05, 0x08, 0x91, + 0x9d, 0xf8, 0x4d, 0x76, 0x3d, 0x84, 0x48, 0xe1, 0x09, 0x3c, 0x96, 0x40, 0x88, 0x0e, 0x25, 0x4f, + 0x9f, 0x90, 0x8d, 0x3c, 0x84, 0x5c, 0xcb, 0x0d, 0x3c, 0x36, 0xa7, 0xe0, 0x5d, 0x5d, 0xe1, 0x11, + 0x1b, 0x43, 0xcc, 0xab, 0xd5, 0xb1, 0x1b, 0x09, 0x6c, 0x8b, 0x85, 0x10, 0x03, 0x16, 0x78, 0x34, + 0xee, 0x29, 0x38, 0x89, 0x3c, 0x18, 0x37, 0x47, 0x47, 0x46, 0xa2, 0x2c, 0x53, 0xf0, 0xb8, 0xdb, + 0xf7, 0x20, 0x6b, 0xdb, 0x35, 0x8e, 0xf2, 0xb0, 0x12, 0xde, 0x4a, 0x6c, 0xbb, 0xc6, 0xde, 0x28, + 0x7d, 0xff, 0x44, 0xca, 0x46, 0x99, 0xc9, 0xe7, 0xa0, 0x20, 0x89, 0xcf, 0x1c, 0x1f, 0x05, 0xfb, + 0x40, 0xf2, 0x9a, 0x91, 0x37, 0x0d, 0x89, 0x9b, 0x54, 0x41, 0x7d, 0x38, 0x79, 0xd3, 0xd3, 0x87, + 0x43, 0x74, 0x96, 0x7b, 0xcb, 0x1b, 0x31, 0xb1, 0x2d, 0x1f, 0x02, 0x0b, 0xa3, 0xad, 0x7d, 0x47, + 0xa4, 0xca, 0x3a, 0x98, 0x78, 0x4e, 0xd2, 0x84, 0x75, 0xdb, 0x1b, 0x4f, 0x86, 0xcc, 0x4e, 0xa3, + 0x32, 0x18, 0xd1, 0x4b, 0x08, 0x43, 0x53, 0x41, 0x0c, 0x56, 0x9f, 0x26, 0x0a, 0xe3, 0x98, 0xc3, + 0xc1, 0x28, 0x76, 0x21, 0x49, 0x66, 0xd6, 0x3c, 0x79, 0xc8, 0xe9, 0xa9, 0x1a, 0xbd, 0xda, 0xe0, + 0xa9, 0x2a, 0xae, 0x36, 0xe1, 0x85, 0xe6, 0x13, 0x29, 0x88, 0x5f, 0xf8, 0x60, 0x26, 0x21, 0x7e, + 0x45, 0x70, 0xbe, 0xde, 0xc9, 0x49, 0xa0, 0x93, 0x7c, 0x2c, 0x3e, 0x0f, 0xf0, 0x60, 0xd0, 0xed, + 0xd7, 0xbc, 0xf1, 0xf1, 0xa0, 0x23, 0x01, 0x8f, 0x15, 0x7e, 0x79, 0xd0, 0xed, 0x3b, 0x27, 0x48, + 0xfe, 0xe9, 0x7b, 0x97, 0x25, 0x26, 0x4b, 0xfa, 0x9f, 0x7c, 0x1c, 0x96, 0xe8, 0xaf, 0x56, 0x68, + 0x6d, 0xc2, 0x54, 0x95, 0x98, 0x9b, 0x85, 0x66, 0x08, 0x19, 0xc8, 0x7d, 0x0c, 0x46, 0xd2, 0x1d, + 0x8e, 0x25, 0xe1, 0x55, 0x44, 0x1e, 0xe9, 0x0e, 0xc7, 0x71, 0x1c, 0x61, 0x89, 0x99, 0xec, 0x06, + 0x55, 0x17, 0xf1, 0x83, 0x78, 0xcc, 0x13, 0xd4, 0xc7, 0xf1, 0xb9, 0xe6, 0x08, 0x00, 0x53, 0x39, + 0xd2, 0x6b, 0x2c, 0x1b, 0x56, 0xc2, 0xde, 0x2d, 0xb3, 0x07, 0x14, 0x2e, 0xd4, 0xb2, 0x4a, 0xf8, + 0xc7, 0x1d, 0xe7, 0x00, 0xc9, 0x91, 0x4a, 0x04, 0xcc, 0x64, 0x1b, 0xd6, 0x98, 0x8c, 0x1f, 0xc4, + 0x21, 0xe4, 0x22, 0x2e, 0xee, 0x6d, 0x61, 0xa0, 0x42, 0xf9, 0xf3, 0xb1, 0x0c, 0xa4, 0x02, 0xf3, + 0x78, 0x21, 0xe4, 0x26, 0xe6, 0x5b, 0xf2, 0xed, 0x39, 0xbe, 0x8e, 0x70, 0x5f, 0xc1, 0x7b, 0xb3, + 0xbc, 0xaf, 0x20, 0x2b, 0xf9, 0x32, 0x80, 0xd1, 0x1f, 0x0d, 0x7a, 0x3d, 0x84, 0xd8, 0xcd, 0xe3, + 0x55, 0xea, 0x62, 0x74, 0x3d, 0x62, 0x29, 0x21, 0x13, 0x87, 0x83, 0xc3, 0xdf, 0x4e, 0x0c, 0x88, + 0x57, 0x2a, 0x4b, 0x33, 0x61, 0x81, 0x2d, 0x46, 0x84, 0xab, 0xe6, 0x01, 0x38, 0x24, 0xb0, 0x63, + 0x06, 0x57, 0xcd, 0xe9, 0x49, 0xb8, 0x6a, 0x29, 0x83, 0xf6, 0x10, 0xce, 0xa6, 0x35, 0x2c, 0x72, + 0x85, 0x55, 0x4e, 0x7b, 0x85, 0xfd, 0x93, 0x2c, 0x2c, 0x63, 0x69, 0x62, 0x17, 0xd6, 0x61, 0xc5, + 0x9e, 0xbc, 0x19, 0x60, 0x39, 0x89, 0xdd, 0x18, 0xeb, 0xe7, 0xcb, 0x09, 0xf2, 0xd3, 0x56, 0x24, + 0x07, 0x31, 0x60, 0x55, 0x9c, 0x04, 0x3b, 0xc2, 0x02, 0x3d, 0x40, 0x8a, 0x16, 0x78, 0x84, 0xc9, + 0x38, 0xac, 0xb1, 0x4c, 0xe1, 0x79, 0x90, 0x7d, 0x96, 0xf3, 0x20, 0x77, 0xaa, 0xf3, 0xe0, 0x0d, + 0x58, 0x16, 0x5f, 0xc3, 0x9d, 0x7c, 0xfe, 0xf9, 0x76, 0xf2, 0x48, 0x61, 0xa4, 0x1a, 0xec, 0xe8, + 0x0b, 0x33, 0x77, 0x74, 0x7c, 0x2f, 0x14, 0xab, 0x6c, 0x88, 0xb4, 0xe4, 0xc6, 0x8e, 0x81, 0x0a, + 0x77, 0x4a, 0xcd, 0x0f, 0x70, 0x4a, 0x7e, 0x0a, 0x96, 0xaa, 0x03, 0xf1, 0x54, 0x24, 0xe9, 0xe8, + 0x7b, 0x82, 0x28, 0x8b, 0x0b, 0x01, 0x67, 0x70, 0xba, 0x65, 0x3f, 0x8c, 0xd3, 0xed, 0x3e, 0x00, + 0x77, 0x6d, 0x08, 0x03, 0x8c, 0xe1, 0x92, 0x11, 0x38, 0x16, 0xd1, 0xa7, 0x02, 0x89, 0x99, 0xee, + 0x4e, 0xdc, 0x0a, 0x45, 0x3f, 0x38, 0x18, 0x4c, 0xfa, 0xe3, 0x48, 0x44, 0x5e, 0xe1, 0x09, 0xe9, + 0xf2, 0x34, 0x79, 0x7b, 0x88, 0x65, 0xfb, 0x70, 0x07, 0x84, 0xbc, 0x16, 0x18, 0xd1, 0x2d, 0xce, + 0xea, 0x21, 0x2d, 0xd1, 0x43, 0x53, 0x4d, 0xe7, 0xb4, 0x1f, 0x2a, 0x32, 0x4c, 0xff, 0x07, 0x18, + 0xea, 0xcf, 0x00, 0x04, 0x6f, 0xf5, 0x62, 0xac, 0xd9, 0x7d, 0x29, 0xa0, 0xca, 0xbd, 0x1c, 0xf2, + 0x4a, 0xad, 0xc9, 0x7e, 0x58, 0xad, 0x69, 0x41, 0xa1, 0xf1, 0xf5, 0xb1, 0x1b, 0x1a, 0x77, 0x80, + 0x1d, 0x48, 0xb2, 0xb8, 0x33, 0x65, 0xb7, 0x6f, 0xe0, 0xd9, 0x10, 0xca, 0xc1, 0x53, 0x44, 0x60, + 0x29, 0xa3, 0xf6, 0x1a, 0xac, 0xc9, 0xde, 0xdb, 0x4f, 0xfa, 0x07, 0xe4, 0x0b, 0x0c, 0x34, 0x54, + 0x89, 0xdc, 0x58, 0x24, 0x26, 0xba, 0xe3, 0x3e, 0xe9, 0x1f, 0x30, 0xf9, 0xc7, 0x7d, 0x2c, 0xd7, + 0x15, 0xef, 0x78, 0x3f, 0x56, 0x80, 0x24, 0xd9, 0xe5, 0xdd, 0x44, 0xf9, 0x3f, 0x90, 0x2e, 0x63, + 0x52, 0x59, 0xee, 0x59, 0xa4, 0xb2, 0xe2, 0xef, 0x2a, 0xb0, 0x66, 0xea, 0x35, 0x8e, 0xa9, 0xcf, + 0xde, 0x1c, 0xae, 0xc2, 0x45, 0x53, 0xaf, 0x39, 0xcd, 0x46, 0xd5, 0x2c, 0x3d, 0x72, 0x52, 0xa1, + 0x72, 0x2f, 0xc2, 0x8b, 0x49, 0x96, 0xf0, 0x6d, 0xe2, 0x02, 0x6c, 0x24, 0x93, 0x05, 0x9c, 0x6e, + 0x7a, 0x66, 0x81, 0xbc, 0x9b, 0x2d, 0x7e, 0x11, 0xd6, 0x04, 0x74, 0x6c, 0xab, 0x6a, 0x23, 0x38, + 0xfd, 0x1a, 0x14, 0xf6, 0x0c, 0xcb, 0xac, 0x3c, 0x72, 0x2a, 0xed, 0x6a, 0x55, 0x9d, 0x23, 0x2b, + 0xb0, 0xc4, 0x09, 0x25, 0x5d, 0x55, 0xc8, 0x32, 0xe4, 0xcd, 0xba, 0x6d, 0x94, 0xda, 0x96, 0xa1, + 0x66, 0x8a, 0x5f, 0x84, 0xd5, 0xe6, 0xa8, 0xfb, 0x96, 0x3b, 0xf6, 0x1e, 0x7a, 0x4f, 0xf0, 0x69, + 0x61, 0x11, 0xb2, 0x96, 0xbe, 0xaf, 0xce, 0x11, 0x80, 0x85, 0xe6, 0xc3, 0x92, 0x7d, 0xf7, 0xae, + 0xaa, 0x90, 0x02, 0x2c, 0xee, 0x94, 0x9a, 0xce, 0xc3, 0x9a, 0xad, 0x66, 0xe8, 0x0f, 0x7d, 0xdf, + 0xc6, 0x1f, 0xd9, 0xe2, 0x27, 0x61, 0x1d, 0x65, 0x85, 0x6a, 0xd7, 0x1f, 0x7b, 0x7d, 0x6f, 0x84, + 0x75, 0x58, 0x86, 0xbc, 0xed, 0xd1, 0x45, 0x3e, 0xf6, 0x58, 0x05, 0x6a, 0x93, 0xde, 0xb8, 0x3b, + 0xec, 0x79, 0xdf, 0x54, 0x95, 0xe2, 0x7d, 0x58, 0xb3, 0x06, 0x93, 0x71, 0xb7, 0x7f, 0x64, 0x8f, + 0x29, 0xc7, 0xd1, 0x13, 0xf2, 0x02, 0xac, 0xb7, 0xeb, 0x7a, 0x6d, 0xdb, 0xdc, 0x69, 0x37, 0xda, + 0xb6, 0x53, 0xd3, 0x5b, 0xa5, 0x5d, 0xf6, 0xb0, 0x51, 0x6b, 0xd8, 0x2d, 0xc7, 0x32, 0x4a, 0x46, + 0xbd, 0xa5, 0x2a, 0xc5, 0xef, 0xa2, 0xda, 0xe3, 0x60, 0xd0, 0xef, 0x54, 0xdc, 0x83, 0xf1, 0x60, + 0x84, 0x15, 0xd6, 0xe0, 0x92, 0x6d, 0x94, 0x1a, 0xf5, 0xb2, 0x53, 0xd1, 0x4b, 0xad, 0x86, 0x95, + 0x86, 0xd5, 0xbc, 0x09, 0xe7, 0x52, 0x78, 0x1a, 0xad, 0xa6, 0xaa, 0x90, 0xcb, 0xb0, 0x95, 0x92, + 0xb6, 0x6f, 0x6c, 0xeb, 0xed, 0xd6, 0x6e, 0x5d, 0xcd, 0x4c, 0xc9, 0x6c, 0xdb, 0x0d, 0x35, 0x5b, + 0xfc, 0x4d, 0x05, 0x56, 0xdb, 0x3e, 0xb7, 0x2a, 0x6e, 0xa3, 0x43, 0xe1, 0x15, 0xb8, 0xd0, 0xb6, + 0x0d, 0xcb, 0x69, 0x35, 0x1e, 0x1a, 0x75, 0xa7, 0x6d, 0xeb, 0x3b, 0xf1, 0xda, 0x5c, 0x86, 0x2d, + 0x89, 0xc3, 0x32, 0x4a, 0x8d, 0x3d, 0xc3, 0x72, 0x9a, 0xba, 0x6d, 0xef, 0x37, 0xac, 0xb2, 0xaa, + 0xd0, 0x2f, 0xa6, 0x30, 0xd4, 0x2a, 0x3a, 0xab, 0x4d, 0x24, 0xad, 0x6e, 0xec, 0xeb, 0x55, 0x67, + 0xbb, 0xd1, 0x52, 0xb3, 0xc5, 0x1a, 0x3d, 0x7a, 0x11, 0x31, 0x95, 0xd9, 0xc2, 0xe5, 0x21, 0x57, + 0x6f, 0xd4, 0x8d, 0xf8, 0x73, 0xd8, 0x32, 0xe4, 0xf5, 0x66, 0xd3, 0x6a, 0xec, 0xe1, 0x14, 0x03, + 0x58, 0x28, 0x1b, 0x75, 0x5a, 0xb3, 0x2c, 0x4d, 0x69, 0x5a, 0x8d, 0x5a, 0xa3, 0x65, 0x94, 0xd5, + 0x5c, 0xd1, 0x12, 0x4b, 0x58, 0x14, 0x7a, 0x30, 0x60, 0x6f, 0x4f, 0x65, 0xa3, 0xa2, 0xb7, 0xab, + 0x2d, 0x3e, 0x44, 0x8f, 0x1c, 0xcb, 0x78, 0xad, 0x6d, 0xd8, 0x2d, 0x5b, 0x55, 0x88, 0x0a, 0xcb, + 0x75, 0xc3, 0x28, 0xdb, 0x8e, 0x65, 0xec, 0x99, 0xc6, 0xbe, 0x9a, 0xa1, 0x65, 0xb2, 0xff, 0xe9, + 0x17, 0x8a, 0xef, 0x28, 0x40, 0x18, 0xda, 0xac, 0x08, 0x61, 0x82, 0x33, 0xe6, 0x12, 0x6c, 0xee, + 0xd2, 0xa1, 0xc6, 0xa6, 0xd5, 0x1a, 0xe5, 0x78, 0x97, 0x9d, 0x03, 0x12, 0x4b, 0x6f, 0x54, 0x2a, + 0xaa, 0x42, 0xb6, 0xe0, 0x4c, 0x8c, 0x5e, 0xb6, 0x1a, 0x4d, 0x35, 0xb3, 0x99, 0xc9, 0x2b, 0xe4, + 0x7c, 0x22, 0xf1, 0xa1, 0x61, 0x34, 0xd5, 0x2c, 0x1d, 0xa2, 0x58, 0x82, 0x58, 0x12, 0x2c, 0x7b, + 0xae, 0xf8, 0x6d, 0x05, 0xce, 0xb1, 0x6a, 0x8a, 0xf5, 0x15, 0x54, 0xf5, 0x02, 0x6c, 0x70, 0x0c, + 0xed, 0xb4, 0x8a, 0x9e, 0x05, 0x35, 0x92, 0xca, 0xaa, 0xf9, 0x02, 0xac, 0x47, 0xa8, 0x58, 0x8f, + 0x0c, 0xdd, 0x3d, 0x22, 0xe4, 0x6d, 0xc3, 0x6e, 0x39, 0x46, 0xa5, 0xd2, 0xb0, 0x5a, 0xac, 0x22, + 0xd9, 0xa2, 0x06, 0xeb, 0x25, 0x6f, 0x34, 0xa6, 0xb7, 0xa2, 0xbe, 0xdf, 0x1d, 0xf4, 0xb1, 0x0a, + 0x2b, 0xb0, 0x64, 0x7c, 0xb9, 0x65, 0xd4, 0x6d, 0xb3, 0x51, 0x57, 0xe7, 0x8a, 0x17, 0x62, 0x3c, + 0x62, 0x1d, 0xdb, 0xf6, 0xae, 0x3a, 0x57, 0x74, 0x61, 0x45, 0xd8, 0xef, 0xb2, 0x59, 0x71, 0x09, + 0x36, 0xc5, 0x5c, 0xc3, 0x1d, 0x25, 0xde, 0x84, 0x0d, 0x38, 0x9b, 0x4c, 0x37, 0x5a, 0xaa, 0x42, + 0x47, 0x21, 0x96, 0x42, 0xe9, 0x99, 0xe2, 0xaf, 0x2b, 0xb0, 0x12, 0xbc, 0x67, 0xa0, 0x06, 0xf5, + 0x32, 0x6c, 0xd5, 0x2a, 0xba, 0x53, 0x36, 0xf6, 0xcc, 0x92, 0xe1, 0x3c, 0x34, 0xeb, 0xe5, 0xd8, + 0x47, 0x5e, 0x84, 0x17, 0x52, 0x18, 0xf0, 0x2b, 0x1b, 0x70, 0x36, 0x9e, 0xd4, 0xa2, 0x4b, 0x35, + 0x43, 0xbb, 0x3e, 0x9e, 0x12, 0xac, 0xd3, 0x6c, 0xf1, 0x8f, 0x15, 0xd8, 0xe0, 0x31, 0xe2, 0xf9, + 0xcb, 0x0a, 0x0b, 0x1e, 0x82, 0xe8, 0xba, 0x45, 0xb8, 0xd9, 0xb2, 0xda, 0x76, 0xcb, 0x28, 0x8b, + 0xec, 0x74, 0xd2, 0x9a, 0x96, 0x51, 0x33, 0xea, 0xad, 0x58, 0xdd, 0xee, 0xc0, 0xc7, 0x66, 0xf0, + 0xd6, 0x1b, 0x2d, 0xf1, 0x9b, 0xae, 0xd5, 0x8f, 0xc1, 0xb5, 0x19, 0xcc, 0x01, 0x63, 0xa6, 0xb8, + 0x07, 0xab, 0xb6, 0x5e, 0xab, 0x56, 0x06, 0xa3, 0x03, 0x4f, 0x9f, 0x8c, 0x8f, 0xfb, 0x64, 0x0b, + 0xce, 0x57, 0x1a, 0x56, 0xc9, 0x70, 0xb0, 0x05, 0xb1, 0x4a, 0x9c, 0x81, 0x35, 0x39, 0xf1, 0x91, + 0x41, 0x57, 0x17, 0x81, 0x55, 0x99, 0x58, 0x6f, 0xa8, 0x99, 0xe2, 0x57, 0x60, 0x39, 0x12, 0x68, + 0xed, 0x3c, 0x9c, 0x91, 0x7f, 0x37, 0xbd, 0x7e, 0xa7, 0xdb, 0x3f, 0x52, 0xe7, 0xe2, 0x09, 0xd6, + 0xa4, 0xdf, 0xa7, 0x09, 0xb8, 0xdd, 0xc8, 0x09, 0x2d, 0x6f, 0x74, 0xd2, 0xed, 0xbb, 0x63, 0xaf, + 0xa3, 0x66, 0x8a, 0x2f, 0xc3, 0x4a, 0x04, 0xde, 0x99, 0xce, 0xab, 0x6a, 0x83, 0x9f, 0x0f, 0x35, + 0xa3, 0x6c, 0xb6, 0x6b, 0xea, 0x3c, 0xdd, 0x68, 0x76, 0xcd, 0x9d, 0x5d, 0x15, 0x8a, 0xdf, 0x53, + 0xe8, 0x0d, 0x05, 0xfb, 0xbd, 0x56, 0xd1, 0xc5, 0x4c, 0xa4, 0xab, 0x80, 0x81, 0xc6, 0x1b, 0xb6, + 0xcd, 0x1e, 0xa9, 0x2f, 0xc0, 0x06, 0xff, 0xe1, 0xe8, 0xf5, 0xb2, 0xb3, 0xab, 0x5b, 0xe5, 0x7d, + 0xdd, 0xa2, 0x4b, 0xe3, 0x91, 0x9a, 0xc1, 0xf5, 0x2e, 0x51, 0x9c, 0x56, 0xa3, 0x5d, 0xda, 0x55, + 0xb3, 0x74, 0x79, 0x45, 0xe8, 0x4d, 0xb3, 0xae, 0xe6, 0x70, 0xf7, 0x48, 0x70, 0x63, 0xb1, 0x34, + 0x7d, 0xbe, 0xf8, 0xbe, 0x02, 0xe7, 0xed, 0xee, 0x51, 0xdf, 0x1d, 0x4f, 0x46, 0x9e, 0xde, 0x3b, + 0x1a, 0x8c, 0xba, 0xe3, 0xe3, 0x13, 0x7b, 0xd2, 0x1d, 0x7b, 0xe4, 0x36, 0xdc, 0xb0, 0xcd, 0x9d, + 0xba, 0xde, 0xa2, 0xab, 0x5f, 0xaf, 0xee, 0x34, 0x2c, 0xb3, 0xb5, 0x5b, 0x73, 0xec, 0xb6, 0x99, + 0x58, 0x18, 0xd7, 0xe1, 0xca, 0x74, 0xd6, 0xaa, 0xb1, 0xa3, 0x97, 0x1e, 0xa9, 0xca, 0xec, 0x02, + 0xb7, 0xf5, 0xaa, 0x5e, 0x2f, 0x19, 0x65, 0x67, 0xef, 0xae, 0x9a, 0x21, 0x37, 0xe0, 0xea, 0x74, + 0xd6, 0x8a, 0xd9, 0xb4, 0x29, 0x5b, 0x76, 0xf6, 0x77, 0x77, 0xed, 0x1a, 0xe5, 0xca, 0x15, 0xff, + 0x48, 0x81, 0x8d, 0x69, 0x18, 0x3f, 0xe4, 0x26, 0x68, 0x46, 0xbd, 0x65, 0xe9, 0x66, 0xd9, 0x29, + 0x59, 0x46, 0xd9, 0xa8, 0xb7, 0x4c, 0xbd, 0x6a, 0x3b, 0x76, 0xa3, 0x4d, 0x67, 0x53, 0x68, 0x4b, + 0x70, 0x0d, 0x2e, 0xcf, 0xe0, 0x6b, 0x98, 0xe5, 0x92, 0xaa, 0x90, 0xbb, 0xf0, 0xd2, 0x0c, 0x26, + 0xfb, 0x91, 0xdd, 0x32, 0x6a, 0x72, 0x8a, 0x9a, 0x29, 0x96, 0x60, 0x73, 0x3a, 0x4c, 0x08, 0x3d, + 0x45, 0xa2, 0x3d, 0x9d, 0x87, 0x5c, 0x99, 0x1e, 0x5c, 0x91, 0xd8, 0x02, 0xc5, 0x2e, 0xa8, 0x71, + 0x4f, 0xff, 0x84, 0xd1, 0x87, 0xd5, 0xae, 0xd7, 0xd9, 0x29, 0xb7, 0x06, 0x85, 0x46, 0x6b, 0xd7, + 0xb0, 0x78, 0x74, 0x06, 0x0c, 0xc7, 0xd0, 0xae, 0xd3, 0x85, 0xd3, 0xb0, 0xcc, 0xd7, 0xf1, 0xb8, + 0xdb, 0x80, 0xb3, 0x76, 0x55, 0x2f, 0x3d, 0xc4, 0x35, 0x6d, 0xd6, 0x9d, 0xd2, 0xae, 0x5e, 0xaf, + 0x1b, 0x55, 0x15, 0xb0, 0x33, 0xa7, 0x79, 0xf7, 0x91, 0x8f, 0xc3, 0xad, 0xc6, 0xc3, 0x96, 0xee, + 0x34, 0xab, 0xed, 0x1d, 0xb3, 0xee, 0xd8, 0x8f, 0xea, 0x25, 0x21, 0x9a, 0x95, 0x92, 0x27, 0xc2, + 0x2d, 0xb8, 0x3e, 0x93, 0x3b, 0x8c, 0xa3, 0x70, 0x13, 0xb4, 0x99, 0x9c, 0xbc, 0x21, 0xc5, 0x1f, + 0x29, 0xb0, 0x35, 0xe3, 0xf5, 0x99, 0xbc, 0x04, 0xb7, 0x77, 0x0d, 0xbd, 0x5c, 0x35, 0x6c, 0x1b, + 0x37, 0x0a, 0x3a, 0x0c, 0xcc, 0x38, 0x24, 0x75, 0xbf, 0xbf, 0x0d, 0x37, 0x66, 0xb3, 0x87, 0x92, + 0xc3, 0x2d, 0xb8, 0x3e, 0x9b, 0x95, 0x4b, 0x12, 0x19, 0xba, 0xdf, 0xce, 0xe6, 0x0c, 0x24, 0x90, + 0x6c, 0xf1, 0xb7, 0x15, 0x38, 0x97, 0xae, 0x02, 0xa2, 0x75, 0x33, 0xeb, 0x76, 0x4b, 0xaf, 0x56, + 0x9d, 0xa6, 0x6e, 0xe9, 0x35, 0xc7, 0xa8, 0x5b, 0x8d, 0x6a, 0x35, 0xed, 0xe4, 0xbd, 0x0e, 0x57, + 0xa6, 0xb3, 0xda, 0x25, 0xcb, 0x6c, 0xd2, 0xc3, 0x45, 0x83, 0x4b, 0xd3, 0xb9, 0x0c, 0xb3, 0x64, + 0xa8, 0x99, 0xed, 0xcf, 0xbf, 0xfb, 0x2f, 0x97, 0xe6, 0xde, 0x7d, 0xff, 0x92, 0xf2, 0xe3, 0xf7, + 0x2f, 0x29, 0xff, 0xfc, 0xfe, 0x25, 0xe5, 0xf5, 0x3b, 0xa7, 0x0b, 0x41, 0x84, 0xd7, 0x92, 0x37, + 0x17, 0xd0, 0x1a, 0xea, 0x95, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0x30, 0xf7, 0x33, 0xe5, 0x56, + 0xb0, 0x01, 0x00, } func (this *PluginSpecV1) Equal(that interface{}) bool { @@ -48791,14 +48833,6 @@ func (m *AccessGraphSync) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n415, err415 := github_com_gogo_protobuf_types.StdDurationMarshalTo(m.PollInterval, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(m.PollInterval):]) - if err415 != nil { - return 0, err415 - } - i -= n415 - i = encodeVarintTypes(dAtA, i, uint64(n415)) - i-- - dAtA[i] = 0x12 if len(m.AWS) > 0 { for iNdEx := len(m.AWS) - 1; iNdEx >= 0; iNdEx-- { { @@ -48871,6 +48905,63 @@ func (m *AccessGraphAWSSync) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *AccessGraphAzureSync) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *AccessGraphAzureSync) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *AccessGraphAzureSync) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if len(m.Integration) > 0 { + i -= len(m.Integration) + copy(dAtA[i:], m.Integration) + i = encodeVarintTypes(dAtA, i, uint64(len(m.Integration))) + i-- + dAtA[i] = 0x22 + } + if len(m.UmiClientId) > 0 { + i -= len(m.UmiClientId) + copy(dAtA[i:], m.UmiClientId) + i = encodeVarintTypes(dAtA, i, uint64(len(m.UmiClientId))) + i-- + dAtA[i] = 0x1a + } + if len(m.SubscriptionID) > 0 { + i -= len(m.SubscriptionID) + copy(dAtA[i:], m.SubscriptionID) + i = encodeVarintTypes(dAtA, i, uint64(len(m.SubscriptionID))) + i-- + dAtA[i] = 0x12 + } + if len(m.Regions) > 0 { + for iNdEx := len(m.Regions) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Regions[iNdEx]) + copy(dAtA[i:], m.Regions[iNdEx]) + i = encodeVarintTypes(dAtA, i, uint64(len(m.Regions[iNdEx]))) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + func encodeVarintTypes(dAtA []byte, offset int, v uint64) int { offset -= sovTypes(v) base := offset @@ -59872,6 +59963,12 @@ func (m *AccessGraphSync) Size() (n int) { n += 1 + l + sovTypes(uint64(l)) } } + if len(m.Azure) > 0 { + for _, e := range m.Azure { + l = e.Size() + n += 1 + l + sovTypes(uint64(l)) + } + } l = github_com_gogo_protobuf_types.SizeOfStdDuration(m.PollInterval) n += 1 + l + sovTypes(uint64(l)) if m.XXX_unrecognized != nil { @@ -59906,6 +60003,36 @@ func (m *AccessGraphAWSSync) Size() (n int) { return n } +func (m *AccessGraphAzureSync) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Regions) > 0 { + for _, s := range m.Regions { + l = len(s) + n += 1 + l + sovTypes(uint64(l)) + } + } + l = len(m.SubscriptionID) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) + } + l = len(m.UmiClientId) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) + } + l = len(m.Integration) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + func sovTypes(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -130087,6 +130214,40 @@ func (m *AccessGraphSync) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Azure", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Azure = append(m.Azure, &AccessGraphAzureSync{}) + if err := m.Azure[len(m.Azure)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) @@ -130260,6 +130421,185 @@ func (m *AccessGraphAWSSync) Unmarshal(dAtA []byte) error { } return nil } +func (m *AccessGraphAzureSync) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: AccessGraphAzureSync: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AccessGraphAzureSync: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Regions", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Regions = append(m.Regions, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SubscriptionID", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SubscriptionID = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UmiClientId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.UmiClientId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Integration", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Integration = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTypes + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTypes(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/gen/proto/go/accessgraph/v1alpha/access_graph_service.pb.go b/gen/proto/go/accessgraph/v1alpha/access_graph_service.pb.go index 1e751856eb604..c59aa73bcffa1 100644 --- a/gen/proto/go/accessgraph/v1alpha/access_graph_service.pb.go +++ b/gen/proto/go/accessgraph/v1alpha/access_graph_service.pb.go @@ -1347,6 +1347,175 @@ func (*EntraEventsStreamResponse) Descriptor() ([]byte, []int) { return file_accessgraph_v1alpha_access_graph_service_proto_rawDescGZIP(), []int{20} } +// AzureEventsStreamRequest is a request to send commands to the Azure importer +type AzureEventsStreamRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Operation: + // + // *AzureEventsStreamRequest_Sync + // *AzureEventsStreamRequest_Upsert + // *AzureEventsStreamRequest_Delete + Operation isAzureEventsStreamRequest_Operation `protobuf_oneof:"operation"` +} + +func (x *AzureEventsStreamRequest) Reset() { + *x = AzureEventsStreamRequest{} + mi := &file_accessgraph_v1alpha_access_graph_service_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AzureEventsStreamRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AzureEventsStreamRequest) ProtoMessage() {} + +func (x *AzureEventsStreamRequest) ProtoReflect() protoreflect.Message { + mi := &file_accessgraph_v1alpha_access_graph_service_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AzureEventsStreamRequest.ProtoReflect.Descriptor instead. +func (*AzureEventsStreamRequest) Descriptor() ([]byte, []int) { + return file_accessgraph_v1alpha_access_graph_service_proto_rawDescGZIP(), []int{21} +} + +func (m *AzureEventsStreamRequest) GetOperation() isAzureEventsStreamRequest_Operation { + if m != nil { + return m.Operation + } + return nil +} + +func (x *AzureEventsStreamRequest) GetSync() *AzureSyncOperation { + if x, ok := x.GetOperation().(*AzureEventsStreamRequest_Sync); ok { + return x.Sync + } + return nil +} + +func (x *AzureEventsStreamRequest) GetUpsert() *AzureResourceList { + if x, ok := x.GetOperation().(*AzureEventsStreamRequest_Upsert); ok { + return x.Upsert + } + return nil +} + +func (x *AzureEventsStreamRequest) GetDelete() *AzureResourceList { + if x, ok := x.GetOperation().(*AzureEventsStreamRequest_Delete); ok { + return x.Delete + } + return nil +} + +type isAzureEventsStreamRequest_Operation interface { + isAzureEventsStreamRequest_Operation() +} + +type AzureEventsStreamRequest_Sync struct { + Sync *AzureSyncOperation `protobuf:"bytes,1,opt,name=sync,proto3,oneof"` +} + +type AzureEventsStreamRequest_Upsert struct { + Upsert *AzureResourceList `protobuf:"bytes,2,opt,name=upsert,proto3,oneof"` +} + +type AzureEventsStreamRequest_Delete struct { + Delete *AzureResourceList `protobuf:"bytes,3,opt,name=delete,proto3,oneof"` +} + +func (*AzureEventsStreamRequest_Sync) isAzureEventsStreamRequest_Operation() {} + +func (*AzureEventsStreamRequest_Upsert) isAzureEventsStreamRequest_Operation() {} + +func (*AzureEventsStreamRequest_Delete) isAzureEventsStreamRequest_Operation() {} + +// AzureSyncOperation is a command that Teleport sends to the access graph service +// at the end of the sync process. +type AzureSyncOperation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *AzureSyncOperation) Reset() { + *x = AzureSyncOperation{} + mi := &file_accessgraph_v1alpha_access_graph_service_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AzureSyncOperation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AzureSyncOperation) ProtoMessage() {} + +func (x *AzureSyncOperation) ProtoReflect() protoreflect.Message { + mi := &file_accessgraph_v1alpha_access_graph_service_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AzureSyncOperation.ProtoReflect.Descriptor instead. +func (*AzureSyncOperation) Descriptor() ([]byte, []int) { + return file_accessgraph_v1alpha_access_graph_service_proto_rawDescGZIP(), []int{22} +} + +// AzureEventsStreamResponse is a response from AzureEventStreamRequest +type AzureEventsStreamResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *AzureEventsStreamResponse) Reset() { + *x = AzureEventsStreamResponse{} + mi := &file_accessgraph_v1alpha_access_graph_service_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AzureEventsStreamResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AzureEventsStreamResponse) ProtoMessage() {} + +func (x *AzureEventsStreamResponse) ProtoReflect() protoreflect.Message { + mi := &file_accessgraph_v1alpha_access_graph_service_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AzureEventsStreamResponse.ProtoReflect.Descriptor instead. +func (*AzureEventsStreamResponse) Descriptor() ([]byte, []int) { + return file_accessgraph_v1alpha_access_graph_service_proto_rawDescGZIP(), []int{23} +} + var File_accessgraph_v1alpha_access_graph_service_proto protoreflect.FileDescriptor var file_accessgraph_v1alpha_access_graph_service_proto_rawDesc = []byte{ @@ -1357,32 +1526,61 @@ var file_accessgraph_v1alpha_access_graph_service_proto_rawDesc = []byte{ 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x61, 0x77, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x67, 0x69, 0x74, - 0x6c, 0x61, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x61, 0x63, 0x63, 0x65, + 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x67, 0x69, + 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0x24, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x71, 0x0a, 0x0d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x05, 0x65, 0x64, 0x67, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x64, 0x67, - 0x65, 0x52, 0x05, 0x65, 0x64, 0x67, 0x65, 0x73, 0x22, 0x2c, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x46, - 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, - 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, - 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x22, 0x25, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xaa, 0x03, - 0x0a, 0x13, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x24, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x71, 0x0a, 0x0d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, + 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x05, 0x65, 0x64, 0x67, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x64, + 0x67, 0x65, 0x52, 0x05, 0x65, 0x64, 0x67, 0x65, 0x73, 0x22, 0x2c, 0x0a, 0x0e, 0x47, 0x65, 0x74, + 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, + 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, + 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x22, 0x25, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x46, 0x69, + 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xaa, + 0x03, 0x0a, 0x13, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, + 0x12, 0x3b, 0x0a, 0x06, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, + 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x12, 0x41, 0x0a, + 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x12, 0x5b, 0x0a, 0x14, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x73, + 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x12, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x6f, 0x0a, + 0x1b, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, + 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x48, 0x00, 0x52, 0x18, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x42, 0x0b, + 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xac, 0x03, 0x0a, 0x15, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x70, @@ -1408,177 +1606,175 @@ var file_accessgraph_v1alpha_access_graph_service_proto_rawDesc = []byte{ 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x18, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x42, 0x0b, 0x0a, - 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xac, 0x03, 0x0a, 0x15, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x56, 0x32, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x12, 0x3b, - 0x0a, 0x06, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x0f, 0x0a, 0x0d, 0x53, 0x79, + 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x16, 0x0a, 0x14, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x5b, 0x0a, 0x16, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, + 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, + 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x6f, 0x0a, 0x0a, 0x41, 0x75, 0x64, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x58, + 0x0a, 0x13, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x61, 0x74, 0x68, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x64, 0x48, 0x00, 0x52, 0x11, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x61, 0x74, + 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x22, 0x54, 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x5f, + 0x70, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x43, + 0x61, 0x50, 0x65, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x0a, 0x11, 0x52, + 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x43, 0x41, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1e, 0x0a, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x5f, 0x70, 0x65, 0x6d, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x50, 0x65, 0x6d, + 0x22, 0x14, 0x0a, 0x12, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x43, 0x41, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe2, 0x01, 0x0a, 0x16, 0x41, 0x57, 0x53, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x25, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x57, 0x53, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x12, 0x3e, + 0x0a, 0x06, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x73, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x57, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x12, 0x3e, + 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x57, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x0b, + 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x12, 0x0a, 0x10, 0x41, + 0x57, 0x53, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x19, 0x0a, 0x17, 0x41, 0x57, 0x53, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xee, 0x01, 0x0a, 0x19, 0x47, + 0x69, 0x74, 0x6c, 0x61, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, + 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x69, 0x74, + 0x6c, 0x61, 0x62, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x48, 0x00, 0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x12, 0x41, 0x0a, 0x06, 0x75, 0x70, 0x73, 0x65, + 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, + 0x69, 0x74, 0x6c, 0x61, 0x62, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x5b, - 0x0a, 0x14, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x5f, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x12, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, - 0x69, 0x73, 0x74, 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x6f, 0x0a, 0x1b, 0x65, - 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, - 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2e, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x48, 0x00, 0x52, 0x18, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x42, 0x0b, 0x0a, 0x09, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x0f, 0x0a, 0x0d, 0x53, 0x79, 0x6e, - 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x16, 0x0a, 0x14, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x5b, 0x0a, 0x16, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x05, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x05, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x6f, 0x0a, 0x0a, 0x41, 0x75, 0x64, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x58, 0x0a, - 0x13, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x61, 0x74, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x64, 0x48, 0x00, 0x52, 0x11, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x61, 0x74, 0x68, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x22, 0x54, 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x5f, 0x70, - 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x43, 0x61, - 0x50, 0x65, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x0a, 0x11, 0x52, 0x65, - 0x70, 0x6c, 0x61, 0x63, 0x65, 0x43, 0x41, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1e, 0x0a, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x5f, 0x70, 0x65, 0x6d, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0c, 0x52, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x50, 0x65, 0x6d, 0x22, - 0x14, 0x0a, 0x12, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x43, 0x41, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe2, 0x01, 0x0a, 0x16, 0x41, 0x57, 0x53, 0x45, 0x76, 0x65, + 0x61, 0x2e, 0x47, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x0b, + 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1c, 0x0a, 0x1a, 0x47, + 0x69, 0x74, 0x6c, 0x61, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xea, 0x01, 0x0a, 0x18, 0x45, 0x6e, + 0x74, 0x72, 0x61, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x61, + 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, + 0x04, 0x73, 0x79, 0x6e, 0x63, 0x12, 0x40, 0x0a, 0x06, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x6e, 0x74, 0x72, + 0x61, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, + 0x06, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x6e, + 0x74, 0x72, 0x61, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, + 0x00, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1b, 0x0a, 0x19, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0xea, 0x01, 0x0a, 0x18, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x3b, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, + 0x12, 0x3d, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x57, 0x53, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x12, 0x3e, 0x0a, - 0x06, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x41, 0x57, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, - 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x12, 0x3e, 0x0a, - 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x41, 0x57, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, - 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x0b, 0x0a, - 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x12, 0x0a, 0x10, 0x41, 0x57, - 0x53, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x19, - 0x0a, 0x17, 0x41, 0x57, 0x53, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xee, 0x01, 0x0a, 0x19, 0x47, 0x69, - 0x74, 0x6c, 0x61, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x69, 0x74, 0x6c, - 0x61, 0x62, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, - 0x00, 0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x12, 0x41, 0x0a, 0x06, 0x75, 0x70, 0x73, 0x65, 0x72, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x69, - 0x74, 0x6c, 0x61, 0x62, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x64, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x61, 0x63, 0x63, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x12, + 0x40, 0x0a, 0x06, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x73, 0x65, 0x72, + 0x74, 0x12, 0x40, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x14, 0x0a, 0x12, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1b, 0x0a, 0x19, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x32, 0xa1, 0x08, 0x0a, 0x12, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x47, 0x72, + 0x61, 0x70, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4e, 0x0a, 0x05, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x12, 0x21, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, + 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x07, 0x47, 0x65, + 0x74, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x23, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x46, + 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x47, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, - 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x0b, 0x0a, - 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1c, 0x0a, 0x1a, 0x47, 0x69, - 0x74, 0x6c, 0x61, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xea, 0x01, 0x0a, 0x18, 0x45, 0x6e, 0x74, - 0x72, 0x61, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x53, - 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, - 0x73, 0x79, 0x6e, 0x63, 0x12, 0x40, 0x0a, 0x06, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x61, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, - 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x6e, 0x74, - 0x72, 0x61, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, - 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1b, 0x0a, 0x19, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x32, 0xab, 0x07, 0x0a, 0x12, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, - 0x70, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4e, 0x0a, 0x05, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x12, 0x21, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x07, 0x47, 0x65, 0x74, - 0x46, 0x69, 0x6c, 0x65, 0x12, 0x23, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, - 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x65, 0x0a, 0x0c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, - 0x28, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x61, 0x63, 0x63, 0x65, + 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x65, 0x0a, 0x0c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x12, 0x28, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x12, 0x6d, 0x0a, 0x0e, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x56, 0x32, 0x12, 0x2a, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x12, 0x6d, 0x0a, 0x0e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x56, 0x32, 0x12, 0x2a, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x56, 0x32, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x57, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, - 0x72, 0x12, 0x24, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, - 0x0a, 0x0a, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x43, 0x41, 0x73, 0x12, 0x26, 0x2e, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x43, 0x41, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x61, - 0x63, 0x65, 0x43, 0x41, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, - 0x0f, 0x41, 0x57, 0x53, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x12, 0x2b, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x57, 0x53, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x56, 0x32, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x57, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x12, 0x24, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x5d, 0x0a, 0x0a, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x43, 0x41, 0x73, 0x12, 0x26, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x41, 0x57, 0x53, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x12, 0x79, 0x0a, - 0x12, 0x47, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x12, 0x2e, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x69, 0x74, 0x6c, 0x61, 0x62, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x69, 0x74, 0x6c, 0x61, 0x62, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x76, 0x0a, 0x11, 0x45, 0x6e, 0x74, 0x72, - 0x61, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x2d, 0x2e, + 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x43, 0x41, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x70, 0x6c, + 0x61, 0x63, 0x65, 0x43, 0x41, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, + 0x0a, 0x0f, 0x41, 0x57, 0x53, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x12, 0x2b, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x57, 0x53, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, + 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x57, 0x53, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x12, 0x79, + 0x0a, 0x12, 0x47, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x12, 0x2e, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x69, 0x74, 0x6c, 0x61, + 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x69, 0x74, 0x6c, 0x61, + 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x76, 0x0a, 0x11, 0x45, 0x6e, 0x74, + 0x72, 0x61, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x2d, + 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, - 0x42, 0x57, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, - 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x6c, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, - 0x67, 0x6f, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, + 0x01, 0x12, 0x74, 0x0a, 0x11, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x2d, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, + 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, + 0x72, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, + 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x42, 0x57, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x67, 0x65, 0x6e, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1593,7 +1789,7 @@ func file_accessgraph_v1alpha_access_graph_service_proto_rawDescGZIP() []byte { return file_accessgraph_v1alpha_access_graph_service_proto_rawDescData } -var file_accessgraph_v1alpha_access_graph_service_proto_msgTypes = make([]protoimpl.MessageInfo, 21) +var file_accessgraph_v1alpha_access_graph_service_proto_msgTypes = make([]protoimpl.MessageInfo, 24) var file_accessgraph_v1alpha_access_graph_service_proto_goTypes = []any{ (*QueryRequest)(nil), // 0: accessgraph.v1alpha.QueryRequest (*QueryResponse)(nil), // 1: accessgraph.v1alpha.QueryResponse @@ -1616,66 +1812,75 @@ var file_accessgraph_v1alpha_access_graph_service_proto_goTypes = []any{ (*GitlabEventsStreamResponse)(nil), // 18: accessgraph.v1alpha.GitlabEventsStreamResponse (*EntraEventsStreamRequest)(nil), // 19: accessgraph.v1alpha.EntraEventsStreamRequest (*EntraEventsStreamResponse)(nil), // 20: accessgraph.v1alpha.EntraEventsStreamResponse - (*Node)(nil), // 21: accessgraph.v1alpha.Node - (*Edge)(nil), // 22: accessgraph.v1alpha.Edge - (*ResourceList)(nil), // 23: accessgraph.v1alpha.ResourceList - (*ResourceHeaderList)(nil), // 24: accessgraph.v1alpha.ResourceHeaderList - (*AccessListsMembers)(nil), // 25: accessgraph.v1alpha.AccessListsMembers - (*ExcludeAccessListsMembers)(nil), // 26: accessgraph.v1alpha.ExcludeAccessListsMembers - (*AccessPathChanged)(nil), // 27: accessgraph.v1alpha.AccessPathChanged - (*AWSResourceList)(nil), // 28: accessgraph.v1alpha.AWSResourceList - (*GitlabSyncOperation)(nil), // 29: accessgraph.v1alpha.GitlabSyncOperation - (*GitlabResourceList)(nil), // 30: accessgraph.v1alpha.GitlabResourceList - (*EntraSyncOperation)(nil), // 31: accessgraph.v1alpha.EntraSyncOperation - (*EntraResourceList)(nil), // 32: accessgraph.v1alpha.EntraResourceList + (*AzureEventsStreamRequest)(nil), // 21: accessgraph.v1alpha.AzureEventsStreamRequest + (*AzureSyncOperation)(nil), // 22: accessgraph.v1alpha.AzureSyncOperation + (*AzureEventsStreamResponse)(nil), // 23: accessgraph.v1alpha.AzureEventsStreamResponse + (*Node)(nil), // 24: accessgraph.v1alpha.Node + (*Edge)(nil), // 25: accessgraph.v1alpha.Edge + (*ResourceList)(nil), // 26: accessgraph.v1alpha.ResourceList + (*ResourceHeaderList)(nil), // 27: accessgraph.v1alpha.ResourceHeaderList + (*AccessListsMembers)(nil), // 28: accessgraph.v1alpha.AccessListsMembers + (*ExcludeAccessListsMembers)(nil), // 29: accessgraph.v1alpha.ExcludeAccessListsMembers + (*AccessPathChanged)(nil), // 30: accessgraph.v1alpha.AccessPathChanged + (*AWSResourceList)(nil), // 31: accessgraph.v1alpha.AWSResourceList + (*GitlabSyncOperation)(nil), // 32: accessgraph.v1alpha.GitlabSyncOperation + (*GitlabResourceList)(nil), // 33: accessgraph.v1alpha.GitlabResourceList + (*EntraSyncOperation)(nil), // 34: accessgraph.v1alpha.EntraSyncOperation + (*EntraResourceList)(nil), // 35: accessgraph.v1alpha.EntraResourceList + (*AzureResourceList)(nil), // 36: accessgraph.v1alpha.AzureResourceList } var file_accessgraph_v1alpha_access_graph_service_proto_depIdxs = []int32{ - 21, // 0: accessgraph.v1alpha.QueryResponse.nodes:type_name -> accessgraph.v1alpha.Node - 22, // 1: accessgraph.v1alpha.QueryResponse.edges:type_name -> accessgraph.v1alpha.Edge + 24, // 0: accessgraph.v1alpha.QueryResponse.nodes:type_name -> accessgraph.v1alpha.Node + 25, // 1: accessgraph.v1alpha.QueryResponse.edges:type_name -> accessgraph.v1alpha.Edge 6, // 2: accessgraph.v1alpha.EventsStreamRequest.sync:type_name -> accessgraph.v1alpha.SyncOperation - 23, // 3: accessgraph.v1alpha.EventsStreamRequest.upsert:type_name -> accessgraph.v1alpha.ResourceList - 24, // 4: accessgraph.v1alpha.EventsStreamRequest.delete:type_name -> accessgraph.v1alpha.ResourceHeaderList - 25, // 5: accessgraph.v1alpha.EventsStreamRequest.access_lists_members:type_name -> accessgraph.v1alpha.AccessListsMembers - 26, // 6: accessgraph.v1alpha.EventsStreamRequest.exclude_access_list_members:type_name -> accessgraph.v1alpha.ExcludeAccessListsMembers + 26, // 3: accessgraph.v1alpha.EventsStreamRequest.upsert:type_name -> accessgraph.v1alpha.ResourceList + 27, // 4: accessgraph.v1alpha.EventsStreamRequest.delete:type_name -> accessgraph.v1alpha.ResourceHeaderList + 28, // 5: accessgraph.v1alpha.EventsStreamRequest.access_lists_members:type_name -> accessgraph.v1alpha.AccessListsMembers + 29, // 6: accessgraph.v1alpha.EventsStreamRequest.exclude_access_list_members:type_name -> accessgraph.v1alpha.ExcludeAccessListsMembers 6, // 7: accessgraph.v1alpha.EventsStreamV2Request.sync:type_name -> accessgraph.v1alpha.SyncOperation - 23, // 8: accessgraph.v1alpha.EventsStreamV2Request.upsert:type_name -> accessgraph.v1alpha.ResourceList - 24, // 9: accessgraph.v1alpha.EventsStreamV2Request.delete:type_name -> accessgraph.v1alpha.ResourceHeaderList - 25, // 10: accessgraph.v1alpha.EventsStreamV2Request.access_lists_members:type_name -> accessgraph.v1alpha.AccessListsMembers - 26, // 11: accessgraph.v1alpha.EventsStreamV2Request.exclude_access_list_members:type_name -> accessgraph.v1alpha.ExcludeAccessListsMembers + 26, // 8: accessgraph.v1alpha.EventsStreamV2Request.upsert:type_name -> accessgraph.v1alpha.ResourceList + 27, // 9: accessgraph.v1alpha.EventsStreamV2Request.delete:type_name -> accessgraph.v1alpha.ResourceHeaderList + 28, // 10: accessgraph.v1alpha.EventsStreamV2Request.access_lists_members:type_name -> accessgraph.v1alpha.AccessListsMembers + 29, // 11: accessgraph.v1alpha.EventsStreamV2Request.exclude_access_list_members:type_name -> accessgraph.v1alpha.ExcludeAccessListsMembers 9, // 12: accessgraph.v1alpha.EventsStreamV2Response.event:type_name -> accessgraph.v1alpha.AuditEvent - 27, // 13: accessgraph.v1alpha.AuditEvent.access_path_changed:type_name -> accessgraph.v1alpha.AccessPathChanged + 30, // 13: accessgraph.v1alpha.AuditEvent.access_path_changed:type_name -> accessgraph.v1alpha.AccessPathChanged 15, // 14: accessgraph.v1alpha.AWSEventsStreamRequest.sync:type_name -> accessgraph.v1alpha.AWSSyncOperation - 28, // 15: accessgraph.v1alpha.AWSEventsStreamRequest.upsert:type_name -> accessgraph.v1alpha.AWSResourceList - 28, // 16: accessgraph.v1alpha.AWSEventsStreamRequest.delete:type_name -> accessgraph.v1alpha.AWSResourceList - 29, // 17: accessgraph.v1alpha.GitlabEventsStreamRequest.sync:type_name -> accessgraph.v1alpha.GitlabSyncOperation - 30, // 18: accessgraph.v1alpha.GitlabEventsStreamRequest.upsert:type_name -> accessgraph.v1alpha.GitlabResourceList - 30, // 19: accessgraph.v1alpha.GitlabEventsStreamRequest.delete:type_name -> accessgraph.v1alpha.GitlabResourceList - 31, // 20: accessgraph.v1alpha.EntraEventsStreamRequest.sync:type_name -> accessgraph.v1alpha.EntraSyncOperation - 32, // 21: accessgraph.v1alpha.EntraEventsStreamRequest.upsert:type_name -> accessgraph.v1alpha.EntraResourceList - 32, // 22: accessgraph.v1alpha.EntraEventsStreamRequest.delete:type_name -> accessgraph.v1alpha.EntraResourceList - 0, // 23: accessgraph.v1alpha.AccessGraphService.Query:input_type -> accessgraph.v1alpha.QueryRequest - 2, // 24: accessgraph.v1alpha.AccessGraphService.GetFile:input_type -> accessgraph.v1alpha.GetFileRequest - 4, // 25: accessgraph.v1alpha.AccessGraphService.EventsStream:input_type -> accessgraph.v1alpha.EventsStreamRequest - 5, // 26: accessgraph.v1alpha.AccessGraphService.EventsStreamV2:input_type -> accessgraph.v1alpha.EventsStreamV2Request - 10, // 27: accessgraph.v1alpha.AccessGraphService.Register:input_type -> accessgraph.v1alpha.RegisterRequest - 12, // 28: accessgraph.v1alpha.AccessGraphService.ReplaceCAs:input_type -> accessgraph.v1alpha.ReplaceCAsRequest - 14, // 29: accessgraph.v1alpha.AccessGraphService.AWSEventsStream:input_type -> accessgraph.v1alpha.AWSEventsStreamRequest - 17, // 30: accessgraph.v1alpha.AccessGraphService.GitlabEventsStream:input_type -> accessgraph.v1alpha.GitlabEventsStreamRequest - 19, // 31: accessgraph.v1alpha.AccessGraphService.EntraEventsStream:input_type -> accessgraph.v1alpha.EntraEventsStreamRequest - 1, // 32: accessgraph.v1alpha.AccessGraphService.Query:output_type -> accessgraph.v1alpha.QueryResponse - 3, // 33: accessgraph.v1alpha.AccessGraphService.GetFile:output_type -> accessgraph.v1alpha.GetFileResponse - 7, // 34: accessgraph.v1alpha.AccessGraphService.EventsStream:output_type -> accessgraph.v1alpha.EventsStreamResponse - 8, // 35: accessgraph.v1alpha.AccessGraphService.EventsStreamV2:output_type -> accessgraph.v1alpha.EventsStreamV2Response - 11, // 36: accessgraph.v1alpha.AccessGraphService.Register:output_type -> accessgraph.v1alpha.RegisterResponse - 13, // 37: accessgraph.v1alpha.AccessGraphService.ReplaceCAs:output_type -> accessgraph.v1alpha.ReplaceCAsResponse - 16, // 38: accessgraph.v1alpha.AccessGraphService.AWSEventsStream:output_type -> accessgraph.v1alpha.AWSEventsStreamResponse - 18, // 39: accessgraph.v1alpha.AccessGraphService.GitlabEventsStream:output_type -> accessgraph.v1alpha.GitlabEventsStreamResponse - 20, // 40: accessgraph.v1alpha.AccessGraphService.EntraEventsStream:output_type -> accessgraph.v1alpha.EntraEventsStreamResponse - 32, // [32:41] is the sub-list for method output_type - 23, // [23:32] is the sub-list for method input_type - 23, // [23:23] is the sub-list for extension type_name - 23, // [23:23] is the sub-list for extension extendee - 0, // [0:23] is the sub-list for field type_name + 31, // 15: accessgraph.v1alpha.AWSEventsStreamRequest.upsert:type_name -> accessgraph.v1alpha.AWSResourceList + 31, // 16: accessgraph.v1alpha.AWSEventsStreamRequest.delete:type_name -> accessgraph.v1alpha.AWSResourceList + 32, // 17: accessgraph.v1alpha.GitlabEventsStreamRequest.sync:type_name -> accessgraph.v1alpha.GitlabSyncOperation + 33, // 18: accessgraph.v1alpha.GitlabEventsStreamRequest.upsert:type_name -> accessgraph.v1alpha.GitlabResourceList + 33, // 19: accessgraph.v1alpha.GitlabEventsStreamRequest.delete:type_name -> accessgraph.v1alpha.GitlabResourceList + 34, // 20: accessgraph.v1alpha.EntraEventsStreamRequest.sync:type_name -> accessgraph.v1alpha.EntraSyncOperation + 35, // 21: accessgraph.v1alpha.EntraEventsStreamRequest.upsert:type_name -> accessgraph.v1alpha.EntraResourceList + 35, // 22: accessgraph.v1alpha.EntraEventsStreamRequest.delete:type_name -> accessgraph.v1alpha.EntraResourceList + 22, // 23: accessgraph.v1alpha.AzureEventsStreamRequest.sync:type_name -> accessgraph.v1alpha.AzureSyncOperation + 36, // 24: accessgraph.v1alpha.AzureEventsStreamRequest.upsert:type_name -> accessgraph.v1alpha.AzureResourceList + 36, // 25: accessgraph.v1alpha.AzureEventsStreamRequest.delete:type_name -> accessgraph.v1alpha.AzureResourceList + 0, // 26: accessgraph.v1alpha.AccessGraphService.Query:input_type -> accessgraph.v1alpha.QueryRequest + 2, // 27: accessgraph.v1alpha.AccessGraphService.GetFile:input_type -> accessgraph.v1alpha.GetFileRequest + 4, // 28: accessgraph.v1alpha.AccessGraphService.EventsStream:input_type -> accessgraph.v1alpha.EventsStreamRequest + 5, // 29: accessgraph.v1alpha.AccessGraphService.EventsStreamV2:input_type -> accessgraph.v1alpha.EventsStreamV2Request + 10, // 30: accessgraph.v1alpha.AccessGraphService.Register:input_type -> accessgraph.v1alpha.RegisterRequest + 12, // 31: accessgraph.v1alpha.AccessGraphService.ReplaceCAs:input_type -> accessgraph.v1alpha.ReplaceCAsRequest + 14, // 32: accessgraph.v1alpha.AccessGraphService.AWSEventsStream:input_type -> accessgraph.v1alpha.AWSEventsStreamRequest + 17, // 33: accessgraph.v1alpha.AccessGraphService.GitlabEventsStream:input_type -> accessgraph.v1alpha.GitlabEventsStreamRequest + 19, // 34: accessgraph.v1alpha.AccessGraphService.EntraEventsStream:input_type -> accessgraph.v1alpha.EntraEventsStreamRequest + 21, // 35: accessgraph.v1alpha.AccessGraphService.AzureEventsStream:input_type -> accessgraph.v1alpha.AzureEventsStreamRequest + 1, // 36: accessgraph.v1alpha.AccessGraphService.Query:output_type -> accessgraph.v1alpha.QueryResponse + 3, // 37: accessgraph.v1alpha.AccessGraphService.GetFile:output_type -> accessgraph.v1alpha.GetFileResponse + 7, // 38: accessgraph.v1alpha.AccessGraphService.EventsStream:output_type -> accessgraph.v1alpha.EventsStreamResponse + 8, // 39: accessgraph.v1alpha.AccessGraphService.EventsStreamV2:output_type -> accessgraph.v1alpha.EventsStreamV2Response + 11, // 40: accessgraph.v1alpha.AccessGraphService.Register:output_type -> accessgraph.v1alpha.RegisterResponse + 13, // 41: accessgraph.v1alpha.AccessGraphService.ReplaceCAs:output_type -> accessgraph.v1alpha.ReplaceCAsResponse + 16, // 42: accessgraph.v1alpha.AccessGraphService.AWSEventsStream:output_type -> accessgraph.v1alpha.AWSEventsStreamResponse + 18, // 43: accessgraph.v1alpha.AccessGraphService.GitlabEventsStream:output_type -> accessgraph.v1alpha.GitlabEventsStreamResponse + 20, // 44: accessgraph.v1alpha.AccessGraphService.EntraEventsStream:output_type -> accessgraph.v1alpha.EntraEventsStreamResponse + 23, // 45: accessgraph.v1alpha.AccessGraphService.AzureEventsStream:output_type -> accessgraph.v1alpha.AzureEventsStreamResponse + 36, // [36:46] is the sub-list for method output_type + 26, // [26:36] is the sub-list for method input_type + 26, // [26:26] is the sub-list for extension type_name + 26, // [26:26] is the sub-list for extension extendee + 0, // [0:26] is the sub-list for field type_name } func init() { file_accessgraph_v1alpha_access_graph_service_proto_init() } @@ -1684,6 +1889,7 @@ func file_accessgraph_v1alpha_access_graph_service_proto_init() { return } file_accessgraph_v1alpha_aws_proto_init() + file_accessgraph_v1alpha_azure_proto_init() file_accessgraph_v1alpha_entra_proto_init() file_accessgraph_v1alpha_events_proto_init() file_accessgraph_v1alpha_gitlab_proto_init() @@ -1724,13 +1930,18 @@ func file_accessgraph_v1alpha_access_graph_service_proto_init() { (*EntraEventsStreamRequest_Upsert)(nil), (*EntraEventsStreamRequest_Delete)(nil), } + file_accessgraph_v1alpha_access_graph_service_proto_msgTypes[21].OneofWrappers = []any{ + (*AzureEventsStreamRequest_Sync)(nil), + (*AzureEventsStreamRequest_Upsert)(nil), + (*AzureEventsStreamRequest_Delete)(nil), + } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_accessgraph_v1alpha_access_graph_service_proto_rawDesc, NumEnums: 0, - NumMessages: 21, + NumMessages: 24, NumExtensions: 0, NumServices: 1, }, diff --git a/gen/proto/go/accessgraph/v1alpha/access_graph_service_grpc.pb.go b/gen/proto/go/accessgraph/v1alpha/access_graph_service_grpc.pb.go index 25084921269d9..2d6201effeea4 100644 --- a/gen/proto/go/accessgraph/v1alpha/access_graph_service_grpc.pb.go +++ b/gen/proto/go/accessgraph/v1alpha/access_graph_service_grpc.pb.go @@ -45,6 +45,7 @@ const ( AccessGraphService_AWSEventsStream_FullMethodName = "/accessgraph.v1alpha.AccessGraphService/AWSEventsStream" AccessGraphService_GitlabEventsStream_FullMethodName = "/accessgraph.v1alpha.AccessGraphService/GitlabEventsStream" AccessGraphService_EntraEventsStream_FullMethodName = "/accessgraph.v1alpha.AccessGraphService/EntraEventsStream" + AccessGraphService_AzureEventsStream_FullMethodName = "/accessgraph.v1alpha.AccessGraphService/AzureEventsStream" ) // AccessGraphServiceClient is the client API for AccessGraphService service. @@ -92,6 +93,8 @@ type AccessGraphServiceClient interface { GitlabEventsStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[GitlabEventsStreamRequest, GitlabEventsStreamResponse], error) // EntraEventsStream is a stream of commands to the Entra ID SSO importer. EntraEventsStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[EntraEventsStreamRequest, EntraEventsStreamResponse], error) + // AzureEventsStream is a stream of commands to the Azure importer + AzureEventsStream(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[AzureEventsStreamRequest, AzureEventsStreamResponse], error) } type accessGraphServiceClient struct { @@ -207,6 +210,19 @@ func (c *accessGraphServiceClient) EntraEventsStream(ctx context.Context, opts . // This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. type AccessGraphService_EntraEventsStreamClient = grpc.BidiStreamingClient[EntraEventsStreamRequest, EntraEventsStreamResponse] +func (c *accessGraphServiceClient) AzureEventsStream(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[AzureEventsStreamRequest, AzureEventsStreamResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &AccessGraphService_ServiceDesc.Streams[5], AccessGraphService_AzureEventsStream_FullMethodName, cOpts...) + if err != nil { + return nil, err + } + x := &grpc.GenericClientStream[AzureEventsStreamRequest, AzureEventsStreamResponse]{ClientStream: stream} + return x, nil +} + +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type AccessGraphService_AzureEventsStreamClient = grpc.ClientStreamingClient[AzureEventsStreamRequest, AzureEventsStreamResponse] + // AccessGraphServiceServer is the server API for AccessGraphService service. // All implementations must embed UnimplementedAccessGraphServiceServer // for forward compatibility. @@ -252,6 +268,8 @@ type AccessGraphServiceServer interface { GitlabEventsStream(grpc.BidiStreamingServer[GitlabEventsStreamRequest, GitlabEventsStreamResponse]) error // EntraEventsStream is a stream of commands to the Entra ID SSO importer. EntraEventsStream(grpc.BidiStreamingServer[EntraEventsStreamRequest, EntraEventsStreamResponse]) error + // AzureEventsStream is a stream of commands to the Azure importer + AzureEventsStream(grpc.ClientStreamingServer[AzureEventsStreamRequest, AzureEventsStreamResponse]) error mustEmbedUnimplementedAccessGraphServiceServer() } @@ -289,6 +307,9 @@ func (UnimplementedAccessGraphServiceServer) GitlabEventsStream(grpc.BidiStreami func (UnimplementedAccessGraphServiceServer) EntraEventsStream(grpc.BidiStreamingServer[EntraEventsStreamRequest, EntraEventsStreamResponse]) error { return status.Errorf(codes.Unimplemented, "method EntraEventsStream not implemented") } +func (UnimplementedAccessGraphServiceServer) AzureEventsStream(grpc.ClientStreamingServer[AzureEventsStreamRequest, AzureEventsStreamResponse]) error { + return status.Errorf(codes.Unimplemented, "method AzureEventsStream not implemented") +} func (UnimplementedAccessGraphServiceServer) mustEmbedUnimplementedAccessGraphServiceServer() {} func (UnimplementedAccessGraphServiceServer) testEmbeddedByValue() {} @@ -417,6 +438,13 @@ func _AccessGraphService_EntraEventsStream_Handler(srv interface{}, stream grpc. // This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. type AccessGraphService_EntraEventsStreamServer = grpc.BidiStreamingServer[EntraEventsStreamRequest, EntraEventsStreamResponse] +func _AccessGraphService_AzureEventsStream_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(AccessGraphServiceServer).AzureEventsStream(&grpc.GenericServerStream[AzureEventsStreamRequest, AzureEventsStreamResponse]{ServerStream: stream}) +} + +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type AccessGraphService_AzureEventsStreamServer = grpc.ClientStreamingServer[AzureEventsStreamRequest, AzureEventsStreamResponse] + // AccessGraphService_ServiceDesc is the grpc.ServiceDesc for AccessGraphService service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -470,6 +498,11 @@ var AccessGraphService_ServiceDesc = grpc.ServiceDesc{ ServerStreams: true, ClientStreams: true, }, + { + StreamName: "AzureEventsStream", + Handler: _AccessGraphService_AzureEventsStream_Handler, + ClientStreams: true, + }, }, Metadata: "accessgraph/v1alpha/access_graph_service.proto", } diff --git a/gen/proto/go/accessgraph/v1alpha/azure.pb.go b/gen/proto/go/accessgraph/v1alpha/azure.pb.go new file mode 100644 index 0000000000000..05154fcf95843 --- /dev/null +++ b/gen/proto/go/accessgraph/v1alpha/azure.pb.go @@ -0,0 +1,941 @@ +// +// Teleport +// Copyright (C) 2024 Gravitational, Inc. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.1 +// protoc (unknown) +// source: accessgraph/v1alpha/azure.proto + +package accessgraphv1alpha + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + 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) +) + +// AzureResourceList is a list of Azure resources +type AzureResourceList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Resources []*AzureResource `protobuf:"bytes,1,rep,name=resources,proto3" json:"resources,omitempty"` +} + +func (x *AzureResourceList) Reset() { + *x = AzureResourceList{} + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AzureResourceList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AzureResourceList) ProtoMessage() {} + +func (x *AzureResourceList) ProtoReflect() protoreflect.Message { + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AzureResourceList.ProtoReflect.Descriptor instead. +func (*AzureResourceList) Descriptor() ([]byte, []int) { + return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{0} +} + +func (x *AzureResourceList) GetResources() []*AzureResource { + if x != nil { + return x.Resources + } + return nil +} + +// AWSResource is a list of AWS resources supported by the access graph. +type AzureResource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Resource: + // + // *AzureResource_Principal + // *AzureResource_RoleDefinition + // *AzureResource_RoleAssignment + // *AzureResource_VirtualMachine + // *AzureResource_ManagedDatabase + // *AzureResource_AksCluster + Resource isAzureResource_Resource `protobuf_oneof:"resource"` +} + +func (x *AzureResource) Reset() { + *x = AzureResource{} + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AzureResource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AzureResource) ProtoMessage() {} + +func (x *AzureResource) ProtoReflect() protoreflect.Message { + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AzureResource.ProtoReflect.Descriptor instead. +func (*AzureResource) Descriptor() ([]byte, []int) { + return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{1} +} + +func (m *AzureResource) GetResource() isAzureResource_Resource { + if m != nil { + return m.Resource + } + return nil +} + +func (x *AzureResource) GetPrincipal() *AzurePrincipal { + if x, ok := x.GetResource().(*AzureResource_Principal); ok { + return x.Principal + } + return nil +} + +func (x *AzureResource) GetRoleDefinition() *AzureRoleDefinition { + if x, ok := x.GetResource().(*AzureResource_RoleDefinition); ok { + return x.RoleDefinition + } + return nil +} + +func (x *AzureResource) GetRoleAssignment() *AzureRoleAssignment { + if x, ok := x.GetResource().(*AzureResource_RoleAssignment); ok { + return x.RoleAssignment + } + return nil +} + +func (x *AzureResource) GetVirtualMachine() *AzureVirtualMachine { + if x, ok := x.GetResource().(*AzureResource_VirtualMachine); ok { + return x.VirtualMachine + } + return nil +} + +func (x *AzureResource) GetManagedDatabase() *AzureManagedDatabase { + if x, ok := x.GetResource().(*AzureResource_ManagedDatabase); ok { + return x.ManagedDatabase + } + return nil +} + +func (x *AzureResource) GetAksCluster() *AzureAKSCluster { + if x, ok := x.GetResource().(*AzureResource_AksCluster); ok { + return x.AksCluster + } + return nil +} + +type isAzureResource_Resource interface { + isAzureResource_Resource() +} + +type AzureResource_Principal struct { + Principal *AzurePrincipal `protobuf:"bytes,1,opt,name=principal,proto3,oneof"` +} + +type AzureResource_RoleDefinition struct { + RoleDefinition *AzureRoleDefinition `protobuf:"bytes,2,opt,name=role_definition,json=roleDefinition,proto3,oneof"` +} + +type AzureResource_RoleAssignment struct { + RoleAssignment *AzureRoleAssignment `protobuf:"bytes,3,opt,name=role_assignment,json=roleAssignment,proto3,oneof"` +} + +type AzureResource_VirtualMachine struct { + VirtualMachine *AzureVirtualMachine `protobuf:"bytes,4,opt,name=virtual_machine,json=virtualMachine,proto3,oneof"` +} + +type AzureResource_ManagedDatabase struct { + ManagedDatabase *AzureManagedDatabase `protobuf:"bytes,5,opt,name=managed_database,json=managedDatabase,proto3,oneof"` +} + +type AzureResource_AksCluster struct { + AksCluster *AzureAKSCluster `protobuf:"bytes,6,opt,name=aks_cluster,json=aksCluster,proto3,oneof"` +} + +func (*AzureResource_Principal) isAzureResource_Resource() {} + +func (*AzureResource_RoleDefinition) isAzureResource_Resource() {} + +func (*AzureResource_RoleAssignment) isAzureResource_Resource() {} + +func (*AzureResource_VirtualMachine) isAzureResource_Resource() {} + +func (*AzureResource_ManagedDatabase) isAzureResource_Resource() {} + +func (*AzureResource_AksCluster) isAzureResource_Resource() {} + +// AzureVirtualMachine is an Azure virtual machine +type AzureVirtualMachine struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + SubscriptionId string `protobuf:"bytes,2,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` + LastSyncTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_sync_time,json=lastSyncTime,proto3" json:"last_sync_time,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *AzureVirtualMachine) Reset() { + *x = AzureVirtualMachine{} + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AzureVirtualMachine) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AzureVirtualMachine) ProtoMessage() {} + +func (x *AzureVirtualMachine) ProtoReflect() protoreflect.Message { + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AzureVirtualMachine.ProtoReflect.Descriptor instead. +func (*AzureVirtualMachine) Descriptor() ([]byte, []int) { + return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{2} +} + +func (x *AzureVirtualMachine) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *AzureVirtualMachine) GetSubscriptionId() string { + if x != nil { + return x.SubscriptionId + } + return "" +} + +func (x *AzureVirtualMachine) GetLastSyncTime() *timestamppb.Timestamp { + if x != nil { + return x.LastSyncTime + } + return nil +} + +func (x *AzureVirtualMachine) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// AzureManagedDatabase is an Azure-managed Postgres or MySQL database +type AzureManagedDatabase struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + SubscriptionId string `protobuf:"bytes,2,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` + LastSyncTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_sync_time,json=lastSyncTime,proto3" json:"last_sync_time,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *AzureManagedDatabase) Reset() { + *x = AzureManagedDatabase{} + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AzureManagedDatabase) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AzureManagedDatabase) ProtoMessage() {} + +func (x *AzureManagedDatabase) ProtoReflect() protoreflect.Message { + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AzureManagedDatabase.ProtoReflect.Descriptor instead. +func (*AzureManagedDatabase) Descriptor() ([]byte, []int) { + return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{3} +} + +func (x *AzureManagedDatabase) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *AzureManagedDatabase) GetSubscriptionId() string { + if x != nil { + return x.SubscriptionId + } + return "" +} + +func (x *AzureManagedDatabase) GetLastSyncTime() *timestamppb.Timestamp { + if x != nil { + return x.LastSyncTime + } + return nil +} + +func (x *AzureManagedDatabase) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// AzureAKSCluster is an AKS cluster +type AzureAKSCluster struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + SubscriptionId string `protobuf:"bytes,2,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` + LastSyncTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_sync_time,json=lastSyncTime,proto3" json:"last_sync_time,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *AzureAKSCluster) Reset() { + *x = AzureAKSCluster{} + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AzureAKSCluster) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AzureAKSCluster) ProtoMessage() {} + +func (x *AzureAKSCluster) ProtoReflect() protoreflect.Message { + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AzureAKSCluster.ProtoReflect.Descriptor instead. +func (*AzureAKSCluster) Descriptor() ([]byte, []int) { + return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{4} +} + +func (x *AzureAKSCluster) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *AzureAKSCluster) GetSubscriptionId() string { + if x != nil { + return x.SubscriptionId + } + return "" +} + +func (x *AzureAKSCluster) GetLastSyncTime() *timestamppb.Timestamp { + if x != nil { + return x.LastSyncTime + } + return nil +} + +func (x *AzureAKSCluster) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// AzurePrincipal is an Azure principal (user, group, service principal) +type AzurePrincipal struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + SubscriptionId string `protobuf:"bytes,2,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` + LastSyncTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_sync_time,json=lastSyncTime,proto3" json:"last_sync_time,omitempty"` + DisplayName string `protobuf:"bytes,4,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + MemberOf []string `protobuf:"bytes,5,rep,name=member_of,json=memberOf,proto3" json:"member_of,omitempty"` +} + +func (x *AzurePrincipal) Reset() { + *x = AzurePrincipal{} + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AzurePrincipal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AzurePrincipal) ProtoMessage() {} + +func (x *AzurePrincipal) ProtoReflect() protoreflect.Message { + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AzurePrincipal.ProtoReflect.Descriptor instead. +func (*AzurePrincipal) Descriptor() ([]byte, []int) { + return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{5} +} + +func (x *AzurePrincipal) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *AzurePrincipal) GetSubscriptionId() string { + if x != nil { + return x.SubscriptionId + } + return "" +} + +func (x *AzurePrincipal) GetLastSyncTime() *timestamppb.Timestamp { + if x != nil { + return x.LastSyncTime + } + return nil +} + +func (x *AzurePrincipal) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *AzurePrincipal) GetMemberOf() []string { + if x != nil { + return x.MemberOf + } + return nil +} + +// AzureRoleAssignment links an Azure principal to a role definition with a scope +type AzureRoleAssignment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + SubscriptionId string `protobuf:"bytes,2,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` + LastSyncTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_sync_time,json=lastSyncTime,proto3" json:"last_sync_time,omitempty"` + PrincipalId string `protobuf:"bytes,4,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` + RoleDefinitionId string `protobuf:"bytes,5,opt,name=role_definition_id,json=roleDefinitionId,proto3" json:"role_definition_id,omitempty"` + Scope string `protobuf:"bytes,6,opt,name=scope,proto3" json:"scope,omitempty"` +} + +func (x *AzureRoleAssignment) Reset() { + *x = AzureRoleAssignment{} + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AzureRoleAssignment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AzureRoleAssignment) ProtoMessage() {} + +func (x *AzureRoleAssignment) ProtoReflect() protoreflect.Message { + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AzureRoleAssignment.ProtoReflect.Descriptor instead. +func (*AzureRoleAssignment) Descriptor() ([]byte, []int) { + return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{6} +} + +func (x *AzureRoleAssignment) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *AzureRoleAssignment) GetSubscriptionId() string { + if x != nil { + return x.SubscriptionId + } + return "" +} + +func (x *AzureRoleAssignment) GetLastSyncTime() *timestamppb.Timestamp { + if x != nil { + return x.LastSyncTime + } + return nil +} + +func (x *AzureRoleAssignment) GetPrincipalId() string { + if x != nil { + return x.PrincipalId + } + return "" +} + +func (x *AzureRoleAssignment) GetRoleDefinitionId() string { + if x != nil { + return x.RoleDefinitionId + } + return "" +} + +func (x *AzureRoleAssignment) GetScope() string { + if x != nil { + return x.Scope + } + return "" +} + +// AzureRoleDefinition defines a role by its permissions +type AzureRoleDefinition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + SubscriptionId string `protobuf:"bytes,2,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` + LastSyncTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_sync_time,json=lastSyncTime,proto3" json:"last_sync_time,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + Permissions []*AzurePermission `protobuf:"bytes,5,rep,name=permissions,proto3" json:"permissions,omitempty"` +} + +func (x *AzureRoleDefinition) Reset() { + *x = AzureRoleDefinition{} + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AzureRoleDefinition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AzureRoleDefinition) ProtoMessage() {} + +func (x *AzureRoleDefinition) ProtoReflect() protoreflect.Message { + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AzureRoleDefinition.ProtoReflect.Descriptor instead. +func (*AzureRoleDefinition) Descriptor() ([]byte, []int) { + return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{7} +} + +func (x *AzureRoleDefinition) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *AzureRoleDefinition) GetSubscriptionId() string { + if x != nil { + return x.SubscriptionId + } + return "" +} + +func (x *AzureRoleDefinition) GetLastSyncTime() *timestamppb.Timestamp { + if x != nil { + return x.LastSyncTime + } + return nil +} + +func (x *AzureRoleDefinition) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AzureRoleDefinition) GetPermissions() []*AzurePermission { + if x != nil { + return x.Permissions + } + return nil +} + +// AzurePermission defines the actions and not (disallowed) actions for a role definition +type AzurePermission struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Actions []string `protobuf:"bytes,4,rep,name=actions,proto3" json:"actions,omitempty"` + NotActions []string `protobuf:"bytes,5,rep,name=not_actions,json=notActions,proto3" json:"not_actions,omitempty"` +} + +func (x *AzurePermission) Reset() { + *x = AzurePermission{} + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AzurePermission) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AzurePermission) ProtoMessage() {} + +func (x *AzurePermission) ProtoReflect() protoreflect.Message { + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AzurePermission.ProtoReflect.Descriptor instead. +func (*AzurePermission) Descriptor() ([]byte, []int) { + return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{8} +} + +func (x *AzurePermission) GetActions() []string { + if x != nil { + return x.Actions + } + return nil +} + +func (x *AzurePermission) GetNotActions() []string { + if x != nil { + return x.NotActions + } + return nil +} + +var File_accessgraph_v1alpha_azure_proto protoreflect.FileDescriptor + +var file_accessgraph_v1alpha_azure_proto_rawDesc = []byte{ + 0x0a, 0x1f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x13, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a, 0x11, 0x41, 0x7a, 0x75, 0x72, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x09, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x22, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x80, + 0x04, 0x0a, 0x0d, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x43, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x50, + 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, + 0x63, 0x69, 0x70, 0x61, 0x6c, 0x12, 0x53, 0x0a, 0x0f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x44, 0x65, + 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x6f, 0x6c, 0x65, + 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x0f, 0x72, 0x6f, + 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, + 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, + 0x0e, 0x72, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x53, 0x0a, 0x0f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, + 0x7a, 0x75, 0x72, 0x65, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x12, 0x56, 0x0a, 0x10, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x64, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0b, + 0x61, 0x6b, 0x73, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x41, 0x4b, 0x53, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x6b, 0x73, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x56, 0x69, 0x72, 0x74, 0x75, + 0x61, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x14, 0x41, 0x7a, 0x75, + 0x72, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, + 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, + 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0xa0, 0x01, 0x0a, 0x0f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x41, 0x4b, 0x53, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, + 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0xcb, 0x01, 0x0a, 0x0e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x50, 0x72, 0x69, + 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, + 0x66, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4f, + 0x66, 0x22, 0xf7, 0x01, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x41, + 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, + 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x6e, + 0x63, 0x69, 0x70, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x6f, 0x6c, 0x65, 0x5f, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x6f, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0xec, 0x01, 0x0a, 0x13, + 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, + 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, + 0x75, 0x72, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x4c, 0x0a, 0x0f, 0x41, 0x7a, + 0x75, 0x72, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, + 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x5f, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, + 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x57, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x67, 0x65, + 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_accessgraph_v1alpha_azure_proto_rawDescOnce sync.Once + file_accessgraph_v1alpha_azure_proto_rawDescData = file_accessgraph_v1alpha_azure_proto_rawDesc +) + +func file_accessgraph_v1alpha_azure_proto_rawDescGZIP() []byte { + file_accessgraph_v1alpha_azure_proto_rawDescOnce.Do(func() { + file_accessgraph_v1alpha_azure_proto_rawDescData = protoimpl.X.CompressGZIP(file_accessgraph_v1alpha_azure_proto_rawDescData) + }) + return file_accessgraph_v1alpha_azure_proto_rawDescData +} + +var file_accessgraph_v1alpha_azure_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_accessgraph_v1alpha_azure_proto_goTypes = []any{ + (*AzureResourceList)(nil), // 0: accessgraph.v1alpha.AzureResourceList + (*AzureResource)(nil), // 1: accessgraph.v1alpha.AzureResource + (*AzureVirtualMachine)(nil), // 2: accessgraph.v1alpha.AzureVirtualMachine + (*AzureManagedDatabase)(nil), // 3: accessgraph.v1alpha.AzureManagedDatabase + (*AzureAKSCluster)(nil), // 4: accessgraph.v1alpha.AzureAKSCluster + (*AzurePrincipal)(nil), // 5: accessgraph.v1alpha.AzurePrincipal + (*AzureRoleAssignment)(nil), // 6: accessgraph.v1alpha.AzureRoleAssignment + (*AzureRoleDefinition)(nil), // 7: accessgraph.v1alpha.AzureRoleDefinition + (*AzurePermission)(nil), // 8: accessgraph.v1alpha.AzurePermission + (*timestamppb.Timestamp)(nil), // 9: google.protobuf.Timestamp +} +var file_accessgraph_v1alpha_azure_proto_depIdxs = []int32{ + 1, // 0: accessgraph.v1alpha.AzureResourceList.resources:type_name -> accessgraph.v1alpha.AzureResource + 5, // 1: accessgraph.v1alpha.AzureResource.principal:type_name -> accessgraph.v1alpha.AzurePrincipal + 7, // 2: accessgraph.v1alpha.AzureResource.role_definition:type_name -> accessgraph.v1alpha.AzureRoleDefinition + 6, // 3: accessgraph.v1alpha.AzureResource.role_assignment:type_name -> accessgraph.v1alpha.AzureRoleAssignment + 2, // 4: accessgraph.v1alpha.AzureResource.virtual_machine:type_name -> accessgraph.v1alpha.AzureVirtualMachine + 3, // 5: accessgraph.v1alpha.AzureResource.managed_database:type_name -> accessgraph.v1alpha.AzureManagedDatabase + 4, // 6: accessgraph.v1alpha.AzureResource.aks_cluster:type_name -> accessgraph.v1alpha.AzureAKSCluster + 9, // 7: accessgraph.v1alpha.AzureVirtualMachine.last_sync_time:type_name -> google.protobuf.Timestamp + 9, // 8: accessgraph.v1alpha.AzureManagedDatabase.last_sync_time:type_name -> google.protobuf.Timestamp + 9, // 9: accessgraph.v1alpha.AzureAKSCluster.last_sync_time:type_name -> google.protobuf.Timestamp + 9, // 10: accessgraph.v1alpha.AzurePrincipal.last_sync_time:type_name -> google.protobuf.Timestamp + 9, // 11: accessgraph.v1alpha.AzureRoleAssignment.last_sync_time:type_name -> google.protobuf.Timestamp + 9, // 12: accessgraph.v1alpha.AzureRoleDefinition.last_sync_time:type_name -> google.protobuf.Timestamp + 8, // 13: accessgraph.v1alpha.AzureRoleDefinition.permissions:type_name -> accessgraph.v1alpha.AzurePermission + 14, // [14:14] is the sub-list for method output_type + 14, // [14:14] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name +} + +func init() { file_accessgraph_v1alpha_azure_proto_init() } +func file_accessgraph_v1alpha_azure_proto_init() { + if File_accessgraph_v1alpha_azure_proto != nil { + return + } + file_accessgraph_v1alpha_azure_proto_msgTypes[1].OneofWrappers = []any{ + (*AzureResource_Principal)(nil), + (*AzureResource_RoleDefinition)(nil), + (*AzureResource_RoleAssignment)(nil), + (*AzureResource_VirtualMachine)(nil), + (*AzureResource_ManagedDatabase)(nil), + (*AzureResource_AksCluster)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_accessgraph_v1alpha_azure_proto_rawDesc, + NumEnums: 0, + NumMessages: 9, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_accessgraph_v1alpha_azure_proto_goTypes, + DependencyIndexes: file_accessgraph_v1alpha_azure_proto_depIdxs, + MessageInfos: file_accessgraph_v1alpha_azure_proto_msgTypes, + }.Build() + File_accessgraph_v1alpha_azure_proto = out.File + file_accessgraph_v1alpha_azure_proto_rawDesc = nil + file_accessgraph_v1alpha_azure_proto_goTypes = nil + file_accessgraph_v1alpha_azure_proto_depIdxs = nil +} diff --git a/proto/accessgraph/v1alpha/access_graph_service.proto b/proto/accessgraph/v1alpha/access_graph_service.proto index 979e781290c94..0a7efceae248a 100644 --- a/proto/accessgraph/v1alpha/access_graph_service.proto +++ b/proto/accessgraph/v1alpha/access_graph_service.proto @@ -21,6 +21,7 @@ syntax = "proto3"; package accessgraph.v1alpha; import "accessgraph/v1alpha/aws.proto"; +import "accessgraph/v1alpha/azure.proto"; import "accessgraph/v1alpha/entra.proto"; import "accessgraph/v1alpha/events.proto"; import "accessgraph/v1alpha/gitlab.proto"; @@ -86,6 +87,9 @@ service AccessGraphService { // EntraEventsStream is a stream of commands to the Entra ID SSO importer. rpc EntraEventsStream(stream EntraEventsStreamRequest) returns (stream EntraEventsStreamResponse); + + // AzureEventsStream is a stream of commands to the Azure importer + rpc AzureEventsStream(stream AzureEventsStreamRequest) returns (AzureEventsStreamResponse); } // QueryRequest is a request to query the access graph. @@ -265,3 +269,19 @@ message EntraEventsStreamRequest { // EntraEventsStreamResponse is the response from GitlabEventsStream. message EntraEventsStreamResponse {} + +// AzureEventsStreamRequest is a request to send commands to the Azure importer +message AzureEventsStreamRequest { + oneof operation { + AzureSyncOperation sync = 1; + AzureResourceList upsert = 2; + AzureResourceList delete = 3; + } +} + +// AzureSyncOperation is a command that Teleport sends to the access graph service +// at the end of the sync process. +message AzureSyncOperation {} + +// AzureEventsStreamResponse is a response from AzureEventStreamRequest +message AzureEventsStreamResponse {} diff --git a/proto/accessgraph/v1alpha/azure.proto b/proto/accessgraph/v1alpha/azure.proto new file mode 100644 index 0000000000000..90d6f21d4ab1b --- /dev/null +++ b/proto/accessgraph/v1alpha/azure.proto @@ -0,0 +1,98 @@ +/* + * Teleport + * Copyright (C) 2024 Gravitational, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +syntax = "proto3"; +package accessgraph.v1alpha; + +import "google/protobuf/timestamp.proto"; + +option go_package = "github.com/gravitational/teleport/gen/proto/go/accessgraph/v1alpha;accessgraphv1alpha"; + +// AzureResourceList is a list of Azure resources +message AzureResourceList { + repeated AzureResource resources = 1; +} + +// AWSResource is a list of AWS resources supported by the access graph. +message AzureResource { + oneof resource { + AzurePrincipal principal = 1; + AzureRoleDefinition role_definition = 2; + AzureRoleAssignment role_assignment = 3; + AzureVirtualMachine virtual_machine = 4; + AzureManagedDatabase managed_database = 5; + AzureAKSCluster aks_cluster = 6; + } +} + +// AzureVirtualMachine is an Azure virtual machine +message AzureVirtualMachine { + string id = 1; + string subscription_id = 2; + google.protobuf.Timestamp last_sync_time = 3; + string name = 4; +} + +// AzureManagedDatabase is an Azure-managed Postgres or MySQL database +message AzureManagedDatabase { + string id = 1; + string subscription_id = 2; + google.protobuf.Timestamp last_sync_time = 3; + string name = 4; +} + +// AzureAKSCluster is an AKS cluster +message AzureAKSCluster { + string id = 1; + string subscription_id = 2; + google.protobuf.Timestamp last_sync_time = 3; + string name = 4; +} + +// AzurePrincipal is an Azure principal (user, group, service principal) +message AzurePrincipal { + string id = 1; + string subscription_id = 2; + google.protobuf.Timestamp last_sync_time = 3; + string display_name = 4; + repeated string member_of = 5; +} + +// AzureRoleAssignment links an Azure principal to a role definition with a scope +message AzureRoleAssignment { + string id = 1; + string subscription_id = 2; + google.protobuf.Timestamp last_sync_time = 3; + string principal_id = 4; + string role_definition_id = 5; + string scope = 6; +} + +// AzureRoleDefinition defines a role by its permissions +message AzureRoleDefinition { + string id = 1; + string subscription_id = 2; + google.protobuf.Timestamp last_sync_time = 3; + string name = 4; + repeated AzurePermission permissions = 5; +} + +// AzurePermission defines the actions and not (disallowed) actions for a role definition +message AzurePermission { + repeated string actions = 4; + repeated string not_actions = 5; +} From c8dec2f2dc721cbf372caec9cd2b76e41028fc30 Mon Sep 17 00:00:00 2001 From: Matt Brock Date: Thu, 7 Nov 2024 18:23:45 -0600 Subject: [PATCH 02/21] Make derive --- api/types/discoveryconfig/derived.gen.go | 106 ++++++++++++++--------- 1 file changed, 66 insertions(+), 40 deletions(-) diff --git a/api/types/discoveryconfig/derived.gen.go b/api/types/discoveryconfig/derived.gen.go index 9053fdd312473..c10fbf8b83f1c 100644 --- a/api/types/discoveryconfig/derived.gen.go +++ b/api/types/discoveryconfig/derived.gen.go @@ -144,12 +144,12 @@ func deriveTeleportEqual_7(this, that map[string]string) bool { func deriveTeleportEqual_8(this, that *types.AWSMatcher) bool { return (this == nil && that == nil) || this != nil && that != nil && - deriveTeleportEqual_13(this.Types, that.Types) && - deriveTeleportEqual_13(this.Regions, that.Regions) && - deriveTeleportEqual_14(this.AssumeRole, that.AssumeRole) && - deriveTeleportEqual_15(this.Tags, that.Tags) && - deriveTeleportEqual_16(this.Params, that.Params) && - deriveTeleportEqual_17(this.SSM, that.SSM) && + deriveTeleportEqual_14(this.Types, that.Types) && + deriveTeleportEqual_14(this.Regions, that.Regions) && + deriveTeleportEqual_15(this.AssumeRole, that.AssumeRole) && + deriveTeleportEqual_16(this.Tags, that.Tags) && + deriveTeleportEqual_17(this.Params, that.Params) && + deriveTeleportEqual_18(this.SSM, that.SSM) && this.Integration == that.Integration && this.KubeAppDiscovery == that.KubeAppDiscovery && this.SetupAccessForARN == that.SetupAccessForARN @@ -159,34 +159,34 @@ func deriveTeleportEqual_8(this, that *types.AWSMatcher) bool { func deriveTeleportEqual_9(this, that *types.AzureMatcher) bool { return (this == nil && that == nil) || this != nil && that != nil && - deriveTeleportEqual_13(this.Subscriptions, that.Subscriptions) && - deriveTeleportEqual_13(this.ResourceGroups, that.ResourceGroups) && - deriveTeleportEqual_13(this.Types, that.Types) && - deriveTeleportEqual_13(this.Regions, that.Regions) && - deriveTeleportEqual_15(this.ResourceTags, that.ResourceTags) && - deriveTeleportEqual_16(this.Params, that.Params) + deriveTeleportEqual_14(this.Subscriptions, that.Subscriptions) && + deriveTeleportEqual_14(this.ResourceGroups, that.ResourceGroups) && + deriveTeleportEqual_14(this.Types, that.Types) && + deriveTeleportEqual_14(this.Regions, that.Regions) && + deriveTeleportEqual_16(this.ResourceTags, that.ResourceTags) && + deriveTeleportEqual_17(this.Params, that.Params) } // deriveTeleportEqual_10 returns whether this and that are equal. func deriveTeleportEqual_10(this, that *types.GCPMatcher) bool { return (this == nil && that == nil) || this != nil && that != nil && - deriveTeleportEqual_13(this.Types, that.Types) && - deriveTeleportEqual_13(this.Locations, that.Locations) && - deriveTeleportEqual_15(this.Tags, that.Tags) && - deriveTeleportEqual_13(this.ProjectIDs, that.ProjectIDs) && - deriveTeleportEqual_13(this.ServiceAccounts, that.ServiceAccounts) && - deriveTeleportEqual_16(this.Params, that.Params) && - deriveTeleportEqual_15(this.Labels, that.Labels) + deriveTeleportEqual_14(this.Types, that.Types) && + deriveTeleportEqual_14(this.Locations, that.Locations) && + deriveTeleportEqual_16(this.Tags, that.Tags) && + deriveTeleportEqual_14(this.ProjectIDs, that.ProjectIDs) && + deriveTeleportEqual_14(this.ServiceAccounts, that.ServiceAccounts) && + deriveTeleportEqual_17(this.Params, that.Params) && + deriveTeleportEqual_16(this.Labels, that.Labels) } // deriveTeleportEqual_11 returns whether this and that are equal. func deriveTeleportEqual_11(this, that *types.KubernetesMatcher) bool { return (this == nil && that == nil) || this != nil && that != nil && - deriveTeleportEqual_13(this.Types, that.Types) && - deriveTeleportEqual_13(this.Namespaces, that.Namespaces) && - deriveTeleportEqual_15(this.Labels, that.Labels) + deriveTeleportEqual_14(this.Types, that.Types) && + deriveTeleportEqual_14(this.Namespaces, that.Namespaces) && + deriveTeleportEqual_16(this.Labels, that.Labels) } // deriveTeleportEqual_12 returns whether this and that are equal. @@ -198,7 +198,7 @@ func deriveTeleportEqual_12(this, that []*types.AccessGraphAWSSync) bool { return false } for i := 0; i < len(this); i++ { - if !(deriveTeleportEqual_18(this[i], that[i])) { + if !(deriveTeleportEqual_19(this[i], that[i])) { return false } } @@ -206,7 +206,7 @@ func deriveTeleportEqual_12(this, that []*types.AccessGraphAWSSync) bool { } // deriveTeleportEqual_13 returns whether this and that are equal. -func deriveTeleportEqual_13(this, that []string) bool { +func deriveTeleportEqual_13(this, that []*types.AccessGraphAzureSync) bool { if this == nil || that == nil { return this == nil && that == nil } @@ -214,7 +214,7 @@ func deriveTeleportEqual_13(this, that []string) bool { return false } for i := 0; i < len(this); i++ { - if !(this[i] == that[i]) { + if !(deriveTeleportEqual_20(this[i], that[i])) { return false } } @@ -222,15 +222,31 @@ func deriveTeleportEqual_13(this, that []string) bool { } // deriveTeleportEqual_14 returns whether this and that are equal. -func deriveTeleportEqual_14(this, that *types.AssumeRole) bool { +func deriveTeleportEqual_14(this, that []string) bool { + if this == nil || that == nil { + return this == nil && that == nil + } + if len(this) != len(that) { + return false + } + for i := 0; i < len(this); i++ { + if !(this[i] == that[i]) { + return false + } + } + return true +} + +// deriveTeleportEqual_15 returns whether this and that are equal. +func deriveTeleportEqual_15(this, that *types.AssumeRole) bool { return (this == nil && that == nil) || this != nil && that != nil && this.RoleARN == that.RoleARN && this.ExternalID == that.ExternalID } -// deriveTeleportEqual_15 returns whether this and that are equal. -func deriveTeleportEqual_15(this, that map[string]utils.Strings) bool { +// deriveTeleportEqual_16 returns whether this and that are equal. +func deriveTeleportEqual_16(this, that map[string]utils.Strings) bool { if this == nil || that == nil { return this == nil && that == nil } @@ -242,15 +258,15 @@ func deriveTeleportEqual_15(this, that map[string]utils.Strings) bool { if !ok { return false } - if !(deriveTeleportEqual_13(v, thatv)) { + if !(deriveTeleportEqual_14(v, thatv)) { return false } } return true } -// deriveTeleportEqual_16 returns whether this and that are equal. -func deriveTeleportEqual_16(this, that *types.InstallerParams) bool { +// deriveTeleportEqual_17 returns whether this and that are equal. +func deriveTeleportEqual_17(this, that *types.InstallerParams) bool { return (this == nil && that == nil) || this != nil && that != nil && this.JoinMethod == that.JoinMethod && @@ -259,28 +275,38 @@ func deriveTeleportEqual_16(this, that *types.InstallerParams) bool { this.InstallTeleport == that.InstallTeleport && this.SSHDConfig == that.SSHDConfig && this.PublicProxyAddr == that.PublicProxyAddr && - deriveTeleportEqual_19(this.Azure, that.Azure) && + deriveTeleportEqual_21(this.Azure, that.Azure) && this.EnrollMode == that.EnrollMode } -// deriveTeleportEqual_17 returns whether this and that are equal. -func deriveTeleportEqual_17(this, that *types.AWSSSM) bool { +// deriveTeleportEqual_18 returns whether this and that are equal. +func deriveTeleportEqual_18(this, that *types.AWSSSM) bool { return (this == nil && that == nil) || this != nil && that != nil && this.DocumentName == that.DocumentName } -// deriveTeleportEqual_18 returns whether this and that are equal. -func deriveTeleportEqual_18(this, that *types.AccessGraphAWSSync) bool { +// deriveTeleportEqual_19 returns whether this and that are equal. +func deriveTeleportEqual_19(this, that *types.AccessGraphAWSSync) bool { return (this == nil && that == nil) || this != nil && that != nil && - deriveTeleportEqual_13(this.Regions, that.Regions) && - deriveTeleportEqual_14(this.AssumeRole, that.AssumeRole) && + deriveTeleportEqual_14(this.Regions, that.Regions) && + deriveTeleportEqual_15(this.AssumeRole, that.AssumeRole) && this.Integration == that.Integration } -// deriveTeleportEqual_19 returns whether this and that are equal. -func deriveTeleportEqual_19(this, that *types.AzureInstallerParams) bool { +// deriveTeleportEqual_20 returns whether this and that are equal. +func deriveTeleportEqual_20(this, that *types.AccessGraphAzureSync) bool { + return (this == nil && that == nil) || + this != nil && that != nil && + deriveTeleportEqual_14(this.Regions, that.Regions) && + this.SubscriptionID == that.SubscriptionID && + this.UmiClientId == that.UmiClientId && + this.Integration == that.Integration +} + +// deriveTeleportEqual_21 returns whether this and that are equal. +func deriveTeleportEqual_21(this, that *types.AzureInstallerParams) bool { return (this == nil && that == nil) || this != nil && that != nil && this.ClientID == that.ClientID From 24574f52a21e4602e23046fa947ef5d46a1094d4 Mon Sep 17 00:00:00 2001 From: Matt Brock Date: Fri, 8 Nov 2024 09:37:18 -0600 Subject: [PATCH 03/21] Update proto/accessgraph/v1alpha/azure.proto Co-authored-by: Tiago Silva --- proto/accessgraph/v1alpha/azure.proto | 2 -- 1 file changed, 2 deletions(-) diff --git a/proto/accessgraph/v1alpha/azure.proto b/proto/accessgraph/v1alpha/azure.proto index 90d6f21d4ab1b..a82296fcb60a9 100644 --- a/proto/accessgraph/v1alpha/azure.proto +++ b/proto/accessgraph/v1alpha/azure.proto @@ -34,8 +34,6 @@ message AzureResource { AzureRoleDefinition role_definition = 2; AzureRoleAssignment role_assignment = 3; AzureVirtualMachine virtual_machine = 4; - AzureManagedDatabase managed_database = 5; - AzureAKSCluster aks_cluster = 6; } } From 8c0620615e5ca975b5396be1b9fae07a44a03416 Mon Sep 17 00:00:00 2001 From: Matt Brock Date: Fri, 8 Nov 2024 09:37:31 -0600 Subject: [PATCH 04/21] Update proto/accessgraph/v1alpha/azure.proto Co-authored-by: Tiago Silva --- proto/accessgraph/v1alpha/azure.proto | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/proto/accessgraph/v1alpha/azure.proto b/proto/accessgraph/v1alpha/azure.proto index a82296fcb60a9..4773046845d06 100644 --- a/proto/accessgraph/v1alpha/azure.proto +++ b/proto/accessgraph/v1alpha/azure.proto @@ -45,21 +45,6 @@ message AzureVirtualMachine { string name = 4; } -// AzureManagedDatabase is an Azure-managed Postgres or MySQL database -message AzureManagedDatabase { - string id = 1; - string subscription_id = 2; - google.protobuf.Timestamp last_sync_time = 3; - string name = 4; -} - -// AzureAKSCluster is an AKS cluster -message AzureAKSCluster { - string id = 1; - string subscription_id = 2; - google.protobuf.Timestamp last_sync_time = 3; - string name = 4; -} // AzurePrincipal is an Azure principal (user, group, service principal) message AzurePrincipal { From 67436f388a288e8661c2e8c8c1c1dae8b64ab276 Mon Sep 17 00:00:00 2001 From: Matt Brock Date: Fri, 8 Nov 2024 09:41:05 -0600 Subject: [PATCH 05/21] Update proto/accessgraph/v1alpha/azure.proto Co-authored-by: Tiago Silva --- proto/accessgraph/v1alpha/azure.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proto/accessgraph/v1alpha/azure.proto b/proto/accessgraph/v1alpha/azure.proto index 4773046845d06..fbd7ce9006e7f 100644 --- a/proto/accessgraph/v1alpha/azure.proto +++ b/proto/accessgraph/v1alpha/azure.proto @@ -75,7 +75,7 @@ message AzureRoleDefinition { } // AzurePermission defines the actions and not (disallowed) actions for a role definition -message AzurePermission { +message AzureRBACPermission { repeated string actions = 4; repeated string not_actions = 5; } From d1b54f8d6048a8560e730038d3a7f0017e38599b Mon Sep 17 00:00:00 2001 From: Matt Brock Date: Fri, 8 Nov 2024 10:14:14 -0600 Subject: [PATCH 06/21] PR feedback --- proto/accessgraph/v1alpha/azure.proto | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/proto/accessgraph/v1alpha/azure.proto b/proto/accessgraph/v1alpha/azure.proto index fbd7ce9006e7f..fdaa6c5a08936 100644 --- a/proto/accessgraph/v1alpha/azure.proto +++ b/proto/accessgraph/v1alpha/azure.proto @@ -27,7 +27,7 @@ message AzureResourceList { repeated AzureResource resources = 1; } -// AWSResource is a list of AWS resources supported by the access graph. +// AzureResource is a list of Azure resources supported by the access graph. message AzureResource { oneof resource { AzurePrincipal principal = 1; @@ -43,6 +43,8 @@ message AzureVirtualMachine { string subscription_id = 2; google.protobuf.Timestamp last_sync_time = 3; string name = 4; + string resource_group = 5; + map tags = 6; } @@ -71,7 +73,7 @@ message AzureRoleDefinition { string subscription_id = 2; google.protobuf.Timestamp last_sync_time = 3; string name = 4; - repeated AzurePermission permissions = 5; + repeated AzureRBACPermission permissions = 5; } // AzurePermission defines the actions and not (disallowed) actions for a role definition From efc2705d94c00049c4289e5ff3d229a9a807ff9f Mon Sep 17 00:00:00 2001 From: Matt Brock Date: Fri, 8 Nov 2024 10:23:31 -0600 Subject: [PATCH 07/21] More PR feedback and generating protobuf code --- api/proto/teleport/legacy/types/types.proto | 4 +- api/types/types.pb.go | 790 +++++++++---------- gen/proto/go/accessgraph/v1alpha/azure.pb.go | 471 ++++------- proto/accessgraph/v1alpha/azure.proto | 5 +- 4 files changed, 538 insertions(+), 732 deletions(-) diff --git a/api/proto/teleport/legacy/types/types.proto b/api/proto/teleport/legacy/types/types.proto index 14b94cfdd5de2..68a5b5d1c4b80 100644 --- a/api/proto/teleport/legacy/types/types.proto +++ b/api/proto/teleport/legacy/types/types.proto @@ -7818,7 +7818,7 @@ message AccessGraphAWSSync { // AccessGraphAzureSync is a configuration for Azure Access Graph service poll service. message AccessGraphAzureSync { repeated string Regions = 1 [(gogoproto.jsontag) = "regions,omitempty"]; - string SubscriptionID = 2 [(gogoproto.jsontag) = "regions,omitempty"]; - string UmiClientId = 3 [(gogoproto.jsontag) = "regions,omitempty"]; + string SubscriptionID = 2 [(gogoproto.jsontag) = "subscription_id,omitempty"]; + string UMIClientID = 3 [(gogoproto.jsontag) = "umi_client_id,omitempty"]; string Integration = 4 [(gogoproto.jsontag) = "integration,omitempty"]; } diff --git a/api/types/types.pb.go b/api/types/types.pb.go index 7254d5718bed8..edc692a7d4e89 100644 --- a/api/types/types.pb.go +++ b/api/types/types.pb.go @@ -20696,12 +20696,10 @@ var xxx_messageInfo_OktaOptions proto.InternalMessageInfo // AccessGraphSync is a configuration for Access Graph service. type AccessGraphSync struct { // AWS is a configuration for AWS Access Graph service poll service. - AWS []*AccessGraphAWSSync `protobuf:"bytes,1,rep,name=AWS,proto3" json:"aws,omitempty"` - // PollInterval is the frequency at which to poll for AWS resources - PollInterval time.Duration `protobuf:"bytes,2,opt,name=PollInterval,proto3,stdduration" json:"poll_interval,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + AWS []*AccessGraphAWSSync `protobuf:"bytes,1,rep,name=AWS,proto3" json:"aws,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *AccessGraphSync) Reset() { *m = AccessGraphSync{} } @@ -20786,8 +20784,8 @@ var xxx_messageInfo_AccessGraphAWSSync proto.InternalMessageInfo // AccessGraphAzureSync is a configuration for Azure Access Graph service poll service. type AccessGraphAzureSync struct { Regions []string `protobuf:"bytes,1,rep,name=Regions,proto3" json:"regions,omitempty"` - SubscriptionID string `protobuf:"bytes,2,opt,name=SubscriptionID,proto3" json:"regions,omitempty"` - UmiClientId string `protobuf:"bytes,3,opt,name=UmiClientId,proto3" json:"regions,omitempty"` + SubscriptionID string `protobuf:"bytes,2,opt,name=SubscriptionID,proto3" json:"subscription_id,omitempty"` + UMIClientID string `protobuf:"bytes,3,opt,name=UMIClientID,proto3" json:"umi_client_id,omitempty"` Integration string `protobuf:"bytes,4,opt,name=Integration,proto3" json:"integration,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -21257,7 +21255,7 @@ func init() { func init() { proto.RegisterFile("teleport/legacy/types/types.proto", fileDescriptor_9198ee693835762e) } var fileDescriptor_9198ee693835762e = []byte{ - // 29395 bytes of a gzipped FileDescriptorProto + // 29449 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xfd, 0x6b, 0x70, 0x1c, 0x59, 0x76, 0x20, 0x06, 0x77, 0x55, 0xe1, 0x51, 0x38, 0x78, 0x15, 0x2e, 0x40, 0x12, 0x44, 0x37, 0xbb, 0xd8, 0xd9, 0xdd, 0x6c, 0x76, 0x4f, 0x37, 0x39, 0x04, 0xa7, 0x39, 0xd3, 0xd3, 0xaf, 0x29, 0x3c, @@ -22737,365 +22735,368 @@ var fileDescriptor_9198ee693835762e = []byte{ 0xce, 0xea, 0x91, 0x2a, 0xf5, 0xd1, 0x9a, 0x6e, 0x84, 0x3e, 0xef, 0xb7, 0xe3, 0xcf, 0x4b, 0x09, 0x77, 0x6c, 0x35, 0xbd, 0xae, 0xb3, 0xee, 0x27, 0x8a, 0xa8, 0xff, 0xd2, 0xfe, 0x22, 0x9c, 0xa2, 0xc9, 0xb7, 0x13, 0xb8, 0x9d, 0xdd, 0x84, 0x9d, 0x6c, 0xe8, 0x2b, 0x59, 0xec, 0xe4, 0xac, 0xbc, - 0xf1, 0xff, 0xb1, 0x77, 0x35, 0xb1, 0x8d, 0x24, 0xd7, 0x59, 0x4d, 0x52, 0x12, 0xf5, 0xa8, 0x9f, - 0x56, 0xcd, 0xec, 0x8c, 0x56, 0x9a, 0xdf, 0x9e, 0x1f, 0xcf, 0x70, 0xbc, 0x6b, 0xcf, 0x6c, 0xec, - 0xf5, 0xd8, 0xf1, 0x4f, 0x8b, 0x6c, 0x4a, 0x3d, 0xc3, 0xbf, 0xed, 0x26, 0x25, 0xcf, 0xae, 0xed, - 0x4e, 0xaf, 0xd8, 0x92, 0x18, 0x53, 0x24, 0xcd, 0x26, 0x77, 0x3c, 0x8b, 0x00, 0x89, 0x11, 0xc0, - 0x06, 0xf2, 0xe7, 0xc4, 0x09, 0x10, 0x23, 0x08, 0x90, 0x43, 0x16, 0x41, 0x0e, 0xb9, 0x27, 0x48, - 0x72, 0xf1, 0x6d, 0x01, 0xc3, 0x80, 0x81, 0xe4, 0x94, 0x00, 0x9b, 0x64, 0x81, 0xe4, 0x90, 0xe4, - 0x16, 0xc4, 0x07, 0x9f, 0x82, 0x7a, 0x55, 0xd5, 0x5d, 0xfd, 0x43, 0x8e, 0x66, 0x67, 0x37, 0x89, - 0x01, 0x9f, 0x24, 0xbe, 0x7a, 0x55, 0x5d, 0xff, 0xf5, 0xea, 0xd5, 0x7b, 0xdf, 0xa3, 0xfc, 0x41, - 0xa9, 0x67, 0xdc, 0x24, 0x91, 0xb7, 0xe1, 0x9f, 0x82, 0xa5, 0x9e, 0x52, 0x9d, 0x94, 0x69, 0xad, - 0xa4, 0x4d, 0xeb, 0xd3, 0xaf, 0xa9, 0x3a, 0x10, 0x79, 0xb3, 0x62, 0x5a, 0x4f, 0x6e, 0x50, 0x25, - 0xe4, 0x74, 0x5e, 0x11, 0x69, 0x6b, 0xb0, 0x59, 0x30, 0xcd, 0xf5, 0x83, 0x38, 0x89, 0x6c, 0xc1, - 0x52, 0x10, 0xaf, 0x9a, 0x1f, 0x1c, 0x79, 0x46, 0x30, 0x3b, 0xbc, 0x85, 0xdf, 0x52, 0xe0, 0xca, - 0xd3, 0x7a, 0x88, 0xec, 0xc3, 0x39, 0x34, 0xda, 0xf0, 0x07, 0x41, 0x27, 0x3b, 0x07, 0xee, 0xc1, - 0xb1, 0xc7, 0xe7, 0xa4, 0x96, 0xda, 0xd5, 0xc3, 0xa1, 0x6d, 0x37, 0xa4, 0x5e, 0x1e, 0x0e, 0x6d, - 0x7f, 0x20, 0x7e, 0x97, 0x68, 0x76, 0x5e, 0x87, 0x0e, 0x6c, 0xcd, 0xc8, 0x29, 0x6d, 0x0b, 0x8a, - 0xbc, 0x2d, 0xdc, 0x02, 0xf5, 0xd0, 0xeb, 0x50, 0x89, 0xd7, 0xeb, 0x60, 0xd5, 0xde, 0xba, 0xc7, - 0xe2, 0xaf, 0x5b, 0xab, 0x01, 0xdd, 0xf6, 0x07, 0x7b, 0xf7, 0xf8, 0x57, 0x4e, 0xc4, 0x81, 0x26, - 0x5f, 0x1a, 0xc8, 0xcb, 0x70, 0x26, 0x06, 0x27, 0x12, 0xfa, 0xa7, 0x5b, 0xeb, 0x34, 0x29, 0x0a, - 0x3e, 0x75, 0x15, 0x96, 0xc5, 0x98, 0x8f, 0x02, 0x2f, 0x37, 0xab, 0xc0, 0x69, 0x74, 0x4d, 0xf1, - 0xcf, 0x4d, 0x44, 0xa3, 0x52, 0xef, 0x1b, 0xa7, 0x90, 0x94, 0xc9, 0x4b, 0x40, 0x02, 0xa9, 0x3c, - 0xd8, 0x06, 0xf8, 0x07, 0xd7, 0x45, 0x4a, 0xb0, 0x7e, 0xf9, 0x67, 0xff, 0x36, 0x03, 0x67, 0x52, - 0x2e, 0x2a, 0x54, 0xc4, 0xef, 0xf6, 0xc7, 0xde, 0x11, 0xbb, 0x20, 0xc8, 0x8d, 0x5c, 0x93, 0xe8, - 0x5c, 0xfb, 0xb4, 0xc0, 0xe2, 0x8b, 0xf3, 0x6f, 0xf1, 0x5f, 0x74, 0x6b, 0x70, 0x47, 0x42, 0xb1, - 0x42, 0xff, 0x25, 0x26, 0xac, 0x63, 0xd0, 0x04, 0xbf, 0x3b, 0xc0, 0xd8, 0x0b, 0x28, 0x62, 0xe4, - 0x22, 0x57, 0x19, 0xac, 0x45, 0x53, 0x62, 0xa2, 0x32, 0x86, 0xa5, 0x0e, 0x63, 0x14, 0xf2, 0x39, - 0xd8, 0x94, 0x4e, 0x12, 0x27, 0xb6, 0xae, 0xd0, 0x8e, 0xdd, 0x3a, 0xef, 0x06, 0x67, 0x4a, 0x39, - 0xb2, 0xc2, 0xb6, 0xe1, 0x12, 0x0e, 0x62, 0xb7, 0x33, 0x74, 0x12, 0x51, 0x36, 0xb0, 0xa9, 0x0c, - 0x96, 0x7e, 0x93, 0x72, 0x99, 0x9d, 0x61, 0x2c, 0xe0, 0x06, 0x6d, 0x35, 0xef, 0xbe, 0x37, 0xe0, - 0x85, 0xd4, 0x1a, 0xd3, 0xe3, 0x03, 0xcd, 0xa4, 0x42, 0xc9, 0x67, 0x91, 0xfe, 0xa6, 0xa2, 0xcf, - 0x55, 0x58, 0x7e, 0xd3, 0x73, 0x47, 0xde, 0x88, 0x9f, 0xcb, 0x7c, 0x4a, 0x30, 0x9a, 0x7c, 0x2c, - 0x77, 0xa2, 0x43, 0xc3, 0x35, 0x42, 0xa4, 0x06, 0x67, 0xd8, 0xf9, 0xd6, 0x3d, 0x41, 0x51, 0x8f, - 0x6b, 0x91, 0x94, 0x88, 0xb0, 0x83, 0x59, 0xf0, 0xe0, 0x31, 0x91, 0x8b, 0xe5, 0xb6, 0xd6, 0x8f, - 0xe2, 0x24, 0xba, 0xa2, 0xcf, 0xa5, 0x73, 0x93, 0x6d, 0x28, 0xb0, 0xc2, 0x99, 0xd0, 0xcf, 0xd4, - 0xff, 0x57, 0x67, 0x7e, 0xa1, 0x84, 0xd6, 0xc3, 0x7e, 0xf0, 0x3f, 0x3d, 0x8d, 0xf1, 0xa5, 0xd5, - 0x39, 0x91, 0x5f, 0x37, 0xac, 0x65, 0x24, 0xf2, 0x57, 0x0d, 0xed, 0xef, 0x14, 0xd1, 0xd4, 0xc8, - 0xd5, 0x97, 0x4e, 0x2d, 0xdf, 0xeb, 0x8b, 0x17, 0x9e, 0x25, 0x8b, 0xff, 0x7a, 0xc6, 0xa9, 0x4e, - 0x5e, 0x85, 0x65, 0x5a, 0xec, 0xd1, 0xa4, 0xcf, 0xa6, 0x5c, 0x36, 0x02, 0xa3, 0x53, 0x63, 0x49, - 0x74, 0xd8, 0x76, 0xe7, 0xac, 0xc2, 0x49, 0xf8, 0x93, 0xca, 0xc2, 0xfe, 0xc9, 0x78, 0x28, 0x4f, - 0x54, 0xa1, 0x06, 0xb4, 0x6b, 0xad, 0x26, 0xcf, 0x92, 0xa7, 0x3c, 0xa1, 0x2c, 0xbc, 0xbd, 0xc0, - 0x14, 0x81, 0xda, 0x1d, 0x28, 0x48, 0x65, 0xd3, 0xc6, 0x30, 0xbf, 0x18, 0xd1, 0x18, 0xf6, 0x8b, - 0x0f, 0xf6, 0x9b, 0x90, 0x17, 0x45, 0x52, 0xa1, 0xff, 0x78, 0xe0, 0x8b, 0x45, 0x8e, 0xff, 0x53, - 0x1a, 0xed, 0x65, 0x6c, 0xe4, 0xbc, 0x85, 0xff, 0xe3, 0x49, 0x31, 0x76, 0xa9, 0xb4, 0xdf, 0xf3, - 0x9d, 0x21, 0xda, 0x57, 0x05, 0xa2, 0x31, 0xa5, 0xb7, 0x7a, 0x3e, 0xb3, 0xba, 0xe2, 0xdf, 0xf8, - 0xab, 0xe0, 0x88, 0x8d, 0xe9, 0x0a, 0xa6, 0xed, 0x99, 0x91, 0x03, 0x21, 0x13, 0x3d, 0x10, 0xc8, - 0x15, 0x58, 0x66, 0xf0, 0x28, 0x3c, 0x27, 0xfb, 0x32, 0x20, 0x4d, 0xc7, 0xec, 0xe1, 0xce, 0x90, - 0x8b, 0xec, 0x0c, 0xd2, 0x8d, 0x3b, 0x1c, 0x3d, 0x26, 0xc3, 0x89, 0x1b, 0x77, 0x7c, 0x9f, 0xfa, - 0xb3, 0x8c, 0x50, 0x00, 0x6c, 0x0f, 0x06, 0x63, 0x7f, 0x3c, 0x72, 0x87, 0x11, 0x45, 0x27, 0x39, - 0x81, 0x17, 0x51, 0x3e, 0xbe, 0x87, 0x01, 0x2a, 0x06, 0x23, 0x81, 0xc8, 0x11, 0xcc, 0xdc, 0xc2, - 0xbd, 0x4f, 0x44, 0x25, 0x78, 0x9d, 0x72, 0xeb, 0x32, 0x33, 0x9d, 0xb0, 0x52, 0xa9, 0xbb, 0x73, - 0xd6, 0x79, 0x56, 0x66, 0x82, 0x8b, 0xec, 0xa6, 0x2c, 0xe2, 0xb8, 0xa6, 0x73, 0x3b, 0x5c, 0xd1, - 0xd1, 0x52, 0xe5, 0xb5, 0x4e, 0xbe, 0x00, 0x4b, 0xdd, 0x8e, 0x1c, 0x87, 0x31, 0xae, 0x63, 0x33, - 0x3b, 0x0c, 0x0b, 0x3a, 0x2c, 0x83, 0xce, 0xb9, 0x2e, 0xa7, 0x6e, 0xaf, 0x44, 0x54, 0xc2, 0xda, - 0xb6, 0xb8, 0x6b, 0x26, 0xb3, 0x91, 0x55, 0xc8, 0x04, 0x23, 0x9c, 0xe9, 0x76, 0xd8, 0xf2, 0x0a, - 0xd1, 0xa8, 0x2d, 0xfe, 0x4b, 0xfb, 0x15, 0xb8, 0x75, 0xda, 0x3e, 0xa2, 0x4b, 0x71, 0x4a, 0x87, - 0x2f, 0x59, 0xeb, 0x6e, 0xa2, 0xdf, 0xae, 0x82, 0x0c, 0xa6, 0xdb, 0x15, 0x9b, 0x9f, 0xa0, 0xb5, - 0x47, 0x5d, 0xed, 0x2f, 0xb3, 0xb0, 0x1a, 0x55, 0x82, 0x93, 0x3b, 0x90, 0x93, 0x76, 0xa0, 0xf3, - 0x29, 0x9a, 0x72, 0xdc, 0x77, 0x90, 0xe9, 0x54, 0x3b, 0x0e, 0x79, 0x00, 0xab, 0x68, 0x96, 0x87, - 0x82, 0xe5, 0xb8, 0xcb, 0x9f, 0x56, 0x66, 0xbf, 0x8e, 0xe5, 0xdf, 0x7d, 0xef, 0xf2, 0x1c, 0x3e, - 0x84, 0x2d, 0xd3, 0xbc, 0x54, 0xb6, 0xa3, 0x89, 0x92, 0x8e, 0x33, 0x37, 0x5d, 0xc7, 0xc9, 0x9b, - 0x32, 0x45, 0xc7, 0x39, 0x3f, 0x43, 0xc7, 0x19, 0xe6, 0x94, 0x75, 0x9c, 0xa8, 0xe9, 0x5e, 0x9c, - 0xa6, 0xe9, 0x0e, 0xf3, 0x30, 0x4d, 0x77, 0xa8, 0xa3, 0xcc, 0x4f, 0xd5, 0x51, 0x86, 0x79, 0xb8, - 0x8e, 0xf2, 0x3a, 0xef, 0xa3, 0x91, 0xfb, 0xd8, 0xc1, 0xce, 0xe3, 0xc7, 0x22, 0xb6, 0xde, 0x72, - 0x1f, 0xa3, 0xe9, 0xcc, 0xf6, 0x12, 0x08, 0x7b, 0x1b, 0xed, 0xf7, 0x95, 0x98, 0x9e, 0x4f, 0x8c, - 0xdf, 0x0d, 0x58, 0x65, 0x87, 0x95, 0xd7, 0x91, 0x6e, 0x92, 0x2b, 0xd6, 0x8a, 0xa0, 0xb2, 0xdb, - 0xe4, 0xc7, 0x60, 0x2d, 0x60, 0xe3, 0x17, 0x2a, 0xf4, 0xc3, 0xb3, 0x82, 0xdc, 0x1c, 0x54, 0xe6, - 0x0e, 0xac, 0x07, 0x8c, 0x5c, 0x57, 0xc3, 0x2e, 0x93, 0x2b, 0x96, 0x2a, 0x12, 0x9a, 0x9c, 0xae, - 0x1d, 0xc5, 0xef, 0x15, 0x1f, 0x51, 0xad, 0xb4, 0x1f, 0x64, 0x23, 0x3a, 0x10, 0xf1, 0x19, 0x7a, - 0x8a, 0xfa, 0x03, 0x87, 0x77, 0x12, 0xdf, 0x8b, 0xae, 0x4e, 0x19, 0x33, 0x6e, 0xb1, 0x64, 0xdb, - 0x0d, 0x0b, 0x7c, 0x7f, 0x20, 0x0c, 0x98, 0x1c, 0x26, 0x51, 0xb3, 0x73, 0x1f, 0xe7, 0xac, 0x28, - 0x8e, 0x6d, 0x3c, 0xc5, 0xd9, 0xc5, 0x89, 0x4b, 0x28, 0x9d, 0xb2, 0x28, 0x59, 0x07, 0xbf, 0xc4, - 0x07, 0xda, 0x80, 0x2a, 0x43, 0x3f, 0x5a, 0x78, 0x36, 0xe5, 0x66, 0x94, 0x28, 0x1c, 0x7b, 0x09, - 0x4b, 0x56, 0x27, 0xe2, 0x5f, 0x51, 0xac, 0x01, 0xcb, 0xa8, 0x81, 0x10, 0x05, 0xe6, 0x52, 0x14, - 0xec, 0xc9, 0xc6, 0x97, 0xcc, 0x9a, 0x55, 0xa0, 0xf9, 0x44, 0x31, 0xc7, 0xf0, 0xa2, 0xac, 0x37, - 0x88, 0x56, 0x72, 0x5e, 0x60, 0xe4, 0xce, 0xec, 0x81, 0x50, 0xbd, 0x80, 0x55, 0x3d, 0xe7, 0x46, - 0x09, 0x9c, 0x4d, 0x3b, 0x86, 0xcd, 0xe9, 0x43, 0x32, 0x23, 0xfe, 0x52, 0x78, 0x80, 0x66, 0xe4, - 0x03, 0x54, 0xd6, 0x22, 0x64, 0x23, 0x5a, 0x04, 0xed, 0x4f, 0xb3, 0x70, 0xed, 0x14, 0xc3, 0x35, - 0xe3, 0x9b, 0x5f, 0x8a, 0x8a, 0x67, 0x99, 0xc8, 0xbd, 0x8f, 0x16, 0xca, 0x37, 0x48, 0x7a, 0x07, - 0x4d, 0x17, 0xce, 0x7e, 0x09, 0xd6, 0xd8, 0x2e, 0xc8, 0x8c, 0x0e, 0x0f, 0x27, 0xbd, 0x53, 0x6c, - 0x83, 0x5b, 0xc2, 0x43, 0x2a, 0x96, 0x15, 0x77, 0x46, 0xdc, 0x31, 0xec, 0x80, 0x46, 0x5a, 0x50, - 0x40, 0xb6, 0x43, 0xb7, 0xdb, 0x3b, 0x95, 0xab, 0x8e, 0xf0, 0xbf, 0x92, 0xb3, 0x31, 0x5b, 0x69, - 0x4a, 0xa8, 0xe0, 0x6f, 0x72, 0x13, 0xd6, 0xfa, 0x93, 0x13, 0x2a, 0x78, 0xb0, 0xb9, 0xc0, 0x6d, - 0x3b, 0xe6, 0xad, 0x95, 0xfe, 0xe4, 0x44, 0x1f, 0x0e, 0x71, 0x48, 0xd1, 0x08, 0x64, 0x9d, 0xf2, - 0xb1, 0x55, 0x2b, 0x38, 0x17, 0x90, 0x93, 0x16, 0xc0, 0xd6, 0x2d, 0xe7, 0x3d, 0x0b, 0xcc, 0x24, - 0x90, 0xc7, 0x9f, 0x62, 0x3f, 0xb4, 0x9f, 0x64, 0xc4, 0x7d, 0x77, 0xfa, 0xbc, 0xff, 0xf9, 0x10, - 0xa5, 0x0c, 0xd1, 0x2d, 0x50, 0x69, 0xd7, 0x87, 0x9b, 0x4a, 0x30, 0x46, 0xab, 0xfd, 0xc9, 0x49, - 0xd0, 0x77, 0x72, 0xc7, 0x2f, 0xc8, 0x1d, 0xff, 0xaa, 0xb8, 0x0f, 0xa7, 0x6e, 0x0f, 0xd3, 0xbb, - 0x5c, 0xfb, 0xcf, 0x2c, 0xdc, 0x3c, 0xdd, 0x26, 0xf0, 0xf3, 0x71, 0x4b, 0x19, 0xb7, 0x98, 0x62, - 0x74, 0x3e, 0xa1, 0x18, 0x4d, 0x59, 0x7b, 0x0b, 0x69, 0x6b, 0x2f, 0xa1, 0x86, 0x5d, 0x4c, 0x51, - 0xc3, 0xa6, 0x2e, 0xd0, 0xfc, 0x53, 0x16, 0xe8, 0x92, 0x3c, 0x4f, 0xfe, 0x2d, 0x50, 0x60, 0x44, - 0xef, 0x03, 0x6f, 0xc0, 0x19, 0x71, 0x1f, 0x60, 0x27, 0x47, 0xa8, 0x5d, 0x2f, 0xdc, 0xbb, 0x9d, - 0x76, 0x13, 0x40, 0xb6, 0x14, 0x69, 0x7d, 0x9d, 0xdf, 0x01, 0xc2, 0xf4, 0xff, 0x3f, 0xd2, 0x3f, - 0x79, 0x04, 0xe7, 0x10, 0xbd, 0xfd, 0x40, 0x7e, 0x17, 0x70, 0x46, 0xde, 0x21, 0x9f, 0x0f, 0x57, - 0x13, 0xb2, 0x72, 0xf7, 0x40, 0xaa, 0x8e, 0xe5, 0x1d, 0xee, 0xce, 0x59, 0x67, 0xfd, 0x14, 0x7a, - 0xfc, 0x62, 0xf1, 0x17, 0x0a, 0x68, 0x4f, 0xef, 0x2f, 0x54, 0x54, 0xc5, 0x3b, 0x7c, 0xc9, 0x2a, - 0xb8, 0x52, 0xef, 0x5d, 0x83, 0x95, 0x91, 0x77, 0x38, 0xf2, 0xfc, 0xe3, 0x88, 0x06, 0x64, 0x99, - 0x13, 0x45, 0xc7, 0x08, 0x0c, 0xc9, 0x67, 0x92, 0xcc, 0x45, 0x26, 0xad, 0x12, 0xdc, 0x17, 0x53, - 0xc7, 0x81, 0xce, 0x26, 0xb9, 0x82, 0xec, 0xc7, 0x83, 0x5c, 0x3e, 0xa3, 0x66, 0x2d, 0x8e, 0x74, - 0x79, 0xd8, 0xed, 0x79, 0xda, 0x5f, 0x2b, 0x42, 0x22, 0x48, 0xeb, 0x3c, 0xf2, 0x86, 0x64, 0xaa, - 0x9b, 0x4d, 0x88, 0x21, 0x69, 0x59, 0x64, 0xab, 0x46, 0x0e, 0xbe, 0x88, 0x84, 0x08, 0xf8, 0x22, - 0x52, 0x9e, 0xc3, 0xde, 0x90, 0xdf, 0x9a, 0xef, 0x0b, 0x7b, 0x1f, 0xba, 0xe7, 0xed, 0xdd, 0x25, - 0xb7, 0x61, 0x91, 0x99, 0xf8, 0x88, 0xea, 0xae, 0x45, 0xaa, 0xbb, 0x77, 0xd7, 0x12, 0xe9, 0xda, - 0xf7, 0x03, 0x55, 0x76, 0xa2, 0x11, 0x7b, 0x77, 0xc9, 0xab, 0xa7, 0x33, 0xbd, 0xcd, 0x0b, 0xd3, - 0xdb, 0xc0, 0xec, 0xf6, 0x33, 0x11, 0xb3, 0xdb, 0xeb, 0xb3, 0x7b, 0x8b, 0xbf, 0x35, 0x32, 0xb0, - 0xc1, 0x10, 0x84, 0xea, 0x27, 0x0a, 0x5c, 0x9c, 0x99, 0x83, 0x5c, 0x80, 0xbc, 0xde, 0x34, 0x5b, - 0xe1, 0xf8, 0xd2, 0x35, 0x23, 0x28, 0x64, 0x07, 0x96, 0xb6, 0x5d, 0xbf, 0x7b, 0x40, 0xa7, 0x71, - 0xaa, 0xf2, 0x3f, 0x51, 0x6c, 0xc0, 0xbe, 0x3b, 0x67, 0x85, 0x79, 0x89, 0x03, 0xeb, 0xb8, 0x16, - 0x22, 0x81, 0x9d, 0xb2, 0x29, 0xba, 0x86, 0x44, 0x81, 0x89, 0x6c, 0x74, 0x9f, 0x49, 0x10, 0xe3, - 0x4b, 0xf0, 0x2d, 0x21, 0x8b, 0x4c, 0xaf, 0xe0, 0x33, 0xa0, 0xa6, 0xde, 0x82, 0x7c, 0x53, 0x58, - 0x01, 0x48, 0xb6, 0xea, 0xe2, 0xc5, 0xdf, 0x0a, 0x52, 0xb5, 0xdf, 0x52, 0x84, 0x42, 0xe0, 0xe9, - 0x0d, 0x91, 0x62, 0x62, 0x75, 0x66, 0xc7, 0xc4, 0xea, 0x7c, 0xc0, 0x98, 0x58, 0xda, 0x9f, 0x73, - 0x4c, 0x73, 0xb3, 0xd3, 0x8c, 0x69, 0x66, 0x9f, 0xd7, 0xe7, 0xc0, 0x88, 0xcc, 0xce, 0x6b, 0x52, - 0x4c, 0xc5, 0xe4, 0xb7, 0xa6, 0xbb, 0x1e, 0x48, 0x53, 0xf5, 0x0f, 0xb3, 0x70, 0x61, 0x56, 0xf6, - 0xd4, 0xa8, 0xcd, 0xca, 0xb3, 0x45, 0x6d, 0xbe, 0x0d, 0x79, 0x46, 0x0b, 0x0c, 0xea, 0xb1, 0xc3, - 0x79, 0x56, 0xda, 0xe1, 0x22, 0x99, 0x5c, 0x83, 0x05, 0xbd, 0x64, 0x87, 0x81, 0xc4, 0xd0, 0xf2, - 0xd5, 0x3d, 0xf0, 0xd1, 0xa6, 0x92, 0x27, 0x91, 0xaf, 0x25, 0x63, 0xe7, 0xf1, 0x08, 0x62, 0x5b, - 0x52, 0x87, 0x24, 0xc2, 0x0d, 0x60, 0x7d, 0x43, 0x78, 0x7c, 0x8e, 0x38, 0x6d, 0x25, 0xe3, 0xf0, - 0x69, 0xb0, 0xd0, 0x1c, 0x79, 0xbe, 0x37, 0x96, 0xad, 0x52, 0x87, 0x48, 0xb1, 0x78, 0x0a, 0xb7, - 0x19, 0x75, 0x9f, 0x30, 0x88, 0x80, 0x05, 0x19, 0xb6, 0x05, 0x8d, 0x4c, 0x29, 0xd9, 0x92, 0x58, - 0x68, 0x86, 0xaa, 0x3b, 0xe9, 0x1f, 0x1c, 0xb7, 0xad, 0x2a, 0x17, 0x35, 0x58, 0x86, 0x1e, 0x52, - 0x69, 0x03, 0x7d, 0x4b, 0x62, 0xd1, 0xbe, 0xa3, 0xc0, 0xd9, 0xb4, 0x76, 0x90, 0x0b, 0x90, 0xeb, - 0xa7, 0x86, 0x09, 0xec, 0x33, 0xcf, 0xe6, 0x02, 0xfd, 0xeb, 0x1c, 0x0e, 0x46, 0x27, 0xee, 0x58, - 0xb6, 0xdd, 0x95, 0xc8, 0x16, 0xd0, 0x1f, 0x15, 0xfc, 0x9f, 0x5c, 0x16, 0x7b, 0x74, 0x36, 0x11, - 0x58, 0x10, 0xff, 0x68, 0x3a, 0x80, 0xd9, 0x69, 0x36, 0x86, 0x0c, 0xee, 0xfe, 0x15, 0xc8, 0xd1, - 0x6a, 0xc5, 0x66, 0x2f, 0x9d, 0x3f, 0x7a, 0xad, 0xca, 0x99, 0x58, 0xad, 0x7c, 0xf7, 0xa4, 0x67, - 0x21, 0xb3, 0xb6, 0x0f, 0xab, 0x51, 0x0e, 0x62, 0x44, 0x01, 0x52, 0x0b, 0xf7, 0x54, 0x5e, 0xd2, - 0xf6, 0x60, 0xc0, 0xfc, 0x47, 0xb6, 0x5f, 0xfc, 0x87, 0xf7, 0x2e, 0x03, 0xfd, 0xc9, 0xf2, 0xa4, - 0x01, 0xa8, 0x6a, 0xdf, 0xcd, 0xc0, 0xd9, 0xd0, 0x65, 0x5d, 0xac, 0xa1, 0x9f, 0x59, 0xff, 0x49, - 0x3d, 0xe2, 0xdf, 0x27, 0x04, 0xad, 0x64, 0x03, 0x67, 0xb8, 0x15, 0xed, 0xc0, 0xc6, 0x34, 0x7e, - 0x72, 0x07, 0x96, 0x10, 0xe5, 0x68, 0xe8, 0x1e, 0x78, 0xf2, 0xde, 0xd7, 0x17, 0x44, 0x2b, 0x4c, - 0xd7, 0x7e, 0xa4, 0xc0, 0x26, 0xf7, 0x7a, 0xa8, 0xb9, 0xdd, 0x3e, 0xaa, 0xd5, 0x0f, 0xbc, 0x0f, - 0xc7, 0xff, 0x77, 0x27, 0xb2, 0x8f, 0xdd, 0x88, 0x3a, 0xb7, 0x24, 0xbe, 0x36, 0xbd, 0xb5, 0xe4, - 0x36, 0x22, 0x77, 0xf1, 0x47, 0xe5, 0x1c, 0xc3, 0x5b, 0xe8, 0x53, 0x82, 0x8c, 0xb7, 0x80, 0x1c, - 0xda, 0xaf, 0xc2, 0xa5, 0xd9, 0x1f, 0x20, 0x5f, 0x85, 0x15, 0x0c, 0x05, 0xd5, 0x1e, 0x1e, 0x8d, - 0xdc, 0x8e, 0x27, 0x54, 0x61, 0x42, 0x7d, 0x29, 0xa7, 0x31, 0x20, 0x32, 0xee, 0xff, 0x7f, 0x84, - 0x41, 0xa6, 0x78, 0xa6, 0x88, 0x6b, 0x91, 0x5c, 0x9a, 0xf6, 0x6b, 0x0a, 0x90, 0x64, 0x19, 0xe4, - 0xd3, 0xb0, 0xdc, 0x6e, 0x95, 0xec, 0xb1, 0x3b, 0x1a, 0xef, 0x0e, 0x26, 0x23, 0x8e, 0x02, 0xc6, - 0xdc, 0xc1, 0xc7, 0x07, 0x0e, 0x7b, 0x40, 0x39, 0x1e, 0x4c, 0x46, 0x56, 0x84, 0x0f, 0x63, 0x18, - 0x79, 0xde, 0xd7, 0x3b, 0xee, 0x93, 0x68, 0x0c, 0x23, 0x4e, 0x8b, 0xc4, 0x30, 0xe2, 0x34, 0xed, - 0x1d, 0x05, 0xb6, 0x84, 0xad, 0x60, 0x27, 0xa5, 0x2e, 0x25, 0x04, 0x3d, 0x19, 0x09, 0xd8, 0xd9, - 0x59, 0x22, 0xed, 0xba, 0xc0, 0x05, 0xc2, 0x0a, 0xa2, 0x6c, 0xcb, 0xf2, 0x92, 0x2f, 0x41, 0xce, - 0x1e, 0x0f, 0x86, 0xa7, 0x00, 0x06, 0x52, 0x83, 0x11, 0x1d, 0x0f, 0x86, 0x58, 0x04, 0xe6, 0xd4, - 0x3c, 0x38, 0x2b, 0x57, 0x4e, 0xd4, 0x98, 0xd4, 0x60, 0x91, 0x23, 0xc0, 0xc5, 0x1e, 0xea, 0x67, - 0xb4, 0x69, 0x7b, 0x4d, 0xa0, 0x0f, 0x71, 0xd8, 0x53, 0x4b, 0x94, 0xa1, 0xfd, 0x8e, 0x02, 0x05, - 0x2a, 0x6d, 0xe0, 0x2d, 0xee, 0x79, 0xa7, 0x74, 0x54, 0x70, 0x14, 0x56, 0x25, 0x41, 0xf1, 0xa7, - 0x3a, 0x8d, 0x3f, 0x05, 0x6b, 0xb1, 0x0c, 0x44, 0x43, 0xdc, 0x89, 0x5e, 0xf7, 0xc0, 0x65, 0x21, - 0x51, 0x98, 0x45, 0x46, 0x84, 0xa6, 0xfd, 0x86, 0x02, 0x67, 0xe9, 0x9d, 0x9f, 0xbd, 0x73, 0x5a, - 0x93, 0x9e, 0x58, 0xef, 0x54, 0x82, 0x12, 0x46, 0xa7, 0xcc, 0x27, 0x9e, 0x49, 0x50, 0x9c, 0x66, - 0x05, 0xa9, 0x64, 0x17, 0xf2, 0xfc, 0x7c, 0xf1, 0x39, 0x5a, 0xe9, 0x25, 0x49, 0x99, 0x10, 0x16, - 0xcc, 0x99, 0x68, 0x4b, 0x70, 0x0b, 0xe3, 0x79, 0xac, 0x20, 0xb7, 0xf6, 0x5f, 0x0a, 0x9c, 0x9f, - 0x92, 0x87, 0x7c, 0x1e, 0xe6, 0xd1, 0x5f, 0x8f, 0x8f, 0xde, 0x85, 0x29, 0x9f, 0x18, 0x1f, 0x1c, - 0xef, 0xdd, 0x65, 0x07, 0xd1, 0x09, 0xfd, 0x61, 0xb1, 0x5c, 0xe4, 0x0d, 0x58, 0xd2, 0x3b, 0x1d, - 0x7e, 0x9d, 0xc9, 0x44, 0xae, 0x33, 0x53, 0xbe, 0xf8, 0x72, 0xc0, 0xcf, 0xae, 0x33, 0xcc, 0x73, - 0xa4, 0xd3, 0x71, 0xb8, 0x2f, 0x62, 0x58, 0xde, 0xe6, 0x2f, 0xc2, 0x6a, 0x94, 0xf9, 0x99, 0xdc, - 0xa7, 0xbe, 0xaf, 0x80, 0x1a, 0xad, 0xc3, 0x47, 0x83, 0x9b, 0x94, 0x36, 0xcc, 0x4f, 0x99, 0x54, - 0xbf, 0x97, 0x81, 0x17, 0x52, 0x7b, 0x98, 0xbc, 0x04, 0x0b, 0xfa, 0x70, 0x68, 0x96, 0xf9, 0xac, - 0xe2, 0x12, 0x12, 0x6a, 0x89, 0x23, 0xb7, 0x3d, 0xc6, 0x44, 0x5e, 0x81, 0x3c, 0x7b, 0x4e, 0x2f, - 0x8b, 0x0d, 0x07, 0x81, 0x60, 0xf8, 0x5b, 0x7f, 0x14, 0x37, 0x54, 0x30, 0x92, 0x0a, 0xac, 0x72, - 0x08, 0x15, 0xcb, 0x3b, 0xf2, 0xbe, 0x19, 0x00, 0xd8, 0x23, 0xc6, 0xbe, 0x50, 0x3d, 0x3b, 0x23, - 0x96, 0x26, 0x83, 0x88, 0x44, 0x73, 0x91, 0x2a, 0xa8, 0x58, 0xa6, 0x5c, 0x12, 0x03, 0x2f, 0x45, - 0x50, 0x1b, 0x56, 0x89, 0x29, 0x65, 0x25, 0x72, 0x06, 0xc3, 0xa5, 0xfb, 0x7e, 0xf7, 0xa8, 0x7f, - 0xe2, 0xf5, 0xc7, 0x1f, 0xdd, 0x70, 0x85, 0xdf, 0x38, 0xd5, 0x70, 0xfd, 0x41, 0x8e, 0x2d, 0xe6, - 0x78, 0x36, 0x2a, 0xd1, 0x48, 0x78, 0xd5, 0x28, 0xd1, 0x60, 0x84, 0x7f, 0x06, 0x12, 0x52, 0x86, - 0x45, 0x06, 0xde, 0x22, 0x56, 0xc6, 0xc5, 0xd4, 0x2a, 0x30, 0x9e, 0xbd, 0xbb, 0x4c, 0x7c, 0x61, - 0x8e, 0x83, 0xbe, 0x25, 0xb2, 0x92, 0x3d, 0x28, 0x94, 0x7a, 0x9e, 0xdb, 0x9f, 0x0c, 0x5b, 0xa7, - 0x7b, 0x72, 0xdc, 0xe0, 0x6d, 0x59, 0x3e, 0x60, 0xd9, 0xf0, 0xa9, 0x12, 0x77, 0x72, 0xb9, 0x20, - 0xd2, 0x0a, 0x7c, 0x89, 0x72, 0xa8, 0xa9, 0xfc, 0xe4, 0x8c, 0xfe, 0x89, 0x13, 0x31, 0x5f, 0xd4, - 0x51, 0x8e, 0x3b, 0x1b, 0x39, 0xb0, 0x5a, 0x75, 0xfd, 0x71, 0x6b, 0xe4, 0xf6, 0x7d, 0x04, 0x7d, - 0x3c, 0x05, 0x28, 0xd6, 0x96, 0x08, 0x28, 0x8c, 0x3a, 0xc6, 0x71, 0x90, 0x95, 0x69, 0x30, 0xa3, - 0xc5, 0x51, 0x79, 0xa9, 0xd2, 0xed, 0xbb, 0xbd, 0xee, 0xdb, 0xc2, 0xe5, 0x92, 0xc9, 0x4b, 0x87, - 0x82, 0x68, 0x85, 0xe9, 0xda, 0x57, 0x12, 0xe3, 0xc6, 0x6a, 0x59, 0x80, 0x45, 0xee, 0x90, 0xcf, - 0x1c, 0xd4, 0x9b, 0x46, 0xbd, 0x6c, 0xd6, 0x77, 0x54, 0x85, 0xac, 0x02, 0x34, 0xad, 0x46, 0xc9, - 0xb0, 0x6d, 0xfa, 0x3b, 0x43, 0x7f, 0x73, 0xef, 0xf5, 0x4a, 0xbb, 0xaa, 0x66, 0x25, 0x07, 0xf6, - 0x9c, 0xf6, 0x43, 0x05, 0xce, 0xa5, 0x0f, 0x25, 0x69, 0x01, 0x42, 0x18, 0xf0, 0xc7, 0xe7, 0x4f, - 0xcf, 0x1c, 0xf7, 0x54, 0x72, 0x1c, 0x0a, 0x61, 0xcc, 0x5c, 0xec, 0x33, 0xe2, 0xb1, 0x88, 0xf9, - 0xec, 0x75, 0x3b, 0x56, 0xa6, 0xdb, 0xd1, 0x4a, 0xb0, 0x31, 0xad, 0x8c, 0x68, 0x53, 0xd7, 0xa0, - 0xa0, 0x37, 0x9b, 0x55, 0xb3, 0xa4, 0xb7, 0xcc, 0x46, 0x5d, 0x55, 0xc8, 0x12, 0xcc, 0xef, 0x58, - 0x8d, 0x76, 0x53, 0xcd, 0x68, 0xdf, 0x53, 0x60, 0xc5, 0x0c, 0xcd, 0xb4, 0x9e, 0x77, 0xf1, 0x7d, - 0x36, 0xb2, 0xf8, 0x36, 0x02, 0xb0, 0x8f, 0xe0, 0x03, 0xa7, 0x5a, 0x79, 0x7f, 0xaf, 0xc0, 0x7a, - 0x22, 0x0f, 0xb1, 0x61, 0x51, 0xdf, 0xb7, 0x1b, 0x66, 0xb9, 0xc4, 0x6b, 0x76, 0x39, 0xb4, 0x2f, - 0xc2, 0x78, 0x4e, 0x89, 0xaf, 0x30, 0x07, 0xd9, 0xc7, 0xbe, 0x33, 0xe8, 0x76, 0xa4, 0x58, 0xac, - 0xbb, 0x73, 0x96, 0x28, 0x09, 0x4f, 0xb2, 0xb7, 0x27, 0x23, 0x0f, 0x8b, 0xcd, 0x44, 0x14, 0xa1, - 0x01, 0x3d, 0x59, 0x30, 0xba, 0x33, 0xb8, 0x34, 0x3d, 0x59, 0x74, 0x58, 0xde, 0xf6, 0x0a, 0x14, - 0xf8, 0xad, 0x05, 0x2f, 0x04, 0x3f, 0x50, 0x60, 0x63, 0x5a, 0x5d, 0xe9, 0x45, 0x28, 0xea, 0x2d, - 0x7f, 0x2e, 0x88, 0xcf, 0x10, 0x75, 0x93, 0x17, 0x6c, 0xe4, 0x8b, 0x50, 0x30, 0x7d, 0x7f, 0xe2, - 0x8d, 0xec, 0x57, 0xda, 0x96, 0xc9, 0x27, 0xc8, 0xc5, 0x7f, 0x7f, 0xef, 0xf2, 0x79, 0x74, 0x3a, - 0x18, 0x39, 0xfe, 0x2b, 0xce, 0x64, 0xd4, 0x8d, 0x60, 0xd9, 0xcb, 0x39, 0xa8, 0xdc, 0xea, 0x4e, - 0x3a, 0x5d, 0x4f, 0x48, 0xed, 0xc2, 0xa3, 0x98, 0xd3, 0xe4, 0x53, 0x44, 0xd0, 0xb4, 0x6f, 0x2b, - 0xb0, 0x39, 0xbd, 0x63, 0xe8, 0xc9, 0xd4, 0x62, 0x56, 0x3f, 0xc2, 0xa7, 0x17, 0x4f, 0xa6, 0xc0, - 0x34, 0x48, 0x2e, 0x53, 0x30, 0xd2, 0x4c, 0x41, 0x6c, 0xf4, 0x4c, 0x22, 0x20, 0x72, 0x34, 0x93, - 0x60, 0xd4, 0xfe, 0x23, 0x03, 0xe7, 0xe8, 0xa4, 0xeb, 0x79, 0xbe, 0xaf, 0x4f, 0xc6, 0xc7, 0x5e, - 0x7f, 0xcc, 0xc5, 0x30, 0xf2, 0x2a, 0x2c, 0x1c, 0x3f, 0x9b, 0xca, 0x91, 0xb1, 0x13, 0x02, 0xb8, - 0x91, 0x0b, 0x17, 0x0a, 0xfa, 0x3f, 0xb9, 0x0a, 0x72, 0x08, 0xea, 0x2c, 0x82, 0x60, 0x66, 0x36, - 0x14, 0x6b, 0x69, 0x18, 0x44, 0x8b, 0xfd, 0x0c, 0xcc, 0xa3, 0x9a, 0x81, 0x6f, 0xa9, 0x42, 0x14, - 0x4e, 0xaf, 0x1d, 0x2a, 0x21, 0x2c, 0x96, 0x81, 0x7c, 0x02, 0x20, 0x8c, 0x1f, 0xc0, 0xf7, 0x4c, - 0x71, 0xfd, 0x0e, 0x42, 0x08, 0x58, 0x4b, 0x27, 0x87, 0x2e, 0x07, 0xe5, 0x2f, 0xc2, 0xba, 0xe8, - 0x96, 0xa1, 0xc0, 0xce, 0xe3, 0xaf, 0x61, 0x6b, 0x2c, 0xc1, 0x1c, 0x0a, 0xfc, 0xbc, 0xeb, 0x89, - 0x30, 0xba, 0x08, 0xa1, 0x1b, 0x8b, 0x95, 0x7b, 0x3d, 0x11, 0x2b, 0x37, 0xcf, 0xb8, 0xe4, 0x80, - 0xb8, 0xda, 0xbf, 0x66, 0x60, 0x69, 0x9f, 0x0a, 0x2b, 0x78, 0x05, 0x9f, 0x7d, 0xa5, 0xbf, 0x07, - 0x85, 0xea, 0xc0, 0xe5, 0xcf, 0x0e, 0xdc, 0xf3, 0x80, 0x79, 0xfe, 0xf6, 0x06, 0xae, 0x78, 0xc1, - 0xf0, 0x2d, 0x99, 0xe9, 0x29, 0x5e, 0xcb, 0x0f, 0x60, 0x81, 0x3d, 0x03, 0x71, 0xed, 0x92, 0x10, - 0x57, 0x83, 0x1a, 0xbd, 0xcc, 0x92, 0x25, 0x4d, 0x39, 0x7b, 0x4a, 0x92, 0x65, 0x27, 0x8e, 0x04, - 0x2a, 0x29, 0x1c, 0xe6, 0x4f, 0xa7, 0x70, 0x90, 0x10, 0xcf, 0x16, 0x4e, 0x83, 0x78, 0xb6, 0x79, - 0x1f, 0x0a, 0x52, 0x7d, 0x9e, 0x49, 0x7a, 0xfd, 0x56, 0x06, 0x56, 0xb0, 0x55, 0x81, 0x4d, 0xc8, - 0xcf, 0xa6, 0xfa, 0xe4, 0xb3, 0x11, 0xf5, 0xc9, 0x86, 0x3c, 0x5e, 0xac, 0x65, 0x33, 0xf4, 0x26, - 0x0f, 0x60, 0x3d, 0xc1, 0x48, 0x3e, 0x05, 0xf3, 0xb4, 0xfa, 0xe2, 0xba, 0xa9, 0xc6, 0x67, 0x40, - 0x88, 0x8e, 0x4b, 0x1b, 0xee, 0x5b, 0x8c, 0x5b, 0xfb, 0x6f, 0x05, 0x96, 0x79, 0x70, 0x8a, 0xfe, - 0xe1, 0xe0, 0xa9, 0xdd, 0x79, 0x33, 0xde, 0x9d, 0x0c, 0x83, 0x83, 0x77, 0xe7, 0xff, 0x76, 0x27, - 0xde, 0x8f, 0x74, 0xe2, 0xf9, 0x00, 0x2b, 0x4f, 0x34, 0x67, 0x46, 0x1f, 0xfe, 0x0d, 0xa2, 0xc7, - 0x46, 0x19, 0xc9, 0xd7, 0x60, 0xa9, 0xee, 0x3d, 0x8e, 0xdc, 0xda, 0x6e, 0x4e, 0x29, 0xf4, 0xe5, - 0x80, 0x91, 0xad, 0x29, 0x3c, 0xf0, 0xfa, 0xde, 0x63, 0x27, 0xf1, 0x02, 0x15, 0x16, 0x49, 0x2f, - 0x6e, 0xd1, 0x6c, 0xcf, 0x32, 0xf5, 0xb9, 0x1b, 0x24, 0xc2, 0xca, 0x7c, 0x27, 0x0b, 0x10, 0x7a, - 0x90, 0xd1, 0x05, 0x18, 0x79, 0x7c, 0x17, 0x0a, 0x6f, 0x24, 0xc9, 0x73, 0x5c, 0xbc, 0xc9, 0xdf, - 0xe4, 0x8a, 0xd9, 0xcc, 0x74, 0x2c, 0x43, 0x54, 0xd1, 0x96, 0xb8, 0xcb, 0x52, 0xc7, 0xeb, 0xb9, - 0x6c, 0x6f, 0xcf, 0x6e, 0x5f, 0x47, 0xe8, 0xda, 0x80, 0x3a, 0x25, 0xca, 0x30, 0x3a, 0x36, 0x95, - 0x29, 0x43, 0xc2, 0x2b, 0x33, 0xf7, 0x6c, 0x5e, 0x99, 0x4d, 0x58, 0xea, 0xf6, 0xdf, 0xf2, 0xfa, - 0xe3, 0xc1, 0xe8, 0x09, 0x6a, 0xa3, 0x43, 0x35, 0x17, 0xed, 0x02, 0x53, 0xa4, 0xb1, 0x71, 0xc0, - 0x83, 0x31, 0xe0, 0x97, 0x87, 0x21, 0x20, 0x06, 0x5e, 0xa5, 0xf3, 0xea, 0xc2, 0x83, 0x5c, 0x7e, - 0x41, 0x5d, 0x7c, 0x90, 0xcb, 0xe7, 0xd5, 0xa5, 0x07, 0xb9, 0xfc, 0x92, 0x0a, 0x96, 0xf4, 0xbe, - 0x13, 0xbc, 0xdf, 0x48, 0x4f, 0x2e, 0xd1, 0xe7, 0x14, 0xed, 0xa7, 0x19, 0x20, 0xc9, 0x6a, 0x90, - 0xcf, 0x42, 0x81, 0x6d, 0xb0, 0xce, 0xc8, 0xff, 0x06, 0x37, 0x5b, 0x67, 0xe0, 0x3c, 0x12, 0x59, - 0x06, 0xe7, 0x61, 0x64, 0xcb, 0xff, 0x46, 0x8f, 0x7c, 0x15, 0xce, 0x60, 0xf7, 0x0e, 0xbd, 0x51, - 0x77, 0xd0, 0x71, 0x10, 0x49, 0xd5, 0xed, 0xf1, 0x88, 0x80, 0x2f, 0x61, 0xe8, 0xda, 0x64, 0xf2, - 0x94, 0x61, 0x40, 0x47, 0xb1, 0x26, 0x72, 0x36, 0x19, 0x23, 0x69, 0x81, 0x2a, 0xe7, 0x3f, 0x9c, - 0xf4, 0x7a, 0x7c, 0x64, 0x8b, 0xf4, 0xa2, 0x1b, 0x4f, 0x9b, 0x52, 0xf0, 0x6a, 0x58, 0x70, 0x65, - 0xd2, 0xeb, 0x91, 0x57, 0x01, 0x06, 0x7d, 0xe7, 0xa4, 0xeb, 0xfb, 0xec, 0x8d, 0x23, 0xf0, 0x69, - 0x0d, 0xa9, 0xf2, 0x60, 0x0c, 0xfa, 0x35, 0x46, 0x24, 0xbf, 0x00, 0xe8, 0xd3, 0x8f, 0x60, 0x17, - 0xcc, 0xaa, 0x85, 0xc7, 0xf8, 0x10, 0xc4, 0xa8, 0x0b, 0xed, 0x91, 0x67, 0x77, 0xdf, 0x16, 0x2e, - 0x03, 0xaf, 0xc3, 0x3a, 0x37, 0x42, 0xdd, 0xef, 0x8e, 0x8f, 0xb9, 0x84, 0xfd, 0x3c, 0xe2, 0xb9, - 0x24, 0x62, 0xff, 0x63, 0x0e, 0x40, 0xdf, 0xb7, 0x05, 0x8e, 0xd4, 0x6d, 0x98, 0xa7, 0xf7, 0x06, - 0xa1, 0x7f, 0x40, 0xed, 0x2d, 0x96, 0x2b, 0x6b, 0x6f, 0x91, 0x83, 0xae, 0x46, 0x0b, 0x8d, 0xb3, - 0x85, 0xee, 0x01, 0x57, 0x23, 0xb3, 0xd7, 0x8e, 0xe0, 0xf8, 0x72, 0x2e, 0x52, 0x05, 0x08, 0x91, - 0x9d, 0xf8, 0x4d, 0x76, 0x3d, 0x84, 0x48, 0xe1, 0x09, 0x3c, 0x96, 0x40, 0x88, 0x0e, 0x25, 0x4f, - 0x9f, 0x90, 0x8d, 0x3c, 0x84, 0x5c, 0xcb, 0x0d, 0x3c, 0x36, 0xa7, 0xe0, 0x5d, 0x5d, 0xe1, 0x11, - 0x1b, 0x43, 0xcc, 0xab, 0xd5, 0xb1, 0x1b, 0x09, 0x6c, 0x8b, 0x85, 0x10, 0x03, 0x16, 0x78, 0x34, - 0xee, 0x29, 0x38, 0x89, 0x3c, 0x18, 0x37, 0x47, 0x47, 0x46, 0xa2, 0x2c, 0x53, 0xf0, 0xb8, 0xdb, - 0xf7, 0x20, 0x6b, 0xdb, 0x35, 0x8e, 0xf2, 0xb0, 0x12, 0xde, 0x4a, 0x6c, 0xbb, 0xc6, 0xde, 0x28, - 0x7d, 0xff, 0x44, 0xca, 0x46, 0x99, 0xc9, 0xe7, 0xa0, 0x20, 0x89, 0xcf, 0x1c, 0x1f, 0x05, 0xfb, - 0x40, 0xf2, 0x9a, 0x91, 0x37, 0x0d, 0x89, 0x9b, 0x54, 0x41, 0x7d, 0x38, 0x79, 0xd3, 0xd3, 0x87, - 0x43, 0x74, 0x96, 0x7b, 0xcb, 0x1b, 0x31, 0xb1, 0x2d, 0x1f, 0x02, 0x0b, 0xa3, 0xad, 0x7d, 0x47, - 0xa4, 0xca, 0x3a, 0x98, 0x78, 0x4e, 0xd2, 0x84, 0x75, 0xdb, 0x1b, 0x4f, 0x86, 0xcc, 0x4e, 0xa3, - 0x32, 0x18, 0xd1, 0x4b, 0x08, 0x43, 0x53, 0x41, 0x0c, 0x56, 0x9f, 0x26, 0x0a, 0xe3, 0x98, 0xc3, - 0xc1, 0x28, 0x76, 0x21, 0x49, 0x66, 0xd6, 0x3c, 0x79, 0xc8, 0xe9, 0xa9, 0x1a, 0xbd, 0xda, 0xe0, - 0xa9, 0x2a, 0xae, 0x36, 0xe1, 0x85, 0xe6, 0x13, 0x29, 0x88, 0x5f, 0xf8, 0x60, 0x26, 0x21, 0x7e, - 0x45, 0x70, 0xbe, 0xde, 0xc9, 0x49, 0xa0, 0x93, 0x7c, 0x2c, 0x3e, 0x0f, 0xf0, 0x60, 0xd0, 0xed, - 0xd7, 0xbc, 0xf1, 0xf1, 0xa0, 0x23, 0x01, 0x8f, 0x15, 0x7e, 0x79, 0xd0, 0xed, 0x3b, 0x27, 0x48, - 0xfe, 0xe9, 0x7b, 0x97, 0x25, 0x26, 0x4b, 0xfa, 0x9f, 0x7c, 0x1c, 0x96, 0xe8, 0xaf, 0x56, 0x68, - 0x6d, 0xc2, 0x54, 0x95, 0x98, 0x9b, 0x85, 0x66, 0x08, 0x19, 0xc8, 0x7d, 0x0c, 0x46, 0xd2, 0x1d, - 0x8e, 0x25, 0xe1, 0x55, 0x44, 0x1e, 0xe9, 0x0e, 0xc7, 0x71, 0x1c, 0x61, 0x89, 0x99, 0xec, 0x06, - 0x55, 0x17, 0xf1, 0x83, 0x78, 0xcc, 0x13, 0xd4, 0xc7, 0xf1, 0xb9, 0xe6, 0x08, 0x00, 0x53, 0x39, - 0xd2, 0x6b, 0x2c, 0x1b, 0x56, 0xc2, 0xde, 0x2d, 0xb3, 0x07, 0x14, 0x2e, 0xd4, 0xb2, 0x4a, 0xf8, - 0xc7, 0x1d, 0xe7, 0x00, 0xc9, 0x91, 0x4a, 0x04, 0xcc, 0x64, 0x1b, 0xd6, 0x98, 0x8c, 0x1f, 0xc4, - 0x21, 0xe4, 0x22, 0x2e, 0xee, 0x6d, 0x61, 0xa0, 0x42, 0xf9, 0xf3, 0xb1, 0x0c, 0xa4, 0x02, 0xf3, - 0x78, 0x21, 0xe4, 0x26, 0xe6, 0x5b, 0xf2, 0xed, 0x39, 0xbe, 0x8e, 0x70, 0x5f, 0xc1, 0x7b, 0xb3, - 0xbc, 0xaf, 0x20, 0x2b, 0xf9, 0x32, 0x80, 0xd1, 0x1f, 0x0d, 0x7a, 0x3d, 0x84, 0xd8, 0xcd, 0xe3, - 0x55, 0xea, 0x62, 0x74, 0x3d, 0x62, 0x29, 0x21, 0x13, 0x87, 0x83, 0xc3, 0xdf, 0x4e, 0x0c, 0x88, - 0x57, 0x2a, 0x4b, 0x33, 0x61, 0x81, 0x2d, 0x46, 0x84, 0xab, 0xe6, 0x01, 0x38, 0x24, 0xb0, 0x63, - 0x06, 0x57, 0xcd, 0xe9, 0x49, 0xb8, 0x6a, 0x29, 0x83, 0xf6, 0x10, 0xce, 0xa6, 0x35, 0x2c, 0x72, - 0x85, 0x55, 0x4e, 0x7b, 0x85, 0xfd, 0x93, 0x2c, 0x2c, 0x63, 0x69, 0x62, 0x17, 0xd6, 0x61, 0xc5, - 0x9e, 0xbc, 0x19, 0x60, 0x39, 0x89, 0xdd, 0x18, 0xeb, 0xe7, 0xcb, 0x09, 0xf2, 0xd3, 0x56, 0x24, - 0x07, 0x31, 0x60, 0x55, 0x9c, 0x04, 0x3b, 0xc2, 0x02, 0x3d, 0x40, 0x8a, 0x16, 0x78, 0x84, 0xc9, - 0x38, 0xac, 0xb1, 0x4c, 0xe1, 0x79, 0x90, 0x7d, 0x96, 0xf3, 0x20, 0x77, 0xaa, 0xf3, 0xe0, 0x0d, - 0x58, 0x16, 0x5f, 0xc3, 0x9d, 0x7c, 0xfe, 0xf9, 0x76, 0xf2, 0x48, 0x61, 0xa4, 0x1a, 0xec, 0xe8, - 0x0b, 0x33, 0x77, 0x74, 0x7c, 0x2f, 0x14, 0xab, 0x6c, 0x88, 0xb4, 0xe4, 0xc6, 0x8e, 0x81, 0x0a, - 0x77, 0x4a, 0xcd, 0x0f, 0x70, 0x4a, 0x7e, 0x0a, 0x96, 0xaa, 0x03, 0xf1, 0x54, 0x24, 0xe9, 0xe8, - 0x7b, 0x82, 0x28, 0x8b, 0x0b, 0x01, 0x67, 0x70, 0xba, 0x65, 0x3f, 0x8c, 0xd3, 0xed, 0x3e, 0x00, - 0x77, 0x6d, 0x08, 0x03, 0x8c, 0xe1, 0x92, 0x11, 0x38, 0x16, 0xd1, 0xa7, 0x02, 0x89, 0x99, 0xee, - 0x4e, 0xdc, 0x0a, 0x45, 0x3f, 0x38, 0x18, 0x4c, 0xfa, 0xe3, 0x48, 0x44, 0x5e, 0xe1, 0x09, 0xe9, - 0xf2, 0x34, 0x79, 0x7b, 0x88, 0x65, 0xfb, 0x70, 0x07, 0x84, 0xbc, 0x16, 0x18, 0xd1, 0x2d, 0xce, - 0xea, 0x21, 0x2d, 0xd1, 0x43, 0x53, 0x4d, 0xe7, 0xb4, 0x1f, 0x2a, 0x32, 0x4c, 0xff, 0x07, 0x18, - 0xea, 0xcf, 0x00, 0x04, 0x6f, 0xf5, 0x62, 0xac, 0xd9, 0x7d, 0x29, 0xa0, 0xca, 0xbd, 0x1c, 0xf2, - 0x4a, 0xad, 0xc9, 0x7e, 0x58, 0xad, 0x69, 0x41, 0xa1, 0xf1, 0xf5, 0xb1, 0x1b, 0x1a, 0x77, 0x80, - 0x1d, 0x48, 0xb2, 0xb8, 0x33, 0x65, 0xb7, 0x6f, 0xe0, 0xd9, 0x10, 0xca, 0xc1, 0x53, 0x44, 0x60, - 0x29, 0xa3, 0xf6, 0x1a, 0xac, 0xc9, 0xde, 0xdb, 0x4f, 0xfa, 0x07, 0xe4, 0x0b, 0x0c, 0x34, 0x54, - 0x89, 0xdc, 0x58, 0x24, 0x26, 0xba, 0xe3, 0x3e, 0xe9, 0x1f, 0x30, 0xf9, 0xc7, 0x7d, 0x2c, 0xd7, - 0x15, 0xef, 0x78, 0x3f, 0x56, 0x80, 0x24, 0xd9, 0xe5, 0xdd, 0x44, 0xf9, 0x3f, 0x90, 0x2e, 0x63, - 0x52, 0x59, 0xee, 0x59, 0xa4, 0xb2, 0xe2, 0xef, 0x2a, 0xb0, 0x66, 0xea, 0x35, 0x8e, 0xa9, 0xcf, - 0xde, 0x1c, 0xae, 0xc2, 0x45, 0x53, 0xaf, 0x39, 0xcd, 0x46, 0xd5, 0x2c, 0x3d, 0x72, 0x52, 0xa1, - 0x72, 0x2f, 0xc2, 0x8b, 0x49, 0x96, 0xf0, 0x6d, 0xe2, 0x02, 0x6c, 0x24, 0x93, 0x05, 0x9c, 0x6e, - 0x7a, 0x66, 0x81, 0xbc, 0x9b, 0x2d, 0x7e, 0x11, 0xd6, 0x04, 0x74, 0x6c, 0xab, 0x6a, 0x23, 0x38, - 0xfd, 0x1a, 0x14, 0xf6, 0x0c, 0xcb, 0xac, 0x3c, 0x72, 0x2a, 0xed, 0x6a, 0x55, 0x9d, 0x23, 0x2b, - 0xb0, 0xc4, 0x09, 0x25, 0x5d, 0x55, 0xc8, 0x32, 0xe4, 0xcd, 0xba, 0x6d, 0x94, 0xda, 0x96, 0xa1, - 0x66, 0x8a, 0x5f, 0x84, 0xd5, 0xe6, 0xa8, 0xfb, 0x96, 0x3b, 0xf6, 0x1e, 0x7a, 0x4f, 0xf0, 0x69, - 0x61, 0x11, 0xb2, 0x96, 0xbe, 0xaf, 0xce, 0x11, 0x80, 0x85, 0xe6, 0xc3, 0x92, 0x7d, 0xf7, 0xae, - 0xaa, 0x90, 0x02, 0x2c, 0xee, 0x94, 0x9a, 0xce, 0xc3, 0x9a, 0xad, 0x66, 0xe8, 0x0f, 0x7d, 0xdf, - 0xc6, 0x1f, 0xd9, 0xe2, 0x27, 0x61, 0x1d, 0x65, 0x85, 0x6a, 0xd7, 0x1f, 0x7b, 0x7d, 0x6f, 0x84, - 0x75, 0x58, 0x86, 0xbc, 0xed, 0xd1, 0x45, 0x3e, 0xf6, 0x58, 0x05, 0x6a, 0x93, 0xde, 0xb8, 0x3b, - 0xec, 0x79, 0xdf, 0x54, 0x95, 0xe2, 0x7d, 0x58, 0xb3, 0x06, 0x93, 0x71, 0xb7, 0x7f, 0x64, 0x8f, - 0x29, 0xc7, 0xd1, 0x13, 0xf2, 0x02, 0xac, 0xb7, 0xeb, 0x7a, 0x6d, 0xdb, 0xdc, 0x69, 0x37, 0xda, - 0xb6, 0x53, 0xd3, 0x5b, 0xa5, 0x5d, 0xf6, 0xb0, 0x51, 0x6b, 0xd8, 0x2d, 0xc7, 0x32, 0x4a, 0x46, - 0xbd, 0xa5, 0x2a, 0xc5, 0xef, 0xa2, 0xda, 0xe3, 0x60, 0xd0, 0xef, 0x54, 0xdc, 0x83, 0xf1, 0x60, - 0x84, 0x15, 0xd6, 0xe0, 0x92, 0x6d, 0x94, 0x1a, 0xf5, 0xb2, 0x53, 0xd1, 0x4b, 0xad, 0x86, 0x95, - 0x86, 0xd5, 0xbc, 0x09, 0xe7, 0x52, 0x78, 0x1a, 0xad, 0xa6, 0xaa, 0x90, 0xcb, 0xb0, 0x95, 0x92, - 0xb6, 0x6f, 0x6c, 0xeb, 0xed, 0xd6, 0x6e, 0x5d, 0xcd, 0x4c, 0xc9, 0x6c, 0xdb, 0x0d, 0x35, 0x5b, - 0xfc, 0x4d, 0x05, 0x56, 0xdb, 0x3e, 0xb7, 0x2a, 0x6e, 0xa3, 0x43, 0xe1, 0x15, 0xb8, 0xd0, 0xb6, - 0x0d, 0xcb, 0x69, 0x35, 0x1e, 0x1a, 0x75, 0xa7, 0x6d, 0xeb, 0x3b, 0xf1, 0xda, 0x5c, 0x86, 0x2d, - 0x89, 0xc3, 0x32, 0x4a, 0x8d, 0x3d, 0xc3, 0x72, 0x9a, 0xba, 0x6d, 0xef, 0x37, 0xac, 0xb2, 0xaa, - 0xd0, 0x2f, 0xa6, 0x30, 0xd4, 0x2a, 0x3a, 0xab, 0x4d, 0x24, 0xad, 0x6e, 0xec, 0xeb, 0x55, 0x67, - 0xbb, 0xd1, 0x52, 0xb3, 0xc5, 0x1a, 0x3d, 0x7a, 0x11, 0x31, 0x95, 0xd9, 0xc2, 0xe5, 0x21, 0x57, - 0x6f, 0xd4, 0x8d, 0xf8, 0x73, 0xd8, 0x32, 0xe4, 0xf5, 0x66, 0xd3, 0x6a, 0xec, 0xe1, 0x14, 0x03, - 0x58, 0x28, 0x1b, 0x75, 0x5a, 0xb3, 0x2c, 0x4d, 0x69, 0x5a, 0x8d, 0x5a, 0xa3, 0x65, 0x94, 0xd5, - 0x5c, 0xd1, 0x12, 0x4b, 0x58, 0x14, 0x7a, 0x30, 0x60, 0x6f, 0x4f, 0x65, 0xa3, 0xa2, 0xb7, 0xab, - 0x2d, 0x3e, 0x44, 0x8f, 0x1c, 0xcb, 0x78, 0xad, 0x6d, 0xd8, 0x2d, 0x5b, 0x55, 0x88, 0x0a, 0xcb, - 0x75, 0xc3, 0x28, 0xdb, 0x8e, 0x65, 0xec, 0x99, 0xc6, 0xbe, 0x9a, 0xa1, 0x65, 0xb2, 0xff, 0xe9, - 0x17, 0x8a, 0xef, 0x28, 0x40, 0x18, 0xda, 0xac, 0x08, 0x61, 0x82, 0x33, 0xe6, 0x12, 0x6c, 0xee, - 0xd2, 0xa1, 0xc6, 0xa6, 0xd5, 0x1a, 0xe5, 0x78, 0x97, 0x9d, 0x03, 0x12, 0x4b, 0x6f, 0x54, 0x2a, - 0xaa, 0x42, 0xb6, 0xe0, 0x4c, 0x8c, 0x5e, 0xb6, 0x1a, 0x4d, 0x35, 0xb3, 0x99, 0xc9, 0x2b, 0xe4, - 0x7c, 0x22, 0xf1, 0xa1, 0x61, 0x34, 0xd5, 0x2c, 0x1d, 0xa2, 0x58, 0x82, 0x58, 0x12, 0x2c, 0x7b, - 0xae, 0xf8, 0x6d, 0x05, 0xce, 0xb1, 0x6a, 0x8a, 0xf5, 0x15, 0x54, 0xf5, 0x02, 0x6c, 0x70, 0x0c, - 0xed, 0xb4, 0x8a, 0x9e, 0x05, 0x35, 0x92, 0xca, 0xaa, 0xf9, 0x02, 0xac, 0x47, 0xa8, 0x58, 0x8f, - 0x0c, 0xdd, 0x3d, 0x22, 0xe4, 0x6d, 0xc3, 0x6e, 0x39, 0x46, 0xa5, 0xd2, 0xb0, 0x5a, 0xac, 0x22, - 0xd9, 0xa2, 0x06, 0xeb, 0x25, 0x6f, 0x34, 0xa6, 0xb7, 0xa2, 0xbe, 0xdf, 0x1d, 0xf4, 0xb1, 0x0a, - 0x2b, 0xb0, 0x64, 0x7c, 0xb9, 0x65, 0xd4, 0x6d, 0xb3, 0x51, 0x57, 0xe7, 0x8a, 0x17, 0x62, 0x3c, - 0x62, 0x1d, 0xdb, 0xf6, 0xae, 0x3a, 0x57, 0x74, 0x61, 0x45, 0xd8, 0xef, 0xb2, 0x59, 0x71, 0x09, - 0x36, 0xc5, 0x5c, 0xc3, 0x1d, 0x25, 0xde, 0x84, 0x0d, 0x38, 0x9b, 0x4c, 0x37, 0x5a, 0xaa, 0x42, - 0x47, 0x21, 0x96, 0x42, 0xe9, 0x99, 0xe2, 0xaf, 0x2b, 0xb0, 0x12, 0xbc, 0x67, 0xa0, 0x06, 0xf5, - 0x32, 0x6c, 0xd5, 0x2a, 0xba, 0x53, 0x36, 0xf6, 0xcc, 0x92, 0xe1, 0x3c, 0x34, 0xeb, 0xe5, 0xd8, - 0x47, 0x5e, 0x84, 0x17, 0x52, 0x18, 0xf0, 0x2b, 0x1b, 0x70, 0x36, 0x9e, 0xd4, 0xa2, 0x4b, 0x35, - 0x43, 0xbb, 0x3e, 0x9e, 0x12, 0xac, 0xd3, 0x6c, 0xf1, 0x8f, 0x15, 0xd8, 0xe0, 0x31, 0xe2, 0xf9, - 0xcb, 0x0a, 0x0b, 0x1e, 0x82, 0xe8, 0xba, 0x45, 0xb8, 0xd9, 0xb2, 0xda, 0x76, 0xcb, 0x28, 0x8b, - 0xec, 0x74, 0xd2, 0x9a, 0x96, 0x51, 0x33, 0xea, 0xad, 0x58, 0xdd, 0xee, 0xc0, 0xc7, 0x66, 0xf0, - 0xd6, 0x1b, 0x2d, 0xf1, 0x9b, 0xae, 0xd5, 0x8f, 0xc1, 0xb5, 0x19, 0xcc, 0x01, 0x63, 0xa6, 0xb8, - 0x07, 0xab, 0xb6, 0x5e, 0xab, 0x56, 0x06, 0xa3, 0x03, 0x4f, 0x9f, 0x8c, 0x8f, 0xfb, 0x64, 0x0b, - 0xce, 0x57, 0x1a, 0x56, 0xc9, 0x70, 0xb0, 0x05, 0xb1, 0x4a, 0x9c, 0x81, 0x35, 0x39, 0xf1, 0x91, - 0x41, 0x57, 0x17, 0x81, 0x55, 0x99, 0x58, 0x6f, 0xa8, 0x99, 0xe2, 0x57, 0x60, 0x39, 0x12, 0x68, - 0xed, 0x3c, 0x9c, 0x91, 0x7f, 0x37, 0xbd, 0x7e, 0xa7, 0xdb, 0x3f, 0x52, 0xe7, 0xe2, 0x09, 0xd6, - 0xa4, 0xdf, 0xa7, 0x09, 0xb8, 0xdd, 0xc8, 0x09, 0x2d, 0x6f, 0x74, 0xd2, 0xed, 0xbb, 0x63, 0xaf, - 0xa3, 0x66, 0x8a, 0x2f, 0xc3, 0x4a, 0x04, 0xde, 0x99, 0xce, 0xab, 0x6a, 0x83, 0x9f, 0x0f, 0x35, - 0xa3, 0x6c, 0xb6, 0x6b, 0xea, 0x3c, 0xdd, 0x68, 0x76, 0xcd, 0x9d, 0x5d, 0x15, 0x8a, 0xdf, 0x53, - 0xe8, 0x0d, 0x05, 0xfb, 0xbd, 0x56, 0xd1, 0xc5, 0x4c, 0xa4, 0xab, 0x80, 0x81, 0xc6, 0x1b, 0xb6, - 0xcd, 0x1e, 0xa9, 0x2f, 0xc0, 0x06, 0xff, 0xe1, 0xe8, 0xf5, 0xb2, 0xb3, 0xab, 0x5b, 0xe5, 0x7d, - 0xdd, 0xa2, 0x4b, 0xe3, 0x91, 0x9a, 0xc1, 0xf5, 0x2e, 0x51, 0x9c, 0x56, 0xa3, 0x5d, 0xda, 0x55, - 0xb3, 0x74, 0x79, 0x45, 0xe8, 0x4d, 0xb3, 0xae, 0xe6, 0x70, 0xf7, 0x48, 0x70, 0x63, 0xb1, 0x34, - 0x7d, 0xbe, 0xf8, 0xbe, 0x02, 0xe7, 0xed, 0xee, 0x51, 0xdf, 0x1d, 0x4f, 0x46, 0x9e, 0xde, 0x3b, - 0x1a, 0x8c, 0xba, 0xe3, 0xe3, 0x13, 0x7b, 0xd2, 0x1d, 0x7b, 0xe4, 0x36, 0xdc, 0xb0, 0xcd, 0x9d, - 0xba, 0xde, 0xa2, 0xab, 0x5f, 0xaf, 0xee, 0x34, 0x2c, 0xb3, 0xb5, 0x5b, 0x73, 0xec, 0xb6, 0x99, - 0x58, 0x18, 0xd7, 0xe1, 0xca, 0x74, 0xd6, 0xaa, 0xb1, 0xa3, 0x97, 0x1e, 0xa9, 0xca, 0xec, 0x02, - 0xb7, 0xf5, 0xaa, 0x5e, 0x2f, 0x19, 0x65, 0x67, 0xef, 0xae, 0x9a, 0x21, 0x37, 0xe0, 0xea, 0x74, - 0xd6, 0x8a, 0xd9, 0xb4, 0x29, 0x5b, 0x76, 0xf6, 0x77, 0x77, 0xed, 0x1a, 0xe5, 0xca, 0x15, 0xff, - 0x48, 0x81, 0x8d, 0x69, 0x18, 0x3f, 0xe4, 0x26, 0x68, 0x46, 0xbd, 0x65, 0xe9, 0x66, 0xd9, 0x29, - 0x59, 0x46, 0xd9, 0xa8, 0xb7, 0x4c, 0xbd, 0x6a, 0x3b, 0x76, 0xa3, 0x4d, 0x67, 0x53, 0x68, 0x4b, - 0x70, 0x0d, 0x2e, 0xcf, 0xe0, 0x6b, 0x98, 0xe5, 0x92, 0xaa, 0x90, 0xbb, 0xf0, 0xd2, 0x0c, 0x26, - 0xfb, 0x91, 0xdd, 0x32, 0x6a, 0x72, 0x8a, 0x9a, 0x29, 0x96, 0x60, 0x73, 0x3a, 0x4c, 0x08, 0x3d, - 0x45, 0xa2, 0x3d, 0x9d, 0x87, 0x5c, 0x99, 0x1e, 0x5c, 0x91, 0xd8, 0x02, 0xc5, 0x2e, 0xa8, 0x71, - 0x4f, 0xff, 0x84, 0xd1, 0x87, 0xd5, 0xae, 0xd7, 0xd9, 0x29, 0xb7, 0x06, 0x85, 0x46, 0x6b, 0xd7, - 0xb0, 0x78, 0x74, 0x06, 0x0c, 0xc7, 0xd0, 0xae, 0xd3, 0x85, 0xd3, 0xb0, 0xcc, 0xd7, 0xf1, 0xb8, - 0xdb, 0x80, 0xb3, 0x76, 0x55, 0x2f, 0x3d, 0xc4, 0x35, 0x6d, 0xd6, 0x9d, 0xd2, 0xae, 0x5e, 0xaf, - 0x1b, 0x55, 0x15, 0xb0, 0x33, 0xa7, 0x79, 0xf7, 0x91, 0x8f, 0xc3, 0xad, 0xc6, 0xc3, 0x96, 0xee, - 0x34, 0xab, 0xed, 0x1d, 0xb3, 0xee, 0xd8, 0x8f, 0xea, 0x25, 0x21, 0x9a, 0x95, 0x92, 0x27, 0xc2, - 0x2d, 0xb8, 0x3e, 0x93, 0x3b, 0x8c, 0xa3, 0x70, 0x13, 0xb4, 0x99, 0x9c, 0xbc, 0x21, 0xc5, 0x1f, - 0x29, 0xb0, 0x35, 0xe3, 0xf5, 0x99, 0xbc, 0x04, 0xb7, 0x77, 0x0d, 0xbd, 0x5c, 0x35, 0x6c, 0x1b, - 0x37, 0x0a, 0x3a, 0x0c, 0xcc, 0x38, 0x24, 0x75, 0xbf, 0xbf, 0x0d, 0x37, 0x66, 0xb3, 0x87, 0x92, - 0xc3, 0x2d, 0xb8, 0x3e, 0x9b, 0x95, 0x4b, 0x12, 0x19, 0xba, 0xdf, 0xce, 0xe6, 0x0c, 0x24, 0x90, - 0x6c, 0xf1, 0xb7, 0x15, 0x38, 0x97, 0xae, 0x02, 0xa2, 0x75, 0x33, 0xeb, 0x76, 0x4b, 0xaf, 0x56, - 0x9d, 0xa6, 0x6e, 0xe9, 0x35, 0xc7, 0xa8, 0x5b, 0x8d, 0x6a, 0x35, 0xed, 0xe4, 0xbd, 0x0e, 0x57, - 0xa6, 0xb3, 0xda, 0x25, 0xcb, 0x6c, 0xd2, 0xc3, 0x45, 0x83, 0x4b, 0xd3, 0xb9, 0x0c, 0xb3, 0x64, - 0xa8, 0x99, 0xed, 0xcf, 0xbf, 0xfb, 0x2f, 0x97, 0xe6, 0xde, 0x7d, 0xff, 0x92, 0xf2, 0xe3, 0xf7, - 0x2f, 0x29, 0xff, 0xfc, 0xfe, 0x25, 0xe5, 0xf5, 0x3b, 0xa7, 0x0b, 0x41, 0x84, 0xd7, 0x92, 0x37, - 0x17, 0xd0, 0x1a, 0xea, 0x95, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0x30, 0xf7, 0x33, 0xe5, 0x56, - 0xb0, 0x01, 0x00, + 0xf1, 0xff, 0xb1, 0xf7, 0x6c, 0xb1, 0x8d, 0x5c, 0xd7, 0x69, 0x48, 0x4a, 0xa2, 0x0e, 0xf5, 0x18, + 0xdd, 0x95, 0x77, 0x65, 0x69, 0x9f, 0xb3, 0x8f, 0xec, 0x72, 0x63, 0x3b, 0xbb, 0xae, 0xb3, 0x5e, + 0xa7, 0x8e, 0x33, 0x22, 0x87, 0xd2, 0xec, 0xf2, 0x95, 0x19, 0x52, 0xca, 0xda, 0x49, 0xa6, 0xb4, + 0x38, 0x92, 0xd8, 0x50, 0x24, 0xc3, 0x21, 0xbd, 0x59, 0xa3, 0x40, 0x1b, 0x14, 0x48, 0x80, 0xbe, + 0xd2, 0xa6, 0x05, 0x9a, 0x16, 0x05, 0xfa, 0x51, 0xa3, 0xe8, 0x47, 0xff, 0x5b, 0xb4, 0xfd, 0xc9, + 0x9f, 0x81, 0x20, 0x40, 0x80, 0xf6, 0xab, 0x05, 0xdc, 0xd6, 0x40, 0xfb, 0xd1, 0xf6, 0xaf, 0x68, + 0x3e, 0x82, 0x7e, 0x14, 0xf7, 0xdc, 0x7b, 0x67, 0xee, 0x3c, 0xc8, 0x95, 0xbc, 0x76, 0xdb, 0x00, + 0xf9, 0x92, 0x78, 0xee, 0x39, 0x77, 0xee, 0xf3, 0xdc, 0x73, 0xcf, 0x3d, 0x0f, 0x8a, 0xef, 0xd7, + 0x7a, 0xa6, 0x15, 0x07, 0xf2, 0x3e, 0xfc, 0xa3, 0xbf, 0xd5, 0x13, 0x9a, 0x93, 0xb0, 0xac, 0x95, + 0xa4, 0x65, 0x7d, 0xf2, 0x3d, 0x55, 0x05, 0x22, 0x33, 0x2b, 0xa6, 0xf5, 0xe4, 0x06, 0x55, 0x42, + 0x4e, 0xe7, 0x0d, 0x91, 0x58, 0x83, 0xcd, 0x92, 0x69, 0xae, 0xee, 0x47, 0x41, 0x64, 0x13, 0x16, + 0xfc, 0x7c, 0xd5, 0xfc, 0xe0, 0xc8, 0x32, 0x80, 0xd9, 0xe6, 0x3d, 0xfc, 0xa6, 0x02, 0x97, 0x9f, + 0x36, 0x42, 0x64, 0x0f, 0xce, 0xa2, 0xd1, 0x86, 0xd7, 0xf7, 0x07, 0xd9, 0xd9, 0x6f, 0xed, 0x1f, + 0xb9, 0x7c, 0x4d, 0x6a, 0x89, 0x43, 0x3d, 0x18, 0xd8, 0x76, 0x4d, 0x1a, 0xe5, 0xc1, 0xc0, 0xf6, + 0xfa, 0xe2, 0x77, 0x81, 0x92, 0xf3, 0x36, 0xb4, 0x61, 0x73, 0x0a, 0xa5, 0xc4, 0x16, 0x14, 0x99, + 0x2d, 0xdc, 0x04, 0xf5, 0xc0, 0x6d, 0x53, 0x89, 0xd7, 0x6d, 0x63, 0xd3, 0xde, 0xb9, 0xcb, 0xf2, + 0xaf, 0x5b, 0xcb, 0x3e, 0xdc, 0xf6, 0xfa, 0xbb, 0x77, 0xf9, 0x57, 0x8e, 0xc5, 0x81, 0x26, 0x5f, + 0x1a, 0xc8, 0x8b, 0x70, 0x26, 0x12, 0x4e, 0x24, 0xf0, 0x4f, 0xb7, 0x56, 0x69, 0x51, 0x38, 0xf8, + 0xd4, 0x15, 0x58, 0x14, 0x73, 0x3e, 0xf4, 0xbd, 0xdc, 0xac, 0x1c, 0x87, 0xd1, 0x3d, 0xc5, 0x3f, + 0x37, 0x16, 0x9d, 0x4a, 0xbc, 0x6f, 0x9c, 0x40, 0x52, 0x26, 0x2f, 0x00, 0xf1, 0xa5, 0x72, 0x9f, + 0x0d, 0xf0, 0x0f, 0xae, 0x8a, 0x12, 0x7f, 0xff, 0xf2, 0xcf, 0xfe, 0x4d, 0x0a, 0xce, 0x24, 0x5c, + 0x54, 0xa8, 0x88, 0xdf, 0xe9, 0x8d, 0xdc, 0x43, 0x76, 0x41, 0x90, 0x3b, 0xb9, 0x22, 0xc1, 0xb9, + 0xf6, 0x69, 0x8e, 0xe5, 0x17, 0xe7, 0xdf, 0xe2, 0xbf, 0x28, 0x6b, 0x68, 0x0d, 0x85, 0x62, 0x85, + 0xfe, 0x4b, 0x4c, 0x58, 0xc5, 0xa4, 0x09, 0x5e, 0xa7, 0x8f, 0xb9, 0x17, 0x50, 0xc4, 0xc8, 0x84, + 0xae, 0x32, 0xd8, 0x8a, 0xba, 0x84, 0x44, 0x65, 0x0c, 0x4b, 0x1d, 0x44, 0x20, 0xe4, 0x73, 0xb0, + 0x21, 0x9d, 0x24, 0x4e, 0x64, 0x5f, 0xa1, 0x1d, 0xbb, 0x75, 0xae, 0xe5, 0x9f, 0x29, 0xc5, 0xd0, + 0x0e, 0xdb, 0x82, 0x8b, 0x38, 0x89, 0x9d, 0xf6, 0xc0, 0x89, 0x65, 0xd9, 0xc0, 0xae, 0xb2, 0xb0, + 0xf4, 0x1b, 0x14, 0xcb, 0x6c, 0x0f, 0x22, 0x09, 0x37, 0x68, 0xaf, 0xf9, 0xf0, 0xbd, 0x05, 0xcf, + 0x25, 0xb6, 0x98, 0x1e, 0x1f, 0x68, 0x26, 0x15, 0x48, 0x3e, 0xf3, 0xf4, 0x37, 0x15, 0x7d, 0xae, + 0xc0, 0xe2, 0xdb, 0x6e, 0x6b, 0xe8, 0x0e, 0xf9, 0xb9, 0xcc, 0x97, 0x04, 0x83, 0xc9, 0xc7, 0x72, + 0x3b, 0x3c, 0x35, 0x5c, 0x23, 0x44, 0x2a, 0x70, 0x86, 0x9d, 0x6f, 0x9d, 0x63, 0x14, 0xf5, 0xb8, + 0x16, 0x49, 0x09, 0x09, 0x3b, 0x48, 0x82, 0x07, 0x8f, 0x89, 0x58, 0x8c, 0xda, 0x5a, 0x3d, 0x8c, + 0x82, 0xe8, 0x8e, 0x3e, 0x9b, 0x8c, 0x4d, 0xb6, 0x20, 0xc7, 0x2a, 0x67, 0x42, 0x3f, 0x53, 0xff, + 0x5f, 0x99, 0xfa, 0x85, 0x02, 0x5a, 0x0f, 0x7b, 0xfe, 0xff, 0xf4, 0x34, 0xc6, 0x97, 0x56, 0xe7, + 0x58, 0x7e, 0xdd, 0xb0, 0x16, 0x11, 0xc8, 0x5f, 0x35, 0xb4, 0xbf, 0x55, 0x44, 0x57, 0x43, 0x57, + 0x5f, 0xba, 0xb4, 0x3c, 0xb7, 0x27, 0x5e, 0x78, 0x16, 0x2c, 0xfe, 0xeb, 0x94, 0x4b, 0x9d, 0xdc, + 0x83, 0x45, 0x5a, 0xed, 0xe1, 0xb8, 0xc7, 0x96, 0x5c, 0x3a, 0x14, 0x46, 0xa7, 0xc2, 0x8a, 0xe8, + 0xb4, 0xed, 0xcc, 0x58, 0xb9, 0xe3, 0xe0, 0x27, 0x95, 0x85, 0xbd, 0xe3, 0xd1, 0x40, 0x5e, 0xa8, + 0x42, 0x0d, 0x68, 0x57, 0x1a, 0x75, 0x4e, 0x92, 0xa5, 0x38, 0x81, 0x2c, 0xbc, 0x35, 0xc7, 0x14, + 0x81, 0xda, 0x6d, 0xc8, 0x49, 0x75, 0xd3, 0xce, 0x30, 0xbf, 0x18, 0xd1, 0x19, 0xf6, 0x8b, 0x4f, + 0xf6, 0xdb, 0x90, 0x15, 0x55, 0x52, 0xa1, 0xff, 0xa8, 0xef, 0x89, 0x4d, 0x8e, 0xff, 0x53, 0x18, + 0x1d, 0x65, 0xec, 0xe4, 0xac, 0x85, 0xff, 0xe3, 0x49, 0x31, 0x6a, 0x51, 0x69, 0xbf, 0xeb, 0x39, + 0x03, 0xb4, 0xaf, 0xf2, 0x45, 0x63, 0x0a, 0x6f, 0x74, 0x3d, 0x66, 0x75, 0xc5, 0xbf, 0xf1, 0x97, + 0xfe, 0x11, 0x1b, 0xd1, 0x15, 0x4c, 0xe2, 0x99, 0xa1, 0x03, 0x21, 0x15, 0x3e, 0x10, 0xc8, 0x65, + 0x58, 0x64, 0xe1, 0x51, 0x38, 0x25, 0xfb, 0x32, 0x20, 0x4c, 0x47, 0xf2, 0x80, 0x33, 0x64, 0x42, + 0x9c, 0x41, 0xba, 0x71, 0x07, 0xb3, 0xc7, 0x64, 0x38, 0x71, 0xe3, 0x8e, 0xf2, 0xa9, 0x3f, 0x4d, + 0x09, 0x05, 0xc0, 0x56, 0xbf, 0x3f, 0xf2, 0x46, 0xc3, 0xd6, 0x20, 0xa4, 0xe8, 0x24, 0xc7, 0xf0, + 0x3c, 0xca, 0xc7, 0x77, 0x31, 0x41, 0x45, 0x7f, 0x28, 0x22, 0x72, 0xf8, 0x2b, 0x37, 0x77, 0xf7, + 0xa5, 0xb0, 0x04, 0xaf, 0x53, 0x6c, 0x5d, 0x46, 0xa6, 0x0b, 0x56, 0xaa, 0x75, 0x67, 0xc6, 0x3a, + 0xc7, 0xea, 0x8c, 0x61, 0x91, 0x9d, 0x84, 0x4d, 0x1c, 0xd5, 0x74, 0x6e, 0x05, 0x3b, 0x3a, 0x5c, + 0xab, 0xbc, 0xd7, 0xc9, 0xe7, 0x61, 0xa1, 0xd3, 0x96, 0xf3, 0x30, 0x46, 0x75, 0x6c, 0x66, 0x9b, + 0xc5, 0x82, 0x0e, 0xea, 0xa0, 0x6b, 0xae, 0xc3, 0xa1, 0x5b, 0x4b, 0x21, 0x95, 0xb0, 0xb6, 0x25, + 0xee, 0x9a, 0x71, 0x32, 0xb2, 0x0c, 0x29, 0x7f, 0x86, 0x53, 0x9d, 0x36, 0xdb, 0x5e, 0x41, 0x34, + 0x6a, 0x8b, 0xff, 0xd2, 0x7e, 0x09, 0x6e, 0x9e, 0x74, 0x8c, 0xe8, 0x56, 0x9c, 0x30, 0xe0, 0x0b, + 0xd6, 0x6a, 0x2b, 0x36, 0x6e, 0x57, 0x40, 0x0e, 0xa6, 0xdb, 0x11, 0xcc, 0x4f, 0xc0, 0x9a, 0xc3, + 0x8e, 0xf6, 0x17, 0x69, 0x58, 0x0e, 0x2b, 0xc1, 0xc9, 0x6d, 0xc8, 0x48, 0x1c, 0xe8, 0x5c, 0x82, + 0xa6, 0x1c, 0xf9, 0x0e, 0x22, 0x9d, 0x88, 0xe3, 0x90, 0x07, 0xb0, 0x8c, 0x66, 0x79, 0x28, 0x58, + 0x8e, 0x3a, 0xfc, 0x69, 0x65, 0xfa, 0xeb, 0x58, 0xf6, 0xfd, 0x0f, 0x2e, 0xcd, 0xe0, 0x43, 0xd8, + 0x22, 0xa5, 0xa5, 0xb2, 0x1d, 0x2d, 0x94, 0x74, 0x9c, 0x99, 0xc9, 0x3a, 0x4e, 0xde, 0x95, 0x09, + 0x3a, 0xce, 0xd9, 0x29, 0x3a, 0xce, 0x80, 0x52, 0xd6, 0x71, 0xa2, 0xa6, 0x7b, 0x7e, 0x92, 0xa6, + 0x3b, 0xa0, 0x61, 0x9a, 0xee, 0x40, 0x47, 0x99, 0x9d, 0xa8, 0xa3, 0x0c, 0x68, 0xb8, 0x8e, 0xf2, + 0x1a, 0x1f, 0xa3, 0x61, 0xeb, 0xb1, 0x83, 0x83, 0xc7, 0x8f, 0x45, 0xec, 0xbd, 0xd5, 0x7a, 0x8c, + 0xa6, 0x33, 0x5b, 0x0b, 0x20, 0xec, 0x6d, 0xb4, 0xdf, 0x55, 0x22, 0x7a, 0x3e, 0x31, 0x7f, 0xd7, + 0x61, 0x99, 0x1d, 0x56, 0x6e, 0x5b, 0xba, 0x49, 0x2e, 0x59, 0x4b, 0x02, 0xca, 0x6e, 0x93, 0x9f, + 0x82, 0x15, 0x1f, 0x8d, 0x5f, 0xa8, 0xd0, 0x0f, 0xcf, 0xf2, 0xa9, 0x79, 0x50, 0x99, 0xdb, 0xb0, + 0xea, 0x23, 0x72, 0x5d, 0x0d, 0xbb, 0x4c, 0x2e, 0x59, 0xaa, 0x28, 0xa8, 0x73, 0xb8, 0x76, 0x18, + 0xbd, 0x57, 0x7c, 0x42, 0xad, 0xd2, 0xbe, 0x9f, 0x0e, 0xe9, 0x40, 0xc4, 0x67, 0xe8, 0x29, 0xea, + 0xf5, 0x1d, 0x3e, 0x48, 0x9c, 0x17, 0x5d, 0x99, 0x30, 0x67, 0xdc, 0x62, 0xc9, 0xb6, 0x6b, 0x16, + 0x78, 0x5e, 0x5f, 0x18, 0x30, 0x39, 0x4c, 0xa2, 0x66, 0xe7, 0x3e, 0xae, 0x59, 0x51, 0x1d, 0x63, + 0x3c, 0xf9, 0xe9, 0xd5, 0x89, 0x4b, 0x28, 0x5d, 0xb2, 0x28, 0x59, 0xfb, 0xbf, 0xc4, 0x07, 0x9a, + 0x80, 0x2a, 0x43, 0x2f, 0x5c, 0x79, 0x3a, 0xe1, 0x66, 0x14, 0xab, 0x1c, 0x47, 0x09, 0x6b, 0x56, + 0xc7, 0xe2, 0x5f, 0x51, 0xad, 0x01, 0x8b, 0xa8, 0x81, 0x10, 0x15, 0x66, 0x12, 0x14, 0xec, 0xf1, + 0xce, 0x17, 0xcc, 0x8a, 0x95, 0xa3, 0x74, 0xa2, 0x9a, 0x23, 0x78, 0x5e, 0xd6, 0x1b, 0x84, 0x1b, + 0x39, 0x2b, 0x62, 0xe4, 0x4e, 0x1d, 0x81, 0x40, 0xbd, 0x80, 0x4d, 0x3d, 0xdb, 0x0a, 0x03, 0x38, + 0x9a, 0x76, 0x04, 0x1b, 0x93, 0xa7, 0x64, 0x4a, 0xfe, 0xa5, 0xe0, 0x00, 0x4d, 0xc9, 0x07, 0xa8, + 0xac, 0x45, 0x48, 0x87, 0xb4, 0x08, 0xda, 0x9f, 0xa4, 0xe1, 0xea, 0x09, 0xa6, 0x6b, 0xca, 0x37, + 0xbf, 0x10, 0x16, 0xcf, 0x52, 0xa1, 0x7b, 0x1f, 0xad, 0x94, 0x33, 0x48, 0x7a, 0x07, 0x4d, 0x16, + 0xce, 0x7e, 0x01, 0x56, 0x18, 0x17, 0x64, 0x46, 0x87, 0x07, 0xe3, 0xee, 0x09, 0xd8, 0xe0, 0xa6, + 0xf0, 0x90, 0x8a, 0x90, 0x22, 0x67, 0x44, 0x8e, 0x61, 0xfb, 0x30, 0xd2, 0x80, 0x1c, 0xa2, 0x1d, + 0xb4, 0x3a, 0xdd, 0x13, 0xb9, 0xea, 0x08, 0xff, 0x2b, 0x99, 0x8c, 0xd9, 0x4a, 0x53, 0x40, 0x09, + 0x7f, 0x93, 0x1b, 0xb0, 0xd2, 0x1b, 0x1f, 0x53, 0xc1, 0x83, 0xad, 0x05, 0x6e, 0xdb, 0x31, 0x6b, + 0x2d, 0xf5, 0xc6, 0xc7, 0xfa, 0x60, 0x80, 0x53, 0x8a, 0x46, 0x20, 0xab, 0x14, 0x8f, 0xed, 0x5a, + 0x81, 0x39, 0x87, 0x98, 0xb4, 0x02, 0xb6, 0x6f, 0x39, 0xee, 0x1a, 0x30, 0x93, 0x40, 0x9e, 0x7f, + 0x8a, 0xfd, 0xd0, 0x7e, 0x9c, 0x12, 0xf7, 0xdd, 0xc9, 0xeb, 0xfe, 0x67, 0x53, 0x94, 0x30, 0x45, + 0x37, 0x41, 0xa5, 0x43, 0x1f, 0x30, 0x15, 0x7f, 0x8e, 0x96, 0x7b, 0xe3, 0x63, 0x7f, 0xec, 0xe4, + 0x81, 0x9f, 0x93, 0x07, 0xfe, 0x9e, 0xb8, 0x0f, 0x27, 0xb2, 0x87, 0xc9, 0x43, 0xae, 0xfd, 0x47, + 0x1a, 0x6e, 0x9c, 0x8c, 0x09, 0xfc, 0x6c, 0xde, 0x12, 0xe6, 0x2d, 0xa2, 0x18, 0x9d, 0x8d, 0x29, + 0x46, 0x13, 0xf6, 0xde, 0x5c, 0xd2, 0xde, 0x8b, 0xa9, 0x61, 0xe7, 0x13, 0xd4, 0xb0, 0x89, 0x1b, + 0x34, 0xfb, 0x94, 0x0d, 0xba, 0x20, 0xaf, 0x93, 0x7f, 0xf5, 0x15, 0x18, 0xe1, 0xfb, 0xc0, 0x5b, + 0x70, 0x46, 0xdc, 0x07, 0xd8, 0xc9, 0x11, 0x68, 0xd7, 0x73, 0x77, 0x6f, 0x25, 0xdd, 0x04, 0x10, + 0x2d, 0x41, 0x5a, 0x5f, 0xe5, 0x77, 0x80, 0xa0, 0xfc, 0xff, 0x8f, 0xf4, 0x4f, 0x1e, 0xc1, 0x59, + 0x8c, 0xde, 0xbe, 0x2f, 0xbf, 0x0b, 0x38, 0x43, 0xf7, 0x80, 0xaf, 0x87, 0x2b, 0x31, 0x59, 0xb9, + 0xb3, 0x2f, 0x35, 0xc7, 0x72, 0x0f, 0x76, 0x66, 0xac, 0x35, 0x2f, 0x01, 0x1e, 0xbd, 0x58, 0xfc, + 0xb9, 0x02, 0xda, 0xd3, 0xc7, 0x0b, 0x15, 0x55, 0xd1, 0x01, 0x5f, 0xb0, 0x72, 0x2d, 0x69, 0xf4, + 0xae, 0xc2, 0xd2, 0xd0, 0x3d, 0x18, 0xba, 0xde, 0x51, 0x48, 0x03, 0xb2, 0xc8, 0x81, 0x62, 0x60, + 0x44, 0x0c, 0xc9, 0x53, 0x49, 0xe6, 0x82, 0x48, 0x2b, 0xf9, 0xf7, 0xc5, 0xc4, 0x79, 0xa0, 0xab, + 0x49, 0x6e, 0x20, 0xfb, 0xf1, 0x20, 0x93, 0x4d, 0xa9, 0x69, 0x8b, 0x47, 0xba, 0x3c, 0xe8, 0x74, + 0x5d, 0xed, 0xaf, 0x14, 0x21, 0x11, 0x24, 0x0d, 0x1e, 0x79, 0x4b, 0x32, 0xd5, 0x4d, 0xc7, 0xc4, + 0x90, 0x24, 0x12, 0xd9, 0xaa, 0x91, 0x07, 0x5f, 0x44, 0x40, 0x28, 0xf8, 0x22, 0x42, 0x9e, 0xc1, + 0xde, 0x90, 0xdf, 0x9a, 0xef, 0x0b, 0x7b, 0x1f, 0xca, 0xf3, 0x76, 0xef, 0x90, 0x5b, 0x30, 0xcf, + 0x4c, 0x7c, 0x44, 0x73, 0x57, 0x42, 0xcd, 0xdd, 0xbd, 0x63, 0x89, 0x72, 0xed, 0x7b, 0xbe, 0x2a, + 0x3b, 0xd6, 0x89, 0xdd, 0x3b, 0xe4, 0xde, 0xc9, 0x4c, 0x6f, 0xb3, 0xc2, 0xf4, 0xd6, 0x37, 0xbb, + 0x7d, 0x35, 0x64, 0x76, 0x7b, 0x6d, 0xfa, 0x68, 0xf1, 0xb7, 0x46, 0x16, 0x6c, 0x30, 0x08, 0x42, + 0xf5, 0x63, 0x05, 0x2e, 0x4c, 0xa5, 0x20, 0xe7, 0x21, 0xab, 0xd7, 0xcd, 0x46, 0x30, 0xbf, 0x74, + 0xcf, 0x08, 0x08, 0xd9, 0x86, 0x85, 0xad, 0x96, 0xd7, 0xd9, 0xa7, 0xcb, 0x38, 0x51, 0xf9, 0x1f, + 0xab, 0xd6, 0x47, 0xdf, 0x99, 0xb1, 0x02, 0x5a, 0xe2, 0xc0, 0x2a, 0xee, 0x85, 0x50, 0x62, 0xa7, + 0x74, 0x82, 0xae, 0x21, 0x56, 0x61, 0x8c, 0x8c, 0xf2, 0x99, 0x18, 0x30, 0xba, 0x05, 0xdf, 0x11, + 0xb2, 0xc8, 0xe4, 0x06, 0x9e, 0x22, 0x6a, 0xea, 0x4d, 0xc8, 0xd6, 0x85, 0x15, 0x80, 0x64, 0xab, + 0x2e, 0x5e, 0xfc, 0x2d, 0xbf, 0x54, 0xfb, 0x0d, 0x45, 0x28, 0x04, 0x9e, 0xde, 0x11, 0x29, 0x27, + 0x56, 0x7b, 0x7a, 0x4e, 0xac, 0xf6, 0x47, 0xcc, 0x89, 0xa5, 0xfd, 0x19, 0x8f, 0x69, 0x6e, 0xb6, + 0xeb, 0x11, 0xcd, 0xec, 0xb3, 0xfa, 0x1c, 0x18, 0xa1, 0xd5, 0x79, 0x55, 0xca, 0xa9, 0x18, 0xff, + 0xd6, 0x64, 0xd7, 0x03, 0x69, 0xa9, 0xfe, 0x7e, 0x1a, 0xce, 0x4f, 0x23, 0x4f, 0xcc, 0xda, 0xac, + 0x9c, 0x2e, 0x6b, 0xf3, 0x2d, 0xc8, 0x32, 0x98, 0x6f, 0x50, 0x8f, 0x03, 0xce, 0x49, 0xe9, 0x80, + 0x8b, 0x62, 0x72, 0x15, 0xe6, 0xf4, 0x82, 0x1d, 0x24, 0x12, 0x43, 0xcb, 0xd7, 0xd6, 0xbe, 0x87, + 0x36, 0x95, 0xbc, 0x88, 0x7c, 0x35, 0x9e, 0x3b, 0x8f, 0x67, 0x10, 0xdb, 0x94, 0x06, 0x24, 0x96, + 0x6e, 0x00, 0xdb, 0x1b, 0x84, 0xc7, 0xe7, 0x11, 0xa7, 0xad, 0x78, 0x1e, 0x3e, 0x0d, 0xe6, 0xea, + 0x43, 0xd7, 0x73, 0x47, 0xb2, 0x55, 0xea, 0x00, 0x21, 0x16, 0x2f, 0xe1, 0x36, 0xa3, 0xad, 0x27, + 0x2c, 0x44, 0xc0, 0x9c, 0x1c, 0xb6, 0x05, 0x8d, 0x4c, 0x29, 0xd8, 0x92, 0x50, 0x28, 0x41, 0xb9, + 0x35, 0xee, 0xed, 0x1f, 0x35, 0xad, 0x32, 0x17, 0x35, 0x18, 0x41, 0x17, 0xa1, 0xb4, 0x83, 0x9e, + 0x25, 0xa1, 0x68, 0xdf, 0x56, 0x60, 0x2d, 0xa9, 0x1f, 0xe4, 0x3c, 0x64, 0x7a, 0x89, 0x69, 0x02, + 0x7b, 0xcc, 0xb3, 0x39, 0x47, 0xff, 0x3a, 0x07, 0xfd, 0xe1, 0x71, 0x6b, 0x24, 0xdb, 0xee, 0x4a, + 0x60, 0x0b, 0xe8, 0x8f, 0x12, 0xfe, 0x4f, 0x2e, 0x09, 0x1e, 0x9d, 0x8e, 0x25, 0x16, 0xc4, 0x3f, + 0x9a, 0x0e, 0x60, 0xb6, 0xeb, 0xb5, 0x01, 0x0b, 0x77, 0xff, 0x32, 0x64, 0x68, 0xb3, 0x22, 0xab, + 0x97, 0xae, 0x1f, 0xbd, 0x52, 0xe6, 0x48, 0xac, 0x55, 0x5e, 0xeb, 0xb8, 0x6b, 0x21, 0xb2, 0xb6, + 0x07, 0xcb, 0x61, 0x0c, 0x62, 0x84, 0x03, 0xa4, 0xe6, 0xee, 0xaa, 0xbc, 0xa6, 0xad, 0x7e, 0x9f, + 0xf9, 0x8f, 0x6c, 0x3d, 0xff, 0xf7, 0x1f, 0x5c, 0x02, 0xfa, 0x93, 0xd1, 0x24, 0x05, 0x50, 0xd5, + 0xbe, 0x93, 0x82, 0xb5, 0xc0, 0x65, 0x5d, 0xec, 0xa1, 0x9f, 0x5a, 0xff, 0x49, 0x3d, 0xe4, 0xdf, + 0x27, 0x04, 0xad, 0x78, 0x07, 0xa7, 0xb8, 0x15, 0x6d, 0xc3, 0xfa, 0x24, 0x7c, 0x72, 0x1b, 0x16, + 0x30, 0xca, 0xd1, 0xa0, 0xb5, 0xef, 0xca, 0xbc, 0xaf, 0x27, 0x80, 0x56, 0x50, 0xae, 0xfd, 0x50, + 0x81, 0x0d, 0xee, 0xf5, 0x50, 0x69, 0x75, 0x7a, 0xa8, 0x56, 0xdf, 0x77, 0x3f, 0x1e, 0xff, 0xdf, + 0xed, 0x10, 0x1f, 0xbb, 0x1e, 0x76, 0x6e, 0x89, 0x7d, 0x6d, 0x72, 0x6f, 0xc9, 0x2d, 0x8c, 0xdc, + 0xc5, 0x1f, 0x95, 0x33, 0x2c, 0xde, 0x42, 0x8f, 0x02, 0xe4, 0x78, 0x0b, 0x88, 0xa1, 0xfd, 0x32, + 0x5c, 0x9c, 0xfe, 0x01, 0xf2, 0x15, 0x58, 0xc2, 0x54, 0x50, 0xcd, 0xc1, 0xe1, 0xb0, 0xd5, 0x76, + 0x85, 0x2a, 0x4c, 0xa8, 0x2f, 0xe5, 0x32, 0x16, 0x88, 0x8c, 0xfb, 0xff, 0x1f, 0x62, 0x92, 0x29, + 0x4e, 0x14, 0x72, 0x2d, 0x92, 0x6b, 0xd3, 0x7e, 0x45, 0x01, 0x12, 0xaf, 0x83, 0x7c, 0x16, 0x16, + 0x9b, 0x8d, 0x82, 0x3d, 0x6a, 0x0d, 0x47, 0x3b, 0xfd, 0xf1, 0x90, 0x47, 0x01, 0x63, 0xee, 0xe0, + 0xa3, 0x7d, 0x87, 0x3d, 0xa0, 0x1c, 0xf5, 0xc7, 0x43, 0x2b, 0x84, 0x87, 0x39, 0x8c, 0x5c, 0xf7, + 0x6b, 0xed, 0xd6, 0x93, 0x70, 0x0e, 0x23, 0x0e, 0x0b, 0xe5, 0x30, 0xe2, 0x30, 0xed, 0x3d, 0x05, + 0x36, 0x85, 0xad, 0x60, 0x3b, 0xa1, 0x2d, 0x05, 0x0c, 0x7a, 0x32, 0x14, 0x61, 0x67, 0xa7, 0x89, + 0xb4, 0xab, 0x22, 0x2e, 0x10, 0x36, 0x10, 0x65, 0x5b, 0x46, 0x4b, 0xbe, 0x00, 0x19, 0x7b, 0xd4, + 0x1f, 0x9c, 0x20, 0x30, 0x90, 0xea, 0xcf, 0xe8, 0xa8, 0x3f, 0xc0, 0x2a, 0x90, 0x52, 0x73, 0x61, + 0x4d, 0x6e, 0x9c, 0x68, 0x31, 0xa9, 0xc0, 0x3c, 0x8f, 0x00, 0x17, 0x79, 0xa8, 0x9f, 0xd2, 0xa7, + 0xad, 0x15, 0x11, 0x7d, 0x88, 0x87, 0x3d, 0xb5, 0x44, 0x1d, 0xda, 0x6f, 0x29, 0x90, 0xa3, 0xd2, + 0x06, 0xde, 0xe2, 0x9e, 0x75, 0x49, 0x87, 0x05, 0x47, 0x61, 0x55, 0xe2, 0x57, 0x7f, 0xa2, 0xd3, + 0xf8, 0x15, 0x58, 0x89, 0x10, 0x10, 0x0d, 0xe3, 0x4e, 0x74, 0x3b, 0xfb, 0x2d, 0x96, 0x12, 0x85, + 0x59, 0x64, 0x84, 0x60, 0xda, 0xaf, 0x29, 0xb0, 0x46, 0xef, 0xfc, 0xec, 0x9d, 0xd3, 0x1a, 0x77, + 0xc5, 0x7e, 0xa7, 0x12, 0x94, 0x30, 0x3a, 0x65, 0x3e, 0xf1, 0x4c, 0x82, 0xe2, 0x30, 0xcb, 0x2f, + 0x25, 0x3b, 0x90, 0xe5, 0xe7, 0x8b, 0xc7, 0xa3, 0x95, 0x5e, 0x94, 0x94, 0x09, 0x41, 0xc5, 0x1c, + 0x89, 0xf6, 0x04, 0x59, 0x18, 0xa7, 0xb1, 0x7c, 0x6a, 0xed, 0x3f, 0x15, 0x38, 0x37, 0x81, 0x86, + 0xbc, 0x0e, 0xb3, 0xe8, 0xaf, 0xc7, 0x67, 0xef, 0xfc, 0x84, 0x4f, 0x8c, 0xf6, 0x8f, 0x76, 0xef, + 0xb0, 0x83, 0xe8, 0x98, 0xfe, 0xb0, 0x18, 0x15, 0x79, 0x0b, 0x16, 0xf4, 0x76, 0x9b, 0x5f, 0x67, + 0x52, 0xa1, 0xeb, 0xcc, 0x84, 0x2f, 0xbe, 0xe8, 0xe3, 0xb3, 0xeb, 0x0c, 0xf3, 0x1c, 0x69, 0xb7, + 0x1d, 0xee, 0x8b, 0x18, 0xd4, 0xb7, 0xf1, 0xf3, 0xb0, 0x1c, 0x46, 0x3e, 0x95, 0xfb, 0xd4, 0xf7, + 0x14, 0x50, 0xc3, 0x6d, 0xf8, 0x64, 0xe2, 0x26, 0x25, 0x4d, 0xf3, 0x53, 0x16, 0xd5, 0xef, 0xa4, + 0xe0, 0xb9, 0xc4, 0x11, 0x26, 0x2f, 0xc0, 0x9c, 0x3e, 0x18, 0x98, 0x45, 0xbe, 0xaa, 0xb8, 0x84, + 0x84, 0x5a, 0xe2, 0xd0, 0x6d, 0x8f, 0x21, 0x91, 0x97, 0x21, 0xcb, 0x9e, 0xd3, 0x8b, 0x82, 0xe1, + 0x60, 0x20, 0x18, 0xfe, 0xd6, 0x1f, 0x8e, 0x1b, 0x2a, 0x10, 0x49, 0x09, 0x96, 0x79, 0x08, 0x15, + 0xcb, 0x3d, 0x74, 0xbf, 0xe1, 0x07, 0xb0, 0xc7, 0x18, 0xfb, 0x42, 0xf5, 0xec, 0x0c, 0x59, 0x99, + 0x1c, 0x44, 0x24, 0x4c, 0x45, 0xca, 0xa0, 0x62, 0x9d, 0x72, 0x4d, 0x2c, 0x78, 0x29, 0x06, 0xb5, + 0x61, 0x8d, 0x98, 0x50, 0x57, 0x8c, 0xd2, 0x9f, 0x2e, 0xdd, 0xf3, 0x3a, 0x87, 0xbd, 0x63, 0xb7, + 0x37, 0xfa, 0xe4, 0xa6, 0x2b, 0xf8, 0xc6, 0x89, 0xa6, 0xeb, 0xf7, 0x32, 0x6c, 0x33, 0x47, 0xc9, + 0xa8, 0x44, 0x23, 0xc5, 0xab, 0x46, 0x89, 0x06, 0x33, 0xfc, 0xb3, 0x20, 0x21, 0x45, 0x98, 0x67, + 0xc1, 0x5b, 0xc4, 0xce, 0xb8, 0x90, 0xd8, 0x04, 0x86, 0xb3, 0x7b, 0x87, 0x89, 0x2f, 0xcc, 0x71, + 0xd0, 0xb3, 0x04, 0x29, 0xd9, 0x85, 0x5c, 0xa1, 0xeb, 0xb6, 0x7a, 0xe3, 0x41, 0xe3, 0x64, 0x4f, + 0x8e, 0xeb, 0xbc, 0x2f, 0x8b, 0xfb, 0x8c, 0x0c, 0x9f, 0x2a, 0x91, 0x93, 0xcb, 0x15, 0x91, 0x86, + 0xef, 0x4b, 0x94, 0x41, 0x4d, 0xe5, 0x67, 0xa6, 0x8c, 0x4f, 0x14, 0x88, 0x74, 0x61, 0x47, 0x39, + 0xee, 0x6c, 0xe4, 0xc0, 0x72, 0xb9, 0xe5, 0x8d, 0x1a, 0xc3, 0x56, 0xcf, 0xc3, 0xa0, 0x8f, 0x27, + 0x08, 0x8a, 0xb5, 0x29, 0x12, 0x0a, 0xa3, 0x8e, 0x71, 0xe4, 0x93, 0x32, 0x0d, 0x66, 0xb8, 0x3a, + 0x2a, 0x2f, 0x95, 0x3a, 0xbd, 0x56, 0xb7, 0xf3, 0xae, 0x70, 0xb9, 0x64, 0xf2, 0xd2, 0x81, 0x00, + 0x5a, 0x41, 0xb9, 0xf6, 0xe5, 0xd8, 0xbc, 0xb1, 0x56, 0xe6, 0x60, 0x9e, 0x3b, 0xe4, 0x33, 0x07, + 0xf5, 0xba, 0x51, 0x2d, 0x9a, 0xd5, 0x6d, 0x55, 0x21, 0xcb, 0x00, 0x75, 0xab, 0x56, 0x30, 0x6c, + 0x9b, 0xfe, 0x4e, 0xd1, 0xdf, 0xdc, 0x7b, 0xbd, 0xd4, 0x2c, 0xab, 0x69, 0xc9, 0x81, 0x3d, 0xa3, + 0xfd, 0x40, 0x81, 0xb3, 0xc9, 0x53, 0x49, 0x1a, 0x80, 0x21, 0x0c, 0xf8, 0xe3, 0xf3, 0x67, 0xa7, + 0xce, 0x7b, 0x22, 0x38, 0x1a, 0x0a, 0x61, 0xc4, 0x5c, 0xec, 0x53, 0xe2, 0xb1, 0x88, 0xf9, 0xec, + 0x75, 0xda, 0x56, 0xaa, 0xd3, 0xd6, 0x0a, 0xb0, 0x3e, 0xa9, 0x8e, 0x70, 0x57, 0x57, 0x20, 0xa7, + 0xd7, 0xeb, 0x65, 0xb3, 0xa0, 0x37, 0xcc, 0x5a, 0x55, 0x55, 0xc8, 0x02, 0xcc, 0x6e, 0x5b, 0xb5, + 0x66, 0x5d, 0x4d, 0x69, 0xdf, 0x55, 0x60, 0xc9, 0x0c, 0xcc, 0xb4, 0x9e, 0x75, 0xf3, 0xbd, 0x16, + 0xda, 0x7c, 0xeb, 0x7e, 0xb0, 0x0f, 0xff, 0x03, 0x27, 0xda, 0x79, 0x7f, 0xa7, 0xc0, 0x6a, 0x8c, + 0x86, 0xd8, 0x30, 0xaf, 0xef, 0xd9, 0x35, 0xb3, 0x58, 0xe0, 0x2d, 0xbb, 0x14, 0xd8, 0x17, 0x61, + 0x3e, 0xa7, 0xd8, 0x57, 0x98, 0x83, 0xec, 0x63, 0xcf, 0xe9, 0x77, 0xda, 0x52, 0x2e, 0xd6, 0x9d, + 0x19, 0x4b, 0xd4, 0x84, 0x27, 0xd9, 0xbb, 0xe3, 0xa1, 0x8b, 0xd5, 0xa6, 0x42, 0x8a, 0x50, 0x1f, + 0x1e, 0xaf, 0x18, 0xdd, 0x19, 0x5a, 0xb4, 0x3c, 0x5e, 0x75, 0x50, 0xdf, 0xd6, 0x12, 0xe4, 0xf8, + 0xad, 0x05, 0x2f, 0x04, 0xdf, 0x57, 0x60, 0x7d, 0x52, 0x5b, 0xe9, 0x45, 0x28, 0xec, 0x2d, 0x7f, + 0xd6, 0xcf, 0xcf, 0x10, 0x76, 0x93, 0x17, 0x68, 0xe4, 0x0d, 0xc8, 0x99, 0x9e, 0x37, 0x76, 0x87, + 0xf6, 0xcb, 0x4d, 0xcb, 0xe4, 0x0b, 0xe4, 0xc2, 0xbf, 0x7d, 0x70, 0xe9, 0x1c, 0x3a, 0x1d, 0x0c, + 0x1d, 0xef, 0x65, 0x67, 0x3c, 0xec, 0x84, 0x62, 0xd9, 0xcb, 0x14, 0x54, 0x6e, 0x6d, 0x8d, 0xdb, + 0x1d, 0x57, 0x48, 0xed, 0xc2, 0xa3, 0x98, 0xc3, 0xe4, 0x53, 0x44, 0xc0, 0xb4, 0x6f, 0x29, 0xb0, + 0x31, 0x79, 0x60, 0xe8, 0xc9, 0xd4, 0x60, 0x56, 0x3f, 0xc2, 0xa7, 0x17, 0x4f, 0x26, 0xdf, 0x34, + 0x48, 0xae, 0x53, 0x20, 0x52, 0x22, 0x3f, 0x37, 0x7a, 0x2a, 0x96, 0x10, 0x39, 0x4c, 0x24, 0x10, + 0xb5, 0x7f, 0x4f, 0xc1, 0x59, 0xba, 0xe8, 0xba, 0xae, 0xe7, 0xe9, 0xe3, 0xd1, 0x91, 0xdb, 0x1b, + 0x71, 0x31, 0x8c, 0xdc, 0x83, 0xb9, 0xa3, 0xd3, 0xa9, 0x1c, 0x19, 0x3a, 0x21, 0x80, 0x8c, 0x5c, + 0xb8, 0x50, 0xd0, 0xff, 0xc9, 0x15, 0x90, 0x53, 0x50, 0xa7, 0x31, 0x08, 0x66, 0x6a, 0x5d, 0xb1, + 0x16, 0x06, 0x7e, 0xb6, 0xd8, 0x57, 0x61, 0x16, 0xd5, 0x0c, 0x9c, 0xa5, 0x0a, 0x51, 0x38, 0xb9, + 0x75, 0xa8, 0x84, 0xb0, 0x18, 0x01, 0x79, 0x09, 0x20, 0xc8, 0x1f, 0xc0, 0x79, 0xa6, 0xb8, 0x7e, + 0xfb, 0x29, 0x04, 0xac, 0x85, 0xe3, 0x83, 0x16, 0x0f, 0xca, 0x9f, 0x87, 0x55, 0x31, 0x2c, 0x03, + 0x11, 0x3b, 0x8f, 0xbf, 0x86, 0xad, 0xb0, 0x02, 0x73, 0x20, 0xe2, 0xe7, 0x5d, 0x8b, 0xa5, 0xd1, + 0xc5, 0x10, 0xba, 0x91, 0x5c, 0xb9, 0xd7, 0x62, 0xb9, 0x72, 0xb3, 0x0c, 0x4b, 0x4e, 0x88, 0xab, + 0xfd, 0x4b, 0x0a, 0x16, 0xf6, 0xa8, 0xb0, 0x82, 0x57, 0xf0, 0xe9, 0x57, 0xfa, 0xbb, 0x90, 0x2b, + 0xf7, 0x5b, 0xfc, 0xd9, 0x81, 0x7b, 0x1e, 0x30, 0xcf, 0xdf, 0x6e, 0xbf, 0x25, 0x5e, 0x30, 0x3c, + 0x4b, 0x46, 0x7a, 0x8a, 0xd7, 0xf2, 0x03, 0x98, 0x63, 0xcf, 0x40, 0x5c, 0xbb, 0x24, 0xc4, 0x55, + 0xbf, 0x45, 0x2f, 0xb2, 0x62, 0x49, 0x53, 0xce, 0x9e, 0x92, 0x64, 0xd9, 0x89, 0x47, 0x02, 0x95, + 0x14, 0x0e, 0xb3, 0x27, 0x53, 0x38, 0x48, 0x11, 0xcf, 0xe6, 0x4e, 0x12, 0xf1, 0x6c, 0xe3, 0x3e, + 0xe4, 0xa4, 0xf6, 0x9c, 0x4a, 0x7a, 0xfd, 0x66, 0x0a, 0x96, 0xb0, 0x57, 0xbe, 0x4d, 0xc8, 0x4f, + 0xa7, 0xfa, 0xe4, 0xb5, 0x90, 0xfa, 0x64, 0x5d, 0x9e, 0x2f, 0xd6, 0xb3, 0x29, 0x7a, 0x93, 0x07, + 0xb0, 0x1a, 0x43, 0x24, 0xaf, 0xc0, 0x2c, 0x6d, 0xbe, 0xb8, 0x6e, 0xaa, 0xd1, 0x15, 0x10, 0x44, + 0xc7, 0xa5, 0x1d, 0xf7, 0x2c, 0x86, 0xad, 0xfd, 0x97, 0x02, 0x8b, 0x3c, 0x39, 0x45, 0xef, 0xa0, + 0xff, 0xd4, 0xe1, 0xbc, 0x11, 0x1d, 0x4e, 0x16, 0x83, 0x83, 0x0f, 0xe7, 0xff, 0xf6, 0x20, 0xde, + 0x0f, 0x0d, 0xe2, 0x39, 0x3f, 0x56, 0x9e, 0xe8, 0xce, 0x94, 0x31, 0xfc, 0x6b, 0x8c, 0x1e, 0x1b, + 0x46, 0x24, 0x5f, 0x85, 0x85, 0xaa, 0xfb, 0x38, 0x74, 0x6b, 0xbb, 0x31, 0xa1, 0xd2, 0x17, 0x7d, + 0x44, 0xb6, 0xa7, 0xf0, 0xc0, 0xeb, 0xb9, 0x8f, 0x9d, 0xd8, 0x0b, 0x54, 0x50, 0x25, 0xbd, 0xb8, + 0x85, 0xc9, 0x4e, 0xb3, 0xf4, 0xb9, 0x1b, 0x24, 0x86, 0x95, 0xf9, 0x76, 0x1a, 0x20, 0xf0, 0x20, + 0xa3, 0x1b, 0x30, 0xf4, 0xf8, 0x2e, 0x14, 0xde, 0x08, 0x92, 0xd7, 0xb8, 0x78, 0x93, 0xbf, 0xc1, + 0x15, 0xb3, 0xa9, 0xc9, 0xb1, 0x0c, 0x51, 0x45, 0x5b, 0xe0, 0x2e, 0x4b, 0x6d, 0xb7, 0xdb, 0x62, + 0xbc, 0x3d, 0xbd, 0x75, 0x0d, 0x43, 0xd7, 0xfa, 0xd0, 0x09, 0x59, 0x86, 0xd1, 0xb1, 0xa9, 0x48, + 0x11, 0x62, 0x5e, 0x99, 0x99, 0xd3, 0x79, 0x65, 0xd6, 0x61, 0xa1, 0xd3, 0x7b, 0xc7, 0xed, 0x8d, + 0xfa, 0xc3, 0x27, 0xa8, 0x8d, 0x0e, 0xd4, 0x5c, 0x74, 0x08, 0x4c, 0x51, 0xc6, 0xe6, 0x01, 0x0f, + 0x46, 0x1f, 0x5f, 0x9e, 0x06, 0x1f, 0xe8, 0x7b, 0x95, 0xce, 0xaa, 0x73, 0x0f, 0x32, 0xd9, 0x39, + 0x75, 0xfe, 0x41, 0x26, 0x9b, 0x55, 0x17, 0x1e, 0x64, 0xb2, 0x0b, 0x2a, 0x58, 0xd2, 0xfb, 0x8e, + 0xff, 0x7e, 0x23, 0x3d, 0xb9, 0x84, 0x9f, 0x53, 0xb4, 0x9f, 0xa4, 0x80, 0xc4, 0x9b, 0x41, 0x5e, + 0x83, 0x1c, 0x63, 0xb0, 0xce, 0xd0, 0xfb, 0x3a, 0x37, 0x5b, 0x67, 0xc1, 0x79, 0x24, 0xb0, 0x1c, + 0x9c, 0x87, 0x81, 0x2d, 0xef, 0xeb, 0x5d, 0xf2, 0x15, 0x38, 0x83, 0xc3, 0x3b, 0x70, 0x87, 0x9d, + 0x7e, 0xdb, 0xc1, 0x48, 0xaa, 0xad, 0x2e, 0xcf, 0x08, 0xf8, 0x02, 0xa6, 0xae, 0x8d, 0x17, 0x4f, + 0x98, 0x06, 0x74, 0x14, 0xab, 0x23, 0x66, 0x9d, 0x21, 0x92, 0x06, 0xa8, 0x32, 0xfd, 0xc1, 0xb8, + 0xdb, 0xe5, 0x33, 0x9b, 0xa7, 0x17, 0xdd, 0x68, 0xd9, 0x84, 0x8a, 0x97, 0x83, 0x8a, 0x4b, 0xe3, + 0x6e, 0x97, 0xdc, 0x03, 0xe8, 0xf7, 0x9c, 0xe3, 0x8e, 0xe7, 0xb1, 0x37, 0x0e, 0xdf, 0xa7, 0x35, + 0x80, 0xca, 0x93, 0xd1, 0xef, 0x55, 0x18, 0x90, 0xfc, 0x1c, 0xa0, 0x4f, 0x3f, 0x06, 0xbb, 0x60, + 0x56, 0x2d, 0x3c, 0xc7, 0x87, 0x00, 0x86, 0x5d, 0x68, 0x0f, 0x5d, 0xbb, 0xf3, 0xae, 0x70, 0x19, + 0x78, 0x13, 0x56, 0xb9, 0x11, 0xea, 0x5e, 0x67, 0x74, 0xc4, 0x25, 0xec, 0x67, 0x11, 0xcf, 0x25, + 0x11, 0xfb, 0x1f, 0x32, 0x00, 0xfa, 0x9e, 0x2d, 0xe2, 0x48, 0xdd, 0x82, 0x59, 0x7a, 0x6f, 0x10, + 0xfa, 0x07, 0xd4, 0xde, 0x62, 0xbd, 0xb2, 0xf6, 0x16, 0x31, 0xe8, 0x6e, 0xb4, 0xd0, 0x38, 0x5b, + 0xe8, 0x1e, 0x70, 0x37, 0x32, 0x7b, 0xed, 0x50, 0x1c, 0x5f, 0x8e, 0x45, 0xca, 0x00, 0x41, 0x64, + 0x27, 0x7e, 0x93, 0x5d, 0x0d, 0x42, 0xa4, 0xf0, 0x02, 0x9e, 0x4b, 0x20, 0x88, 0x0e, 0x25, 0x2f, + 0x9f, 0x00, 0x8d, 0x3c, 0x84, 0x4c, 0xa3, 0xe5, 0x7b, 0x6c, 0x4e, 0x88, 0x77, 0x75, 0x99, 0x67, + 0x6c, 0x0c, 0x62, 0x5e, 0x2d, 0x8f, 0x5a, 0xa1, 0xc4, 0xb6, 0x58, 0x09, 0x31, 0x60, 0x8e, 0x67, + 0xe3, 0x9e, 0x10, 0x27, 0x91, 0x27, 0xe3, 0xe6, 0xd1, 0x91, 0x11, 0x28, 0xcb, 0x14, 0x3c, 0xef, + 0xf6, 0x5d, 0x48, 0xdb, 0x76, 0x85, 0x47, 0x79, 0x58, 0x0a, 0x6e, 0x25, 0xb6, 0x5d, 0x61, 0x6f, + 0x94, 0x9e, 0x77, 0x2c, 0x91, 0x51, 0x64, 0xf2, 0x39, 0xc8, 0x49, 0xe2, 0x33, 0x8f, 0x8f, 0x82, + 0x63, 0x20, 0x79, 0xcd, 0xc8, 0x4c, 0x43, 0xc2, 0x26, 0x65, 0x50, 0x1f, 0x8e, 0xdf, 0x76, 0xf5, + 0xc1, 0x00, 0x9d, 0xe5, 0xde, 0x71, 0x87, 0x4c, 0x6c, 0xcb, 0x06, 0x81, 0x85, 0xd1, 0xd6, 0xbe, + 0x2d, 0x4a, 0x65, 0x1d, 0x4c, 0x94, 0x92, 0xd4, 0x61, 0xd5, 0x76, 0x47, 0xe3, 0x01, 0xb3, 0xd3, + 0x28, 0xf5, 0x87, 0xf4, 0x12, 0xc2, 0xa2, 0xa9, 0x60, 0x0c, 0x56, 0x8f, 0x16, 0x0a, 0xe3, 0x98, + 0x83, 0xfe, 0x30, 0x72, 0x21, 0x89, 0x13, 0x6b, 0xae, 0x3c, 0xe5, 0xf4, 0x54, 0x0d, 0x5f, 0x6d, + 0xf0, 0x54, 0x15, 0x57, 0x9b, 0xe0, 0x42, 0xf3, 0x52, 0x42, 0xc4, 0x2f, 0x7c, 0x30, 0x93, 0x22, + 0x7e, 0x85, 0xe2, 0x7c, 0xbd, 0x97, 0x91, 0x82, 0x4e, 0xf2, 0xb9, 0x78, 0x1d, 0xe0, 0x41, 0xbf, + 0xd3, 0xab, 0xb8, 0xa3, 0xa3, 0x7e, 0x5b, 0x0a, 0x3c, 0x96, 0xfb, 0xc5, 0x7e, 0xa7, 0xe7, 0x1c, + 0x23, 0xf8, 0x27, 0x1f, 0x5c, 0x92, 0x90, 0x2c, 0xe9, 0x7f, 0xf2, 0x69, 0x58, 0xa0, 0xbf, 0x1a, + 0x81, 0xb5, 0x09, 0x53, 0x55, 0x22, 0x35, 0x4b, 0xcd, 0x10, 0x20, 0x90, 0xfb, 0x98, 0x8c, 0xa4, + 0x33, 0x18, 0x49, 0xc2, 0xab, 0xc8, 0x3c, 0xd2, 0x19, 0x8c, 0xa2, 0x71, 0x84, 0x25, 0x64, 0xb2, + 0xe3, 0x37, 0x5d, 0xe4, 0x0f, 0xe2, 0x39, 0x4f, 0x50, 0x1f, 0xc7, 0xd7, 0x9a, 0x23, 0x02, 0x98, + 0xca, 0x99, 0x5e, 0x23, 0x64, 0xd8, 0x08, 0x7b, 0xa7, 0xc8, 0x1e, 0x50, 0xb8, 0x50, 0xcb, 0x1a, + 0xe1, 0x1d, 0xb5, 0x9d, 0x7d, 0x04, 0x87, 0x1a, 0xe1, 0x23, 0x93, 0x2d, 0x58, 0x61, 0x32, 0xbe, + 0x9f, 0x87, 0x90, 0x8b, 0xb8, 0xc8, 0xdb, 0x82, 0x44, 0x85, 0xf2, 0xe7, 0x23, 0x04, 0xa4, 0x04, + 0xb3, 0x78, 0x21, 0xe4, 0x26, 0xe6, 0x9b, 0xf2, 0xed, 0x39, 0xba, 0x8f, 0x90, 0xaf, 0xe0, 0xbd, + 0x59, 0xe6, 0x2b, 0x88, 0x4a, 0xbe, 0x04, 0x60, 0xf4, 0x86, 0xfd, 0x6e, 0x17, 0x43, 0xec, 0x66, + 0xf1, 0x2a, 0x75, 0x21, 0xbc, 0x1f, 0xb1, 0x96, 0x00, 0x89, 0x87, 0x83, 0xc3, 0xdf, 0x4e, 0x24, + 0x10, 0xaf, 0x54, 0x97, 0x66, 0xc2, 0x1c, 0xdb, 0x8c, 0x18, 0xae, 0x9a, 0x27, 0xe0, 0x90, 0x82, + 0x1d, 0xb3, 0x70, 0xd5, 0x1c, 0x1e, 0x0f, 0x57, 0x2d, 0x11, 0x68, 0x0f, 0x61, 0x2d, 0xa9, 0x63, + 0xa1, 0x2b, 0xac, 0x72, 0xd2, 0x2b, 0xec, 0x1f, 0xa7, 0x61, 0x11, 0x6b, 0x13, 0x5c, 0x58, 0x87, + 0x25, 0x7b, 0xfc, 0xb6, 0x1f, 0xcb, 0x49, 0x70, 0x63, 0x6c, 0x9f, 0x27, 0x17, 0xc8, 0x4f, 0x5b, + 0x21, 0x0a, 0x62, 0xc0, 0xb2, 0x38, 0x09, 0xb6, 0x85, 0x05, 0xba, 0x1f, 0x29, 0x5a, 0xc4, 0x23, + 0x8c, 0xe7, 0x61, 0x8d, 0x10, 0x05, 0xe7, 0x41, 0xfa, 0x34, 0xe7, 0x41, 0xe6, 0x44, 0xe7, 0xc1, + 0x5b, 0xb0, 0x28, 0xbe, 0x86, 0x9c, 0x7c, 0xf6, 0xd9, 0x38, 0x79, 0xa8, 0x32, 0x52, 0xf6, 0x39, + 0xfa, 0xdc, 0x54, 0x8e, 0x8e, 0xef, 0x85, 0x62, 0x97, 0x0d, 0x10, 0x16, 0x67, 0xec, 0x98, 0xa8, + 0x70, 0xbb, 0x50, 0xff, 0x08, 0xa7, 0xe4, 0x2b, 0xb0, 0x50, 0xee, 0x8b, 0xa7, 0x22, 0x49, 0x47, + 0xdf, 0x15, 0x40, 0x59, 0x5c, 0xf0, 0x31, 0xfd, 0xd3, 0x2d, 0xfd, 0x71, 0x9c, 0x6e, 0xf7, 0x01, + 0xb8, 0x6b, 0x43, 0x90, 0x60, 0x0c, 0xb7, 0x8c, 0x88, 0x63, 0x11, 0x7e, 0x2a, 0x90, 0x90, 0x29, + 0x77, 0xe2, 0x56, 0x28, 0xfa, 0xfe, 0x7e, 0x7f, 0xdc, 0x1b, 0x85, 0x32, 0xf2, 0x0a, 0x4f, 0xc8, + 0x16, 0x2f, 0x93, 0xd9, 0x43, 0x84, 0xec, 0xe3, 0x9d, 0x10, 0xf2, 0x45, 0xdf, 0x88, 0x6e, 0x7e, + 0xda, 0x08, 0x69, 0xb1, 0x11, 0x9a, 0x68, 0x3a, 0xa7, 0xfd, 0x40, 0x91, 0xc3, 0xf4, 0x7f, 0x84, + 0xa9, 0x7e, 0x15, 0xc0, 0x7f, 0xab, 0x17, 0x73, 0xcd, 0xee, 0x4b, 0x3e, 0x54, 0x1e, 0xe5, 0x00, + 0x57, 0xea, 0x4d, 0xfa, 0xe3, 0xea, 0x4d, 0x03, 0x72, 0xb5, 0xaf, 0x8d, 0x5a, 0x81, 0x71, 0x07, + 0xd8, 0xbe, 0x24, 0x8b, 0x9c, 0x29, 0xbd, 0x75, 0x1d, 0xcf, 0x86, 0x40, 0x0e, 0x9e, 0x20, 0x02, + 0x4b, 0x84, 0xda, 0x1f, 0x28, 0xb0, 0x22, 0xbb, 0x6f, 0x3f, 0xe9, 0xed, 0x93, 0xcf, 0xb3, 0xa8, + 0xa1, 0x4a, 0xe8, 0xca, 0x22, 0x21, 0x51, 0x96, 0xfb, 0xa4, 0xb7, 0xcf, 0x04, 0xa0, 0xd6, 0x63, + 0xb9, 0xb1, 0x94, 0x30, 0x38, 0x37, 0x52, 0x21, 0x8b, 0x21, 0xb9, 0x06, 0x5a, 0x8c, 0x75, 0x4c, + 0x39, 0x37, 0xb4, 0x1f, 0x29, 0x40, 0xe2, 0x9f, 0x95, 0xd9, 0x92, 0xf2, 0x7f, 0x20, 0xa6, 0x46, + 0xc4, 0xbb, 0xcc, 0x69, 0xc4, 0x3b, 0xed, 0xbf, 0x15, 0x58, 0x4b, 0x1a, 0x87, 0xd3, 0x77, 0xea, + 0x75, 0x58, 0x96, 0xcf, 0x07, 0x5f, 0xac, 0x9a, 0x40, 0x17, 0x41, 0x26, 0xf7, 0x20, 0xd7, 0x3c, + 0xee, 0xf8, 0x46, 0x7a, 0xe9, 0x69, 0xb4, 0x32, 0xe6, 0x33, 0x75, 0x3f, 0xff, 0xdb, 0x0a, 0xac, + 0x98, 0x7a, 0x85, 0xe7, 0x26, 0x60, 0x6f, 0x37, 0x57, 0xe0, 0x82, 0xa9, 0x57, 0x9c, 0x7a, 0xad, + 0x6c, 0x16, 0x1e, 0x39, 0x89, 0x21, 0x87, 0x2f, 0xc0, 0xf3, 0x71, 0x94, 0xe0, 0x8d, 0xe7, 0x3c, + 0xac, 0xc7, 0x8b, 0x45, 0x58, 0xe2, 0x64, 0x62, 0x11, 0xc1, 0x38, 0x9d, 0x7f, 0x03, 0x56, 0x44, + 0x08, 0xde, 0x46, 0xd9, 0xc6, 0x20, 0xff, 0x2b, 0x90, 0xdb, 0x35, 0x2c, 0xb3, 0xf4, 0xc8, 0x29, + 0x35, 0xcb, 0x65, 0x75, 0x86, 0x2c, 0xc1, 0x02, 0x07, 0x14, 0x74, 0x55, 0x21, 0x8b, 0x90, 0x35, + 0xab, 0xb6, 0x51, 0x68, 0x5a, 0x86, 0x9a, 0xca, 0xbf, 0x01, 0xcb, 0xf5, 0x61, 0xe7, 0x9d, 0xd6, + 0xc8, 0x7d, 0xe8, 0x3e, 0xc1, 0x27, 0x9a, 0x79, 0x48, 0x5b, 0xfa, 0x9e, 0x3a, 0x43, 0x00, 0xe6, + 0xea, 0x0f, 0x0b, 0xf6, 0x9d, 0x3b, 0xaa, 0x42, 0x72, 0x30, 0xbf, 0x5d, 0xa8, 0x3b, 0x0f, 0x2b, + 0xb6, 0x9a, 0xa2, 0x3f, 0xf4, 0x3d, 0x1b, 0x7f, 0xa4, 0xf3, 0x9f, 0x81, 0x55, 0x94, 0xb9, 0xca, + 0x1d, 0x6f, 0xe4, 0xf6, 0xdc, 0x21, 0xb6, 0x61, 0x11, 0xb2, 0xb6, 0x4b, 0x99, 0xe5, 0xc8, 0x65, + 0x0d, 0xa8, 0x8c, 0xbb, 0xa3, 0xce, 0xa0, 0xeb, 0x7e, 0x43, 0x55, 0xf2, 0xf7, 0x61, 0xc5, 0xea, + 0x8f, 0x47, 0x9d, 0xde, 0xa1, 0x3d, 0xa2, 0x18, 0x87, 0x4f, 0xc8, 0x73, 0xb0, 0xda, 0xac, 0xea, + 0x95, 0x2d, 0x73, 0xbb, 0x59, 0x6b, 0xda, 0x4e, 0x45, 0x6f, 0x14, 0x76, 0xd8, 0x03, 0x51, 0xa5, + 0x66, 0x37, 0x1c, 0xcb, 0x28, 0x18, 0xd5, 0x86, 0xaa, 0xe4, 0xbf, 0x83, 0xea, 0xa3, 0xfd, 0x7e, + 0xaf, 0x5d, 0x6a, 0xed, 0x8f, 0xfa, 0x43, 0x6c, 0xb0, 0x06, 0x17, 0x6d, 0xa3, 0x50, 0xab, 0x16, + 0x9d, 0x92, 0x5e, 0x68, 0xd4, 0xac, 0xa4, 0x98, 0xd7, 0x1b, 0x70, 0x36, 0x01, 0xa7, 0xd6, 0xa8, + 0xab, 0x0a, 0xb9, 0x04, 0x9b, 0x09, 0x65, 0x7b, 0xc6, 0x96, 0xde, 0x6c, 0xec, 0x54, 0xd5, 0xd4, + 0x04, 0x62, 0xdb, 0xae, 0xa9, 0xe9, 0xfc, 0xaf, 0x2b, 0xb0, 0xdc, 0xf4, 0xb8, 0x75, 0x76, 0x13, + 0x1d, 0x33, 0x2f, 0xc3, 0xf9, 0xa6, 0x6d, 0x58, 0x4e, 0xa3, 0xf6, 0xd0, 0xa8, 0x3a, 0x4d, 0x5b, + 0xdf, 0x8e, 0xb6, 0xe6, 0x12, 0x6c, 0x4a, 0x18, 0x96, 0x51, 0xa8, 0xed, 0x1a, 0x96, 0x53, 0xd7, + 0x6d, 0x7b, 0xaf, 0x66, 0x15, 0x55, 0x85, 0x7e, 0x31, 0x01, 0xa1, 0x52, 0xd2, 0x59, 0x6b, 0x42, + 0x65, 0x55, 0x63, 0x4f, 0x2f, 0x3b, 0x5b, 0xb5, 0x86, 0x9a, 0xce, 0x57, 0xa8, 0x08, 0x83, 0x91, + 0x67, 0x99, 0x4d, 0x61, 0x16, 0x32, 0xd5, 0x5a, 0xd5, 0x88, 0x3e, 0x2b, 0x2e, 0x42, 0x56, 0xaf, + 0xd7, 0xad, 0xda, 0x2e, 0x2e, 0x31, 0x80, 0xb9, 0xa2, 0x51, 0xa5, 0x2d, 0x4b, 0xd3, 0x92, 0xba, + 0x55, 0xab, 0xd4, 0x1a, 0x46, 0x51, 0xcd, 0xe4, 0x2d, 0xc1, 0xc1, 0x44, 0xa5, 0xfb, 0x7d, 0xf6, + 0x86, 0x57, 0x34, 0x4a, 0x7a, 0xb3, 0xdc, 0xe0, 0x53, 0xf4, 0xc8, 0xb1, 0x8c, 0x2f, 0x36, 0x0d, + 0xbb, 0x61, 0xab, 0x0a, 0x51, 0x61, 0xb1, 0x6a, 0x18, 0x45, 0xdb, 0xb1, 0x8c, 0x5d, 0xd3, 0xd8, + 0x53, 0x53, 0xb4, 0x4e, 0xf6, 0x3f, 0xfd, 0x42, 0xfe, 0x3d, 0x05, 0x08, 0x8b, 0xda, 0x2b, 0x52, + 0xc1, 0xe0, 0x8a, 0xb9, 0x08, 0x1b, 0x3b, 0x74, 0xaa, 0xb1, 0x6b, 0x95, 0x5a, 0x31, 0x3a, 0x64, + 0x67, 0x81, 0x44, 0xca, 0x6b, 0xa5, 0x92, 0xaa, 0x90, 0x4d, 0x38, 0x13, 0x81, 0x17, 0xad, 0x5a, + 0x5d, 0x4d, 0x6d, 0xa4, 0xb2, 0x0a, 0x39, 0x17, 0x2b, 0x7c, 0x68, 0x18, 0x75, 0x35, 0x4d, 0xa7, + 0x28, 0x52, 0x20, 0xb6, 0x04, 0x23, 0xcf, 0xe4, 0xbf, 0xa5, 0xc0, 0x59, 0xd6, 0x4c, 0xb1, 0xbf, + 0xfc, 0xa6, 0x9e, 0x87, 0x75, 0x1e, 0x8b, 0x3c, 0xa9, 0xa1, 0x6b, 0xa0, 0x86, 0x4a, 0x59, 0x33, + 0x9f, 0x83, 0xd5, 0x10, 0x14, 0xdb, 0x91, 0xa2, 0xdc, 0x23, 0x04, 0xde, 0x32, 0xec, 0x86, 0x63, + 0x94, 0x4a, 0x35, 0xab, 0xc1, 0x1a, 0x92, 0xce, 0x6b, 0xb0, 0x5a, 0x70, 0x87, 0x23, 0x7a, 0xbb, + 0xec, 0x79, 0x9d, 0x7e, 0x0f, 0x9b, 0xb0, 0x04, 0x0b, 0xc6, 0x97, 0x1a, 0x46, 0xd5, 0x36, 0x6b, + 0x55, 0x75, 0x26, 0x7f, 0x3e, 0x82, 0x23, 0xf6, 0xb1, 0x6d, 0xef, 0xa8, 0x33, 0xf9, 0x16, 0x2c, + 0x09, 0x3b, 0x68, 0xb6, 0x2a, 0x2e, 0xc2, 0x86, 0x58, 0x6b, 0xc8, 0x51, 0xa2, 0x5d, 0x58, 0x87, + 0xb5, 0x78, 0xb9, 0xd1, 0x50, 0x15, 0x3a, 0x0b, 0x91, 0x12, 0x0a, 0x4f, 0xe5, 0x7f, 0x55, 0x81, + 0x25, 0xff, 0x5d, 0x08, 0x35, 0xd1, 0x97, 0x60, 0xb3, 0x52, 0xd2, 0x9d, 0xa2, 0xb1, 0x6b, 0x16, + 0x0c, 0xe7, 0xa1, 0x59, 0x2d, 0x46, 0x3e, 0xf2, 0x3c, 0x3c, 0x97, 0x80, 0x80, 0x5f, 0x59, 0x87, + 0xb5, 0x68, 0x51, 0x83, 0x6e, 0xd5, 0x14, 0x1d, 0xfa, 0x68, 0x89, 0xbf, 0x4f, 0xd3, 0xf9, 0x3f, + 0x52, 0x60, 0x9d, 0xe7, 0xda, 0xe7, 0x2f, 0x54, 0x2c, 0x09, 0x0b, 0x46, 0x29, 0xce, 0xc3, 0x8d, + 0x86, 0xd5, 0xb4, 0x1b, 0x46, 0x51, 0x90, 0xd3, 0x45, 0x6b, 0x5a, 0x46, 0xc5, 0xa8, 0x36, 0x22, + 0x6d, 0xbb, 0x0d, 0x9f, 0x9a, 0x82, 0x5b, 0xad, 0x35, 0xc4, 0x6f, 0xba, 0x57, 0x3f, 0x05, 0x57, + 0xa7, 0x20, 0xfb, 0x88, 0xa9, 0xfc, 0x2e, 0x2c, 0xdb, 0x7a, 0xa5, 0x5c, 0xea, 0x0f, 0xf7, 0x5d, + 0x7d, 0x3c, 0x3a, 0xea, 0x91, 0x4d, 0x38, 0x57, 0xaa, 0x59, 0x05, 0xc3, 0xc1, 0x1e, 0x44, 0x1a, + 0x71, 0x06, 0x56, 0xe4, 0xc2, 0x47, 0x06, 0xdd, 0x5d, 0x04, 0x96, 0x65, 0x60, 0xb5, 0xa6, 0xa6, + 0xf2, 0x5f, 0x86, 0xc5, 0x50, 0xc2, 0xba, 0x73, 0x70, 0x46, 0xfe, 0x5d, 0x77, 0x7b, 0xed, 0x4e, + 0xef, 0x50, 0x9d, 0x89, 0x16, 0x58, 0xe3, 0x5e, 0x8f, 0x16, 0x20, 0xbb, 0x91, 0x0b, 0x1a, 0xee, + 0xf0, 0xb8, 0xd3, 0x6b, 0x8d, 0xdc, 0xb6, 0x9a, 0xca, 0xbf, 0x08, 0x4b, 0xa1, 0x30, 0xd9, 0x74, + 0x5d, 0x95, 0x6b, 0xfc, 0x7c, 0xa8, 0x18, 0x45, 0xb3, 0x59, 0x51, 0x67, 0x29, 0xa3, 0xd9, 0x31, + 0xb7, 0x77, 0x54, 0xc8, 0x7f, 0x57, 0xa1, 0x37, 0x3d, 0x1c, 0xf7, 0x4a, 0x49, 0x17, 0x2b, 0x91, + 0xee, 0x02, 0x16, 0x7c, 0xdf, 0xb0, 0x6d, 0xf6, 0xd8, 0x7f, 0x1e, 0xd6, 0xf9, 0x0f, 0x47, 0xaf, + 0x16, 0x9d, 0x1d, 0xdd, 0x2a, 0xee, 0xe9, 0x16, 0xdd, 0x1a, 0x8f, 0xd4, 0x14, 0xee, 0x77, 0x09, + 0xe2, 0x34, 0x6a, 0xcd, 0xc2, 0x8e, 0x9a, 0xa6, 0xdb, 0x2b, 0x04, 0xaf, 0x9b, 0x55, 0x35, 0x83, + 0xdc, 0x23, 0x86, 0x8d, 0xd5, 0xd2, 0xf2, 0xd9, 0xfc, 0x87, 0x0a, 0x9c, 0xb3, 0x3b, 0x87, 0xbd, + 0xd6, 0x68, 0x3c, 0x74, 0xf5, 0xee, 0x61, 0x7f, 0xd8, 0x19, 0x1d, 0x1d, 0xdb, 0xe3, 0xce, 0xc8, + 0x25, 0xb7, 0xe0, 0xba, 0x6d, 0x6e, 0x57, 0xf5, 0x06, 0xdd, 0xfd, 0x7a, 0x79, 0xbb, 0x66, 0x99, + 0x8d, 0x9d, 0x8a, 0x63, 0x37, 0xcd, 0xd8, 0xc6, 0xb8, 0x06, 0x97, 0x27, 0xa3, 0x96, 0x8d, 0x6d, + 0xbd, 0xf0, 0x48, 0x55, 0xa6, 0x57, 0xb8, 0xa5, 0x97, 0xf5, 0x6a, 0xc1, 0x28, 0x3a, 0xbb, 0x77, + 0xd4, 0x14, 0xb9, 0x0e, 0x57, 0x26, 0xa3, 0x96, 0xcc, 0xba, 0x4d, 0xd1, 0xd2, 0xd3, 0xbf, 0xbb, + 0x63, 0x57, 0x28, 0x56, 0x26, 0xff, 0x87, 0x0a, 0xac, 0x4f, 0x8a, 0x95, 0x44, 0x6e, 0x80, 0x66, + 0x54, 0x1b, 0x96, 0x6e, 0x16, 0x9d, 0x82, 0x65, 0x14, 0x8d, 0x6a, 0xc3, 0xd4, 0xcb, 0xb6, 0x63, + 0xd7, 0x9a, 0x74, 0x35, 0x05, 0x36, 0x19, 0x57, 0xe1, 0xd2, 0x14, 0xbc, 0x9a, 0x59, 0x2c, 0xa8, + 0x0a, 0xb9, 0x03, 0x2f, 0x4c, 0x41, 0xb2, 0x1f, 0xd9, 0x0d, 0xa3, 0x22, 0x97, 0xa8, 0xa9, 0x7c, + 0x01, 0x36, 0x26, 0x87, 0x5b, 0xa1, 0xa7, 0x48, 0x78, 0xa4, 0xb3, 0x90, 0x29, 0xd2, 0x83, 0x2b, + 0x94, 0xa3, 0x21, 0xdf, 0x01, 0x35, 0x1a, 0x31, 0x21, 0x66, 0x3c, 0x63, 0x35, 0xab, 0x55, 0x76, + 0xca, 0xad, 0x40, 0xae, 0xd6, 0xd8, 0x31, 0x2c, 0x9e, 0xe5, 0x02, 0xd3, 0x5a, 0x34, 0xab, 0x74, + 0xe3, 0xd4, 0x2c, 0xf3, 0x4d, 0x3c, 0xee, 0xd6, 0x61, 0xcd, 0x2e, 0xeb, 0x85, 0x87, 0xb8, 0xa7, + 0xcd, 0xaa, 0x53, 0xd8, 0xd1, 0xab, 0x55, 0xa3, 0xac, 0x02, 0x0e, 0xe6, 0x24, 0x2f, 0x49, 0xf2, + 0x69, 0xb8, 0x59, 0x7b, 0xd8, 0xd0, 0x9d, 0x7a, 0xb9, 0xb9, 0x6d, 0x56, 0x1d, 0xfb, 0x51, 0xb5, + 0x20, 0x44, 0xb3, 0x42, 0xfc, 0x44, 0xb8, 0x09, 0xd7, 0xa6, 0x62, 0x07, 0xf9, 0x28, 0x6e, 0x80, + 0x36, 0x15, 0x93, 0x77, 0x24, 0xff, 0x43, 0x05, 0x36, 0xa7, 0xbc, 0xe2, 0x93, 0x17, 0xe0, 0xd6, + 0x8e, 0xa1, 0x17, 0xcb, 0x86, 0x6d, 0x23, 0xa3, 0xa0, 0xd3, 0xc0, 0x8c, 0x6c, 0x12, 0xf9, 0xfd, + 0x2d, 0xb8, 0x3e, 0x1d, 0x3d, 0x90, 0x1c, 0x6e, 0xc2, 0xb5, 0xe9, 0xa8, 0x5c, 0x92, 0x48, 0x51, + 0x7e, 0x3b, 0x1d, 0xd3, 0x97, 0x40, 0xd2, 0xf9, 0xdf, 0x54, 0xe0, 0x6c, 0xb2, 0x2a, 0x8d, 0xb6, + 0xcd, 0xac, 0xda, 0x0d, 0xbd, 0x5c, 0x76, 0xea, 0xba, 0xa5, 0x57, 0x1c, 0xa3, 0x6a, 0xd5, 0xca, + 0xe5, 0xa4, 0x93, 0xf7, 0x1a, 0x5c, 0x9e, 0x8c, 0x6a, 0x17, 0x2c, 0xb3, 0x4e, 0x0f, 0x17, 0x0d, + 0x2e, 0x4e, 0xc6, 0x32, 0xcc, 0x82, 0xa1, 0xa6, 0xb6, 0x5e, 0x7f, 0xff, 0x9f, 0x2f, 0xce, 0xbc, + 0xff, 0xe1, 0x45, 0xe5, 0x47, 0x1f, 0x5e, 0x54, 0xfe, 0xe9, 0xc3, 0x8b, 0xca, 0x9b, 0xb7, 0x4f, + 0x96, 0xca, 0x09, 0x6f, 0x65, 0x6f, 0xcf, 0xa1, 0x55, 0xd9, 0xcb, 0xff, 0x13, 0x00, 0x00, 0xff, + 0xff, 0x78, 0x4e, 0x87, 0xcf, 0x9e, 0xb1, 0x01, 0x00, } func (this *PluginSpecV1) Equal(that interface{}) bool { @@ -48936,10 +48937,10 @@ func (m *AccessGraphAzureSync) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x22 } - if len(m.UmiClientId) > 0 { - i -= len(m.UmiClientId) - copy(dAtA[i:], m.UmiClientId) - i = encodeVarintTypes(dAtA, i, uint64(len(m.UmiClientId))) + if len(m.UMIClientID) > 0 { + i -= len(m.UMIClientID) + copy(dAtA[i:], m.UMIClientID) + i = encodeVarintTypes(dAtA, i, uint64(len(m.UMIClientID))) i-- dAtA[i] = 0x1a } @@ -59963,12 +59964,6 @@ func (m *AccessGraphSync) Size() (n int) { n += 1 + l + sovTypes(uint64(l)) } } - if len(m.Azure) > 0 { - for _, e := range m.Azure { - l = e.Size() - n += 1 + l + sovTypes(uint64(l)) - } - } l = github_com_gogo_protobuf_types.SizeOfStdDuration(m.PollInterval) n += 1 + l + sovTypes(uint64(l)) if m.XXX_unrecognized != nil { @@ -60019,7 +60014,7 @@ func (m *AccessGraphAzureSync) Size() (n int) { if l > 0 { n += 1 + l + sovTypes(uint64(l)) } - l = len(m.UmiClientId) + l = len(m.UMIClientID) if l > 0 { n += 1 + l + sovTypes(uint64(l)) } @@ -130181,39 +130176,6 @@ func (m *AccessGraphSync) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PollInterval", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(&m.PollInterval, dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Azure", wireType) @@ -130516,7 +130478,7 @@ func (m *AccessGraphAzureSync) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UmiClientId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field UMIClientID", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -130544,7 +130506,7 @@ func (m *AccessGraphAzureSync) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.UmiClientId = string(dAtA[iNdEx:postIndex]) + m.UMIClientID = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { diff --git a/gen/proto/go/accessgraph/v1alpha/azure.pb.go b/gen/proto/go/accessgraph/v1alpha/azure.pb.go index 05154fcf95843..27cfcb074323d 100644 --- a/gen/proto/go/accessgraph/v1alpha/azure.pb.go +++ b/gen/proto/go/accessgraph/v1alpha/azure.pb.go @@ -84,7 +84,7 @@ func (x *AzureResourceList) GetResources() []*AzureResource { return nil } -// AWSResource is a list of AWS resources supported by the access graph. +// AzureResource is a list of Azure resources supported by the access graph. type AzureResource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -96,8 +96,6 @@ type AzureResource struct { // *AzureResource_RoleDefinition // *AzureResource_RoleAssignment // *AzureResource_VirtualMachine - // *AzureResource_ManagedDatabase - // *AzureResource_AksCluster Resource isAzureResource_Resource `protobuf_oneof:"resource"` } @@ -166,20 +164,6 @@ func (x *AzureResource) GetVirtualMachine() *AzureVirtualMachine { return nil } -func (x *AzureResource) GetManagedDatabase() *AzureManagedDatabase { - if x, ok := x.GetResource().(*AzureResource_ManagedDatabase); ok { - return x.ManagedDatabase - } - return nil -} - -func (x *AzureResource) GetAksCluster() *AzureAKSCluster { - if x, ok := x.GetResource().(*AzureResource_AksCluster); ok { - return x.AksCluster - } - return nil -} - type isAzureResource_Resource interface { isAzureResource_Resource() } @@ -200,14 +184,6 @@ type AzureResource_VirtualMachine struct { VirtualMachine *AzureVirtualMachine `protobuf:"bytes,4,opt,name=virtual_machine,json=virtualMachine,proto3,oneof"` } -type AzureResource_ManagedDatabase struct { - ManagedDatabase *AzureManagedDatabase `protobuf:"bytes,5,opt,name=managed_database,json=managedDatabase,proto3,oneof"` -} - -type AzureResource_AksCluster struct { - AksCluster *AzureAKSCluster `protobuf:"bytes,6,opt,name=aks_cluster,json=aksCluster,proto3,oneof"` -} - func (*AzureResource_Principal) isAzureResource_Resource() {} func (*AzureResource_RoleDefinition) isAzureResource_Resource() {} @@ -216,10 +192,6 @@ func (*AzureResource_RoleAssignment) isAzureResource_Resource() {} func (*AzureResource_VirtualMachine) isAzureResource_Resource() {} -func (*AzureResource_ManagedDatabase) isAzureResource_Resource() {} - -func (*AzureResource_AksCluster) isAzureResource_Resource() {} - // AzureVirtualMachine is an Azure virtual machine type AzureVirtualMachine struct { state protoimpl.MessageState @@ -230,6 +202,8 @@ type AzureVirtualMachine struct { SubscriptionId string `protobuf:"bytes,2,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` LastSyncTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_sync_time,json=lastSyncTime,proto3" json:"last_sync_time,omitempty"` Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + ResourceGroup string `protobuf:"bytes,5,opt,name=resource_group,json=resourceGroup,proto3" json:"resource_group,omitempty"` + Tags map[string]string `protobuf:"bytes,6,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *AzureVirtualMachine) Reset() { @@ -290,146 +264,20 @@ func (x *AzureVirtualMachine) GetName() string { return "" } -// AzureManagedDatabase is an Azure-managed Postgres or MySQL database -type AzureManagedDatabase struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - SubscriptionId string `protobuf:"bytes,2,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` - LastSyncTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_sync_time,json=lastSyncTime,proto3" json:"last_sync_time,omitempty"` - Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` -} - -func (x *AzureManagedDatabase) Reset() { - *x = AzureManagedDatabase{} - mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AzureManagedDatabase) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AzureManagedDatabase) ProtoMessage() {} - -func (x *AzureManagedDatabase) ProtoReflect() protoreflect.Message { - mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[3] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AzureManagedDatabase.ProtoReflect.Descriptor instead. -func (*AzureManagedDatabase) Descriptor() ([]byte, []int) { - return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{3} -} - -func (x *AzureManagedDatabase) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *AzureManagedDatabase) GetSubscriptionId() string { - if x != nil { - return x.SubscriptionId - } - return "" -} - -func (x *AzureManagedDatabase) GetLastSyncTime() *timestamppb.Timestamp { - if x != nil { - return x.LastSyncTime - } - return nil -} - -func (x *AzureManagedDatabase) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -// AzureAKSCluster is an AKS cluster -type AzureAKSCluster struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - SubscriptionId string `protobuf:"bytes,2,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` - LastSyncTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_sync_time,json=lastSyncTime,proto3" json:"last_sync_time,omitempty"` - Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` -} - -func (x *AzureAKSCluster) Reset() { - *x = AzureAKSCluster{} - mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AzureAKSCluster) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AzureAKSCluster) ProtoMessage() {} - -func (x *AzureAKSCluster) ProtoReflect() protoreflect.Message { - mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[4] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AzureAKSCluster.ProtoReflect.Descriptor instead. -func (*AzureAKSCluster) Descriptor() ([]byte, []int) { - return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{4} -} - -func (x *AzureAKSCluster) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *AzureAKSCluster) GetSubscriptionId() string { +func (x *AzureVirtualMachine) GetResourceGroup() string { if x != nil { - return x.SubscriptionId + return x.ResourceGroup } return "" } -func (x *AzureAKSCluster) GetLastSyncTime() *timestamppb.Timestamp { +func (x *AzureVirtualMachine) GetTags() map[string]string { if x != nil { - return x.LastSyncTime + return x.Tags } return nil } -func (x *AzureAKSCluster) GetName() string { - if x != nil { - return x.Name - } - return "" -} - // AzurePrincipal is an Azure principal (user, group, service principal) type AzurePrincipal struct { state protoimpl.MessageState @@ -445,7 +293,7 @@ type AzurePrincipal struct { func (x *AzurePrincipal) Reset() { *x = AzurePrincipal{} - mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[5] + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -457,7 +305,7 @@ func (x *AzurePrincipal) String() string { func (*AzurePrincipal) ProtoMessage() {} func (x *AzurePrincipal) ProtoReflect() protoreflect.Message { - mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[5] + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -470,7 +318,7 @@ func (x *AzurePrincipal) ProtoReflect() protoreflect.Message { // Deprecated: Use AzurePrincipal.ProtoReflect.Descriptor instead. func (*AzurePrincipal) Descriptor() ([]byte, []int) { - return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{5} + return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{3} } func (x *AzurePrincipal) GetId() string { @@ -524,7 +372,7 @@ type AzureRoleAssignment struct { func (x *AzureRoleAssignment) Reset() { *x = AzureRoleAssignment{} - mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[6] + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -536,7 +384,7 @@ func (x *AzureRoleAssignment) String() string { func (*AzureRoleAssignment) ProtoMessage() {} func (x *AzureRoleAssignment) ProtoReflect() protoreflect.Message { - mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[6] + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -549,7 +397,7 @@ func (x *AzureRoleAssignment) ProtoReflect() protoreflect.Message { // Deprecated: Use AzureRoleAssignment.ProtoReflect.Descriptor instead. func (*AzureRoleAssignment) Descriptor() ([]byte, []int) { - return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{6} + return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{4} } func (x *AzureRoleAssignment) GetId() string { @@ -600,16 +448,18 @@ type AzureRoleDefinition struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - SubscriptionId string `protobuf:"bytes,2,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` - LastSyncTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_sync_time,json=lastSyncTime,proto3" json:"last_sync_time,omitempty"` - Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` - Permissions []*AzurePermission `protobuf:"bytes,5,rep,name=permissions,proto3" json:"permissions,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + SubscriptionId string `protobuf:"bytes,2,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` + LastSyncTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_sync_time,json=lastSyncTime,proto3" json:"last_sync_time,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + AssignableScopes []string `protobuf:"bytes,6,rep,name=assignable_scopes,json=assignableScopes,proto3" json:"assignable_scopes,omitempty"` + Permissions []*AzureRBACPermission `protobuf:"bytes,7,rep,name=permissions,proto3" json:"permissions,omitempty"` } func (x *AzureRoleDefinition) Reset() { *x = AzureRoleDefinition{} - mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[7] + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -621,7 +471,7 @@ func (x *AzureRoleDefinition) String() string { func (*AzureRoleDefinition) ProtoMessage() {} func (x *AzureRoleDefinition) ProtoReflect() protoreflect.Message { - mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[7] + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -634,7 +484,7 @@ func (x *AzureRoleDefinition) ProtoReflect() protoreflect.Message { // Deprecated: Use AzureRoleDefinition.ProtoReflect.Descriptor instead. func (*AzureRoleDefinition) Descriptor() ([]byte, []int) { - return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{7} + return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{5} } func (x *AzureRoleDefinition) GetId() string { @@ -665,7 +515,21 @@ func (x *AzureRoleDefinition) GetName() string { return "" } -func (x *AzureRoleDefinition) GetPermissions() []*AzurePermission { +func (x *AzureRoleDefinition) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *AzureRoleDefinition) GetAssignableScopes() []string { + if x != nil { + return x.AssignableScopes + } + return nil +} + +func (x *AzureRoleDefinition) GetPermissions() []*AzureRBACPermission { if x != nil { return x.Permissions } @@ -673,7 +537,7 @@ func (x *AzureRoleDefinition) GetPermissions() []*AzurePermission { } // AzurePermission defines the actions and not (disallowed) actions for a role definition -type AzurePermission struct { +type AzureRBACPermission struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -682,21 +546,21 @@ type AzurePermission struct { NotActions []string `protobuf:"bytes,5,rep,name=not_actions,json=notActions,proto3" json:"not_actions,omitempty"` } -func (x *AzurePermission) Reset() { - *x = AzurePermission{} - mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[8] +func (x *AzureRBACPermission) Reset() { + *x = AzureRBACPermission{} + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *AzurePermission) String() string { +func (x *AzureRBACPermission) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AzurePermission) ProtoMessage() {} +func (*AzureRBACPermission) ProtoMessage() {} -func (x *AzurePermission) ProtoReflect() protoreflect.Message { - mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[8] +func (x *AzureRBACPermission) ProtoReflect() protoreflect.Message { + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -707,19 +571,19 @@ func (x *AzurePermission) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AzurePermission.ProtoReflect.Descriptor instead. -func (*AzurePermission) Descriptor() ([]byte, []int) { - return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{8} +// Deprecated: Use AzureRBACPermission.ProtoReflect.Descriptor instead. +func (*AzureRBACPermission) Descriptor() ([]byte, []int) { + return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{6} } -func (x *AzurePermission) GetActions() []string { +func (x *AzureRBACPermission) GetActions() []string { if x != nil { return x.Actions } return nil } -func (x *AzurePermission) GetNotActions() []string { +func (x *AzureRBACPermission) GetNotActions() []string { if x != nil { return x.NotActions } @@ -739,8 +603,8 @@ var file_accessgraph_v1alpha_azure_proto_rawDesc = []byte{ 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x80, - 0x04, 0x0a, 0x0d, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0xdf, + 0x02, 0x0a, 0x0d, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x50, @@ -761,103 +625,88 @@ var file_accessgraph_v1alpha_azure_proto_rawDesc = []byte{ 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x12, 0x56, 0x0a, 0x10, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x64, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0b, - 0x61, 0x6b, 0x73, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x41, 0x4b, 0x53, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x6b, 0x73, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x56, 0x69, 0x72, 0x74, 0x75, - 0x61, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x14, 0x41, 0x7a, 0x75, - 0x72, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, - 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, - 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x22, 0xa0, 0x01, 0x0a, 0x0f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x41, 0x4b, 0x53, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, - 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0xcb, 0x01, 0x0a, 0x0e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x50, 0x72, 0x69, - 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, - 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, - 0x66, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4f, - 0x66, 0x22, 0xf7, 0x01, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x41, - 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, - 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x6e, - 0x63, 0x69, 0x70, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x6f, 0x6c, 0x65, 0x5f, - 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x6f, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0xec, 0x01, 0x0a, 0x13, - 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, - 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, - 0x75, 0x72, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x4c, 0x0a, 0x0f, 0x41, 0x7a, - 0x75, 0x72, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, - 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x5f, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, - 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x57, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x67, 0x65, - 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x68, 0x69, 0x6e, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0xcc, 0x02, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, + 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x46, + 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x4d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 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, 0x22, + 0xcb, 0x01, 0x0a, 0x0e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, + 0x61, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x6c, + 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, + 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x22, 0xf7, 0x01, + 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, + 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x5f, 0x69, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, + 0x6c, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x72, 0x6f, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0xbf, 0x02, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, + 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, + 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, + 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, + 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x4a, 0x0a, + 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x42, + 0x41, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x50, 0x0a, 0x13, 0x41, 0x7a, 0x75, + 0x72, 0x65, 0x52, 0x42, 0x41, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, + 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0a, 0x6e, 0x6f, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x57, 0x5a, 0x55, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x3b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -872,39 +721,35 @@ func file_accessgraph_v1alpha_azure_proto_rawDescGZIP() []byte { return file_accessgraph_v1alpha_azure_proto_rawDescData } -var file_accessgraph_v1alpha_azure_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_accessgraph_v1alpha_azure_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_accessgraph_v1alpha_azure_proto_goTypes = []any{ (*AzureResourceList)(nil), // 0: accessgraph.v1alpha.AzureResourceList (*AzureResource)(nil), // 1: accessgraph.v1alpha.AzureResource (*AzureVirtualMachine)(nil), // 2: accessgraph.v1alpha.AzureVirtualMachine - (*AzureManagedDatabase)(nil), // 3: accessgraph.v1alpha.AzureManagedDatabase - (*AzureAKSCluster)(nil), // 4: accessgraph.v1alpha.AzureAKSCluster - (*AzurePrincipal)(nil), // 5: accessgraph.v1alpha.AzurePrincipal - (*AzureRoleAssignment)(nil), // 6: accessgraph.v1alpha.AzureRoleAssignment - (*AzureRoleDefinition)(nil), // 7: accessgraph.v1alpha.AzureRoleDefinition - (*AzurePermission)(nil), // 8: accessgraph.v1alpha.AzurePermission - (*timestamppb.Timestamp)(nil), // 9: google.protobuf.Timestamp + (*AzurePrincipal)(nil), // 3: accessgraph.v1alpha.AzurePrincipal + (*AzureRoleAssignment)(nil), // 4: accessgraph.v1alpha.AzureRoleAssignment + (*AzureRoleDefinition)(nil), // 5: accessgraph.v1alpha.AzureRoleDefinition + (*AzureRBACPermission)(nil), // 6: accessgraph.v1alpha.AzureRBACPermission + nil, // 7: accessgraph.v1alpha.AzureVirtualMachine.TagsEntry + (*timestamppb.Timestamp)(nil), // 8: google.protobuf.Timestamp } var file_accessgraph_v1alpha_azure_proto_depIdxs = []int32{ 1, // 0: accessgraph.v1alpha.AzureResourceList.resources:type_name -> accessgraph.v1alpha.AzureResource - 5, // 1: accessgraph.v1alpha.AzureResource.principal:type_name -> accessgraph.v1alpha.AzurePrincipal - 7, // 2: accessgraph.v1alpha.AzureResource.role_definition:type_name -> accessgraph.v1alpha.AzureRoleDefinition - 6, // 3: accessgraph.v1alpha.AzureResource.role_assignment:type_name -> accessgraph.v1alpha.AzureRoleAssignment + 3, // 1: accessgraph.v1alpha.AzureResource.principal:type_name -> accessgraph.v1alpha.AzurePrincipal + 5, // 2: accessgraph.v1alpha.AzureResource.role_definition:type_name -> accessgraph.v1alpha.AzureRoleDefinition + 4, // 3: accessgraph.v1alpha.AzureResource.role_assignment:type_name -> accessgraph.v1alpha.AzureRoleAssignment 2, // 4: accessgraph.v1alpha.AzureResource.virtual_machine:type_name -> accessgraph.v1alpha.AzureVirtualMachine - 3, // 5: accessgraph.v1alpha.AzureResource.managed_database:type_name -> accessgraph.v1alpha.AzureManagedDatabase - 4, // 6: accessgraph.v1alpha.AzureResource.aks_cluster:type_name -> accessgraph.v1alpha.AzureAKSCluster - 9, // 7: accessgraph.v1alpha.AzureVirtualMachine.last_sync_time:type_name -> google.protobuf.Timestamp - 9, // 8: accessgraph.v1alpha.AzureManagedDatabase.last_sync_time:type_name -> google.protobuf.Timestamp - 9, // 9: accessgraph.v1alpha.AzureAKSCluster.last_sync_time:type_name -> google.protobuf.Timestamp - 9, // 10: accessgraph.v1alpha.AzurePrincipal.last_sync_time:type_name -> google.protobuf.Timestamp - 9, // 11: accessgraph.v1alpha.AzureRoleAssignment.last_sync_time:type_name -> google.protobuf.Timestamp - 9, // 12: accessgraph.v1alpha.AzureRoleDefinition.last_sync_time:type_name -> google.protobuf.Timestamp - 8, // 13: accessgraph.v1alpha.AzureRoleDefinition.permissions:type_name -> accessgraph.v1alpha.AzurePermission - 14, // [14:14] is the sub-list for method output_type - 14, // [14:14] is the sub-list for method input_type - 14, // [14:14] is the sub-list for extension type_name - 14, // [14:14] is the sub-list for extension extendee - 0, // [0:14] is the sub-list for field type_name + 8, // 5: accessgraph.v1alpha.AzureVirtualMachine.last_sync_time:type_name -> google.protobuf.Timestamp + 7, // 6: accessgraph.v1alpha.AzureVirtualMachine.tags:type_name -> accessgraph.v1alpha.AzureVirtualMachine.TagsEntry + 8, // 7: accessgraph.v1alpha.AzurePrincipal.last_sync_time:type_name -> google.protobuf.Timestamp + 8, // 8: accessgraph.v1alpha.AzureRoleAssignment.last_sync_time:type_name -> google.protobuf.Timestamp + 8, // 9: accessgraph.v1alpha.AzureRoleDefinition.last_sync_time:type_name -> google.protobuf.Timestamp + 6, // 10: accessgraph.v1alpha.AzureRoleDefinition.permissions:type_name -> accessgraph.v1alpha.AzureRBACPermission + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name } func init() { file_accessgraph_v1alpha_azure_proto_init() } @@ -917,8 +762,6 @@ func file_accessgraph_v1alpha_azure_proto_init() { (*AzureResource_RoleDefinition)(nil), (*AzureResource_RoleAssignment)(nil), (*AzureResource_VirtualMachine)(nil), - (*AzureResource_ManagedDatabase)(nil), - (*AzureResource_AksCluster)(nil), } type x struct{} out := protoimpl.TypeBuilder{ @@ -926,7 +769,7 @@ func file_accessgraph_v1alpha_azure_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_accessgraph_v1alpha_azure_proto_rawDesc, NumEnums: 0, - NumMessages: 9, + NumMessages: 8, NumExtensions: 0, NumServices: 0, }, diff --git a/proto/accessgraph/v1alpha/azure.proto b/proto/accessgraph/v1alpha/azure.proto index fdaa6c5a08936..cc359febcc9dc 100644 --- a/proto/accessgraph/v1alpha/azure.proto +++ b/proto/accessgraph/v1alpha/azure.proto @@ -47,7 +47,6 @@ message AzureVirtualMachine { map tags = 6; } - // AzurePrincipal is an Azure principal (user, group, service principal) message AzurePrincipal { string id = 1; @@ -73,7 +72,9 @@ message AzureRoleDefinition { string subscription_id = 2; google.protobuf.Timestamp last_sync_time = 3; string name = 4; - repeated AzureRBACPermission permissions = 5; + string description = 5; + repeated string assignable_scopes = 6; + repeated AzureRBACPermission permissions = 7; } // AzurePermission defines the actions and not (disallowed) actions for a role definition From 2ebad31fa432d34c262bbf37b47e9a9ff35b8f1c Mon Sep 17 00:00:00 2001 From: Matt Brock Date: Fri, 8 Nov 2024 15:36:59 -0600 Subject: [PATCH 08/21] Make derive --- api/types/discoveryconfig/derived.gen.go | 109 +++++++++-------------- 1 file changed, 41 insertions(+), 68 deletions(-) diff --git a/api/types/discoveryconfig/derived.gen.go b/api/types/discoveryconfig/derived.gen.go index c10fbf8b83f1c..f92f2f40ba9c9 100644 --- a/api/types/discoveryconfig/derived.gen.go +++ b/api/types/discoveryconfig/derived.gen.go @@ -116,8 +116,7 @@ func deriveTeleportEqual_5(this, that []types.KubernetesMatcher) bool { func deriveTeleportEqual_6(this, that *types.AccessGraphSync) bool { return (this == nil && that == nil) || this != nil && that != nil && - deriveTeleportEqual_12(this.AWS, that.AWS) && - this.PollInterval == that.PollInterval + deriveTeleportEqual_12(this.AWS, that.AWS) } // deriveTeleportEqual_7 returns whether this and that are equal. @@ -144,12 +143,12 @@ func deriveTeleportEqual_7(this, that map[string]string) bool { func deriveTeleportEqual_8(this, that *types.AWSMatcher) bool { return (this == nil && that == nil) || this != nil && that != nil && - deriveTeleportEqual_14(this.Types, that.Types) && - deriveTeleportEqual_14(this.Regions, that.Regions) && - deriveTeleportEqual_15(this.AssumeRole, that.AssumeRole) && - deriveTeleportEqual_16(this.Tags, that.Tags) && - deriveTeleportEqual_17(this.Params, that.Params) && - deriveTeleportEqual_18(this.SSM, that.SSM) && + deriveTeleportEqual_13(this.Types, that.Types) && + deriveTeleportEqual_13(this.Regions, that.Regions) && + deriveTeleportEqual_14(this.AssumeRole, that.AssumeRole) && + deriveTeleportEqual_15(this.Tags, that.Tags) && + deriveTeleportEqual_16(this.Params, that.Params) && + deriveTeleportEqual_17(this.SSM, that.SSM) && this.Integration == that.Integration && this.KubeAppDiscovery == that.KubeAppDiscovery && this.SetupAccessForARN == that.SetupAccessForARN @@ -159,34 +158,34 @@ func deriveTeleportEqual_8(this, that *types.AWSMatcher) bool { func deriveTeleportEqual_9(this, that *types.AzureMatcher) bool { return (this == nil && that == nil) || this != nil && that != nil && - deriveTeleportEqual_14(this.Subscriptions, that.Subscriptions) && - deriveTeleportEqual_14(this.ResourceGroups, that.ResourceGroups) && - deriveTeleportEqual_14(this.Types, that.Types) && - deriveTeleportEqual_14(this.Regions, that.Regions) && - deriveTeleportEqual_16(this.ResourceTags, that.ResourceTags) && - deriveTeleportEqual_17(this.Params, that.Params) + deriveTeleportEqual_13(this.Subscriptions, that.Subscriptions) && + deriveTeleportEqual_13(this.ResourceGroups, that.ResourceGroups) && + deriveTeleportEqual_13(this.Types, that.Types) && + deriveTeleportEqual_13(this.Regions, that.Regions) && + deriveTeleportEqual_15(this.ResourceTags, that.ResourceTags) && + deriveTeleportEqual_16(this.Params, that.Params) } // deriveTeleportEqual_10 returns whether this and that are equal. func deriveTeleportEqual_10(this, that *types.GCPMatcher) bool { return (this == nil && that == nil) || this != nil && that != nil && - deriveTeleportEqual_14(this.Types, that.Types) && - deriveTeleportEqual_14(this.Locations, that.Locations) && - deriveTeleportEqual_16(this.Tags, that.Tags) && - deriveTeleportEqual_14(this.ProjectIDs, that.ProjectIDs) && - deriveTeleportEqual_14(this.ServiceAccounts, that.ServiceAccounts) && - deriveTeleportEqual_17(this.Params, that.Params) && - deriveTeleportEqual_16(this.Labels, that.Labels) + deriveTeleportEqual_13(this.Types, that.Types) && + deriveTeleportEqual_13(this.Locations, that.Locations) && + deriveTeleportEqual_15(this.Tags, that.Tags) && + deriveTeleportEqual_13(this.ProjectIDs, that.ProjectIDs) && + deriveTeleportEqual_13(this.ServiceAccounts, that.ServiceAccounts) && + deriveTeleportEqual_16(this.Params, that.Params) && + deriveTeleportEqual_15(this.Labels, that.Labels) } // deriveTeleportEqual_11 returns whether this and that are equal. func deriveTeleportEqual_11(this, that *types.KubernetesMatcher) bool { return (this == nil && that == nil) || this != nil && that != nil && - deriveTeleportEqual_14(this.Types, that.Types) && - deriveTeleportEqual_14(this.Namespaces, that.Namespaces) && - deriveTeleportEqual_16(this.Labels, that.Labels) + deriveTeleportEqual_13(this.Types, that.Types) && + deriveTeleportEqual_13(this.Namespaces, that.Namespaces) && + deriveTeleportEqual_15(this.Labels, that.Labels) } // deriveTeleportEqual_12 returns whether this and that are equal. @@ -198,7 +197,7 @@ func deriveTeleportEqual_12(this, that []*types.AccessGraphAWSSync) bool { return false } for i := 0; i < len(this); i++ { - if !(deriveTeleportEqual_19(this[i], that[i])) { + if !(deriveTeleportEqual_18(this[i], that[i])) { return false } } @@ -206,23 +205,7 @@ func deriveTeleportEqual_12(this, that []*types.AccessGraphAWSSync) bool { } // deriveTeleportEqual_13 returns whether this and that are equal. -func deriveTeleportEqual_13(this, that []*types.AccessGraphAzureSync) bool { - if this == nil || that == nil { - return this == nil && that == nil - } - if len(this) != len(that) { - return false - } - for i := 0; i < len(this); i++ { - if !(deriveTeleportEqual_20(this[i], that[i])) { - return false - } - } - return true -} - -// deriveTeleportEqual_14 returns whether this and that are equal. -func deriveTeleportEqual_14(this, that []string) bool { +func deriveTeleportEqual_13(this, that []string) bool { if this == nil || that == nil { return this == nil && that == nil } @@ -237,16 +220,16 @@ func deriveTeleportEqual_14(this, that []string) bool { return true } -// deriveTeleportEqual_15 returns whether this and that are equal. -func deriveTeleportEqual_15(this, that *types.AssumeRole) bool { +// deriveTeleportEqual_14 returns whether this and that are equal. +func deriveTeleportEqual_14(this, that *types.AssumeRole) bool { return (this == nil && that == nil) || this != nil && that != nil && this.RoleARN == that.RoleARN && this.ExternalID == that.ExternalID } -// deriveTeleportEqual_16 returns whether this and that are equal. -func deriveTeleportEqual_16(this, that map[string]utils.Strings) bool { +// deriveTeleportEqual_15 returns whether this and that are equal. +func deriveTeleportEqual_15(this, that map[string]utils.Strings) bool { if this == nil || that == nil { return this == nil && that == nil } @@ -258,15 +241,15 @@ func deriveTeleportEqual_16(this, that map[string]utils.Strings) bool { if !ok { return false } - if !(deriveTeleportEqual_14(v, thatv)) { + if !(deriveTeleportEqual_13(v, thatv)) { return false } } return true } -// deriveTeleportEqual_17 returns whether this and that are equal. -func deriveTeleportEqual_17(this, that *types.InstallerParams) bool { +// deriveTeleportEqual_16 returns whether this and that are equal. +func deriveTeleportEqual_16(this, that *types.InstallerParams) bool { return (this == nil && that == nil) || this != nil && that != nil && this.JoinMethod == that.JoinMethod && @@ -275,38 +258,28 @@ func deriveTeleportEqual_17(this, that *types.InstallerParams) bool { this.InstallTeleport == that.InstallTeleport && this.SSHDConfig == that.SSHDConfig && this.PublicProxyAddr == that.PublicProxyAddr && - deriveTeleportEqual_21(this.Azure, that.Azure) && + deriveTeleportEqual_19(this.Azure, that.Azure) && this.EnrollMode == that.EnrollMode } -// deriveTeleportEqual_18 returns whether this and that are equal. -func deriveTeleportEqual_18(this, that *types.AWSSSM) bool { +// deriveTeleportEqual_17 returns whether this and that are equal. +func deriveTeleportEqual_17(this, that *types.AWSSSM) bool { return (this == nil && that == nil) || this != nil && that != nil && this.DocumentName == that.DocumentName } -// deriveTeleportEqual_19 returns whether this and that are equal. -func deriveTeleportEqual_19(this, that *types.AccessGraphAWSSync) bool { - return (this == nil && that == nil) || - this != nil && that != nil && - deriveTeleportEqual_14(this.Regions, that.Regions) && - deriveTeleportEqual_15(this.AssumeRole, that.AssumeRole) && - this.Integration == that.Integration -} - -// deriveTeleportEqual_20 returns whether this and that are equal. -func deriveTeleportEqual_20(this, that *types.AccessGraphAzureSync) bool { +// deriveTeleportEqual_18 returns whether this and that are equal. +func deriveTeleportEqual_18(this, that *types.AccessGraphAWSSync) bool { return (this == nil && that == nil) || this != nil && that != nil && - deriveTeleportEqual_14(this.Regions, that.Regions) && - this.SubscriptionID == that.SubscriptionID && - this.UmiClientId == that.UmiClientId && + deriveTeleportEqual_13(this.Regions, that.Regions) && + deriveTeleportEqual_14(this.AssumeRole, that.AssumeRole) && this.Integration == that.Integration } -// deriveTeleportEqual_21 returns whether this and that are equal. -func deriveTeleportEqual_21(this, that *types.AzureInstallerParams) bool { +// deriveTeleportEqual_19 returns whether this and that are equal. +func deriveTeleportEqual_19(this, that *types.AzureInstallerParams) bool { return (this == nil && that == nil) || this != nil && that != nil && this.ClientID == that.ClientID From 26033454797dfaa6f907e5a6dc241d2fea59c92c Mon Sep 17 00:00:00 2001 From: Matt Brock Date: Wed, 13 Nov 2024 14:21:33 -0600 Subject: [PATCH 09/21] Adding identities field to principals, condition to role assignments, and role name to role definitions --- gen/proto/go/accessgraph/v1alpha/azure.pb.go | 305 +++++++++++++------ proto/accessgraph/v1alpha/azure.proto | 18 +- 2 files changed, 230 insertions(+), 93 deletions(-) diff --git a/gen/proto/go/accessgraph/v1alpha/azure.pb.go b/gen/proto/go/accessgraph/v1alpha/azure.pb.go index 27cfcb074323d..249e48b7d203a 100644 --- a/gen/proto/go/accessgraph/v1alpha/azure.pb.go +++ b/gen/proto/go/accessgraph/v1alpha/azure.pb.go @@ -278,7 +278,69 @@ func (x *AzureVirtualMachine) GetTags() map[string]string { return nil } -// AzurePrincipal is an Azure principal (user, group, service principal) +// AzureIdentity is a Graph API object identity +type AzureIdentity struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SignInType string `protobuf:"bytes,1,opt,name=sign_in_type,json=signInType,proto3" json:"sign_in_type,omitempty"` + Issuer string `protobuf:"bytes,2,opt,name=issuer,proto3" json:"issuer,omitempty"` + IssuerAssignedId string `protobuf:"bytes,3,opt,name=issuer_assigned_id,json=issuerAssignedId,proto3" json:"issuer_assigned_id,omitempty"` +} + +func (x *AzureIdentity) Reset() { + *x = AzureIdentity{} + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AzureIdentity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AzureIdentity) ProtoMessage() {} + +func (x *AzureIdentity) ProtoReflect() protoreflect.Message { + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AzureIdentity.ProtoReflect.Descriptor instead. +func (*AzureIdentity) Descriptor() ([]byte, []int) { + return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{3} +} + +func (x *AzureIdentity) GetSignInType() string { + if x != nil { + return x.SignInType + } + return "" +} + +func (x *AzureIdentity) GetIssuer() string { + if x != nil { + return x.Issuer + } + return "" +} + +func (x *AzureIdentity) GetIssuerAssignedId() string { + if x != nil { + return x.IssuerAssignedId + } + return "" +} + +// AzurePrincipal is a Graph API principal (user, group, service principal) type AzurePrincipal struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -289,11 +351,12 @@ type AzurePrincipal struct { LastSyncTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_sync_time,json=lastSyncTime,proto3" json:"last_sync_time,omitempty"` DisplayName string `protobuf:"bytes,4,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` MemberOf []string `protobuf:"bytes,5,rep,name=member_of,json=memberOf,proto3" json:"member_of,omitempty"` + Identities []*AzureIdentity `protobuf:"bytes,6,rep,name=identities,proto3" json:"identities,omitempty"` } func (x *AzurePrincipal) Reset() { *x = AzurePrincipal{} - mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[3] + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -305,7 +368,7 @@ func (x *AzurePrincipal) String() string { func (*AzurePrincipal) ProtoMessage() {} func (x *AzurePrincipal) ProtoReflect() protoreflect.Message { - mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[3] + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -318,7 +381,7 @@ func (x *AzurePrincipal) ProtoReflect() protoreflect.Message { // Deprecated: Use AzurePrincipal.ProtoReflect.Descriptor instead. func (*AzurePrincipal) Descriptor() ([]byte, []int) { - return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{3} + return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{4} } func (x *AzurePrincipal) GetId() string { @@ -356,6 +419,13 @@ func (x *AzurePrincipal) GetMemberOf() []string { return nil } +func (x *AzurePrincipal) GetIdentities() []*AzureIdentity { + if x != nil { + return x.Identities + } + return nil +} + // AzureRoleAssignment links an Azure principal to a role definition with a scope type AzureRoleAssignment struct { state protoimpl.MessageState @@ -368,11 +438,12 @@ type AzureRoleAssignment struct { PrincipalId string `protobuf:"bytes,4,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` RoleDefinitionId string `protobuf:"bytes,5,opt,name=role_definition_id,json=roleDefinitionId,proto3" json:"role_definition_id,omitempty"` Scope string `protobuf:"bytes,6,opt,name=scope,proto3" json:"scope,omitempty"` + Condition string `protobuf:"bytes,7,opt,name=condition,proto3" json:"condition,omitempty"` } func (x *AzureRoleAssignment) Reset() { *x = AzureRoleAssignment{} - mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[4] + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -384,7 +455,7 @@ func (x *AzureRoleAssignment) String() string { func (*AzureRoleAssignment) ProtoMessage() {} func (x *AzureRoleAssignment) ProtoReflect() protoreflect.Message { - mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[4] + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -397,7 +468,7 @@ func (x *AzureRoleAssignment) ProtoReflect() protoreflect.Message { // Deprecated: Use AzureRoleAssignment.ProtoReflect.Descriptor instead. func (*AzureRoleAssignment) Descriptor() ([]byte, []int) { - return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{4} + return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{5} } func (x *AzureRoleAssignment) GetId() string { @@ -442,6 +513,13 @@ func (x *AzureRoleAssignment) GetScope() string { return "" } +func (x *AzureRoleAssignment) GetCondition() string { + if x != nil { + return x.Condition + } + return "" +} + // AzureRoleDefinition defines a role by its permissions type AzureRoleDefinition struct { state protoimpl.MessageState @@ -455,11 +533,12 @@ type AzureRoleDefinition struct { Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` AssignableScopes []string `protobuf:"bytes,6,rep,name=assignable_scopes,json=assignableScopes,proto3" json:"assignable_scopes,omitempty"` Permissions []*AzureRBACPermission `protobuf:"bytes,7,rep,name=permissions,proto3" json:"permissions,omitempty"` + RoleName string `protobuf:"bytes,8,opt,name=role_name,json=roleName,proto3" json:"role_name,omitempty"` } func (x *AzureRoleDefinition) Reset() { *x = AzureRoleDefinition{} - mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[5] + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -471,7 +550,7 @@ func (x *AzureRoleDefinition) String() string { func (*AzureRoleDefinition) ProtoMessage() {} func (x *AzureRoleDefinition) ProtoReflect() protoreflect.Message { - mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[5] + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -484,7 +563,7 @@ func (x *AzureRoleDefinition) ProtoReflect() protoreflect.Message { // Deprecated: Use AzureRoleDefinition.ProtoReflect.Descriptor instead. func (*AzureRoleDefinition) Descriptor() ([]byte, []int) { - return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{5} + return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{6} } func (x *AzureRoleDefinition) GetId() string { @@ -536,19 +615,28 @@ func (x *AzureRoleDefinition) GetPermissions() []*AzureRBACPermission { return nil } +func (x *AzureRoleDefinition) GetRoleName() string { + if x != nil { + return x.RoleName + } + return "" +} + // AzurePermission defines the actions and not (disallowed) actions for a role definition type AzureRBACPermission struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Actions []string `protobuf:"bytes,4,rep,name=actions,proto3" json:"actions,omitempty"` - NotActions []string `protobuf:"bytes,5,rep,name=not_actions,json=notActions,proto3" json:"not_actions,omitempty"` + Actions []string `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"` + NotActions []string `protobuf:"bytes,2,rep,name=not_actions,json=notActions,proto3" json:"not_actions,omitempty"` + DataActions []string `protobuf:"bytes,3,rep,name=data_actions,json=dataActions,proto3" json:"data_actions,omitempty"` + NotDataActions []string `protobuf:"bytes,4,rep,name=not_data_actions,json=notDataActions,proto3" json:"not_data_actions,omitempty"` } func (x *AzureRBACPermission) Reset() { *x = AzureRBACPermission{} - mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[6] + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -560,7 +648,7 @@ func (x *AzureRBACPermission) String() string { func (*AzureRBACPermission) ProtoMessage() {} func (x *AzureRBACPermission) ProtoReflect() protoreflect.Message { - mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[6] + mi := &file_accessgraph_v1alpha_azure_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -573,7 +661,7 @@ func (x *AzureRBACPermission) ProtoReflect() protoreflect.Message { // Deprecated: Use AzureRBACPermission.ProtoReflect.Descriptor instead. func (*AzureRBACPermission) Descriptor() ([]byte, []int) { - return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{6} + return file_accessgraph_v1alpha_azure_proto_rawDescGZIP(), []int{7} } func (x *AzureRBACPermission) GetActions() []string { @@ -590,6 +678,20 @@ func (x *AzureRBACPermission) GetNotActions() []string { return nil } +func (x *AzureRBACPermission) GetDataActions() []string { + if x != nil { + return x.DataActions + } + return nil +} + +func (x *AzureRBACPermission) GetNotDataActions() []string { + if x != nil { + return x.NotDataActions + } + return nil +} + var File_accessgraph_v1alpha_azure_proto protoreflect.FileDescriptor var file_accessgraph_v1alpha_azure_proto_rawDesc = []byte{ @@ -647,8 +749,33 @@ var file_accessgraph_v1alpha_azure_proto_rawDesc = []byte{ 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, 0x22, - 0xcb, 0x01, 0x0a, 0x0e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, - 0x61, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x77, 0x0a, 0x0d, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, + 0x73, 0x75, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x41, 0x73, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x49, 0x64, 0x22, 0x8f, 0x02, 0x0a, 0x0e, 0x41, 0x7a, 0x75, + 0x72, 0x65, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, + 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, + 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x12, 0x42, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0a, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x95, 0x02, 0x0a, 0x13, 0x41, + 0x7a, 0x75, 0x72, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x6c, @@ -656,57 +783,53 @@ var file_accessgraph_v1alpha_azure_proto_rawDesc = []byte{ 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, - 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x22, 0xf7, 0x01, - 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, - 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, - 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x5f, 0x69, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, - 0x6c, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x10, 0x72, 0x6f, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0xbf, 0x02, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, - 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, - 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, - 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, - 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x73, 0x73, - 0x69, 0x67, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x4a, 0x0a, - 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x42, - 0x41, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x50, 0x0a, 0x13, 0x41, 0x7a, 0x75, - 0x72, 0x65, 0x52, 0x42, 0x41, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, - 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0a, 0x6e, 0x6f, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x57, 0x5a, 0x55, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x3b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x0c, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x49, 0x64, + 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x6f, + 0x6c, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, + 0x63, 0x6f, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xdc, 0x02, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x6f, 0x6c, 0x65, + 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, + 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x61, + 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x42, 0x41, 0x43, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x22, 0x9d, 0x01, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x42, 0x41, 0x43, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x6f, 0x74, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x44, 0x61, 0x74, 0x61, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x42, 0x57, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, + 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -721,35 +844,37 @@ func file_accessgraph_v1alpha_azure_proto_rawDescGZIP() []byte { return file_accessgraph_v1alpha_azure_proto_rawDescData } -var file_accessgraph_v1alpha_azure_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_accessgraph_v1alpha_azure_proto_msgTypes = make([]protoimpl.MessageInfo, 9) var file_accessgraph_v1alpha_azure_proto_goTypes = []any{ (*AzureResourceList)(nil), // 0: accessgraph.v1alpha.AzureResourceList (*AzureResource)(nil), // 1: accessgraph.v1alpha.AzureResource (*AzureVirtualMachine)(nil), // 2: accessgraph.v1alpha.AzureVirtualMachine - (*AzurePrincipal)(nil), // 3: accessgraph.v1alpha.AzurePrincipal - (*AzureRoleAssignment)(nil), // 4: accessgraph.v1alpha.AzureRoleAssignment - (*AzureRoleDefinition)(nil), // 5: accessgraph.v1alpha.AzureRoleDefinition - (*AzureRBACPermission)(nil), // 6: accessgraph.v1alpha.AzureRBACPermission - nil, // 7: accessgraph.v1alpha.AzureVirtualMachine.TagsEntry - (*timestamppb.Timestamp)(nil), // 8: google.protobuf.Timestamp + (*AzureIdentity)(nil), // 3: accessgraph.v1alpha.AzureIdentity + (*AzurePrincipal)(nil), // 4: accessgraph.v1alpha.AzurePrincipal + (*AzureRoleAssignment)(nil), // 5: accessgraph.v1alpha.AzureRoleAssignment + (*AzureRoleDefinition)(nil), // 6: accessgraph.v1alpha.AzureRoleDefinition + (*AzureRBACPermission)(nil), // 7: accessgraph.v1alpha.AzureRBACPermission + nil, // 8: accessgraph.v1alpha.AzureVirtualMachine.TagsEntry + (*timestamppb.Timestamp)(nil), // 9: google.protobuf.Timestamp } var file_accessgraph_v1alpha_azure_proto_depIdxs = []int32{ 1, // 0: accessgraph.v1alpha.AzureResourceList.resources:type_name -> accessgraph.v1alpha.AzureResource - 3, // 1: accessgraph.v1alpha.AzureResource.principal:type_name -> accessgraph.v1alpha.AzurePrincipal - 5, // 2: accessgraph.v1alpha.AzureResource.role_definition:type_name -> accessgraph.v1alpha.AzureRoleDefinition - 4, // 3: accessgraph.v1alpha.AzureResource.role_assignment:type_name -> accessgraph.v1alpha.AzureRoleAssignment + 4, // 1: accessgraph.v1alpha.AzureResource.principal:type_name -> accessgraph.v1alpha.AzurePrincipal + 6, // 2: accessgraph.v1alpha.AzureResource.role_definition:type_name -> accessgraph.v1alpha.AzureRoleDefinition + 5, // 3: accessgraph.v1alpha.AzureResource.role_assignment:type_name -> accessgraph.v1alpha.AzureRoleAssignment 2, // 4: accessgraph.v1alpha.AzureResource.virtual_machine:type_name -> accessgraph.v1alpha.AzureVirtualMachine - 8, // 5: accessgraph.v1alpha.AzureVirtualMachine.last_sync_time:type_name -> google.protobuf.Timestamp - 7, // 6: accessgraph.v1alpha.AzureVirtualMachine.tags:type_name -> accessgraph.v1alpha.AzureVirtualMachine.TagsEntry - 8, // 7: accessgraph.v1alpha.AzurePrincipal.last_sync_time:type_name -> google.protobuf.Timestamp - 8, // 8: accessgraph.v1alpha.AzureRoleAssignment.last_sync_time:type_name -> google.protobuf.Timestamp - 8, // 9: accessgraph.v1alpha.AzureRoleDefinition.last_sync_time:type_name -> google.protobuf.Timestamp - 6, // 10: accessgraph.v1alpha.AzureRoleDefinition.permissions:type_name -> accessgraph.v1alpha.AzureRBACPermission - 11, // [11:11] is the sub-list for method output_type - 11, // [11:11] is the sub-list for method input_type - 11, // [11:11] is the sub-list for extension type_name - 11, // [11:11] is the sub-list for extension extendee - 0, // [0:11] is the sub-list for field type_name + 9, // 5: accessgraph.v1alpha.AzureVirtualMachine.last_sync_time:type_name -> google.protobuf.Timestamp + 8, // 6: accessgraph.v1alpha.AzureVirtualMachine.tags:type_name -> accessgraph.v1alpha.AzureVirtualMachine.TagsEntry + 9, // 7: accessgraph.v1alpha.AzurePrincipal.last_sync_time:type_name -> google.protobuf.Timestamp + 3, // 8: accessgraph.v1alpha.AzurePrincipal.identities:type_name -> accessgraph.v1alpha.AzureIdentity + 9, // 9: accessgraph.v1alpha.AzureRoleAssignment.last_sync_time:type_name -> google.protobuf.Timestamp + 9, // 10: accessgraph.v1alpha.AzureRoleDefinition.last_sync_time:type_name -> google.protobuf.Timestamp + 7, // 11: accessgraph.v1alpha.AzureRoleDefinition.permissions:type_name -> accessgraph.v1alpha.AzureRBACPermission + 12, // [12:12] is the sub-list for method output_type + 12, // [12:12] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name } func init() { file_accessgraph_v1alpha_azure_proto_init() } @@ -769,7 +894,7 @@ func file_accessgraph_v1alpha_azure_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_accessgraph_v1alpha_azure_proto_rawDesc, NumEnums: 0, - NumMessages: 8, + NumMessages: 9, NumExtensions: 0, NumServices: 0, }, diff --git a/proto/accessgraph/v1alpha/azure.proto b/proto/accessgraph/v1alpha/azure.proto index cc359febcc9dc..946da5e34c0bb 100644 --- a/proto/accessgraph/v1alpha/azure.proto +++ b/proto/accessgraph/v1alpha/azure.proto @@ -47,13 +47,21 @@ message AzureVirtualMachine { map tags = 6; } -// AzurePrincipal is an Azure principal (user, group, service principal) +// AzureIdentity is a Graph API object identity +message AzureIdentity { + string sign_in_type = 1; + string issuer = 2; + string issuer_assigned_id = 3; +} + +// AzurePrincipal is a Graph API principal (user, group, service principal) message AzurePrincipal { string id = 1; string subscription_id = 2; google.protobuf.Timestamp last_sync_time = 3; string display_name = 4; repeated string member_of = 5; + repeated AzureIdentity identities = 6; } // AzureRoleAssignment links an Azure principal to a role definition with a scope @@ -64,6 +72,7 @@ message AzureRoleAssignment { string principal_id = 4; string role_definition_id = 5; string scope = 6; + string condition = 7; } // AzureRoleDefinition defines a role by its permissions @@ -75,10 +84,13 @@ message AzureRoleDefinition { string description = 5; repeated string assignable_scopes = 6; repeated AzureRBACPermission permissions = 7; + string role_name = 8; } // AzurePermission defines the actions and not (disallowed) actions for a role definition message AzureRBACPermission { - repeated string actions = 4; - repeated string not_actions = 5; + repeated string actions = 1; + repeated string not_actions = 2; + repeated string data_actions = 3; + repeated string not_data_actions = 4; } From 9e17af79b3737ea4e5b3124c18f63e899f96aee5 Mon Sep 17 00:00:00 2001 From: Matt Brock Date: Wed, 13 Nov 2024 14:30:44 -0600 Subject: [PATCH 10/21] Rebase conflicts --- api/proto/teleport/legacy/types/types.proto | 13 +- api/types/types.pb.go | 827 ++++++++++---------- 2 files changed, 400 insertions(+), 440 deletions(-) diff --git a/api/proto/teleport/legacy/types/types.proto b/api/proto/teleport/legacy/types/types.proto index 68a5b5d1c4b80..d5aed51783941 100644 --- a/api/proto/teleport/legacy/types/types.proto +++ b/api/proto/teleport/legacy/types/types.proto @@ -6498,11 +6498,6 @@ message PluginEntraIDSyncSettings { // This field is populated on a best-effort basis for legacy plugins but mandatory for plugins created after its introduction. // For existing plugins, it is filled in using the Entra integration when utilized. string tenant_id = 4; - - // entra_app_id refers to the Entra Application ID that supports the SSO for "sso_connector_id". - // This field is populated on a best-effort basis for legacy plugins but mandatory for plugins created after its introduction. - // For existing plugins, it is filled in using the entity descriptor url when utilized. - string entra_app_id = 5; } // EntraIDCredentialsSource defines the credentials source for Entra ID. @@ -7797,12 +7792,6 @@ message AccessGraphSync { repeated AccessGraphAWSSync AWS = 1 [(gogoproto.jsontag) = "aws,omitempty"]; // Azure is a configuration for the Azure Access Graph service poll service. repeated AccessGraphAzureSync Azure = 2 [(gogoproto.jsontag) = "azure,omitempty"]; - // PollInterval is the frequency at which to poll for AWS resources - google.protobuf.Duration PollInterval = 2 [ - (gogoproto.jsontag) = "poll_interval,omitempty", - (gogoproto.nullable) = false, - (gogoproto.stdduration) = true - ]; } // AccessGraphAWSSync is a configuration for AWS Access Graph service poll service. @@ -7819,6 +7808,6 @@ message AccessGraphAWSSync { message AccessGraphAzureSync { repeated string Regions = 1 [(gogoproto.jsontag) = "regions,omitempty"]; string SubscriptionID = 2 [(gogoproto.jsontag) = "subscription_id,omitempty"]; - string UMIClientID = 3 [(gogoproto.jsontag) = "umi_client_id,omitempty"]; + string UmiClientId = 3 [(gogoproto.jsontag) = "umi_client_id,omitempty"]; string Integration = 4 [(gogoproto.jsontag) = "integration,omitempty"]; } diff --git a/api/types/types.pb.go b/api/types/types.pb.go index edc692a7d4e89..6e2c8ac923245 100644 --- a/api/types/types.pb.go +++ b/api/types/types.pb.go @@ -16656,11 +16656,7 @@ type PluginEntraIDSyncSettings struct { // tenant_id refers to the Azure Directory that this plugin synchronizes with. // This field is populated on a best-effort basis for legacy plugins but mandatory for plugins created after its introduction. // For existing plugins, it is filled in using the Entra integration when utilized. - TenantId string `protobuf:"bytes,4,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` - // entra_app_id refers to the Entra Application ID that supports the SSO for "sso_connector_id". - // This field is populated on a best-effort basis for legacy plugins but mandatory for plugins created after its introduction. - // For existing plugins, it is filled in using the entity descriptor url when utilized. - EntraAppId string `protobuf:"bytes,5,opt,name=entra_app_id,json=entraAppId,proto3" json:"entra_app_id,omitempty"` + TenantId string `protobuf:"bytes,4,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -20696,10 +20692,12 @@ var xxx_messageInfo_OktaOptions proto.InternalMessageInfo // AccessGraphSync is a configuration for Access Graph service. type AccessGraphSync struct { // AWS is a configuration for AWS Access Graph service poll service. - AWS []*AccessGraphAWSSync `protobuf:"bytes,1,rep,name=AWS,proto3" json:"aws,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + AWS []*AccessGraphAWSSync `protobuf:"bytes,1,rep,name=AWS,proto3" json:"aws,omitempty"` + // Azure is a configuration for the Azure Access Graph service poll service. + Azure []*AccessGraphAzureSync `protobuf:"bytes,2,rep,name=Azure,proto3" json:"azure,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *AccessGraphSync) Reset() { *m = AccessGraphSync{} } @@ -20785,7 +20783,7 @@ var xxx_messageInfo_AccessGraphAWSSync proto.InternalMessageInfo type AccessGraphAzureSync struct { Regions []string `protobuf:"bytes,1,rep,name=Regions,proto3" json:"regions,omitempty"` SubscriptionID string `protobuf:"bytes,2,opt,name=SubscriptionID,proto3" json:"subscription_id,omitempty"` - UMIClientID string `protobuf:"bytes,3,opt,name=UMIClientID,proto3" json:"umi_client_id,omitempty"` + UmiClientId string `protobuf:"bytes,3,opt,name=UmiClientId,proto3" json:"umi_client_id,omitempty"` Integration string `protobuf:"bytes,4,opt,name=Integration,proto3" json:"integration,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -21255,7 +21253,7 @@ func init() { func init() { proto.RegisterFile("teleport/legacy/types/types.proto", fileDescriptor_9198ee693835762e) } var fileDescriptor_9198ee693835762e = []byte{ - // 29449 bytes of a gzipped FileDescriptorProto + // 29461 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xfd, 0x6b, 0x70, 0x1c, 0x59, 0x76, 0x20, 0x06, 0x77, 0x55, 0xe1, 0x51, 0x38, 0x78, 0x15, 0x2e, 0x40, 0x12, 0x44, 0x37, 0xbb, 0xd8, 0xd9, 0xdd, 0x6c, 0x76, 0x4f, 0x37, 0x39, 0x04, 0xa7, 0x39, 0xd3, 0xd3, 0xaf, 0x29, 0x3c, @@ -22735,368 +22733,369 @@ var fileDescriptor_9198ee693835762e = []byte{ 0xce, 0xea, 0x91, 0x2a, 0xf5, 0xd1, 0x9a, 0x6e, 0x84, 0x3e, 0xef, 0xb7, 0xe3, 0xcf, 0x4b, 0x09, 0x77, 0x6c, 0x35, 0xbd, 0xae, 0xb3, 0xee, 0x27, 0x8a, 0xa8, 0xff, 0xd2, 0xfe, 0x22, 0x9c, 0xa2, 0xc9, 0xb7, 0x13, 0xb8, 0x9d, 0xdd, 0x84, 0x9d, 0x6c, 0xe8, 0x2b, 0x59, 0xec, 0xe4, 0xac, 0xbc, - 0xf1, 0xff, 0xb1, 0xf7, 0x6c, 0xb1, 0x8d, 0x5c, 0xd7, 0x69, 0x48, 0x4a, 0xa2, 0x0e, 0xf5, 0x18, - 0xdd, 0x95, 0x77, 0x65, 0x69, 0x9f, 0xb3, 0x8f, 0xec, 0x72, 0x63, 0x3b, 0xbb, 0xae, 0xb3, 0x5e, - 0xa7, 0x8e, 0x33, 0x22, 0x87, 0xd2, 0xec, 0xf2, 0x95, 0x19, 0x52, 0xca, 0xda, 0x49, 0xa6, 0xb4, - 0x38, 0x92, 0xd8, 0x50, 0x24, 0xc3, 0x21, 0xbd, 0x59, 0xa3, 0x40, 0x1b, 0x14, 0x48, 0x80, 0xbe, - 0xd2, 0xa6, 0x05, 0x9a, 0x16, 0x05, 0xfa, 0x51, 0xa3, 0xe8, 0x47, 0xff, 0x5b, 0xb4, 0xfd, 0xc9, - 0x9f, 0x81, 0x20, 0x40, 0x80, 0xf6, 0xab, 0x05, 0xdc, 0xd6, 0x40, 0xfb, 0xd1, 0xf6, 0xaf, 0x68, - 0x3e, 0x82, 0x7e, 0x14, 0xf7, 0xdc, 0x7b, 0x67, 0xee, 0x3c, 0xc8, 0x95, 0xbc, 0x76, 0xdb, 0x00, - 0xf9, 0x92, 0x78, 0xee, 0x39, 0x77, 0xee, 0xf3, 0xdc, 0x73, 0xcf, 0x3d, 0x0f, 0x8a, 0xef, 0xd7, - 0x7a, 0xa6, 0x15, 0x07, 0xf2, 0x3e, 0xfc, 0xa3, 0xbf, 0xd5, 0x13, 0x9a, 0x93, 0xb0, 0xac, 0x95, - 0xa4, 0x65, 0x7d, 0xf2, 0x3d, 0x55, 0x05, 0x22, 0x33, 0x2b, 0xa6, 0xf5, 0xe4, 0x06, 0x55, 0x42, - 0x4e, 0xe7, 0x0d, 0x91, 0x58, 0x83, 0xcd, 0x92, 0x69, 0xae, 0xee, 0x47, 0x41, 0x64, 0x13, 0x16, - 0xfc, 0x7c, 0xd5, 0xfc, 0xe0, 0xc8, 0x32, 0x80, 0xd9, 0xe6, 0x3d, 0xfc, 0xa6, 0x02, 0x97, 0x9f, - 0x36, 0x42, 0x64, 0x0f, 0xce, 0xa2, 0xd1, 0x86, 0xd7, 0xf7, 0x07, 0xd9, 0xd9, 0x6f, 0xed, 0x1f, - 0xb9, 0x7c, 0x4d, 0x6a, 0x89, 0x43, 0x3d, 0x18, 0xd8, 0x76, 0x4d, 0x1a, 0xe5, 0xc1, 0xc0, 0xf6, - 0xfa, 0xe2, 0x77, 0x81, 0x92, 0xf3, 0x36, 0xb4, 0x61, 0x73, 0x0a, 0xa5, 0xc4, 0x16, 0x14, 0x99, - 0x2d, 0xdc, 0x04, 0xf5, 0xc0, 0x6d, 0x53, 0x89, 0xd7, 0x6d, 0x63, 0xd3, 0xde, 0xb9, 0xcb, 0xf2, - 0xaf, 0x5b, 0xcb, 0x3e, 0xdc, 0xf6, 0xfa, 0xbb, 0x77, 0xf9, 0x57, 0x8e, 0xc5, 0x81, 0x26, 0x5f, - 0x1a, 0xc8, 0x8b, 0x70, 0x26, 0x12, 0x4e, 0x24, 0xf0, 0x4f, 0xb7, 0x56, 0x69, 0x51, 0x38, 0xf8, - 0xd4, 0x15, 0x58, 0x14, 0x73, 0x3e, 0xf4, 0xbd, 0xdc, 0xac, 0x1c, 0x87, 0xd1, 0x3d, 0xc5, 0x3f, - 0x37, 0x16, 0x9d, 0x4a, 0xbc, 0x6f, 0x9c, 0x40, 0x52, 0x26, 0x2f, 0x00, 0xf1, 0xa5, 0x72, 0x9f, - 0x0d, 0xf0, 0x0f, 0xae, 0x8a, 0x12, 0x7f, 0xff, 0xf2, 0xcf, 0xfe, 0x4d, 0x0a, 0xce, 0x24, 0x5c, - 0x54, 0xa8, 0x88, 0xdf, 0xe9, 0x8d, 0xdc, 0x43, 0x76, 0x41, 0x90, 0x3b, 0xb9, 0x22, 0xc1, 0xb9, - 0xf6, 0x69, 0x8e, 0xe5, 0x17, 0xe7, 0xdf, 0xe2, 0xbf, 0x28, 0x6b, 0x68, 0x0d, 0x85, 0x62, 0x85, - 0xfe, 0x4b, 0x4c, 0x58, 0xc5, 0xa4, 0x09, 0x5e, 0xa7, 0x8f, 0xb9, 0x17, 0x50, 0xc4, 0xc8, 0x84, - 0xae, 0x32, 0xd8, 0x8a, 0xba, 0x84, 0x44, 0x65, 0x0c, 0x4b, 0x1d, 0x44, 0x20, 0xe4, 0x73, 0xb0, - 0x21, 0x9d, 0x24, 0x4e, 0x64, 0x5f, 0xa1, 0x1d, 0xbb, 0x75, 0xae, 0xe5, 0x9f, 0x29, 0xc5, 0xd0, - 0x0e, 0xdb, 0x82, 0x8b, 0x38, 0x89, 0x9d, 0xf6, 0xc0, 0x89, 0x65, 0xd9, 0xc0, 0xae, 0xb2, 0xb0, - 0xf4, 0x1b, 0x14, 0xcb, 0x6c, 0x0f, 0x22, 0x09, 0x37, 0x68, 0xaf, 0xf9, 0xf0, 0xbd, 0x05, 0xcf, - 0x25, 0xb6, 0x98, 0x1e, 0x1f, 0x68, 0x26, 0x15, 0x48, 0x3e, 0xf3, 0xf4, 0x37, 0x15, 0x7d, 0xae, - 0xc0, 0xe2, 0xdb, 0x6e, 0x6b, 0xe8, 0x0e, 0xf9, 0xb9, 0xcc, 0x97, 0x04, 0x83, 0xc9, 0xc7, 0x72, - 0x3b, 0x3c, 0x35, 0x5c, 0x23, 0x44, 0x2a, 0x70, 0x86, 0x9d, 0x6f, 0x9d, 0x63, 0x14, 0xf5, 0xb8, - 0x16, 0x49, 0x09, 0x09, 0x3b, 0x48, 0x82, 0x07, 0x8f, 0x89, 0x58, 0x8c, 0xda, 0x5a, 0x3d, 0x8c, - 0x82, 0xe8, 0x8e, 0x3e, 0x9b, 0x8c, 0x4d, 0xb6, 0x20, 0xc7, 0x2a, 0x67, 0x42, 0x3f, 0x53, 0xff, - 0x5f, 0x99, 0xfa, 0x85, 0x02, 0x5a, 0x0f, 0x7b, 0xfe, 0xff, 0xf4, 0x34, 0xc6, 0x97, 0x56, 0xe7, - 0x58, 0x7e, 0xdd, 0xb0, 0x16, 0x11, 0xc8, 0x5f, 0x35, 0xb4, 0xbf, 0x55, 0x44, 0x57, 0x43, 0x57, - 0x5f, 0xba, 0xb4, 0x3c, 0xb7, 0x27, 0x5e, 0x78, 0x16, 0x2c, 0xfe, 0xeb, 0x94, 0x4b, 0x9d, 0xdc, - 0x83, 0x45, 0x5a, 0xed, 0xe1, 0xb8, 0xc7, 0x96, 0x5c, 0x3a, 0x14, 0x46, 0xa7, 0xc2, 0x8a, 0xe8, - 0xb4, 0xed, 0xcc, 0x58, 0xb9, 0xe3, 0xe0, 0x27, 0x95, 0x85, 0xbd, 0xe3, 0xd1, 0x40, 0x5e, 0xa8, - 0x42, 0x0d, 0x68, 0x57, 0x1a, 0x75, 0x4e, 0x92, 0xa5, 0x38, 0x81, 0x2c, 0xbc, 0x35, 0xc7, 0x14, - 0x81, 0xda, 0x6d, 0xc8, 0x49, 0x75, 0xd3, 0xce, 0x30, 0xbf, 0x18, 0xd1, 0x19, 0xf6, 0x8b, 0x4f, - 0xf6, 0xdb, 0x90, 0x15, 0x55, 0x52, 0xa1, 0xff, 0xa8, 0xef, 0x89, 0x4d, 0x8e, 0xff, 0x53, 0x18, - 0x1d, 0x65, 0xec, 0xe4, 0xac, 0x85, 0xff, 0xe3, 0x49, 0x31, 0x6a, 0x51, 0x69, 0xbf, 0xeb, 0x39, - 0x03, 0xb4, 0xaf, 0xf2, 0x45, 0x63, 0x0a, 0x6f, 0x74, 0x3d, 0x66, 0x75, 0xc5, 0xbf, 0xf1, 0x97, - 0xfe, 0x11, 0x1b, 0xd1, 0x15, 0x4c, 0xe2, 0x99, 0xa1, 0x03, 0x21, 0x15, 0x3e, 0x10, 0xc8, 0x65, - 0x58, 0x64, 0xe1, 0x51, 0x38, 0x25, 0xfb, 0x32, 0x20, 0x4c, 0x47, 0xf2, 0x80, 0x33, 0x64, 0x42, - 0x9c, 0x41, 0xba, 0x71, 0x07, 0xb3, 0xc7, 0x64, 0x38, 0x71, 0xe3, 0x8e, 0xf2, 0xa9, 0x3f, 0x4d, - 0x09, 0x05, 0xc0, 0x56, 0xbf, 0x3f, 0xf2, 0x46, 0xc3, 0xd6, 0x20, 0xa4, 0xe8, 0x24, 0xc7, 0xf0, - 0x3c, 0xca, 0xc7, 0x77, 0x31, 0x41, 0x45, 0x7f, 0x28, 0x22, 0x72, 0xf8, 0x2b, 0x37, 0x77, 0xf7, - 0xa5, 0xb0, 0x04, 0xaf, 0x53, 0x6c, 0x5d, 0x46, 0xa6, 0x0b, 0x56, 0xaa, 0x75, 0x67, 0xc6, 0x3a, - 0xc7, 0xea, 0x8c, 0x61, 0x91, 0x9d, 0x84, 0x4d, 0x1c, 0xd5, 0x74, 0x6e, 0x05, 0x3b, 0x3a, 0x5c, - 0xab, 0xbc, 0xd7, 0xc9, 0xe7, 0x61, 0xa1, 0xd3, 0x96, 0xf3, 0x30, 0x46, 0x75, 0x6c, 0x66, 0x9b, - 0xc5, 0x82, 0x0e, 0xea, 0xa0, 0x6b, 0xae, 0xc3, 0xa1, 0x5b, 0x4b, 0x21, 0x95, 0xb0, 0xb6, 0x25, - 0xee, 0x9a, 0x71, 0x32, 0xb2, 0x0c, 0x29, 0x7f, 0x86, 0x53, 0x9d, 0x36, 0xdb, 0x5e, 0x41, 0x34, - 0x6a, 0x8b, 0xff, 0xd2, 0x7e, 0x09, 0x6e, 0x9e, 0x74, 0x8c, 0xe8, 0x56, 0x9c, 0x30, 0xe0, 0x0b, - 0xd6, 0x6a, 0x2b, 0x36, 0x6e, 0x57, 0x40, 0x0e, 0xa6, 0xdb, 0x11, 0xcc, 0x4f, 0xc0, 0x9a, 0xc3, - 0x8e, 0xf6, 0x17, 0x69, 0x58, 0x0e, 0x2b, 0xc1, 0xc9, 0x6d, 0xc8, 0x48, 0x1c, 0xe8, 0x5c, 0x82, - 0xa6, 0x1c, 0xf9, 0x0e, 0x22, 0x9d, 0x88, 0xe3, 0x90, 0x07, 0xb0, 0x8c, 0x66, 0x79, 0x28, 0x58, - 0x8e, 0x3a, 0xfc, 0x69, 0x65, 0xfa, 0xeb, 0x58, 0xf6, 0xfd, 0x0f, 0x2e, 0xcd, 0xe0, 0x43, 0xd8, - 0x22, 0xa5, 0xa5, 0xb2, 0x1d, 0x2d, 0x94, 0x74, 0x9c, 0x99, 0xc9, 0x3a, 0x4e, 0xde, 0x95, 0x09, - 0x3a, 0xce, 0xd9, 0x29, 0x3a, 0xce, 0x80, 0x52, 0xd6, 0x71, 0xa2, 0xa6, 0x7b, 0x7e, 0x92, 0xa6, - 0x3b, 0xa0, 0x61, 0x9a, 0xee, 0x40, 0x47, 0x99, 0x9d, 0xa8, 0xa3, 0x0c, 0x68, 0xb8, 0x8e, 0xf2, - 0x1a, 0x1f, 0xa3, 0x61, 0xeb, 0xb1, 0x83, 0x83, 0xc7, 0x8f, 0x45, 0xec, 0xbd, 0xd5, 0x7a, 0x8c, - 0xa6, 0x33, 0x5b, 0x0b, 0x20, 0xec, 0x6d, 0xb4, 0xdf, 0x55, 0x22, 0x7a, 0x3e, 0x31, 0x7f, 0xd7, - 0x61, 0x99, 0x1d, 0x56, 0x6e, 0x5b, 0xba, 0x49, 0x2e, 0x59, 0x4b, 0x02, 0xca, 0x6e, 0x93, 0x9f, - 0x82, 0x15, 0x1f, 0x8d, 0x5f, 0xa8, 0xd0, 0x0f, 0xcf, 0xf2, 0xa9, 0x79, 0x50, 0x99, 0xdb, 0xb0, - 0xea, 0x23, 0x72, 0x5d, 0x0d, 0xbb, 0x4c, 0x2e, 0x59, 0xaa, 0x28, 0xa8, 0x73, 0xb8, 0x76, 0x18, - 0xbd, 0x57, 0x7c, 0x42, 0xad, 0xd2, 0xbe, 0x9f, 0x0e, 0xe9, 0x40, 0xc4, 0x67, 0xe8, 0x29, 0xea, - 0xf5, 0x1d, 0x3e, 0x48, 0x9c, 0x17, 0x5d, 0x99, 0x30, 0x67, 0xdc, 0x62, 0xc9, 0xb6, 0x6b, 0x16, - 0x78, 0x5e, 0x5f, 0x18, 0x30, 0x39, 0x4c, 0xa2, 0x66, 0xe7, 0x3e, 0xae, 0x59, 0x51, 0x1d, 0x63, - 0x3c, 0xf9, 0xe9, 0xd5, 0x89, 0x4b, 0x28, 0x5d, 0xb2, 0x28, 0x59, 0xfb, 0xbf, 0xc4, 0x07, 0x9a, - 0x80, 0x2a, 0x43, 0x2f, 0x5c, 0x79, 0x3a, 0xe1, 0x66, 0x14, 0xab, 0x1c, 0x47, 0x09, 0x6b, 0x56, - 0xc7, 0xe2, 0x5f, 0x51, 0xad, 0x01, 0x8b, 0xa8, 0x81, 0x10, 0x15, 0x66, 0x12, 0x14, 0xec, 0xf1, - 0xce, 0x17, 0xcc, 0x8a, 0x95, 0xa3, 0x74, 0xa2, 0x9a, 0x23, 0x78, 0x5e, 0xd6, 0x1b, 0x84, 0x1b, - 0x39, 0x2b, 0x62, 0xe4, 0x4e, 0x1d, 0x81, 0x40, 0xbd, 0x80, 0x4d, 0x3d, 0xdb, 0x0a, 0x03, 0x38, - 0x9a, 0x76, 0x04, 0x1b, 0x93, 0xa7, 0x64, 0x4a, 0xfe, 0xa5, 0xe0, 0x00, 0x4d, 0xc9, 0x07, 0xa8, - 0xac, 0x45, 0x48, 0x87, 0xb4, 0x08, 0xda, 0x9f, 0xa4, 0xe1, 0xea, 0x09, 0xa6, 0x6b, 0xca, 0x37, - 0xbf, 0x10, 0x16, 0xcf, 0x52, 0xa1, 0x7b, 0x1f, 0xad, 0x94, 0x33, 0x48, 0x7a, 0x07, 0x4d, 0x16, - 0xce, 0x7e, 0x01, 0x56, 0x18, 0x17, 0x64, 0x46, 0x87, 0x07, 0xe3, 0xee, 0x09, 0xd8, 0xe0, 0xa6, - 0xf0, 0x90, 0x8a, 0x90, 0x22, 0x67, 0x44, 0x8e, 0x61, 0xfb, 0x30, 0xd2, 0x80, 0x1c, 0xa2, 0x1d, - 0xb4, 0x3a, 0xdd, 0x13, 0xb9, 0xea, 0x08, 0xff, 0x2b, 0x99, 0x8c, 0xd9, 0x4a, 0x53, 0x40, 0x09, - 0x7f, 0x93, 0x1b, 0xb0, 0xd2, 0x1b, 0x1f, 0x53, 0xc1, 0x83, 0xad, 0x05, 0x6e, 0xdb, 0x31, 0x6b, - 0x2d, 0xf5, 0xc6, 0xc7, 0xfa, 0x60, 0x80, 0x53, 0x8a, 0x46, 0x20, 0xab, 0x14, 0x8f, 0xed, 0x5a, - 0x81, 0x39, 0x87, 0x98, 0xb4, 0x02, 0xb6, 0x6f, 0x39, 0xee, 0x1a, 0x30, 0x93, 0x40, 0x9e, 0x7f, - 0x8a, 0xfd, 0xd0, 0x7e, 0x9c, 0x12, 0xf7, 0xdd, 0xc9, 0xeb, 0xfe, 0x67, 0x53, 0x94, 0x30, 0x45, - 0x37, 0x41, 0xa5, 0x43, 0x1f, 0x30, 0x15, 0x7f, 0x8e, 0x96, 0x7b, 0xe3, 0x63, 0x7f, 0xec, 0xe4, - 0x81, 0x9f, 0x93, 0x07, 0xfe, 0x9e, 0xb8, 0x0f, 0x27, 0xb2, 0x87, 0xc9, 0x43, 0xae, 0xfd, 0x47, - 0x1a, 0x6e, 0x9c, 0x8c, 0x09, 0xfc, 0x6c, 0xde, 0x12, 0xe6, 0x2d, 0xa2, 0x18, 0x9d, 0x8d, 0x29, - 0x46, 0x13, 0xf6, 0xde, 0x5c, 0xd2, 0xde, 0x8b, 0xa9, 0x61, 0xe7, 0x13, 0xd4, 0xb0, 0x89, 0x1b, - 0x34, 0xfb, 0x94, 0x0d, 0xba, 0x20, 0xaf, 0x93, 0x7f, 0xf5, 0x15, 0x18, 0xe1, 0xfb, 0xc0, 0x5b, - 0x70, 0x46, 0xdc, 0x07, 0xd8, 0xc9, 0x11, 0x68, 0xd7, 0x73, 0x77, 0x6f, 0x25, 0xdd, 0x04, 0x10, - 0x2d, 0x41, 0x5a, 0x5f, 0xe5, 0x77, 0x80, 0xa0, 0xfc, 0xff, 0x8f, 0xf4, 0x4f, 0x1e, 0xc1, 0x59, - 0x8c, 0xde, 0xbe, 0x2f, 0xbf, 0x0b, 0x38, 0x43, 0xf7, 0x80, 0xaf, 0x87, 0x2b, 0x31, 0x59, 0xb9, - 0xb3, 0x2f, 0x35, 0xc7, 0x72, 0x0f, 0x76, 0x66, 0xac, 0x35, 0x2f, 0x01, 0x1e, 0xbd, 0x58, 0xfc, - 0xb9, 0x02, 0xda, 0xd3, 0xc7, 0x0b, 0x15, 0x55, 0xd1, 0x01, 0x5f, 0xb0, 0x72, 0x2d, 0x69, 0xf4, - 0xae, 0xc2, 0xd2, 0xd0, 0x3d, 0x18, 0xba, 0xde, 0x51, 0x48, 0x03, 0xb2, 0xc8, 0x81, 0x62, 0x60, - 0x44, 0x0c, 0xc9, 0x53, 0x49, 0xe6, 0x82, 0x48, 0x2b, 0xf9, 0xf7, 0xc5, 0xc4, 0x79, 0xa0, 0xab, - 0x49, 0x6e, 0x20, 0xfb, 0xf1, 0x20, 0x93, 0x4d, 0xa9, 0x69, 0x8b, 0x47, 0xba, 0x3c, 0xe8, 0x74, - 0x5d, 0xed, 0xaf, 0x14, 0x21, 0x11, 0x24, 0x0d, 0x1e, 0x79, 0x4b, 0x32, 0xd5, 0x4d, 0xc7, 0xc4, - 0x90, 0x24, 0x12, 0xd9, 0xaa, 0x91, 0x07, 0x5f, 0x44, 0x40, 0x28, 0xf8, 0x22, 0x42, 0x9e, 0xc1, - 0xde, 0x90, 0xdf, 0x9a, 0xef, 0x0b, 0x7b, 0x1f, 0xca, 0xf3, 0x76, 0xef, 0x90, 0x5b, 0x30, 0xcf, - 0x4c, 0x7c, 0x44, 0x73, 0x57, 0x42, 0xcd, 0xdd, 0xbd, 0x63, 0x89, 0x72, 0xed, 0x7b, 0xbe, 0x2a, - 0x3b, 0xd6, 0x89, 0xdd, 0x3b, 0xe4, 0xde, 0xc9, 0x4c, 0x6f, 0xb3, 0xc2, 0xf4, 0xd6, 0x37, 0xbb, - 0x7d, 0x35, 0x64, 0x76, 0x7b, 0x6d, 0xfa, 0x68, 0xf1, 0xb7, 0x46, 0x16, 0x6c, 0x30, 0x08, 0x42, - 0xf5, 0x63, 0x05, 0x2e, 0x4c, 0xa5, 0x20, 0xe7, 0x21, 0xab, 0xd7, 0xcd, 0x46, 0x30, 0xbf, 0x74, - 0xcf, 0x08, 0x08, 0xd9, 0x86, 0x85, 0xad, 0x96, 0xd7, 0xd9, 0xa7, 0xcb, 0x38, 0x51, 0xf9, 0x1f, - 0xab, 0xd6, 0x47, 0xdf, 0x99, 0xb1, 0x02, 0x5a, 0xe2, 0xc0, 0x2a, 0xee, 0x85, 0x50, 0x62, 0xa7, - 0x74, 0x82, 0xae, 0x21, 0x56, 0x61, 0x8c, 0x8c, 0xf2, 0x99, 0x18, 0x30, 0xba, 0x05, 0xdf, 0x11, - 0xb2, 0xc8, 0xe4, 0x06, 0x9e, 0x22, 0x6a, 0xea, 0x4d, 0xc8, 0xd6, 0x85, 0x15, 0x80, 0x64, 0xab, - 0x2e, 0x5e, 0xfc, 0x2d, 0xbf, 0x54, 0xfb, 0x0d, 0x45, 0x28, 0x04, 0x9e, 0xde, 0x11, 0x29, 0x27, - 0x56, 0x7b, 0x7a, 0x4e, 0xac, 0xf6, 0x47, 0xcc, 0x89, 0xa5, 0xfd, 0x19, 0x8f, 0x69, 0x6e, 0xb6, - 0xeb, 0x11, 0xcd, 0xec, 0xb3, 0xfa, 0x1c, 0x18, 0xa1, 0xd5, 0x79, 0x55, 0xca, 0xa9, 0x18, 0xff, - 0xd6, 0x64, 0xd7, 0x03, 0x69, 0xa9, 0xfe, 0x7e, 0x1a, 0xce, 0x4f, 0x23, 0x4f, 0xcc, 0xda, 0xac, - 0x9c, 0x2e, 0x6b, 0xf3, 0x2d, 0xc8, 0x32, 0x98, 0x6f, 0x50, 0x8f, 0x03, 0xce, 0x49, 0xe9, 0x80, - 0x8b, 0x62, 0x72, 0x15, 0xe6, 0xf4, 0x82, 0x1d, 0x24, 0x12, 0x43, 0xcb, 0xd7, 0xd6, 0xbe, 0x87, - 0x36, 0x95, 0xbc, 0x88, 0x7c, 0x35, 0x9e, 0x3b, 0x8f, 0x67, 0x10, 0xdb, 0x94, 0x06, 0x24, 0x96, - 0x6e, 0x00, 0xdb, 0x1b, 0x84, 0xc7, 0xe7, 0x11, 0xa7, 0xad, 0x78, 0x1e, 0x3e, 0x0d, 0xe6, 0xea, - 0x43, 0xd7, 0x73, 0x47, 0xb2, 0x55, 0xea, 0x00, 0x21, 0x16, 0x2f, 0xe1, 0x36, 0xa3, 0xad, 0x27, - 0x2c, 0x44, 0xc0, 0x9c, 0x1c, 0xb6, 0x05, 0x8d, 0x4c, 0x29, 0xd8, 0x92, 0x50, 0x28, 0x41, 0xb9, - 0x35, 0xee, 0xed, 0x1f, 0x35, 0xad, 0x32, 0x17, 0x35, 0x18, 0x41, 0x17, 0xa1, 0xb4, 0x83, 0x9e, - 0x25, 0xa1, 0x68, 0xdf, 0x56, 0x60, 0x2d, 0xa9, 0x1f, 0xe4, 0x3c, 0x64, 0x7a, 0x89, 0x69, 0x02, - 0x7b, 0xcc, 0xb3, 0x39, 0x47, 0xff, 0x3a, 0x07, 0xfd, 0xe1, 0x71, 0x6b, 0x24, 0xdb, 0xee, 0x4a, - 0x60, 0x0b, 0xe8, 0x8f, 0x12, 0xfe, 0x4f, 0x2e, 0x09, 0x1e, 0x9d, 0x8e, 0x25, 0x16, 0xc4, 0x3f, - 0x9a, 0x0e, 0x60, 0xb6, 0xeb, 0xb5, 0x01, 0x0b, 0x77, 0xff, 0x32, 0x64, 0x68, 0xb3, 0x22, 0xab, - 0x97, 0xae, 0x1f, 0xbd, 0x52, 0xe6, 0x48, 0xac, 0x55, 0x5e, 0xeb, 0xb8, 0x6b, 0x21, 0xb2, 0xb6, - 0x07, 0xcb, 0x61, 0x0c, 0x62, 0x84, 0x03, 0xa4, 0xe6, 0xee, 0xaa, 0xbc, 0xa6, 0xad, 0x7e, 0x9f, - 0xf9, 0x8f, 0x6c, 0x3d, 0xff, 0xf7, 0x1f, 0x5c, 0x02, 0xfa, 0x93, 0xd1, 0x24, 0x05, 0x50, 0xd5, - 0xbe, 0x93, 0x82, 0xb5, 0xc0, 0x65, 0x5d, 0xec, 0xa1, 0x9f, 0x5a, 0xff, 0x49, 0x3d, 0xe4, 0xdf, - 0x27, 0x04, 0xad, 0x78, 0x07, 0xa7, 0xb8, 0x15, 0x6d, 0xc3, 0xfa, 0x24, 0x7c, 0x72, 0x1b, 0x16, - 0x30, 0xca, 0xd1, 0xa0, 0xb5, 0xef, 0xca, 0xbc, 0xaf, 0x27, 0x80, 0x56, 0x50, 0xae, 0xfd, 0x50, - 0x81, 0x0d, 0xee, 0xf5, 0x50, 0x69, 0x75, 0x7a, 0xa8, 0x56, 0xdf, 0x77, 0x3f, 0x1e, 0xff, 0xdf, - 0xed, 0x10, 0x1f, 0xbb, 0x1e, 0x76, 0x6e, 0x89, 0x7d, 0x6d, 0x72, 0x6f, 0xc9, 0x2d, 0x8c, 0xdc, - 0xc5, 0x1f, 0x95, 0x33, 0x2c, 0xde, 0x42, 0x8f, 0x02, 0xe4, 0x78, 0x0b, 0x88, 0xa1, 0xfd, 0x32, - 0x5c, 0x9c, 0xfe, 0x01, 0xf2, 0x15, 0x58, 0xc2, 0x54, 0x50, 0xcd, 0xc1, 0xe1, 0xb0, 0xd5, 0x76, - 0x85, 0x2a, 0x4c, 0xa8, 0x2f, 0xe5, 0x32, 0x16, 0x88, 0x8c, 0xfb, 0xff, 0x1f, 0x62, 0x92, 0x29, - 0x4e, 0x14, 0x72, 0x2d, 0x92, 0x6b, 0xd3, 0x7e, 0x45, 0x01, 0x12, 0xaf, 0x83, 0x7c, 0x16, 0x16, - 0x9b, 0x8d, 0x82, 0x3d, 0x6a, 0x0d, 0x47, 0x3b, 0xfd, 0xf1, 0x90, 0x47, 0x01, 0x63, 0xee, 0xe0, - 0xa3, 0x7d, 0x87, 0x3d, 0xa0, 0x1c, 0xf5, 0xc7, 0x43, 0x2b, 0x84, 0x87, 0x39, 0x8c, 0x5c, 0xf7, - 0x6b, 0xed, 0xd6, 0x93, 0x70, 0x0e, 0x23, 0x0e, 0x0b, 0xe5, 0x30, 0xe2, 0x30, 0xed, 0x3d, 0x05, - 0x36, 0x85, 0xad, 0x60, 0x3b, 0xa1, 0x2d, 0x05, 0x0c, 0x7a, 0x32, 0x14, 0x61, 0x67, 0xa7, 0x89, - 0xb4, 0xab, 0x22, 0x2e, 0x10, 0x36, 0x10, 0x65, 0x5b, 0x46, 0x4b, 0xbe, 0x00, 0x19, 0x7b, 0xd4, - 0x1f, 0x9c, 0x20, 0x30, 0x90, 0xea, 0xcf, 0xe8, 0xa8, 0x3f, 0xc0, 0x2a, 0x90, 0x52, 0x73, 0x61, - 0x4d, 0x6e, 0x9c, 0x68, 0x31, 0xa9, 0xc0, 0x3c, 0x8f, 0x00, 0x17, 0x79, 0xa8, 0x9f, 0xd2, 0xa7, - 0xad, 0x15, 0x11, 0x7d, 0x88, 0x87, 0x3d, 0xb5, 0x44, 0x1d, 0xda, 0x6f, 0x29, 0x90, 0xa3, 0xd2, - 0x06, 0xde, 0xe2, 0x9e, 0x75, 0x49, 0x87, 0x05, 0x47, 0x61, 0x55, 0xe2, 0x57, 0x7f, 0xa2, 0xd3, - 0xf8, 0x15, 0x58, 0x89, 0x10, 0x10, 0x0d, 0xe3, 0x4e, 0x74, 0x3b, 0xfb, 0x2d, 0x96, 0x12, 0x85, - 0x59, 0x64, 0x84, 0x60, 0xda, 0xaf, 0x29, 0xb0, 0x46, 0xef, 0xfc, 0xec, 0x9d, 0xd3, 0x1a, 0x77, - 0xc5, 0x7e, 0xa7, 0x12, 0x94, 0x30, 0x3a, 0x65, 0x3e, 0xf1, 0x4c, 0x82, 0xe2, 0x30, 0xcb, 0x2f, - 0x25, 0x3b, 0x90, 0xe5, 0xe7, 0x8b, 0xc7, 0xa3, 0x95, 0x5e, 0x94, 0x94, 0x09, 0x41, 0xc5, 0x1c, - 0x89, 0xf6, 0x04, 0x59, 0x18, 0xa7, 0xb1, 0x7c, 0x6a, 0xed, 0x3f, 0x15, 0x38, 0x37, 0x81, 0x86, - 0xbc, 0x0e, 0xb3, 0xe8, 0xaf, 0xc7, 0x67, 0xef, 0xfc, 0x84, 0x4f, 0x8c, 0xf6, 0x8f, 0x76, 0xef, - 0xb0, 0x83, 0xe8, 0x98, 0xfe, 0xb0, 0x18, 0x15, 0x79, 0x0b, 0x16, 0xf4, 0x76, 0x9b, 0x5f, 0x67, - 0x52, 0xa1, 0xeb, 0xcc, 0x84, 0x2f, 0xbe, 0xe8, 0xe3, 0xb3, 0xeb, 0x0c, 0xf3, 0x1c, 0x69, 0xb7, - 0x1d, 0xee, 0x8b, 0x18, 0xd4, 0xb7, 0xf1, 0xf3, 0xb0, 0x1c, 0x46, 0x3e, 0x95, 0xfb, 0xd4, 0xf7, - 0x14, 0x50, 0xc3, 0x6d, 0xf8, 0x64, 0xe2, 0x26, 0x25, 0x4d, 0xf3, 0x53, 0x16, 0xd5, 0xef, 0xa4, - 0xe0, 0xb9, 0xc4, 0x11, 0x26, 0x2f, 0xc0, 0x9c, 0x3e, 0x18, 0x98, 0x45, 0xbe, 0xaa, 0xb8, 0x84, - 0x84, 0x5a, 0xe2, 0xd0, 0x6d, 0x8f, 0x21, 0x91, 0x97, 0x21, 0xcb, 0x9e, 0xd3, 0x8b, 0x82, 0xe1, - 0x60, 0x20, 0x18, 0xfe, 0xd6, 0x1f, 0x8e, 0x1b, 0x2a, 0x10, 0x49, 0x09, 0x96, 0x79, 0x08, 0x15, - 0xcb, 0x3d, 0x74, 0xbf, 0xe1, 0x07, 0xb0, 0xc7, 0x18, 0xfb, 0x42, 0xf5, 0xec, 0x0c, 0x59, 0x99, - 0x1c, 0x44, 0x24, 0x4c, 0x45, 0xca, 0xa0, 0x62, 0x9d, 0x72, 0x4d, 0x2c, 0x78, 0x29, 0x06, 0xb5, - 0x61, 0x8d, 0x98, 0x50, 0x57, 0x8c, 0xd2, 0x9f, 0x2e, 0xdd, 0xf3, 0x3a, 0x87, 0xbd, 0x63, 0xb7, - 0x37, 0xfa, 0xe4, 0xa6, 0x2b, 0xf8, 0xc6, 0x89, 0xa6, 0xeb, 0xf7, 0x32, 0x6c, 0x33, 0x47, 0xc9, - 0xa8, 0x44, 0x23, 0xc5, 0xab, 0x46, 0x89, 0x06, 0x33, 0xfc, 0xb3, 0x20, 0x21, 0x45, 0x98, 0x67, - 0xc1, 0x5b, 0xc4, 0xce, 0xb8, 0x90, 0xd8, 0x04, 0x86, 0xb3, 0x7b, 0x87, 0x89, 0x2f, 0xcc, 0x71, - 0xd0, 0xb3, 0x04, 0x29, 0xd9, 0x85, 0x5c, 0xa1, 0xeb, 0xb6, 0x7a, 0xe3, 0x41, 0xe3, 0x64, 0x4f, - 0x8e, 0xeb, 0xbc, 0x2f, 0x8b, 0xfb, 0x8c, 0x0c, 0x9f, 0x2a, 0x91, 0x93, 0xcb, 0x15, 0x91, 0x86, - 0xef, 0x4b, 0x94, 0x41, 0x4d, 0xe5, 0x67, 0xa6, 0x8c, 0x4f, 0x14, 0x88, 0x74, 0x61, 0x47, 0x39, - 0xee, 0x6c, 0xe4, 0xc0, 0x72, 0xb9, 0xe5, 0x8d, 0x1a, 0xc3, 0x56, 0xcf, 0xc3, 0xa0, 0x8f, 0x27, - 0x08, 0x8a, 0xb5, 0x29, 0x12, 0x0a, 0xa3, 0x8e, 0x71, 0xe4, 0x93, 0x32, 0x0d, 0x66, 0xb8, 0x3a, - 0x2a, 0x2f, 0x95, 0x3a, 0xbd, 0x56, 0xb7, 0xf3, 0xae, 0x70, 0xb9, 0x64, 0xf2, 0xd2, 0x81, 0x00, - 0x5a, 0x41, 0xb9, 0xf6, 0xe5, 0xd8, 0xbc, 0xb1, 0x56, 0xe6, 0x60, 0x9e, 0x3b, 0xe4, 0x33, 0x07, - 0xf5, 0xba, 0x51, 0x2d, 0x9a, 0xd5, 0x6d, 0x55, 0x21, 0xcb, 0x00, 0x75, 0xab, 0x56, 0x30, 0x6c, - 0x9b, 0xfe, 0x4e, 0xd1, 0xdf, 0xdc, 0x7b, 0xbd, 0xd4, 0x2c, 0xab, 0x69, 0xc9, 0x81, 0x3d, 0xa3, - 0xfd, 0x40, 0x81, 0xb3, 0xc9, 0x53, 0x49, 0x1a, 0x80, 0x21, 0x0c, 0xf8, 0xe3, 0xf3, 0x67, 0xa7, - 0xce, 0x7b, 0x22, 0x38, 0x1a, 0x0a, 0x61, 0xc4, 0x5c, 0xec, 0x53, 0xe2, 0xb1, 0x88, 0xf9, 0xec, - 0x75, 0xda, 0x56, 0xaa, 0xd3, 0xd6, 0x0a, 0xb0, 0x3e, 0xa9, 0x8e, 0x70, 0x57, 0x57, 0x20, 0xa7, - 0xd7, 0xeb, 0x65, 0xb3, 0xa0, 0x37, 0xcc, 0x5a, 0x55, 0x55, 0xc8, 0x02, 0xcc, 0x6e, 0x5b, 0xb5, - 0x66, 0x5d, 0x4d, 0x69, 0xdf, 0x55, 0x60, 0xc9, 0x0c, 0xcc, 0xb4, 0x9e, 0x75, 0xf3, 0xbd, 0x16, - 0xda, 0x7c, 0xeb, 0x7e, 0xb0, 0x0f, 0xff, 0x03, 0x27, 0xda, 0x79, 0x7f, 0xa7, 0xc0, 0x6a, 0x8c, - 0x86, 0xd8, 0x30, 0xaf, 0xef, 0xd9, 0x35, 0xb3, 0x58, 0xe0, 0x2d, 0xbb, 0x14, 0xd8, 0x17, 0x61, - 0x3e, 0xa7, 0xd8, 0x57, 0x98, 0x83, 0xec, 0x63, 0xcf, 0xe9, 0x77, 0xda, 0x52, 0x2e, 0xd6, 0x9d, - 0x19, 0x4b, 0xd4, 0x84, 0x27, 0xd9, 0xbb, 0xe3, 0xa1, 0x8b, 0xd5, 0xa6, 0x42, 0x8a, 0x50, 0x1f, - 0x1e, 0xaf, 0x18, 0xdd, 0x19, 0x5a, 0xb4, 0x3c, 0x5e, 0x75, 0x50, 0xdf, 0xd6, 0x12, 0xe4, 0xf8, - 0xad, 0x05, 0x2f, 0x04, 0xdf, 0x57, 0x60, 0x7d, 0x52, 0x5b, 0xe9, 0x45, 0x28, 0xec, 0x2d, 0x7f, - 0xd6, 0xcf, 0xcf, 0x10, 0x76, 0x93, 0x17, 0x68, 0xe4, 0x0d, 0xc8, 0x99, 0x9e, 0x37, 0x76, 0x87, - 0xf6, 0xcb, 0x4d, 0xcb, 0xe4, 0x0b, 0xe4, 0xc2, 0xbf, 0x7d, 0x70, 0xe9, 0x1c, 0x3a, 0x1d, 0x0c, - 0x1d, 0xef, 0x65, 0x67, 0x3c, 0xec, 0x84, 0x62, 0xd9, 0xcb, 0x14, 0x54, 0x6e, 0x6d, 0x8d, 0xdb, - 0x1d, 0x57, 0x48, 0xed, 0xc2, 0xa3, 0x98, 0xc3, 0xe4, 0x53, 0x44, 0xc0, 0xb4, 0x6f, 0x29, 0xb0, - 0x31, 0x79, 0x60, 0xe8, 0xc9, 0xd4, 0x60, 0x56, 0x3f, 0xc2, 0xa7, 0x17, 0x4f, 0x26, 0xdf, 0x34, - 0x48, 0xae, 0x53, 0x20, 0x52, 0x22, 0x3f, 0x37, 0x7a, 0x2a, 0x96, 0x10, 0x39, 0x4c, 0x24, 0x10, - 0xb5, 0x7f, 0x4f, 0xc1, 0x59, 0xba, 0xe8, 0xba, 0xae, 0xe7, 0xe9, 0xe3, 0xd1, 0x91, 0xdb, 0x1b, - 0x71, 0x31, 0x8c, 0xdc, 0x83, 0xb9, 0xa3, 0xd3, 0xa9, 0x1c, 0x19, 0x3a, 0x21, 0x80, 0x8c, 0x5c, - 0xb8, 0x50, 0xd0, 0xff, 0xc9, 0x15, 0x90, 0x53, 0x50, 0xa7, 0x31, 0x08, 0x66, 0x6a, 0x5d, 0xb1, - 0x16, 0x06, 0x7e, 0xb6, 0xd8, 0x57, 0x61, 0x16, 0xd5, 0x0c, 0x9c, 0xa5, 0x0a, 0x51, 0x38, 0xb9, - 0x75, 0xa8, 0x84, 0xb0, 0x18, 0x01, 0x79, 0x09, 0x20, 0xc8, 0x1f, 0xc0, 0x79, 0xa6, 0xb8, 0x7e, - 0xfb, 0x29, 0x04, 0xac, 0x85, 0xe3, 0x83, 0x16, 0x0f, 0xca, 0x9f, 0x87, 0x55, 0x31, 0x2c, 0x03, - 0x11, 0x3b, 0x8f, 0xbf, 0x86, 0xad, 0xb0, 0x02, 0x73, 0x20, 0xe2, 0xe7, 0x5d, 0x8b, 0xa5, 0xd1, - 0xc5, 0x10, 0xba, 0x91, 0x5c, 0xb9, 0xd7, 0x62, 0xb9, 0x72, 0xb3, 0x0c, 0x4b, 0x4e, 0x88, 0xab, - 0xfd, 0x4b, 0x0a, 0x16, 0xf6, 0xa8, 0xb0, 0x82, 0x57, 0xf0, 0xe9, 0x57, 0xfa, 0xbb, 0x90, 0x2b, - 0xf7, 0x5b, 0xfc, 0xd9, 0x81, 0x7b, 0x1e, 0x30, 0xcf, 0xdf, 0x6e, 0xbf, 0x25, 0x5e, 0x30, 0x3c, - 0x4b, 0x46, 0x7a, 0x8a, 0xd7, 0xf2, 0x03, 0x98, 0x63, 0xcf, 0x40, 0x5c, 0xbb, 0x24, 0xc4, 0x55, - 0xbf, 0x45, 0x2f, 0xb2, 0x62, 0x49, 0x53, 0xce, 0x9e, 0x92, 0x64, 0xd9, 0x89, 0x47, 0x02, 0x95, - 0x14, 0x0e, 0xb3, 0x27, 0x53, 0x38, 0x48, 0x11, 0xcf, 0xe6, 0x4e, 0x12, 0xf1, 0x6c, 0xe3, 0x3e, - 0xe4, 0xa4, 0xf6, 0x9c, 0x4a, 0x7a, 0xfd, 0x66, 0x0a, 0x96, 0xb0, 0x57, 0xbe, 0x4d, 0xc8, 0x4f, - 0xa7, 0xfa, 0xe4, 0xb5, 0x90, 0xfa, 0x64, 0x5d, 0x9e, 0x2f, 0xd6, 0xb3, 0x29, 0x7a, 0x93, 0x07, - 0xb0, 0x1a, 0x43, 0x24, 0xaf, 0xc0, 0x2c, 0x6d, 0xbe, 0xb8, 0x6e, 0xaa, 0xd1, 0x15, 0x10, 0x44, - 0xc7, 0xa5, 0x1d, 0xf7, 0x2c, 0x86, 0xad, 0xfd, 0x97, 0x02, 0x8b, 0x3c, 0x39, 0x45, 0xef, 0xa0, - 0xff, 0xd4, 0xe1, 0xbc, 0x11, 0x1d, 0x4e, 0x16, 0x83, 0x83, 0x0f, 0xe7, 0xff, 0xf6, 0x20, 0xde, - 0x0f, 0x0d, 0xe2, 0x39, 0x3f, 0x56, 0x9e, 0xe8, 0xce, 0x94, 0x31, 0xfc, 0x6b, 0x8c, 0x1e, 0x1b, - 0x46, 0x24, 0x5f, 0x85, 0x85, 0xaa, 0xfb, 0x38, 0x74, 0x6b, 0xbb, 0x31, 0xa1, 0xd2, 0x17, 0x7d, - 0x44, 0xb6, 0xa7, 0xf0, 0xc0, 0xeb, 0xb9, 0x8f, 0x9d, 0xd8, 0x0b, 0x54, 0x50, 0x25, 0xbd, 0xb8, - 0x85, 0xc9, 0x4e, 0xb3, 0xf4, 0xb9, 0x1b, 0x24, 0x86, 0x95, 0xf9, 0x76, 0x1a, 0x20, 0xf0, 0x20, - 0xa3, 0x1b, 0x30, 0xf4, 0xf8, 0x2e, 0x14, 0xde, 0x08, 0x92, 0xd7, 0xb8, 0x78, 0x93, 0xbf, 0xc1, - 0x15, 0xb3, 0xa9, 0xc9, 0xb1, 0x0c, 0x51, 0x45, 0x5b, 0xe0, 0x2e, 0x4b, 0x6d, 0xb7, 0xdb, 0x62, - 0xbc, 0x3d, 0xbd, 0x75, 0x0d, 0x43, 0xd7, 0xfa, 0xd0, 0x09, 0x59, 0x86, 0xd1, 0xb1, 0xa9, 0x48, - 0x11, 0x62, 0x5e, 0x99, 0x99, 0xd3, 0x79, 0x65, 0xd6, 0x61, 0xa1, 0xd3, 0x7b, 0xc7, 0xed, 0x8d, - 0xfa, 0xc3, 0x27, 0xa8, 0x8d, 0x0e, 0xd4, 0x5c, 0x74, 0x08, 0x4c, 0x51, 0xc6, 0xe6, 0x01, 0x0f, - 0x46, 0x1f, 0x5f, 0x9e, 0x06, 0x1f, 0xe8, 0x7b, 0x95, 0xce, 0xaa, 0x73, 0x0f, 0x32, 0xd9, 0x39, - 0x75, 0xfe, 0x41, 0x26, 0x9b, 0x55, 0x17, 0x1e, 0x64, 0xb2, 0x0b, 0x2a, 0x58, 0xd2, 0xfb, 0x8e, - 0xff, 0x7e, 0x23, 0x3d, 0xb9, 0x84, 0x9f, 0x53, 0xb4, 0x9f, 0xa4, 0x80, 0xc4, 0x9b, 0x41, 0x5e, - 0x83, 0x1c, 0x63, 0xb0, 0xce, 0xd0, 0xfb, 0x3a, 0x37, 0x5b, 0x67, 0xc1, 0x79, 0x24, 0xb0, 0x1c, - 0x9c, 0x87, 0x81, 0x2d, 0xef, 0xeb, 0x5d, 0xf2, 0x15, 0x38, 0x83, 0xc3, 0x3b, 0x70, 0x87, 0x9d, - 0x7e, 0xdb, 0xc1, 0x48, 0xaa, 0xad, 0x2e, 0xcf, 0x08, 0xf8, 0x02, 0xa6, 0xae, 0x8d, 0x17, 0x4f, - 0x98, 0x06, 0x74, 0x14, 0xab, 0x23, 0x66, 0x9d, 0x21, 0x92, 0x06, 0xa8, 0x32, 0xfd, 0xc1, 0xb8, - 0xdb, 0xe5, 0x33, 0x9b, 0xa7, 0x17, 0xdd, 0x68, 0xd9, 0x84, 0x8a, 0x97, 0x83, 0x8a, 0x4b, 0xe3, - 0x6e, 0x97, 0xdc, 0x03, 0xe8, 0xf7, 0x9c, 0xe3, 0x8e, 0xe7, 0xb1, 0x37, 0x0e, 0xdf, 0xa7, 0x35, - 0x80, 0xca, 0x93, 0xd1, 0xef, 0x55, 0x18, 0x90, 0xfc, 0x1c, 0xa0, 0x4f, 0x3f, 0x06, 0xbb, 0x60, - 0x56, 0x2d, 0x3c, 0xc7, 0x87, 0x00, 0x86, 0x5d, 0x68, 0x0f, 0x5d, 0xbb, 0xf3, 0xae, 0x70, 0x19, - 0x78, 0x13, 0x56, 0xb9, 0x11, 0xea, 0x5e, 0x67, 0x74, 0xc4, 0x25, 0xec, 0x67, 0x11, 0xcf, 0x25, - 0x11, 0xfb, 0x1f, 0x32, 0x00, 0xfa, 0x9e, 0x2d, 0xe2, 0x48, 0xdd, 0x82, 0x59, 0x7a, 0x6f, 0x10, - 0xfa, 0x07, 0xd4, 0xde, 0x62, 0xbd, 0xb2, 0xf6, 0x16, 0x31, 0xe8, 0x6e, 0xb4, 0xd0, 0x38, 0x5b, - 0xe8, 0x1e, 0x70, 0x37, 0x32, 0x7b, 0xed, 0x50, 0x1c, 0x5f, 0x8e, 0x45, 0xca, 0x00, 0x41, 0x64, - 0x27, 0x7e, 0x93, 0x5d, 0x0d, 0x42, 0xa4, 0xf0, 0x02, 0x9e, 0x4b, 0x20, 0x88, 0x0e, 0x25, 0x2f, - 0x9f, 0x00, 0x8d, 0x3c, 0x84, 0x4c, 0xa3, 0xe5, 0x7b, 0x6c, 0x4e, 0x88, 0x77, 0x75, 0x99, 0x67, - 0x6c, 0x0c, 0x62, 0x5e, 0x2d, 0x8f, 0x5a, 0xa1, 0xc4, 0xb6, 0x58, 0x09, 0x31, 0x60, 0x8e, 0x67, - 0xe3, 0x9e, 0x10, 0x27, 0x91, 0x27, 0xe3, 0xe6, 0xd1, 0x91, 0x11, 0x28, 0xcb, 0x14, 0x3c, 0xef, - 0xf6, 0x5d, 0x48, 0xdb, 0x76, 0x85, 0x47, 0x79, 0x58, 0x0a, 0x6e, 0x25, 0xb6, 0x5d, 0x61, 0x6f, - 0x94, 0x9e, 0x77, 0x2c, 0x91, 0x51, 0x64, 0xf2, 0x39, 0xc8, 0x49, 0xe2, 0x33, 0x8f, 0x8f, 0x82, - 0x63, 0x20, 0x79, 0xcd, 0xc8, 0x4c, 0x43, 0xc2, 0x26, 0x65, 0x50, 0x1f, 0x8e, 0xdf, 0x76, 0xf5, - 0xc1, 0x00, 0x9d, 0xe5, 0xde, 0x71, 0x87, 0x4c, 0x6c, 0xcb, 0x06, 0x81, 0x85, 0xd1, 0xd6, 0xbe, - 0x2d, 0x4a, 0x65, 0x1d, 0x4c, 0x94, 0x92, 0xd4, 0x61, 0xd5, 0x76, 0x47, 0xe3, 0x01, 0xb3, 0xd3, - 0x28, 0xf5, 0x87, 0xf4, 0x12, 0xc2, 0xa2, 0xa9, 0x60, 0x0c, 0x56, 0x8f, 0x16, 0x0a, 0xe3, 0x98, - 0x83, 0xfe, 0x30, 0x72, 0x21, 0x89, 0x13, 0x6b, 0xae, 0x3c, 0xe5, 0xf4, 0x54, 0x0d, 0x5f, 0x6d, - 0xf0, 0x54, 0x15, 0x57, 0x9b, 0xe0, 0x42, 0xf3, 0x52, 0x42, 0xc4, 0x2f, 0x7c, 0x30, 0x93, 0x22, - 0x7e, 0x85, 0xe2, 0x7c, 0xbd, 0x97, 0x91, 0x82, 0x4e, 0xf2, 0xb9, 0x78, 0x1d, 0xe0, 0x41, 0xbf, - 0xd3, 0xab, 0xb8, 0xa3, 0xa3, 0x7e, 0x5b, 0x0a, 0x3c, 0x96, 0xfb, 0xc5, 0x7e, 0xa7, 0xe7, 0x1c, - 0x23, 0xf8, 0x27, 0x1f, 0x5c, 0x92, 0x90, 0x2c, 0xe9, 0x7f, 0xf2, 0x69, 0x58, 0xa0, 0xbf, 0x1a, - 0x81, 0xb5, 0x09, 0x53, 0x55, 0x22, 0x35, 0x4b, 0xcd, 0x10, 0x20, 0x90, 0xfb, 0x98, 0x8c, 0xa4, - 0x33, 0x18, 0x49, 0xc2, 0xab, 0xc8, 0x3c, 0xd2, 0x19, 0x8c, 0xa2, 0x71, 0x84, 0x25, 0x64, 0xb2, - 0xe3, 0x37, 0x5d, 0xe4, 0x0f, 0xe2, 0x39, 0x4f, 0x50, 0x1f, 0xc7, 0xd7, 0x9a, 0x23, 0x02, 0x98, - 0xca, 0x99, 0x5e, 0x23, 0x64, 0xd8, 0x08, 0x7b, 0xa7, 0xc8, 0x1e, 0x50, 0xb8, 0x50, 0xcb, 0x1a, - 0xe1, 0x1d, 0xb5, 0x9d, 0x7d, 0x04, 0x87, 0x1a, 0xe1, 0x23, 0x93, 0x2d, 0x58, 0x61, 0x32, 0xbe, - 0x9f, 0x87, 0x90, 0x8b, 0xb8, 0xc8, 0xdb, 0x82, 0x44, 0x85, 0xf2, 0xe7, 0x23, 0x04, 0xa4, 0x04, - 0xb3, 0x78, 0x21, 0xe4, 0x26, 0xe6, 0x9b, 0xf2, 0xed, 0x39, 0xba, 0x8f, 0x90, 0xaf, 0xe0, 0xbd, - 0x59, 0xe6, 0x2b, 0x88, 0x4a, 0xbe, 0x04, 0x60, 0xf4, 0x86, 0xfd, 0x6e, 0x17, 0x43, 0xec, 0x66, - 0xf1, 0x2a, 0x75, 0x21, 0xbc, 0x1f, 0xb1, 0x96, 0x00, 0x89, 0x87, 0x83, 0xc3, 0xdf, 0x4e, 0x24, - 0x10, 0xaf, 0x54, 0x97, 0x66, 0xc2, 0x1c, 0xdb, 0x8c, 0x18, 0xae, 0x9a, 0x27, 0xe0, 0x90, 0x82, - 0x1d, 0xb3, 0x70, 0xd5, 0x1c, 0x1e, 0x0f, 0x57, 0x2d, 0x11, 0x68, 0x0f, 0x61, 0x2d, 0xa9, 0x63, - 0xa1, 0x2b, 0xac, 0x72, 0xd2, 0x2b, 0xec, 0x1f, 0xa7, 0x61, 0x11, 0x6b, 0x13, 0x5c, 0x58, 0x87, - 0x25, 0x7b, 0xfc, 0xb6, 0x1f, 0xcb, 0x49, 0x70, 0x63, 0x6c, 0x9f, 0x27, 0x17, 0xc8, 0x4f, 0x5b, - 0x21, 0x0a, 0x62, 0xc0, 0xb2, 0x38, 0x09, 0xb6, 0x85, 0x05, 0xba, 0x1f, 0x29, 0x5a, 0xc4, 0x23, - 0x8c, 0xe7, 0x61, 0x8d, 0x10, 0x05, 0xe7, 0x41, 0xfa, 0x34, 0xe7, 0x41, 0xe6, 0x44, 0xe7, 0xc1, - 0x5b, 0xb0, 0x28, 0xbe, 0x86, 0x9c, 0x7c, 0xf6, 0xd9, 0x38, 0x79, 0xa8, 0x32, 0x52, 0xf6, 0x39, - 0xfa, 0xdc, 0x54, 0x8e, 0x8e, 0xef, 0x85, 0x62, 0x97, 0x0d, 0x10, 0x16, 0x67, 0xec, 0x98, 0xa8, - 0x70, 0xbb, 0x50, 0xff, 0x08, 0xa7, 0xe4, 0x2b, 0xb0, 0x50, 0xee, 0x8b, 0xa7, 0x22, 0x49, 0x47, - 0xdf, 0x15, 0x40, 0x59, 0x5c, 0xf0, 0x31, 0xfd, 0xd3, 0x2d, 0xfd, 0x71, 0x9c, 0x6e, 0xf7, 0x01, - 0xb8, 0x6b, 0x43, 0x90, 0x60, 0x0c, 0xb7, 0x8c, 0x88, 0x63, 0x11, 0x7e, 0x2a, 0x90, 0x90, 0x29, - 0x77, 0xe2, 0x56, 0x28, 0xfa, 0xfe, 0x7e, 0x7f, 0xdc, 0x1b, 0x85, 0x32, 0xf2, 0x0a, 0x4f, 0xc8, - 0x16, 0x2f, 0x93, 0xd9, 0x43, 0x84, 0xec, 0xe3, 0x9d, 0x10, 0xf2, 0x45, 0xdf, 0x88, 0x6e, 0x7e, - 0xda, 0x08, 0x69, 0xb1, 0x11, 0x9a, 0x68, 0x3a, 0xa7, 0xfd, 0x40, 0x91, 0xc3, 0xf4, 0x7f, 0x84, - 0xa9, 0x7e, 0x15, 0xc0, 0x7f, 0xab, 0x17, 0x73, 0xcd, 0xee, 0x4b, 0x3e, 0x54, 0x1e, 0xe5, 0x00, - 0x57, 0xea, 0x4d, 0xfa, 0xe3, 0xea, 0x4d, 0x03, 0x72, 0xb5, 0xaf, 0x8d, 0x5a, 0x81, 0x71, 0x07, - 0xd8, 0xbe, 0x24, 0x8b, 0x9c, 0x29, 0xbd, 0x75, 0x1d, 0xcf, 0x86, 0x40, 0x0e, 0x9e, 0x20, 0x02, - 0x4b, 0x84, 0xda, 0x1f, 0x28, 0xb0, 0x22, 0xbb, 0x6f, 0x3f, 0xe9, 0xed, 0x93, 0xcf, 0xb3, 0xa8, - 0xa1, 0x4a, 0xe8, 0xca, 0x22, 0x21, 0x51, 0x96, 0xfb, 0xa4, 0xb7, 0xcf, 0x04, 0xa0, 0xd6, 0x63, - 0xb9, 0xb1, 0x94, 0x30, 0x38, 0x37, 0x52, 0x21, 0x8b, 0x21, 0xb9, 0x06, 0x5a, 0x8c, 0x75, 0x4c, - 0x39, 0x37, 0xb4, 0x1f, 0x29, 0x40, 0xe2, 0x9f, 0x95, 0xd9, 0x92, 0xf2, 0x7f, 0x20, 0xa6, 0x46, - 0xc4, 0xbb, 0xcc, 0x69, 0xc4, 0x3b, 0xed, 0xbf, 0x15, 0x58, 0x4b, 0x1a, 0x87, 0xd3, 0x77, 0xea, - 0x75, 0x58, 0x96, 0xcf, 0x07, 0x5f, 0xac, 0x9a, 0x40, 0x17, 0x41, 0x26, 0xf7, 0x20, 0xd7, 0x3c, - 0xee, 0xf8, 0x46, 0x7a, 0xe9, 0x69, 0xb4, 0x32, 0xe6, 0x33, 0x75, 0x3f, 0xff, 0xdb, 0x0a, 0xac, - 0x98, 0x7a, 0x85, 0xe7, 0x26, 0x60, 0x6f, 0x37, 0x57, 0xe0, 0x82, 0xa9, 0x57, 0x9c, 0x7a, 0xad, - 0x6c, 0x16, 0x1e, 0x39, 0x89, 0x21, 0x87, 0x2f, 0xc0, 0xf3, 0x71, 0x94, 0xe0, 0x8d, 0xe7, 0x3c, - 0xac, 0xc7, 0x8b, 0x45, 0x58, 0xe2, 0x64, 0x62, 0x11, 0xc1, 0x38, 0x9d, 0x7f, 0x03, 0x56, 0x44, - 0x08, 0xde, 0x46, 0xd9, 0xc6, 0x20, 0xff, 0x2b, 0x90, 0xdb, 0x35, 0x2c, 0xb3, 0xf4, 0xc8, 0x29, - 0x35, 0xcb, 0x65, 0x75, 0x86, 0x2c, 0xc1, 0x02, 0x07, 0x14, 0x74, 0x55, 0x21, 0x8b, 0x90, 0x35, - 0xab, 0xb6, 0x51, 0x68, 0x5a, 0x86, 0x9a, 0xca, 0xbf, 0x01, 0xcb, 0xf5, 0x61, 0xe7, 0x9d, 0xd6, - 0xc8, 0x7d, 0xe8, 0x3e, 0xc1, 0x27, 0x9a, 0x79, 0x48, 0x5b, 0xfa, 0x9e, 0x3a, 0x43, 0x00, 0xe6, - 0xea, 0x0f, 0x0b, 0xf6, 0x9d, 0x3b, 0xaa, 0x42, 0x72, 0x30, 0xbf, 0x5d, 0xa8, 0x3b, 0x0f, 0x2b, - 0xb6, 0x9a, 0xa2, 0x3f, 0xf4, 0x3d, 0x1b, 0x7f, 0xa4, 0xf3, 0x9f, 0x81, 0x55, 0x94, 0xb9, 0xca, - 0x1d, 0x6f, 0xe4, 0xf6, 0xdc, 0x21, 0xb6, 0x61, 0x11, 0xb2, 0xb6, 0x4b, 0x99, 0xe5, 0xc8, 0x65, - 0x0d, 0xa8, 0x8c, 0xbb, 0xa3, 0xce, 0xa0, 0xeb, 0x7e, 0x43, 0x55, 0xf2, 0xf7, 0x61, 0xc5, 0xea, - 0x8f, 0x47, 0x9d, 0xde, 0xa1, 0x3d, 0xa2, 0x18, 0x87, 0x4f, 0xc8, 0x73, 0xb0, 0xda, 0xac, 0xea, - 0x95, 0x2d, 0x73, 0xbb, 0x59, 0x6b, 0xda, 0x4e, 0x45, 0x6f, 0x14, 0x76, 0xd8, 0x03, 0x51, 0xa5, - 0x66, 0x37, 0x1c, 0xcb, 0x28, 0x18, 0xd5, 0x86, 0xaa, 0xe4, 0xbf, 0x83, 0xea, 0xa3, 0xfd, 0x7e, - 0xaf, 0x5d, 0x6a, 0xed, 0x8f, 0xfa, 0x43, 0x6c, 0xb0, 0x06, 0x17, 0x6d, 0xa3, 0x50, 0xab, 0x16, - 0x9d, 0x92, 0x5e, 0x68, 0xd4, 0xac, 0xa4, 0x98, 0xd7, 0x1b, 0x70, 0x36, 0x01, 0xa7, 0xd6, 0xa8, - 0xab, 0x0a, 0xb9, 0x04, 0x9b, 0x09, 0x65, 0x7b, 0xc6, 0x96, 0xde, 0x6c, 0xec, 0x54, 0xd5, 0xd4, - 0x04, 0x62, 0xdb, 0xae, 0xa9, 0xe9, 0xfc, 0xaf, 0x2b, 0xb0, 0xdc, 0xf4, 0xb8, 0x75, 0x76, 0x13, - 0x1d, 0x33, 0x2f, 0xc3, 0xf9, 0xa6, 0x6d, 0x58, 0x4e, 0xa3, 0xf6, 0xd0, 0xa8, 0x3a, 0x4d, 0x5b, - 0xdf, 0x8e, 0xb6, 0xe6, 0x12, 0x6c, 0x4a, 0x18, 0x96, 0x51, 0xa8, 0xed, 0x1a, 0x96, 0x53, 0xd7, - 0x6d, 0x7b, 0xaf, 0x66, 0x15, 0x55, 0x85, 0x7e, 0x31, 0x01, 0xa1, 0x52, 0xd2, 0x59, 0x6b, 0x42, - 0x65, 0x55, 0x63, 0x4f, 0x2f, 0x3b, 0x5b, 0xb5, 0x86, 0x9a, 0xce, 0x57, 0xa8, 0x08, 0x83, 0x91, - 0x67, 0x99, 0x4d, 0x61, 0x16, 0x32, 0xd5, 0x5a, 0xd5, 0x88, 0x3e, 0x2b, 0x2e, 0x42, 0x56, 0xaf, - 0xd7, 0xad, 0xda, 0x2e, 0x2e, 0x31, 0x80, 0xb9, 0xa2, 0x51, 0xa5, 0x2d, 0x4b, 0xd3, 0x92, 0xba, - 0x55, 0xab, 0xd4, 0x1a, 0x46, 0x51, 0xcd, 0xe4, 0x2d, 0xc1, 0xc1, 0x44, 0xa5, 0xfb, 0x7d, 0xf6, - 0x86, 0x57, 0x34, 0x4a, 0x7a, 0xb3, 0xdc, 0xe0, 0x53, 0xf4, 0xc8, 0xb1, 0x8c, 0x2f, 0x36, 0x0d, - 0xbb, 0x61, 0xab, 0x0a, 0x51, 0x61, 0xb1, 0x6a, 0x18, 0x45, 0xdb, 0xb1, 0x8c, 0x5d, 0xd3, 0xd8, - 0x53, 0x53, 0xb4, 0x4e, 0xf6, 0x3f, 0xfd, 0x42, 0xfe, 0x3d, 0x05, 0x08, 0x8b, 0xda, 0x2b, 0x52, - 0xc1, 0xe0, 0x8a, 0xb9, 0x08, 0x1b, 0x3b, 0x74, 0xaa, 0xb1, 0x6b, 0x95, 0x5a, 0x31, 0x3a, 0x64, - 0x67, 0x81, 0x44, 0xca, 0x6b, 0xa5, 0x92, 0xaa, 0x90, 0x4d, 0x38, 0x13, 0x81, 0x17, 0xad, 0x5a, - 0x5d, 0x4d, 0x6d, 0xa4, 0xb2, 0x0a, 0x39, 0x17, 0x2b, 0x7c, 0x68, 0x18, 0x75, 0x35, 0x4d, 0xa7, - 0x28, 0x52, 0x20, 0xb6, 0x04, 0x23, 0xcf, 0xe4, 0xbf, 0xa5, 0xc0, 0x59, 0xd6, 0x4c, 0xb1, 0xbf, - 0xfc, 0xa6, 0x9e, 0x87, 0x75, 0x1e, 0x8b, 0x3c, 0xa9, 0xa1, 0x6b, 0xa0, 0x86, 0x4a, 0x59, 0x33, - 0x9f, 0x83, 0xd5, 0x10, 0x14, 0xdb, 0x91, 0xa2, 0xdc, 0x23, 0x04, 0xde, 0x32, 0xec, 0x86, 0x63, - 0x94, 0x4a, 0x35, 0xab, 0xc1, 0x1a, 0x92, 0xce, 0x6b, 0xb0, 0x5a, 0x70, 0x87, 0x23, 0x7a, 0xbb, - 0xec, 0x79, 0x9d, 0x7e, 0x0f, 0x9b, 0xb0, 0x04, 0x0b, 0xc6, 0x97, 0x1a, 0x46, 0xd5, 0x36, 0x6b, - 0x55, 0x75, 0x26, 0x7f, 0x3e, 0x82, 0x23, 0xf6, 0xb1, 0x6d, 0xef, 0xa8, 0x33, 0xf9, 0x16, 0x2c, - 0x09, 0x3b, 0x68, 0xb6, 0x2a, 0x2e, 0xc2, 0x86, 0x58, 0x6b, 0xc8, 0x51, 0xa2, 0x5d, 0x58, 0x87, - 0xb5, 0x78, 0xb9, 0xd1, 0x50, 0x15, 0x3a, 0x0b, 0x91, 0x12, 0x0a, 0x4f, 0xe5, 0x7f, 0x55, 0x81, - 0x25, 0xff, 0x5d, 0x08, 0x35, 0xd1, 0x97, 0x60, 0xb3, 0x52, 0xd2, 0x9d, 0xa2, 0xb1, 0x6b, 0x16, - 0x0c, 0xe7, 0xa1, 0x59, 0x2d, 0x46, 0x3e, 0xf2, 0x3c, 0x3c, 0x97, 0x80, 0x80, 0x5f, 0x59, 0x87, - 0xb5, 0x68, 0x51, 0x83, 0x6e, 0xd5, 0x14, 0x1d, 0xfa, 0x68, 0x89, 0xbf, 0x4f, 0xd3, 0xf9, 0x3f, - 0x52, 0x60, 0x9d, 0xe7, 0xda, 0xe7, 0x2f, 0x54, 0x2c, 0x09, 0x0b, 0x46, 0x29, 0xce, 0xc3, 0x8d, - 0x86, 0xd5, 0xb4, 0x1b, 0x46, 0x51, 0x90, 0xd3, 0x45, 0x6b, 0x5a, 0x46, 0xc5, 0xa8, 0x36, 0x22, - 0x6d, 0xbb, 0x0d, 0x9f, 0x9a, 0x82, 0x5b, 0xad, 0x35, 0xc4, 0x6f, 0xba, 0x57, 0x3f, 0x05, 0x57, - 0xa7, 0x20, 0xfb, 0x88, 0xa9, 0xfc, 0x2e, 0x2c, 0xdb, 0x7a, 0xa5, 0x5c, 0xea, 0x0f, 0xf7, 0x5d, - 0x7d, 0x3c, 0x3a, 0xea, 0x91, 0x4d, 0x38, 0x57, 0xaa, 0x59, 0x05, 0xc3, 0xc1, 0x1e, 0x44, 0x1a, - 0x71, 0x06, 0x56, 0xe4, 0xc2, 0x47, 0x06, 0xdd, 0x5d, 0x04, 0x96, 0x65, 0x60, 0xb5, 0xa6, 0xa6, - 0xf2, 0x5f, 0x86, 0xc5, 0x50, 0xc2, 0xba, 0x73, 0x70, 0x46, 0xfe, 0x5d, 0x77, 0x7b, 0xed, 0x4e, - 0xef, 0x50, 0x9d, 0x89, 0x16, 0x58, 0xe3, 0x5e, 0x8f, 0x16, 0x20, 0xbb, 0x91, 0x0b, 0x1a, 0xee, - 0xf0, 0xb8, 0xd3, 0x6b, 0x8d, 0xdc, 0xb6, 0x9a, 0xca, 0xbf, 0x08, 0x4b, 0xa1, 0x30, 0xd9, 0x74, - 0x5d, 0x95, 0x6b, 0xfc, 0x7c, 0xa8, 0x18, 0x45, 0xb3, 0x59, 0x51, 0x67, 0x29, 0xa3, 0xd9, 0x31, - 0xb7, 0x77, 0x54, 0xc8, 0x7f, 0x57, 0xa1, 0x37, 0x3d, 0x1c, 0xf7, 0x4a, 0x49, 0x17, 0x2b, 0x91, - 0xee, 0x02, 0x16, 0x7c, 0xdf, 0xb0, 0x6d, 0xf6, 0xd8, 0x7f, 0x1e, 0xd6, 0xf9, 0x0f, 0x47, 0xaf, - 0x16, 0x9d, 0x1d, 0xdd, 0x2a, 0xee, 0xe9, 0x16, 0xdd, 0x1a, 0x8f, 0xd4, 0x14, 0xee, 0x77, 0x09, - 0xe2, 0x34, 0x6a, 0xcd, 0xc2, 0x8e, 0x9a, 0xa6, 0xdb, 0x2b, 0x04, 0xaf, 0x9b, 0x55, 0x35, 0x83, - 0xdc, 0x23, 0x86, 0x8d, 0xd5, 0xd2, 0xf2, 0xd9, 0xfc, 0x87, 0x0a, 0x9c, 0xb3, 0x3b, 0x87, 0xbd, - 0xd6, 0x68, 0x3c, 0x74, 0xf5, 0xee, 0x61, 0x7f, 0xd8, 0x19, 0x1d, 0x1d, 0xdb, 0xe3, 0xce, 0xc8, - 0x25, 0xb7, 0xe0, 0xba, 0x6d, 0x6e, 0x57, 0xf5, 0x06, 0xdd, 0xfd, 0x7a, 0x79, 0xbb, 0x66, 0x99, - 0x8d, 0x9d, 0x8a, 0x63, 0x37, 0xcd, 0xd8, 0xc6, 0xb8, 0x06, 0x97, 0x27, 0xa3, 0x96, 0x8d, 0x6d, - 0xbd, 0xf0, 0x48, 0x55, 0xa6, 0x57, 0xb8, 0xa5, 0x97, 0xf5, 0x6a, 0xc1, 0x28, 0x3a, 0xbb, 0x77, - 0xd4, 0x14, 0xb9, 0x0e, 0x57, 0x26, 0xa3, 0x96, 0xcc, 0xba, 0x4d, 0xd1, 0xd2, 0xd3, 0xbf, 0xbb, - 0x63, 0x57, 0x28, 0x56, 0x26, 0xff, 0x87, 0x0a, 0xac, 0x4f, 0x8a, 0x95, 0x44, 0x6e, 0x80, 0x66, - 0x54, 0x1b, 0x96, 0x6e, 0x16, 0x9d, 0x82, 0x65, 0x14, 0x8d, 0x6a, 0xc3, 0xd4, 0xcb, 0xb6, 0x63, - 0xd7, 0x9a, 0x74, 0x35, 0x05, 0x36, 0x19, 0x57, 0xe1, 0xd2, 0x14, 0xbc, 0x9a, 0x59, 0x2c, 0xa8, - 0x0a, 0xb9, 0x03, 0x2f, 0x4c, 0x41, 0xb2, 0x1f, 0xd9, 0x0d, 0xa3, 0x22, 0x97, 0xa8, 0xa9, 0x7c, - 0x01, 0x36, 0x26, 0x87, 0x5b, 0xa1, 0xa7, 0x48, 0x78, 0xa4, 0xb3, 0x90, 0x29, 0xd2, 0x83, 0x2b, - 0x94, 0xa3, 0x21, 0xdf, 0x01, 0x35, 0x1a, 0x31, 0x21, 0x66, 0x3c, 0x63, 0x35, 0xab, 0x55, 0x76, - 0xca, 0xad, 0x40, 0xae, 0xd6, 0xd8, 0x31, 0x2c, 0x9e, 0xe5, 0x02, 0xd3, 0x5a, 0x34, 0xab, 0x74, - 0xe3, 0xd4, 0x2c, 0xf3, 0x4d, 0x3c, 0xee, 0xd6, 0x61, 0xcd, 0x2e, 0xeb, 0x85, 0x87, 0xb8, 0xa7, - 0xcd, 0xaa, 0x53, 0xd8, 0xd1, 0xab, 0x55, 0xa3, 0xac, 0x02, 0x0e, 0xe6, 0x24, 0x2f, 0x49, 0xf2, - 0x69, 0xb8, 0x59, 0x7b, 0xd8, 0xd0, 0x9d, 0x7a, 0xb9, 0xb9, 0x6d, 0x56, 0x1d, 0xfb, 0x51, 0xb5, - 0x20, 0x44, 0xb3, 0x42, 0xfc, 0x44, 0xb8, 0x09, 0xd7, 0xa6, 0x62, 0x07, 0xf9, 0x28, 0x6e, 0x80, - 0x36, 0x15, 0x93, 0x77, 0x24, 0xff, 0x43, 0x05, 0x36, 0xa7, 0xbc, 0xe2, 0x93, 0x17, 0xe0, 0xd6, - 0x8e, 0xa1, 0x17, 0xcb, 0x86, 0x6d, 0x23, 0xa3, 0xa0, 0xd3, 0xc0, 0x8c, 0x6c, 0x12, 0xf9, 0xfd, - 0x2d, 0xb8, 0x3e, 0x1d, 0x3d, 0x90, 0x1c, 0x6e, 0xc2, 0xb5, 0xe9, 0xa8, 0x5c, 0x92, 0x48, 0x51, - 0x7e, 0x3b, 0x1d, 0xd3, 0x97, 0x40, 0xd2, 0xf9, 0xdf, 0x54, 0xe0, 0x6c, 0xb2, 0x2a, 0x8d, 0xb6, - 0xcd, 0xac, 0xda, 0x0d, 0xbd, 0x5c, 0x76, 0xea, 0xba, 0xa5, 0x57, 0x1c, 0xa3, 0x6a, 0xd5, 0xca, - 0xe5, 0xa4, 0x93, 0xf7, 0x1a, 0x5c, 0x9e, 0x8c, 0x6a, 0x17, 0x2c, 0xb3, 0x4e, 0x0f, 0x17, 0x0d, - 0x2e, 0x4e, 0xc6, 0x32, 0xcc, 0x82, 0xa1, 0xa6, 0xb6, 0x5e, 0x7f, 0xff, 0x9f, 0x2f, 0xce, 0xbc, - 0xff, 0xe1, 0x45, 0xe5, 0x47, 0x1f, 0x5e, 0x54, 0xfe, 0xe9, 0xc3, 0x8b, 0xca, 0x9b, 0xb7, 0x4f, - 0x96, 0xca, 0x09, 0x6f, 0x65, 0x6f, 0xcf, 0xa1, 0x55, 0xd9, 0xcb, 0xff, 0x13, 0x00, 0x00, 0xff, - 0xff, 0x78, 0x4e, 0x87, 0xcf, 0x9e, 0xb1, 0x01, 0x00, + 0xf1, 0xff, 0xb1, 0x77, 0x35, 0xb1, 0x8d, 0x24, 0xd7, 0x59, 0x4d, 0x52, 0x12, 0xf5, 0xa8, 0x9f, + 0x56, 0x8d, 0x76, 0x46, 0x2b, 0xcd, 0x6f, 0xcf, 0x8f, 0x67, 0x38, 0xde, 0xb5, 0x67, 0x36, 0xf6, + 0x7a, 0xec, 0xac, 0xed, 0x16, 0xd9, 0x94, 0x7a, 0x86, 0x7f, 0xee, 0x26, 0x25, 0x8f, 0xd7, 0x76, + 0x87, 0x4b, 0xb6, 0x24, 0xc6, 0x14, 0x49, 0xb3, 0xc9, 0x1d, 0xcf, 0x22, 0x40, 0x62, 0x04, 0xb0, + 0x01, 0xe7, 0xc7, 0x89, 0x13, 0x20, 0x4e, 0x10, 0x20, 0x87, 0x2c, 0x82, 0x1c, 0x72, 0x4f, 0x90, + 0xe4, 0xe2, 0xdb, 0x02, 0x86, 0x01, 0x03, 0xc9, 0x29, 0x01, 0x36, 0xc9, 0x02, 0xc9, 0x21, 0xc9, + 0x2d, 0x88, 0x0f, 0x3e, 0x05, 0xf5, 0xaa, 0xaa, 0xbb, 0xfa, 0x87, 0x1c, 0x69, 0x67, 0x37, 0x89, + 0x01, 0x9f, 0x24, 0xbe, 0x7a, 0x55, 0x5d, 0xff, 0xf5, 0xea, 0xd5, 0x7b, 0xdf, 0xa3, 0xfc, 0x7e, + 0xa9, 0xe7, 0x5a, 0x71, 0x22, 0x6f, 0xc3, 0x3f, 0xf9, 0x4b, 0x3d, 0xa1, 0x3a, 0x09, 0xd3, 0x5a, + 0x49, 0x9a, 0xd6, 0xa7, 0x5f, 0x53, 0x55, 0x20, 0xf2, 0x66, 0xc5, 0xb4, 0x9e, 0xdc, 0xa0, 0x4a, + 0xc8, 0xe9, 0xbc, 0x22, 0xd2, 0xd6, 0x60, 0xb3, 0x60, 0x9a, 0xeb, 0xed, 0x28, 0x89, 0x6c, 0xc3, + 0x92, 0x1f, 0xaf, 0x9a, 0x1f, 0x1c, 0x59, 0x46, 0x30, 0x3b, 0xbc, 0x85, 0xdf, 0x54, 0xe0, 0xea, + 0xb3, 0x7a, 0x88, 0x1c, 0xc0, 0x79, 0x34, 0xda, 0xf0, 0x06, 0x7e, 0x27, 0x3b, 0xed, 0x56, 0xfb, + 0xd8, 0xe5, 0x73, 0x52, 0x4b, 0xec, 0xea, 0xe1, 0xd0, 0xb6, 0x6b, 0x52, 0x2f, 0x0f, 0x87, 0xb6, + 0x37, 0x10, 0xbf, 0x0b, 0x34, 0x3b, 0xaf, 0x43, 0x07, 0xb6, 0x67, 0xe4, 0x94, 0xb6, 0x05, 0x45, + 0xde, 0x16, 0x6e, 0x83, 0x7a, 0xe8, 0x76, 0xa8, 0xc4, 0xeb, 0x76, 0xb0, 0x6a, 0x6f, 0xde, 0x67, + 0xf1, 0xd7, 0xad, 0x55, 0x9f, 0x6e, 0x7b, 0x83, 0xfd, 0xfb, 0xfc, 0x2b, 0x27, 0xe2, 0x40, 0x93, + 0x2f, 0x0d, 0xe4, 0x65, 0x38, 0x17, 0x81, 0x13, 0x09, 0xfc, 0xd3, 0xad, 0x75, 0x9a, 0x14, 0x06, + 0x9f, 0xba, 0x06, 0xcb, 0x62, 0xcc, 0x47, 0xbe, 0x97, 0x9b, 0x95, 0xe3, 0x34, 0xba, 0xa6, 0xf8, + 0xe7, 0x26, 0xa2, 0x51, 0x89, 0xf7, 0x8d, 0x53, 0x48, 0xca, 0xe4, 0x25, 0x20, 0xbe, 0x54, 0xee, + 0x6f, 0x03, 0xfc, 0x83, 0xeb, 0x22, 0xc5, 0x5f, 0xbf, 0xfc, 0xb3, 0x7f, 0x9b, 0x82, 0x73, 0x09, + 0x17, 0x15, 0x2a, 0xe2, 0x77, 0xfb, 0x63, 0xf7, 0x88, 0x5d, 0x10, 0xe4, 0x46, 0xae, 0x49, 0x74, + 0xae, 0x7d, 0x5a, 0x60, 0xf1, 0xc5, 0xf9, 0xb7, 0xf8, 0x2f, 0xba, 0x35, 0xb4, 0x46, 0x42, 0xb1, + 0x42, 0xff, 0x25, 0x26, 0xac, 0x63, 0xd0, 0x04, 0xaf, 0x3b, 0xc0, 0xd8, 0x0b, 0x28, 0x62, 0x64, + 0x42, 0x57, 0x19, 0xac, 0x45, 0x5d, 0x62, 0xa2, 0x32, 0x86, 0xa5, 0x0e, 0x23, 0x14, 0xf2, 0x19, + 0xd8, 0x92, 0x4e, 0x12, 0x27, 0xb2, 0xae, 0xd0, 0x8e, 0xdd, 0xba, 0xd0, 0xf2, 0xcf, 0x94, 0x62, + 0x68, 0x85, 0xed, 0xc0, 0x65, 0x1c, 0xc4, 0x6e, 0x67, 0xe8, 0xc4, 0xa2, 0x6c, 0x60, 0x53, 0x19, + 0x2c, 0xfd, 0x16, 0xe5, 0x32, 0x3b, 0xc3, 0x48, 0xc0, 0x0d, 0xda, 0x6a, 0xde, 0x7d, 0xaf, 0xc3, + 0x0b, 0x89, 0x35, 0xa6, 0xc7, 0x07, 0x9a, 0x49, 0x05, 0x92, 0xcf, 0x22, 0xfd, 0x4d, 0x45, 0x9f, + 0x6b, 0xb0, 0xfc, 0x86, 0xdb, 0x1a, 0xb9, 0x23, 0x7e, 0x2e, 0xf3, 0x29, 0xc1, 0x68, 0xf2, 0xb1, + 0xdc, 0x09, 0x0f, 0x0d, 0xd7, 0x08, 0x91, 0x0a, 0x9c, 0x63, 0xe7, 0x5b, 0xf7, 0x04, 0x45, 0x3d, + 0xae, 0x45, 0x52, 0x42, 0xc2, 0x0e, 0x66, 0xc1, 0x83, 0xc7, 0x44, 0x2e, 0x96, 0xdb, 0x5a, 0x3f, + 0x8a, 0x92, 0xe8, 0x8a, 0x3e, 0x9f, 0xcc, 0x4d, 0x76, 0x20, 0xc7, 0x0a, 0x67, 0x42, 0x3f, 0x53, + 0xff, 0x5f, 0x9b, 0xf9, 0x85, 0x02, 0x5a, 0x0f, 0x7b, 0xfe, 0xff, 0xf4, 0x34, 0xc6, 0x97, 0x56, + 0xe7, 0x44, 0x7e, 0xdd, 0xb0, 0x96, 0x91, 0xc8, 0x5f, 0x35, 0xb4, 0xbf, 0x53, 0x44, 0x53, 0x43, + 0x57, 0x5f, 0x3a, 0xb5, 0x3c, 0xb7, 0x2f, 0x5e, 0x78, 0x96, 0x2c, 0xfe, 0xeb, 0x8c, 0x53, 0x9d, + 0xbc, 0x0a, 0xcb, 0xb4, 0xd8, 0xa3, 0x49, 0x9f, 0x4d, 0xb9, 0x74, 0x08, 0x46, 0xa7, 0xc2, 0x92, + 0xe8, 0xb0, 0xed, 0xcd, 0x59, 0xb9, 0x93, 0xe0, 0x27, 0x95, 0x85, 0xbd, 0x93, 0xf1, 0x50, 0x9e, + 0xa8, 0x42, 0x0d, 0x68, 0x57, 0x1a, 0x75, 0x9e, 0x25, 0x4b, 0x79, 0x02, 0x59, 0x78, 0x67, 0x81, + 0x29, 0x02, 0xb5, 0xbb, 0x90, 0x93, 0xca, 0xa6, 0x8d, 0x61, 0x7e, 0x31, 0xa2, 0x31, 0xec, 0x17, + 0x1f, 0xec, 0x37, 0x20, 0x2b, 0x8a, 0xa4, 0x42, 0xff, 0xf1, 0xc0, 0x13, 0x8b, 0x1c, 0xff, 0xa7, + 0x34, 0xda, 0xcb, 0xd8, 0xc8, 0x79, 0x0b, 0xff, 0xc7, 0x93, 0x62, 0xdc, 0xa2, 0xd2, 0x7e, 0xcf, + 0x73, 0x86, 0x68, 0x5f, 0xe5, 0x8b, 0xc6, 0x94, 0xde, 0xe8, 0x79, 0xcc, 0xea, 0x8a, 0x7f, 0xe3, + 0xaf, 0xfc, 0x23, 0x36, 0xa2, 0x2b, 0x98, 0xb6, 0x67, 0x86, 0x0e, 0x84, 0x54, 0xf8, 0x40, 0x20, + 0x57, 0x61, 0x99, 0xc1, 0xa3, 0xf0, 0x9c, 0xec, 0xcb, 0x80, 0x34, 0x1d, 0xb3, 0x07, 0x3b, 0x43, + 0x26, 0xb4, 0x33, 0x48, 0x37, 0xee, 0x60, 0xf4, 0x98, 0x0c, 0x27, 0x6e, 0xdc, 0xd1, 0x7d, 0xea, + 0xcf, 0x52, 0x42, 0x01, 0xb0, 0x33, 0x18, 0x8c, 0xbd, 0xf1, 0xa8, 0x35, 0x0c, 0x29, 0x3a, 0xc9, + 0x09, 0xbc, 0x88, 0xf2, 0xf1, 0x7d, 0x0c, 0x50, 0x31, 0x18, 0x09, 0x44, 0x0e, 0x7f, 0xe6, 0xe6, + 0xee, 0x7f, 0x2c, 0x2c, 0xc1, 0xeb, 0x94, 0x5b, 0x97, 0x99, 0xe9, 0x84, 0x95, 0x4a, 0xdd, 0x9b, + 0xb3, 0x2e, 0xb0, 0x32, 0x63, 0x5c, 0x64, 0x2f, 0x61, 0x11, 0x47, 0x35, 0x9d, 0x3b, 0xc1, 0x8a, + 0x0e, 0x97, 0x2a, 0xaf, 0x75, 0xf2, 0x59, 0x58, 0xea, 0x76, 0xe4, 0x38, 0x8c, 0x51, 0x1d, 0x9b, + 0xd9, 0x61, 0x58, 0xd0, 0x41, 0x19, 0x74, 0xce, 0x75, 0x39, 0x75, 0x67, 0x25, 0xa4, 0x12, 0xd6, + 0x76, 0xc4, 0x5d, 0x33, 0x9e, 0x8d, 0xac, 0x42, 0xca, 0x1f, 0xe1, 0x54, 0xb7, 0xc3, 0x96, 0x57, + 0x80, 0x46, 0x6d, 0xf1, 0x5f, 0xda, 0xaf, 0xc0, 0xed, 0xd3, 0xf6, 0x11, 0x5d, 0x8a, 0x53, 0x3a, + 0x7c, 0xc9, 0x5a, 0x6f, 0xc5, 0xfa, 0xed, 0x1a, 0xc8, 0x60, 0xba, 0x5d, 0xb1, 0xf9, 0x09, 0x5a, + 0x73, 0xd4, 0xd5, 0xfe, 0x32, 0x0d, 0xab, 0x61, 0x25, 0x38, 0xb9, 0x0b, 0x19, 0x69, 0x07, 0xba, + 0x90, 0xa0, 0x29, 0xc7, 0x7d, 0x07, 0x99, 0x4e, 0xb5, 0xe3, 0x90, 0x87, 0xb0, 0x8a, 0x66, 0x79, + 0x28, 0x58, 0x8e, 0xbb, 0xfc, 0x69, 0x65, 0xf6, 0xeb, 0x58, 0xf6, 0x9d, 0x77, 0xaf, 0xcc, 0xe1, + 0x43, 0xd8, 0x32, 0xcd, 0x4b, 0x65, 0x3b, 0x9a, 0x28, 0xe9, 0x38, 0x33, 0xd3, 0x75, 0x9c, 0xbc, + 0x29, 0x53, 0x74, 0x9c, 0xf3, 0x33, 0x74, 0x9c, 0x41, 0x4e, 0x59, 0xc7, 0x89, 0x9a, 0xee, 0xc5, + 0x69, 0x9a, 0xee, 0x20, 0x0f, 0xd3, 0x74, 0x07, 0x3a, 0xca, 0xec, 0x54, 0x1d, 0x65, 0x90, 0x87, + 0xeb, 0x28, 0x6f, 0xf0, 0x3e, 0x1a, 0xb5, 0x9e, 0x38, 0xd8, 0x79, 0xfc, 0x58, 0xc4, 0xd6, 0x5b, + 0xad, 0x27, 0x68, 0x3a, 0xb3, 0xb3, 0x04, 0xc2, 0xde, 0x46, 0xfb, 0x3d, 0x25, 0xa2, 0xe7, 0x13, + 0xe3, 0x77, 0x13, 0x56, 0xd9, 0x61, 0xe5, 0x76, 0xa4, 0x9b, 0xe4, 0x8a, 0xb5, 0x22, 0xa8, 0xec, + 0x36, 0xf9, 0x11, 0x58, 0xf3, 0xd9, 0xf8, 0x85, 0x0a, 0xfd, 0xf0, 0x2c, 0x3f, 0x37, 0x07, 0x95, + 0xb9, 0x0b, 0xeb, 0x3e, 0x23, 0xd7, 0xd5, 0xb0, 0xcb, 0xe4, 0x8a, 0xa5, 0x8a, 0x84, 0x3a, 0xa7, + 0x6b, 0x47, 0xd1, 0x7b, 0xc5, 0x87, 0x54, 0x2b, 0xed, 0x07, 0xe9, 0x90, 0x0e, 0x44, 0x7c, 0x86, + 0x9e, 0xa2, 0xde, 0xc0, 0xe1, 0x9d, 0xc4, 0xf7, 0xa2, 0x6b, 0x53, 0xc6, 0x8c, 0x5b, 0x2c, 0xd9, + 0x76, 0xcd, 0x02, 0xcf, 0x1b, 0x08, 0x03, 0x26, 0x87, 0x49, 0xd4, 0xec, 0xdc, 0xc7, 0x39, 0x2b, + 0x8a, 0x63, 0x1b, 0x4f, 0x7e, 0x76, 0x71, 0xe2, 0x12, 0x4a, 0xa7, 0x2c, 0x4a, 0xd6, 0xfe, 0x2f, + 0xf1, 0x81, 0x26, 0xa0, 0xca, 0xd0, 0x0b, 0x17, 0x9e, 0x4e, 0xb8, 0x19, 0xc5, 0x0a, 0xc7, 0x5e, + 0xc2, 0x92, 0xd5, 0x89, 0xf8, 0x57, 0x14, 0x6b, 0xc0, 0x32, 0x6a, 0x20, 0x44, 0x81, 0x99, 0x04, + 0x05, 0x7b, 0xbc, 0xf1, 0x05, 0xb3, 0x62, 0xe5, 0x68, 0x3e, 0x51, 0xcc, 0x31, 0xbc, 0x28, 0xeb, + 0x0d, 0xc2, 0x95, 0x9c, 0x17, 0x18, 0xb9, 0x33, 0x7b, 0x20, 0x50, 0x2f, 0x60, 0x55, 0xcf, 0xb7, + 0xc2, 0x04, 0xce, 0xa6, 0x1d, 0xc3, 0xd6, 0xf4, 0x21, 0x99, 0x11, 0x7f, 0x29, 0x38, 0x40, 0x53, + 0xf2, 0x01, 0x2a, 0x6b, 0x11, 0xd2, 0x21, 0x2d, 0x82, 0xf6, 0xa7, 0x69, 0xb8, 0x7e, 0x8a, 0xe1, + 0x9a, 0xf1, 0xcd, 0xcf, 0x87, 0xc5, 0xb3, 0x54, 0xe8, 0xde, 0x47, 0x0b, 0xe5, 0x1b, 0x24, 0xbd, + 0x83, 0x26, 0x0b, 0x67, 0xbf, 0x04, 0x6b, 0x6c, 0x17, 0x64, 0x46, 0x87, 0x87, 0x93, 0xde, 0x29, + 0xb6, 0xc1, 0x6d, 0xe1, 0x21, 0x15, 0xc9, 0x8a, 0x3b, 0x23, 0xee, 0x18, 0xb6, 0x4f, 0x23, 0x0d, + 0xc8, 0x21, 0xdb, 0x61, 0xab, 0xdb, 0x3b, 0x95, 0xab, 0x8e, 0xf0, 0xbf, 0x92, 0xb3, 0x31, 0x5b, + 0x69, 0x4a, 0x28, 0xe1, 0x6f, 0x72, 0x0b, 0xd6, 0xfa, 0x93, 0x13, 0x2a, 0x78, 0xb0, 0xb9, 0xc0, + 0x6d, 0x3b, 0xe6, 0xad, 0x95, 0xfe, 0xe4, 0x44, 0x1f, 0x0e, 0x71, 0x48, 0xd1, 0x08, 0x64, 0x9d, + 0xf2, 0xb1, 0x55, 0x2b, 0x38, 0x17, 0x90, 0x93, 0x16, 0xc0, 0xd6, 0x2d, 0xe7, 0xdd, 0x00, 0x66, + 0x12, 0xc8, 0xe3, 0x4f, 0xb1, 0x1f, 0xda, 0x4f, 0x52, 0xe2, 0xbe, 0x3b, 0x7d, 0xde, 0xff, 0x7c, + 0x88, 0x12, 0x86, 0xe8, 0x36, 0xa8, 0xb4, 0xeb, 0x83, 0x4d, 0xc5, 0x1f, 0xa3, 0xd5, 0xfe, 0xe4, + 0xc4, 0xef, 0x3b, 0xb9, 0xe3, 0x17, 0xe4, 0x8e, 0x7f, 0x55, 0xdc, 0x87, 0x13, 0xb7, 0x87, 0xe9, + 0x5d, 0xae, 0xfd, 0x67, 0x1a, 0x6e, 0x9d, 0x6e, 0x13, 0xf8, 0xf9, 0xb8, 0x25, 0x8c, 0x5b, 0x44, + 0x31, 0x3a, 0x1f, 0x53, 0x8c, 0x26, 0xac, 0xbd, 0x85, 0xa4, 0xb5, 0x17, 0x53, 0xc3, 0x2e, 0x26, + 0xa8, 0x61, 0x13, 0x17, 0x68, 0xf6, 0x19, 0x0b, 0x74, 0x49, 0x9e, 0x27, 0xff, 0xe6, 0x2b, 0x30, + 0xc2, 0xf7, 0x81, 0xd7, 0xe1, 0x9c, 0xb8, 0x0f, 0xb0, 0x93, 0x23, 0xd0, 0xae, 0xe7, 0xee, 0xdf, + 0x49, 0xba, 0x09, 0x20, 0x5b, 0x82, 0xb4, 0xbe, 0xce, 0xef, 0x00, 0x41, 0xfa, 0xff, 0x1f, 0xe9, + 0x9f, 0x3c, 0x86, 0xf3, 0x88, 0xde, 0xde, 0x96, 0xdf, 0x05, 0x9c, 0x91, 0x7b, 0xc8, 0xe7, 0xc3, + 0xb5, 0x98, 0xac, 0xdc, 0x6d, 0x4b, 0xd5, 0xb1, 0xdc, 0xc3, 0xbd, 0x39, 0x6b, 0xc3, 0x4b, 0xa0, + 0x47, 0x2f, 0x16, 0x7f, 0xa1, 0x80, 0xf6, 0xec, 0xfe, 0x42, 0x45, 0x55, 0xb4, 0xc3, 0x97, 0xac, + 0x5c, 0x4b, 0xea, 0xbd, 0xeb, 0xb0, 0x32, 0x72, 0x0f, 0x47, 0xae, 0x77, 0x1c, 0xd2, 0x80, 0x2c, + 0x73, 0xa2, 0xe8, 0x18, 0x81, 0x21, 0x79, 0x26, 0xc9, 0x5c, 0x64, 0xd2, 0x4a, 0xfe, 0x7d, 0x31, + 0x71, 0x1c, 0xe8, 0x6c, 0x92, 0x2b, 0xc8, 0x7e, 0x3c, 0xcc, 0x64, 0x53, 0x6a, 0xda, 0xe2, 0x48, + 0x97, 0x87, 0xdd, 0x9e, 0xab, 0xfd, 0xb5, 0x22, 0x24, 0x82, 0xa4, 0xce, 0x23, 0xaf, 0x4b, 0xa6, + 0xba, 0xe9, 0x98, 0x18, 0x92, 0x94, 0x45, 0xb6, 0x6a, 0xe4, 0xe0, 0x8b, 0x48, 0x08, 0x81, 0x2f, + 0x22, 0xe5, 0x39, 0xec, 0x0d, 0xf9, 0xad, 0xf9, 0x81, 0xb0, 0xf7, 0xa1, 0x7b, 0xde, 0xfe, 0x3d, + 0x72, 0x07, 0x16, 0x99, 0x89, 0x8f, 0xa8, 0xee, 0x5a, 0xa8, 0xba, 0xfb, 0xf7, 0x2c, 0x91, 0xae, + 0x7d, 0xdf, 0x57, 0x65, 0xc7, 0x1a, 0xb1, 0x7f, 0x8f, 0xbc, 0x7a, 0x3a, 0xd3, 0xdb, 0xac, 0x30, + 0xbd, 0xf5, 0xcd, 0x6e, 0x3f, 0x15, 0x32, 0xbb, 0xbd, 0x31, 0xbb, 0xb7, 0xf8, 0x5b, 0x23, 0x03, + 0x1b, 0x0c, 0x40, 0xa8, 0x7e, 0xa2, 0xc0, 0xa5, 0x99, 0x39, 0xc8, 0x45, 0xc8, 0xea, 0x75, 0xb3, + 0x11, 0x8c, 0x2f, 0x5d, 0x33, 0x82, 0x42, 0x76, 0x61, 0x69, 0xa7, 0xe5, 0x75, 0xdb, 0x74, 0x1a, + 0x27, 0x2a, 0xff, 0x63, 0xc5, 0xfa, 0xec, 0x7b, 0x73, 0x56, 0x90, 0x97, 0x38, 0xb0, 0x8e, 0x6b, + 0x21, 0x14, 0xd8, 0x29, 0x9d, 0xa0, 0x6b, 0x88, 0x15, 0x18, 0xcb, 0x46, 0xf7, 0x99, 0x18, 0x31, + 0xba, 0x04, 0xdf, 0x14, 0xb2, 0xc8, 0xf4, 0x0a, 0x9e, 0x01, 0x35, 0xf5, 0x36, 0x64, 0xeb, 0xc2, + 0x0a, 0x40, 0xb2, 0x55, 0x17, 0x2f, 0xfe, 0x96, 0x9f, 0xaa, 0xfd, 0xa6, 0x22, 0x14, 0x02, 0xcf, + 0x6e, 0x88, 0x14, 0x13, 0xab, 0x33, 0x3b, 0x26, 0x56, 0xe7, 0x7d, 0xc6, 0xc4, 0xd2, 0xfe, 0x9c, + 0x63, 0x9a, 0x9b, 0x9d, 0x7a, 0x44, 0x33, 0xfb, 0xbc, 0x3e, 0x07, 0x46, 0x68, 0x76, 0x5e, 0x97, + 0x62, 0x2a, 0xc6, 0xbf, 0x35, 0xdd, 0xf5, 0x40, 0x9a, 0xaa, 0x7f, 0x90, 0x86, 0x8b, 0xb3, 0xb2, + 0x27, 0x46, 0x6d, 0x56, 0xce, 0x16, 0xb5, 0xf9, 0x0e, 0x64, 0x19, 0xcd, 0x37, 0xa8, 0xc7, 0x0e, + 0xe7, 0x59, 0x69, 0x87, 0x8b, 0x64, 0x72, 0x1d, 0x16, 0xf4, 0x82, 0x1d, 0x04, 0x12, 0x43, 0xcb, + 0xd7, 0x56, 0xdb, 0x43, 0x9b, 0x4a, 0x9e, 0x44, 0xbe, 0x1a, 0x8f, 0x9d, 0xc7, 0x23, 0x88, 0x6d, + 0x4b, 0x1d, 0x12, 0x0b, 0x37, 0x80, 0xf5, 0x0d, 0xe0, 0xf1, 0x39, 0xe2, 0xb4, 0x15, 0x8f, 0xc3, + 0xa7, 0xc1, 0x42, 0x7d, 0xe4, 0x7a, 0xee, 0x58, 0xb6, 0x4a, 0x1d, 0x22, 0xc5, 0xe2, 0x29, 0xdc, + 0x66, 0xb4, 0xf5, 0x94, 0x41, 0x04, 0x2c, 0xc8, 0xb0, 0x2d, 0x68, 0x64, 0x4a, 0xc9, 0x96, 0xc4, + 0x42, 0x33, 0x94, 0x5b, 0x93, 0x7e, 0xfb, 0xb8, 0x69, 0x95, 0xb9, 0xa8, 0xc1, 0x32, 0xf4, 0x90, + 0x4a, 0x1b, 0xe8, 0x59, 0x12, 0x8b, 0xf6, 0x6d, 0x05, 0x36, 0x92, 0xda, 0x41, 0x2e, 0x42, 0xa6, + 0x9f, 0x18, 0x26, 0xb0, 0xcf, 0x3c, 0x9b, 0x73, 0xf4, 0xaf, 0x73, 0x38, 0x18, 0x9d, 0xb4, 0xc6, + 0xb2, 0xed, 0xae, 0x44, 0xb6, 0x80, 0xfe, 0x28, 0xe1, 0xff, 0xe4, 0x8a, 0xd8, 0xa3, 0xd3, 0xb1, + 0xc0, 0x82, 0xf8, 0x47, 0xd3, 0x01, 0xcc, 0x4e, 0xbd, 0x36, 0x64, 0x70, 0xf7, 0xaf, 0x40, 0x86, + 0x56, 0x2b, 0x32, 0x7b, 0xe9, 0xfc, 0xd1, 0x2b, 0x65, 0xce, 0xc4, 0x6a, 0xe5, 0xb5, 0x4e, 0x7a, + 0x16, 0x32, 0x6b, 0x07, 0xb0, 0x1a, 0xe6, 0x20, 0x46, 0x18, 0x20, 0x35, 0x77, 0x5f, 0xe5, 0x25, + 0xed, 0x0c, 0x06, 0xcc, 0x7f, 0x64, 0xe7, 0xc5, 0x7f, 0x78, 0xf7, 0x0a, 0xd0, 0x9f, 0x2c, 0x4f, + 0x12, 0x80, 0xaa, 0xf6, 0xdd, 0x14, 0x6c, 0x04, 0x2e, 0xeb, 0x62, 0x0d, 0xfd, 0xcc, 0xfa, 0x4f, + 0xea, 0x21, 0xff, 0x3e, 0x21, 0x68, 0xc5, 0x1b, 0x38, 0xc3, 0xad, 0x68, 0x17, 0x36, 0xa7, 0xf1, + 0x93, 0xbb, 0xb0, 0x84, 0x28, 0x47, 0xc3, 0x56, 0xdb, 0x95, 0xf7, 0xbe, 0xbe, 0x20, 0x5a, 0x41, + 0xba, 0xf6, 0x23, 0x05, 0xb6, 0xb8, 0xd7, 0x43, 0xa5, 0xd5, 0xed, 0xa3, 0x5a, 0xbd, 0xed, 0x7e, + 0x30, 0xfe, 0xbf, 0xbb, 0xa1, 0x7d, 0xec, 0x66, 0xd8, 0xb9, 0x25, 0xf6, 0xb5, 0xe9, 0xad, 0x25, + 0x77, 0x10, 0xb9, 0x8b, 0x3f, 0x2a, 0x67, 0x18, 0xde, 0x42, 0x9f, 0x12, 0x64, 0xbc, 0x05, 0xe4, + 0xd0, 0x7e, 0x15, 0x2e, 0xcf, 0xfe, 0x00, 0xf9, 0x0a, 0xac, 0x60, 0x28, 0xa8, 0xe6, 0xf0, 0x68, + 0xd4, 0xea, 0xb8, 0x42, 0x15, 0x26, 0xd4, 0x97, 0x72, 0x1a, 0x03, 0x22, 0xe3, 0xfe, 0xff, 0x47, + 0x18, 0x64, 0x8a, 0x67, 0x0a, 0xb9, 0x16, 0xc9, 0xa5, 0x69, 0xbf, 0xa6, 0x00, 0x89, 0x97, 0x41, + 0x3e, 0x09, 0xcb, 0xcd, 0x46, 0xc1, 0x1e, 0xb7, 0x46, 0xe3, 0xbd, 0xc1, 0x64, 0xc4, 0x51, 0xc0, + 0x98, 0x3b, 0xf8, 0xb8, 0xed, 0xb0, 0x07, 0x94, 0xe3, 0xc1, 0x64, 0x64, 0x85, 0xf8, 0x30, 0x86, + 0x91, 0xeb, 0x7e, 0xad, 0xd3, 0x7a, 0x1a, 0x8e, 0x61, 0xc4, 0x69, 0xa1, 0x18, 0x46, 0x9c, 0xa6, + 0xbd, 0xad, 0xc0, 0xb6, 0xb0, 0x15, 0xec, 0x24, 0xd4, 0xa5, 0x80, 0xa0, 0x27, 0x23, 0x01, 0x3b, + 0x3b, 0x4b, 0xa4, 0x5d, 0x17, 0xb8, 0x40, 0x58, 0x41, 0x94, 0x6d, 0x59, 0x5e, 0xf2, 0x79, 0xc8, + 0xd8, 0xe3, 0xc1, 0xf0, 0x14, 0xc0, 0x40, 0xaa, 0x3f, 0xa2, 0xe3, 0xc1, 0x10, 0x8b, 0xc0, 0x9c, + 0x9a, 0x0b, 0x1b, 0x72, 0xe5, 0x44, 0x8d, 0x49, 0x05, 0x16, 0x39, 0x02, 0x5c, 0xe4, 0xa1, 0x7e, + 0x46, 0x9b, 0x76, 0xd6, 0x04, 0xfa, 0x10, 0x87, 0x3d, 0xb5, 0x44, 0x19, 0xda, 0x6f, 0x2b, 0x90, + 0xa3, 0xd2, 0x06, 0xde, 0xe2, 0x9e, 0x77, 0x4a, 0x87, 0x05, 0x47, 0x61, 0x55, 0xe2, 0x17, 0x7f, + 0xaa, 0xd3, 0xf8, 0x13, 0xb0, 0x16, 0xc9, 0x40, 0x34, 0xc4, 0x9d, 0xe8, 0x75, 0xdb, 0x2d, 0x16, + 0x12, 0x85, 0x59, 0x64, 0x84, 0x68, 0xda, 0x77, 0x14, 0xd8, 0xa0, 0x77, 0x7e, 0xf6, 0xce, 0x69, + 0x4d, 0x7a, 0x62, 0xbd, 0x53, 0x09, 0x4a, 0x18, 0x9d, 0x32, 0x9f, 0x78, 0x26, 0x41, 0x71, 0x9a, + 0xe5, 0xa7, 0x92, 0x3d, 0xc8, 0xf2, 0xf3, 0xc5, 0xe3, 0x68, 0xa5, 0x97, 0x25, 0x65, 0x42, 0x50, + 0x30, 0x67, 0xa2, 0x2d, 0xc1, 0x2d, 0x8c, 0xe7, 0xb1, 0xfc, 0xdc, 0xda, 0x7f, 0x29, 0x70, 0x61, + 0x4a, 0x1e, 0xf2, 0x1a, 0xcc, 0xa3, 0xbf, 0x1e, 0x1f, 0xbd, 0x8b, 0x53, 0x3e, 0x31, 0x6e, 0x1f, + 0xef, 0xdf, 0x63, 0x07, 0xd1, 0x09, 0xfd, 0x61, 0xb1, 0x5c, 0xe4, 0x75, 0x58, 0xd2, 0x3b, 0x1d, + 0x7e, 0x9d, 0x49, 0x85, 0xae, 0x33, 0x53, 0xbe, 0xf8, 0xb2, 0xcf, 0xcf, 0xae, 0x33, 0xcc, 0x73, + 0xa4, 0xd3, 0x71, 0xb8, 0x2f, 0x62, 0x50, 0xde, 0xd6, 0x2f, 0xc2, 0x6a, 0x98, 0xf9, 0x4c, 0xee, + 0x53, 0xdf, 0x57, 0x40, 0x0d, 0xd7, 0xe1, 0xc3, 0xc1, 0x4d, 0x4a, 0x1a, 0xe6, 0x67, 0x4c, 0xaa, + 0xdf, 0x4d, 0xc1, 0x0b, 0x89, 0x3d, 0x4c, 0x5e, 0x82, 0x05, 0x7d, 0x38, 0x34, 0x8b, 0x7c, 0x56, + 0x71, 0x09, 0x09, 0xb5, 0xc4, 0xa1, 0xdb, 0x1e, 0x63, 0x22, 0xaf, 0x40, 0x96, 0x3d, 0xa7, 0x17, + 0xc5, 0x86, 0x83, 0x40, 0x30, 0xfc, 0xad, 0x3f, 0x8c, 0x1b, 0x2a, 0x18, 0x49, 0x09, 0x56, 0x39, + 0x84, 0x8a, 0xe5, 0x1e, 0xb9, 0xdf, 0xf0, 0x01, 0xec, 0x11, 0x63, 0x5f, 0xa8, 0x9e, 0x9d, 0x11, + 0x4b, 0x93, 0x41, 0x44, 0xc2, 0xb9, 0x48, 0x19, 0x54, 0x2c, 0x53, 0x2e, 0x89, 0x81, 0x97, 0x22, + 0xa8, 0x0d, 0xab, 0xc4, 0x94, 0xb2, 0x62, 0x39, 0xfd, 0xe1, 0xd2, 0x3d, 0xaf, 0x7b, 0xd4, 0x3f, + 0x71, 0xfb, 0xe3, 0x0f, 0x6f, 0xb8, 0x82, 0x6f, 0x9c, 0x6a, 0xb8, 0x7e, 0x3f, 0xc3, 0x16, 0x73, + 0x34, 0x1b, 0x95, 0x68, 0x24, 0xbc, 0x6a, 0x94, 0x68, 0x30, 0xc2, 0x3f, 0x03, 0x09, 0x29, 0xc2, + 0x22, 0x03, 0x6f, 0x11, 0x2b, 0xe3, 0x52, 0x62, 0x15, 0x18, 0xcf, 0xfe, 0x3d, 0x26, 0xbe, 0x30, + 0xc7, 0x41, 0xcf, 0x12, 0x59, 0xc9, 0x3e, 0xe4, 0x0a, 0x3d, 0xb7, 0xd5, 0x9f, 0x0c, 0x1b, 0xa7, + 0x7b, 0x72, 0xdc, 0xe4, 0x6d, 0x59, 0x6e, 0xb3, 0x6c, 0xf8, 0x54, 0x89, 0x3b, 0xb9, 0x5c, 0x10, + 0x69, 0xf8, 0xbe, 0x44, 0x19, 0xd4, 0x54, 0x7e, 0x7c, 0x46, 0xff, 0x44, 0x89, 0x98, 0x2f, 0xec, + 0x28, 0xc7, 0x9d, 0x8d, 0x1c, 0x58, 0x2d, 0xb7, 0xbc, 0x71, 0x63, 0xd4, 0xea, 0x7b, 0x08, 0xfa, + 0x78, 0x0a, 0x50, 0xac, 0x6d, 0x11, 0x50, 0x18, 0x75, 0x8c, 0x63, 0x3f, 0x2b, 0xd3, 0x60, 0x86, + 0x8b, 0xa3, 0xf2, 0x52, 0xa9, 0xdb, 0x6f, 0xf5, 0xba, 0x6f, 0x09, 0x97, 0x4b, 0x26, 0x2f, 0x1d, + 0x0a, 0xa2, 0x15, 0xa4, 0x6b, 0x5f, 0x8e, 0x8d, 0x1b, 0xab, 0x65, 0x0e, 0x16, 0xb9, 0x43, 0x3e, + 0x73, 0x50, 0xaf, 0x1b, 0xd5, 0xa2, 0x59, 0xdd, 0x55, 0x15, 0xb2, 0x0a, 0x50, 0xb7, 0x6a, 0x05, + 0xc3, 0xb6, 0xe9, 0xef, 0x14, 0xfd, 0xcd, 0xbd, 0xd7, 0x4b, 0xcd, 0xb2, 0x9a, 0x96, 0x1c, 0xd8, + 0x33, 0xda, 0x0f, 0x15, 0x38, 0x9f, 0x3c, 0x94, 0xa4, 0x01, 0x08, 0x61, 0xc0, 0x1f, 0x9f, 0x3f, + 0x39, 0x73, 0xdc, 0x13, 0xc9, 0x51, 0x28, 0x84, 0x31, 0x73, 0xb1, 0x4f, 0x89, 0xc7, 0x22, 0xe6, + 0xb3, 0xd7, 0xed, 0x58, 0xa9, 0x6e, 0x47, 0x2b, 0xc0, 0xe6, 0xb4, 0x32, 0xc2, 0x4d, 0x5d, 0x83, + 0x9c, 0x5e, 0xaf, 0x97, 0xcd, 0x82, 0xde, 0x30, 0x6b, 0x55, 0x55, 0x21, 0x4b, 0x30, 0xbf, 0x6b, + 0xd5, 0x9a, 0x75, 0x35, 0xa5, 0x7d, 0x4f, 0x81, 0x15, 0x33, 0x30, 0xd3, 0x7a, 0xde, 0xc5, 0xf7, + 0xe9, 0xd0, 0xe2, 0xdb, 0xf4, 0xc1, 0x3e, 0xfc, 0x0f, 0x9c, 0x6a, 0xe5, 0xfd, 0xbd, 0x02, 0xeb, + 0xb1, 0x3c, 0xc4, 0x86, 0x45, 0xfd, 0xc0, 0xae, 0x99, 0xc5, 0x02, 0xaf, 0xd9, 0x95, 0xc0, 0xbe, + 0x08, 0xe3, 0x39, 0xc5, 0xbe, 0xc2, 0x1c, 0x64, 0x9f, 0x78, 0xce, 0xa0, 0xdb, 0x91, 0x62, 0xb1, + 0xee, 0xcd, 0x59, 0xa2, 0x24, 0x3c, 0xc9, 0xde, 0x9a, 0x8c, 0x5c, 0x2c, 0x36, 0x15, 0x52, 0x84, + 0xfa, 0xf4, 0x78, 0xc1, 0xe8, 0xce, 0xd0, 0xa2, 0xe9, 0xf1, 0xa2, 0x83, 0xf2, 0x76, 0x56, 0x20, + 0xc7, 0x6f, 0x2d, 0x78, 0x21, 0xf8, 0x81, 0x02, 0x9b, 0xd3, 0xea, 0x4a, 0x2f, 0x42, 0x61, 0x6f, + 0xf9, 0xf3, 0x7e, 0x7c, 0x86, 0xb0, 0x9b, 0xbc, 0x60, 0x23, 0x9f, 0x83, 0x9c, 0xe9, 0x79, 0x13, + 0x77, 0x64, 0xbf, 0xd2, 0xb4, 0x4c, 0x3e, 0x41, 0x2e, 0xfd, 0xfb, 0xbb, 0x57, 0x2e, 0xa0, 0xd3, + 0xc1, 0xc8, 0xf1, 0x5e, 0x71, 0x26, 0xa3, 0x6e, 0x08, 0xcb, 0x5e, 0xce, 0x41, 0xe5, 0xd6, 0xd6, + 0xa4, 0xd3, 0x75, 0x85, 0xd4, 0x2e, 0x3c, 0x8a, 0x39, 0x4d, 0x3e, 0x45, 0x04, 0x4d, 0xfb, 0x96, + 0x02, 0x5b, 0xd3, 0x3b, 0x86, 0x9e, 0x4c, 0x0d, 0x66, 0xf5, 0x23, 0x7c, 0x7a, 0xf1, 0x64, 0xf2, + 0x4d, 0x83, 0xe4, 0x32, 0x05, 0x23, 0xcd, 0xe4, 0xc7, 0x46, 0x4f, 0xc5, 0x02, 0x22, 0x87, 0x33, + 0x09, 0x46, 0xed, 0x3f, 0x52, 0x70, 0x9e, 0x4e, 0xba, 0x9e, 0xeb, 0x79, 0xfa, 0x64, 0x7c, 0xec, + 0xf6, 0xc7, 0x5c, 0x0c, 0x23, 0xaf, 0xc2, 0xc2, 0xf1, 0xd9, 0x54, 0x8e, 0x8c, 0x9d, 0x10, 0xc0, + 0x8d, 0x5c, 0xb8, 0x50, 0xd0, 0xff, 0xc9, 0x35, 0x90, 0x43, 0x50, 0xa7, 0x11, 0x04, 0x33, 0xb5, + 0xa9, 0x58, 0x4b, 0x43, 0x3f, 0x5a, 0xec, 0xa7, 0x60, 0x1e, 0xd5, 0x0c, 0x7c, 0x4b, 0x15, 0xa2, + 0x70, 0x72, 0xed, 0x50, 0x09, 0x61, 0xb1, 0x0c, 0xe4, 0x63, 0x00, 0x41, 0xfc, 0x00, 0xbe, 0x67, + 0x8a, 0xeb, 0xb7, 0x1f, 0x42, 0xc0, 0x5a, 0x3a, 0x39, 0x6c, 0x71, 0x50, 0xfe, 0x3c, 0xac, 0x8b, + 0x6e, 0x19, 0x0a, 0xec, 0x3c, 0xfe, 0x1a, 0xb6, 0xc6, 0x12, 0xcc, 0xa1, 0xc0, 0xcf, 0xbb, 0x11, + 0x0b, 0xa3, 0x8b, 0x10, 0xba, 0x91, 0x58, 0xb9, 0x37, 0x62, 0xb1, 0x72, 0xb3, 0x8c, 0x4b, 0x0e, + 0x88, 0xab, 0xfd, 0x6b, 0x0a, 0x96, 0x0e, 0xa8, 0xb0, 0x82, 0x57, 0xf0, 0xd9, 0x57, 0xfa, 0xfb, + 0x90, 0x2b, 0x0f, 0x5a, 0xfc, 0xd9, 0x81, 0x7b, 0x1e, 0x30, 0xcf, 0xdf, 0xde, 0xa0, 0x25, 0x5e, + 0x30, 0x3c, 0x4b, 0x66, 0x7a, 0x86, 0xd7, 0xf2, 0x43, 0x58, 0x60, 0xcf, 0x40, 0x5c, 0xbb, 0x24, + 0xc4, 0x55, 0xbf, 0x46, 0x2f, 0xb3, 0x64, 0x49, 0x53, 0xce, 0x9e, 0x92, 0x64, 0xd9, 0x89, 0x23, + 0x81, 0x4a, 0x0a, 0x87, 0xf9, 0xd3, 0x29, 0x1c, 0x24, 0xc4, 0xb3, 0x85, 0xd3, 0x20, 0x9e, 0x6d, + 0x3d, 0x80, 0x9c, 0x54, 0x9f, 0x33, 0x49, 0xaf, 0xdf, 0x4c, 0xc1, 0x0a, 0xb6, 0xca, 0xb7, 0x09, + 0xf9, 0xd9, 0x54, 0x9f, 0x7c, 0x3a, 0xa4, 0x3e, 0xd9, 0x94, 0xc7, 0x8b, 0xb5, 0x6c, 0x86, 0xde, + 0xe4, 0x21, 0xac, 0xc7, 0x18, 0xc9, 0x27, 0x60, 0x9e, 0x56, 0x5f, 0x5c, 0x37, 0xd5, 0xe8, 0x0c, + 0x08, 0xd0, 0x71, 0x69, 0xc3, 0x3d, 0x8b, 0x71, 0x6b, 0xff, 0xad, 0xc0, 0x32, 0x0f, 0x4e, 0xd1, + 0x3f, 0x1c, 0x3c, 0xb3, 0x3b, 0x6f, 0x45, 0xbb, 0x93, 0x61, 0x70, 0xf0, 0xee, 0xfc, 0xdf, 0xee, + 0xc4, 0x07, 0xa1, 0x4e, 0xbc, 0xe0, 0x63, 0xe5, 0x89, 0xe6, 0xcc, 0xe8, 0xc3, 0xbf, 0x41, 0xf4, + 0xd8, 0x30, 0x23, 0xf9, 0x2a, 0x2c, 0x55, 0xdd, 0x27, 0xa1, 0x5b, 0xdb, 0xad, 0x29, 0x85, 0xbe, + 0xec, 0x33, 0xb2, 0x35, 0x85, 0x07, 0x5e, 0xdf, 0x7d, 0xe2, 0xc4, 0x5e, 0xa0, 0x82, 0x22, 0xe9, + 0xc5, 0x2d, 0x9c, 0xed, 0x2c, 0x53, 0x9f, 0xbb, 0x41, 0x22, 0xac, 0xcc, 0xb7, 0xd3, 0x00, 0x81, + 0x07, 0x19, 0x5d, 0x80, 0xa1, 0xc7, 0x77, 0xa1, 0xf0, 0x46, 0x92, 0x3c, 0xc7, 0xc5, 0x9b, 0xfc, + 0x2d, 0xae, 0x98, 0x4d, 0x4d, 0xc7, 0x32, 0x44, 0x15, 0x6d, 0x81, 0xbb, 0x2c, 0x75, 0xdc, 0x5e, + 0x8b, 0xed, 0xed, 0xe9, 0x9d, 0x1b, 0x08, 0x5d, 0xeb, 0x53, 0xa7, 0x44, 0x19, 0x46, 0xc7, 0xa6, + 0x22, 0x65, 0x88, 0x79, 0x65, 0x66, 0xce, 0xe6, 0x95, 0x59, 0x87, 0xa5, 0x6e, 0xff, 0x4d, 0xb7, + 0x3f, 0x1e, 0x8c, 0x9e, 0xa2, 0x36, 0x3a, 0x50, 0x73, 0xd1, 0x2e, 0x30, 0x45, 0x1a, 0x1b, 0x07, + 0x3c, 0x18, 0x7d, 0x7e, 0x79, 0x18, 0x7c, 0xa2, 0xef, 0x55, 0x3a, 0xaf, 0x2e, 0x3c, 0xcc, 0x64, + 0x17, 0xd4, 0xc5, 0x87, 0x99, 0x6c, 0x56, 0x5d, 0x7a, 0x98, 0xc9, 0x2e, 0xa9, 0x60, 0x49, 0xef, + 0x3b, 0xfe, 0xfb, 0x8d, 0xf4, 0xe4, 0x12, 0x7e, 0x4e, 0xd1, 0x7e, 0x9a, 0x02, 0x12, 0xaf, 0x06, + 0xf9, 0x34, 0xe4, 0xd8, 0x06, 0xeb, 0x8c, 0xbc, 0xaf, 0x73, 0xb3, 0x75, 0x06, 0xce, 0x23, 0x91, + 0x65, 0x70, 0x1e, 0x46, 0xb6, 0xbc, 0xaf, 0xf7, 0xc8, 0x57, 0xe0, 0x1c, 0x76, 0xef, 0xd0, 0x1d, + 0x75, 0x07, 0x1d, 0x07, 0x91, 0x54, 0x5b, 0x3d, 0x1e, 0x11, 0xf0, 0x25, 0x0c, 0x5d, 0x1b, 0x4f, + 0x9e, 0x32, 0x0c, 0xe8, 0x28, 0x56, 0x47, 0xce, 0x3a, 0x63, 0x24, 0x0d, 0x50, 0xe5, 0xfc, 0x87, + 0x93, 0x5e, 0x8f, 0x8f, 0x6c, 0x9e, 0x5e, 0x74, 0xa3, 0x69, 0x53, 0x0a, 0x5e, 0x0d, 0x0a, 0x2e, + 0x4d, 0x7a, 0x3d, 0xf2, 0x2a, 0xc0, 0xa0, 0xef, 0x9c, 0x74, 0x3d, 0x8f, 0xbd, 0x71, 0xf8, 0x3e, + 0xad, 0x01, 0x55, 0x1e, 0x8c, 0x41, 0xbf, 0xc2, 0x88, 0xe4, 0x17, 0x00, 0x7d, 0xfa, 0x11, 0xec, + 0x82, 0x59, 0xb5, 0xf0, 0x18, 0x1f, 0x82, 0x18, 0x76, 0xa1, 0x3d, 0x72, 0xed, 0xee, 0x5b, 0xc2, + 0x65, 0xe0, 0x4b, 0xb0, 0xce, 0x8d, 0x50, 0x0f, 0xba, 0xe3, 0x63, 0x2e, 0x61, 0x3f, 0x8f, 0x78, + 0x2e, 0x89, 0xd8, 0xff, 0x98, 0x01, 0xd0, 0x0f, 0x6c, 0x81, 0x23, 0x75, 0x07, 0xe6, 0xe9, 0xbd, + 0x41, 0xe8, 0x1f, 0x50, 0x7b, 0x8b, 0xe5, 0xca, 0xda, 0x5b, 0xe4, 0xa0, 0xab, 0xd1, 0x42, 0xe3, + 0x6c, 0xa1, 0x7b, 0xc0, 0xd5, 0xc8, 0xec, 0xb5, 0x43, 0x38, 0xbe, 0x9c, 0x8b, 0x94, 0x01, 0x02, + 0x64, 0x27, 0x7e, 0x93, 0x5d, 0x0f, 0x20, 0x52, 0x78, 0x02, 0x8f, 0x25, 0x10, 0xa0, 0x43, 0xc9, + 0xd3, 0x27, 0x60, 0x23, 0x8f, 0x20, 0xd3, 0x68, 0xf9, 0x1e, 0x9b, 0x53, 0xf0, 0xae, 0xae, 0xf2, + 0x88, 0x8d, 0x01, 0xe6, 0xd5, 0xea, 0xb8, 0x15, 0x0a, 0x6c, 0x8b, 0x85, 0x10, 0x03, 0x16, 0x78, + 0x34, 0xee, 0x29, 0x38, 0x89, 0x3c, 0x18, 0x37, 0x47, 0x47, 0x46, 0xa2, 0x2c, 0x53, 0xf0, 0xb8, + 0xdb, 0xf7, 0x21, 0x6d, 0xdb, 0x15, 0x8e, 0xf2, 0xb0, 0x12, 0xdc, 0x4a, 0x6c, 0xbb, 0xc2, 0xde, + 0x28, 0x3d, 0xef, 0x44, 0xca, 0x46, 0x99, 0xc9, 0x67, 0x20, 0x27, 0x89, 0xcf, 0x1c, 0x1f, 0x05, + 0xfb, 0x40, 0xf2, 0x9a, 0x91, 0x37, 0x0d, 0x89, 0x9b, 0x94, 0x41, 0x7d, 0x34, 0x79, 0xc3, 0xd5, + 0x87, 0x43, 0x74, 0x96, 0x7b, 0xd3, 0x1d, 0x31, 0xb1, 0x2d, 0x1b, 0x00, 0x0b, 0xa3, 0xad, 0x7d, + 0x47, 0xa4, 0xca, 0x3a, 0x98, 0x68, 0x4e, 0x52, 0x87, 0x75, 0xdb, 0x1d, 0x4f, 0x86, 0xcc, 0x4e, + 0xa3, 0x34, 0x18, 0xd1, 0x4b, 0x08, 0x43, 0x53, 0x41, 0x0c, 0x56, 0x8f, 0x26, 0x0a, 0xe3, 0x98, + 0xc3, 0xc1, 0x28, 0x72, 0x21, 0x89, 0x67, 0xd6, 0x5c, 0x79, 0xc8, 0xe9, 0xa9, 0x1a, 0xbe, 0xda, + 0xe0, 0xa9, 0x2a, 0xae, 0x36, 0xc1, 0x85, 0xe6, 0x63, 0x09, 0x88, 0x5f, 0xf8, 0x60, 0x26, 0x21, + 0x7e, 0x85, 0x70, 0xbe, 0xde, 0xce, 0x48, 0xa0, 0x93, 0x7c, 0x2c, 0x5e, 0x03, 0x78, 0x38, 0xe8, + 0xf6, 0x2b, 0xee, 0xf8, 0x78, 0xd0, 0x91, 0x80, 0xc7, 0x72, 0xbf, 0x3c, 0xe8, 0xf6, 0x9d, 0x13, + 0x24, 0xff, 0xf4, 0xdd, 0x2b, 0x12, 0x93, 0x25, 0xfd, 0x4f, 0x3e, 0x0a, 0x4b, 0xf4, 0x57, 0x23, + 0xb0, 0x36, 0x61, 0xaa, 0x4a, 0xcc, 0xcd, 0x42, 0x33, 0x04, 0x0c, 0xe4, 0x01, 0x06, 0x23, 0xe9, + 0x0e, 0xc7, 0x92, 0xf0, 0x2a, 0x22, 0x8f, 0x74, 0x87, 0xe3, 0x28, 0x8e, 0xb0, 0xc4, 0x4c, 0xf6, + 0xfc, 0xaa, 0x8b, 0xf8, 0x41, 0x3c, 0xe6, 0x09, 0xea, 0xe3, 0xf8, 0x5c, 0x73, 0x04, 0x80, 0xa9, + 0x1c, 0xe9, 0x35, 0x92, 0x0d, 0x2b, 0x61, 0xef, 0x15, 0xd9, 0x03, 0x0a, 0x17, 0x6a, 0x59, 0x25, + 0xbc, 0xe3, 0x8e, 0xd3, 0x46, 0x72, 0xa8, 0x12, 0x3e, 0x33, 0xd9, 0x81, 0x35, 0x26, 0xe3, 0xfb, + 0x71, 0x08, 0xb9, 0x88, 0x8b, 0x7b, 0x5b, 0x10, 0xa8, 0x50, 0xfe, 0x7c, 0x24, 0x03, 0x29, 0xc1, + 0x3c, 0x5e, 0x08, 0xb9, 0x89, 0xf9, 0xb6, 0x7c, 0x7b, 0x8e, 0xae, 0x23, 0xdc, 0x57, 0xf0, 0xde, + 0x2c, 0xef, 0x2b, 0xc8, 0x4a, 0xbe, 0x08, 0x60, 0xf4, 0x47, 0x83, 0x5e, 0x0f, 0x21, 0x76, 0xb3, + 0x78, 0x95, 0xba, 0x14, 0x5e, 0x8f, 0x58, 0x4a, 0xc0, 0xc4, 0xe1, 0xe0, 0xf0, 0xb7, 0x13, 0x01, + 0xe2, 0x95, 0xca, 0xd2, 0x4c, 0x58, 0x60, 0x8b, 0x11, 0xe1, 0xaa, 0x79, 0x00, 0x0e, 0x09, 0xec, + 0x98, 0xc1, 0x55, 0x73, 0x7a, 0x1c, 0xae, 0x5a, 0xca, 0xa0, 0x3d, 0x82, 0x8d, 0xa4, 0x86, 0x85, + 0xae, 0xb0, 0xca, 0x69, 0xaf, 0xb0, 0x7f, 0x92, 0x86, 0x65, 0x2c, 0x4d, 0xec, 0xc2, 0x3a, 0xac, + 0xd8, 0x93, 0x37, 0x7c, 0x2c, 0x27, 0xb1, 0x1b, 0x63, 0xfd, 0x3c, 0x39, 0x41, 0x7e, 0xda, 0x0a, + 0xe5, 0x20, 0x06, 0xac, 0x8a, 0x93, 0x60, 0x57, 0x58, 0xa0, 0xfb, 0x48, 0xd1, 0x02, 0x8f, 0x30, + 0x1e, 0x87, 0x35, 0x92, 0x29, 0x38, 0x0f, 0xd2, 0x67, 0x39, 0x0f, 0x32, 0xa7, 0x3a, 0x0f, 0x5e, + 0x87, 0x65, 0xf1, 0x35, 0xdc, 0xc9, 0xe7, 0x9f, 0x6f, 0x27, 0x0f, 0x15, 0x46, 0xca, 0xfe, 0x8e, + 0xbe, 0x30, 0x73, 0x47, 0xc7, 0xf7, 0x42, 0xb1, 0xca, 0x86, 0x48, 0x8b, 0x6f, 0xec, 0x18, 0xa8, + 0x70, 0xb7, 0x50, 0x7f, 0x1f, 0xa7, 0xe4, 0x27, 0x60, 0xa9, 0x3c, 0x10, 0x4f, 0x45, 0x92, 0x8e, + 0xbe, 0x27, 0x88, 0xb2, 0xb8, 0xe0, 0x73, 0xfa, 0xa7, 0x5b, 0xfa, 0x83, 0x38, 0xdd, 0x1e, 0x00, + 0x70, 0xd7, 0x86, 0x20, 0xc0, 0x18, 0x2e, 0x19, 0x81, 0x63, 0x11, 0x7e, 0x2a, 0x90, 0x98, 0xe9, + 0xee, 0xc4, 0xad, 0x50, 0xf4, 0x76, 0x7b, 0x30, 0xe9, 0x8f, 0x43, 0x11, 0x79, 0x85, 0x27, 0x64, + 0x8b, 0xa7, 0xc9, 0xdb, 0x43, 0x24, 0xdb, 0x07, 0x3b, 0x20, 0xe4, 0x0b, 0xbe, 0x11, 0xdd, 0xe2, + 0xac, 0x1e, 0xd2, 0x62, 0x3d, 0x34, 0xd5, 0x74, 0x4e, 0xfb, 0xa1, 0x22, 0xc3, 0xf4, 0xbf, 0x8f, + 0xa1, 0xfe, 0x14, 0x80, 0xff, 0x56, 0x2f, 0xc6, 0x9a, 0xdd, 0x97, 0x7c, 0xaa, 0xdc, 0xcb, 0x01, + 0xaf, 0xd4, 0x9a, 0xf4, 0x07, 0xd5, 0x9a, 0x06, 0xe4, 0x6a, 0x5f, 0x1b, 0xb7, 0x02, 0xe3, 0x0e, + 0xb0, 0x7d, 0x49, 0x16, 0x77, 0xa6, 0xf4, 0xce, 0x4d, 0x3c, 0x1b, 0x02, 0x39, 0x78, 0x8a, 0x08, + 0x2c, 0x65, 0xd4, 0xfe, 0x50, 0x81, 0x35, 0xd9, 0x7d, 0xfb, 0x69, 0xbf, 0x4d, 0x3e, 0xcb, 0x50, + 0x43, 0x95, 0xd0, 0x95, 0x45, 0x62, 0xa2, 0x5b, 0xee, 0xd3, 0x7e, 0x9b, 0x09, 0x40, 0xad, 0x27, + 0x72, 0x65, 0x69, 0xc6, 0xe0, 0xdc, 0x48, 0x85, 0x2c, 0x86, 0xe4, 0x12, 0x68, 0x32, 0x96, 0x31, + 0xe3, 0xdc, 0xd0, 0x7e, 0xac, 0x00, 0x89, 0x7f, 0x56, 0xde, 0x96, 0x94, 0xff, 0x03, 0x31, 0x35, + 0x22, 0xde, 0x65, 0xce, 0x22, 0xde, 0x69, 0xdf, 0x49, 0xc1, 0x46, 0x52, 0x3f, 0x9c, 0xbd, 0x51, + 0x06, 0xac, 0xca, 0xe7, 0x83, 0x2f, 0x56, 0xe1, 0x71, 0x20, 0x1f, 0x29, 0xe1, 0x33, 0x2a, 0x92, + 0x89, 0xbc, 0x06, 0xb9, 0xe6, 0x49, 0xd7, 0x37, 0xd6, 0x4b, 0x07, 0xc7, 0xe6, 0xe4, 0xa4, 0xeb, + 0x24, 0x9d, 0x72, 0x32, 0xff, 0x73, 0x75, 0x46, 0xfe, 0x77, 0x14, 0x58, 0x33, 0xf5, 0x0a, 0x8f, + 0x54, 0xc0, 0x5e, 0x72, 0xae, 0xc1, 0x25, 0x53, 0xaf, 0x38, 0xf5, 0x5a, 0xd9, 0x2c, 0x3c, 0x76, + 0x12, 0x01, 0x88, 0x2f, 0xc1, 0x8b, 0x71, 0x96, 0xe0, 0xc5, 0xe7, 0x22, 0x6c, 0xc6, 0x93, 0x05, + 0x48, 0x71, 0x72, 0x66, 0x81, 0x67, 0x9c, 0xce, 0x7f, 0x0e, 0xd6, 0x04, 0x20, 0x6f, 0xa3, 0x6c, + 0x23, 0xe4, 0xff, 0x1a, 0xe4, 0xf6, 0x0d, 0xcb, 0x2c, 0x3d, 0x76, 0x4a, 0xcd, 0x72, 0x59, 0x9d, + 0x23, 0x2b, 0xb0, 0xc4, 0x09, 0x05, 0x5d, 0x55, 0xc8, 0x32, 0x64, 0xcd, 0xaa, 0x6d, 0x14, 0x9a, + 0x96, 0xa1, 0xa6, 0xf2, 0x9f, 0x83, 0xd5, 0xfa, 0xa8, 0xfb, 0x66, 0x6b, 0xec, 0x3e, 0x72, 0x9f, + 0xe2, 0x83, 0xcd, 0x22, 0xa4, 0x2d, 0xfd, 0x40, 0x9d, 0x23, 0x00, 0x0b, 0xf5, 0x47, 0x05, 0xfb, + 0xde, 0x3d, 0x55, 0x21, 0x39, 0x58, 0xdc, 0x2d, 0xd4, 0x9d, 0x47, 0x15, 0x5b, 0x4d, 0xd1, 0x1f, + 0xfa, 0x81, 0x8d, 0x3f, 0xd2, 0xf9, 0x8f, 0xc3, 0x3a, 0x4a, 0x60, 0xe5, 0xae, 0x37, 0x76, 0xfb, + 0xee, 0x08, 0xeb, 0xb0, 0x0c, 0x59, 0xdb, 0xa5, 0x5b, 0xe7, 0xd8, 0x65, 0x15, 0xa8, 0x4c, 0x7a, + 0xe3, 0xee, 0xb0, 0xe7, 0x7e, 0x43, 0x55, 0xf2, 0x0f, 0x60, 0xcd, 0x1a, 0x4c, 0xc6, 0xdd, 0xfe, + 0x91, 0x3d, 0xa6, 0x1c, 0x47, 0x4f, 0xc9, 0x0b, 0xb0, 0xde, 0xac, 0xea, 0x95, 0x1d, 0x73, 0xb7, + 0x59, 0x6b, 0xda, 0x4e, 0x45, 0x6f, 0x14, 0xf6, 0xd8, 0x73, 0x51, 0xa5, 0x66, 0x37, 0x1c, 0xcb, + 0x28, 0x18, 0xd5, 0x86, 0xaa, 0xe4, 0xbf, 0x8b, 0xca, 0xa4, 0xf6, 0xa0, 0xdf, 0x29, 0xb5, 0xda, + 0xe3, 0xc1, 0x08, 0x2b, 0xac, 0xc1, 0x65, 0xdb, 0x28, 0xd4, 0xaa, 0x45, 0xa7, 0xa4, 0x17, 0x1a, + 0x35, 0x2b, 0x09, 0x01, 0x7b, 0x0b, 0xce, 0x27, 0xf0, 0xd4, 0x1a, 0x75, 0x55, 0x21, 0x57, 0x60, + 0x3b, 0x21, 0xed, 0xc0, 0xd8, 0xd1, 0x9b, 0x8d, 0xbd, 0xaa, 0x9a, 0x9a, 0x92, 0xd9, 0xb6, 0x6b, + 0x6a, 0x3a, 0xff, 0x1b, 0x0a, 0xac, 0x36, 0x3d, 0x6e, 0xab, 0xdd, 0x44, 0x37, 0xcd, 0xab, 0x70, + 0xb1, 0x69, 0x1b, 0x96, 0xd3, 0xa8, 0x3d, 0x32, 0xaa, 0x4e, 0xd3, 0xd6, 0x77, 0xa3, 0xb5, 0xb9, + 0x02, 0xdb, 0x12, 0x87, 0x65, 0x14, 0x6a, 0xfb, 0x86, 0xe5, 0xd4, 0x75, 0xdb, 0x3e, 0xa8, 0x59, + 0x45, 0x55, 0xa1, 0x5f, 0x4c, 0x60, 0xa8, 0x94, 0x74, 0x56, 0x9b, 0x50, 0x5a, 0xd5, 0x38, 0xd0, + 0xcb, 0xce, 0x4e, 0xad, 0xa1, 0xa6, 0xf3, 0x15, 0x2a, 0xd0, 0x20, 0x0e, 0x2d, 0xb3, 0x30, 0xcc, + 0x42, 0xa6, 0x5a, 0xab, 0x1a, 0xd1, 0x47, 0xc6, 0x65, 0xc8, 0xea, 0xf5, 0xba, 0x55, 0xdb, 0xc7, + 0x29, 0x06, 0xb0, 0x50, 0x34, 0xaa, 0xb4, 0x66, 0x69, 0x9a, 0x52, 0xb7, 0x6a, 0x95, 0x5a, 0xc3, + 0x28, 0xaa, 0x99, 0xbc, 0x25, 0xf6, 0x33, 0x51, 0x68, 0x7b, 0xc0, 0x5e, 0xf4, 0x8a, 0x46, 0x49, + 0x6f, 0x96, 0x1b, 0x7c, 0x88, 0x1e, 0x3b, 0x96, 0xf1, 0x85, 0xa6, 0x61, 0x37, 0x6c, 0x55, 0x21, + 0x2a, 0x2c, 0x57, 0x0d, 0xa3, 0x68, 0x3b, 0x96, 0xb1, 0x6f, 0x1a, 0x07, 0x6a, 0x8a, 0x96, 0xc9, + 0xfe, 0xa7, 0x5f, 0xc8, 0xbf, 0xad, 0x00, 0x61, 0x18, 0xbe, 0x22, 0x30, 0x0c, 0xce, 0x98, 0xcb, + 0xb0, 0xb5, 0x47, 0x87, 0x1a, 0x9b, 0x56, 0xa9, 0x15, 0xa3, 0x5d, 0x76, 0x1e, 0x48, 0x24, 0xbd, + 0x56, 0x2a, 0xa9, 0x0a, 0xd9, 0x86, 0x73, 0x11, 0x7a, 0xd1, 0xaa, 0xd5, 0xd5, 0xd4, 0x56, 0x2a, + 0xab, 0x90, 0x0b, 0xb1, 0xc4, 0x47, 0x86, 0x51, 0x57, 0xd3, 0x74, 0x88, 0x22, 0x09, 0x62, 0x49, + 0xb0, 0xec, 0x99, 0xfc, 0xb7, 0x14, 0x38, 0xcf, 0xaa, 0x29, 0xd6, 0x97, 0x5f, 0xd5, 0x8b, 0xb0, + 0xc9, 0x91, 0xc9, 0x93, 0x2a, 0xba, 0x01, 0x6a, 0x28, 0x95, 0x55, 0xf3, 0x05, 0x58, 0x0f, 0x51, + 0xb1, 0x1e, 0x29, 0xba, 0x7b, 0x84, 0xc8, 0x3b, 0x86, 0xdd, 0x70, 0x8c, 0x52, 0xa9, 0x66, 0x35, + 0x58, 0x45, 0xd2, 0x79, 0x0d, 0xd6, 0x0b, 0xee, 0x68, 0x4c, 0xef, 0x9a, 0x7d, 0xaf, 0x3b, 0xe8, + 0x63, 0x15, 0x56, 0x60, 0xc9, 0xf8, 0x62, 0xc3, 0xa8, 0xda, 0x66, 0xad, 0xaa, 0xce, 0xe5, 0x2f, + 0x46, 0x78, 0xc4, 0x3a, 0xb6, 0xed, 0x3d, 0x75, 0x2e, 0xdf, 0x82, 0x15, 0x61, 0x15, 0xcd, 0x66, + 0xc5, 0x65, 0xd8, 0x12, 0x73, 0x0d, 0x77, 0x94, 0x68, 0x13, 0x36, 0x61, 0x23, 0x9e, 0x6e, 0x34, + 0x54, 0x85, 0x8e, 0x42, 0x24, 0x85, 0xd2, 0x53, 0xf9, 0x5f, 0x57, 0x60, 0xc5, 0x7f, 0x25, 0x42, + 0xbd, 0xf4, 0x15, 0xd8, 0xae, 0x94, 0x74, 0xa7, 0x68, 0xec, 0x9b, 0x05, 0xc3, 0x79, 0x64, 0x56, + 0x8b, 0x91, 0x8f, 0xbc, 0x08, 0x2f, 0x24, 0x30, 0xe0, 0x57, 0x36, 0x61, 0x23, 0x9a, 0xd4, 0xa0, + 0x4b, 0x35, 0x45, 0xbb, 0x3e, 0x9a, 0xe2, 0xaf, 0xd3, 0x74, 0xfe, 0x8f, 0x15, 0xd8, 0xe4, 0x91, + 0xf7, 0xf9, 0x7b, 0x15, 0x0b, 0xc9, 0x82, 0x98, 0xc5, 0x79, 0xb8, 0xd5, 0xb0, 0x9a, 0x76, 0xc3, + 0x28, 0x8a, 0xec, 0x74, 0xd2, 0x9a, 0x96, 0x51, 0x31, 0xaa, 0x8d, 0x48, 0xdd, 0xee, 0xc2, 0x47, + 0x66, 0xf0, 0x56, 0x6b, 0x0d, 0xf1, 0x9b, 0xae, 0xd5, 0x8f, 0xc0, 0xf5, 0x19, 0xcc, 0x3e, 0x63, + 0x2a, 0xbf, 0x0f, 0xab, 0xb6, 0x5e, 0x29, 0x97, 0x06, 0xa3, 0xb6, 0xab, 0x4f, 0xc6, 0xc7, 0x7d, + 0xb2, 0x0d, 0x17, 0x4a, 0x35, 0xab, 0x60, 0x38, 0xd8, 0x82, 0x48, 0x25, 0xce, 0xc1, 0x9a, 0x9c, + 0xf8, 0xd8, 0xa0, 0xab, 0x8b, 0xc0, 0xaa, 0x4c, 0xac, 0xd6, 0xd4, 0x54, 0xfe, 0xcb, 0xb0, 0x1c, + 0x0a, 0x5f, 0x77, 0x01, 0xce, 0xc9, 0xbf, 0xeb, 0x6e, 0xbf, 0xd3, 0xed, 0x1f, 0xa9, 0x73, 0xd1, + 0x04, 0x6b, 0xd2, 0xef, 0xd3, 0x04, 0xdc, 0x6e, 0xe4, 0x84, 0x86, 0x3b, 0x3a, 0xe9, 0xf6, 0x5b, + 0x63, 0xb7, 0xa3, 0xa6, 0xf2, 0x2f, 0xc3, 0x4a, 0x08, 0x34, 0x9b, 0xce, 0xab, 0x72, 0x8d, 0x9f, + 0x0f, 0x15, 0xa3, 0x68, 0x36, 0x2b, 0xea, 0x3c, 0xdd, 0x68, 0xf6, 0xcc, 0xdd, 0x3d, 0x15, 0xf2, + 0xdf, 0x53, 0xe8, 0xbd, 0x0f, 0xfb, 0xbd, 0x52, 0xd2, 0xc5, 0x4c, 0xa4, 0xab, 0x80, 0x41, 0xf1, + 0x1b, 0xb6, 0xcd, 0x9e, 0xfe, 0x2f, 0xc2, 0x26, 0xff, 0xe1, 0xe8, 0xd5, 0xa2, 0xb3, 0xa7, 0x5b, + 0xc5, 0x03, 0xdd, 0xa2, 0x4b, 0xe3, 0xb1, 0x9a, 0xc2, 0xf5, 0x2e, 0x51, 0x9c, 0x46, 0xad, 0x59, + 0xd8, 0x53, 0xd3, 0x74, 0x79, 0x85, 0xe8, 0x75, 0xb3, 0xaa, 0x66, 0x70, 0xf7, 0x88, 0x71, 0x63, + 0xb1, 0x34, 0x7d, 0x3e, 0xff, 0x9e, 0x02, 0x17, 0xec, 0xee, 0x51, 0xbf, 0x35, 0x9e, 0x8c, 0x5c, + 0xbd, 0x77, 0x34, 0x18, 0x75, 0xc7, 0xc7, 0x27, 0xf6, 0xa4, 0x3b, 0x76, 0xc9, 0x1d, 0xb8, 0x69, + 0x9b, 0xbb, 0x55, 0xbd, 0x41, 0x57, 0xbf, 0x5e, 0xde, 0xad, 0x59, 0x66, 0x63, 0xaf, 0xe2, 0xd8, + 0x4d, 0x33, 0xb6, 0x30, 0x6e, 0xc0, 0xd5, 0xe9, 0xac, 0x65, 0x63, 0x57, 0x2f, 0x3c, 0x56, 0x95, + 0xd9, 0x05, 0xee, 0xe8, 0x65, 0xbd, 0x5a, 0x30, 0x8a, 0xce, 0xfe, 0x3d, 0x35, 0x45, 0x6e, 0xc2, + 0xb5, 0xe9, 0xac, 0x25, 0xb3, 0x6e, 0x53, 0xb6, 0xf4, 0xec, 0xef, 0xee, 0xd9, 0x15, 0xca, 0x95, + 0xc9, 0xff, 0x91, 0x02, 0x9b, 0xd3, 0x90, 0x93, 0xc8, 0x2d, 0xd0, 0x8c, 0x6a, 0xc3, 0xd2, 0xcd, + 0xa2, 0x53, 0xb0, 0x8c, 0xa2, 0x51, 0x6d, 0x98, 0x7a, 0xd9, 0x76, 0xec, 0x5a, 0x93, 0xce, 0xa6, + 0xc0, 0x42, 0xe3, 0x3a, 0x5c, 0x99, 0xc1, 0x57, 0x33, 0x8b, 0x05, 0x55, 0x21, 0xf7, 0xe0, 0xa5, + 0x19, 0x4c, 0xf6, 0x63, 0xbb, 0x61, 0x54, 0xe4, 0x14, 0x35, 0x95, 0x2f, 0xc0, 0xd6, 0x74, 0xf0, + 0x15, 0x7a, 0x8a, 0x84, 0x7b, 0x3a, 0x0b, 0x99, 0x22, 0x3d, 0xb8, 0x42, 0x11, 0x1b, 0xf2, 0x5d, + 0x50, 0xa3, 0xf8, 0x09, 0x31, 0x53, 0x1a, 0xab, 0x59, 0xad, 0xb2, 0x53, 0x6e, 0x0d, 0x72, 0xb5, + 0xc6, 0x9e, 0x61, 0xf1, 0x98, 0x17, 0x18, 0xe4, 0xa2, 0x59, 0xa5, 0x0b, 0xa7, 0x66, 0x99, 0x5f, + 0xc2, 0xe3, 0x6e, 0x13, 0x36, 0xec, 0xb2, 0x5e, 0x78, 0x84, 0x6b, 0xda, 0xac, 0x3a, 0x85, 0x3d, + 0xbd, 0x5a, 0x35, 0xca, 0x2a, 0x60, 0x67, 0x4e, 0xf3, 0x99, 0x24, 0x1f, 0x85, 0xdb, 0xb5, 0x47, + 0x0d, 0xdd, 0xa9, 0x97, 0x9b, 0xbb, 0x66, 0xd5, 0xb1, 0x1f, 0x57, 0x0b, 0x42, 0x34, 0x2b, 0xc4, + 0x4f, 0x84, 0xdb, 0x70, 0x63, 0x26, 0x77, 0x10, 0x9d, 0xe2, 0x16, 0x68, 0x33, 0x39, 0x79, 0x43, + 0xf2, 0x3f, 0x52, 0x60, 0x7b, 0xc6, 0x9b, 0x3e, 0x79, 0x09, 0xee, 0xec, 0x19, 0x7a, 0xb1, 0x6c, + 0xd8, 0x36, 0x6e, 0x14, 0x74, 0x18, 0x98, 0xc9, 0x4d, 0xe2, 0x7e, 0x7f, 0x07, 0x6e, 0xce, 0x66, + 0x0f, 0x24, 0x87, 0xdb, 0x70, 0x63, 0x36, 0x2b, 0x97, 0x24, 0x52, 0x74, 0xbf, 0x9d, 0xcd, 0xe9, + 0x4b, 0x20, 0xe9, 0xfc, 0x6f, 0x29, 0x70, 0x3e, 0x59, 0xb1, 0x46, 0xeb, 0x66, 0x56, 0xed, 0x86, + 0x5e, 0x2e, 0x3b, 0x75, 0xdd, 0xd2, 0x2b, 0x8e, 0x51, 0xb5, 0x6a, 0xe5, 0x72, 0xd2, 0xc9, 0x7b, + 0x03, 0xae, 0x4e, 0x67, 0xb5, 0x0b, 0x96, 0x59, 0xa7, 0x87, 0x8b, 0x06, 0x97, 0xa7, 0x73, 0x19, + 0x66, 0xc1, 0x50, 0x53, 0x3b, 0xaf, 0xbd, 0xf3, 0x2f, 0x97, 0xe7, 0xde, 0x79, 0xef, 0xb2, 0xf2, + 0xe3, 0xf7, 0x2e, 0x2b, 0xff, 0xfc, 0xde, 0x65, 0xe5, 0x4b, 0x77, 0x4f, 0x17, 0xd8, 0x09, 0xef, + 0x68, 0x6f, 0x2c, 0xa0, 0x8d, 0xd9, 0x2b, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0x40, 0x5f, 0x81, + 0x97, 0xac, 0xb1, 0x01, 0x00, } func (this *PluginSpecV1) Equal(that interface{}) bool { @@ -24097,9 +24096,6 @@ func (this *PluginEntraIDSyncSettings) Equal(that interface{}) bool { if this.TenantId != that1.TenantId { return false } - if this.EntraAppId != that1.EntraAppId { - return false - } if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { return false } @@ -44441,13 +44437,6 @@ func (m *PluginEntraIDSyncSettings) MarshalToSizedBuffer(dAtA []byte) (int, erro i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - if len(m.EntraAppId) > 0 { - i -= len(m.EntraAppId) - copy(dAtA[i:], m.EntraAppId) - i = encodeVarintTypes(dAtA, i, uint64(len(m.EntraAppId))) - i-- - dAtA[i] = 0x2a - } if len(m.TenantId) > 0 { i -= len(m.TenantId) copy(dAtA[i:], m.TenantId) @@ -48834,6 +48823,20 @@ func (m *AccessGraphSync) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + if len(m.Azure) > 0 { + for iNdEx := len(m.Azure) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Azure[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + } if len(m.AWS) > 0 { for iNdEx := len(m.AWS) - 1; iNdEx >= 0; iNdEx-- { { @@ -48937,10 +48940,10 @@ func (m *AccessGraphAzureSync) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x22 } - if len(m.UMIClientID) > 0 { - i -= len(m.UMIClientID) - copy(dAtA[i:], m.UMIClientID) - i = encodeVarintTypes(dAtA, i, uint64(len(m.UMIClientID))) + if len(m.UmiClientId) > 0 { + i -= len(m.UmiClientId) + copy(dAtA[i:], m.UmiClientId) + i = encodeVarintTypes(dAtA, i, uint64(len(m.UmiClientId))) i-- dAtA[i] = 0x1a } @@ -57946,10 +57949,6 @@ func (m *PluginEntraIDSyncSettings) Size() (n int) { if l > 0 { n += 1 + l + sovTypes(uint64(l)) } - l = len(m.EntraAppId) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -59964,8 +59963,12 @@ func (m *AccessGraphSync) Size() (n int) { n += 1 + l + sovTypes(uint64(l)) } } - l = github_com_gogo_protobuf_types.SizeOfStdDuration(m.PollInterval) - n += 1 + l + sovTypes(uint64(l)) + if len(m.Azure) > 0 { + for _, e := range m.Azure { + l = e.Size() + n += 1 + l + sovTypes(uint64(l)) + } + } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -60014,7 +60017,7 @@ func (m *AccessGraphAzureSync) Size() (n int) { if l > 0 { n += 1 + l + sovTypes(uint64(l)) } - l = len(m.UMIClientID) + l = len(m.UmiClientId) if l > 0 { n += 1 + l + sovTypes(uint64(l)) } @@ -118498,38 +118501,6 @@ func (m *PluginEntraIDSyncSettings) Unmarshal(dAtA []byte) error { } m.TenantId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EntraAppId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.EntraAppId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) @@ -130478,7 +130449,7 @@ func (m *AccessGraphAzureSync) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UMIClientID", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field UmiClientId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -130506,7 +130477,7 @@ func (m *AccessGraphAzureSync) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.UMIClientID = string(dAtA[iNdEx:postIndex]) + m.UmiClientId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { From 37cecd7f8da128c5fcb7a50382109085f0a42c26 Mon Sep 17 00:00:00 2001 From: Matt Brock Date: Wed, 13 Nov 2024 14:34:54 -0600 Subject: [PATCH 11/21] Did not fully fetch from origin/master when rebasing --- api/proto/teleport/legacy/types/types.proto | 11 + api/types/discoveryconfig/derived.gen.go | 110 ++- api/types/types.pb.go | 836 +++++++++++--------- 3 files changed, 547 insertions(+), 410 deletions(-) diff --git a/api/proto/teleport/legacy/types/types.proto b/api/proto/teleport/legacy/types/types.proto index d5aed51783941..95c14e58d27ab 100644 --- a/api/proto/teleport/legacy/types/types.proto +++ b/api/proto/teleport/legacy/types/types.proto @@ -6498,6 +6498,11 @@ message PluginEntraIDSyncSettings { // This field is populated on a best-effort basis for legacy plugins but mandatory for plugins created after its introduction. // For existing plugins, it is filled in using the Entra integration when utilized. string tenant_id = 4; + + // entra_app_id refers to the Entra Application ID that supports the SSO for "sso_connector_id". + // This field is populated on a best-effort basis for legacy plugins but mandatory for plugins created after its introduction. + // For existing plugins, it is filled in using the entity descriptor url when utilized. + string entra_app_id = 5; } // EntraIDCredentialsSource defines the credentials source for Entra ID. @@ -7792,6 +7797,12 @@ message AccessGraphSync { repeated AccessGraphAWSSync AWS = 1 [(gogoproto.jsontag) = "aws,omitempty"]; // Azure is a configuration for the Azure Access Graph service poll service. repeated AccessGraphAzureSync Azure = 2 [(gogoproto.jsontag) = "azure,omitempty"]; + // PollInterval is the frequency at which to poll for AWS resources + google.protobuf.Duration PollInterval = 3 [ + (gogoproto.jsontag) = "poll_interval,omitempty", + (gogoproto.nullable) = false, + (gogoproto.stdduration) = true + ]; } // AccessGraphAWSSync is a configuration for AWS Access Graph service poll service. diff --git a/api/types/discoveryconfig/derived.gen.go b/api/types/discoveryconfig/derived.gen.go index f92f2f40ba9c9..77bd2004e34ca 100644 --- a/api/types/discoveryconfig/derived.gen.go +++ b/api/types/discoveryconfig/derived.gen.go @@ -116,7 +116,9 @@ func deriveTeleportEqual_5(this, that []types.KubernetesMatcher) bool { func deriveTeleportEqual_6(this, that *types.AccessGraphSync) bool { return (this == nil && that == nil) || this != nil && that != nil && - deriveTeleportEqual_12(this.AWS, that.AWS) + deriveTeleportEqual_12(this.AWS, that.AWS) && + deriveTeleportEqual_13(this.Azure, that.Azure) && + this.PollInterval == that.PollInterval } // deriveTeleportEqual_7 returns whether this and that are equal. @@ -143,12 +145,12 @@ func deriveTeleportEqual_7(this, that map[string]string) bool { func deriveTeleportEqual_8(this, that *types.AWSMatcher) bool { return (this == nil && that == nil) || this != nil && that != nil && - deriveTeleportEqual_13(this.Types, that.Types) && - deriveTeleportEqual_13(this.Regions, that.Regions) && - deriveTeleportEqual_14(this.AssumeRole, that.AssumeRole) && - deriveTeleportEqual_15(this.Tags, that.Tags) && - deriveTeleportEqual_16(this.Params, that.Params) && - deriveTeleportEqual_17(this.SSM, that.SSM) && + deriveTeleportEqual_14(this.Types, that.Types) && + deriveTeleportEqual_14(this.Regions, that.Regions) && + deriveTeleportEqual_15(this.AssumeRole, that.AssumeRole) && + deriveTeleportEqual_16(this.Tags, that.Tags) && + deriveTeleportEqual_17(this.Params, that.Params) && + deriveTeleportEqual_18(this.SSM, that.SSM) && this.Integration == that.Integration && this.KubeAppDiscovery == that.KubeAppDiscovery && this.SetupAccessForARN == that.SetupAccessForARN @@ -158,34 +160,34 @@ func deriveTeleportEqual_8(this, that *types.AWSMatcher) bool { func deriveTeleportEqual_9(this, that *types.AzureMatcher) bool { return (this == nil && that == nil) || this != nil && that != nil && - deriveTeleportEqual_13(this.Subscriptions, that.Subscriptions) && - deriveTeleportEqual_13(this.ResourceGroups, that.ResourceGroups) && - deriveTeleportEqual_13(this.Types, that.Types) && - deriveTeleportEqual_13(this.Regions, that.Regions) && - deriveTeleportEqual_15(this.ResourceTags, that.ResourceTags) && - deriveTeleportEqual_16(this.Params, that.Params) + deriveTeleportEqual_14(this.Subscriptions, that.Subscriptions) && + deriveTeleportEqual_14(this.ResourceGroups, that.ResourceGroups) && + deriveTeleportEqual_14(this.Types, that.Types) && + deriveTeleportEqual_14(this.Regions, that.Regions) && + deriveTeleportEqual_16(this.ResourceTags, that.ResourceTags) && + deriveTeleportEqual_17(this.Params, that.Params) } // deriveTeleportEqual_10 returns whether this and that are equal. func deriveTeleportEqual_10(this, that *types.GCPMatcher) bool { return (this == nil && that == nil) || this != nil && that != nil && - deriveTeleportEqual_13(this.Types, that.Types) && - deriveTeleportEqual_13(this.Locations, that.Locations) && - deriveTeleportEqual_15(this.Tags, that.Tags) && - deriveTeleportEqual_13(this.ProjectIDs, that.ProjectIDs) && - deriveTeleportEqual_13(this.ServiceAccounts, that.ServiceAccounts) && - deriveTeleportEqual_16(this.Params, that.Params) && - deriveTeleportEqual_15(this.Labels, that.Labels) + deriveTeleportEqual_14(this.Types, that.Types) && + deriveTeleportEqual_14(this.Locations, that.Locations) && + deriveTeleportEqual_16(this.Tags, that.Tags) && + deriveTeleportEqual_14(this.ProjectIDs, that.ProjectIDs) && + deriveTeleportEqual_14(this.ServiceAccounts, that.ServiceAccounts) && + deriveTeleportEqual_17(this.Params, that.Params) && + deriveTeleportEqual_16(this.Labels, that.Labels) } // deriveTeleportEqual_11 returns whether this and that are equal. func deriveTeleportEqual_11(this, that *types.KubernetesMatcher) bool { return (this == nil && that == nil) || this != nil && that != nil && - deriveTeleportEqual_13(this.Types, that.Types) && - deriveTeleportEqual_13(this.Namespaces, that.Namespaces) && - deriveTeleportEqual_15(this.Labels, that.Labels) + deriveTeleportEqual_14(this.Types, that.Types) && + deriveTeleportEqual_14(this.Namespaces, that.Namespaces) && + deriveTeleportEqual_16(this.Labels, that.Labels) } // deriveTeleportEqual_12 returns whether this and that are equal. @@ -197,7 +199,7 @@ func deriveTeleportEqual_12(this, that []*types.AccessGraphAWSSync) bool { return false } for i := 0; i < len(this); i++ { - if !(deriveTeleportEqual_18(this[i], that[i])) { + if !(deriveTeleportEqual_19(this[i], that[i])) { return false } } @@ -205,7 +207,7 @@ func deriveTeleportEqual_12(this, that []*types.AccessGraphAWSSync) bool { } // deriveTeleportEqual_13 returns whether this and that are equal. -func deriveTeleportEqual_13(this, that []string) bool { +func deriveTeleportEqual_13(this, that []*types.AccessGraphAzureSync) bool { if this == nil || that == nil { return this == nil && that == nil } @@ -213,7 +215,7 @@ func deriveTeleportEqual_13(this, that []string) bool { return false } for i := 0; i < len(this); i++ { - if !(this[i] == that[i]) { + if !(deriveTeleportEqual_20(this[i], that[i])) { return false } } @@ -221,15 +223,31 @@ func deriveTeleportEqual_13(this, that []string) bool { } // deriveTeleportEqual_14 returns whether this and that are equal. -func deriveTeleportEqual_14(this, that *types.AssumeRole) bool { +func deriveTeleportEqual_14(this, that []string) bool { + if this == nil || that == nil { + return this == nil && that == nil + } + if len(this) != len(that) { + return false + } + for i := 0; i < len(this); i++ { + if !(this[i] == that[i]) { + return false + } + } + return true +} + +// deriveTeleportEqual_15 returns whether this and that are equal. +func deriveTeleportEqual_15(this, that *types.AssumeRole) bool { return (this == nil && that == nil) || this != nil && that != nil && this.RoleARN == that.RoleARN && this.ExternalID == that.ExternalID } -// deriveTeleportEqual_15 returns whether this and that are equal. -func deriveTeleportEqual_15(this, that map[string]utils.Strings) bool { +// deriveTeleportEqual_16 returns whether this and that are equal. +func deriveTeleportEqual_16(this, that map[string]utils.Strings) bool { if this == nil || that == nil { return this == nil && that == nil } @@ -241,15 +259,15 @@ func deriveTeleportEqual_15(this, that map[string]utils.Strings) bool { if !ok { return false } - if !(deriveTeleportEqual_13(v, thatv)) { + if !(deriveTeleportEqual_14(v, thatv)) { return false } } return true } -// deriveTeleportEqual_16 returns whether this and that are equal. -func deriveTeleportEqual_16(this, that *types.InstallerParams) bool { +// deriveTeleportEqual_17 returns whether this and that are equal. +func deriveTeleportEqual_17(this, that *types.InstallerParams) bool { return (this == nil && that == nil) || this != nil && that != nil && this.JoinMethod == that.JoinMethod && @@ -258,28 +276,38 @@ func deriveTeleportEqual_16(this, that *types.InstallerParams) bool { this.InstallTeleport == that.InstallTeleport && this.SSHDConfig == that.SSHDConfig && this.PublicProxyAddr == that.PublicProxyAddr && - deriveTeleportEqual_19(this.Azure, that.Azure) && + deriveTeleportEqual_21(this.Azure, that.Azure) && this.EnrollMode == that.EnrollMode } -// deriveTeleportEqual_17 returns whether this and that are equal. -func deriveTeleportEqual_17(this, that *types.AWSSSM) bool { +// deriveTeleportEqual_18 returns whether this and that are equal. +func deriveTeleportEqual_18(this, that *types.AWSSSM) bool { return (this == nil && that == nil) || this != nil && that != nil && this.DocumentName == that.DocumentName } -// deriveTeleportEqual_18 returns whether this and that are equal. -func deriveTeleportEqual_18(this, that *types.AccessGraphAWSSync) bool { +// deriveTeleportEqual_19 returns whether this and that are equal. +func deriveTeleportEqual_19(this, that *types.AccessGraphAWSSync) bool { return (this == nil && that == nil) || this != nil && that != nil && - deriveTeleportEqual_13(this.Regions, that.Regions) && - deriveTeleportEqual_14(this.AssumeRole, that.AssumeRole) && + deriveTeleportEqual_14(this.Regions, that.Regions) && + deriveTeleportEqual_15(this.AssumeRole, that.AssumeRole) && this.Integration == that.Integration } -// deriveTeleportEqual_19 returns whether this and that are equal. -func deriveTeleportEqual_19(this, that *types.AzureInstallerParams) bool { +// deriveTeleportEqual_20 returns whether this and that are equal. +func deriveTeleportEqual_20(this, that *types.AccessGraphAzureSync) bool { + return (this == nil && that == nil) || + this != nil && that != nil && + deriveTeleportEqual_14(this.Regions, that.Regions) && + this.SubscriptionID == that.SubscriptionID && + this.UmiClientId == that.UmiClientId && + this.Integration == that.Integration +} + +// deriveTeleportEqual_21 returns whether this and that are equal. +func deriveTeleportEqual_21(this, that *types.AzureInstallerParams) bool { return (this == nil && that == nil) || this != nil && that != nil && this.ClientID == that.ClientID diff --git a/api/types/types.pb.go b/api/types/types.pb.go index 6e2c8ac923245..0ca727cc6b762 100644 --- a/api/types/types.pb.go +++ b/api/types/types.pb.go @@ -16656,7 +16656,11 @@ type PluginEntraIDSyncSettings struct { // tenant_id refers to the Azure Directory that this plugin synchronizes with. // This field is populated on a best-effort basis for legacy plugins but mandatory for plugins created after its introduction. // For existing plugins, it is filled in using the Entra integration when utilized. - TenantId string `protobuf:"bytes,4,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + TenantId string `protobuf:"bytes,4,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + // entra_app_id refers to the Entra Application ID that supports the SSO for "sso_connector_id". + // This field is populated on a best-effort basis for legacy plugins but mandatory for plugins created after its introduction. + // For existing plugins, it is filled in using the entity descriptor url when utilized. + EntraAppId string `protobuf:"bytes,5,opt,name=entra_app_id,json=entraAppId,proto3" json:"entra_app_id,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -20694,10 +20698,12 @@ type AccessGraphSync struct { // AWS is a configuration for AWS Access Graph service poll service. AWS []*AccessGraphAWSSync `protobuf:"bytes,1,rep,name=AWS,proto3" json:"aws,omitempty"` // Azure is a configuration for the Azure Access Graph service poll service. - Azure []*AccessGraphAzureSync `protobuf:"bytes,2,rep,name=Azure,proto3" json:"azure,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Azure []*AccessGraphAzureSync `protobuf:"bytes,2,rep,name=Azure,proto3" json:"azure,omitempty"` + // PollInterval is the frequency at which to poll for AWS resources + PollInterval time.Duration `protobuf:"bytes,3,opt,name=PollInterval,proto3,stdduration" json:"poll_interval,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *AccessGraphSync) Reset() { *m = AccessGraphSync{} } @@ -21253,7 +21259,7 @@ func init() { func init() { proto.RegisterFile("teleport/legacy/types/types.proto", fileDescriptor_9198ee693835762e) } var fileDescriptor_9198ee693835762e = []byte{ - // 29461 bytes of a gzipped FileDescriptorProto + // 29512 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xfd, 0x6b, 0x70, 0x1c, 0x59, 0x76, 0x20, 0x06, 0x77, 0x55, 0xe1, 0x51, 0x38, 0x78, 0x15, 0x2e, 0x40, 0x12, 0x44, 0x37, 0xbb, 0xd8, 0xd9, 0xdd, 0x6c, 0x76, 0x4f, 0x37, 0x39, 0x04, 0xa7, 0x39, 0xd3, 0xd3, 0xaf, 0x29, 0x3c, @@ -22733,369 +22739,372 @@ var fileDescriptor_9198ee693835762e = []byte{ 0xce, 0xea, 0x91, 0x2a, 0xf5, 0xd1, 0x9a, 0x6e, 0x84, 0x3e, 0xef, 0xb7, 0xe3, 0xcf, 0x4b, 0x09, 0x77, 0x6c, 0x35, 0xbd, 0xae, 0xb3, 0xee, 0x27, 0x8a, 0xa8, 0xff, 0xd2, 0xfe, 0x22, 0x9c, 0xa2, 0xc9, 0xb7, 0x13, 0xb8, 0x9d, 0xdd, 0x84, 0x9d, 0x6c, 0xe8, 0x2b, 0x59, 0xec, 0xe4, 0xac, 0xbc, - 0xf1, 0xff, 0xb1, 0x77, 0x35, 0xb1, 0x8d, 0x24, 0xd7, 0x59, 0x4d, 0x52, 0x12, 0xf5, 0xa8, 0x9f, - 0x56, 0x8d, 0x76, 0x46, 0x2b, 0xcd, 0x6f, 0xcf, 0x8f, 0x67, 0x38, 0xde, 0xb5, 0x67, 0x36, 0xf6, - 0x7a, 0xec, 0xac, 0xed, 0x16, 0xd9, 0x94, 0x7a, 0x86, 0x7f, 0xee, 0x26, 0x25, 0x8f, 0xd7, 0x76, - 0x87, 0x4b, 0xb6, 0x24, 0xc6, 0x14, 0x49, 0xb3, 0xc9, 0x1d, 0xcf, 0x22, 0x40, 0x62, 0x04, 0xb0, - 0x01, 0xe7, 0xc7, 0x89, 0x13, 0x20, 0x4e, 0x10, 0x20, 0x87, 0x2c, 0x82, 0x1c, 0x72, 0x4f, 0x90, - 0xe4, 0xe2, 0xdb, 0x02, 0x86, 0x01, 0x03, 0xc9, 0x29, 0x01, 0x36, 0xc9, 0x02, 0xc9, 0x21, 0xc9, - 0x2d, 0x88, 0x0f, 0x3e, 0x05, 0xf5, 0xaa, 0xaa, 0xbb, 0xfa, 0x87, 0x1c, 0x69, 0x67, 0x37, 0x89, - 0x01, 0x9f, 0x24, 0xbe, 0x7a, 0x55, 0x5d, 0xff, 0xf5, 0xea, 0xd5, 0x7b, 0xdf, 0xa3, 0xfc, 0x7e, - 0xa9, 0xe7, 0x5a, 0x71, 0x22, 0x6f, 0xc3, 0x3f, 0xf9, 0x4b, 0x3d, 0xa1, 0x3a, 0x09, 0xd3, 0x5a, - 0x49, 0x9a, 0xd6, 0xa7, 0x5f, 0x53, 0x55, 0x20, 0xf2, 0x66, 0xc5, 0xb4, 0x9e, 0xdc, 0xa0, 0x4a, - 0xc8, 0xe9, 0xbc, 0x22, 0xd2, 0xd6, 0x60, 0xb3, 0x60, 0x9a, 0xeb, 0xed, 0x28, 0x89, 0x6c, 0xc3, - 0x92, 0x1f, 0xaf, 0x9a, 0x1f, 0x1c, 0x59, 0x46, 0x30, 0x3b, 0xbc, 0x85, 0xdf, 0x54, 0xe0, 0xea, - 0xb3, 0x7a, 0x88, 0x1c, 0xc0, 0x79, 0x34, 0xda, 0xf0, 0x06, 0x7e, 0x27, 0x3b, 0xed, 0x56, 0xfb, - 0xd8, 0xe5, 0x73, 0x52, 0x4b, 0xec, 0xea, 0xe1, 0xd0, 0xb6, 0x6b, 0x52, 0x2f, 0x0f, 0x87, 0xb6, - 0x37, 0x10, 0xbf, 0x0b, 0x34, 0x3b, 0xaf, 0x43, 0x07, 0xb6, 0x67, 0xe4, 0x94, 0xb6, 0x05, 0x45, - 0xde, 0x16, 0x6e, 0x83, 0x7a, 0xe8, 0x76, 0xa8, 0xc4, 0xeb, 0x76, 0xb0, 0x6a, 0x6f, 0xde, 0x67, - 0xf1, 0xd7, 0xad, 0x55, 0x9f, 0x6e, 0x7b, 0x83, 0xfd, 0xfb, 0xfc, 0x2b, 0x27, 0xe2, 0x40, 0x93, - 0x2f, 0x0d, 0xe4, 0x65, 0x38, 0x17, 0x81, 0x13, 0x09, 0xfc, 0xd3, 0xad, 0x75, 0x9a, 0x14, 0x06, - 0x9f, 0xba, 0x06, 0xcb, 0x62, 0xcc, 0x47, 0xbe, 0x97, 0x9b, 0x95, 0xe3, 0x34, 0xba, 0xa6, 0xf8, - 0xe7, 0x26, 0xa2, 0x51, 0x89, 0xf7, 0x8d, 0x53, 0x48, 0xca, 0xe4, 0x25, 0x20, 0xbe, 0x54, 0xee, - 0x6f, 0x03, 0xfc, 0x83, 0xeb, 0x22, 0xc5, 0x5f, 0xbf, 0xfc, 0xb3, 0x7f, 0x9b, 0x82, 0x73, 0x09, - 0x17, 0x15, 0x2a, 0xe2, 0x77, 0xfb, 0x63, 0xf7, 0x88, 0x5d, 0x10, 0xe4, 0x46, 0xae, 0x49, 0x74, - 0xae, 0x7d, 0x5a, 0x60, 0xf1, 0xc5, 0xf9, 0xb7, 0xf8, 0x2f, 0xba, 0x35, 0xb4, 0x46, 0x42, 0xb1, - 0x42, 0xff, 0x25, 0x26, 0xac, 0x63, 0xd0, 0x04, 0xaf, 0x3b, 0xc0, 0xd8, 0x0b, 0x28, 0x62, 0x64, - 0x42, 0x57, 0x19, 0xac, 0x45, 0x5d, 0x62, 0xa2, 0x32, 0x86, 0xa5, 0x0e, 0x23, 0x14, 0xf2, 0x19, - 0xd8, 0x92, 0x4e, 0x12, 0x27, 0xb2, 0xae, 0xd0, 0x8e, 0xdd, 0xba, 0xd0, 0xf2, 0xcf, 0x94, 0x62, - 0x68, 0x85, 0xed, 0xc0, 0x65, 0x1c, 0xc4, 0x6e, 0x67, 0xe8, 0xc4, 0xa2, 0x6c, 0x60, 0x53, 0x19, - 0x2c, 0xfd, 0x16, 0xe5, 0x32, 0x3b, 0xc3, 0x48, 0xc0, 0x0d, 0xda, 0x6a, 0xde, 0x7d, 0xaf, 0xc3, - 0x0b, 0x89, 0x35, 0xa6, 0xc7, 0x07, 0x9a, 0x49, 0x05, 0x92, 0xcf, 0x22, 0xfd, 0x4d, 0x45, 0x9f, - 0x6b, 0xb0, 0xfc, 0x86, 0xdb, 0x1a, 0xb9, 0x23, 0x7e, 0x2e, 0xf3, 0x29, 0xc1, 0x68, 0xf2, 0xb1, - 0xdc, 0x09, 0x0f, 0x0d, 0xd7, 0x08, 0x91, 0x0a, 0x9c, 0x63, 0xe7, 0x5b, 0xf7, 0x04, 0x45, 0x3d, - 0xae, 0x45, 0x52, 0x42, 0xc2, 0x0e, 0x66, 0xc1, 0x83, 0xc7, 0x44, 0x2e, 0x96, 0xdb, 0x5a, 0x3f, - 0x8a, 0x92, 0xe8, 0x8a, 0x3e, 0x9f, 0xcc, 0x4d, 0x76, 0x20, 0xc7, 0x0a, 0x67, 0x42, 0x3f, 0x53, - 0xff, 0x5f, 0x9b, 0xf9, 0x85, 0x02, 0x5a, 0x0f, 0x7b, 0xfe, 0xff, 0xf4, 0x34, 0xc6, 0x97, 0x56, - 0xe7, 0x44, 0x7e, 0xdd, 0xb0, 0x96, 0x91, 0xc8, 0x5f, 0x35, 0xb4, 0xbf, 0x53, 0x44, 0x53, 0x43, - 0x57, 0x5f, 0x3a, 0xb5, 0x3c, 0xb7, 0x2f, 0x5e, 0x78, 0x96, 0x2c, 0xfe, 0xeb, 0x8c, 0x53, 0x9d, - 0xbc, 0x0a, 0xcb, 0xb4, 0xd8, 0xa3, 0x49, 0x9f, 0x4d, 0xb9, 0x74, 0x08, 0x46, 0xa7, 0xc2, 0x92, - 0xe8, 0xb0, 0xed, 0xcd, 0x59, 0xb9, 0x93, 0xe0, 0x27, 0x95, 0x85, 0xbd, 0x93, 0xf1, 0x50, 0x9e, - 0xa8, 0x42, 0x0d, 0x68, 0x57, 0x1a, 0x75, 0x9e, 0x25, 0x4b, 0x79, 0x02, 0x59, 0x78, 0x67, 0x81, - 0x29, 0x02, 0xb5, 0xbb, 0x90, 0x93, 0xca, 0xa6, 0x8d, 0x61, 0x7e, 0x31, 0xa2, 0x31, 0xec, 0x17, - 0x1f, 0xec, 0x37, 0x20, 0x2b, 0x8a, 0xa4, 0x42, 0xff, 0xf1, 0xc0, 0x13, 0x8b, 0x1c, 0xff, 0xa7, - 0x34, 0xda, 0xcb, 0xd8, 0xc8, 0x79, 0x0b, 0xff, 0xc7, 0x93, 0x62, 0xdc, 0xa2, 0xd2, 0x7e, 0xcf, - 0x73, 0x86, 0x68, 0x5f, 0xe5, 0x8b, 0xc6, 0x94, 0xde, 0xe8, 0x79, 0xcc, 0xea, 0x8a, 0x7f, 0xe3, - 0xaf, 0xfc, 0x23, 0x36, 0xa2, 0x2b, 0x98, 0xb6, 0x67, 0x86, 0x0e, 0x84, 0x54, 0xf8, 0x40, 0x20, - 0x57, 0x61, 0x99, 0xc1, 0xa3, 0xf0, 0x9c, 0xec, 0xcb, 0x80, 0x34, 0x1d, 0xb3, 0x07, 0x3b, 0x43, - 0x26, 0xb4, 0x33, 0x48, 0x37, 0xee, 0x60, 0xf4, 0x98, 0x0c, 0x27, 0x6e, 0xdc, 0xd1, 0x7d, 0xea, - 0xcf, 0x52, 0x42, 0x01, 0xb0, 0x33, 0x18, 0x8c, 0xbd, 0xf1, 0xa8, 0x35, 0x0c, 0x29, 0x3a, 0xc9, - 0x09, 0xbc, 0x88, 0xf2, 0xf1, 0x7d, 0x0c, 0x50, 0x31, 0x18, 0x09, 0x44, 0x0e, 0x7f, 0xe6, 0xe6, - 0xee, 0x7f, 0x2c, 0x2c, 0xc1, 0xeb, 0x94, 0x5b, 0x97, 0x99, 0xe9, 0x84, 0x95, 0x4a, 0xdd, 0x9b, - 0xb3, 0x2e, 0xb0, 0x32, 0x63, 0x5c, 0x64, 0x2f, 0x61, 0x11, 0x47, 0x35, 0x9d, 0x3b, 0xc1, 0x8a, - 0x0e, 0x97, 0x2a, 0xaf, 0x75, 0xf2, 0x59, 0x58, 0xea, 0x76, 0xe4, 0x38, 0x8c, 0x51, 0x1d, 0x9b, - 0xd9, 0x61, 0x58, 0xd0, 0x41, 0x19, 0x74, 0xce, 0x75, 0x39, 0x75, 0x67, 0x25, 0xa4, 0x12, 0xd6, - 0x76, 0xc4, 0x5d, 0x33, 0x9e, 0x8d, 0xac, 0x42, 0xca, 0x1f, 0xe1, 0x54, 0xb7, 0xc3, 0x96, 0x57, - 0x80, 0x46, 0x6d, 0xf1, 0x5f, 0xda, 0xaf, 0xc0, 0xed, 0xd3, 0xf6, 0x11, 0x5d, 0x8a, 0x53, 0x3a, - 0x7c, 0xc9, 0x5a, 0x6f, 0xc5, 0xfa, 0xed, 0x1a, 0xc8, 0x60, 0xba, 0x5d, 0xb1, 0xf9, 0x09, 0x5a, - 0x73, 0xd4, 0xd5, 0xfe, 0x32, 0x0d, 0xab, 0x61, 0x25, 0x38, 0xb9, 0x0b, 0x19, 0x69, 0x07, 0xba, - 0x90, 0xa0, 0x29, 0xc7, 0x7d, 0x07, 0x99, 0x4e, 0xb5, 0xe3, 0x90, 0x87, 0xb0, 0x8a, 0x66, 0x79, - 0x28, 0x58, 0x8e, 0xbb, 0xfc, 0x69, 0x65, 0xf6, 0xeb, 0x58, 0xf6, 0x9d, 0x77, 0xaf, 0xcc, 0xe1, - 0x43, 0xd8, 0x32, 0xcd, 0x4b, 0x65, 0x3b, 0x9a, 0x28, 0xe9, 0x38, 0x33, 0xd3, 0x75, 0x9c, 0xbc, - 0x29, 0x53, 0x74, 0x9c, 0xf3, 0x33, 0x74, 0x9c, 0x41, 0x4e, 0x59, 0xc7, 0x89, 0x9a, 0xee, 0xc5, - 0x69, 0x9a, 0xee, 0x20, 0x0f, 0xd3, 0x74, 0x07, 0x3a, 0xca, 0xec, 0x54, 0x1d, 0x65, 0x90, 0x87, - 0xeb, 0x28, 0x6f, 0xf0, 0x3e, 0x1a, 0xb5, 0x9e, 0x38, 0xd8, 0x79, 0xfc, 0x58, 0xc4, 0xd6, 0x5b, - 0xad, 0x27, 0x68, 0x3a, 0xb3, 0xb3, 0x04, 0xc2, 0xde, 0x46, 0xfb, 0x3d, 0x25, 0xa2, 0xe7, 0x13, - 0xe3, 0x77, 0x13, 0x56, 0xd9, 0x61, 0xe5, 0x76, 0xa4, 0x9b, 0xe4, 0x8a, 0xb5, 0x22, 0xa8, 0xec, - 0x36, 0xf9, 0x11, 0x58, 0xf3, 0xd9, 0xf8, 0x85, 0x0a, 0xfd, 0xf0, 0x2c, 0x3f, 0x37, 0x07, 0x95, - 0xb9, 0x0b, 0xeb, 0x3e, 0x23, 0xd7, 0xd5, 0xb0, 0xcb, 0xe4, 0x8a, 0xa5, 0x8a, 0x84, 0x3a, 0xa7, - 0x6b, 0x47, 0xd1, 0x7b, 0xc5, 0x87, 0x54, 0x2b, 0xed, 0x07, 0xe9, 0x90, 0x0e, 0x44, 0x7c, 0x86, - 0x9e, 0xa2, 0xde, 0xc0, 0xe1, 0x9d, 0xc4, 0xf7, 0xa2, 0x6b, 0x53, 0xc6, 0x8c, 0x5b, 0x2c, 0xd9, - 0x76, 0xcd, 0x02, 0xcf, 0x1b, 0x08, 0x03, 0x26, 0x87, 0x49, 0xd4, 0xec, 0xdc, 0xc7, 0x39, 0x2b, - 0x8a, 0x63, 0x1b, 0x4f, 0x7e, 0x76, 0x71, 0xe2, 0x12, 0x4a, 0xa7, 0x2c, 0x4a, 0xd6, 0xfe, 0x2f, - 0xf1, 0x81, 0x26, 0xa0, 0xca, 0xd0, 0x0b, 0x17, 0x9e, 0x4e, 0xb8, 0x19, 0xc5, 0x0a, 0xc7, 0x5e, - 0xc2, 0x92, 0xd5, 0x89, 0xf8, 0x57, 0x14, 0x6b, 0xc0, 0x32, 0x6a, 0x20, 0x44, 0x81, 0x99, 0x04, - 0x05, 0x7b, 0xbc, 0xf1, 0x05, 0xb3, 0x62, 0xe5, 0x68, 0x3e, 0x51, 0xcc, 0x31, 0xbc, 0x28, 0xeb, - 0x0d, 0xc2, 0x95, 0x9c, 0x17, 0x18, 0xb9, 0x33, 0x7b, 0x20, 0x50, 0x2f, 0x60, 0x55, 0xcf, 0xb7, - 0xc2, 0x04, 0xce, 0xa6, 0x1d, 0xc3, 0xd6, 0xf4, 0x21, 0x99, 0x11, 0x7f, 0x29, 0x38, 0x40, 0x53, - 0xf2, 0x01, 0x2a, 0x6b, 0x11, 0xd2, 0x21, 0x2d, 0x82, 0xf6, 0xa7, 0x69, 0xb8, 0x7e, 0x8a, 0xe1, - 0x9a, 0xf1, 0xcd, 0xcf, 0x87, 0xc5, 0xb3, 0x54, 0xe8, 0xde, 0x47, 0x0b, 0xe5, 0x1b, 0x24, 0xbd, - 0x83, 0x26, 0x0b, 0x67, 0xbf, 0x04, 0x6b, 0x6c, 0x17, 0x64, 0x46, 0x87, 0x87, 0x93, 0xde, 0x29, - 0xb6, 0xc1, 0x6d, 0xe1, 0x21, 0x15, 0xc9, 0x8a, 0x3b, 0x23, 0xee, 0x18, 0xb6, 0x4f, 0x23, 0x0d, - 0xc8, 0x21, 0xdb, 0x61, 0xab, 0xdb, 0x3b, 0x95, 0xab, 0x8e, 0xf0, 0xbf, 0x92, 0xb3, 0x31, 0x5b, - 0x69, 0x4a, 0x28, 0xe1, 0x6f, 0x72, 0x0b, 0xd6, 0xfa, 0x93, 0x13, 0x2a, 0x78, 0xb0, 0xb9, 0xc0, - 0x6d, 0x3b, 0xe6, 0xad, 0x95, 0xfe, 0xe4, 0x44, 0x1f, 0x0e, 0x71, 0x48, 0xd1, 0x08, 0x64, 0x9d, - 0xf2, 0xb1, 0x55, 0x2b, 0x38, 0x17, 0x90, 0x93, 0x16, 0xc0, 0xd6, 0x2d, 0xe7, 0xdd, 0x00, 0x66, - 0x12, 0xc8, 0xe3, 0x4f, 0xb1, 0x1f, 0xda, 0x4f, 0x52, 0xe2, 0xbe, 0x3b, 0x7d, 0xde, 0xff, 0x7c, - 0x88, 0x12, 0x86, 0xe8, 0x36, 0xa8, 0xb4, 0xeb, 0x83, 0x4d, 0xc5, 0x1f, 0xa3, 0xd5, 0xfe, 0xe4, - 0xc4, 0xef, 0x3b, 0xb9, 0xe3, 0x17, 0xe4, 0x8e, 0x7f, 0x55, 0xdc, 0x87, 0x13, 0xb7, 0x87, 0xe9, - 0x5d, 0xae, 0xfd, 0x67, 0x1a, 0x6e, 0x9d, 0x6e, 0x13, 0xf8, 0xf9, 0xb8, 0x25, 0x8c, 0x5b, 0x44, - 0x31, 0x3a, 0x1f, 0x53, 0x8c, 0x26, 0xac, 0xbd, 0x85, 0xa4, 0xb5, 0x17, 0x53, 0xc3, 0x2e, 0x26, - 0xa8, 0x61, 0x13, 0x17, 0x68, 0xf6, 0x19, 0x0b, 0x74, 0x49, 0x9e, 0x27, 0xff, 0xe6, 0x2b, 0x30, - 0xc2, 0xf7, 0x81, 0xd7, 0xe1, 0x9c, 0xb8, 0x0f, 0xb0, 0x93, 0x23, 0xd0, 0xae, 0xe7, 0xee, 0xdf, - 0x49, 0xba, 0x09, 0x20, 0x5b, 0x82, 0xb4, 0xbe, 0xce, 0xef, 0x00, 0x41, 0xfa, 0xff, 0x1f, 0xe9, - 0x9f, 0x3c, 0x86, 0xf3, 0x88, 0xde, 0xde, 0x96, 0xdf, 0x05, 0x9c, 0x91, 0x7b, 0xc8, 0xe7, 0xc3, - 0xb5, 0x98, 0xac, 0xdc, 0x6d, 0x4b, 0xd5, 0xb1, 0xdc, 0xc3, 0xbd, 0x39, 0x6b, 0xc3, 0x4b, 0xa0, - 0x47, 0x2f, 0x16, 0x7f, 0xa1, 0x80, 0xf6, 0xec, 0xfe, 0x42, 0x45, 0x55, 0xb4, 0xc3, 0x97, 0xac, - 0x5c, 0x4b, 0xea, 0xbd, 0xeb, 0xb0, 0x32, 0x72, 0x0f, 0x47, 0xae, 0x77, 0x1c, 0xd2, 0x80, 0x2c, - 0x73, 0xa2, 0xe8, 0x18, 0x81, 0x21, 0x79, 0x26, 0xc9, 0x5c, 0x64, 0xd2, 0x4a, 0xfe, 0x7d, 0x31, - 0x71, 0x1c, 0xe8, 0x6c, 0x92, 0x2b, 0xc8, 0x7e, 0x3c, 0xcc, 0x64, 0x53, 0x6a, 0xda, 0xe2, 0x48, - 0x97, 0x87, 0xdd, 0x9e, 0xab, 0xfd, 0xb5, 0x22, 0x24, 0x82, 0xa4, 0xce, 0x23, 0xaf, 0x4b, 0xa6, - 0xba, 0xe9, 0x98, 0x18, 0x92, 0x94, 0x45, 0xb6, 0x6a, 0xe4, 0xe0, 0x8b, 0x48, 0x08, 0x81, 0x2f, - 0x22, 0xe5, 0x39, 0xec, 0x0d, 0xf9, 0xad, 0xf9, 0x81, 0xb0, 0xf7, 0xa1, 0x7b, 0xde, 0xfe, 0x3d, - 0x72, 0x07, 0x16, 0x99, 0x89, 0x8f, 0xa8, 0xee, 0x5a, 0xa8, 0xba, 0xfb, 0xf7, 0x2c, 0x91, 0xae, - 0x7d, 0xdf, 0x57, 0x65, 0xc7, 0x1a, 0xb1, 0x7f, 0x8f, 0xbc, 0x7a, 0x3a, 0xd3, 0xdb, 0xac, 0x30, - 0xbd, 0xf5, 0xcd, 0x6e, 0x3f, 0x15, 0x32, 0xbb, 0xbd, 0x31, 0xbb, 0xb7, 0xf8, 0x5b, 0x23, 0x03, - 0x1b, 0x0c, 0x40, 0xa8, 0x7e, 0xa2, 0xc0, 0xa5, 0x99, 0x39, 0xc8, 0x45, 0xc8, 0xea, 0x75, 0xb3, - 0x11, 0x8c, 0x2f, 0x5d, 0x33, 0x82, 0x42, 0x76, 0x61, 0x69, 0xa7, 0xe5, 0x75, 0xdb, 0x74, 0x1a, - 0x27, 0x2a, 0xff, 0x63, 0xc5, 0xfa, 0xec, 0x7b, 0x73, 0x56, 0x90, 0x97, 0x38, 0xb0, 0x8e, 0x6b, - 0x21, 0x14, 0xd8, 0x29, 0x9d, 0xa0, 0x6b, 0x88, 0x15, 0x18, 0xcb, 0x46, 0xf7, 0x99, 0x18, 0x31, - 0xba, 0x04, 0xdf, 0x14, 0xb2, 0xc8, 0xf4, 0x0a, 0x9e, 0x01, 0x35, 0xf5, 0x36, 0x64, 0xeb, 0xc2, - 0x0a, 0x40, 0xb2, 0x55, 0x17, 0x2f, 0xfe, 0x96, 0x9f, 0xaa, 0xfd, 0xa6, 0x22, 0x14, 0x02, 0xcf, - 0x6e, 0x88, 0x14, 0x13, 0xab, 0x33, 0x3b, 0x26, 0x56, 0xe7, 0x7d, 0xc6, 0xc4, 0xd2, 0xfe, 0x9c, - 0x63, 0x9a, 0x9b, 0x9d, 0x7a, 0x44, 0x33, 0xfb, 0xbc, 0x3e, 0x07, 0x46, 0x68, 0x76, 0x5e, 0x97, - 0x62, 0x2a, 0xc6, 0xbf, 0x35, 0xdd, 0xf5, 0x40, 0x9a, 0xaa, 0x7f, 0x90, 0x86, 0x8b, 0xb3, 0xb2, - 0x27, 0x46, 0x6d, 0x56, 0xce, 0x16, 0xb5, 0xf9, 0x0e, 0x64, 0x19, 0xcd, 0x37, 0xa8, 0xc7, 0x0e, - 0xe7, 0x59, 0x69, 0x87, 0x8b, 0x64, 0x72, 0x1d, 0x16, 0xf4, 0x82, 0x1d, 0x04, 0x12, 0x43, 0xcb, - 0xd7, 0x56, 0xdb, 0x43, 0x9b, 0x4a, 0x9e, 0x44, 0xbe, 0x1a, 0x8f, 0x9d, 0xc7, 0x23, 0x88, 0x6d, - 0x4b, 0x1d, 0x12, 0x0b, 0x37, 0x80, 0xf5, 0x0d, 0xe0, 0xf1, 0x39, 0xe2, 0xb4, 0x15, 0x8f, 0xc3, - 0xa7, 0xc1, 0x42, 0x7d, 0xe4, 0x7a, 0xee, 0x58, 0xb6, 0x4a, 0x1d, 0x22, 0xc5, 0xe2, 0x29, 0xdc, - 0x66, 0xb4, 0xf5, 0x94, 0x41, 0x04, 0x2c, 0xc8, 0xb0, 0x2d, 0x68, 0x64, 0x4a, 0xc9, 0x96, 0xc4, - 0x42, 0x33, 0x94, 0x5b, 0x93, 0x7e, 0xfb, 0xb8, 0x69, 0x95, 0xb9, 0xa8, 0xc1, 0x32, 0xf4, 0x90, - 0x4a, 0x1b, 0xe8, 0x59, 0x12, 0x8b, 0xf6, 0x6d, 0x05, 0x36, 0x92, 0xda, 0x41, 0x2e, 0x42, 0xa6, - 0x9f, 0x18, 0x26, 0xb0, 0xcf, 0x3c, 0x9b, 0x73, 0xf4, 0xaf, 0x73, 0x38, 0x18, 0x9d, 0xb4, 0xc6, - 0xb2, 0xed, 0xae, 0x44, 0xb6, 0x80, 0xfe, 0x28, 0xe1, 0xff, 0xe4, 0x8a, 0xd8, 0xa3, 0xd3, 0xb1, - 0xc0, 0x82, 0xf8, 0x47, 0xd3, 0x01, 0xcc, 0x4e, 0xbd, 0x36, 0x64, 0x70, 0xf7, 0xaf, 0x40, 0x86, - 0x56, 0x2b, 0x32, 0x7b, 0xe9, 0xfc, 0xd1, 0x2b, 0x65, 0xce, 0xc4, 0x6a, 0xe5, 0xb5, 0x4e, 0x7a, - 0x16, 0x32, 0x6b, 0x07, 0xb0, 0x1a, 0xe6, 0x20, 0x46, 0x18, 0x20, 0x35, 0x77, 0x5f, 0xe5, 0x25, - 0xed, 0x0c, 0x06, 0xcc, 0x7f, 0x64, 0xe7, 0xc5, 0x7f, 0x78, 0xf7, 0x0a, 0xd0, 0x9f, 0x2c, 0x4f, - 0x12, 0x80, 0xaa, 0xf6, 0xdd, 0x14, 0x6c, 0x04, 0x2e, 0xeb, 0x62, 0x0d, 0xfd, 0xcc, 0xfa, 0x4f, - 0xea, 0x21, 0xff, 0x3e, 0x21, 0x68, 0xc5, 0x1b, 0x38, 0xc3, 0xad, 0x68, 0x17, 0x36, 0xa7, 0xf1, - 0x93, 0xbb, 0xb0, 0x84, 0x28, 0x47, 0xc3, 0x56, 0xdb, 0x95, 0xf7, 0xbe, 0xbe, 0x20, 0x5a, 0x41, - 0xba, 0xf6, 0x23, 0x05, 0xb6, 0xb8, 0xd7, 0x43, 0xa5, 0xd5, 0xed, 0xa3, 0x5a, 0xbd, 0xed, 0x7e, - 0x30, 0xfe, 0xbf, 0xbb, 0xa1, 0x7d, 0xec, 0x66, 0xd8, 0xb9, 0x25, 0xf6, 0xb5, 0xe9, 0xad, 0x25, - 0x77, 0x10, 0xb9, 0x8b, 0x3f, 0x2a, 0x67, 0x18, 0xde, 0x42, 0x9f, 0x12, 0x64, 0xbc, 0x05, 0xe4, - 0xd0, 0x7e, 0x15, 0x2e, 0xcf, 0xfe, 0x00, 0xf9, 0x0a, 0xac, 0x60, 0x28, 0xa8, 0xe6, 0xf0, 0x68, - 0xd4, 0xea, 0xb8, 0x42, 0x15, 0x26, 0xd4, 0x97, 0x72, 0x1a, 0x03, 0x22, 0xe3, 0xfe, 0xff, 0x47, - 0x18, 0x64, 0x8a, 0x67, 0x0a, 0xb9, 0x16, 0xc9, 0xa5, 0x69, 0xbf, 0xa6, 0x00, 0x89, 0x97, 0x41, - 0x3e, 0x09, 0xcb, 0xcd, 0x46, 0xc1, 0x1e, 0xb7, 0x46, 0xe3, 0xbd, 0xc1, 0x64, 0xc4, 0x51, 0xc0, - 0x98, 0x3b, 0xf8, 0xb8, 0xed, 0xb0, 0x07, 0x94, 0xe3, 0xc1, 0x64, 0x64, 0x85, 0xf8, 0x30, 0x86, - 0x91, 0xeb, 0x7e, 0xad, 0xd3, 0x7a, 0x1a, 0x8e, 0x61, 0xc4, 0x69, 0xa1, 0x18, 0x46, 0x9c, 0xa6, - 0xbd, 0xad, 0xc0, 0xb6, 0xb0, 0x15, 0xec, 0x24, 0xd4, 0xa5, 0x80, 0xa0, 0x27, 0x23, 0x01, 0x3b, - 0x3b, 0x4b, 0xa4, 0x5d, 0x17, 0xb8, 0x40, 0x58, 0x41, 0x94, 0x6d, 0x59, 0x5e, 0xf2, 0x79, 0xc8, - 0xd8, 0xe3, 0xc1, 0xf0, 0x14, 0xc0, 0x40, 0xaa, 0x3f, 0xa2, 0xe3, 0xc1, 0x10, 0x8b, 0xc0, 0x9c, - 0x9a, 0x0b, 0x1b, 0x72, 0xe5, 0x44, 0x8d, 0x49, 0x05, 0x16, 0x39, 0x02, 0x5c, 0xe4, 0xa1, 0x7e, - 0x46, 0x9b, 0x76, 0xd6, 0x04, 0xfa, 0x10, 0x87, 0x3d, 0xb5, 0x44, 0x19, 0xda, 0x6f, 0x2b, 0x90, - 0xa3, 0xd2, 0x06, 0xde, 0xe2, 0x9e, 0x77, 0x4a, 0x87, 0x05, 0x47, 0x61, 0x55, 0xe2, 0x17, 0x7f, - 0xaa, 0xd3, 0xf8, 0x13, 0xb0, 0x16, 0xc9, 0x40, 0x34, 0xc4, 0x9d, 0xe8, 0x75, 0xdb, 0x2d, 0x16, - 0x12, 0x85, 0x59, 0x64, 0x84, 0x68, 0xda, 0x77, 0x14, 0xd8, 0xa0, 0x77, 0x7e, 0xf6, 0xce, 0x69, - 0x4d, 0x7a, 0x62, 0xbd, 0x53, 0x09, 0x4a, 0x18, 0x9d, 0x32, 0x9f, 0x78, 0x26, 0x41, 0x71, 0x9a, - 0xe5, 0xa7, 0x92, 0x3d, 0xc8, 0xf2, 0xf3, 0xc5, 0xe3, 0x68, 0xa5, 0x97, 0x25, 0x65, 0x42, 0x50, - 0x30, 0x67, 0xa2, 0x2d, 0xc1, 0x2d, 0x8c, 0xe7, 0xb1, 0xfc, 0xdc, 0xda, 0x7f, 0x29, 0x70, 0x61, - 0x4a, 0x1e, 0xf2, 0x1a, 0xcc, 0xa3, 0xbf, 0x1e, 0x1f, 0xbd, 0x8b, 0x53, 0x3e, 0x31, 0x6e, 0x1f, - 0xef, 0xdf, 0x63, 0x07, 0xd1, 0x09, 0xfd, 0x61, 0xb1, 0x5c, 0xe4, 0x75, 0x58, 0xd2, 0x3b, 0x1d, - 0x7e, 0x9d, 0x49, 0x85, 0xae, 0x33, 0x53, 0xbe, 0xf8, 0xb2, 0xcf, 0xcf, 0xae, 0x33, 0xcc, 0x73, - 0xa4, 0xd3, 0x71, 0xb8, 0x2f, 0x62, 0x50, 0xde, 0xd6, 0x2f, 0xc2, 0x6a, 0x98, 0xf9, 0x4c, 0xee, - 0x53, 0xdf, 0x57, 0x40, 0x0d, 0xd7, 0xe1, 0xc3, 0xc1, 0x4d, 0x4a, 0x1a, 0xe6, 0x67, 0x4c, 0xaa, - 0xdf, 0x4d, 0xc1, 0x0b, 0x89, 0x3d, 0x4c, 0x5e, 0x82, 0x05, 0x7d, 0x38, 0x34, 0x8b, 0x7c, 0x56, - 0x71, 0x09, 0x09, 0xb5, 0xc4, 0xa1, 0xdb, 0x1e, 0x63, 0x22, 0xaf, 0x40, 0x96, 0x3d, 0xa7, 0x17, - 0xc5, 0x86, 0x83, 0x40, 0x30, 0xfc, 0xad, 0x3f, 0x8c, 0x1b, 0x2a, 0x18, 0x49, 0x09, 0x56, 0x39, - 0x84, 0x8a, 0xe5, 0x1e, 0xb9, 0xdf, 0xf0, 0x01, 0xec, 0x11, 0x63, 0x5f, 0xa8, 0x9e, 0x9d, 0x11, - 0x4b, 0x93, 0x41, 0x44, 0xc2, 0xb9, 0x48, 0x19, 0x54, 0x2c, 0x53, 0x2e, 0x89, 0x81, 0x97, 0x22, - 0xa8, 0x0d, 0xab, 0xc4, 0x94, 0xb2, 0x62, 0x39, 0xfd, 0xe1, 0xd2, 0x3d, 0xaf, 0x7b, 0xd4, 0x3f, - 0x71, 0xfb, 0xe3, 0x0f, 0x6f, 0xb8, 0x82, 0x6f, 0x9c, 0x6a, 0xb8, 0x7e, 0x3f, 0xc3, 0x16, 0x73, - 0x34, 0x1b, 0x95, 0x68, 0x24, 0xbc, 0x6a, 0x94, 0x68, 0x30, 0xc2, 0x3f, 0x03, 0x09, 0x29, 0xc2, - 0x22, 0x03, 0x6f, 0x11, 0x2b, 0xe3, 0x52, 0x62, 0x15, 0x18, 0xcf, 0xfe, 0x3d, 0x26, 0xbe, 0x30, - 0xc7, 0x41, 0xcf, 0x12, 0x59, 0xc9, 0x3e, 0xe4, 0x0a, 0x3d, 0xb7, 0xd5, 0x9f, 0x0c, 0x1b, 0xa7, - 0x7b, 0x72, 0xdc, 0xe4, 0x6d, 0x59, 0x6e, 0xb3, 0x6c, 0xf8, 0x54, 0x89, 0x3b, 0xb9, 0x5c, 0x10, - 0x69, 0xf8, 0xbe, 0x44, 0x19, 0xd4, 0x54, 0x7e, 0x7c, 0x46, 0xff, 0x44, 0x89, 0x98, 0x2f, 0xec, - 0x28, 0xc7, 0x9d, 0x8d, 0x1c, 0x58, 0x2d, 0xb7, 0xbc, 0x71, 0x63, 0xd4, 0xea, 0x7b, 0x08, 0xfa, - 0x78, 0x0a, 0x50, 0xac, 0x6d, 0x11, 0x50, 0x18, 0x75, 0x8c, 0x63, 0x3f, 0x2b, 0xd3, 0x60, 0x86, - 0x8b, 0xa3, 0xf2, 0x52, 0xa9, 0xdb, 0x6f, 0xf5, 0xba, 0x6f, 0x09, 0x97, 0x4b, 0x26, 0x2f, 0x1d, - 0x0a, 0xa2, 0x15, 0xa4, 0x6b, 0x5f, 0x8e, 0x8d, 0x1b, 0xab, 0x65, 0x0e, 0x16, 0xb9, 0x43, 0x3e, - 0x73, 0x50, 0xaf, 0x1b, 0xd5, 0xa2, 0x59, 0xdd, 0x55, 0x15, 0xb2, 0x0a, 0x50, 0xb7, 0x6a, 0x05, - 0xc3, 0xb6, 0xe9, 0xef, 0x14, 0xfd, 0xcd, 0xbd, 0xd7, 0x4b, 0xcd, 0xb2, 0x9a, 0x96, 0x1c, 0xd8, - 0x33, 0xda, 0x0f, 0x15, 0x38, 0x9f, 0x3c, 0x94, 0xa4, 0x01, 0x08, 0x61, 0xc0, 0x1f, 0x9f, 0x3f, - 0x39, 0x73, 0xdc, 0x13, 0xc9, 0x51, 0x28, 0x84, 0x31, 0x73, 0xb1, 0x4f, 0x89, 0xc7, 0x22, 0xe6, - 0xb3, 0xd7, 0xed, 0x58, 0xa9, 0x6e, 0x47, 0x2b, 0xc0, 0xe6, 0xb4, 0x32, 0xc2, 0x4d, 0x5d, 0x83, - 0x9c, 0x5e, 0xaf, 0x97, 0xcd, 0x82, 0xde, 0x30, 0x6b, 0x55, 0x55, 0x21, 0x4b, 0x30, 0xbf, 0x6b, - 0xd5, 0x9a, 0x75, 0x35, 0xa5, 0x7d, 0x4f, 0x81, 0x15, 0x33, 0x30, 0xd3, 0x7a, 0xde, 0xc5, 0xf7, - 0xe9, 0xd0, 0xe2, 0xdb, 0xf4, 0xc1, 0x3e, 0xfc, 0x0f, 0x9c, 0x6a, 0xe5, 0xfd, 0xbd, 0x02, 0xeb, - 0xb1, 0x3c, 0xc4, 0x86, 0x45, 0xfd, 0xc0, 0xae, 0x99, 0xc5, 0x02, 0xaf, 0xd9, 0x95, 0xc0, 0xbe, - 0x08, 0xe3, 0x39, 0xc5, 0xbe, 0xc2, 0x1c, 0x64, 0x9f, 0x78, 0xce, 0xa0, 0xdb, 0x91, 0x62, 0xb1, - 0xee, 0xcd, 0x59, 0xa2, 0x24, 0x3c, 0xc9, 0xde, 0x9a, 0x8c, 0x5c, 0x2c, 0x36, 0x15, 0x52, 0x84, - 0xfa, 0xf4, 0x78, 0xc1, 0xe8, 0xce, 0xd0, 0xa2, 0xe9, 0xf1, 0xa2, 0x83, 0xf2, 0x76, 0x56, 0x20, - 0xc7, 0x6f, 0x2d, 0x78, 0x21, 0xf8, 0x81, 0x02, 0x9b, 0xd3, 0xea, 0x4a, 0x2f, 0x42, 0x61, 0x6f, - 0xf9, 0xf3, 0x7e, 0x7c, 0x86, 0xb0, 0x9b, 0xbc, 0x60, 0x23, 0x9f, 0x83, 0x9c, 0xe9, 0x79, 0x13, - 0x77, 0x64, 0xbf, 0xd2, 0xb4, 0x4c, 0x3e, 0x41, 0x2e, 0xfd, 0xfb, 0xbb, 0x57, 0x2e, 0xa0, 0xd3, - 0xc1, 0xc8, 0xf1, 0x5e, 0x71, 0x26, 0xa3, 0x6e, 0x08, 0xcb, 0x5e, 0xce, 0x41, 0xe5, 0xd6, 0xd6, - 0xa4, 0xd3, 0x75, 0x85, 0xd4, 0x2e, 0x3c, 0x8a, 0x39, 0x4d, 0x3e, 0x45, 0x04, 0x4d, 0xfb, 0x96, - 0x02, 0x5b, 0xd3, 0x3b, 0x86, 0x9e, 0x4c, 0x0d, 0x66, 0xf5, 0x23, 0x7c, 0x7a, 0xf1, 0x64, 0xf2, - 0x4d, 0x83, 0xe4, 0x32, 0x05, 0x23, 0xcd, 0xe4, 0xc7, 0x46, 0x4f, 0xc5, 0x02, 0x22, 0x87, 0x33, - 0x09, 0x46, 0xed, 0x3f, 0x52, 0x70, 0x9e, 0x4e, 0xba, 0x9e, 0xeb, 0x79, 0xfa, 0x64, 0x7c, 0xec, - 0xf6, 0xc7, 0x5c, 0x0c, 0x23, 0xaf, 0xc2, 0xc2, 0xf1, 0xd9, 0x54, 0x8e, 0x8c, 0x9d, 0x10, 0xc0, - 0x8d, 0x5c, 0xb8, 0x50, 0xd0, 0xff, 0xc9, 0x35, 0x90, 0x43, 0x50, 0xa7, 0x11, 0x04, 0x33, 0xb5, - 0xa9, 0x58, 0x4b, 0x43, 0x3f, 0x5a, 0xec, 0xa7, 0x60, 0x1e, 0xd5, 0x0c, 0x7c, 0x4b, 0x15, 0xa2, - 0x70, 0x72, 0xed, 0x50, 0x09, 0x61, 0xb1, 0x0c, 0xe4, 0x63, 0x00, 0x41, 0xfc, 0x00, 0xbe, 0x67, - 0x8a, 0xeb, 0xb7, 0x1f, 0x42, 0xc0, 0x5a, 0x3a, 0x39, 0x6c, 0x71, 0x50, 0xfe, 0x3c, 0xac, 0x8b, - 0x6e, 0x19, 0x0a, 0xec, 0x3c, 0xfe, 0x1a, 0xb6, 0xc6, 0x12, 0xcc, 0xa1, 0xc0, 0xcf, 0xbb, 0x11, - 0x0b, 0xa3, 0x8b, 0x10, 0xba, 0x91, 0x58, 0xb9, 0x37, 0x62, 0xb1, 0x72, 0xb3, 0x8c, 0x4b, 0x0e, - 0x88, 0xab, 0xfd, 0x6b, 0x0a, 0x96, 0x0e, 0xa8, 0xb0, 0x82, 0x57, 0xf0, 0xd9, 0x57, 0xfa, 0xfb, - 0x90, 0x2b, 0x0f, 0x5a, 0xfc, 0xd9, 0x81, 0x7b, 0x1e, 0x30, 0xcf, 0xdf, 0xde, 0xa0, 0x25, 0x5e, - 0x30, 0x3c, 0x4b, 0x66, 0x7a, 0x86, 0xd7, 0xf2, 0x43, 0x58, 0x60, 0xcf, 0x40, 0x5c, 0xbb, 0x24, - 0xc4, 0x55, 0xbf, 0x46, 0x2f, 0xb3, 0x64, 0x49, 0x53, 0xce, 0x9e, 0x92, 0x64, 0xd9, 0x89, 0x23, - 0x81, 0x4a, 0x0a, 0x87, 0xf9, 0xd3, 0x29, 0x1c, 0x24, 0xc4, 0xb3, 0x85, 0xd3, 0x20, 0x9e, 0x6d, - 0x3d, 0x80, 0x9c, 0x54, 0x9f, 0x33, 0x49, 0xaf, 0xdf, 0x4c, 0xc1, 0x0a, 0xb6, 0xca, 0xb7, 0x09, - 0xf9, 0xd9, 0x54, 0x9f, 0x7c, 0x3a, 0xa4, 0x3e, 0xd9, 0x94, 0xc7, 0x8b, 0xb5, 0x6c, 0x86, 0xde, - 0xe4, 0x21, 0xac, 0xc7, 0x18, 0xc9, 0x27, 0x60, 0x9e, 0x56, 0x5f, 0x5c, 0x37, 0xd5, 0xe8, 0x0c, - 0x08, 0xd0, 0x71, 0x69, 0xc3, 0x3d, 0x8b, 0x71, 0x6b, 0xff, 0xad, 0xc0, 0x32, 0x0f, 0x4e, 0xd1, - 0x3f, 0x1c, 0x3c, 0xb3, 0x3b, 0x6f, 0x45, 0xbb, 0x93, 0x61, 0x70, 0xf0, 0xee, 0xfc, 0xdf, 0xee, - 0xc4, 0x07, 0xa1, 0x4e, 0xbc, 0xe0, 0x63, 0xe5, 0x89, 0xe6, 0xcc, 0xe8, 0xc3, 0xbf, 0x41, 0xf4, - 0xd8, 0x30, 0x23, 0xf9, 0x2a, 0x2c, 0x55, 0xdd, 0x27, 0xa1, 0x5b, 0xdb, 0xad, 0x29, 0x85, 0xbe, - 0xec, 0x33, 0xb2, 0x35, 0x85, 0x07, 0x5e, 0xdf, 0x7d, 0xe2, 0xc4, 0x5e, 0xa0, 0x82, 0x22, 0xe9, - 0xc5, 0x2d, 0x9c, 0xed, 0x2c, 0x53, 0x9f, 0xbb, 0x41, 0x22, 0xac, 0xcc, 0xb7, 0xd3, 0x00, 0x81, - 0x07, 0x19, 0x5d, 0x80, 0xa1, 0xc7, 0x77, 0xa1, 0xf0, 0x46, 0x92, 0x3c, 0xc7, 0xc5, 0x9b, 0xfc, - 0x2d, 0xae, 0x98, 0x4d, 0x4d, 0xc7, 0x32, 0x44, 0x15, 0x6d, 0x81, 0xbb, 0x2c, 0x75, 0xdc, 0x5e, - 0x8b, 0xed, 0xed, 0xe9, 0x9d, 0x1b, 0x08, 0x5d, 0xeb, 0x53, 0xa7, 0x44, 0x19, 0x46, 0xc7, 0xa6, - 0x22, 0x65, 0x88, 0x79, 0x65, 0x66, 0xce, 0xe6, 0x95, 0x59, 0x87, 0xa5, 0x6e, 0xff, 0x4d, 0xb7, - 0x3f, 0x1e, 0x8c, 0x9e, 0xa2, 0x36, 0x3a, 0x50, 0x73, 0xd1, 0x2e, 0x30, 0x45, 0x1a, 0x1b, 0x07, - 0x3c, 0x18, 0x7d, 0x7e, 0x79, 0x18, 0x7c, 0xa2, 0xef, 0x55, 0x3a, 0xaf, 0x2e, 0x3c, 0xcc, 0x64, - 0x17, 0xd4, 0xc5, 0x87, 0x99, 0x6c, 0x56, 0x5d, 0x7a, 0x98, 0xc9, 0x2e, 0xa9, 0x60, 0x49, 0xef, - 0x3b, 0xfe, 0xfb, 0x8d, 0xf4, 0xe4, 0x12, 0x7e, 0x4e, 0xd1, 0x7e, 0x9a, 0x02, 0x12, 0xaf, 0x06, - 0xf9, 0x34, 0xe4, 0xd8, 0x06, 0xeb, 0x8c, 0xbc, 0xaf, 0x73, 0xb3, 0x75, 0x06, 0xce, 0x23, 0x91, - 0x65, 0x70, 0x1e, 0x46, 0xb6, 0xbc, 0xaf, 0xf7, 0xc8, 0x57, 0xe0, 0x1c, 0x76, 0xef, 0xd0, 0x1d, - 0x75, 0x07, 0x1d, 0x07, 0x91, 0x54, 0x5b, 0x3d, 0x1e, 0x11, 0xf0, 0x25, 0x0c, 0x5d, 0x1b, 0x4f, - 0x9e, 0x32, 0x0c, 0xe8, 0x28, 0x56, 0x47, 0xce, 0x3a, 0x63, 0x24, 0x0d, 0x50, 0xe5, 0xfc, 0x87, - 0x93, 0x5e, 0x8f, 0x8f, 0x6c, 0x9e, 0x5e, 0x74, 0xa3, 0x69, 0x53, 0x0a, 0x5e, 0x0d, 0x0a, 0x2e, - 0x4d, 0x7a, 0x3d, 0xf2, 0x2a, 0xc0, 0xa0, 0xef, 0x9c, 0x74, 0x3d, 0x8f, 0xbd, 0x71, 0xf8, 0x3e, - 0xad, 0x01, 0x55, 0x1e, 0x8c, 0x41, 0xbf, 0xc2, 0x88, 0xe4, 0x17, 0x00, 0x7d, 0xfa, 0x11, 0xec, - 0x82, 0x59, 0xb5, 0xf0, 0x18, 0x1f, 0x82, 0x18, 0x76, 0xa1, 0x3d, 0x72, 0xed, 0xee, 0x5b, 0xc2, - 0x65, 0xe0, 0x4b, 0xb0, 0xce, 0x8d, 0x50, 0x0f, 0xba, 0xe3, 0x63, 0x2e, 0x61, 0x3f, 0x8f, 0x78, - 0x2e, 0x89, 0xd8, 0xff, 0x98, 0x01, 0xd0, 0x0f, 0x6c, 0x81, 0x23, 0x75, 0x07, 0xe6, 0xe9, 0xbd, - 0x41, 0xe8, 0x1f, 0x50, 0x7b, 0x8b, 0xe5, 0xca, 0xda, 0x5b, 0xe4, 0xa0, 0xab, 0xd1, 0x42, 0xe3, - 0x6c, 0xa1, 0x7b, 0xc0, 0xd5, 0xc8, 0xec, 0xb5, 0x43, 0x38, 0xbe, 0x9c, 0x8b, 0x94, 0x01, 0x02, - 0x64, 0x27, 0x7e, 0x93, 0x5d, 0x0f, 0x20, 0x52, 0x78, 0x02, 0x8f, 0x25, 0x10, 0xa0, 0x43, 0xc9, - 0xd3, 0x27, 0x60, 0x23, 0x8f, 0x20, 0xd3, 0x68, 0xf9, 0x1e, 0x9b, 0x53, 0xf0, 0xae, 0xae, 0xf2, - 0x88, 0x8d, 0x01, 0xe6, 0xd5, 0xea, 0xb8, 0x15, 0x0a, 0x6c, 0x8b, 0x85, 0x10, 0x03, 0x16, 0x78, - 0x34, 0xee, 0x29, 0x38, 0x89, 0x3c, 0x18, 0x37, 0x47, 0x47, 0x46, 0xa2, 0x2c, 0x53, 0xf0, 0xb8, - 0xdb, 0xf7, 0x21, 0x6d, 0xdb, 0x15, 0x8e, 0xf2, 0xb0, 0x12, 0xdc, 0x4a, 0x6c, 0xbb, 0xc2, 0xde, - 0x28, 0x3d, 0xef, 0x44, 0xca, 0x46, 0x99, 0xc9, 0x67, 0x20, 0x27, 0x89, 0xcf, 0x1c, 0x1f, 0x05, - 0xfb, 0x40, 0xf2, 0x9a, 0x91, 0x37, 0x0d, 0x89, 0x9b, 0x94, 0x41, 0x7d, 0x34, 0x79, 0xc3, 0xd5, - 0x87, 0x43, 0x74, 0x96, 0x7b, 0xd3, 0x1d, 0x31, 0xb1, 0x2d, 0x1b, 0x00, 0x0b, 0xa3, 0xad, 0x7d, - 0x47, 0xa4, 0xca, 0x3a, 0x98, 0x68, 0x4e, 0x52, 0x87, 0x75, 0xdb, 0x1d, 0x4f, 0x86, 0xcc, 0x4e, - 0xa3, 0x34, 0x18, 0xd1, 0x4b, 0x08, 0x43, 0x53, 0x41, 0x0c, 0x56, 0x8f, 0x26, 0x0a, 0xe3, 0x98, - 0xc3, 0xc1, 0x28, 0x72, 0x21, 0x89, 0x67, 0xd6, 0x5c, 0x79, 0xc8, 0xe9, 0xa9, 0x1a, 0xbe, 0xda, - 0xe0, 0xa9, 0x2a, 0xae, 0x36, 0xc1, 0x85, 0xe6, 0x63, 0x09, 0x88, 0x5f, 0xf8, 0x60, 0x26, 0x21, - 0x7e, 0x85, 0x70, 0xbe, 0xde, 0xce, 0x48, 0xa0, 0x93, 0x7c, 0x2c, 0x5e, 0x03, 0x78, 0x38, 0xe8, - 0xf6, 0x2b, 0xee, 0xf8, 0x78, 0xd0, 0x91, 0x80, 0xc7, 0x72, 0xbf, 0x3c, 0xe8, 0xf6, 0x9d, 0x13, - 0x24, 0xff, 0xf4, 0xdd, 0x2b, 0x12, 0x93, 0x25, 0xfd, 0x4f, 0x3e, 0x0a, 0x4b, 0xf4, 0x57, 0x23, - 0xb0, 0x36, 0x61, 0xaa, 0x4a, 0xcc, 0xcd, 0x42, 0x33, 0x04, 0x0c, 0xe4, 0x01, 0x06, 0x23, 0xe9, - 0x0e, 0xc7, 0x92, 0xf0, 0x2a, 0x22, 0x8f, 0x74, 0x87, 0xe3, 0x28, 0x8e, 0xb0, 0xc4, 0x4c, 0xf6, - 0xfc, 0xaa, 0x8b, 0xf8, 0x41, 0x3c, 0xe6, 0x09, 0xea, 0xe3, 0xf8, 0x5c, 0x73, 0x04, 0x80, 0xa9, - 0x1c, 0xe9, 0x35, 0x92, 0x0d, 0x2b, 0x61, 0xef, 0x15, 0xd9, 0x03, 0x0a, 0x17, 0x6a, 0x59, 0x25, - 0xbc, 0xe3, 0x8e, 0xd3, 0x46, 0x72, 0xa8, 0x12, 0x3e, 0x33, 0xd9, 0x81, 0x35, 0x26, 0xe3, 0xfb, - 0x71, 0x08, 0xb9, 0x88, 0x8b, 0x7b, 0x5b, 0x10, 0xa8, 0x50, 0xfe, 0x7c, 0x24, 0x03, 0x29, 0xc1, - 0x3c, 0x5e, 0x08, 0xb9, 0x89, 0xf9, 0xb6, 0x7c, 0x7b, 0x8e, 0xae, 0x23, 0xdc, 0x57, 0xf0, 0xde, - 0x2c, 0xef, 0x2b, 0xc8, 0x4a, 0xbe, 0x08, 0x60, 0xf4, 0x47, 0x83, 0x5e, 0x0f, 0x21, 0x76, 0xb3, - 0x78, 0x95, 0xba, 0x14, 0x5e, 0x8f, 0x58, 0x4a, 0xc0, 0xc4, 0xe1, 0xe0, 0xf0, 0xb7, 0x13, 0x01, - 0xe2, 0x95, 0xca, 0xd2, 0x4c, 0x58, 0x60, 0x8b, 0x11, 0xe1, 0xaa, 0x79, 0x00, 0x0e, 0x09, 0xec, - 0x98, 0xc1, 0x55, 0x73, 0x7a, 0x1c, 0xae, 0x5a, 0xca, 0xa0, 0x3d, 0x82, 0x8d, 0xa4, 0x86, 0x85, - 0xae, 0xb0, 0xca, 0x69, 0xaf, 0xb0, 0x7f, 0x92, 0x86, 0x65, 0x2c, 0x4d, 0xec, 0xc2, 0x3a, 0xac, - 0xd8, 0x93, 0x37, 0x7c, 0x2c, 0x27, 0xb1, 0x1b, 0x63, 0xfd, 0x3c, 0x39, 0x41, 0x7e, 0xda, 0x0a, - 0xe5, 0x20, 0x06, 0xac, 0x8a, 0x93, 0x60, 0x57, 0x58, 0xa0, 0xfb, 0x48, 0xd1, 0x02, 0x8f, 0x30, - 0x1e, 0x87, 0x35, 0x92, 0x29, 0x38, 0x0f, 0xd2, 0x67, 0x39, 0x0f, 0x32, 0xa7, 0x3a, 0x0f, 0x5e, - 0x87, 0x65, 0xf1, 0x35, 0xdc, 0xc9, 0xe7, 0x9f, 0x6f, 0x27, 0x0f, 0x15, 0x46, 0xca, 0xfe, 0x8e, - 0xbe, 0x30, 0x73, 0x47, 0xc7, 0xf7, 0x42, 0xb1, 0xca, 0x86, 0x48, 0x8b, 0x6f, 0xec, 0x18, 0xa8, - 0x70, 0xb7, 0x50, 0x7f, 0x1f, 0xa7, 0xe4, 0x27, 0x60, 0xa9, 0x3c, 0x10, 0x4f, 0x45, 0x92, 0x8e, - 0xbe, 0x27, 0x88, 0xb2, 0xb8, 0xe0, 0x73, 0xfa, 0xa7, 0x5b, 0xfa, 0x83, 0x38, 0xdd, 0x1e, 0x00, - 0x70, 0xd7, 0x86, 0x20, 0xc0, 0x18, 0x2e, 0x19, 0x81, 0x63, 0x11, 0x7e, 0x2a, 0x90, 0x98, 0xe9, - 0xee, 0xc4, 0xad, 0x50, 0xf4, 0x76, 0x7b, 0x30, 0xe9, 0x8f, 0x43, 0x11, 0x79, 0x85, 0x27, 0x64, - 0x8b, 0xa7, 0xc9, 0xdb, 0x43, 0x24, 0xdb, 0x07, 0x3b, 0x20, 0xe4, 0x0b, 0xbe, 0x11, 0xdd, 0xe2, - 0xac, 0x1e, 0xd2, 0x62, 0x3d, 0x34, 0xd5, 0x74, 0x4e, 0xfb, 0xa1, 0x22, 0xc3, 0xf4, 0xbf, 0x8f, - 0xa1, 0xfe, 0x14, 0x80, 0xff, 0x56, 0x2f, 0xc6, 0x9a, 0xdd, 0x97, 0x7c, 0xaa, 0xdc, 0xcb, 0x01, - 0xaf, 0xd4, 0x9a, 0xf4, 0x07, 0xd5, 0x9a, 0x06, 0xe4, 0x6a, 0x5f, 0x1b, 0xb7, 0x02, 0xe3, 0x0e, - 0xb0, 0x7d, 0x49, 0x16, 0x77, 0xa6, 0xf4, 0xce, 0x4d, 0x3c, 0x1b, 0x02, 0x39, 0x78, 0x8a, 0x08, - 0x2c, 0x65, 0xd4, 0xfe, 0x50, 0x81, 0x35, 0xd9, 0x7d, 0xfb, 0x69, 0xbf, 0x4d, 0x3e, 0xcb, 0x50, - 0x43, 0x95, 0xd0, 0x95, 0x45, 0x62, 0xa2, 0x5b, 0xee, 0xd3, 0x7e, 0x9b, 0x09, 0x40, 0xad, 0x27, - 0x72, 0x65, 0x69, 0xc6, 0xe0, 0xdc, 0x48, 0x85, 0x2c, 0x86, 0xe4, 0x12, 0x68, 0x32, 0x96, 0x31, - 0xe3, 0xdc, 0xd0, 0x7e, 0xac, 0x00, 0x89, 0x7f, 0x56, 0xde, 0x96, 0x94, 0xff, 0x03, 0x31, 0x35, - 0x22, 0xde, 0x65, 0xce, 0x22, 0xde, 0x69, 0xdf, 0x49, 0xc1, 0x46, 0x52, 0x3f, 0x9c, 0xbd, 0x51, - 0x06, 0xac, 0xca, 0xe7, 0x83, 0x2f, 0x56, 0xe1, 0x71, 0x20, 0x1f, 0x29, 0xe1, 0x33, 0x2a, 0x92, - 0x89, 0xbc, 0x06, 0xb9, 0xe6, 0x49, 0xd7, 0x37, 0xd6, 0x4b, 0x07, 0xc7, 0xe6, 0xe4, 0xa4, 0xeb, - 0x24, 0x9d, 0x72, 0x32, 0xff, 0x73, 0x75, 0x46, 0xfe, 0x77, 0x14, 0x58, 0x33, 0xf5, 0x0a, 0x8f, - 0x54, 0xc0, 0x5e, 0x72, 0xae, 0xc1, 0x25, 0x53, 0xaf, 0x38, 0xf5, 0x5a, 0xd9, 0x2c, 0x3c, 0x76, - 0x12, 0x01, 0x88, 0x2f, 0xc1, 0x8b, 0x71, 0x96, 0xe0, 0xc5, 0xe7, 0x22, 0x6c, 0xc6, 0x93, 0x05, - 0x48, 0x71, 0x72, 0x66, 0x81, 0x67, 0x9c, 0xce, 0x7f, 0x0e, 0xd6, 0x04, 0x20, 0x6f, 0xa3, 0x6c, - 0x23, 0xe4, 0xff, 0x1a, 0xe4, 0xf6, 0x0d, 0xcb, 0x2c, 0x3d, 0x76, 0x4a, 0xcd, 0x72, 0x59, 0x9d, - 0x23, 0x2b, 0xb0, 0xc4, 0x09, 0x05, 0x5d, 0x55, 0xc8, 0x32, 0x64, 0xcd, 0xaa, 0x6d, 0x14, 0x9a, - 0x96, 0xa1, 0xa6, 0xf2, 0x9f, 0x83, 0xd5, 0xfa, 0xa8, 0xfb, 0x66, 0x6b, 0xec, 0x3e, 0x72, 0x9f, - 0xe2, 0x83, 0xcd, 0x22, 0xa4, 0x2d, 0xfd, 0x40, 0x9d, 0x23, 0x00, 0x0b, 0xf5, 0x47, 0x05, 0xfb, - 0xde, 0x3d, 0x55, 0x21, 0x39, 0x58, 0xdc, 0x2d, 0xd4, 0x9d, 0x47, 0x15, 0x5b, 0x4d, 0xd1, 0x1f, - 0xfa, 0x81, 0x8d, 0x3f, 0xd2, 0xf9, 0x8f, 0xc3, 0x3a, 0x4a, 0x60, 0xe5, 0xae, 0x37, 0x76, 0xfb, - 0xee, 0x08, 0xeb, 0xb0, 0x0c, 0x59, 0xdb, 0xa5, 0x5b, 0xe7, 0xd8, 0x65, 0x15, 0xa8, 0x4c, 0x7a, - 0xe3, 0xee, 0xb0, 0xe7, 0x7e, 0x43, 0x55, 0xf2, 0x0f, 0x60, 0xcd, 0x1a, 0x4c, 0xc6, 0xdd, 0xfe, - 0x91, 0x3d, 0xa6, 0x1c, 0x47, 0x4f, 0xc9, 0x0b, 0xb0, 0xde, 0xac, 0xea, 0x95, 0x1d, 0x73, 0xb7, - 0x59, 0x6b, 0xda, 0x4e, 0x45, 0x6f, 0x14, 0xf6, 0xd8, 0x73, 0x51, 0xa5, 0x66, 0x37, 0x1c, 0xcb, - 0x28, 0x18, 0xd5, 0x86, 0xaa, 0xe4, 0xbf, 0x8b, 0xca, 0xa4, 0xf6, 0xa0, 0xdf, 0x29, 0xb5, 0xda, - 0xe3, 0xc1, 0x08, 0x2b, 0xac, 0xc1, 0x65, 0xdb, 0x28, 0xd4, 0xaa, 0x45, 0xa7, 0xa4, 0x17, 0x1a, - 0x35, 0x2b, 0x09, 0x01, 0x7b, 0x0b, 0xce, 0x27, 0xf0, 0xd4, 0x1a, 0x75, 0x55, 0x21, 0x57, 0x60, - 0x3b, 0x21, 0xed, 0xc0, 0xd8, 0xd1, 0x9b, 0x8d, 0xbd, 0xaa, 0x9a, 0x9a, 0x92, 0xd9, 0xb6, 0x6b, - 0x6a, 0x3a, 0xff, 0x1b, 0x0a, 0xac, 0x36, 0x3d, 0x6e, 0xab, 0xdd, 0x44, 0x37, 0xcd, 0xab, 0x70, - 0xb1, 0x69, 0x1b, 0x96, 0xd3, 0xa8, 0x3d, 0x32, 0xaa, 0x4e, 0xd3, 0xd6, 0x77, 0xa3, 0xb5, 0xb9, - 0x02, 0xdb, 0x12, 0x87, 0x65, 0x14, 0x6a, 0xfb, 0x86, 0xe5, 0xd4, 0x75, 0xdb, 0x3e, 0xa8, 0x59, - 0x45, 0x55, 0xa1, 0x5f, 0x4c, 0x60, 0xa8, 0x94, 0x74, 0x56, 0x9b, 0x50, 0x5a, 0xd5, 0x38, 0xd0, - 0xcb, 0xce, 0x4e, 0xad, 0xa1, 0xa6, 0xf3, 0x15, 0x2a, 0xd0, 0x20, 0x0e, 0x2d, 0xb3, 0x30, 0xcc, - 0x42, 0xa6, 0x5a, 0xab, 0x1a, 0xd1, 0x47, 0xc6, 0x65, 0xc8, 0xea, 0xf5, 0xba, 0x55, 0xdb, 0xc7, - 0x29, 0x06, 0xb0, 0x50, 0x34, 0xaa, 0xb4, 0x66, 0x69, 0x9a, 0x52, 0xb7, 0x6a, 0x95, 0x5a, 0xc3, - 0x28, 0xaa, 0x99, 0xbc, 0x25, 0xf6, 0x33, 0x51, 0x68, 0x7b, 0xc0, 0x5e, 0xf4, 0x8a, 0x46, 0x49, - 0x6f, 0x96, 0x1b, 0x7c, 0x88, 0x1e, 0x3b, 0x96, 0xf1, 0x85, 0xa6, 0x61, 0x37, 0x6c, 0x55, 0x21, - 0x2a, 0x2c, 0x57, 0x0d, 0xa3, 0x68, 0x3b, 0x96, 0xb1, 0x6f, 0x1a, 0x07, 0x6a, 0x8a, 0x96, 0xc9, - 0xfe, 0xa7, 0x5f, 0xc8, 0xbf, 0xad, 0x00, 0x61, 0x18, 0xbe, 0x22, 0x30, 0x0c, 0xce, 0x98, 0xcb, - 0xb0, 0xb5, 0x47, 0x87, 0x1a, 0x9b, 0x56, 0xa9, 0x15, 0xa3, 0x5d, 0x76, 0x1e, 0x48, 0x24, 0xbd, - 0x56, 0x2a, 0xa9, 0x0a, 0xd9, 0x86, 0x73, 0x11, 0x7a, 0xd1, 0xaa, 0xd5, 0xd5, 0xd4, 0x56, 0x2a, - 0xab, 0x90, 0x0b, 0xb1, 0xc4, 0x47, 0x86, 0x51, 0x57, 0xd3, 0x74, 0x88, 0x22, 0x09, 0x62, 0x49, - 0xb0, 0xec, 0x99, 0xfc, 0xb7, 0x14, 0x38, 0xcf, 0xaa, 0x29, 0xd6, 0x97, 0x5f, 0xd5, 0x8b, 0xb0, - 0xc9, 0x91, 0xc9, 0x93, 0x2a, 0xba, 0x01, 0x6a, 0x28, 0x95, 0x55, 0xf3, 0x05, 0x58, 0x0f, 0x51, - 0xb1, 0x1e, 0x29, 0xba, 0x7b, 0x84, 0xc8, 0x3b, 0x86, 0xdd, 0x70, 0x8c, 0x52, 0xa9, 0x66, 0x35, - 0x58, 0x45, 0xd2, 0x79, 0x0d, 0xd6, 0x0b, 0xee, 0x68, 0x4c, 0xef, 0x9a, 0x7d, 0xaf, 0x3b, 0xe8, - 0x63, 0x15, 0x56, 0x60, 0xc9, 0xf8, 0x62, 0xc3, 0xa8, 0xda, 0x66, 0xad, 0xaa, 0xce, 0xe5, 0x2f, - 0x46, 0x78, 0xc4, 0x3a, 0xb6, 0xed, 0x3d, 0x75, 0x2e, 0xdf, 0x82, 0x15, 0x61, 0x15, 0xcd, 0x66, - 0xc5, 0x65, 0xd8, 0x12, 0x73, 0x0d, 0x77, 0x94, 0x68, 0x13, 0x36, 0x61, 0x23, 0x9e, 0x6e, 0x34, - 0x54, 0x85, 0x8e, 0x42, 0x24, 0x85, 0xd2, 0x53, 0xf9, 0x5f, 0x57, 0x60, 0xc5, 0x7f, 0x25, 0x42, - 0xbd, 0xf4, 0x15, 0xd8, 0xae, 0x94, 0x74, 0xa7, 0x68, 0xec, 0x9b, 0x05, 0xc3, 0x79, 0x64, 0x56, - 0x8b, 0x91, 0x8f, 0xbc, 0x08, 0x2f, 0x24, 0x30, 0xe0, 0x57, 0x36, 0x61, 0x23, 0x9a, 0xd4, 0xa0, - 0x4b, 0x35, 0x45, 0xbb, 0x3e, 0x9a, 0xe2, 0xaf, 0xd3, 0x74, 0xfe, 0x8f, 0x15, 0xd8, 0xe4, 0x91, - 0xf7, 0xf9, 0x7b, 0x15, 0x0b, 0xc9, 0x82, 0x98, 0xc5, 0x79, 0xb8, 0xd5, 0xb0, 0x9a, 0x76, 0xc3, - 0x28, 0x8a, 0xec, 0x74, 0xd2, 0x9a, 0x96, 0x51, 0x31, 0xaa, 0x8d, 0x48, 0xdd, 0xee, 0xc2, 0x47, - 0x66, 0xf0, 0x56, 0x6b, 0x0d, 0xf1, 0x9b, 0xae, 0xd5, 0x8f, 0xc0, 0xf5, 0x19, 0xcc, 0x3e, 0x63, - 0x2a, 0xbf, 0x0f, 0xab, 0xb6, 0x5e, 0x29, 0x97, 0x06, 0xa3, 0xb6, 0xab, 0x4f, 0xc6, 0xc7, 0x7d, - 0xb2, 0x0d, 0x17, 0x4a, 0x35, 0xab, 0x60, 0x38, 0xd8, 0x82, 0x48, 0x25, 0xce, 0xc1, 0x9a, 0x9c, - 0xf8, 0xd8, 0xa0, 0xab, 0x8b, 0xc0, 0xaa, 0x4c, 0xac, 0xd6, 0xd4, 0x54, 0xfe, 0xcb, 0xb0, 0x1c, - 0x0a, 0x5f, 0x77, 0x01, 0xce, 0xc9, 0xbf, 0xeb, 0x6e, 0xbf, 0xd3, 0xed, 0x1f, 0xa9, 0x73, 0xd1, - 0x04, 0x6b, 0xd2, 0xef, 0xd3, 0x04, 0xdc, 0x6e, 0xe4, 0x84, 0x86, 0x3b, 0x3a, 0xe9, 0xf6, 0x5b, - 0x63, 0xb7, 0xa3, 0xa6, 0xf2, 0x2f, 0xc3, 0x4a, 0x08, 0x34, 0x9b, 0xce, 0xab, 0x72, 0x8d, 0x9f, - 0x0f, 0x15, 0xa3, 0x68, 0x36, 0x2b, 0xea, 0x3c, 0xdd, 0x68, 0xf6, 0xcc, 0xdd, 0x3d, 0x15, 0xf2, - 0xdf, 0x53, 0xe8, 0xbd, 0x0f, 0xfb, 0xbd, 0x52, 0xd2, 0xc5, 0x4c, 0xa4, 0xab, 0x80, 0x41, 0xf1, - 0x1b, 0xb6, 0xcd, 0x9e, 0xfe, 0x2f, 0xc2, 0x26, 0xff, 0xe1, 0xe8, 0xd5, 0xa2, 0xb3, 0xa7, 0x5b, - 0xc5, 0x03, 0xdd, 0xa2, 0x4b, 0xe3, 0xb1, 0x9a, 0xc2, 0xf5, 0x2e, 0x51, 0x9c, 0x46, 0xad, 0x59, - 0xd8, 0x53, 0xd3, 0x74, 0x79, 0x85, 0xe8, 0x75, 0xb3, 0xaa, 0x66, 0x70, 0xf7, 0x88, 0x71, 0x63, - 0xb1, 0x34, 0x7d, 0x3e, 0xff, 0x9e, 0x02, 0x17, 0xec, 0xee, 0x51, 0xbf, 0x35, 0x9e, 0x8c, 0x5c, - 0xbd, 0x77, 0x34, 0x18, 0x75, 0xc7, 0xc7, 0x27, 0xf6, 0xa4, 0x3b, 0x76, 0xc9, 0x1d, 0xb8, 0x69, - 0x9b, 0xbb, 0x55, 0xbd, 0x41, 0x57, 0xbf, 0x5e, 0xde, 0xad, 0x59, 0x66, 0x63, 0xaf, 0xe2, 0xd8, - 0x4d, 0x33, 0xb6, 0x30, 0x6e, 0xc0, 0xd5, 0xe9, 0xac, 0x65, 0x63, 0x57, 0x2f, 0x3c, 0x56, 0x95, - 0xd9, 0x05, 0xee, 0xe8, 0x65, 0xbd, 0x5a, 0x30, 0x8a, 0xce, 0xfe, 0x3d, 0x35, 0x45, 0x6e, 0xc2, - 0xb5, 0xe9, 0xac, 0x25, 0xb3, 0x6e, 0x53, 0xb6, 0xf4, 0xec, 0xef, 0xee, 0xd9, 0x15, 0xca, 0x95, - 0xc9, 0xff, 0x91, 0x02, 0x9b, 0xd3, 0x90, 0x93, 0xc8, 0x2d, 0xd0, 0x8c, 0x6a, 0xc3, 0xd2, 0xcd, - 0xa2, 0x53, 0xb0, 0x8c, 0xa2, 0x51, 0x6d, 0x98, 0x7a, 0xd9, 0x76, 0xec, 0x5a, 0x93, 0xce, 0xa6, - 0xc0, 0x42, 0xe3, 0x3a, 0x5c, 0x99, 0xc1, 0x57, 0x33, 0x8b, 0x05, 0x55, 0x21, 0xf7, 0xe0, 0xa5, - 0x19, 0x4c, 0xf6, 0x63, 0xbb, 0x61, 0x54, 0xe4, 0x14, 0x35, 0x95, 0x2f, 0xc0, 0xd6, 0x74, 0xf0, - 0x15, 0x7a, 0x8a, 0x84, 0x7b, 0x3a, 0x0b, 0x99, 0x22, 0x3d, 0xb8, 0x42, 0x11, 0x1b, 0xf2, 0x5d, - 0x50, 0xa3, 0xf8, 0x09, 0x31, 0x53, 0x1a, 0xab, 0x59, 0xad, 0xb2, 0x53, 0x6e, 0x0d, 0x72, 0xb5, - 0xc6, 0x9e, 0x61, 0xf1, 0x98, 0x17, 0x18, 0xe4, 0xa2, 0x59, 0xa5, 0x0b, 0xa7, 0x66, 0x99, 0x5f, - 0xc2, 0xe3, 0x6e, 0x13, 0x36, 0xec, 0xb2, 0x5e, 0x78, 0x84, 0x6b, 0xda, 0xac, 0x3a, 0x85, 0x3d, - 0xbd, 0x5a, 0x35, 0xca, 0x2a, 0x60, 0x67, 0x4e, 0xf3, 0x99, 0x24, 0x1f, 0x85, 0xdb, 0xb5, 0x47, - 0x0d, 0xdd, 0xa9, 0x97, 0x9b, 0xbb, 0x66, 0xd5, 0xb1, 0x1f, 0x57, 0x0b, 0x42, 0x34, 0x2b, 0xc4, - 0x4f, 0x84, 0xdb, 0x70, 0x63, 0x26, 0x77, 0x10, 0x9d, 0xe2, 0x16, 0x68, 0x33, 0x39, 0x79, 0x43, - 0xf2, 0x3f, 0x52, 0x60, 0x7b, 0xc6, 0x9b, 0x3e, 0x79, 0x09, 0xee, 0xec, 0x19, 0x7a, 0xb1, 0x6c, - 0xd8, 0x36, 0x6e, 0x14, 0x74, 0x18, 0x98, 0xc9, 0x4d, 0xe2, 0x7e, 0x7f, 0x07, 0x6e, 0xce, 0x66, - 0x0f, 0x24, 0x87, 0xdb, 0x70, 0x63, 0x36, 0x2b, 0x97, 0x24, 0x52, 0x74, 0xbf, 0x9d, 0xcd, 0xe9, - 0x4b, 0x20, 0xe9, 0xfc, 0x6f, 0x29, 0x70, 0x3e, 0x59, 0xb1, 0x46, 0xeb, 0x66, 0x56, 0xed, 0x86, - 0x5e, 0x2e, 0x3b, 0x75, 0xdd, 0xd2, 0x2b, 0x8e, 0x51, 0xb5, 0x6a, 0xe5, 0x72, 0xd2, 0xc9, 0x7b, - 0x03, 0xae, 0x4e, 0x67, 0xb5, 0x0b, 0x96, 0x59, 0xa7, 0x87, 0x8b, 0x06, 0x97, 0xa7, 0x73, 0x19, - 0x66, 0xc1, 0x50, 0x53, 0x3b, 0xaf, 0xbd, 0xf3, 0x2f, 0x97, 0xe7, 0xde, 0x79, 0xef, 0xb2, 0xf2, - 0xe3, 0xf7, 0x2e, 0x2b, 0xff, 0xfc, 0xde, 0x65, 0xe5, 0x4b, 0x77, 0x4f, 0x17, 0xd8, 0x09, 0xef, - 0x68, 0x6f, 0x2c, 0xa0, 0x8d, 0xd9, 0x2b, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0x40, 0x5f, 0x81, - 0x97, 0xac, 0xb1, 0x01, 0x00, + 0xf1, 0xff, 0xb1, 0xf7, 0x75, 0xb1, 0x6d, 0x64, 0xd7, 0xc1, 0x1a, 0x92, 0x92, 0xa8, 0x43, 0xfd, + 0x8c, 0xae, 0xb5, 0xb6, 0x2c, 0xf9, 0x77, 0xfc, 0x13, 0x9b, 0xce, 0x6e, 0x62, 0xef, 0x97, 0x6c, + 0x9c, 0x7c, 0x9b, 0xcd, 0x88, 0x1c, 0x4a, 0xb4, 0xf9, 0x97, 0x19, 0x52, 0x8a, 0x77, 0x93, 0x4c, + 0x69, 0x71, 0x24, 0x4d, 0x43, 0x91, 0x0c, 0x87, 0xb4, 0xe3, 0x45, 0x81, 0x36, 0x28, 0x90, 0x00, + 0xe9, 0x4f, 0xda, 0xb4, 0x40, 0x17, 0x45, 0x81, 0x3e, 0x74, 0x51, 0xf4, 0xa1, 0xef, 0x2d, 0xda, + 0xbe, 0xe4, 0x6d, 0x81, 0x20, 0x40, 0x80, 0xf6, 0xa9, 0x05, 0x16, 0xed, 0x02, 0xed, 0x43, 0xdb, + 0xb7, 0xa2, 0x79, 0x08, 0x50, 0xa0, 0xb8, 0xe7, 0xde, 0x3b, 0x73, 0xe7, 0x87, 0xb4, 0xb4, 0xde, + 0x6d, 0x1b, 0x20, 0x4f, 0x12, 0xcf, 0x3d, 0xe7, 0xce, 0xfd, 0xbf, 0xe7, 0x9c, 0x7b, 0x7e, 0x28, + 0xbe, 0x5f, 0xeb, 0x99, 0x76, 0x1c, 0xc8, 0xfb, 0xf0, 0xed, 0x94, 0xd8, 0xea, 0x09, 0xcd, 0x49, + 0x58, 0xd6, 0x4a, 0xd2, 0xb2, 0x3e, 0xf9, 0x9e, 0xaa, 0x01, 0x91, 0x0f, 0x2b, 0xa6, 0xf5, 0xe4, + 0x06, 0x55, 0x82, 0x4f, 0xe7, 0x0d, 0x91, 0x8e, 0x06, 0x8b, 0x25, 0xd3, 0x5c, 0xdd, 0x8f, 0x82, + 0xc8, 0x26, 0x2c, 0xf8, 0xf9, 0xaa, 0xf9, 0xc5, 0x91, 0x65, 0x80, 0x72, 0x87, 0x5c, 0x81, 0x45, + 0xc6, 0x92, 0x87, 0xf6, 0x1c, 0x20, 0x4c, 0xa7, 0x1b, 0x4f, 0x8c, 0x81, 0x02, 0x57, 0x9e, 0x37, + 0x86, 0x64, 0x0f, 0xce, 0xa2, 0x59, 0x87, 0xd7, 0xf7, 0xa7, 0xc1, 0xde, 0x6f, 0xef, 0x1f, 0x39, + 0x7c, 0xd5, 0x6a, 0x89, 0x93, 0x31, 0x18, 0x58, 0x56, 0x5d, 0x9a, 0x87, 0xc1, 0xc0, 0xf2, 0xfa, + 0xe2, 0x77, 0x81, 0x92, 0xf3, 0x36, 0x74, 0x60, 0x73, 0x0a, 0xa5, 0x74, 0x70, 0x28, 0xf2, 0xc1, + 0x71, 0x0b, 0xd4, 0x03, 0xa7, 0x43, 0x79, 0x62, 0xa7, 0x83, 0x4d, 0x7b, 0x72, 0x8f, 0x65, 0x68, + 0x37, 0x97, 0x7d, 0xb8, 0xe5, 0xf5, 0x77, 0xef, 0xf1, 0xaf, 0x1c, 0x8b, 0x2b, 0x4f, 0x16, 0x2b, + 0xc8, 0x2b, 0x70, 0x26, 0x12, 0x70, 0x24, 0xf0, 0x60, 0x37, 0x57, 0x69, 0x51, 0x38, 0x3c, 0xd5, + 0x55, 0x58, 0x14, 0xab, 0x62, 0xe8, 0xfb, 0xc1, 0x99, 0x39, 0x0e, 0xa3, 0xbb, 0x8e, 0x7f, 0x6e, + 0x2c, 0x3a, 0x95, 0x28, 0x91, 0x9c, 0x80, 0x97, 0x26, 0x2f, 0x03, 0xf1, 0xf9, 0x76, 0xff, 0xa0, + 0xe0, 0x1f, 0x5c, 0x15, 0x25, 0xfe, 0x0e, 0xe7, 0x9f, 0xfd, 0x9b, 0x14, 0x9c, 0x49, 0x10, 0x65, + 0xa8, 0x10, 0xe0, 0xf6, 0x46, 0xce, 0x21, 0x13, 0x21, 0xe4, 0x4e, 0xae, 0x48, 0x70, 0xae, 0x9f, + 0x9a, 0x63, 0x19, 0xc8, 0xf9, 0xb7, 0xf8, 0x2f, 0x7a, 0x78, 0xb4, 0x87, 0x42, 0xf5, 0x42, 0xff, + 0x25, 0x65, 0x58, 0xc5, 0xb4, 0x0a, 0x9e, 0xdb, 0xc7, 0xec, 0x0c, 0xc8, 0x84, 0x64, 0x42, 0xc2, + 0x0e, 0xb6, 0xa2, 0x21, 0x21, 0x51, 0x2e, 0xc4, 0x54, 0x07, 0x11, 0x08, 0xf9, 0x02, 0x6c, 0x48, + 0x77, 0x8d, 0x1d, 0xd9, 0x79, 0x68, 0xe9, 0x6e, 0x9e, 0x6b, 0xfb, 0xb7, 0x4e, 0x31, 0xb4, 0x07, + 0xb7, 0xe0, 0x12, 0x4e, 0xa2, 0xdb, 0x19, 0xd8, 0xb1, 0x3c, 0x1c, 0xd8, 0x55, 0x16, 0xb8, 0x7e, + 0x83, 0x62, 0x95, 0x3b, 0x83, 0x48, 0x4a, 0x0e, 0xda, 0x6b, 0x3e, 0x7c, 0x6f, 0xc1, 0x4b, 0x89, + 0x2d, 0xa6, 0x17, 0x0c, 0x1a, 0x52, 0x05, 0xbc, 0xd1, 0x3c, 0xfd, 0x4d, 0x99, 0xa3, 0xab, 0xb0, + 0xf8, 0xd8, 0x69, 0x0f, 0x9d, 0x21, 0xbf, 0xb9, 0xf9, 0x92, 0x60, 0x30, 0xf9, 0xe2, 0xee, 0x84, + 0xa7, 0x86, 0xeb, 0x8c, 0x48, 0x15, 0xce, 0xb0, 0x1b, 0xd0, 0x3d, 0x46, 0x66, 0x90, 0xeb, 0x99, + 0x94, 0x10, 0x3b, 0x84, 0x24, 0x78, 0x35, 0x95, 0x11, 0x8b, 0x51, 0x9b, 0xab, 0x87, 0x51, 0x10, + 0xdd, 0xd1, 0x67, 0x93, 0xb1, 0xc9, 0x16, 0xe4, 0x58, 0xe5, 0x4c, 0x2c, 0x60, 0x0f, 0x04, 0x57, + 0xa7, 0x7e, 0xa1, 0x80, 0xf6, 0xc5, 0x9e, 0xff, 0x3f, 0xbd, 0xaf, 0xf1, 0x2d, 0xd6, 0x3e, 0x96, + 0xdf, 0x3f, 0xcc, 0x45, 0x04, 0xf2, 0x77, 0x0f, 0xed, 0x6f, 0x15, 0xd1, 0xd5, 0x90, 0x70, 0x4c, + 0x97, 0x96, 0xe7, 0xf4, 0xc4, 0x1b, 0xd0, 0x82, 0xc9, 0x7f, 0x9d, 0x72, 0xa9, 0x93, 0xd7, 0x60, + 0x91, 0x56, 0x7b, 0x38, 0xee, 0xb1, 0x25, 0x97, 0x0e, 0x05, 0xda, 0xa9, 0xb2, 0x22, 0x3a, 0x6d, + 0x3b, 0x33, 0x66, 0xee, 0x38, 0xf8, 0x49, 0xb9, 0x65, 0xef, 0x78, 0x34, 0x90, 0x17, 0xaa, 0x50, + 0x14, 0x5a, 0xd5, 0x66, 0x83, 0x93, 0x64, 0x29, 0x4e, 0xc0, 0x2d, 0x6f, 0xcd, 0x31, 0x55, 0xa1, + 0x76, 0x07, 0x72, 0x52, 0xdd, 0xb4, 0x33, 0xcc, 0x73, 0x46, 0x74, 0x86, 0xfd, 0xe2, 0x93, 0xfd, + 0x18, 0xb2, 0xa2, 0x4a, 0x2a, 0x16, 0x1c, 0xf5, 0x3d, 0xb1, 0xc9, 0xf1, 0x7f, 0x0a, 0xa3, 0xa3, + 0x8c, 0x9d, 0x9c, 0x35, 0xf1, 0x7f, 0xbc, 0x4b, 0x46, 0x6d, 0x2a, 0x0f, 0x74, 0x3d, 0x7b, 0x80, + 0x16, 0x58, 0x3e, 0xf3, 0x4c, 0xe1, 0xcd, 0xae, 0xc7, 0xec, 0xb2, 0xf8, 0x37, 0xfe, 0xd2, 0xbf, + 0x84, 0x23, 0xda, 0x84, 0x49, 0x67, 0x66, 0xe8, 0xca, 0x48, 0xc5, 0xaf, 0x0c, 0x16, 0x40, 0x85, + 0x53, 0xb2, 0x2f, 0x03, 0xc2, 0xf0, 0xca, 0x90, 0x4e, 0x86, 0x4c, 0xe8, 0x64, 0x90, 0x64, 0xf2, + 0x60, 0xf6, 0xd8, 0x8d, 0x23, 0x64, 0xf2, 0xe8, 0x39, 0xf5, 0xa7, 0x29, 0xa1, 0x22, 0xd8, 0xea, + 0xf7, 0x47, 0xde, 0x68, 0xd8, 0x1e, 0x84, 0x54, 0xa1, 0xe4, 0x18, 0xce, 0x23, 0x07, 0x7d, 0x0f, + 0x53, 0x58, 0xf4, 0x87, 0x22, 0x66, 0x87, 0xbf, 0x72, 0x73, 0xf7, 0x3e, 0x15, 0xe6, 0xf1, 0x75, + 0x8a, 0xad, 0xcb, 0xc8, 0x74, 0xc1, 0x4a, 0xb5, 0xee, 0xcc, 0x98, 0xe7, 0x58, 0x9d, 0x31, 0x2c, + 0xb2, 0x93, 0xb0, 0x89, 0xa3, 0xba, 0xd0, 0xad, 0x60, 0x47, 0x87, 0x6b, 0x95, 0xf7, 0x3a, 0xf9, + 0x22, 0x2c, 0xb8, 0x1d, 0x39, 0x53, 0x63, 0x54, 0x0b, 0x57, 0xee, 0xb0, 0x68, 0xd1, 0x41, 0x1d, + 0x74, 0xcd, 0xb9, 0x1c, 0xba, 0xb5, 0x14, 0x52, 0x1a, 0x6b, 0x5b, 0x42, 0x1a, 0x8d, 0x93, 0x91, + 0x65, 0x48, 0xf9, 0x33, 0x9c, 0x72, 0x3b, 0x6c, 0x7b, 0x05, 0xf1, 0xaa, 0x4d, 0xfe, 0x4b, 0xfb, + 0x15, 0xb8, 0x75, 0xd2, 0x31, 0xa2, 0x5b, 0x71, 0xc2, 0x80, 0x2f, 0x98, 0xab, 0xed, 0xd8, 0xb8, + 0x5d, 0x05, 0x39, 0xdc, 0xae, 0x2b, 0x0e, 0x3f, 0x01, 0x6b, 0x0d, 0x5d, 0xed, 0x2f, 0xd2, 0xb0, + 0x1c, 0x56, 0x93, 0x93, 0x3b, 0x90, 0x91, 0x4e, 0xa0, 0x73, 0x09, 0xba, 0x74, 0x3c, 0x77, 0x10, + 0xe9, 0x44, 0x27, 0x0e, 0x79, 0x00, 0xcb, 0x68, 0xb8, 0x87, 0xac, 0xe7, 0xc8, 0xe5, 0x8f, 0x2f, + 0xd3, 0xdf, 0xcf, 0xb2, 0xef, 0xbd, 0x7f, 0x79, 0x06, 0x9f, 0xca, 0x16, 0x29, 0x2d, 0xe5, 0xfe, + 0x68, 0xa1, 0xa4, 0x05, 0xcd, 0x4c, 0xd6, 0x82, 0xf2, 0xae, 0x4c, 0xd0, 0x82, 0xce, 0x4e, 0xd1, + 0x82, 0x06, 0x94, 0xb2, 0x16, 0x14, 0x75, 0xe1, 0xf3, 0x93, 0x74, 0xe1, 0x01, 0x0d, 0xd3, 0x85, + 0x07, 0x5a, 0xcc, 0xec, 0x44, 0x2d, 0x66, 0x40, 0xc3, 0xb5, 0x98, 0xd7, 0xf9, 0x18, 0x0d, 0xdb, + 0x4f, 0x6d, 0x1c, 0x3c, 0x7e, 0x2d, 0x62, 0xef, 0xcd, 0xf6, 0x53, 0x34, 0xae, 0xd9, 0x5a, 0x00, + 0x61, 0x91, 0xa3, 0xfd, 0x9e, 0x12, 0xd1, 0x04, 0x8a, 0xf9, 0xbb, 0x01, 0xcb, 0xec, 0xb2, 0x72, + 0x3a, 0x92, 0xac, 0xb9, 0x64, 0x2e, 0x09, 0x28, 0x93, 0x37, 0x3f, 0x01, 0x2b, 0x3e, 0x1a, 0x17, + 0xb9, 0xd0, 0x53, 0xcf, 0xf4, 0xa9, 0x79, 0xd8, 0x99, 0x3b, 0xb0, 0xea, 0x23, 0x72, 0x6d, 0x0e, + 0x13, 0x37, 0x97, 0x4c, 0x55, 0x14, 0x34, 0x38, 0x5c, 0x3b, 0x8c, 0x4a, 0x1e, 0x1f, 0x53, 0xab, + 0xb4, 0x1f, 0xa6, 0x43, 0x5a, 0x12, 0xf1, 0x19, 0x7a, 0x8b, 0x7a, 0x7d, 0x9b, 0x0f, 0x12, 0x3f, + 0x8b, 0xae, 0x4e, 0x98, 0x33, 0x6e, 0xd3, 0x64, 0x59, 0x75, 0x13, 0x3c, 0xaf, 0x2f, 0x4c, 0x9c, + 0x6c, 0xc6, 0x51, 0xb3, 0x7b, 0x1f, 0xd7, 0xac, 0xa8, 0x8e, 0x1d, 0x3c, 0xf9, 0xe9, 0xd5, 0x09, + 0x31, 0x95, 0x2e, 0x59, 0xe4, 0xac, 0xfd, 0x5f, 0xe2, 0x03, 0x2d, 0x40, 0xa5, 0xa2, 0x17, 0xae, + 0x3c, 0x9d, 0x20, 0x3b, 0xc5, 0x2a, 0xc7, 0x51, 0xc2, 0x9a, 0xd5, 0xb1, 0xf8, 0x57, 0x54, 0x6b, + 0xc0, 0x22, 0xea, 0x28, 0x44, 0x85, 0x99, 0x04, 0x15, 0x7c, 0xbc, 0xf3, 0x85, 0x72, 0xd5, 0xcc, + 0x51, 0x3a, 0x51, 0xcd, 0x11, 0x9c, 0x97, 0x35, 0x0b, 0xe1, 0x46, 0xce, 0x8a, 0x28, 0xba, 0x53, + 0x47, 0x20, 0x50, 0x40, 0x60, 0x53, 0xcf, 0xb6, 0xc3, 0x00, 0x8e, 0xa6, 0x1d, 0xc1, 0xc6, 0xe4, + 0x29, 0x99, 0x92, 0xa1, 0x29, 0xb8, 0x40, 0x53, 0xf2, 0x05, 0x2a, 0xeb, 0x19, 0xd2, 0x21, 0x3d, + 0x83, 0xf6, 0x27, 0x69, 0xb8, 0x76, 0x82, 0xe9, 0x9a, 0xf2, 0xcd, 0x2f, 0x85, 0xd9, 0xb3, 0x54, + 0x48, 0x32, 0xa4, 0x95, 0xf2, 0x03, 0x92, 0x4a, 0xa9, 0xc9, 0xcc, 0xd9, 0x2f, 0xc1, 0x0a, 0x3b, + 0x05, 0x99, 0x59, 0xe2, 0xc1, 0xb8, 0x7b, 0x82, 0x63, 0x70, 0x53, 0xf8, 0x50, 0x45, 0x48, 0xf1, + 0x64, 0xc4, 0x13, 0xc3, 0xf2, 0x61, 0xa4, 0x09, 0x39, 0x44, 0x3b, 0x68, 0xbb, 0xdd, 0x13, 0x39, + 0xf3, 0x08, 0x0f, 0x2d, 0x99, 0x8c, 0x59, 0x53, 0x53, 0x40, 0x09, 0x7f, 0x93, 0x9b, 0xb0, 0xd2, + 0x1b, 0x1f, 0x53, 0xc6, 0x83, 0xad, 0x05, 0x6e, 0xfd, 0x31, 0x6b, 0x2e, 0xf5, 0xc6, 0xc7, 0xfa, + 0x60, 0x80, 0x53, 0x8a, 0x66, 0x22, 0xab, 0x14, 0x8f, 0xed, 0x5a, 0x81, 0x39, 0x87, 0x98, 0xb4, + 0x02, 0xb6, 0x6f, 0x39, 0xee, 0x1a, 0x30, 0xa3, 0x41, 0x9e, 0xa1, 0x8a, 0xfd, 0xd0, 0x7e, 0x9a, + 0x12, 0xf2, 0xee, 0xe4, 0x75, 0xff, 0x8b, 0x29, 0x4a, 0x98, 0xa2, 0x5b, 0xa0, 0xd2, 0xa1, 0x0f, + 0x0e, 0x15, 0x7f, 0x8e, 0x96, 0x7b, 0xe3, 0x63, 0x7f, 0xec, 0xe4, 0x81, 0x9f, 0x93, 0x07, 0xfe, + 0x35, 0x21, 0x0f, 0x27, 0x1e, 0x0f, 0x93, 0x87, 0x5c, 0xfb, 0xf7, 0x34, 0xdc, 0x3c, 0xd9, 0x21, + 0xf0, 0x8b, 0x79, 0x4b, 0x98, 0xb7, 0x88, 0xea, 0x74, 0x36, 0xa6, 0x3a, 0x4d, 0xd8, 0x7b, 0x73, + 0x49, 0x7b, 0x2f, 0xa6, 0xa8, 0x9d, 0x4f, 0x50, 0xd4, 0x26, 0x6e, 0xd0, 0xec, 0x73, 0x36, 0xe8, + 0x82, 0xbc, 0x4e, 0xfe, 0xc5, 0x57, 0x60, 0x84, 0xe5, 0x81, 0xb7, 0xe0, 0x8c, 0x90, 0x07, 0xd8, + 0xcd, 0x11, 0xe8, 0xdf, 0x73, 0xf7, 0x6e, 0x27, 0x49, 0x02, 0x88, 0x96, 0xc0, 0xad, 0xaf, 0x72, + 0x19, 0x20, 0x28, 0xff, 0xbf, 0xc3, 0xfd, 0x93, 0x47, 0x70, 0x16, 0xe3, 0xbb, 0xef, 0xcb, 0x2f, + 0x07, 0xf6, 0xd0, 0x39, 0xe0, 0xeb, 0xe1, 0x6a, 0x8c, 0x57, 0x76, 0xf7, 0xa5, 0xe6, 0x98, 0xce, + 0xc1, 0xce, 0x8c, 0xb9, 0xe6, 0x25, 0xc0, 0xa3, 0x82, 0xc5, 0x9f, 0x2b, 0xa0, 0x3d, 0x7f, 0xbc, + 0x50, 0x51, 0x15, 0x1d, 0xf0, 0x05, 0x33, 0xd7, 0x96, 0x46, 0xef, 0x1a, 0x2c, 0x0d, 0x9d, 0x83, + 0xa1, 0xe3, 0x1d, 0x85, 0x34, 0x20, 0x8b, 0x1c, 0x28, 0x06, 0x46, 0x44, 0x99, 0x3c, 0x15, 0x67, + 0x2e, 0x88, 0xb4, 0x92, 0x2f, 0x2f, 0x26, 0xce, 0x03, 0x5d, 0x4d, 0x72, 0x03, 0xd9, 0x8f, 0x07, + 0x99, 0x6c, 0x4a, 0x4d, 0x9b, 0x3c, 0x16, 0xe6, 0x81, 0xdb, 0x75, 0xb4, 0xbf, 0x52, 0x04, 0x47, + 0x90, 0x34, 0x78, 0xe4, 0x2d, 0xc9, 0x98, 0x37, 0x1d, 0x63, 0x43, 0x92, 0x48, 0x64, 0xbb, 0x47, + 0x1e, 0x9e, 0x11, 0x01, 0xa1, 0xf0, 0x8c, 0x08, 0x79, 0x01, 0x8b, 0x44, 0x2e, 0x35, 0xdf, 0x17, + 0x16, 0x41, 0xf4, 0xcc, 0xdb, 0xbd, 0x4b, 0x6e, 0xc3, 0x3c, 0x33, 0x02, 0x12, 0xcd, 0x5d, 0x09, + 0x35, 0x77, 0xf7, 0xae, 0x29, 0xca, 0xb5, 0x77, 0xfc, 0x77, 0xad, 0x58, 0x27, 0x76, 0xef, 0x92, + 0xd7, 0x4e, 0x66, 0x9c, 0x9b, 0x15, 0xc6, 0xb9, 0xbe, 0x61, 0xee, 0xe7, 0x42, 0x86, 0xb9, 0xd7, + 0xa7, 0x8f, 0x16, 0x7f, 0x8d, 0x64, 0xe1, 0x08, 0x83, 0x30, 0x55, 0x3f, 0x55, 0xe0, 0xe2, 0x54, + 0x0a, 0x72, 0x01, 0xb2, 0x7a, 0xa3, 0xdc, 0x0c, 0xe6, 0x97, 0xee, 0x19, 0x01, 0x21, 0xdb, 0xb0, + 0xb0, 0xd5, 0xf6, 0xdc, 0x7d, 0xba, 0x8c, 0x13, 0x9f, 0x07, 0x62, 0xd5, 0xfa, 0xe8, 0x3b, 0x33, + 0x66, 0x40, 0x4b, 0x6c, 0x58, 0xc5, 0xbd, 0x10, 0x4a, 0xfd, 0x94, 0x4e, 0xd0, 0x35, 0xc4, 0x2a, + 0x8c, 0x91, 0xd1, 0x73, 0x26, 0x06, 0x8c, 0x6e, 0xc1, 0x27, 0x82, 0x17, 0x99, 0xdc, 0xc0, 0x53, + 0xc4, 0x55, 0xbd, 0x05, 0xd9, 0x86, 0xb0, 0x13, 0x90, 0xac, 0xd9, 0x85, 0x4d, 0x80, 0xe9, 0x97, + 0x6a, 0xbf, 0xa9, 0x08, 0x85, 0xc0, 0xf3, 0x3b, 0x22, 0x65, 0xcd, 0xea, 0x4c, 0xcf, 0x9a, 0xd5, + 0xf9, 0x90, 0x59, 0xb3, 0xb4, 0x3f, 0xe3, 0x51, 0xcf, 0xcb, 0x9d, 0x46, 0x44, 0x33, 0xfb, 0xa2, + 0x5e, 0x09, 0x46, 0x68, 0x75, 0x5e, 0x93, 0xb2, 0x2e, 0xc6, 0xbf, 0x35, 0xd9, 0x39, 0x41, 0x5a, + 0xaa, 0x7f, 0x90, 0x86, 0x0b, 0xd3, 0xc8, 0x13, 0xf3, 0x3a, 0x2b, 0xa7, 0xcb, 0xeb, 0x7c, 0x1b, + 0xb2, 0x0c, 0xe6, 0x9b, 0xdc, 0xe3, 0x80, 0x73, 0x52, 0x3a, 0xe0, 0xa2, 0x98, 0x5c, 0x83, 0x39, + 0xbd, 0x60, 0x05, 0xa9, 0xc6, 0xd0, 0x36, 0xb6, 0xbd, 0xef, 0xa1, 0xd5, 0x25, 0x2f, 0x22, 0x5f, + 0x8f, 0x67, 0xd7, 0xe3, 0x39, 0xc6, 0x36, 0xa5, 0x01, 0x89, 0x25, 0x24, 0xc0, 0xf6, 0x06, 0x01, + 0xf4, 0x79, 0x4c, 0x6a, 0x33, 0x9e, 0xa9, 0x4f, 0x83, 0xb9, 0xc6, 0xd0, 0xf1, 0x9c, 0x91, 0x6c, + 0xb7, 0x3a, 0x40, 0x88, 0xc9, 0x4b, 0xb8, 0x55, 0x69, 0xfb, 0x19, 0x0b, 0x22, 0x30, 0x27, 0x07, + 0x76, 0x41, 0x33, 0x54, 0x0a, 0x36, 0x25, 0x14, 0x4a, 0x50, 0x69, 0x8f, 0x7b, 0xfb, 0x47, 0x2d, + 0xb3, 0xc2, 0x59, 0x0d, 0x46, 0xd0, 0x45, 0x28, 0xed, 0xa0, 0x67, 0x4a, 0x28, 0xda, 0x77, 0x15, + 0x58, 0x4b, 0xea, 0x07, 0xb9, 0x00, 0x99, 0x5e, 0x62, 0x22, 0xc1, 0x1e, 0xf3, 0x7d, 0xce, 0xd1, + 0xbf, 0xf6, 0x41, 0x7f, 0x78, 0xdc, 0x1e, 0xc9, 0xd6, 0xbd, 0x12, 0xd8, 0x04, 0xfa, 0xa3, 0x84, + 0xff, 0x93, 0xcb, 0xe2, 0x8c, 0x4e, 0xc7, 0x52, 0x0f, 0xe2, 0x1f, 0x4d, 0x07, 0x28, 0x77, 0x1a, + 0xf5, 0x01, 0x0b, 0x88, 0xff, 0x2a, 0x64, 0x68, 0xb3, 0x22, 0xab, 0x97, 0xae, 0x1f, 0xbd, 0x5a, + 0xe1, 0x48, 0xac, 0x55, 0x5e, 0xfb, 0xb8, 0x6b, 0x22, 0xb2, 0xb6, 0x07, 0xcb, 0x61, 0x0c, 0x62, + 0x84, 0x43, 0xa8, 0xe6, 0xee, 0xa9, 0xbc, 0xa6, 0xad, 0x7e, 0x9f, 0x79, 0x98, 0x6c, 0x9d, 0xff, + 0xfb, 0xf7, 0x2f, 0x03, 0xfd, 0xc9, 0x68, 0x92, 0x42, 0xac, 0x6a, 0xdf, 0x4f, 0xc1, 0x5a, 0xe0, + 0xd4, 0x2e, 0xf6, 0xd0, 0xcf, 0xad, 0x87, 0xa5, 0x1e, 0xf2, 0x00, 0x14, 0x8c, 0x56, 0xbc, 0x83, + 0x53, 0x1c, 0x8f, 0xb6, 0x61, 0x7d, 0x12, 0x3e, 0xb9, 0x03, 0x0b, 0x18, 0x07, 0x69, 0xd0, 0xde, + 0x77, 0xe4, 0xb3, 0xaf, 0x27, 0x80, 0x66, 0x50, 0xae, 0xfd, 0x58, 0x81, 0x0d, 0xee, 0x17, 0x51, + 0x6d, 0xbb, 0x3d, 0x54, 0xab, 0xef, 0x3b, 0x1f, 0x8d, 0x87, 0xf0, 0x76, 0xe8, 0x1c, 0xbb, 0x11, + 0x76, 0x7f, 0x89, 0x7d, 0x6d, 0x72, 0x6f, 0xc9, 0x6d, 0x8c, 0xed, 0xc5, 0x9f, 0x9d, 0x33, 0x2c, + 0x22, 0x43, 0x8f, 0x02, 0xe4, 0x88, 0x0c, 0x88, 0xa1, 0xfd, 0x2a, 0x5c, 0x9a, 0xfe, 0x01, 0xf2, + 0x35, 0x58, 0xc2, 0x64, 0x51, 0xad, 0xc1, 0xe1, 0xb0, 0xdd, 0x71, 0x84, 0x2a, 0x4c, 0xa8, 0x2f, + 0xe5, 0x32, 0x16, 0xaa, 0x8c, 0x47, 0x08, 0x38, 0xc4, 0x34, 0x54, 0x9c, 0x28, 0xe4, 0x7c, 0x24, + 0xd7, 0xa6, 0xfd, 0x9a, 0x02, 0x24, 0x5e, 0x07, 0xf9, 0x2c, 0x2c, 0xb6, 0x9a, 0x05, 0x6b, 0xd4, + 0x1e, 0x8e, 0x76, 0xfa, 0xe3, 0x21, 0x8f, 0x13, 0xc6, 0x1c, 0xc6, 0x47, 0xfb, 0x36, 0x7b, 0x40, + 0x39, 0xea, 0x8f, 0x87, 0x66, 0x08, 0x0f, 0xb3, 0x1c, 0x39, 0xce, 0x37, 0x3a, 0xed, 0x67, 0xe1, + 0x2c, 0x47, 0x1c, 0x16, 0xca, 0x72, 0xc4, 0x61, 0xda, 0xbb, 0x0a, 0x6c, 0x0a, 0x6b, 0xc2, 0x4e, + 0x42, 0x5b, 0x0a, 0x18, 0x16, 0x65, 0x28, 0x02, 0xd3, 0x4e, 0x63, 0x69, 0x57, 0x45, 0xe4, 0x20, + 0x6c, 0x20, 0xf2, 0xb6, 0x8c, 0x96, 0x7c, 0x09, 0x32, 0xd6, 0xa8, 0x3f, 0x38, 0x41, 0xe8, 0x20, + 0xd5, 0x9f, 0xd1, 0x51, 0x7f, 0x80, 0x55, 0x20, 0xa5, 0xe6, 0xc0, 0x9a, 0xdc, 0x38, 0xd1, 0x62, + 0x52, 0x85, 0x79, 0x1e, 0x23, 0x2e, 0xf2, 0x50, 0x3f, 0xa5, 0x4f, 0x5b, 0x2b, 0x22, 0x3e, 0x11, + 0x0f, 0x8c, 0x6a, 0x8a, 0x3a, 0xb4, 0xdf, 0x56, 0x20, 0x47, 0xb9, 0x0d, 0x94, 0xe2, 0x5e, 0x74, + 0x49, 0x87, 0x19, 0x47, 0x61, 0x77, 0xe2, 0x57, 0x7f, 0xa2, 0xdb, 0xf8, 0x33, 0xb0, 0x12, 0x21, + 0x20, 0x1a, 0x46, 0xa6, 0xe8, 0xba, 0xfb, 0x6d, 0x96, 0x34, 0x85, 0xd9, 0x6c, 0x84, 0x60, 0xda, + 0xf7, 0x14, 0x58, 0xa3, 0x32, 0x3f, 0x7b, 0xe7, 0x34, 0xc7, 0x5d, 0xb1, 0xdf, 0x29, 0x07, 0x25, + 0xcc, 0x52, 0x99, 0xd7, 0x3c, 0xe3, 0xa0, 0x38, 0xcc, 0xf4, 0x4b, 0xc9, 0x0e, 0x64, 0xf9, 0xfd, + 0xe2, 0xf1, 0x78, 0xa6, 0x97, 0x24, 0x65, 0x42, 0x50, 0x31, 0x47, 0xa2, 0x3d, 0xc1, 0x23, 0x8c, + 0xd3, 0x98, 0x3e, 0xb5, 0xf6, 0x1f, 0x0a, 0x9c, 0x9b, 0x40, 0x43, 0x5e, 0x87, 0x59, 0xf4, 0xe8, + 0xe3, 0xb3, 0x77, 0x61, 0xc2, 0x27, 0x46, 0xfb, 0x47, 0xbb, 0x77, 0xd9, 0x45, 0x74, 0x4c, 0x7f, + 0x98, 0x8c, 0x8a, 0xbc, 0x05, 0x0b, 0x7a, 0xa7, 0xc3, 0xc5, 0x99, 0x54, 0x48, 0x9c, 0x99, 0xf0, + 0xc5, 0x57, 0x7c, 0x7c, 0x26, 0xce, 0x30, 0xdf, 0x92, 0x4e, 0xc7, 0xe6, 0xde, 0x8a, 0x41, 0x7d, + 0x1b, 0xff, 0x1f, 0x96, 0xc3, 0xc8, 0xa7, 0x72, 0xb0, 0x7a, 0x47, 0x01, 0x35, 0xdc, 0x86, 0x8f, + 0x27, 0xb2, 0x52, 0xd2, 0x34, 0x3f, 0x67, 0x51, 0xfd, 0x6e, 0x0a, 0x5e, 0x4a, 0x1c, 0x61, 0xf2, + 0x32, 0xcc, 0xe9, 0x83, 0x41, 0xb9, 0xc8, 0x57, 0x15, 0xe7, 0x90, 0x50, 0x4b, 0x1c, 0x92, 0xf6, + 0x18, 0x12, 0x79, 0x15, 0xb2, 0xec, 0x39, 0xbd, 0x28, 0x0e, 0x1c, 0x0c, 0x15, 0xc3, 0xdf, 0xfa, + 0xc3, 0x91, 0x45, 0x05, 0x22, 0x29, 0xc1, 0x32, 0x0f, 0xb2, 0x62, 0x3a, 0x87, 0xce, 0xb7, 0xfc, + 0x10, 0xf7, 0x18, 0x85, 0x5f, 0xa8, 0x9e, 0xed, 0x21, 0x2b, 0x93, 0xc3, 0x8c, 0x84, 0xa9, 0x48, + 0x05, 0x54, 0xac, 0x53, 0xae, 0x89, 0x85, 0x37, 0xc5, 0xb0, 0x37, 0xac, 0x11, 0x13, 0xea, 0x8a, + 0x51, 0xfa, 0xd3, 0xa5, 0x7b, 0x9e, 0x7b, 0xd8, 0x3b, 0x76, 0x7a, 0xa3, 0x8f, 0x6f, 0xba, 0x82, + 0x6f, 0x9c, 0x68, 0xba, 0x7e, 0x3f, 0xc3, 0x36, 0x73, 0x94, 0x8c, 0x72, 0x34, 0x52, 0x44, 0x6b, + 0xe4, 0x68, 0xa8, 0xd0, 0xc4, 0xc3, 0x88, 0x14, 0x61, 0x9e, 0x85, 0x77, 0x11, 0x3b, 0xe3, 0x62, + 0x62, 0x13, 0x18, 0xce, 0xee, 0x5d, 0xc6, 0xbe, 0x30, 0xd7, 0x42, 0xcf, 0x14, 0xa4, 0x64, 0x17, + 0x72, 0x85, 0xae, 0xd3, 0xee, 0x8d, 0x07, 0xcd, 0x93, 0x3d, 0x39, 0xae, 0xf3, 0xbe, 0x2c, 0xee, + 0x33, 0x32, 0x7c, 0xaa, 0xc4, 0x93, 0x5c, 0xae, 0x88, 0x34, 0x7d, 0x6f, 0xa3, 0x0c, 0x6a, 0x2a, + 0x3f, 0x3d, 0x65, 0x7c, 0xa2, 0x40, 0xa4, 0x0b, 0xbb, 0xd2, 0x71, 0x77, 0x24, 0x1b, 0x96, 0x2b, + 0x6d, 0x6f, 0xd4, 0x1c, 0xb6, 0x7b, 0x1e, 0x86, 0x85, 0x3c, 0x41, 0xd8, 0xac, 0x4d, 0x91, 0x72, + 0x18, 0x75, 0x8c, 0x23, 0x9f, 0x94, 0x69, 0x30, 0xc3, 0xd5, 0x51, 0x7e, 0xa9, 0xe4, 0xf6, 0xda, + 0x5d, 0xf7, 0x6d, 0xe1, 0x94, 0xc9, 0xf8, 0xa5, 0x03, 0x01, 0x34, 0x83, 0x72, 0xed, 0xab, 0xb1, + 0x79, 0x63, 0xad, 0xcc, 0xc1, 0x3c, 0x77, 0xd9, 0x67, 0x2e, 0xec, 0x0d, 0xa3, 0x56, 0x2c, 0xd7, + 0xb6, 0x55, 0x85, 0x2c, 0x03, 0x34, 0xcc, 0x7a, 0xc1, 0xb0, 0x2c, 0xfa, 0x3b, 0x45, 0x7f, 0x73, + 0xff, 0xf6, 0x52, 0xab, 0xa2, 0xa6, 0x25, 0x17, 0xf7, 0x8c, 0xf6, 0x23, 0x05, 0xce, 0x26, 0x4f, + 0x25, 0x69, 0x02, 0x06, 0x39, 0xe0, 0x8f, 0xcf, 0x9f, 0x9d, 0x3a, 0xef, 0x89, 0xe0, 0x68, 0xb0, + 0x84, 0x11, 0x73, 0xc2, 0x4f, 0x89, 0xc7, 0x22, 0xe6, 0xd5, 0xe7, 0x76, 0xcc, 0x94, 0xdb, 0xd1, + 0x0a, 0xb0, 0x3e, 0xa9, 0x8e, 0x70, 0x57, 0x57, 0x20, 0xa7, 0x37, 0x1a, 0x95, 0x72, 0x41, 0x6f, + 0x96, 0xeb, 0x35, 0x55, 0x21, 0x0b, 0x30, 0xbb, 0x6d, 0xd6, 0x5b, 0x0d, 0x35, 0xa5, 0xfd, 0x40, + 0x81, 0xa5, 0x72, 0x60, 0xa6, 0xf5, 0xa2, 0x9b, 0xef, 0xf3, 0xa1, 0xcd, 0xb7, 0xee, 0x87, 0x03, + 0xf1, 0x3f, 0x70, 0xa2, 0x9d, 0xf7, 0x77, 0x0a, 0xac, 0xc6, 0x68, 0x88, 0x05, 0xf3, 0xfa, 0x9e, + 0x55, 0x2f, 0x17, 0x0b, 0xbc, 0x65, 0x97, 0x03, 0xfb, 0x22, 0xcc, 0xf8, 0x14, 0xfb, 0x0a, 0x73, + 0xa1, 0x7d, 0xea, 0xd9, 0x7d, 0xb7, 0x23, 0x65, 0x6b, 0xdd, 0x99, 0x31, 0x45, 0x4d, 0x78, 0x93, + 0xbd, 0x3d, 0x1e, 0x3a, 0x58, 0x6d, 0x2a, 0xa4, 0x08, 0xf5, 0xe1, 0xf1, 0x8a, 0xd1, 0xe1, 0xa1, + 0x4d, 0xcb, 0xe3, 0x55, 0x07, 0xf5, 0x6d, 0x2d, 0x41, 0x8e, 0x4b, 0x2d, 0x28, 0x10, 0xfc, 0x50, + 0x81, 0xf5, 0x49, 0x6d, 0xa5, 0x82, 0x50, 0xd8, 0x9f, 0xfe, 0xac, 0x9f, 0xc1, 0x21, 0xec, 0x48, + 0x2f, 0xd0, 0xc8, 0x1b, 0x90, 0x2b, 0x7b, 0xde, 0xd8, 0x19, 0x5a, 0xaf, 0xb6, 0xcc, 0x32, 0x5f, + 0x20, 0x17, 0xff, 0xf5, 0xfd, 0xcb, 0xe7, 0xd0, 0x2d, 0x61, 0x68, 0x7b, 0xaf, 0xda, 0xe3, 0xa1, + 0x1b, 0x8a, 0x76, 0x2f, 0x53, 0x50, 0xbe, 0xb5, 0x3d, 0xee, 0xb8, 0x8e, 0xe0, 0xda, 0x85, 0xcf, + 0x31, 0x87, 0xc9, 0xb7, 0x88, 0x80, 0x69, 0xdf, 0x51, 0x60, 0x63, 0xf2, 0xc0, 0xd0, 0x9b, 0xa9, + 0xc9, 0xac, 0x7e, 0x84, 0xd7, 0x2f, 0xde, 0x4c, 0xbe, 0x69, 0x90, 0x5c, 0xa7, 0x40, 0xa4, 0x44, + 0x7e, 0xf6, 0xf4, 0x54, 0x2c, 0x65, 0x72, 0x98, 0x48, 0x20, 0x6a, 0xff, 0x96, 0x82, 0xb3, 0x74, + 0xd1, 0x75, 0x1d, 0xcf, 0xd3, 0xc7, 0xa3, 0x23, 0xa7, 0x37, 0xe2, 0x6c, 0x18, 0x79, 0x0d, 0xe6, + 0x8e, 0x4e, 0xa7, 0x72, 0x64, 0xe8, 0x84, 0x00, 0x1e, 0xe4, 0xc2, 0xc9, 0x82, 0xfe, 0x4f, 0xae, + 0x82, 0x9c, 0xa4, 0x3a, 0x8d, 0x61, 0x32, 0x53, 0xeb, 0x8a, 0xb9, 0x30, 0xf0, 0xf3, 0xc9, 0x7e, + 0x0e, 0x66, 0x51, 0xcd, 0xc0, 0x8f, 0x54, 0xc1, 0x0a, 0x27, 0xb7, 0x0e, 0x95, 0x10, 0x26, 0x23, + 0x20, 0x9f, 0x02, 0x08, 0x32, 0x0c, 0xf0, 0x33, 0x53, 0x88, 0xdf, 0x7e, 0x92, 0x01, 0x73, 0xe1, + 0xf8, 0xa0, 0xcd, 0xc3, 0xf6, 0xe7, 0x61, 0x55, 0x0c, 0xcb, 0x40, 0x44, 0xd7, 0xe3, 0xaf, 0x61, + 0x2b, 0xac, 0xa0, 0x3c, 0x10, 0x11, 0xf6, 0xae, 0xc7, 0x12, 0xed, 0x62, 0x90, 0xdd, 0x48, 0x36, + 0xdd, 0xeb, 0xb1, 0x6c, 0xba, 0x59, 0x86, 0x25, 0xa7, 0xcc, 0xd5, 0xfe, 0x39, 0x05, 0x0b, 0x7b, + 0x94, 0x59, 0x41, 0x11, 0x7c, 0xba, 0x48, 0x7f, 0x0f, 0x72, 0x95, 0x7e, 0x9b, 0x3f, 0x3b, 0x70, + 0xdf, 0x04, 0xe6, 0x1b, 0xdc, 0xed, 0xb7, 0xc5, 0x0b, 0x86, 0x67, 0xca, 0x48, 0xcf, 0xf1, 0x6b, + 0x7e, 0x00, 0x73, 0xec, 0x19, 0x88, 0x6b, 0x97, 0x04, 0xbb, 0xea, 0xb7, 0xe8, 0x15, 0x56, 0x2c, + 0x69, 0xca, 0xd9, 0x53, 0x92, 0xcc, 0x3b, 0xf1, 0x58, 0xa1, 0x92, 0xc2, 0x61, 0xf6, 0x64, 0x0a, + 0x07, 0x29, 0x26, 0xda, 0xdc, 0x49, 0x62, 0xa2, 0x6d, 0xdc, 0x87, 0x9c, 0xd4, 0x9e, 0x53, 0x71, + 0xaf, 0xdf, 0x4e, 0xc1, 0x12, 0xf6, 0xca, 0xb7, 0x09, 0xf9, 0xf9, 0x54, 0x9f, 0x7c, 0x3e, 0xa4, + 0x3e, 0x59, 0x97, 0xe7, 0x8b, 0xf5, 0x6c, 0x8a, 0xde, 0xe4, 0x01, 0xac, 0xc6, 0x10, 0xc9, 0x67, + 0x60, 0x96, 0x36, 0x5f, 0x88, 0x9b, 0x6a, 0x74, 0x05, 0x04, 0xf1, 0x73, 0x69, 0xc7, 0x3d, 0x93, + 0x61, 0x6b, 0xff, 0xa9, 0xc0, 0x22, 0x4f, 0x5f, 0xd1, 0x3b, 0xe8, 0x3f, 0x77, 0x38, 0x6f, 0x46, + 0x87, 0x93, 0x45, 0xe9, 0xe0, 0xc3, 0xf9, 0x3f, 0x3d, 0x88, 0xf7, 0x43, 0x83, 0x78, 0xce, 0x8f, + 0xa6, 0x27, 0xba, 0x33, 0x65, 0x0c, 0xff, 0x1a, 0xe3, 0xcb, 0x86, 0x11, 0xc9, 0xd7, 0x61, 0xa1, + 0xe6, 0x3c, 0x0d, 0x49, 0x6d, 0x37, 0x27, 0x54, 0xfa, 0x8a, 0x8f, 0xc8, 0xf6, 0x14, 0x5e, 0x78, + 0x3d, 0xe7, 0xa9, 0x1d, 0x7b, 0x81, 0x0a, 0xaa, 0xa4, 0x82, 0x5b, 0x98, 0xec, 0x34, 0x4b, 0x9f, + 0x3b, 0x4a, 0x62, 0xe0, 0x99, 0xef, 0xa6, 0x01, 0x02, 0x1f, 0x33, 0xba, 0x01, 0x43, 0x8f, 0xef, + 0x42, 0xe1, 0x8d, 0x20, 0x79, 0x8d, 0x8b, 0x37, 0xf9, 0x9b, 0x5c, 0x31, 0x9b, 0x9a, 0x1c, 0xed, + 0x10, 0x55, 0xb4, 0x05, 0xee, 0xd4, 0xd4, 0x71, 0xba, 0x6d, 0x76, 0xb6, 0xa7, 0xb7, 0xae, 0x63, + 0x70, 0x5b, 0x1f, 0x3a, 0x21, 0x0f, 0x31, 0xba, 0x3e, 0x15, 0x29, 0x42, 0xcc, 0x6f, 0x33, 0x73, + 0x3a, 0xbf, 0xcd, 0x06, 0x2c, 0xb8, 0xbd, 0x27, 0x4e, 0x6f, 0xd4, 0x1f, 0x3e, 0x43, 0x6d, 0x74, + 0xa0, 0xe6, 0xa2, 0x43, 0x50, 0x16, 0x65, 0x6c, 0x1e, 0xf0, 0x62, 0xf4, 0xf1, 0xe5, 0x69, 0xf0, + 0x81, 0xbe, 0xdf, 0xe9, 0xac, 0x3a, 0xf7, 0x20, 0x93, 0x9d, 0x53, 0xe7, 0x1f, 0x64, 0xb2, 0x59, + 0x75, 0xe1, 0x41, 0x26, 0xbb, 0xa0, 0x82, 0x29, 0xbd, 0xef, 0xf8, 0xef, 0x37, 0xd2, 0x93, 0x4b, + 0xf8, 0x39, 0x45, 0xfb, 0x59, 0x0a, 0x48, 0xbc, 0x19, 0xe4, 0xf3, 0x90, 0x63, 0x07, 0xac, 0x3d, + 0xf4, 0xbe, 0xc9, 0xcd, 0xd6, 0x59, 0xf8, 0x1e, 0x09, 0x2c, 0x87, 0xef, 0x61, 0x60, 0xd3, 0xfb, + 0x66, 0x97, 0x7c, 0x0d, 0xce, 0xe0, 0xf0, 0x0e, 0x9c, 0xa1, 0xdb, 0xef, 0xd8, 0x18, 0x6b, 0xb5, + 0xdd, 0xe5, 0x39, 0x03, 0x5f, 0xc6, 0xe4, 0xb6, 0xf1, 0xe2, 0x09, 0xd3, 0x80, 0xae, 0x64, 0x0d, + 0xc4, 0x6c, 0x30, 0x44, 0xd2, 0x04, 0x55, 0xa6, 0x3f, 0x18, 0x77, 0xbb, 0x7c, 0x66, 0xf3, 0x54, + 0xd0, 0x8d, 0x96, 0x4d, 0xa8, 0x78, 0x39, 0xa8, 0xb8, 0x34, 0xee, 0x76, 0xc9, 0x6b, 0x00, 0xfd, + 0x9e, 0x7d, 0xec, 0x7a, 0x1e, 0x7b, 0xe3, 0xf0, 0xbd, 0x5e, 0x03, 0xa8, 0x3c, 0x19, 0xfd, 0x5e, + 0x95, 0x01, 0xc9, 0xff, 0x03, 0xf4, 0xfa, 0xc7, 0x70, 0x18, 0xcc, 0xaa, 0x85, 0x67, 0x01, 0x11, + 0xc0, 0xb0, 0x93, 0xed, 0xa1, 0x63, 0xb9, 0x6f, 0x0b, 0x97, 0x81, 0x37, 0x61, 0x95, 0x1b, 0xa1, + 0xee, 0xb9, 0xa3, 0x23, 0xce, 0x61, 0xbf, 0x08, 0x7b, 0x2e, 0xb1, 0xd8, 0xff, 0x90, 0x01, 0xd0, + 0xf7, 0x2c, 0x11, 0x69, 0xea, 0x36, 0xcc, 0x52, 0xb9, 0x41, 0xe8, 0x1f, 0x50, 0x7b, 0x8b, 0xf5, + 0xca, 0xda, 0x5b, 0xc4, 0xa0, 0xbb, 0xd1, 0x44, 0xe3, 0x6c, 0xa1, 0x7b, 0xc0, 0xdd, 0xc8, 0xec, + 0xb5, 0x43, 0x91, 0x7e, 0x39, 0x16, 0xa9, 0x00, 0x04, 0xb1, 0x9f, 0xb8, 0x24, 0xbb, 0x1a, 0x04, + 0x51, 0xe1, 0x05, 0x3c, 0xdb, 0x40, 0x10, 0x3f, 0x4a, 0x5e, 0x3e, 0x01, 0x1a, 0x79, 0x08, 0x99, + 0x66, 0xdb, 0xf7, 0xe9, 0x9c, 0x10, 0x11, 0xeb, 0x0a, 0xcf, 0xe9, 0x18, 0x44, 0xc5, 0x5a, 0x1e, + 0xb5, 0x43, 0xa9, 0x6f, 0xb1, 0x12, 0x62, 0xc0, 0x1c, 0xcf, 0xd7, 0x3d, 0x21, 0x92, 0x22, 0x4f, + 0xd7, 0xcd, 0xe3, 0x27, 0x23, 0x50, 0xe6, 0x29, 0x78, 0x66, 0xee, 0x7b, 0x90, 0xb6, 0xac, 0x2a, + 0x8f, 0x03, 0xb1, 0x14, 0x48, 0x25, 0x96, 0x55, 0x65, 0x6f, 0x94, 0x9e, 0x77, 0x2c, 0x91, 0x51, + 0x64, 0xf2, 0x05, 0xc8, 0x49, 0xec, 0x33, 0x8f, 0xa0, 0x82, 0x63, 0x20, 0x79, 0xcd, 0xc8, 0x87, + 0x86, 0x84, 0x4d, 0x2a, 0xa0, 0x3e, 0x1c, 0x3f, 0x76, 0xf4, 0xc1, 0x00, 0xdd, 0xe9, 0x9e, 0x38, + 0x43, 0xc6, 0xb6, 0x65, 0x83, 0xd0, 0xc3, 0x68, 0x6b, 0xdf, 0x11, 0xa5, 0xb2, 0x0e, 0x26, 0x4a, + 0x49, 0x1a, 0xb0, 0x6a, 0x39, 0xa3, 0xf1, 0x80, 0xd9, 0x69, 0x94, 0xfa, 0x43, 0x2a, 0x84, 0xb0, + 0x78, 0x2b, 0x18, 0xa5, 0xd5, 0xa3, 0x85, 0xc2, 0x38, 0xe6, 0xa0, 0x3f, 0x8c, 0x08, 0x24, 0x71, + 0x62, 0xcd, 0x91, 0xa7, 0x9c, 0xde, 0xaa, 0x61, 0xd1, 0x06, 0x6f, 0x55, 0x21, 0xda, 0x04, 0x02, + 0xcd, 0xa7, 0x12, 0x62, 0x82, 0xe1, 0x83, 0x99, 0x14, 0x13, 0x2c, 0x14, 0x09, 0xec, 0xdd, 0x8c, + 0x14, 0x96, 0x92, 0xcf, 0xc5, 0xeb, 0x00, 0x0f, 0xfa, 0x6e, 0xaf, 0xea, 0x8c, 0x8e, 0xfa, 0x1d, + 0x29, 0x34, 0x59, 0xee, 0x97, 0xfb, 0x6e, 0xcf, 0x3e, 0x46, 0xf0, 0xcf, 0xde, 0xbf, 0x2c, 0x21, + 0x99, 0xd2, 0xff, 0xe4, 0x93, 0xb0, 0x40, 0x7f, 0x35, 0x03, 0x6b, 0x13, 0xa6, 0xaa, 0x44, 0x6a, + 0x96, 0xbc, 0x21, 0x40, 0x20, 0xf7, 0x31, 0x5d, 0x89, 0x3b, 0x18, 0x49, 0xcc, 0xab, 0xc8, 0x4d, + 0xe2, 0x0e, 0x46, 0xd1, 0x48, 0xc3, 0x12, 0x32, 0xd9, 0xf1, 0x9b, 0x2e, 0x32, 0x0c, 0xf1, 0xac, + 0x28, 0xa8, 0x8f, 0xe3, 0x6b, 0xcd, 0x16, 0x21, 0x4e, 0xe5, 0x5c, 0xb0, 0x11, 0x32, 0x6c, 0x84, + 0xb5, 0x53, 0x64, 0x0f, 0x28, 0x9c, 0xa9, 0x65, 0x8d, 0xf0, 0x8e, 0x3a, 0xf6, 0x3e, 0x82, 0x43, + 0x8d, 0xf0, 0x91, 0xc9, 0x16, 0xac, 0x30, 0x1e, 0xdf, 0xcf, 0x54, 0xc8, 0x59, 0x5c, 0x3c, 0xdb, + 0x82, 0x54, 0x86, 0xf2, 0xe7, 0x23, 0x04, 0xa4, 0x04, 0xb3, 0x28, 0x10, 0x72, 0x13, 0xf3, 0x4d, + 0x59, 0x7a, 0x8e, 0xee, 0x23, 0x3c, 0x57, 0x50, 0x6e, 0x96, 0xcf, 0x15, 0x44, 0x25, 0x5f, 0x01, + 0x30, 0x7a, 0xc3, 0x7e, 0xb7, 0x8b, 0x41, 0x78, 0xb3, 0x28, 0x4a, 0x5d, 0x0c, 0xef, 0x47, 0xac, + 0x25, 0x40, 0xe2, 0x01, 0xe3, 0xf0, 0xb7, 0x1d, 0x09, 0xd5, 0x2b, 0xd5, 0xa5, 0x95, 0x61, 0x8e, + 0x6d, 0x46, 0x0c, 0x68, 0xcd, 0x53, 0x74, 0x48, 0xe1, 0x90, 0x59, 0x40, 0x6b, 0x0e, 0x8f, 0x07, + 0xb4, 0x96, 0x08, 0xb4, 0x87, 0xb0, 0x96, 0xd4, 0xb1, 0x90, 0x08, 0xab, 0x9c, 0x54, 0x84, 0xfd, + 0xe3, 0x34, 0x2c, 0x62, 0x6d, 0xe2, 0x14, 0xd6, 0x61, 0xc9, 0x1a, 0x3f, 0xf6, 0xa3, 0x3d, 0x89, + 0xd3, 0x18, 0xdb, 0xe7, 0xc9, 0x05, 0xf2, 0xd3, 0x56, 0x88, 0x82, 0x18, 0xb0, 0x2c, 0x6e, 0x82, + 0x6d, 0x61, 0x81, 0xee, 0xc7, 0x92, 0x16, 0x11, 0x0b, 0xe3, 0x99, 0x5a, 0x23, 0x44, 0xc1, 0x7d, + 0x90, 0x3e, 0xcd, 0x7d, 0x90, 0x39, 0xd1, 0x7d, 0xf0, 0x16, 0x2c, 0x8a, 0xaf, 0xe1, 0x49, 0x3e, + 0xfb, 0x62, 0x27, 0x79, 0xa8, 0x32, 0x52, 0xf1, 0x4f, 0xf4, 0xb9, 0xa9, 0x27, 0x3a, 0xbe, 0x17, + 0x8a, 0x5d, 0x36, 0x40, 0x58, 0xfc, 0x60, 0xc7, 0x54, 0x86, 0xdb, 0x85, 0xc6, 0x87, 0xb8, 0x25, + 0x3f, 0x03, 0x0b, 0x95, 0xbe, 0x78, 0x2a, 0x92, 0x74, 0xf4, 0x5d, 0x01, 0x94, 0xd9, 0x05, 0x1f, + 0xd3, 0xbf, 0xdd, 0xd2, 0x1f, 0xc5, 0xed, 0x76, 0x1f, 0x80, 0xbb, 0x36, 0x04, 0x29, 0xc8, 0x70, + 0xcb, 0x88, 0x48, 0x17, 0xe1, 0xa7, 0x02, 0x09, 0x99, 0x9e, 0x4e, 0xdc, 0x0a, 0x45, 0xdf, 0xdf, + 0xef, 0x8f, 0x7b, 0xa3, 0x50, 0xce, 0x5e, 0xe1, 0x09, 0xd9, 0xe6, 0x65, 0xf2, 0xf1, 0x10, 0x21, + 0xfb, 0x68, 0x27, 0x84, 0x7c, 0xd9, 0x37, 0xa2, 0x9b, 0x9f, 0x36, 0x42, 0x5a, 0x6c, 0x84, 0x26, + 0x9a, 0xce, 0x69, 0x3f, 0x52, 0xe4, 0x40, 0xfe, 0x1f, 0x62, 0xaa, 0x3f, 0x07, 0xe0, 0xbf, 0xd5, + 0x8b, 0xb9, 0x66, 0xf2, 0x92, 0x0f, 0x95, 0x47, 0x39, 0xc0, 0x95, 0x7a, 0x93, 0xfe, 0xa8, 0x7a, + 0xd3, 0x84, 0x5c, 0xfd, 0x1b, 0xa3, 0x76, 0x60, 0xdc, 0x01, 0x96, 0xcf, 0xc9, 0xe2, 0xc9, 0x94, + 0xde, 0xba, 0x81, 0x77, 0x43, 0xc0, 0x07, 0x4f, 0x60, 0x81, 0x25, 0x42, 0xed, 0xbf, 0x14, 0x58, + 0x91, 0xdd, 0xb7, 0x9f, 0xf5, 0xf6, 0xc9, 0x17, 0x59, 0x5c, 0x51, 0x25, 0x24, 0xb2, 0x48, 0x48, + 0xf4, 0xc8, 0x7d, 0xd6, 0xdb, 0x67, 0x0c, 0x50, 0xfb, 0xa9, 0xdc, 0x58, 0x4a, 0x18, 0xdc, 0x1b, + 0xa9, 0x90, 0xc5, 0x90, 0x5c, 0x03, 0x2d, 0xc6, 0x3a, 0xa6, 0xdd, 0x1b, 0x8f, 0x61, 0xb1, 0xd1, + 0xef, 0x76, 0x29, 0x7b, 0x34, 0x7c, 0xd2, 0x16, 0xb6, 0xd3, 0xe7, 0x63, 0x2f, 0x0f, 0xa2, 0x63, + 0x5b, 0xd7, 0xb8, 0xbc, 0x7c, 0x6e, 0x40, 0xef, 0x0d, 0x97, 0xd3, 0x05, 0x15, 0xbf, 0x83, 0x7e, + 0x5b, 0x72, 0x9d, 0xda, 0x4f, 0x14, 0x20, 0xf1, 0xae, 0xc9, 0x47, 0x9f, 0xf2, 0xbf, 0xc0, 0x0a, + 0x47, 0x58, 0xc8, 0xcc, 0x69, 0x58, 0x48, 0xed, 0x7b, 0x29, 0x58, 0x4b, 0x1a, 0xeb, 0xd3, 0x77, + 0xca, 0x80, 0x65, 0xf9, 0x0e, 0xf2, 0x59, 0x37, 0xbc, 0x72, 0xe4, 0x6b, 0x2b, 0x7c, 0x0f, 0x46, + 0x88, 0xc8, 0xeb, 0x90, 0x6b, 0x1d, 0xbb, 0xbe, 0x41, 0x60, 0x3a, 0xb8, 0x9a, 0xc7, 0xc7, 0xae, + 0x9d, 0x74, 0x93, 0xca, 0xf8, 0x2f, 0x34, 0x18, 0xf9, 0xdf, 0x51, 0x60, 0xa5, 0xac, 0x57, 0x79, + 0xbe, 0x04, 0xf6, 0x5a, 0x74, 0x15, 0x2e, 0x96, 0xf5, 0xaa, 0xdd, 0xa8, 0x57, 0xca, 0x85, 0x47, + 0x76, 0x62, 0x18, 0xe4, 0x8b, 0x70, 0x3e, 0x8e, 0x12, 0xbc, 0x2a, 0x5d, 0x80, 0xf5, 0x78, 0xb1, + 0x08, 0x95, 0x9c, 0x4c, 0x2c, 0xa2, 0x2a, 0xa7, 0xf3, 0x6f, 0xc0, 0x8a, 0x08, 0x0b, 0xdc, 0xac, + 0x58, 0x98, 0x78, 0x60, 0x05, 0x72, 0xbb, 0x86, 0x59, 0x2e, 0x3d, 0xb2, 0x4b, 0xad, 0x4a, 0x45, + 0x9d, 0x21, 0x4b, 0xb0, 0xc0, 0x01, 0x05, 0x5d, 0x55, 0xc8, 0x22, 0x64, 0xcb, 0x35, 0xcb, 0x28, + 0xb4, 0x4c, 0x43, 0x4d, 0xe5, 0xdf, 0x80, 0xe5, 0xc6, 0xd0, 0x7d, 0xd2, 0x1e, 0x39, 0x0f, 0x9d, + 0x67, 0xf8, 0x28, 0x34, 0x0f, 0x69, 0x53, 0xdf, 0x53, 0x67, 0x08, 0xc0, 0x5c, 0xe3, 0x61, 0xc1, + 0xba, 0x7b, 0x57, 0x55, 0x48, 0x0e, 0xe6, 0xb7, 0x0b, 0x0d, 0xfb, 0x61, 0xd5, 0x52, 0x53, 0xf4, + 0x87, 0xbe, 0x67, 0xe1, 0x8f, 0x74, 0xfe, 0xd3, 0xb0, 0x8a, 0x5c, 0x5e, 0xc5, 0xf5, 0x46, 0x4e, + 0xcf, 0x19, 0x62, 0x1b, 0x16, 0x21, 0x6b, 0x39, 0xf4, 0x78, 0x1e, 0x39, 0xac, 0x01, 0xd5, 0x71, + 0x77, 0xe4, 0x0e, 0xba, 0xce, 0xb7, 0x54, 0x25, 0x7f, 0x1f, 0x56, 0xcc, 0xfe, 0x78, 0xe4, 0xf6, + 0x0e, 0xad, 0x11, 0xc5, 0x38, 0x7c, 0x46, 0x5e, 0x82, 0xd5, 0x56, 0x4d, 0xaf, 0x6e, 0x95, 0xb7, + 0x5b, 0xf5, 0x96, 0x65, 0x57, 0xf5, 0x66, 0x61, 0x87, 0x3d, 0x49, 0x55, 0xeb, 0x56, 0xd3, 0x36, + 0x8d, 0x82, 0x51, 0x6b, 0xaa, 0x4a, 0xfe, 0xfb, 0xa8, 0xb0, 0xda, 0xef, 0xf7, 0x3a, 0xa5, 0xf6, + 0xfe, 0xa8, 0x3f, 0xc4, 0x06, 0x6b, 0x70, 0xc9, 0x32, 0x0a, 0xf5, 0x5a, 0xd1, 0x2e, 0xe9, 0x85, + 0x66, 0xdd, 0x4c, 0x8a, 0xc3, 0xbd, 0x01, 0x67, 0x13, 0x70, 0xea, 0xcd, 0x86, 0xaa, 0x90, 0xcb, + 0xb0, 0x99, 0x50, 0xb6, 0x67, 0x6c, 0xe9, 0xad, 0xe6, 0x4e, 0x4d, 0x4d, 0x4d, 0x20, 0xb6, 0xac, + 0xba, 0x9a, 0xce, 0xff, 0x86, 0x02, 0xcb, 0x2d, 0x8f, 0xdb, 0x83, 0xb7, 0xd0, 0x15, 0xf4, 0x0a, + 0x5c, 0x68, 0x59, 0x86, 0x69, 0x37, 0xeb, 0x0f, 0x8d, 0x9a, 0xdd, 0xb2, 0xf4, 0xed, 0x68, 0x6b, + 0x2e, 0xc3, 0xa6, 0x84, 0x61, 0x1a, 0x85, 0xfa, 0xae, 0x61, 0xda, 0x0d, 0xdd, 0xb2, 0xf6, 0xea, + 0x66, 0x51, 0x55, 0xe8, 0x17, 0x13, 0x10, 0xaa, 0x25, 0x9d, 0xb5, 0x26, 0x54, 0x56, 0x33, 0xf6, + 0xf4, 0x8a, 0xbd, 0x55, 0x6f, 0xaa, 0xe9, 0x7c, 0x95, 0x32, 0x4d, 0x18, 0x0d, 0x97, 0x59, 0x31, + 0x66, 0x21, 0x53, 0xab, 0xd7, 0x8c, 0xe8, 0x43, 0xe6, 0x22, 0x64, 0xf5, 0x46, 0xc3, 0xac, 0xef, + 0xe2, 0x12, 0x03, 0x98, 0x2b, 0x1a, 0x35, 0xda, 0xb2, 0x34, 0x2d, 0x69, 0x98, 0xf5, 0x6a, 0xbd, + 0x69, 0x14, 0xd5, 0x4c, 0xde, 0x14, 0xe7, 0x99, 0xa8, 0x74, 0xbf, 0xcf, 0x5e, 0x0d, 0x8b, 0x46, + 0x49, 0x6f, 0x55, 0x9a, 0x7c, 0x8a, 0x1e, 0xd9, 0xa6, 0xf1, 0xe5, 0x96, 0x61, 0x35, 0x2d, 0x55, + 0x21, 0x2a, 0x2c, 0xd6, 0x0c, 0xa3, 0x68, 0xd9, 0xa6, 0xb1, 0x5b, 0x36, 0xf6, 0xd4, 0x14, 0xad, + 0x93, 0xfd, 0x4f, 0xbf, 0x90, 0x7f, 0x57, 0x01, 0xc2, 0x22, 0x09, 0x8b, 0xf4, 0x34, 0xb8, 0x62, + 0x2e, 0xc1, 0xc6, 0x0e, 0x9d, 0x6a, 0xec, 0x5a, 0xb5, 0x5e, 0x8c, 0x0e, 0xd9, 0x59, 0x20, 0x91, + 0xf2, 0x7a, 0xa9, 0xa4, 0x2a, 0x64, 0x13, 0xce, 0x44, 0xe0, 0x45, 0xb3, 0xde, 0x50, 0x53, 0x1b, + 0xa9, 0xac, 0x42, 0xce, 0xc5, 0x0a, 0x1f, 0x1a, 0x46, 0x43, 0x4d, 0xd3, 0x29, 0x8a, 0x14, 0x88, + 0x2d, 0xc1, 0xc8, 0x33, 0xf9, 0xef, 0x28, 0x70, 0x96, 0x35, 0x53, 0xec, 0x2f, 0xbf, 0xa9, 0x17, + 0x60, 0x9d, 0xc7, 0x47, 0x4f, 0x6a, 0xe8, 0x1a, 0xa8, 0xa1, 0x52, 0xd6, 0xcc, 0x97, 0x60, 0x35, + 0x04, 0xc5, 0x76, 0xa4, 0xe8, 0xe9, 0x11, 0x02, 0x6f, 0x19, 0x56, 0xd3, 0x36, 0x4a, 0xa5, 0xba, + 0xd9, 0x64, 0x0d, 0x49, 0xe7, 0x35, 0x58, 0x2d, 0x38, 0xc3, 0x11, 0x95, 0x67, 0x7b, 0x9e, 0xdb, + 0xef, 0x61, 0x13, 0x96, 0x60, 0xc1, 0xf8, 0x4a, 0xd3, 0xa8, 0x59, 0xe5, 0x7a, 0x4d, 0x9d, 0xc9, + 0x5f, 0x88, 0xe0, 0x88, 0x7d, 0x6c, 0x59, 0x3b, 0xea, 0x4c, 0xbe, 0x0d, 0x4b, 0xc2, 0xf2, 0x9a, + 0xad, 0x8a, 0x4b, 0xb0, 0x21, 0xd6, 0x1a, 0x9e, 0x28, 0xd1, 0x2e, 0xac, 0xc3, 0x5a, 0xbc, 0xdc, + 0x68, 0xaa, 0x0a, 0x9d, 0x85, 0x48, 0x09, 0x85, 0xa7, 0xf2, 0xbf, 0xae, 0xc0, 0x92, 0xff, 0x12, + 0x85, 0xba, 0xef, 0xcb, 0xb0, 0x59, 0x2d, 0xe9, 0x76, 0xd1, 0xd8, 0x2d, 0x17, 0x0c, 0xfb, 0x61, + 0xb9, 0x56, 0x8c, 0x7c, 0xe4, 0x3c, 0xbc, 0x94, 0x80, 0x80, 0x5f, 0x59, 0x87, 0xb5, 0x68, 0x51, + 0x93, 0x6e, 0xd5, 0x14, 0x1d, 0xfa, 0x68, 0x89, 0xbf, 0x4f, 0xd3, 0xf9, 0x3f, 0x52, 0x60, 0x9d, + 0xe7, 0xff, 0xe7, 0x6f, 0x62, 0x2c, 0x31, 0x0c, 0x46, 0x4e, 0xce, 0xc3, 0xcd, 0xa6, 0xd9, 0xb2, + 0x9a, 0x46, 0x51, 0x90, 0xd3, 0x45, 0x5b, 0x36, 0x8d, 0xaa, 0x51, 0x6b, 0x46, 0xda, 0x76, 0x07, + 0x3e, 0x31, 0x05, 0xb7, 0x56, 0x6f, 0x8a, 0xdf, 0x74, 0xaf, 0x7e, 0x02, 0xae, 0x4d, 0x41, 0xf6, + 0x11, 0x53, 0xf9, 0x5d, 0x58, 0xb6, 0xf4, 0x6a, 0xa5, 0xd4, 0x1f, 0xee, 0x3b, 0xfa, 0x78, 0x74, + 0xd4, 0x23, 0x9b, 0x70, 0xae, 0x54, 0x37, 0x0b, 0x86, 0x8d, 0x3d, 0x88, 0x34, 0xe2, 0x0c, 0xac, + 0xc8, 0x85, 0x8f, 0x0c, 0xba, 0xbb, 0x08, 0x2c, 0xcb, 0xc0, 0x5a, 0x5d, 0x4d, 0xe5, 0xbf, 0x0a, + 0x8b, 0xa1, 0x24, 0x7a, 0xe7, 0xe0, 0x8c, 0xfc, 0xbb, 0xe1, 0xf4, 0x3a, 0x6e, 0xef, 0x50, 0x9d, + 0x89, 0x16, 0x98, 0xe3, 0x5e, 0x8f, 0x16, 0xe0, 0x71, 0x23, 0x17, 0x34, 0x9d, 0xe1, 0xb1, 0xdb, + 0x6b, 0x8f, 0x9c, 0x8e, 0x9a, 0xca, 0xbf, 0x02, 0x4b, 0xa1, 0xd0, 0xdd, 0x74, 0x5d, 0x55, 0xea, + 0xfc, 0x7e, 0xa8, 0x1a, 0xc5, 0x72, 0xab, 0xaa, 0xce, 0xd2, 0x83, 0x66, 0xa7, 0xbc, 0xbd, 0xa3, + 0x42, 0xfe, 0x07, 0x0a, 0x95, 0x2d, 0x71, 0xdc, 0xab, 0x25, 0x5d, 0xac, 0x44, 0xba, 0x0b, 0x58, + 0x42, 0x00, 0xc3, 0xb2, 0x98, 0x79, 0xc1, 0x05, 0x58, 0xe7, 0x3f, 0x6c, 0xbd, 0x56, 0xb4, 0x77, + 0x74, 0xb3, 0xb8, 0xa7, 0x9b, 0x74, 0x6b, 0x3c, 0x52, 0x53, 0xb8, 0xdf, 0x25, 0x88, 0xdd, 0xac, + 0xb7, 0x0a, 0x3b, 0x6a, 0x9a, 0x6e, 0xaf, 0x10, 0xbc, 0x51, 0xae, 0xa9, 0x19, 0x3c, 0x3d, 0x62, + 0xd8, 0x58, 0x2d, 0x2d, 0x9f, 0xcd, 0x7f, 0xa0, 0xc0, 0x39, 0xcb, 0x3d, 0xec, 0xb5, 0x47, 0xe3, + 0xa1, 0xa3, 0x77, 0x0f, 0xfb, 0x43, 0x77, 0x74, 0x74, 0x6c, 0x8d, 0xdd, 0x91, 0x43, 0x6e, 0xc3, + 0x0d, 0xab, 0xbc, 0x5d, 0xd3, 0x9b, 0x74, 0xf7, 0xeb, 0x95, 0xed, 0xba, 0x59, 0x6e, 0xee, 0x54, + 0x6d, 0xab, 0x55, 0x8e, 0x6d, 0x8c, 0xeb, 0x70, 0x65, 0x32, 0x6a, 0xc5, 0xd8, 0xd6, 0x0b, 0x8f, + 0x54, 0x65, 0x7a, 0x85, 0x5b, 0x7a, 0x45, 0xaf, 0x15, 0x8c, 0xa2, 0xbd, 0x7b, 0x57, 0x4d, 0x91, + 0x1b, 0x70, 0x75, 0x32, 0x6a, 0xa9, 0xdc, 0xb0, 0x28, 0x5a, 0x7a, 0xfa, 0x77, 0x77, 0xac, 0x2a, + 0xc5, 0xca, 0xe4, 0xff, 0x50, 0x81, 0xf5, 0x49, 0xf1, 0x9b, 0xc8, 0x4d, 0xd0, 0x8c, 0x5a, 0xd3, + 0xd4, 0xcb, 0x45, 0xbb, 0x60, 0x1a, 0x45, 0xa3, 0xd6, 0x2c, 0xeb, 0x15, 0xcb, 0xb6, 0xea, 0x2d, + 0xba, 0x9a, 0x02, 0x2b, 0x90, 0x6b, 0x70, 0x79, 0x0a, 0x5e, 0xbd, 0x5c, 0x2c, 0xa8, 0x0a, 0xb9, + 0x0b, 0x2f, 0x4f, 0x41, 0xb2, 0x1e, 0x59, 0x4d, 0xa3, 0x2a, 0x97, 0xa8, 0xa9, 0x7c, 0x01, 0x36, + 0x26, 0x07, 0x78, 0xa1, 0xb7, 0x48, 0x78, 0xa4, 0xb3, 0x90, 0x29, 0xd2, 0x8b, 0x2b, 0x94, 0x37, + 0x22, 0xef, 0x82, 0x1a, 0x8d, 0xd1, 0x10, 0x33, 0xd7, 0x31, 0x5b, 0xb5, 0x1a, 0xbb, 0xe5, 0x56, + 0x20, 0x57, 0x6f, 0xee, 0x18, 0x26, 0xcf, 0xbc, 0x81, 0xa9, 0x36, 0x5a, 0x35, 0xba, 0x71, 0xea, + 0x66, 0xf9, 0x4d, 0xbc, 0xee, 0xd6, 0x61, 0xcd, 0xaa, 0xe8, 0x85, 0x87, 0xb8, 0xa7, 0xcb, 0x35, + 0xbb, 0xb0, 0xa3, 0xd7, 0x6a, 0x46, 0x45, 0x05, 0x1c, 0xcc, 0x49, 0x7e, 0x99, 0xe4, 0x93, 0x70, + 0xab, 0xfe, 0xb0, 0xa9, 0xdb, 0x8d, 0x4a, 0x6b, 0xbb, 0x5c, 0xb3, 0xad, 0x47, 0xb5, 0x82, 0x60, + 0xcd, 0x0a, 0xf1, 0x1b, 0xe1, 0x16, 0x5c, 0x9f, 0x8a, 0x1d, 0xe4, 0xc8, 0xb8, 0x09, 0xda, 0x54, + 0x4c, 0xde, 0x91, 0xfc, 0x8f, 0x15, 0xd8, 0x9c, 0x62, 0x37, 0x40, 0x5e, 0x86, 0xdb, 0x3b, 0x86, + 0x5e, 0xac, 0x18, 0x96, 0x85, 0x07, 0x05, 0x9d, 0x06, 0x66, 0xd6, 0x93, 0x78, 0xde, 0xdf, 0x86, + 0x1b, 0xd3, 0xd1, 0x03, 0xce, 0xe1, 0x16, 0x5c, 0x9f, 0x8e, 0xca, 0x39, 0x89, 0x14, 0x3d, 0x6f, + 0xa7, 0x63, 0xfa, 0x1c, 0x48, 0x3a, 0xff, 0x5b, 0x0a, 0x9c, 0x4d, 0x56, 0xde, 0xd1, 0xb6, 0x95, + 0x6b, 0x56, 0x53, 0xaf, 0x54, 0xec, 0x86, 0x6e, 0xea, 0x55, 0xdb, 0xa8, 0x99, 0xf5, 0x4a, 0x25, + 0xe9, 0xe6, 0xbd, 0x0e, 0x57, 0x26, 0xa3, 0x5a, 0x05, 0xb3, 0xdc, 0xa0, 0x97, 0x8b, 0x06, 0x97, + 0x26, 0x63, 0x19, 0xe5, 0x82, 0xa1, 0xa6, 0xb6, 0x5e, 0x7f, 0xef, 0x9f, 0x2e, 0xcd, 0xbc, 0xf7, + 0xc1, 0x25, 0xe5, 0x27, 0x1f, 0x5c, 0x52, 0xfe, 0xf1, 0x83, 0x4b, 0xca, 0x9b, 0x77, 0x4e, 0x96, + 0x5e, 0x0a, 0x65, 0xb4, 0xc7, 0x73, 0x28, 0x4d, 0xbe, 0xfa, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, + 0xbb, 0xf6, 0x9e, 0x03, 0x32, 0xb2, 0x01, 0x00, } func (this *PluginSpecV1) Equal(that interface{}) bool { @@ -24096,6 +24105,9 @@ func (this *PluginEntraIDSyncSettings) Equal(that interface{}) bool { if this.TenantId != that1.TenantId { return false } + if this.EntraAppId != that1.EntraAppId { + return false + } if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { return false } @@ -44437,6 +44449,13 @@ func (m *PluginEntraIDSyncSettings) MarshalToSizedBuffer(dAtA []byte) (int, erro i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + if len(m.EntraAppId) > 0 { + i -= len(m.EntraAppId) + copy(dAtA[i:], m.EntraAppId) + i = encodeVarintTypes(dAtA, i, uint64(len(m.EntraAppId))) + i-- + dAtA[i] = 0x2a + } if len(m.TenantId) > 0 { i -= len(m.TenantId) copy(dAtA[i:], m.TenantId) @@ -48823,6 +48842,14 @@ func (m *AccessGraphSync) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + n415, err415 := github_com_gogo_protobuf_types.StdDurationMarshalTo(m.PollInterval, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(m.PollInterval):]) + if err415 != nil { + return 0, err415 + } + i -= n415 + i = encodeVarintTypes(dAtA, i, uint64(n415)) + i-- + dAtA[i] = 0x1a if len(m.Azure) > 0 { for iNdEx := len(m.Azure) - 1; iNdEx >= 0; iNdEx-- { { @@ -57949,6 +57976,10 @@ func (m *PluginEntraIDSyncSettings) Size() (n int) { if l > 0 { n += 1 + l + sovTypes(uint64(l)) } + l = len(m.EntraAppId) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) + } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -59969,6 +60000,8 @@ func (m *AccessGraphSync) Size() (n int) { n += 1 + l + sovTypes(uint64(l)) } } + l = github_com_gogo_protobuf_types.SizeOfStdDuration(m.PollInterval) + n += 1 + l + sovTypes(uint64(l)) if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -118501,6 +118534,38 @@ func (m *PluginEntraIDSyncSettings) Unmarshal(dAtA []byte) error { } m.TenantId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EntraAppId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EntraAppId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) @@ -130181,6 +130246,39 @@ func (m *AccessGraphSync) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PollInterval", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(&m.PollInterval, dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) From 61e626b7a0e12de26ba6b96d19a92751a6c2b41c Mon Sep 17 00:00:00 2001 From: Matt Brock Date: Wed, 13 Nov 2024 14:36:51 -0600 Subject: [PATCH 12/21] Removing azure config field and keeping poll_interval as-is --- api/proto/teleport/legacy/types/types.proto | 4 +- api/types/types.pb.go | 793 +++++++++----------- 2 files changed, 369 insertions(+), 428 deletions(-) diff --git a/api/proto/teleport/legacy/types/types.proto b/api/proto/teleport/legacy/types/types.proto index 95c14e58d27ab..651805d44aa7c 100644 --- a/api/proto/teleport/legacy/types/types.proto +++ b/api/proto/teleport/legacy/types/types.proto @@ -7795,10 +7795,8 @@ message OktaOptions { message AccessGraphSync { // AWS is a configuration for AWS Access Graph service poll service. repeated AccessGraphAWSSync AWS = 1 [(gogoproto.jsontag) = "aws,omitempty"]; - // Azure is a configuration for the Azure Access Graph service poll service. - repeated AccessGraphAzureSync Azure = 2 [(gogoproto.jsontag) = "azure,omitempty"]; // PollInterval is the frequency at which to poll for AWS resources - google.protobuf.Duration PollInterval = 3 [ + google.protobuf.Duration PollInterval = 2 [ (gogoproto.jsontag) = "poll_interval,omitempty", (gogoproto.nullable) = false, (gogoproto.stdduration) = true diff --git a/api/types/types.pb.go b/api/types/types.pb.go index 0ca727cc6b762..2f38b37ce1c79 100644 --- a/api/types/types.pb.go +++ b/api/types/types.pb.go @@ -20697,10 +20697,8 @@ var xxx_messageInfo_OktaOptions proto.InternalMessageInfo type AccessGraphSync struct { // AWS is a configuration for AWS Access Graph service poll service. AWS []*AccessGraphAWSSync `protobuf:"bytes,1,rep,name=AWS,proto3" json:"aws,omitempty"` - // Azure is a configuration for the Azure Access Graph service poll service. - Azure []*AccessGraphAzureSync `protobuf:"bytes,2,rep,name=Azure,proto3" json:"azure,omitempty"` // PollInterval is the frequency at which to poll for AWS resources - PollInterval time.Duration `protobuf:"bytes,3,opt,name=PollInterval,proto3,stdduration" json:"poll_interval,omitempty"` + PollInterval time.Duration `protobuf:"bytes,2,opt,name=PollInterval,proto3,stdduration" json:"poll_interval,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -21259,7 +21257,7 @@ func init() { func init() { proto.RegisterFile("teleport/legacy/types/types.proto", fileDescriptor_9198ee693835762e) } var fileDescriptor_9198ee693835762e = []byte{ - // 29512 bytes of a gzipped FileDescriptorProto + // 29497 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xfd, 0x6b, 0x70, 0x1c, 0x59, 0x76, 0x20, 0x06, 0x77, 0x55, 0xe1, 0x51, 0x38, 0x78, 0x15, 0x2e, 0x40, 0x12, 0x44, 0x37, 0xbb, 0xd8, 0xd9, 0xdd, 0x6c, 0x76, 0x4f, 0x37, 0x39, 0x04, 0xa7, 0x39, 0xd3, 0xd3, 0xaf, 0x29, 0x3c, @@ -22739,372 +22737,371 @@ var fileDescriptor_9198ee693835762e = []byte{ 0xce, 0xea, 0x91, 0x2a, 0xf5, 0xd1, 0x9a, 0x6e, 0x84, 0x3e, 0xef, 0xb7, 0xe3, 0xcf, 0x4b, 0x09, 0x77, 0x6c, 0x35, 0xbd, 0xae, 0xb3, 0xee, 0x27, 0x8a, 0xa8, 0xff, 0xd2, 0xfe, 0x22, 0x9c, 0xa2, 0xc9, 0xb7, 0x13, 0xb8, 0x9d, 0xdd, 0x84, 0x9d, 0x6c, 0xe8, 0x2b, 0x59, 0xec, 0xe4, 0xac, 0xbc, - 0xf1, 0xff, 0xb1, 0xf7, 0x75, 0xb1, 0x6d, 0x64, 0xd7, 0xc1, 0x1a, 0x92, 0x92, 0xa8, 0x43, 0xfd, - 0x8c, 0xae, 0xb5, 0xb6, 0x2c, 0xf9, 0x77, 0xfc, 0x13, 0x9b, 0xce, 0x6e, 0x62, 0xef, 0x97, 0x6c, - 0x9c, 0x7c, 0x9b, 0xcd, 0x88, 0x1c, 0x4a, 0xb4, 0xf9, 0x97, 0x19, 0x52, 0x8a, 0x77, 0x93, 0x4c, - 0x69, 0x71, 0x24, 0x4d, 0x43, 0x91, 0x0c, 0x87, 0xb4, 0xe3, 0x45, 0x81, 0x36, 0x28, 0x90, 0x00, - 0xe9, 0x4f, 0xda, 0xb4, 0x40, 0x17, 0x45, 0x81, 0x3e, 0x74, 0x51, 0xf4, 0xa1, 0xef, 0x2d, 0xda, - 0xbe, 0xe4, 0x6d, 0x81, 0x20, 0x40, 0x80, 0xf6, 0xa9, 0x05, 0x16, 0xed, 0x02, 0xed, 0x43, 0xdb, - 0xb7, 0xa2, 0x79, 0x08, 0x50, 0xa0, 0xb8, 0xe7, 0xde, 0x3b, 0x73, 0xe7, 0x87, 0xb4, 0xb4, 0xde, - 0x6d, 0x1b, 0x20, 0x4f, 0x12, 0xcf, 0x3d, 0xe7, 0xce, 0xfd, 0xbf, 0xe7, 0x9c, 0x7b, 0x7e, 0x28, - 0xbe, 0x5f, 0xeb, 0x99, 0x76, 0x1c, 0xc8, 0xfb, 0xf0, 0xed, 0x94, 0xd8, 0xea, 0x09, 0xcd, 0x49, - 0x58, 0xd6, 0x4a, 0xd2, 0xb2, 0x3e, 0xf9, 0x9e, 0xaa, 0x01, 0x91, 0x0f, 0x2b, 0xa6, 0xf5, 0xe4, - 0x06, 0x55, 0x82, 0x4f, 0xe7, 0x0d, 0x91, 0x8e, 0x06, 0x8b, 0x25, 0xd3, 0x5c, 0xdd, 0x8f, 0x82, - 0xc8, 0x26, 0x2c, 0xf8, 0xf9, 0xaa, 0xf9, 0xc5, 0x91, 0x65, 0x80, 0x72, 0x87, 0x5c, 0x81, 0x45, - 0xc6, 0x92, 0x87, 0xf6, 0x1c, 0x20, 0x4c, 0xa7, 0x1b, 0x4f, 0x8c, 0x81, 0x02, 0x57, 0x9e, 0x37, - 0x86, 0x64, 0x0f, 0xce, 0xa2, 0x59, 0x87, 0xd7, 0xf7, 0xa7, 0xc1, 0xde, 0x6f, 0xef, 0x1f, 0x39, - 0x7c, 0xd5, 0x6a, 0x89, 0x93, 0x31, 0x18, 0x58, 0x56, 0x5d, 0x9a, 0x87, 0xc1, 0xc0, 0xf2, 0xfa, - 0xe2, 0x77, 0x81, 0x92, 0xf3, 0x36, 0x74, 0x60, 0x73, 0x0a, 0xa5, 0x74, 0x70, 0x28, 0xf2, 0xc1, - 0x71, 0x0b, 0xd4, 0x03, 0xa7, 0x43, 0x79, 0x62, 0xa7, 0x83, 0x4d, 0x7b, 0x72, 0x8f, 0x65, 0x68, - 0x37, 0x97, 0x7d, 0xb8, 0xe5, 0xf5, 0x77, 0xef, 0xf1, 0xaf, 0x1c, 0x8b, 0x2b, 0x4f, 0x16, 0x2b, - 0xc8, 0x2b, 0x70, 0x26, 0x12, 0x70, 0x24, 0xf0, 0x60, 0x37, 0x57, 0x69, 0x51, 0x38, 0x3c, 0xd5, - 0x55, 0x58, 0x14, 0xab, 0x62, 0xe8, 0xfb, 0xc1, 0x99, 0x39, 0x0e, 0xa3, 0xbb, 0x8e, 0x7f, 0x6e, - 0x2c, 0x3a, 0x95, 0x28, 0x91, 0x9c, 0x80, 0x97, 0x26, 0x2f, 0x03, 0xf1, 0xf9, 0x76, 0xff, 0xa0, - 0xe0, 0x1f, 0x5c, 0x15, 0x25, 0xfe, 0x0e, 0xe7, 0x9f, 0xfd, 0x9b, 0x14, 0x9c, 0x49, 0x10, 0x65, - 0xa8, 0x10, 0xe0, 0xf6, 0x46, 0xce, 0x21, 0x13, 0x21, 0xe4, 0x4e, 0xae, 0x48, 0x70, 0xae, 0x9f, - 0x9a, 0x63, 0x19, 0xc8, 0xf9, 0xb7, 0xf8, 0x2f, 0x7a, 0x78, 0xb4, 0x87, 0x42, 0xf5, 0x42, 0xff, - 0x25, 0x65, 0x58, 0xc5, 0xb4, 0x0a, 0x9e, 0xdb, 0xc7, 0xec, 0x0c, 0xc8, 0x84, 0x64, 0x42, 0xc2, - 0x0e, 0xb6, 0xa2, 0x21, 0x21, 0x51, 0x2e, 0xc4, 0x54, 0x07, 0x11, 0x08, 0xf9, 0x02, 0x6c, 0x48, - 0x77, 0x8d, 0x1d, 0xd9, 0x79, 0x68, 0xe9, 0x6e, 0x9e, 0x6b, 0xfb, 0xb7, 0x4e, 0x31, 0xb4, 0x07, - 0xb7, 0xe0, 0x12, 0x4e, 0xa2, 0xdb, 0x19, 0xd8, 0xb1, 0x3c, 0x1c, 0xd8, 0x55, 0x16, 0xb8, 0x7e, - 0x83, 0x62, 0x95, 0x3b, 0x83, 0x48, 0x4a, 0x0e, 0xda, 0x6b, 0x3e, 0x7c, 0x6f, 0xc1, 0x4b, 0x89, - 0x2d, 0xa6, 0x17, 0x0c, 0x1a, 0x52, 0x05, 0xbc, 0xd1, 0x3c, 0xfd, 0x4d, 0x99, 0xa3, 0xab, 0xb0, - 0xf8, 0xd8, 0x69, 0x0f, 0x9d, 0x21, 0xbf, 0xb9, 0xf9, 0x92, 0x60, 0x30, 0xf9, 0xe2, 0xee, 0x84, - 0xa7, 0x86, 0xeb, 0x8c, 0x48, 0x15, 0xce, 0xb0, 0x1b, 0xd0, 0x3d, 0x46, 0x66, 0x90, 0xeb, 0x99, - 0x94, 0x10, 0x3b, 0x84, 0x24, 0x78, 0x35, 0x95, 0x11, 0x8b, 0x51, 0x9b, 0xab, 0x87, 0x51, 0x10, - 0xdd, 0xd1, 0x67, 0x93, 0xb1, 0xc9, 0x16, 0xe4, 0x58, 0xe5, 0x4c, 0x2c, 0x60, 0x0f, 0x04, 0x57, - 0xa7, 0x7e, 0xa1, 0x80, 0xf6, 0xc5, 0x9e, 0xff, 0x3f, 0xbd, 0xaf, 0xf1, 0x2d, 0xd6, 0x3e, 0x96, - 0xdf, 0x3f, 0xcc, 0x45, 0x04, 0xf2, 0x77, 0x0f, 0xed, 0x6f, 0x15, 0xd1, 0xd5, 0x90, 0x70, 0x4c, - 0x97, 0x96, 0xe7, 0xf4, 0xc4, 0x1b, 0xd0, 0x82, 0xc9, 0x7f, 0x9d, 0x72, 0xa9, 0x93, 0xd7, 0x60, - 0x91, 0x56, 0x7b, 0x38, 0xee, 0xb1, 0x25, 0x97, 0x0e, 0x05, 0xda, 0xa9, 0xb2, 0x22, 0x3a, 0x6d, - 0x3b, 0x33, 0x66, 0xee, 0x38, 0xf8, 0x49, 0xb9, 0x65, 0xef, 0x78, 0x34, 0x90, 0x17, 0xaa, 0x50, - 0x14, 0x5a, 0xd5, 0x66, 0x83, 0x93, 0x64, 0x29, 0x4e, 0xc0, 0x2d, 0x6f, 0xcd, 0x31, 0x55, 0xa1, - 0x76, 0x07, 0x72, 0x52, 0xdd, 0xb4, 0x33, 0xcc, 0x73, 0x46, 0x74, 0x86, 0xfd, 0xe2, 0x93, 0xfd, - 0x18, 0xb2, 0xa2, 0x4a, 0x2a, 0x16, 0x1c, 0xf5, 0x3d, 0xb1, 0xc9, 0xf1, 0x7f, 0x0a, 0xa3, 0xa3, - 0x8c, 0x9d, 0x9c, 0x35, 0xf1, 0x7f, 0xbc, 0x4b, 0x46, 0x6d, 0x2a, 0x0f, 0x74, 0x3d, 0x7b, 0x80, - 0x16, 0x58, 0x3e, 0xf3, 0x4c, 0xe1, 0xcd, 0xae, 0xc7, 0xec, 0xb2, 0xf8, 0x37, 0xfe, 0xd2, 0xbf, - 0x84, 0x23, 0xda, 0x84, 0x49, 0x67, 0x66, 0xe8, 0xca, 0x48, 0xc5, 0xaf, 0x0c, 0x16, 0x40, 0x85, - 0x53, 0xb2, 0x2f, 0x03, 0xc2, 0xf0, 0xca, 0x90, 0x4e, 0x86, 0x4c, 0xe8, 0x64, 0x90, 0x64, 0xf2, - 0x60, 0xf6, 0xd8, 0x8d, 0x23, 0x64, 0xf2, 0xe8, 0x39, 0xf5, 0xa7, 0x29, 0xa1, 0x22, 0xd8, 0xea, - 0xf7, 0x47, 0xde, 0x68, 0xd8, 0x1e, 0x84, 0x54, 0xa1, 0xe4, 0x18, 0xce, 0x23, 0x07, 0x7d, 0x0f, - 0x53, 0x58, 0xf4, 0x87, 0x22, 0x66, 0x87, 0xbf, 0x72, 0x73, 0xf7, 0x3e, 0x15, 0xe6, 0xf1, 0x75, - 0x8a, 0xad, 0xcb, 0xc8, 0x74, 0xc1, 0x4a, 0xb5, 0xee, 0xcc, 0x98, 0xe7, 0x58, 0x9d, 0x31, 0x2c, - 0xb2, 0x93, 0xb0, 0x89, 0xa3, 0xba, 0xd0, 0xad, 0x60, 0x47, 0x87, 0x6b, 0x95, 0xf7, 0x3a, 0xf9, - 0x22, 0x2c, 0xb8, 0x1d, 0x39, 0x53, 0x63, 0x54, 0x0b, 0x57, 0xee, 0xb0, 0x68, 0xd1, 0x41, 0x1d, - 0x74, 0xcd, 0xb9, 0x1c, 0xba, 0xb5, 0x14, 0x52, 0x1a, 0x6b, 0x5b, 0x42, 0x1a, 0x8d, 0x93, 0x91, - 0x65, 0x48, 0xf9, 0x33, 0x9c, 0x72, 0x3b, 0x6c, 0x7b, 0x05, 0xf1, 0xaa, 0x4d, 0xfe, 0x4b, 0xfb, - 0x15, 0xb8, 0x75, 0xd2, 0x31, 0xa2, 0x5b, 0x71, 0xc2, 0x80, 0x2f, 0x98, 0xab, 0xed, 0xd8, 0xb8, - 0x5d, 0x05, 0x39, 0xdc, 0xae, 0x2b, 0x0e, 0x3f, 0x01, 0x6b, 0x0d, 0x5d, 0xed, 0x2f, 0xd2, 0xb0, - 0x1c, 0x56, 0x93, 0x93, 0x3b, 0x90, 0x91, 0x4e, 0xa0, 0x73, 0x09, 0xba, 0x74, 0x3c, 0x77, 0x10, - 0xe9, 0x44, 0x27, 0x0e, 0x79, 0x00, 0xcb, 0x68, 0xb8, 0x87, 0xac, 0xe7, 0xc8, 0xe5, 0x8f, 0x2f, - 0xd3, 0xdf, 0xcf, 0xb2, 0xef, 0xbd, 0x7f, 0x79, 0x06, 0x9f, 0xca, 0x16, 0x29, 0x2d, 0xe5, 0xfe, - 0x68, 0xa1, 0xa4, 0x05, 0xcd, 0x4c, 0xd6, 0x82, 0xf2, 0xae, 0x4c, 0xd0, 0x82, 0xce, 0x4e, 0xd1, - 0x82, 0x06, 0x94, 0xb2, 0x16, 0x14, 0x75, 0xe1, 0xf3, 0x93, 0x74, 0xe1, 0x01, 0x0d, 0xd3, 0x85, - 0x07, 0x5a, 0xcc, 0xec, 0x44, 0x2d, 0x66, 0x40, 0xc3, 0xb5, 0x98, 0xd7, 0xf9, 0x18, 0x0d, 0xdb, - 0x4f, 0x6d, 0x1c, 0x3c, 0x7e, 0x2d, 0x62, 0xef, 0xcd, 0xf6, 0x53, 0x34, 0xae, 0xd9, 0x5a, 0x00, - 0x61, 0x91, 0xa3, 0xfd, 0x9e, 0x12, 0xd1, 0x04, 0x8a, 0xf9, 0xbb, 0x01, 0xcb, 0xec, 0xb2, 0x72, - 0x3a, 0x92, 0xac, 0xb9, 0x64, 0x2e, 0x09, 0x28, 0x93, 0x37, 0x3f, 0x01, 0x2b, 0x3e, 0x1a, 0x17, - 0xb9, 0xd0, 0x53, 0xcf, 0xf4, 0xa9, 0x79, 0xd8, 0x99, 0x3b, 0xb0, 0xea, 0x23, 0x72, 0x6d, 0x0e, - 0x13, 0x37, 0x97, 0x4c, 0x55, 0x14, 0x34, 0x38, 0x5c, 0x3b, 0x8c, 0x4a, 0x1e, 0x1f, 0x53, 0xab, - 0xb4, 0x1f, 0xa6, 0x43, 0x5a, 0x12, 0xf1, 0x19, 0x7a, 0x8b, 0x7a, 0x7d, 0x9b, 0x0f, 0x12, 0x3f, - 0x8b, 0xae, 0x4e, 0x98, 0x33, 0x6e, 0xd3, 0x64, 0x59, 0x75, 0x13, 0x3c, 0xaf, 0x2f, 0x4c, 0x9c, - 0x6c, 0xc6, 0x51, 0xb3, 0x7b, 0x1f, 0xd7, 0xac, 0xa8, 0x8e, 0x1d, 0x3c, 0xf9, 0xe9, 0xd5, 0x09, - 0x31, 0x95, 0x2e, 0x59, 0xe4, 0xac, 0xfd, 0x5f, 0xe2, 0x03, 0x2d, 0x40, 0xa5, 0xa2, 0x17, 0xae, - 0x3c, 0x9d, 0x20, 0x3b, 0xc5, 0x2a, 0xc7, 0x51, 0xc2, 0x9a, 0xd5, 0xb1, 0xf8, 0x57, 0x54, 0x6b, - 0xc0, 0x22, 0xea, 0x28, 0x44, 0x85, 0x99, 0x04, 0x15, 0x7c, 0xbc, 0xf3, 0x85, 0x72, 0xd5, 0xcc, - 0x51, 0x3a, 0x51, 0xcd, 0x11, 0x9c, 0x97, 0x35, 0x0b, 0xe1, 0x46, 0xce, 0x8a, 0x28, 0xba, 0x53, - 0x47, 0x20, 0x50, 0x40, 0x60, 0x53, 0xcf, 0xb6, 0xc3, 0x00, 0x8e, 0xa6, 0x1d, 0xc1, 0xc6, 0xe4, - 0x29, 0x99, 0x92, 0xa1, 0x29, 0xb8, 0x40, 0x53, 0xf2, 0x05, 0x2a, 0xeb, 0x19, 0xd2, 0x21, 0x3d, - 0x83, 0xf6, 0x27, 0x69, 0xb8, 0x76, 0x82, 0xe9, 0x9a, 0xf2, 0xcd, 0x2f, 0x85, 0xd9, 0xb3, 0x54, - 0x48, 0x32, 0xa4, 0x95, 0xf2, 0x03, 0x92, 0x4a, 0xa9, 0xc9, 0xcc, 0xd9, 0x2f, 0xc1, 0x0a, 0x3b, - 0x05, 0x99, 0x59, 0xe2, 0xc1, 0xb8, 0x7b, 0x82, 0x63, 0x70, 0x53, 0xf8, 0x50, 0x45, 0x48, 0xf1, - 0x64, 0xc4, 0x13, 0xc3, 0xf2, 0x61, 0xa4, 0x09, 0x39, 0x44, 0x3b, 0x68, 0xbb, 0xdd, 0x13, 0x39, - 0xf3, 0x08, 0x0f, 0x2d, 0x99, 0x8c, 0x59, 0x53, 0x53, 0x40, 0x09, 0x7f, 0x93, 0x9b, 0xb0, 0xd2, - 0x1b, 0x1f, 0x53, 0xc6, 0x83, 0xad, 0x05, 0x6e, 0xfd, 0x31, 0x6b, 0x2e, 0xf5, 0xc6, 0xc7, 0xfa, - 0x60, 0x80, 0x53, 0x8a, 0x66, 0x22, 0xab, 0x14, 0x8f, 0xed, 0x5a, 0x81, 0x39, 0x87, 0x98, 0xb4, - 0x02, 0xb6, 0x6f, 0x39, 0xee, 0x1a, 0x30, 0xa3, 0x41, 0x9e, 0xa1, 0x8a, 0xfd, 0xd0, 0x7e, 0x9a, - 0x12, 0xf2, 0xee, 0xe4, 0x75, 0xff, 0x8b, 0x29, 0x4a, 0x98, 0xa2, 0x5b, 0xa0, 0xd2, 0xa1, 0x0f, - 0x0e, 0x15, 0x7f, 0x8e, 0x96, 0x7b, 0xe3, 0x63, 0x7f, 0xec, 0xe4, 0x81, 0x9f, 0x93, 0x07, 0xfe, - 0x35, 0x21, 0x0f, 0x27, 0x1e, 0x0f, 0x93, 0x87, 0x5c, 0xfb, 0xf7, 0x34, 0xdc, 0x3c, 0xd9, 0x21, - 0xf0, 0x8b, 0x79, 0x4b, 0x98, 0xb7, 0x88, 0xea, 0x74, 0x36, 0xa6, 0x3a, 0x4d, 0xd8, 0x7b, 0x73, - 0x49, 0x7b, 0x2f, 0xa6, 0xa8, 0x9d, 0x4f, 0x50, 0xd4, 0x26, 0x6e, 0xd0, 0xec, 0x73, 0x36, 0xe8, - 0x82, 0xbc, 0x4e, 0xfe, 0xc5, 0x57, 0x60, 0x84, 0xe5, 0x81, 0xb7, 0xe0, 0x8c, 0x90, 0x07, 0xd8, - 0xcd, 0x11, 0xe8, 0xdf, 0x73, 0xf7, 0x6e, 0x27, 0x49, 0x02, 0x88, 0x96, 0xc0, 0xad, 0xaf, 0x72, - 0x19, 0x20, 0x28, 0xff, 0xbf, 0xc3, 0xfd, 0x93, 0x47, 0x70, 0x16, 0xe3, 0xbb, 0xef, 0xcb, 0x2f, - 0x07, 0xf6, 0xd0, 0x39, 0xe0, 0xeb, 0xe1, 0x6a, 0x8c, 0x57, 0x76, 0xf7, 0xa5, 0xe6, 0x98, 0xce, - 0xc1, 0xce, 0x8c, 0xb9, 0xe6, 0x25, 0xc0, 0xa3, 0x82, 0xc5, 0x9f, 0x2b, 0xa0, 0x3d, 0x7f, 0xbc, - 0x50, 0x51, 0x15, 0x1d, 0xf0, 0x05, 0x33, 0xd7, 0x96, 0x46, 0xef, 0x1a, 0x2c, 0x0d, 0x9d, 0x83, - 0xa1, 0xe3, 0x1d, 0x85, 0x34, 0x20, 0x8b, 0x1c, 0x28, 0x06, 0x46, 0x44, 0x99, 0x3c, 0x15, 0x67, - 0x2e, 0x88, 0xb4, 0x92, 0x2f, 0x2f, 0x26, 0xce, 0x03, 0x5d, 0x4d, 0x72, 0x03, 0xd9, 0x8f, 0x07, - 0x99, 0x6c, 0x4a, 0x4d, 0x9b, 0x3c, 0x16, 0xe6, 0x81, 0xdb, 0x75, 0xb4, 0xbf, 0x52, 0x04, 0x47, - 0x90, 0x34, 0x78, 0xe4, 0x2d, 0xc9, 0x98, 0x37, 0x1d, 0x63, 0x43, 0x92, 0x48, 0x64, 0xbb, 0x47, - 0x1e, 0x9e, 0x11, 0x01, 0xa1, 0xf0, 0x8c, 0x08, 0x79, 0x01, 0x8b, 0x44, 0x2e, 0x35, 0xdf, 0x17, - 0x16, 0x41, 0xf4, 0xcc, 0xdb, 0xbd, 0x4b, 0x6e, 0xc3, 0x3c, 0x33, 0x02, 0x12, 0xcd, 0x5d, 0x09, - 0x35, 0x77, 0xf7, 0xae, 0x29, 0xca, 0xb5, 0x77, 0xfc, 0x77, 0xad, 0x58, 0x27, 0x76, 0xef, 0x92, - 0xd7, 0x4e, 0x66, 0x9c, 0x9b, 0x15, 0xc6, 0xb9, 0xbe, 0x61, 0xee, 0xe7, 0x42, 0x86, 0xb9, 0xd7, - 0xa7, 0x8f, 0x16, 0x7f, 0x8d, 0x64, 0xe1, 0x08, 0x83, 0x30, 0x55, 0x3f, 0x55, 0xe0, 0xe2, 0x54, - 0x0a, 0x72, 0x01, 0xb2, 0x7a, 0xa3, 0xdc, 0x0c, 0xe6, 0x97, 0xee, 0x19, 0x01, 0x21, 0xdb, 0xb0, - 0xb0, 0xd5, 0xf6, 0xdc, 0x7d, 0xba, 0x8c, 0x13, 0x9f, 0x07, 0x62, 0xd5, 0xfa, 0xe8, 0x3b, 0x33, - 0x66, 0x40, 0x4b, 0x6c, 0x58, 0xc5, 0xbd, 0x10, 0x4a, 0xfd, 0x94, 0x4e, 0xd0, 0x35, 0xc4, 0x2a, - 0x8c, 0x91, 0xd1, 0x73, 0x26, 0x06, 0x8c, 0x6e, 0xc1, 0x27, 0x82, 0x17, 0x99, 0xdc, 0xc0, 0x53, - 0xc4, 0x55, 0xbd, 0x05, 0xd9, 0x86, 0xb0, 0x13, 0x90, 0xac, 0xd9, 0x85, 0x4d, 0x80, 0xe9, 0x97, - 0x6a, 0xbf, 0xa9, 0x08, 0x85, 0xc0, 0xf3, 0x3b, 0x22, 0x65, 0xcd, 0xea, 0x4c, 0xcf, 0x9a, 0xd5, - 0xf9, 0x90, 0x59, 0xb3, 0xb4, 0x3f, 0xe3, 0x51, 0xcf, 0xcb, 0x9d, 0x46, 0x44, 0x33, 0xfb, 0xa2, - 0x5e, 0x09, 0x46, 0x68, 0x75, 0x5e, 0x93, 0xb2, 0x2e, 0xc6, 0xbf, 0x35, 0xd9, 0x39, 0x41, 0x5a, - 0xaa, 0x7f, 0x90, 0x86, 0x0b, 0xd3, 0xc8, 0x13, 0xf3, 0x3a, 0x2b, 0xa7, 0xcb, 0xeb, 0x7c, 0x1b, - 0xb2, 0x0c, 0xe6, 0x9b, 0xdc, 0xe3, 0x80, 0x73, 0x52, 0x3a, 0xe0, 0xa2, 0x98, 0x5c, 0x83, 0x39, - 0xbd, 0x60, 0x05, 0xa9, 0xc6, 0xd0, 0x36, 0xb6, 0xbd, 0xef, 0xa1, 0xd5, 0x25, 0x2f, 0x22, 0x5f, - 0x8f, 0x67, 0xd7, 0xe3, 0x39, 0xc6, 0x36, 0xa5, 0x01, 0x89, 0x25, 0x24, 0xc0, 0xf6, 0x06, 0x01, - 0xf4, 0x79, 0x4c, 0x6a, 0x33, 0x9e, 0xa9, 0x4f, 0x83, 0xb9, 0xc6, 0xd0, 0xf1, 0x9c, 0x91, 0x6c, - 0xb7, 0x3a, 0x40, 0x88, 0xc9, 0x4b, 0xb8, 0x55, 0x69, 0xfb, 0x19, 0x0b, 0x22, 0x30, 0x27, 0x07, - 0x76, 0x41, 0x33, 0x54, 0x0a, 0x36, 0x25, 0x14, 0x4a, 0x50, 0x69, 0x8f, 0x7b, 0xfb, 0x47, 0x2d, - 0xb3, 0xc2, 0x59, 0x0d, 0x46, 0xd0, 0x45, 0x28, 0xed, 0xa0, 0x67, 0x4a, 0x28, 0xda, 0x77, 0x15, - 0x58, 0x4b, 0xea, 0x07, 0xb9, 0x00, 0x99, 0x5e, 0x62, 0x22, 0xc1, 0x1e, 0xf3, 0x7d, 0xce, 0xd1, - 0xbf, 0xf6, 0x41, 0x7f, 0x78, 0xdc, 0x1e, 0xc9, 0xd6, 0xbd, 0x12, 0xd8, 0x04, 0xfa, 0xa3, 0x84, - 0xff, 0x93, 0xcb, 0xe2, 0x8c, 0x4e, 0xc7, 0x52, 0x0f, 0xe2, 0x1f, 0x4d, 0x07, 0x28, 0x77, 0x1a, - 0xf5, 0x01, 0x0b, 0x88, 0xff, 0x2a, 0x64, 0x68, 0xb3, 0x22, 0xab, 0x97, 0xae, 0x1f, 0xbd, 0x5a, - 0xe1, 0x48, 0xac, 0x55, 0x5e, 0xfb, 0xb8, 0x6b, 0x22, 0xb2, 0xb6, 0x07, 0xcb, 0x61, 0x0c, 0x62, - 0x84, 0x43, 0xa8, 0xe6, 0xee, 0xa9, 0xbc, 0xa6, 0xad, 0x7e, 0x9f, 0x79, 0x98, 0x6c, 0x9d, 0xff, - 0xfb, 0xf7, 0x2f, 0x03, 0xfd, 0xc9, 0x68, 0x92, 0x42, 0xac, 0x6a, 0xdf, 0x4f, 0xc1, 0x5a, 0xe0, - 0xd4, 0x2e, 0xf6, 0xd0, 0xcf, 0xad, 0x87, 0xa5, 0x1e, 0xf2, 0x00, 0x14, 0x8c, 0x56, 0xbc, 0x83, - 0x53, 0x1c, 0x8f, 0xb6, 0x61, 0x7d, 0x12, 0x3e, 0xb9, 0x03, 0x0b, 0x18, 0x07, 0x69, 0xd0, 0xde, - 0x77, 0xe4, 0xb3, 0xaf, 0x27, 0x80, 0x66, 0x50, 0xae, 0xfd, 0x58, 0x81, 0x0d, 0xee, 0x17, 0x51, - 0x6d, 0xbb, 0x3d, 0x54, 0xab, 0xef, 0x3b, 0x1f, 0x8d, 0x87, 0xf0, 0x76, 0xe8, 0x1c, 0xbb, 0x11, - 0x76, 0x7f, 0x89, 0x7d, 0x6d, 0x72, 0x6f, 0xc9, 0x6d, 0x8c, 0xed, 0xc5, 0x9f, 0x9d, 0x33, 0x2c, - 0x22, 0x43, 0x8f, 0x02, 0xe4, 0x88, 0x0c, 0x88, 0xa1, 0xfd, 0x2a, 0x5c, 0x9a, 0xfe, 0x01, 0xf2, - 0x35, 0x58, 0xc2, 0x64, 0x51, 0xad, 0xc1, 0xe1, 0xb0, 0xdd, 0x71, 0x84, 0x2a, 0x4c, 0xa8, 0x2f, - 0xe5, 0x32, 0x16, 0xaa, 0x8c, 0x47, 0x08, 0x38, 0xc4, 0x34, 0x54, 0x9c, 0x28, 0xe4, 0x7c, 0x24, - 0xd7, 0xa6, 0xfd, 0x9a, 0x02, 0x24, 0x5e, 0x07, 0xf9, 0x2c, 0x2c, 0xb6, 0x9a, 0x05, 0x6b, 0xd4, - 0x1e, 0x8e, 0x76, 0xfa, 0xe3, 0x21, 0x8f, 0x13, 0xc6, 0x1c, 0xc6, 0x47, 0xfb, 0x36, 0x7b, 0x40, - 0x39, 0xea, 0x8f, 0x87, 0x66, 0x08, 0x0f, 0xb3, 0x1c, 0x39, 0xce, 0x37, 0x3a, 0xed, 0x67, 0xe1, - 0x2c, 0x47, 0x1c, 0x16, 0xca, 0x72, 0xc4, 0x61, 0xda, 0xbb, 0x0a, 0x6c, 0x0a, 0x6b, 0xc2, 0x4e, - 0x42, 0x5b, 0x0a, 0x18, 0x16, 0x65, 0x28, 0x02, 0xd3, 0x4e, 0x63, 0x69, 0x57, 0x45, 0xe4, 0x20, - 0x6c, 0x20, 0xf2, 0xb6, 0x8c, 0x96, 0x7c, 0x09, 0x32, 0xd6, 0xa8, 0x3f, 0x38, 0x41, 0xe8, 0x20, - 0xd5, 0x9f, 0xd1, 0x51, 0x7f, 0x80, 0x55, 0x20, 0xa5, 0xe6, 0xc0, 0x9a, 0xdc, 0x38, 0xd1, 0x62, - 0x52, 0x85, 0x79, 0x1e, 0x23, 0x2e, 0xf2, 0x50, 0x3f, 0xa5, 0x4f, 0x5b, 0x2b, 0x22, 0x3e, 0x11, - 0x0f, 0x8c, 0x6a, 0x8a, 0x3a, 0xb4, 0xdf, 0x56, 0x20, 0x47, 0xb9, 0x0d, 0x94, 0xe2, 0x5e, 0x74, - 0x49, 0x87, 0x19, 0x47, 0x61, 0x77, 0xe2, 0x57, 0x7f, 0xa2, 0xdb, 0xf8, 0x33, 0xb0, 0x12, 0x21, - 0x20, 0x1a, 0x46, 0xa6, 0xe8, 0xba, 0xfb, 0x6d, 0x96, 0x34, 0x85, 0xd9, 0x6c, 0x84, 0x60, 0xda, - 0xf7, 0x14, 0x58, 0xa3, 0x32, 0x3f, 0x7b, 0xe7, 0x34, 0xc7, 0x5d, 0xb1, 0xdf, 0x29, 0x07, 0x25, - 0xcc, 0x52, 0x99, 0xd7, 0x3c, 0xe3, 0xa0, 0x38, 0xcc, 0xf4, 0x4b, 0xc9, 0x0e, 0x64, 0xf9, 0xfd, - 0xe2, 0xf1, 0x78, 0xa6, 0x97, 0x24, 0x65, 0x42, 0x50, 0x31, 0x47, 0xa2, 0x3d, 0xc1, 0x23, 0x8c, - 0xd3, 0x98, 0x3e, 0xb5, 0xf6, 0x1f, 0x0a, 0x9c, 0x9b, 0x40, 0x43, 0x5e, 0x87, 0x59, 0xf4, 0xe8, - 0xe3, 0xb3, 0x77, 0x61, 0xc2, 0x27, 0x46, 0xfb, 0x47, 0xbb, 0x77, 0xd9, 0x45, 0x74, 0x4c, 0x7f, - 0x98, 0x8c, 0x8a, 0xbc, 0x05, 0x0b, 0x7a, 0xa7, 0xc3, 0xc5, 0x99, 0x54, 0x48, 0x9c, 0x99, 0xf0, - 0xc5, 0x57, 0x7c, 0x7c, 0x26, 0xce, 0x30, 0xdf, 0x92, 0x4e, 0xc7, 0xe6, 0xde, 0x8a, 0x41, 0x7d, - 0x1b, 0xff, 0x1f, 0x96, 0xc3, 0xc8, 0xa7, 0x72, 0xb0, 0x7a, 0x47, 0x01, 0x35, 0xdc, 0x86, 0x8f, - 0x27, 0xb2, 0x52, 0xd2, 0x34, 0x3f, 0x67, 0x51, 0xfd, 0x6e, 0x0a, 0x5e, 0x4a, 0x1c, 0x61, 0xf2, - 0x32, 0xcc, 0xe9, 0x83, 0x41, 0xb9, 0xc8, 0x57, 0x15, 0xe7, 0x90, 0x50, 0x4b, 0x1c, 0x92, 0xf6, - 0x18, 0x12, 0x79, 0x15, 0xb2, 0xec, 0x39, 0xbd, 0x28, 0x0e, 0x1c, 0x0c, 0x15, 0xc3, 0xdf, 0xfa, - 0xc3, 0x91, 0x45, 0x05, 0x22, 0x29, 0xc1, 0x32, 0x0f, 0xb2, 0x62, 0x3a, 0x87, 0xce, 0xb7, 0xfc, - 0x10, 0xf7, 0x18, 0x85, 0x5f, 0xa8, 0x9e, 0xed, 0x21, 0x2b, 0x93, 0xc3, 0x8c, 0x84, 0xa9, 0x48, - 0x05, 0x54, 0xac, 0x53, 0xae, 0x89, 0x85, 0x37, 0xc5, 0xb0, 0x37, 0xac, 0x11, 0x13, 0xea, 0x8a, - 0x51, 0xfa, 0xd3, 0xa5, 0x7b, 0x9e, 0x7b, 0xd8, 0x3b, 0x76, 0x7a, 0xa3, 0x8f, 0x6f, 0xba, 0x82, - 0x6f, 0x9c, 0x68, 0xba, 0x7e, 0x3f, 0xc3, 0x36, 0x73, 0x94, 0x8c, 0x72, 0x34, 0x52, 0x44, 0x6b, - 0xe4, 0x68, 0xa8, 0xd0, 0xc4, 0xc3, 0x88, 0x14, 0x61, 0x9e, 0x85, 0x77, 0x11, 0x3b, 0xe3, 0x62, - 0x62, 0x13, 0x18, 0xce, 0xee, 0x5d, 0xc6, 0xbe, 0x30, 0xd7, 0x42, 0xcf, 0x14, 0xa4, 0x64, 0x17, - 0x72, 0x85, 0xae, 0xd3, 0xee, 0x8d, 0x07, 0xcd, 0x93, 0x3d, 0x39, 0xae, 0xf3, 0xbe, 0x2c, 0xee, - 0x33, 0x32, 0x7c, 0xaa, 0xc4, 0x93, 0x5c, 0xae, 0x88, 0x34, 0x7d, 0x6f, 0xa3, 0x0c, 0x6a, 0x2a, - 0x3f, 0x3d, 0x65, 0x7c, 0xa2, 0x40, 0xa4, 0x0b, 0xbb, 0xd2, 0x71, 0x77, 0x24, 0x1b, 0x96, 0x2b, - 0x6d, 0x6f, 0xd4, 0x1c, 0xb6, 0x7b, 0x1e, 0x86, 0x85, 0x3c, 0x41, 0xd8, 0xac, 0x4d, 0x91, 0x72, - 0x18, 0x75, 0x8c, 0x23, 0x9f, 0x94, 0x69, 0x30, 0xc3, 0xd5, 0x51, 0x7e, 0xa9, 0xe4, 0xf6, 0xda, - 0x5d, 0xf7, 0x6d, 0xe1, 0x94, 0xc9, 0xf8, 0xa5, 0x03, 0x01, 0x34, 0x83, 0x72, 0xed, 0xab, 0xb1, - 0x79, 0x63, 0xad, 0xcc, 0xc1, 0x3c, 0x77, 0xd9, 0x67, 0x2e, 0xec, 0x0d, 0xa3, 0x56, 0x2c, 0xd7, - 0xb6, 0x55, 0x85, 0x2c, 0x03, 0x34, 0xcc, 0x7a, 0xc1, 0xb0, 0x2c, 0xfa, 0x3b, 0x45, 0x7f, 0x73, - 0xff, 0xf6, 0x52, 0xab, 0xa2, 0xa6, 0x25, 0x17, 0xf7, 0x8c, 0xf6, 0x23, 0x05, 0xce, 0x26, 0x4f, - 0x25, 0x69, 0x02, 0x06, 0x39, 0xe0, 0x8f, 0xcf, 0x9f, 0x9d, 0x3a, 0xef, 0x89, 0xe0, 0x68, 0xb0, - 0x84, 0x11, 0x73, 0xc2, 0x4f, 0x89, 0xc7, 0x22, 0xe6, 0xd5, 0xe7, 0x76, 0xcc, 0x94, 0xdb, 0xd1, - 0x0a, 0xb0, 0x3e, 0xa9, 0x8e, 0x70, 0x57, 0x57, 0x20, 0xa7, 0x37, 0x1a, 0x95, 0x72, 0x41, 0x6f, - 0x96, 0xeb, 0x35, 0x55, 0x21, 0x0b, 0x30, 0xbb, 0x6d, 0xd6, 0x5b, 0x0d, 0x35, 0xa5, 0xfd, 0x40, - 0x81, 0xa5, 0x72, 0x60, 0xa6, 0xf5, 0xa2, 0x9b, 0xef, 0xf3, 0xa1, 0xcd, 0xb7, 0xee, 0x87, 0x03, - 0xf1, 0x3f, 0x70, 0xa2, 0x9d, 0xf7, 0x77, 0x0a, 0xac, 0xc6, 0x68, 0x88, 0x05, 0xf3, 0xfa, 0x9e, - 0x55, 0x2f, 0x17, 0x0b, 0xbc, 0x65, 0x97, 0x03, 0xfb, 0x22, 0xcc, 0xf8, 0x14, 0xfb, 0x0a, 0x73, - 0xa1, 0x7d, 0xea, 0xd9, 0x7d, 0xb7, 0x23, 0x65, 0x6b, 0xdd, 0x99, 0x31, 0x45, 0x4d, 0x78, 0x93, - 0xbd, 0x3d, 0x1e, 0x3a, 0x58, 0x6d, 0x2a, 0xa4, 0x08, 0xf5, 0xe1, 0xf1, 0x8a, 0xd1, 0xe1, 0xa1, - 0x4d, 0xcb, 0xe3, 0x55, 0x07, 0xf5, 0x6d, 0x2d, 0x41, 0x8e, 0x4b, 0x2d, 0x28, 0x10, 0xfc, 0x50, - 0x81, 0xf5, 0x49, 0x6d, 0xa5, 0x82, 0x50, 0xd8, 0x9f, 0xfe, 0xac, 0x9f, 0xc1, 0x21, 0xec, 0x48, - 0x2f, 0xd0, 0xc8, 0x1b, 0x90, 0x2b, 0x7b, 0xde, 0xd8, 0x19, 0x5a, 0xaf, 0xb6, 0xcc, 0x32, 0x5f, - 0x20, 0x17, 0xff, 0xf5, 0xfd, 0xcb, 0xe7, 0xd0, 0x2d, 0x61, 0x68, 0x7b, 0xaf, 0xda, 0xe3, 0xa1, - 0x1b, 0x8a, 0x76, 0x2f, 0x53, 0x50, 0xbe, 0xb5, 0x3d, 0xee, 0xb8, 0x8e, 0xe0, 0xda, 0x85, 0xcf, - 0x31, 0x87, 0xc9, 0xb7, 0x88, 0x80, 0x69, 0xdf, 0x51, 0x60, 0x63, 0xf2, 0xc0, 0xd0, 0x9b, 0xa9, - 0xc9, 0xac, 0x7e, 0x84, 0xd7, 0x2f, 0xde, 0x4c, 0xbe, 0x69, 0x90, 0x5c, 0xa7, 0x40, 0xa4, 0x44, - 0x7e, 0xf6, 0xf4, 0x54, 0x2c, 0x65, 0x72, 0x98, 0x48, 0x20, 0x6a, 0xff, 0x96, 0x82, 0xb3, 0x74, - 0xd1, 0x75, 0x1d, 0xcf, 0xd3, 0xc7, 0xa3, 0x23, 0xa7, 0x37, 0xe2, 0x6c, 0x18, 0x79, 0x0d, 0xe6, - 0x8e, 0x4e, 0xa7, 0x72, 0x64, 0xe8, 0x84, 0x00, 0x1e, 0xe4, 0xc2, 0xc9, 0x82, 0xfe, 0x4f, 0xae, - 0x82, 0x9c, 0xa4, 0x3a, 0x8d, 0x61, 0x32, 0x53, 0xeb, 0x8a, 0xb9, 0x30, 0xf0, 0xf3, 0xc9, 0x7e, - 0x0e, 0x66, 0x51, 0xcd, 0xc0, 0x8f, 0x54, 0xc1, 0x0a, 0x27, 0xb7, 0x0e, 0x95, 0x10, 0x26, 0x23, - 0x20, 0x9f, 0x02, 0x08, 0x32, 0x0c, 0xf0, 0x33, 0x53, 0x88, 0xdf, 0x7e, 0x92, 0x01, 0x73, 0xe1, - 0xf8, 0xa0, 0xcd, 0xc3, 0xf6, 0xe7, 0x61, 0x55, 0x0c, 0xcb, 0x40, 0x44, 0xd7, 0xe3, 0xaf, 0x61, - 0x2b, 0xac, 0xa0, 0x3c, 0x10, 0x11, 0xf6, 0xae, 0xc7, 0x12, 0xed, 0x62, 0x90, 0xdd, 0x48, 0x36, - 0xdd, 0xeb, 0xb1, 0x6c, 0xba, 0x59, 0x86, 0x25, 0xa7, 0xcc, 0xd5, 0xfe, 0x39, 0x05, 0x0b, 0x7b, - 0x94, 0x59, 0x41, 0x11, 0x7c, 0xba, 0x48, 0x7f, 0x0f, 0x72, 0x95, 0x7e, 0x9b, 0x3f, 0x3b, 0x70, - 0xdf, 0x04, 0xe6, 0x1b, 0xdc, 0xed, 0xb7, 0xc5, 0x0b, 0x86, 0x67, 0xca, 0x48, 0xcf, 0xf1, 0x6b, - 0x7e, 0x00, 0x73, 0xec, 0x19, 0x88, 0x6b, 0x97, 0x04, 0xbb, 0xea, 0xb7, 0xe8, 0x15, 0x56, 0x2c, - 0x69, 0xca, 0xd9, 0x53, 0x92, 0xcc, 0x3b, 0xf1, 0x58, 0xa1, 0x92, 0xc2, 0x61, 0xf6, 0x64, 0x0a, - 0x07, 0x29, 0x26, 0xda, 0xdc, 0x49, 0x62, 0xa2, 0x6d, 0xdc, 0x87, 0x9c, 0xd4, 0x9e, 0x53, 0x71, - 0xaf, 0xdf, 0x4e, 0xc1, 0x12, 0xf6, 0xca, 0xb7, 0x09, 0xf9, 0xf9, 0x54, 0x9f, 0x7c, 0x3e, 0xa4, - 0x3e, 0x59, 0x97, 0xe7, 0x8b, 0xf5, 0x6c, 0x8a, 0xde, 0xe4, 0x01, 0xac, 0xc6, 0x10, 0xc9, 0x67, - 0x60, 0x96, 0x36, 0x5f, 0x88, 0x9b, 0x6a, 0x74, 0x05, 0x04, 0xf1, 0x73, 0x69, 0xc7, 0x3d, 0x93, - 0x61, 0x6b, 0xff, 0xa9, 0xc0, 0x22, 0x4f, 0x5f, 0xd1, 0x3b, 0xe8, 0x3f, 0x77, 0x38, 0x6f, 0x46, - 0x87, 0x93, 0x45, 0xe9, 0xe0, 0xc3, 0xf9, 0x3f, 0x3d, 0x88, 0xf7, 0x43, 0x83, 0x78, 0xce, 0x8f, - 0xa6, 0x27, 0xba, 0x33, 0x65, 0x0c, 0xff, 0x1a, 0xe3, 0xcb, 0x86, 0x11, 0xc9, 0xd7, 0x61, 0xa1, - 0xe6, 0x3c, 0x0d, 0x49, 0x6d, 0x37, 0x27, 0x54, 0xfa, 0x8a, 0x8f, 0xc8, 0xf6, 0x14, 0x5e, 0x78, - 0x3d, 0xe7, 0xa9, 0x1d, 0x7b, 0x81, 0x0a, 0xaa, 0xa4, 0x82, 0x5b, 0x98, 0xec, 0x34, 0x4b, 0x9f, - 0x3b, 0x4a, 0x62, 0xe0, 0x99, 0xef, 0xa6, 0x01, 0x02, 0x1f, 0x33, 0xba, 0x01, 0x43, 0x8f, 0xef, - 0x42, 0xe1, 0x8d, 0x20, 0x79, 0x8d, 0x8b, 0x37, 0xf9, 0x9b, 0x5c, 0x31, 0x9b, 0x9a, 0x1c, 0xed, - 0x10, 0x55, 0xb4, 0x05, 0xee, 0xd4, 0xd4, 0x71, 0xba, 0x6d, 0x76, 0xb6, 0xa7, 0xb7, 0xae, 0x63, - 0x70, 0x5b, 0x1f, 0x3a, 0x21, 0x0f, 0x31, 0xba, 0x3e, 0x15, 0x29, 0x42, 0xcc, 0x6f, 0x33, 0x73, - 0x3a, 0xbf, 0xcd, 0x06, 0x2c, 0xb8, 0xbd, 0x27, 0x4e, 0x6f, 0xd4, 0x1f, 0x3e, 0x43, 0x6d, 0x74, - 0xa0, 0xe6, 0xa2, 0x43, 0x50, 0x16, 0x65, 0x6c, 0x1e, 0xf0, 0x62, 0xf4, 0xf1, 0xe5, 0x69, 0xf0, - 0x81, 0xbe, 0xdf, 0xe9, 0xac, 0x3a, 0xf7, 0x20, 0x93, 0x9d, 0x53, 0xe7, 0x1f, 0x64, 0xb2, 0x59, - 0x75, 0xe1, 0x41, 0x26, 0xbb, 0xa0, 0x82, 0x29, 0xbd, 0xef, 0xf8, 0xef, 0x37, 0xd2, 0x93, 0x4b, - 0xf8, 0x39, 0x45, 0xfb, 0x59, 0x0a, 0x48, 0xbc, 0x19, 0xe4, 0xf3, 0x90, 0x63, 0x07, 0xac, 0x3d, - 0xf4, 0xbe, 0xc9, 0xcd, 0xd6, 0x59, 0xf8, 0x1e, 0x09, 0x2c, 0x87, 0xef, 0x61, 0x60, 0xd3, 0xfb, - 0x66, 0x97, 0x7c, 0x0d, 0xce, 0xe0, 0xf0, 0x0e, 0x9c, 0xa1, 0xdb, 0xef, 0xd8, 0x18, 0x6b, 0xb5, - 0xdd, 0xe5, 0x39, 0x03, 0x5f, 0xc6, 0xe4, 0xb6, 0xf1, 0xe2, 0x09, 0xd3, 0x80, 0xae, 0x64, 0x0d, - 0xc4, 0x6c, 0x30, 0x44, 0xd2, 0x04, 0x55, 0xa6, 0x3f, 0x18, 0x77, 0xbb, 0x7c, 0x66, 0xf3, 0x54, - 0xd0, 0x8d, 0x96, 0x4d, 0xa8, 0x78, 0x39, 0xa8, 0xb8, 0x34, 0xee, 0x76, 0xc9, 0x6b, 0x00, 0xfd, - 0x9e, 0x7d, 0xec, 0x7a, 0x1e, 0x7b, 0xe3, 0xf0, 0xbd, 0x5e, 0x03, 0xa8, 0x3c, 0x19, 0xfd, 0x5e, - 0x95, 0x01, 0xc9, 0xff, 0x03, 0xf4, 0xfa, 0xc7, 0x70, 0x18, 0xcc, 0xaa, 0x85, 0x67, 0x01, 0x11, - 0xc0, 0xb0, 0x93, 0xed, 0xa1, 0x63, 0xb9, 0x6f, 0x0b, 0x97, 0x81, 0x37, 0x61, 0x95, 0x1b, 0xa1, - 0xee, 0xb9, 0xa3, 0x23, 0xce, 0x61, 0xbf, 0x08, 0x7b, 0x2e, 0xb1, 0xd8, 0xff, 0x90, 0x01, 0xd0, - 0xf7, 0x2c, 0x11, 0x69, 0xea, 0x36, 0xcc, 0x52, 0xb9, 0x41, 0xe8, 0x1f, 0x50, 0x7b, 0x8b, 0xf5, - 0xca, 0xda, 0x5b, 0xc4, 0xa0, 0xbb, 0xd1, 0x44, 0xe3, 0x6c, 0xa1, 0x7b, 0xc0, 0xdd, 0xc8, 0xec, - 0xb5, 0x43, 0x91, 0x7e, 0x39, 0x16, 0xa9, 0x00, 0x04, 0xb1, 0x9f, 0xb8, 0x24, 0xbb, 0x1a, 0x04, - 0x51, 0xe1, 0x05, 0x3c, 0xdb, 0x40, 0x10, 0x3f, 0x4a, 0x5e, 0x3e, 0x01, 0x1a, 0x79, 0x08, 0x99, - 0x66, 0xdb, 0xf7, 0xe9, 0x9c, 0x10, 0x11, 0xeb, 0x0a, 0xcf, 0xe9, 0x18, 0x44, 0xc5, 0x5a, 0x1e, - 0xb5, 0x43, 0xa9, 0x6f, 0xb1, 0x12, 0x62, 0xc0, 0x1c, 0xcf, 0xd7, 0x3d, 0x21, 0x92, 0x22, 0x4f, - 0xd7, 0xcd, 0xe3, 0x27, 0x23, 0x50, 0xe6, 0x29, 0x78, 0x66, 0xee, 0x7b, 0x90, 0xb6, 0xac, 0x2a, - 0x8f, 0x03, 0xb1, 0x14, 0x48, 0x25, 0x96, 0x55, 0x65, 0x6f, 0x94, 0x9e, 0x77, 0x2c, 0x91, 0x51, - 0x64, 0xf2, 0x05, 0xc8, 0x49, 0xec, 0x33, 0x8f, 0xa0, 0x82, 0x63, 0x20, 0x79, 0xcd, 0xc8, 0x87, - 0x86, 0x84, 0x4d, 0x2a, 0xa0, 0x3e, 0x1c, 0x3f, 0x76, 0xf4, 0xc1, 0x00, 0xdd, 0xe9, 0x9e, 0x38, - 0x43, 0xc6, 0xb6, 0x65, 0x83, 0xd0, 0xc3, 0x68, 0x6b, 0xdf, 0x11, 0xa5, 0xb2, 0x0e, 0x26, 0x4a, - 0x49, 0x1a, 0xb0, 0x6a, 0x39, 0xa3, 0xf1, 0x80, 0xd9, 0x69, 0x94, 0xfa, 0x43, 0x2a, 0x84, 0xb0, - 0x78, 0x2b, 0x18, 0xa5, 0xd5, 0xa3, 0x85, 0xc2, 0x38, 0xe6, 0xa0, 0x3f, 0x8c, 0x08, 0x24, 0x71, - 0x62, 0xcd, 0x91, 0xa7, 0x9c, 0xde, 0xaa, 0x61, 0xd1, 0x06, 0x6f, 0x55, 0x21, 0xda, 0x04, 0x02, - 0xcd, 0xa7, 0x12, 0x62, 0x82, 0xe1, 0x83, 0x99, 0x14, 0x13, 0x2c, 0x14, 0x09, 0xec, 0xdd, 0x8c, - 0x14, 0x96, 0x92, 0xcf, 0xc5, 0xeb, 0x00, 0x0f, 0xfa, 0x6e, 0xaf, 0xea, 0x8c, 0x8e, 0xfa, 0x1d, - 0x29, 0x34, 0x59, 0xee, 0x97, 0xfb, 0x6e, 0xcf, 0x3e, 0x46, 0xf0, 0xcf, 0xde, 0xbf, 0x2c, 0x21, - 0x99, 0xd2, 0xff, 0xe4, 0x93, 0xb0, 0x40, 0x7f, 0x35, 0x03, 0x6b, 0x13, 0xa6, 0xaa, 0x44, 0x6a, - 0x96, 0xbc, 0x21, 0x40, 0x20, 0xf7, 0x31, 0x5d, 0x89, 0x3b, 0x18, 0x49, 0xcc, 0xab, 0xc8, 0x4d, - 0xe2, 0x0e, 0x46, 0xd1, 0x48, 0xc3, 0x12, 0x32, 0xd9, 0xf1, 0x9b, 0x2e, 0x32, 0x0c, 0xf1, 0xac, - 0x28, 0xa8, 0x8f, 0xe3, 0x6b, 0xcd, 0x16, 0x21, 0x4e, 0xe5, 0x5c, 0xb0, 0x11, 0x32, 0x6c, 0x84, - 0xb5, 0x53, 0x64, 0x0f, 0x28, 0x9c, 0xa9, 0x65, 0x8d, 0xf0, 0x8e, 0x3a, 0xf6, 0x3e, 0x82, 0x43, - 0x8d, 0xf0, 0x91, 0xc9, 0x16, 0xac, 0x30, 0x1e, 0xdf, 0xcf, 0x54, 0xc8, 0x59, 0x5c, 0x3c, 0xdb, - 0x82, 0x54, 0x86, 0xf2, 0xe7, 0x23, 0x04, 0xa4, 0x04, 0xb3, 0x28, 0x10, 0x72, 0x13, 0xf3, 0x4d, - 0x59, 0x7a, 0x8e, 0xee, 0x23, 0x3c, 0x57, 0x50, 0x6e, 0x96, 0xcf, 0x15, 0x44, 0x25, 0x5f, 0x01, - 0x30, 0x7a, 0xc3, 0x7e, 0xb7, 0x8b, 0x41, 0x78, 0xb3, 0x28, 0x4a, 0x5d, 0x0c, 0xef, 0x47, 0xac, - 0x25, 0x40, 0xe2, 0x01, 0xe3, 0xf0, 0xb7, 0x1d, 0x09, 0xd5, 0x2b, 0xd5, 0xa5, 0x95, 0x61, 0x8e, - 0x6d, 0x46, 0x0c, 0x68, 0xcd, 0x53, 0x74, 0x48, 0xe1, 0x90, 0x59, 0x40, 0x6b, 0x0e, 0x8f, 0x07, - 0xb4, 0x96, 0x08, 0xb4, 0x87, 0xb0, 0x96, 0xd4, 0xb1, 0x90, 0x08, 0xab, 0x9c, 0x54, 0x84, 0xfd, - 0xe3, 0x34, 0x2c, 0x62, 0x6d, 0xe2, 0x14, 0xd6, 0x61, 0xc9, 0x1a, 0x3f, 0xf6, 0xa3, 0x3d, 0x89, - 0xd3, 0x18, 0xdb, 0xe7, 0xc9, 0x05, 0xf2, 0xd3, 0x56, 0x88, 0x82, 0x18, 0xb0, 0x2c, 0x6e, 0x82, - 0x6d, 0x61, 0x81, 0xee, 0xc7, 0x92, 0x16, 0x11, 0x0b, 0xe3, 0x99, 0x5a, 0x23, 0x44, 0xc1, 0x7d, - 0x90, 0x3e, 0xcd, 0x7d, 0x90, 0x39, 0xd1, 0x7d, 0xf0, 0x16, 0x2c, 0x8a, 0xaf, 0xe1, 0x49, 0x3e, - 0xfb, 0x62, 0x27, 0x79, 0xa8, 0x32, 0x52, 0xf1, 0x4f, 0xf4, 0xb9, 0xa9, 0x27, 0x3a, 0xbe, 0x17, - 0x8a, 0x5d, 0x36, 0x40, 0x58, 0xfc, 0x60, 0xc7, 0x54, 0x86, 0xdb, 0x85, 0xc6, 0x87, 0xb8, 0x25, - 0x3f, 0x03, 0x0b, 0x95, 0xbe, 0x78, 0x2a, 0x92, 0x74, 0xf4, 0x5d, 0x01, 0x94, 0xd9, 0x05, 0x1f, - 0xd3, 0xbf, 0xdd, 0xd2, 0x1f, 0xc5, 0xed, 0x76, 0x1f, 0x80, 0xbb, 0x36, 0x04, 0x29, 0xc8, 0x70, - 0xcb, 0x88, 0x48, 0x17, 0xe1, 0xa7, 0x02, 0x09, 0x99, 0x9e, 0x4e, 0xdc, 0x0a, 0x45, 0xdf, 0xdf, - 0xef, 0x8f, 0x7b, 0xa3, 0x50, 0xce, 0x5e, 0xe1, 0x09, 0xd9, 0xe6, 0x65, 0xf2, 0xf1, 0x10, 0x21, - 0xfb, 0x68, 0x27, 0x84, 0x7c, 0xd9, 0x37, 0xa2, 0x9b, 0x9f, 0x36, 0x42, 0x5a, 0x6c, 0x84, 0x26, - 0x9a, 0xce, 0x69, 0x3f, 0x52, 0xe4, 0x40, 0xfe, 0x1f, 0x62, 0xaa, 0x3f, 0x07, 0xe0, 0xbf, 0xd5, - 0x8b, 0xb9, 0x66, 0xf2, 0x92, 0x0f, 0x95, 0x47, 0x39, 0xc0, 0x95, 0x7a, 0x93, 0xfe, 0xa8, 0x7a, - 0xd3, 0x84, 0x5c, 0xfd, 0x1b, 0xa3, 0x76, 0x60, 0xdc, 0x01, 0x96, 0xcf, 0xc9, 0xe2, 0xc9, 0x94, - 0xde, 0xba, 0x81, 0x77, 0x43, 0xc0, 0x07, 0x4f, 0x60, 0x81, 0x25, 0x42, 0xed, 0xbf, 0x14, 0x58, - 0x91, 0xdd, 0xb7, 0x9f, 0xf5, 0xf6, 0xc9, 0x17, 0x59, 0x5c, 0x51, 0x25, 0x24, 0xb2, 0x48, 0x48, - 0xf4, 0xc8, 0x7d, 0xd6, 0xdb, 0x67, 0x0c, 0x50, 0xfb, 0xa9, 0xdc, 0x58, 0x4a, 0x18, 0xdc, 0x1b, - 0xa9, 0x90, 0xc5, 0x90, 0x5c, 0x03, 0x2d, 0xc6, 0x3a, 0xa6, 0xdd, 0x1b, 0x8f, 0x61, 0xb1, 0xd1, - 0xef, 0x76, 0x29, 0x7b, 0x34, 0x7c, 0xd2, 0x16, 0xb6, 0xd3, 0xe7, 0x63, 0x2f, 0x0f, 0xa2, 0x63, - 0x5b, 0xd7, 0xb8, 0xbc, 0x7c, 0x6e, 0x40, 0xef, 0x0d, 0x97, 0xd3, 0x05, 0x15, 0xbf, 0x83, 0x7e, - 0x5b, 0x72, 0x9d, 0xda, 0x4f, 0x14, 0x20, 0xf1, 0xae, 0xc9, 0x47, 0x9f, 0xf2, 0xbf, 0xc0, 0x0a, - 0x47, 0x58, 0xc8, 0xcc, 0x69, 0x58, 0x48, 0xed, 0x7b, 0x29, 0x58, 0x4b, 0x1a, 0xeb, 0xd3, 0x77, - 0xca, 0x80, 0x65, 0xf9, 0x0e, 0xf2, 0x59, 0x37, 0xbc, 0x72, 0xe4, 0x6b, 0x2b, 0x7c, 0x0f, 0x46, - 0x88, 0xc8, 0xeb, 0x90, 0x6b, 0x1d, 0xbb, 0xbe, 0x41, 0x60, 0x3a, 0xb8, 0x9a, 0xc7, 0xc7, 0xae, - 0x9d, 0x74, 0x93, 0xca, 0xf8, 0x2f, 0x34, 0x18, 0xf9, 0xdf, 0x51, 0x60, 0xa5, 0xac, 0x57, 0x79, - 0xbe, 0x04, 0xf6, 0x5a, 0x74, 0x15, 0x2e, 0x96, 0xf5, 0xaa, 0xdd, 0xa8, 0x57, 0xca, 0x85, 0x47, - 0x76, 0x62, 0x18, 0xe4, 0x8b, 0x70, 0x3e, 0x8e, 0x12, 0xbc, 0x2a, 0x5d, 0x80, 0xf5, 0x78, 0xb1, - 0x08, 0x95, 0x9c, 0x4c, 0x2c, 0xa2, 0x2a, 0xa7, 0xf3, 0x6f, 0xc0, 0x8a, 0x08, 0x0b, 0xdc, 0xac, - 0x58, 0x98, 0x78, 0x60, 0x05, 0x72, 0xbb, 0x86, 0x59, 0x2e, 0x3d, 0xb2, 0x4b, 0xad, 0x4a, 0x45, - 0x9d, 0x21, 0x4b, 0xb0, 0xc0, 0x01, 0x05, 0x5d, 0x55, 0xc8, 0x22, 0x64, 0xcb, 0x35, 0xcb, 0x28, - 0xb4, 0x4c, 0x43, 0x4d, 0xe5, 0xdf, 0x80, 0xe5, 0xc6, 0xd0, 0x7d, 0xd2, 0x1e, 0x39, 0x0f, 0x9d, - 0x67, 0xf8, 0x28, 0x34, 0x0f, 0x69, 0x53, 0xdf, 0x53, 0x67, 0x08, 0xc0, 0x5c, 0xe3, 0x61, 0xc1, - 0xba, 0x7b, 0x57, 0x55, 0x48, 0x0e, 0xe6, 0xb7, 0x0b, 0x0d, 0xfb, 0x61, 0xd5, 0x52, 0x53, 0xf4, - 0x87, 0xbe, 0x67, 0xe1, 0x8f, 0x74, 0xfe, 0xd3, 0xb0, 0x8a, 0x5c, 0x5e, 0xc5, 0xf5, 0x46, 0x4e, - 0xcf, 0x19, 0x62, 0x1b, 0x16, 0x21, 0x6b, 0x39, 0xf4, 0x78, 0x1e, 0x39, 0xac, 0x01, 0xd5, 0x71, - 0x77, 0xe4, 0x0e, 0xba, 0xce, 0xb7, 0x54, 0x25, 0x7f, 0x1f, 0x56, 0xcc, 0xfe, 0x78, 0xe4, 0xf6, - 0x0e, 0xad, 0x11, 0xc5, 0x38, 0x7c, 0x46, 0x5e, 0x82, 0xd5, 0x56, 0x4d, 0xaf, 0x6e, 0x95, 0xb7, - 0x5b, 0xf5, 0x96, 0x65, 0x57, 0xf5, 0x66, 0x61, 0x87, 0x3d, 0x49, 0x55, 0xeb, 0x56, 0xd3, 0x36, - 0x8d, 0x82, 0x51, 0x6b, 0xaa, 0x4a, 0xfe, 0xfb, 0xa8, 0xb0, 0xda, 0xef, 0xf7, 0x3a, 0xa5, 0xf6, - 0xfe, 0xa8, 0x3f, 0xc4, 0x06, 0x6b, 0x70, 0xc9, 0x32, 0x0a, 0xf5, 0x5a, 0xd1, 0x2e, 0xe9, 0x85, - 0x66, 0xdd, 0x4c, 0x8a, 0xc3, 0xbd, 0x01, 0x67, 0x13, 0x70, 0xea, 0xcd, 0x86, 0xaa, 0x90, 0xcb, - 0xb0, 0x99, 0x50, 0xb6, 0x67, 0x6c, 0xe9, 0xad, 0xe6, 0x4e, 0x4d, 0x4d, 0x4d, 0x20, 0xb6, 0xac, - 0xba, 0x9a, 0xce, 0xff, 0x86, 0x02, 0xcb, 0x2d, 0x8f, 0xdb, 0x83, 0xb7, 0xd0, 0x15, 0xf4, 0x0a, - 0x5c, 0x68, 0x59, 0x86, 0x69, 0x37, 0xeb, 0x0f, 0x8d, 0x9a, 0xdd, 0xb2, 0xf4, 0xed, 0x68, 0x6b, - 0x2e, 0xc3, 0xa6, 0x84, 0x61, 0x1a, 0x85, 0xfa, 0xae, 0x61, 0xda, 0x0d, 0xdd, 0xb2, 0xf6, 0xea, - 0x66, 0x51, 0x55, 0xe8, 0x17, 0x13, 0x10, 0xaa, 0x25, 0x9d, 0xb5, 0x26, 0x54, 0x56, 0x33, 0xf6, - 0xf4, 0x8a, 0xbd, 0x55, 0x6f, 0xaa, 0xe9, 0x7c, 0x95, 0x32, 0x4d, 0x18, 0x0d, 0x97, 0x59, 0x31, - 0x66, 0x21, 0x53, 0xab, 0xd7, 0x8c, 0xe8, 0x43, 0xe6, 0x22, 0x64, 0xf5, 0x46, 0xc3, 0xac, 0xef, - 0xe2, 0x12, 0x03, 0x98, 0x2b, 0x1a, 0x35, 0xda, 0xb2, 0x34, 0x2d, 0x69, 0x98, 0xf5, 0x6a, 0xbd, - 0x69, 0x14, 0xd5, 0x4c, 0xde, 0x14, 0xe7, 0x99, 0xa8, 0x74, 0xbf, 0xcf, 0x5e, 0x0d, 0x8b, 0x46, - 0x49, 0x6f, 0x55, 0x9a, 0x7c, 0x8a, 0x1e, 0xd9, 0xa6, 0xf1, 0xe5, 0x96, 0x61, 0x35, 0x2d, 0x55, - 0x21, 0x2a, 0x2c, 0xd6, 0x0c, 0xa3, 0x68, 0xd9, 0xa6, 0xb1, 0x5b, 0x36, 0xf6, 0xd4, 0x14, 0xad, - 0x93, 0xfd, 0x4f, 0xbf, 0x90, 0x7f, 0x57, 0x01, 0xc2, 0x22, 0x09, 0x8b, 0xf4, 0x34, 0xb8, 0x62, - 0x2e, 0xc1, 0xc6, 0x0e, 0x9d, 0x6a, 0xec, 0x5a, 0xb5, 0x5e, 0x8c, 0x0e, 0xd9, 0x59, 0x20, 0x91, - 0xf2, 0x7a, 0xa9, 0xa4, 0x2a, 0x64, 0x13, 0xce, 0x44, 0xe0, 0x45, 0xb3, 0xde, 0x50, 0x53, 0x1b, - 0xa9, 0xac, 0x42, 0xce, 0xc5, 0x0a, 0x1f, 0x1a, 0x46, 0x43, 0x4d, 0xd3, 0x29, 0x8a, 0x14, 0x88, - 0x2d, 0xc1, 0xc8, 0x33, 0xf9, 0xef, 0x28, 0x70, 0x96, 0x35, 0x53, 0xec, 0x2f, 0xbf, 0xa9, 0x17, - 0x60, 0x9d, 0xc7, 0x47, 0x4f, 0x6a, 0xe8, 0x1a, 0xa8, 0xa1, 0x52, 0xd6, 0xcc, 0x97, 0x60, 0x35, - 0x04, 0xc5, 0x76, 0xa4, 0xe8, 0xe9, 0x11, 0x02, 0x6f, 0x19, 0x56, 0xd3, 0x36, 0x4a, 0xa5, 0xba, - 0xd9, 0x64, 0x0d, 0x49, 0xe7, 0x35, 0x58, 0x2d, 0x38, 0xc3, 0x11, 0x95, 0x67, 0x7b, 0x9e, 0xdb, - 0xef, 0x61, 0x13, 0x96, 0x60, 0xc1, 0xf8, 0x4a, 0xd3, 0xa8, 0x59, 0xe5, 0x7a, 0x4d, 0x9d, 0xc9, - 0x5f, 0x88, 0xe0, 0x88, 0x7d, 0x6c, 0x59, 0x3b, 0xea, 0x4c, 0xbe, 0x0d, 0x4b, 0xc2, 0xf2, 0x9a, - 0xad, 0x8a, 0x4b, 0xb0, 0x21, 0xd6, 0x1a, 0x9e, 0x28, 0xd1, 0x2e, 0xac, 0xc3, 0x5a, 0xbc, 0xdc, - 0x68, 0xaa, 0x0a, 0x9d, 0x85, 0x48, 0x09, 0x85, 0xa7, 0xf2, 0xbf, 0xae, 0xc0, 0x92, 0xff, 0x12, - 0x85, 0xba, 0xef, 0xcb, 0xb0, 0x59, 0x2d, 0xe9, 0x76, 0xd1, 0xd8, 0x2d, 0x17, 0x0c, 0xfb, 0x61, - 0xb9, 0x56, 0x8c, 0x7c, 0xe4, 0x3c, 0xbc, 0x94, 0x80, 0x80, 0x5f, 0x59, 0x87, 0xb5, 0x68, 0x51, - 0x93, 0x6e, 0xd5, 0x14, 0x1d, 0xfa, 0x68, 0x89, 0xbf, 0x4f, 0xd3, 0xf9, 0x3f, 0x52, 0x60, 0x9d, - 0xe7, 0xff, 0xe7, 0x6f, 0x62, 0x2c, 0x31, 0x0c, 0x46, 0x4e, 0xce, 0xc3, 0xcd, 0xa6, 0xd9, 0xb2, - 0x9a, 0x46, 0x51, 0x90, 0xd3, 0x45, 0x5b, 0x36, 0x8d, 0xaa, 0x51, 0x6b, 0x46, 0xda, 0x76, 0x07, - 0x3e, 0x31, 0x05, 0xb7, 0x56, 0x6f, 0x8a, 0xdf, 0x74, 0xaf, 0x7e, 0x02, 0xae, 0x4d, 0x41, 0xf6, - 0x11, 0x53, 0xf9, 0x5d, 0x58, 0xb6, 0xf4, 0x6a, 0xa5, 0xd4, 0x1f, 0xee, 0x3b, 0xfa, 0x78, 0x74, - 0xd4, 0x23, 0x9b, 0x70, 0xae, 0x54, 0x37, 0x0b, 0x86, 0x8d, 0x3d, 0x88, 0x34, 0xe2, 0x0c, 0xac, - 0xc8, 0x85, 0x8f, 0x0c, 0xba, 0xbb, 0x08, 0x2c, 0xcb, 0xc0, 0x5a, 0x5d, 0x4d, 0xe5, 0xbf, 0x0a, - 0x8b, 0xa1, 0x24, 0x7a, 0xe7, 0xe0, 0x8c, 0xfc, 0xbb, 0xe1, 0xf4, 0x3a, 0x6e, 0xef, 0x50, 0x9d, - 0x89, 0x16, 0x98, 0xe3, 0x5e, 0x8f, 0x16, 0xe0, 0x71, 0x23, 0x17, 0x34, 0x9d, 0xe1, 0xb1, 0xdb, - 0x6b, 0x8f, 0x9c, 0x8e, 0x9a, 0xca, 0xbf, 0x02, 0x4b, 0xa1, 0xd0, 0xdd, 0x74, 0x5d, 0x55, 0xea, - 0xfc, 0x7e, 0xa8, 0x1a, 0xc5, 0x72, 0xab, 0xaa, 0xce, 0xd2, 0x83, 0x66, 0xa7, 0xbc, 0xbd, 0xa3, - 0x42, 0xfe, 0x07, 0x0a, 0x95, 0x2d, 0x71, 0xdc, 0xab, 0x25, 0x5d, 0xac, 0x44, 0xba, 0x0b, 0x58, - 0x42, 0x00, 0xc3, 0xb2, 0x98, 0x79, 0xc1, 0x05, 0x58, 0xe7, 0x3f, 0x6c, 0xbd, 0x56, 0xb4, 0x77, - 0x74, 0xb3, 0xb8, 0xa7, 0x9b, 0x74, 0x6b, 0x3c, 0x52, 0x53, 0xb8, 0xdf, 0x25, 0x88, 0xdd, 0xac, - 0xb7, 0x0a, 0x3b, 0x6a, 0x9a, 0x6e, 0xaf, 0x10, 0xbc, 0x51, 0xae, 0xa9, 0x19, 0x3c, 0x3d, 0x62, - 0xd8, 0x58, 0x2d, 0x2d, 0x9f, 0xcd, 0x7f, 0xa0, 0xc0, 0x39, 0xcb, 0x3d, 0xec, 0xb5, 0x47, 0xe3, - 0xa1, 0xa3, 0x77, 0x0f, 0xfb, 0x43, 0x77, 0x74, 0x74, 0x6c, 0x8d, 0xdd, 0x91, 0x43, 0x6e, 0xc3, - 0x0d, 0xab, 0xbc, 0x5d, 0xd3, 0x9b, 0x74, 0xf7, 0xeb, 0x95, 0xed, 0xba, 0x59, 0x6e, 0xee, 0x54, - 0x6d, 0xab, 0x55, 0x8e, 0x6d, 0x8c, 0xeb, 0x70, 0x65, 0x32, 0x6a, 0xc5, 0xd8, 0xd6, 0x0b, 0x8f, - 0x54, 0x65, 0x7a, 0x85, 0x5b, 0x7a, 0x45, 0xaf, 0x15, 0x8c, 0xa2, 0xbd, 0x7b, 0x57, 0x4d, 0x91, - 0x1b, 0x70, 0x75, 0x32, 0x6a, 0xa9, 0xdc, 0xb0, 0x28, 0x5a, 0x7a, 0xfa, 0x77, 0x77, 0xac, 0x2a, - 0xc5, 0xca, 0xe4, 0xff, 0x50, 0x81, 0xf5, 0x49, 0xf1, 0x9b, 0xc8, 0x4d, 0xd0, 0x8c, 0x5a, 0xd3, - 0xd4, 0xcb, 0x45, 0xbb, 0x60, 0x1a, 0x45, 0xa3, 0xd6, 0x2c, 0xeb, 0x15, 0xcb, 0xb6, 0xea, 0x2d, - 0xba, 0x9a, 0x02, 0x2b, 0x90, 0x6b, 0x70, 0x79, 0x0a, 0x5e, 0xbd, 0x5c, 0x2c, 0xa8, 0x0a, 0xb9, - 0x0b, 0x2f, 0x4f, 0x41, 0xb2, 0x1e, 0x59, 0x4d, 0xa3, 0x2a, 0x97, 0xa8, 0xa9, 0x7c, 0x01, 0x36, - 0x26, 0x07, 0x78, 0xa1, 0xb7, 0x48, 0x78, 0xa4, 0xb3, 0x90, 0x29, 0xd2, 0x8b, 0x2b, 0x94, 0x37, - 0x22, 0xef, 0x82, 0x1a, 0x8d, 0xd1, 0x10, 0x33, 0xd7, 0x31, 0x5b, 0xb5, 0x1a, 0xbb, 0xe5, 0x56, - 0x20, 0x57, 0x6f, 0xee, 0x18, 0x26, 0xcf, 0xbc, 0x81, 0xa9, 0x36, 0x5a, 0x35, 0xba, 0x71, 0xea, - 0x66, 0xf9, 0x4d, 0xbc, 0xee, 0xd6, 0x61, 0xcd, 0xaa, 0xe8, 0x85, 0x87, 0xb8, 0xa7, 0xcb, 0x35, - 0xbb, 0xb0, 0xa3, 0xd7, 0x6a, 0x46, 0x45, 0x05, 0x1c, 0xcc, 0x49, 0x7e, 0x99, 0xe4, 0x93, 0x70, - 0xab, 0xfe, 0xb0, 0xa9, 0xdb, 0x8d, 0x4a, 0x6b, 0xbb, 0x5c, 0xb3, 0xad, 0x47, 0xb5, 0x82, 0x60, - 0xcd, 0x0a, 0xf1, 0x1b, 0xe1, 0x16, 0x5c, 0x9f, 0x8a, 0x1d, 0xe4, 0xc8, 0xb8, 0x09, 0xda, 0x54, - 0x4c, 0xde, 0x91, 0xfc, 0x8f, 0x15, 0xd8, 0x9c, 0x62, 0x37, 0x40, 0x5e, 0x86, 0xdb, 0x3b, 0x86, - 0x5e, 0xac, 0x18, 0x96, 0x85, 0x07, 0x05, 0x9d, 0x06, 0x66, 0xd6, 0x93, 0x78, 0xde, 0xdf, 0x86, - 0x1b, 0xd3, 0xd1, 0x03, 0xce, 0xe1, 0x16, 0x5c, 0x9f, 0x8e, 0xca, 0x39, 0x89, 0x14, 0x3d, 0x6f, - 0xa7, 0x63, 0xfa, 0x1c, 0x48, 0x3a, 0xff, 0x5b, 0x0a, 0x9c, 0x4d, 0x56, 0xde, 0xd1, 0xb6, 0x95, - 0x6b, 0x56, 0x53, 0xaf, 0x54, 0xec, 0x86, 0x6e, 0xea, 0x55, 0xdb, 0xa8, 0x99, 0xf5, 0x4a, 0x25, - 0xe9, 0xe6, 0xbd, 0x0e, 0x57, 0x26, 0xa3, 0x5a, 0x05, 0xb3, 0xdc, 0xa0, 0x97, 0x8b, 0x06, 0x97, - 0x26, 0x63, 0x19, 0xe5, 0x82, 0xa1, 0xa6, 0xb6, 0x5e, 0x7f, 0xef, 0x9f, 0x2e, 0xcd, 0xbc, 0xf7, - 0xc1, 0x25, 0xe5, 0x27, 0x1f, 0x5c, 0x52, 0xfe, 0xf1, 0x83, 0x4b, 0xca, 0x9b, 0x77, 0x4e, 0x96, - 0x5e, 0x0a, 0x65, 0xb4, 0xc7, 0x73, 0x28, 0x4d, 0xbe, 0xfa, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, - 0xbb, 0xf6, 0x9e, 0x03, 0x32, 0xb2, 0x01, 0x00, + 0xf1, 0xff, 0xb1, 0xf7, 0x6c, 0xb1, 0x8d, 0x5c, 0xd7, 0x69, 0x48, 0x4a, 0xa2, 0x0e, 0xf5, 0x18, + 0xdd, 0x95, 0x77, 0x65, 0x69, 0x9f, 0xb3, 0x0f, 0xef, 0x72, 0x63, 0x3b, 0xbb, 0xae, 0x63, 0xaf, + 0x53, 0xc7, 0x19, 0x91, 0x43, 0x89, 0xbb, 0x7c, 0x65, 0x86, 0x94, 0xb2, 0x76, 0x92, 0x29, 0x57, + 0x1c, 0x49, 0xd3, 0x50, 0x24, 0xc3, 0x21, 0x77, 0xb3, 0x46, 0x81, 0x36, 0x28, 0x90, 0x00, 0xe9, + 0x23, 0x6d, 0x5a, 0xa0, 0x46, 0x51, 0xa0, 0x1f, 0x35, 0x8a, 0x7e, 0xf4, 0xb7, 0x68, 0xd1, 0xf6, + 0x27, 0x7f, 0x06, 0x82, 0x00, 0x01, 0xda, 0xaf, 0x16, 0x30, 0x5a, 0x03, 0xed, 0x47, 0xdb, 0xbf, + 0xa2, 0xf9, 0xc8, 0x57, 0x71, 0xcf, 0xbd, 0x77, 0xe6, 0xce, 0x83, 0x5c, 0xad, 0xd7, 0x6e, 0x13, + 0x20, 0x5f, 0x12, 0xcf, 0x3d, 0xe7, 0xce, 0x7d, 0xdf, 0x73, 0xce, 0x3d, 0x0f, 0x8a, 0xef, 0xd7, + 0x7a, 0xaa, 0x1d, 0x07, 0xf2, 0x3e, 0x7c, 0x2b, 0x25, 0xb6, 0x7a, 0x42, 0x73, 0x12, 0x96, 0xb5, + 0x92, 0xb4, 0xac, 0x4f, 0xbe, 0xa7, 0x6a, 0x40, 0xe4, 0xc3, 0x8a, 0x69, 0x3d, 0xb9, 0x41, 0x95, + 0xe0, 0xd3, 0x79, 0x43, 0xa4, 0xa3, 0xc1, 0x62, 0xc9, 0x34, 0x57, 0xf7, 0xa3, 0x20, 0xb2, 0x09, + 0x0b, 0x7e, 0xbe, 0x6a, 0x7e, 0x71, 0x64, 0x19, 0xa0, 0xdc, 0x21, 0x17, 0x61, 0x91, 0xb1, 0xe4, + 0xa1, 0x3d, 0x07, 0x08, 0xd3, 0xe9, 0xc6, 0x13, 0x63, 0xa0, 0xc0, 0xc5, 0x27, 0x8d, 0x21, 0xd9, + 0x83, 0xd3, 0x68, 0xd6, 0xe1, 0xf5, 0xfd, 0x69, 0xb0, 0xf7, 0xdb, 0xfb, 0x47, 0x0e, 0x5f, 0xb5, + 0x5a, 0xe2, 0x64, 0x0c, 0x06, 0x96, 0x55, 0x97, 0xe6, 0x61, 0x30, 0xb0, 0xbc, 0xbe, 0xf8, 0x5d, + 0xa0, 0xe4, 0xbc, 0x0d, 0x1d, 0xd8, 0x9c, 0x42, 0x29, 0x1d, 0x1c, 0x8a, 0x7c, 0x70, 0x5c, 0x07, + 0xf5, 0xc0, 0xe9, 0x50, 0x9e, 0xd8, 0xe9, 0x60, 0xd3, 0x1e, 0xde, 0x66, 0x19, 0xda, 0xcd, 0x65, + 0x1f, 0x6e, 0x79, 0xfd, 0xdd, 0xdb, 0xfc, 0x2b, 0xc7, 0xe2, 0xca, 0x93, 0xc5, 0x0a, 0xf2, 0x12, + 0x9c, 0x8a, 0x04, 0x1c, 0x09, 0x3c, 0xd8, 0xcd, 0x55, 0x5a, 0x14, 0x0e, 0x4f, 0x75, 0x09, 0x16, + 0xc5, 0xaa, 0x18, 0xfa, 0x7e, 0x70, 0x66, 0x8e, 0xc3, 0xe8, 0xae, 0xe3, 0x9f, 0x1b, 0x8b, 0x4e, + 0x25, 0x4a, 0x24, 0x27, 0xe0, 0xa5, 0xc9, 0x8b, 0x40, 0x7c, 0xbe, 0xdd, 0x3f, 0x28, 0xf8, 0x07, + 0x57, 0x45, 0x89, 0xbf, 0xc3, 0xf9, 0x67, 0xff, 0x3e, 0x05, 0xa7, 0x12, 0x44, 0x19, 0x2a, 0x04, + 0xb8, 0xbd, 0x91, 0x73, 0xc8, 0x44, 0x08, 0xb9, 0x93, 0x2b, 0x12, 0x9c, 0xeb, 0xa7, 0xe6, 0x58, + 0x06, 0x72, 0xfe, 0x2d, 0xfe, 0x8b, 0x1e, 0x1e, 0xed, 0xa1, 0x50, 0xbd, 0xd0, 0x7f, 0x49, 0x19, + 0x56, 0x31, 0xad, 0x82, 0xe7, 0xf6, 0x31, 0x3b, 0x03, 0x32, 0x21, 0x99, 0x90, 0xb0, 0x83, 0xad, + 0x68, 0x48, 0x48, 0x94, 0x0b, 0x31, 0xd5, 0x41, 0x04, 0x42, 0x3e, 0x0f, 0x1b, 0xd2, 0x5d, 0x63, + 0x47, 0x76, 0x1e, 0x5a, 0xba, 0x9b, 0x67, 0xda, 0xfe, 0xad, 0x53, 0x0c, 0xed, 0xc1, 0x2d, 0x38, + 0x8f, 0x93, 0xe8, 0x76, 0x06, 0x76, 0x2c, 0x0f, 0x07, 0x76, 0x95, 0x05, 0xae, 0xdf, 0xa0, 0x58, + 0xe5, 0xce, 0x20, 0x92, 0x92, 0x83, 0xf6, 0x9a, 0x0f, 0xdf, 0x3b, 0xf0, 0x5c, 0x62, 0x8b, 0xe9, + 0x05, 0x83, 0x86, 0x54, 0x01, 0x6f, 0x34, 0x4f, 0x7f, 0x53, 0xe6, 0xe8, 0x12, 0x2c, 0x3e, 0x70, + 0xda, 0x43, 0x67, 0xc8, 0x6f, 0x6e, 0xbe, 0x24, 0x18, 0x4c, 0xbe, 0xb8, 0x3b, 0xe1, 0xa9, 0xe1, + 0x3a, 0x23, 0x52, 0x85, 0x53, 0xec, 0x06, 0x74, 0x8f, 0x91, 0x19, 0xe4, 0x7a, 0x26, 0x25, 0xc4, + 0x0e, 0x21, 0x09, 0x5e, 0x4d, 0x65, 0xc4, 0x62, 0xd4, 0xe6, 0xea, 0x61, 0x14, 0x44, 0x77, 0xf4, + 0xe9, 0x64, 0x6c, 0xb2, 0x05, 0x39, 0x56, 0x39, 0x13, 0x0b, 0xd8, 0x03, 0xc1, 0xa5, 0xa9, 0x5f, + 0x28, 0xa0, 0x7d, 0xb1, 0xe7, 0xff, 0x4f, 0xef, 0x6b, 0x7c, 0x8b, 0xb5, 0x8f, 0xe5, 0xf7, 0x0f, + 0x73, 0x11, 0x81, 0xfc, 0xdd, 0x43, 0xfb, 0x07, 0x45, 0x74, 0x35, 0x24, 0x1c, 0xd3, 0xa5, 0xe5, + 0x39, 0x3d, 0xf1, 0x06, 0xb4, 0x60, 0xf2, 0x5f, 0x4f, 0xb9, 0xd4, 0xc9, 0x6b, 0xb0, 0x48, 0xab, + 0x3d, 0x1c, 0xf7, 0xd8, 0x92, 0x4b, 0x87, 0x02, 0xed, 0x54, 0x59, 0x11, 0x9d, 0xb6, 0x9d, 0x19, + 0x33, 0x77, 0x1c, 0xfc, 0xa4, 0xdc, 0xb2, 0x77, 0x3c, 0x1a, 0xc8, 0x0b, 0x55, 0x28, 0x0a, 0xad, + 0x6a, 0xb3, 0xc1, 0x49, 0xb2, 0x14, 0x27, 0xe0, 0x96, 0xb7, 0xe6, 0x98, 0xaa, 0x50, 0xbb, 0x09, + 0x39, 0xa9, 0x6e, 0xda, 0x19, 0xe6, 0x39, 0x23, 0x3a, 0xc3, 0x7e, 0xf1, 0xc9, 0x7e, 0x00, 0x59, + 0x51, 0x25, 0x15, 0x0b, 0x8e, 0xfa, 0x9e, 0xd8, 0xe4, 0xf8, 0x3f, 0x85, 0xd1, 0x51, 0xc6, 0x4e, + 0xce, 0x9a, 0xf8, 0x3f, 0xde, 0x25, 0xa3, 0x36, 0x95, 0x07, 0xba, 0x9e, 0x3d, 0x40, 0x0b, 0x2c, + 0x9f, 0x79, 0xa6, 0xf0, 0x66, 0xd7, 0x63, 0x76, 0x59, 0xfc, 0x1b, 0x7f, 0xe3, 0x5f, 0xc2, 0x11, + 0x6d, 0xc2, 0xa4, 0x33, 0x33, 0x74, 0x65, 0xa4, 0xe2, 0x57, 0x06, 0x0b, 0xa0, 0xc2, 0x29, 0xd9, + 0x97, 0x01, 0x61, 0x78, 0x65, 0x48, 0x27, 0x43, 0x26, 0x74, 0x32, 0x48, 0x32, 0x79, 0x30, 0x7b, + 0xec, 0xc6, 0x11, 0x32, 0x79, 0xf4, 0x9c, 0xfa, 0xf3, 0x94, 0x50, 0x11, 0x6c, 0xf5, 0xfb, 0x23, + 0x6f, 0x34, 0x6c, 0x0f, 0x42, 0xaa, 0x50, 0x72, 0x0c, 0xcf, 0x23, 0x07, 0x7d, 0x1b, 0x53, 0x58, + 0xf4, 0x87, 0x22, 0x66, 0x87, 0xbf, 0x72, 0x73, 0xb7, 0x5f, 0x0e, 0xf3, 0xf8, 0x3a, 0xc5, 0xd6, + 0x65, 0x64, 0xba, 0x60, 0xa5, 0x5a, 0x77, 0x66, 0xcc, 0x33, 0xac, 0xce, 0x18, 0x16, 0xd9, 0x49, + 0xd8, 0xc4, 0x51, 0x5d, 0xe8, 0x56, 0xb0, 0xa3, 0xc3, 0xb5, 0xca, 0x7b, 0x9d, 0x7c, 0x01, 0x16, + 0xdc, 0x8e, 0x9c, 0xa9, 0x31, 0xaa, 0x85, 0x2b, 0x77, 0x58, 0xb4, 0xe8, 0xa0, 0x0e, 0xba, 0xe6, + 0x5c, 0x0e, 0xdd, 0x5a, 0x0a, 0x29, 0x8d, 0xb5, 0x2d, 0x21, 0x8d, 0xc6, 0xc9, 0xc8, 0x32, 0xa4, + 0xfc, 0x19, 0x4e, 0xb9, 0x1d, 0xb6, 0xbd, 0x82, 0x78, 0xd5, 0x26, 0xff, 0xa5, 0xfd, 0x1a, 0x5c, + 0x3f, 0xe9, 0x18, 0xd1, 0xad, 0x38, 0x61, 0xc0, 0x17, 0xcc, 0xd5, 0x76, 0x6c, 0xdc, 0x2e, 0x81, + 0x1c, 0x6e, 0xd7, 0x15, 0x87, 0x9f, 0x80, 0xb5, 0x86, 0xae, 0xf6, 0xd7, 0x69, 0x58, 0x0e, 0xab, + 0xc9, 0xc9, 0x4d, 0xc8, 0x48, 0x27, 0xd0, 0x99, 0x04, 0x5d, 0x3a, 0x9e, 0x3b, 0x88, 0x74, 0xa2, + 0x13, 0x87, 0xdc, 0x85, 0x65, 0x34, 0xdc, 0x43, 0xd6, 0x73, 0xe4, 0xf2, 0xc7, 0x97, 0xe9, 0xef, + 0x67, 0xd9, 0x0f, 0x3e, 0xbc, 0x30, 0x83, 0x4f, 0x65, 0x8b, 0x94, 0x96, 0x72, 0x7f, 0xb4, 0x50, + 0xd2, 0x82, 0x66, 0x26, 0x6b, 0x41, 0x79, 0x57, 0x26, 0x68, 0x41, 0x67, 0xa7, 0x68, 0x41, 0x03, + 0x4a, 0x59, 0x0b, 0x8a, 0xba, 0xf0, 0xf9, 0x49, 0xba, 0xf0, 0x80, 0x86, 0xe9, 0xc2, 0x03, 0x2d, + 0x66, 0x76, 0xa2, 0x16, 0x33, 0xa0, 0xe1, 0x5a, 0xcc, 0x2b, 0x7c, 0x8c, 0x86, 0xed, 0x47, 0x36, + 0x0e, 0x1e, 0xbf, 0x16, 0xb1, 0xf7, 0x66, 0xfb, 0x11, 0x1a, 0xd7, 0x6c, 0x2d, 0x80, 0xb0, 0xc8, + 0xd1, 0xfe, 0x40, 0x89, 0x68, 0x02, 0xc5, 0xfc, 0x5d, 0x85, 0x65, 0x76, 0x59, 0x39, 0x1d, 0x49, + 0xd6, 0x5c, 0x32, 0x97, 0x04, 0x94, 0xc9, 0x9b, 0x2f, 0xc0, 0x8a, 0x8f, 0xc6, 0x45, 0x2e, 0xf4, + 0xd4, 0x33, 0x7d, 0x6a, 0x1e, 0x76, 0xe6, 0x26, 0xac, 0xfa, 0x88, 0x5c, 0x9b, 0xc3, 0xc4, 0xcd, + 0x25, 0x53, 0x15, 0x05, 0x0d, 0x0e, 0xd7, 0x0e, 0xa3, 0x92, 0xc7, 0xa7, 0xd4, 0x2a, 0xed, 0x07, + 0xe9, 0x90, 0x96, 0x44, 0x7c, 0x86, 0xde, 0xa2, 0x5e, 0xdf, 0xe6, 0x83, 0xc4, 0xcf, 0xa2, 0x4b, + 0x13, 0xe6, 0x8c, 0xdb, 0x34, 0x59, 0x56, 0xdd, 0x04, 0xcf, 0xeb, 0x0b, 0x13, 0x27, 0x9b, 0x71, + 0xd4, 0xec, 0xde, 0xc7, 0x35, 0x2b, 0xaa, 0x63, 0x07, 0x4f, 0x7e, 0x7a, 0x75, 0x42, 0x4c, 0xa5, + 0x4b, 0x16, 0x39, 0x6b, 0xff, 0x97, 0xf8, 0x40, 0x0b, 0x50, 0xa9, 0xe8, 0x85, 0x2b, 0x4f, 0x27, + 0xc8, 0x4e, 0xb1, 0xca, 0x71, 0x94, 0xb0, 0x66, 0x75, 0x2c, 0xfe, 0x15, 0xd5, 0x1a, 0xb0, 0x88, + 0x3a, 0x0a, 0x51, 0x61, 0x26, 0x41, 0x05, 0x1f, 0xef, 0x7c, 0xa1, 0x5c, 0x35, 0x73, 0x94, 0x4e, + 0x54, 0x73, 0x04, 0xcf, 0xcb, 0x9a, 0x85, 0x70, 0x23, 0x67, 0x45, 0x14, 0xdd, 0xa9, 0x23, 0x10, + 0x28, 0x20, 0xb0, 0xa9, 0xa7, 0xdb, 0x61, 0x00, 0x47, 0xd3, 0x8e, 0x60, 0x63, 0xf2, 0x94, 0x4c, + 0xc9, 0xd0, 0x14, 0x5c, 0xa0, 0x29, 0xf9, 0x02, 0x95, 0xf5, 0x0c, 0xe9, 0x90, 0x9e, 0x41, 0xfb, + 0xb3, 0x34, 0x5c, 0x3e, 0xc1, 0x74, 0x4d, 0xf9, 0xe6, 0x17, 0xc3, 0xec, 0x59, 0x2a, 0x24, 0x19, + 0xd2, 0x4a, 0xf9, 0x01, 0x49, 0xa5, 0xd4, 0x64, 0xe6, 0xec, 0x57, 0x60, 0x85, 0x9d, 0x82, 0xcc, + 0x2c, 0xf1, 0x60, 0xdc, 0x3d, 0xc1, 0x31, 0xb8, 0x29, 0x7c, 0xa8, 0x22, 0xa4, 0x78, 0x32, 0xe2, + 0x89, 0x61, 0xf9, 0x30, 0xd2, 0x84, 0x1c, 0xa2, 0x1d, 0xb4, 0xdd, 0xee, 0x89, 0x9c, 0x79, 0x84, + 0x87, 0x96, 0x4c, 0xc6, 0xac, 0xa9, 0x29, 0xa0, 0x84, 0xbf, 0xc9, 0x35, 0x58, 0xe9, 0x8d, 0x8f, + 0x29, 0xe3, 0xc1, 0xd6, 0x02, 0xb7, 0xfe, 0x98, 0x35, 0x97, 0x7a, 0xe3, 0x63, 0x7d, 0x30, 0xc0, + 0x29, 0x45, 0x33, 0x91, 0x55, 0x8a, 0xc7, 0x76, 0xad, 0xc0, 0x9c, 0x43, 0x4c, 0x5a, 0x01, 0xdb, + 0xb7, 0x1c, 0x77, 0x0d, 0x98, 0xd1, 0x20, 0xcf, 0x50, 0xc5, 0x7e, 0x68, 0x3f, 0x49, 0x09, 0x79, + 0x77, 0xf2, 0xba, 0xff, 0xc5, 0x14, 0x25, 0x4c, 0xd1, 0x75, 0x50, 0xe9, 0xd0, 0x07, 0x87, 0x8a, + 0x3f, 0x47, 0xcb, 0xbd, 0xf1, 0xb1, 0x3f, 0x76, 0xf2, 0xc0, 0xcf, 0xc9, 0x03, 0xff, 0x9a, 0x90, + 0x87, 0x13, 0x8f, 0x87, 0xc9, 0x43, 0xae, 0xfd, 0x57, 0x1a, 0xae, 0x9d, 0xec, 0x10, 0xf8, 0xc5, + 0xbc, 0x25, 0xcc, 0x5b, 0x44, 0x75, 0x3a, 0x1b, 0x53, 0x9d, 0x26, 0xec, 0xbd, 0xb9, 0xa4, 0xbd, + 0x17, 0x53, 0xd4, 0xce, 0x27, 0x28, 0x6a, 0x13, 0x37, 0x68, 0xf6, 0x09, 0x1b, 0x74, 0x41, 0x5e, + 0x27, 0xff, 0xee, 0x2b, 0x30, 0xc2, 0xf2, 0xc0, 0x3b, 0x70, 0x4a, 0xc8, 0x03, 0xec, 0xe6, 0x08, + 0xf4, 0xef, 0xb9, 0xdb, 0x37, 0x92, 0x24, 0x01, 0x44, 0x4b, 0xe0, 0xd6, 0x57, 0xb9, 0x0c, 0x10, + 0x94, 0xff, 0xec, 0x70, 0xff, 0xe4, 0x3e, 0x9c, 0xc6, 0xf8, 0xee, 0xfb, 0xf2, 0xcb, 0x81, 0x3d, + 0x74, 0x0e, 0xf8, 0x7a, 0xb8, 0x14, 0xe3, 0x95, 0xdd, 0x7d, 0xa9, 0x39, 0xa6, 0x73, 0xb0, 0x33, + 0x63, 0xae, 0x79, 0x09, 0xf0, 0xa8, 0x60, 0xf1, 0x97, 0x0a, 0x68, 0x4f, 0x1e, 0x2f, 0x54, 0x54, + 0x45, 0x07, 0x7c, 0xc1, 0xcc, 0xb5, 0xa5, 0xd1, 0xbb, 0x0c, 0x4b, 0x43, 0xe7, 0x60, 0xe8, 0x78, + 0x47, 0x21, 0x0d, 0xc8, 0x22, 0x07, 0x8a, 0x81, 0x11, 0x51, 0x26, 0x9f, 0x8a, 0x33, 0x17, 0x44, + 0x5a, 0xc9, 0x97, 0x17, 0x13, 0xe7, 0x81, 0xae, 0x26, 0xb9, 0x81, 0xec, 0xc7, 0xdd, 0x4c, 0x36, + 0xa5, 0xa6, 0x4d, 0x1e, 0x0b, 0xf3, 0xc0, 0xed, 0x3a, 0xda, 0xdf, 0x2a, 0x82, 0x23, 0x48, 0x1a, + 0x3c, 0xf2, 0x8e, 0x64, 0xcc, 0x9b, 0x8e, 0xb1, 0x21, 0x49, 0x24, 0xb2, 0xdd, 0x23, 0x0f, 0xcf, + 0x88, 0x80, 0x50, 0x78, 0x46, 0x84, 0x3c, 0x83, 0x45, 0x22, 0x97, 0x9a, 0xef, 0x08, 0x8b, 0x20, + 0x7a, 0xe6, 0xed, 0xde, 0x22, 0x37, 0x60, 0x9e, 0x19, 0x01, 0x89, 0xe6, 0xae, 0x84, 0x9a, 0xbb, + 0x7b, 0xcb, 0x14, 0xe5, 0xda, 0x7b, 0xfe, 0xbb, 0x56, 0xac, 0x13, 0xbb, 0xb7, 0xc8, 0x6b, 0x27, + 0x33, 0xce, 0xcd, 0x0a, 0xe3, 0x5c, 0xdf, 0x30, 0xf7, 0xf5, 0x90, 0x61, 0xee, 0x95, 0xe9, 0xa3, + 0xc5, 0x5f, 0x23, 0x59, 0x38, 0xc2, 0x20, 0x4c, 0xd5, 0x4f, 0x14, 0x38, 0x37, 0x95, 0x82, 0x9c, + 0x85, 0xac, 0xde, 0x28, 0x37, 0x83, 0xf9, 0xa5, 0x7b, 0x46, 0x40, 0xc8, 0x36, 0x2c, 0x6c, 0xb5, + 0x3d, 0x77, 0x9f, 0x2e, 0xe3, 0xc4, 0xe7, 0x81, 0x58, 0xb5, 0x3e, 0xfa, 0xce, 0x8c, 0x19, 0xd0, + 0x12, 0x1b, 0x56, 0x71, 0x2f, 0x84, 0x52, 0x3f, 0xa5, 0x13, 0x74, 0x0d, 0xb1, 0x0a, 0x63, 0x64, + 0xf4, 0x9c, 0x89, 0x01, 0xa3, 0x5b, 0xf0, 0xa1, 0xe0, 0x45, 0x26, 0x37, 0xf0, 0x29, 0xe2, 0xaa, + 0x5e, 0x87, 0x6c, 0x43, 0xd8, 0x09, 0x48, 0xd6, 0xec, 0xc2, 0x26, 0xc0, 0xf4, 0x4b, 0xb5, 0xdf, + 0x56, 0x84, 0x42, 0xe0, 0xc9, 0x1d, 0x91, 0xb2, 0x66, 0x75, 0xa6, 0x67, 0xcd, 0xea, 0x7c, 0xcc, + 0xac, 0x59, 0xda, 0x5f, 0xf0, 0xa8, 0xe7, 0xe5, 0x4e, 0x23, 0xa2, 0x99, 0x7d, 0x56, 0xaf, 0x04, + 0x23, 0xb4, 0x3a, 0x2f, 0x4b, 0x59, 0x17, 0xe3, 0xdf, 0x9a, 0xec, 0x9c, 0x20, 0x2d, 0xd5, 0x3f, + 0x4a, 0xc3, 0xd9, 0x69, 0xe4, 0x89, 0x79, 0x9d, 0x95, 0xa7, 0xcb, 0xeb, 0x7c, 0x03, 0xb2, 0x0c, + 0xe6, 0x9b, 0xdc, 0xe3, 0x80, 0x73, 0x52, 0x3a, 0xe0, 0xa2, 0x98, 0x5c, 0x86, 0x39, 0xbd, 0x60, + 0x05, 0xa9, 0xc6, 0xd0, 0x36, 0xb6, 0xbd, 0xef, 0xa1, 0xd5, 0x25, 0x2f, 0x22, 0x5f, 0x8b, 0x67, + 0xd7, 0xe3, 0x39, 0xc6, 0x36, 0xa5, 0x01, 0x89, 0x25, 0x24, 0xc0, 0xf6, 0x06, 0x01, 0xf4, 0x79, + 0x4c, 0x6a, 0x33, 0x9e, 0xa9, 0x4f, 0x83, 0xb9, 0xc6, 0xd0, 0xf1, 0x9c, 0x91, 0x6c, 0xb7, 0x3a, + 0x40, 0x88, 0xc9, 0x4b, 0xb8, 0x55, 0x69, 0xfb, 0x31, 0x0b, 0x22, 0x30, 0x27, 0x07, 0x76, 0x41, + 0x33, 0x54, 0x0a, 0x36, 0x25, 0x14, 0x4a, 0x50, 0x69, 0x8f, 0x7b, 0xfb, 0x47, 0x2d, 0xb3, 0xc2, + 0x59, 0x0d, 0x46, 0xd0, 0x45, 0x28, 0xed, 0xa0, 0x67, 0x4a, 0x28, 0xda, 0x77, 0x14, 0x58, 0x4b, + 0xea, 0x07, 0x39, 0x0b, 0x99, 0x5e, 0x62, 0x22, 0xc1, 0x1e, 0xf3, 0x7d, 0xce, 0xd1, 0xbf, 0xf6, + 0x41, 0x7f, 0x78, 0xdc, 0x1e, 0xc9, 0xd6, 0xbd, 0x12, 0xd8, 0x04, 0xfa, 0xa3, 0x84, 0xff, 0x93, + 0x0b, 0xe2, 0x8c, 0x4e, 0xc7, 0x52, 0x0f, 0xe2, 0x1f, 0x4d, 0x07, 0x28, 0x77, 0x1a, 0xf5, 0x01, + 0x0b, 0x88, 0xff, 0x0a, 0x64, 0x68, 0xb3, 0x22, 0xab, 0x97, 0xae, 0x1f, 0xbd, 0x5a, 0xe1, 0x48, + 0xac, 0x55, 0x5e, 0xfb, 0xb8, 0x6b, 0x22, 0xb2, 0xb6, 0x07, 0xcb, 0x61, 0x0c, 0x62, 0x84, 0x43, + 0xa8, 0xe6, 0x6e, 0xab, 0xbc, 0xa6, 0xad, 0x7e, 0x9f, 0x79, 0x98, 0x6c, 0x3d, 0xff, 0x4f, 0x1f, + 0x5e, 0x00, 0xfa, 0x93, 0xd1, 0x24, 0x85, 0x58, 0xd5, 0xbe, 0x97, 0x82, 0xb5, 0xc0, 0xa9, 0x5d, + 0xec, 0xa1, 0x9f, 0x5b, 0x0f, 0x4b, 0x3d, 0xe4, 0x01, 0x28, 0x18, 0xad, 0x78, 0x07, 0xa7, 0x38, + 0x1e, 0x6d, 0xc3, 0xfa, 0x24, 0x7c, 0x72, 0x13, 0x16, 0x30, 0x0e, 0xd2, 0xa0, 0xbd, 0xef, 0xc8, + 0x67, 0x5f, 0x4f, 0x00, 0xcd, 0xa0, 0x5c, 0xfb, 0x91, 0x02, 0x1b, 0xdc, 0x2f, 0xa2, 0xda, 0x76, + 0x7b, 0xa8, 0x56, 0xdf, 0x77, 0x3e, 0x19, 0x0f, 0xe1, 0xed, 0xd0, 0x39, 0x76, 0x35, 0xec, 0xfe, + 0x12, 0xfb, 0xda, 0xe4, 0xde, 0x92, 0x1b, 0x18, 0xdb, 0x8b, 0x3f, 0x3b, 0x67, 0x58, 0x44, 0x86, + 0x1e, 0x05, 0xc8, 0x11, 0x19, 0x10, 0x43, 0xfb, 0x75, 0x38, 0x3f, 0xfd, 0x03, 0xe4, 0xab, 0xb0, + 0x84, 0xc9, 0xa2, 0x5a, 0x83, 0xc3, 0x61, 0xbb, 0xe3, 0x08, 0x55, 0x98, 0x50, 0x5f, 0xca, 0x65, + 0x2c, 0x54, 0x19, 0x8f, 0x10, 0x70, 0x88, 0x69, 0xa8, 0x38, 0x51, 0xc8, 0xf9, 0x48, 0xae, 0x4d, + 0xfb, 0x0d, 0x05, 0x48, 0xbc, 0x0e, 0xf2, 0x39, 0x58, 0x6c, 0x35, 0x0b, 0xd6, 0xa8, 0x3d, 0x1c, + 0xed, 0xf4, 0xc7, 0x43, 0x1e, 0x27, 0x8c, 0x39, 0x8c, 0x8f, 0xf6, 0x6d, 0xf6, 0x80, 0x72, 0xd4, + 0x1f, 0x0f, 0xcd, 0x10, 0x1e, 0x66, 0x39, 0x72, 0x9c, 0xaf, 0x77, 0xda, 0x8f, 0xc3, 0x59, 0x8e, + 0x38, 0x2c, 0x94, 0xe5, 0x88, 0xc3, 0xb4, 0xf7, 0x15, 0xd8, 0x14, 0xd6, 0x84, 0x9d, 0x84, 0xb6, + 0x14, 0x30, 0x2c, 0xca, 0x50, 0x04, 0xa6, 0x9d, 0xc6, 0xd2, 0xae, 0x8a, 0xc8, 0x41, 0xd8, 0x40, + 0xe4, 0x6d, 0x19, 0x2d, 0xf9, 0x22, 0x64, 0xac, 0x51, 0x7f, 0x70, 0x82, 0xd0, 0x41, 0xaa, 0x3f, + 0xa3, 0xa3, 0xfe, 0x00, 0xab, 0x40, 0x4a, 0xcd, 0x81, 0x35, 0xb9, 0x71, 0xa2, 0xc5, 0xa4, 0x0a, + 0xf3, 0x3c, 0x46, 0x5c, 0xe4, 0xa1, 0x7e, 0x4a, 0x9f, 0xb6, 0x56, 0x44, 0x7c, 0x22, 0x1e, 0x18, + 0xd5, 0x14, 0x75, 0x68, 0xbf, 0xab, 0x40, 0x8e, 0x72, 0x1b, 0x28, 0xc5, 0x3d, 0xeb, 0x92, 0x0e, + 0x33, 0x8e, 0xc2, 0xee, 0xc4, 0xaf, 0xfe, 0x44, 0xb7, 0xf1, 0xab, 0xb0, 0x12, 0x21, 0x20, 0x1a, + 0x46, 0xa6, 0xe8, 0xba, 0xfb, 0x6d, 0x96, 0x34, 0x85, 0xd9, 0x6c, 0x84, 0x60, 0xda, 0x77, 0x15, + 0x58, 0xa3, 0x32, 0x3f, 0x7b, 0xe7, 0x34, 0xc7, 0x5d, 0xb1, 0xdf, 0x29, 0x07, 0x25, 0xcc, 0x52, + 0x99, 0xd7, 0x3c, 0xe3, 0xa0, 0x38, 0xcc, 0xf4, 0x4b, 0xc9, 0x0e, 0x64, 0xf9, 0xfd, 0xe2, 0xf1, + 0x78, 0xa6, 0xe7, 0x25, 0x65, 0x42, 0x50, 0x31, 0x47, 0xa2, 0x3d, 0xc1, 0x23, 0x8c, 0xd3, 0x98, + 0x3e, 0xb5, 0xf6, 0xdf, 0x0a, 0x9c, 0x99, 0x40, 0x43, 0xde, 0x84, 0x59, 0xf4, 0xe8, 0xe3, 0xb3, + 0x77, 0x76, 0xc2, 0x27, 0x46, 0xfb, 0x47, 0xbb, 0xb7, 0xd8, 0x45, 0x74, 0x4c, 0x7f, 0x98, 0x8c, + 0x8a, 0xbc, 0x03, 0x0b, 0x7a, 0xa7, 0xc3, 0xc5, 0x99, 0x54, 0x48, 0x9c, 0x99, 0xf0, 0xc5, 0x97, + 0x7c, 0x7c, 0x26, 0xce, 0x30, 0xdf, 0x92, 0x4e, 0xc7, 0xe6, 0xde, 0x8a, 0x41, 0x7d, 0x1b, 0xbf, + 0x0c, 0xcb, 0x61, 0xe4, 0xa7, 0x72, 0xb0, 0x7a, 0x4f, 0x01, 0x35, 0xdc, 0x86, 0x4f, 0x27, 0xb2, + 0x52, 0xd2, 0x34, 0x3f, 0x61, 0x51, 0xfd, 0x7e, 0x0a, 0x9e, 0x4b, 0x1c, 0x61, 0xf2, 0x22, 0xcc, + 0xe9, 0x83, 0x41, 0xb9, 0xc8, 0x57, 0x15, 0xe7, 0x90, 0x50, 0x4b, 0x1c, 0x92, 0xf6, 0x18, 0x12, + 0x79, 0x05, 0xb2, 0xec, 0x39, 0xbd, 0x28, 0x0e, 0x1c, 0x0c, 0x15, 0xc3, 0xdf, 0xfa, 0xc3, 0x91, + 0x45, 0x05, 0x22, 0x29, 0xc1, 0x32, 0x0f, 0xb2, 0x62, 0x3a, 0x87, 0xce, 0x37, 0xfd, 0x10, 0xf7, + 0x18, 0x85, 0x5f, 0xa8, 0x9e, 0xed, 0x21, 0x2b, 0x93, 0xc3, 0x8c, 0x84, 0xa9, 0x48, 0x05, 0x54, + 0xac, 0x53, 0xae, 0x89, 0x85, 0x37, 0xc5, 0xb0, 0x37, 0xac, 0x11, 0x13, 0xea, 0x8a, 0x51, 0xfa, + 0xd3, 0xa5, 0x7b, 0x9e, 0x7b, 0xd8, 0x3b, 0x76, 0x7a, 0xa3, 0x4f, 0x6f, 0xba, 0x82, 0x6f, 0x9c, + 0x68, 0xba, 0xfe, 0x30, 0xc3, 0x36, 0x73, 0x94, 0x8c, 0x72, 0x34, 0x52, 0x44, 0x6b, 0xe4, 0x68, + 0xa8, 0xd0, 0xc4, 0xc3, 0x88, 0x14, 0x61, 0x9e, 0x85, 0x77, 0x11, 0x3b, 0xe3, 0x5c, 0x62, 0x13, + 0x18, 0xce, 0xee, 0x2d, 0xc6, 0xbe, 0x30, 0xd7, 0x42, 0xcf, 0x14, 0xa4, 0x64, 0x17, 0x72, 0x85, + 0xae, 0xd3, 0xee, 0x8d, 0x07, 0xcd, 0x93, 0x3d, 0x39, 0xae, 0xf3, 0xbe, 0x2c, 0xee, 0x33, 0x32, + 0x7c, 0xaa, 0xc4, 0x93, 0x5c, 0xae, 0x88, 0x34, 0x7d, 0x6f, 0xa3, 0x0c, 0x6a, 0x2a, 0x3f, 0x3b, + 0x65, 0x7c, 0xa2, 0x40, 0xa4, 0x0b, 0xbb, 0xd2, 0x71, 0x77, 0x24, 0x1b, 0x96, 0x2b, 0x6d, 0x6f, + 0xd4, 0x1c, 0xb6, 0x7b, 0x1e, 0x86, 0x85, 0x3c, 0x41, 0xd8, 0xac, 0x4d, 0x91, 0x72, 0x18, 0x75, + 0x8c, 0x23, 0x9f, 0x94, 0x69, 0x30, 0xc3, 0xd5, 0x51, 0x7e, 0xa9, 0xe4, 0xf6, 0xda, 0x5d, 0xf7, + 0x5d, 0xe1, 0x94, 0xc9, 0xf8, 0xa5, 0x03, 0x01, 0x34, 0x83, 0x72, 0xed, 0x2b, 0xb1, 0x79, 0x63, + 0xad, 0xcc, 0xc1, 0x3c, 0x77, 0xd9, 0x67, 0x2e, 0xec, 0x0d, 0xa3, 0x56, 0x2c, 0xd7, 0xb6, 0x55, + 0x85, 0x2c, 0x03, 0x34, 0xcc, 0x7a, 0xc1, 0xb0, 0x2c, 0xfa, 0x3b, 0x45, 0x7f, 0x73, 0xff, 0xf6, + 0x52, 0xab, 0xa2, 0xa6, 0x25, 0x17, 0xf7, 0x8c, 0xf6, 0x43, 0x05, 0x4e, 0x27, 0x4f, 0x25, 0x69, + 0x02, 0x06, 0x39, 0xe0, 0x8f, 0xcf, 0x9f, 0x9b, 0x3a, 0xef, 0x89, 0xe0, 0x68, 0xb0, 0x84, 0x11, + 0x73, 0xc2, 0x4f, 0x89, 0xc7, 0x22, 0xe6, 0xd5, 0xe7, 0x76, 0xcc, 0x94, 0xdb, 0xd1, 0x0a, 0xb0, + 0x3e, 0xa9, 0x8e, 0x70, 0x57, 0x57, 0x20, 0xa7, 0x37, 0x1a, 0x95, 0x72, 0x41, 0x6f, 0x96, 0xeb, + 0x35, 0x55, 0x21, 0x0b, 0x30, 0xbb, 0x6d, 0xd6, 0x5b, 0x0d, 0x35, 0xa5, 0x7d, 0x5f, 0x81, 0xa5, + 0x72, 0x60, 0xa6, 0xf5, 0xac, 0x9b, 0xef, 0x8d, 0xd0, 0xe6, 0x5b, 0xf7, 0xc3, 0x81, 0xf8, 0x1f, + 0x38, 0xd1, 0xce, 0xfb, 0x47, 0x05, 0x56, 0x63, 0x34, 0xc4, 0x82, 0x79, 0x7d, 0xcf, 0xaa, 0x97, + 0x8b, 0x05, 0xde, 0xb2, 0x0b, 0x81, 0x7d, 0x11, 0x66, 0x7c, 0x8a, 0x7d, 0x85, 0xb9, 0xd0, 0x3e, + 0xf2, 0xec, 0xbe, 0xdb, 0x91, 0xb2, 0xb5, 0xee, 0xcc, 0x98, 0xa2, 0x26, 0xbc, 0xc9, 0xde, 0x1d, + 0x0f, 0x1d, 0xac, 0x36, 0x15, 0x52, 0x84, 0xfa, 0xf0, 0x78, 0xc5, 0xe8, 0xf0, 0xd0, 0xa6, 0xe5, + 0xf1, 0xaa, 0x83, 0xfa, 0xb6, 0x96, 0x20, 0xc7, 0xa5, 0x16, 0x14, 0x08, 0x7e, 0xa0, 0xc0, 0xfa, + 0xa4, 0xb6, 0x52, 0x41, 0x28, 0xec, 0x4f, 0x7f, 0xda, 0xcf, 0xe0, 0x10, 0x76, 0xa4, 0x17, 0x68, + 0xe4, 0x2d, 0xc8, 0x95, 0x3d, 0x6f, 0xec, 0x0c, 0xad, 0x57, 0x5a, 0x66, 0x99, 0x2f, 0x90, 0x73, + 0xff, 0xf1, 0xe1, 0x85, 0x33, 0xe8, 0x96, 0x30, 0xb4, 0xbd, 0x57, 0xec, 0xf1, 0xd0, 0x0d, 0x45, + 0xbb, 0x97, 0x29, 0x28, 0xdf, 0xda, 0x1e, 0x77, 0x5c, 0x47, 0x70, 0xed, 0xc2, 0xe7, 0x98, 0xc3, + 0xe4, 0x5b, 0x44, 0xc0, 0xb4, 0x6f, 0x2b, 0xb0, 0x31, 0x79, 0x60, 0xe8, 0xcd, 0xd4, 0x64, 0x56, + 0x3f, 0xc2, 0xeb, 0x17, 0x6f, 0x26, 0xdf, 0x34, 0x48, 0xae, 0x53, 0x20, 0x52, 0x22, 0x3f, 0x7b, + 0x7a, 0x2a, 0x96, 0x32, 0x39, 0x4c, 0x24, 0x10, 0xb5, 0xff, 0x4c, 0xc1, 0x69, 0xba, 0xe8, 0xba, + 0x8e, 0xe7, 0xe9, 0xe3, 0xd1, 0x91, 0xd3, 0x1b, 0x71, 0x36, 0x8c, 0xbc, 0x06, 0x73, 0x47, 0x4f, + 0xa7, 0x72, 0x64, 0xe8, 0x84, 0x00, 0x1e, 0xe4, 0xc2, 0xc9, 0x82, 0xfe, 0x4f, 0x2e, 0x81, 0x9c, + 0xa4, 0x3a, 0x8d, 0x61, 0x32, 0x53, 0xeb, 0x8a, 0xb9, 0x30, 0xf0, 0xf3, 0xc9, 0xbe, 0x0e, 0xb3, + 0xa8, 0x66, 0xe0, 0x47, 0xaa, 0x60, 0x85, 0x93, 0x5b, 0x87, 0x4a, 0x08, 0x93, 0x11, 0x90, 0x97, + 0x01, 0x82, 0x0c, 0x03, 0xfc, 0xcc, 0x14, 0xe2, 0xb7, 0x9f, 0x64, 0xc0, 0x5c, 0x38, 0x3e, 0x68, + 0xf3, 0xb0, 0xfd, 0x79, 0x58, 0x15, 0xc3, 0x32, 0x10, 0xd1, 0xf5, 0xf8, 0x6b, 0xd8, 0x0a, 0x2b, + 0x28, 0x0f, 0x44, 0x84, 0xbd, 0x2b, 0xb1, 0x44, 0xbb, 0x18, 0x64, 0x37, 0x92, 0x4d, 0xf7, 0x4a, + 0x2c, 0x9b, 0x6e, 0x96, 0x61, 0xc9, 0x29, 0x73, 0xb5, 0x7f, 0x4b, 0xc1, 0xc2, 0x1e, 0x65, 0x56, + 0x50, 0x04, 0x9f, 0x2e, 0xd2, 0xdf, 0x86, 0x5c, 0xa5, 0xdf, 0xe6, 0xcf, 0x0e, 0xdc, 0x37, 0x81, + 0xf9, 0x06, 0x77, 0xfb, 0x6d, 0xf1, 0x82, 0xe1, 0x99, 0x32, 0xd2, 0x13, 0xfc, 0x9a, 0xef, 0xc2, + 0x1c, 0x7b, 0x06, 0xe2, 0xda, 0x25, 0xc1, 0xae, 0xfa, 0x2d, 0x7a, 0x89, 0x15, 0x4b, 0x9a, 0x72, + 0xf6, 0x94, 0x24, 0xf3, 0x4e, 0x3c, 0x56, 0xa8, 0xa4, 0x70, 0x98, 0x3d, 0x99, 0xc2, 0x41, 0x8a, + 0x89, 0x36, 0x77, 0x92, 0x98, 0x68, 0x1b, 0x77, 0x20, 0x27, 0xb5, 0xe7, 0xa9, 0xb8, 0xd7, 0x6f, + 0xa5, 0x60, 0x09, 0x7b, 0xe5, 0xdb, 0x84, 0xfc, 0x7c, 0xaa, 0x4f, 0xde, 0x08, 0xa9, 0x4f, 0xd6, + 0xe5, 0xf9, 0x62, 0x3d, 0x9b, 0xa2, 0x37, 0xb9, 0x0b, 0xab, 0x31, 0x44, 0xf2, 0x2a, 0xcc, 0xd2, + 0xe6, 0x0b, 0x71, 0x53, 0x8d, 0xae, 0x80, 0x20, 0x7e, 0x2e, 0xed, 0xb8, 0x67, 0x32, 0x6c, 0xed, + 0x7f, 0x14, 0x58, 0xe4, 0xe9, 0x2b, 0x7a, 0x07, 0xfd, 0x27, 0x0e, 0xe7, 0xb5, 0xe8, 0x70, 0xb2, + 0x28, 0x1d, 0x7c, 0x38, 0xff, 0xaf, 0x07, 0xf1, 0x4e, 0x68, 0x10, 0xcf, 0xf8, 0xd1, 0xf4, 0x44, + 0x77, 0xa6, 0x8c, 0xe1, 0xdf, 0x61, 0x7c, 0xd9, 0x30, 0x22, 0xf9, 0x1a, 0x2c, 0xd4, 0x9c, 0x47, + 0x21, 0xa9, 0xed, 0xda, 0x84, 0x4a, 0x5f, 0xf2, 0x11, 0xd9, 0x9e, 0xc2, 0x0b, 0xaf, 0xe7, 0x3c, + 0xb2, 0x63, 0x2f, 0x50, 0x41, 0x95, 0x54, 0x70, 0x0b, 0x93, 0x3d, 0xcd, 0xd2, 0xe7, 0x8e, 0x92, + 0x18, 0x78, 0xe6, 0x3b, 0x69, 0x80, 0xc0, 0xc7, 0x8c, 0x6e, 0xc0, 0xd0, 0xe3, 0xbb, 0x50, 0x78, + 0x23, 0x48, 0x5e, 0xe3, 0xe2, 0x4d, 0xfe, 0x1a, 0x57, 0xcc, 0xa6, 0x26, 0x47, 0x3b, 0x44, 0x15, + 0x6d, 0x81, 0x3b, 0x35, 0x75, 0x9c, 0x6e, 0x9b, 0x9d, 0xed, 0xe9, 0xad, 0x2b, 0x18, 0xdc, 0xd6, + 0x87, 0x4e, 0xc8, 0x43, 0x8c, 0xae, 0x4f, 0x45, 0x8a, 0x10, 0xf3, 0xdb, 0xcc, 0x3c, 0x9d, 0xdf, + 0x66, 0x03, 0x16, 0xdc, 0xde, 0x43, 0xa7, 0x37, 0xea, 0x0f, 0x1f, 0xa3, 0x36, 0x3a, 0x50, 0x73, + 0xd1, 0x21, 0x28, 0x8b, 0x32, 0x36, 0x0f, 0x78, 0x31, 0xfa, 0xf8, 0xf2, 0x34, 0xf8, 0x40, 0xdf, + 0xef, 0x74, 0x56, 0x9d, 0xbb, 0x9b, 0xc9, 0xce, 0xa9, 0xf3, 0x77, 0x33, 0xd9, 0xac, 0xba, 0x70, + 0x37, 0x93, 0x5d, 0x50, 0xc1, 0x94, 0xde, 0x77, 0xfc, 0xf7, 0x1b, 0xe9, 0xc9, 0x25, 0xfc, 0x9c, + 0xa2, 0xfd, 0x34, 0x05, 0x24, 0xde, 0x0c, 0xf2, 0x06, 0xe4, 0xd8, 0x01, 0x6b, 0x0f, 0xbd, 0x6f, + 0x70, 0xb3, 0x75, 0x16, 0xbe, 0x47, 0x02, 0xcb, 0xe1, 0x7b, 0x18, 0xd8, 0xf4, 0xbe, 0xd1, 0x25, + 0x5f, 0x85, 0x53, 0x38, 0xbc, 0x03, 0x67, 0xe8, 0xf6, 0x3b, 0x36, 0xc6, 0x5a, 0x6d, 0x77, 0x79, + 0xce, 0xc0, 0x17, 0x31, 0xb9, 0x6d, 0xbc, 0x78, 0xc2, 0x34, 0xa0, 0x2b, 0x59, 0x03, 0x31, 0x1b, + 0x0c, 0x91, 0x34, 0x41, 0x95, 0xe9, 0x0f, 0xc6, 0xdd, 0x2e, 0x9f, 0xd9, 0x3c, 0x15, 0x74, 0xa3, + 0x65, 0x13, 0x2a, 0x5e, 0x0e, 0x2a, 0x2e, 0x8d, 0xbb, 0x5d, 0xf2, 0x1a, 0x40, 0xbf, 0x67, 0x1f, + 0xbb, 0x9e, 0xc7, 0xde, 0x38, 0x7c, 0xaf, 0xd7, 0x00, 0x2a, 0x4f, 0x46, 0xbf, 0x57, 0x65, 0x40, + 0xf2, 0x4b, 0x80, 0x5e, 0xff, 0x18, 0x0e, 0x83, 0x59, 0xb5, 0xf0, 0x2c, 0x20, 0x02, 0x18, 0x76, + 0xb2, 0x3d, 0x74, 0x2c, 0xf7, 0x5d, 0xe1, 0x32, 0xf0, 0x36, 0xac, 0x72, 0x23, 0xd4, 0x3d, 0x77, + 0x74, 0xc4, 0x39, 0xec, 0x67, 0x61, 0xcf, 0x25, 0x16, 0xfb, 0x9f, 0x33, 0x00, 0xfa, 0x9e, 0x25, + 0x22, 0x4d, 0xdd, 0x80, 0x59, 0x2a, 0x37, 0x08, 0xfd, 0x03, 0x6a, 0x6f, 0xb1, 0x5e, 0x59, 0x7b, + 0x8b, 0x18, 0x74, 0x37, 0x9a, 0x68, 0x9c, 0x2d, 0x74, 0x0f, 0xb8, 0x1b, 0x99, 0xbd, 0x76, 0x28, + 0xd2, 0x2f, 0xc7, 0x22, 0x15, 0x80, 0x20, 0xf6, 0x13, 0x97, 0x64, 0x57, 0x83, 0x20, 0x2a, 0xbc, + 0x80, 0x67, 0x1b, 0x08, 0xe2, 0x47, 0xc9, 0xcb, 0x27, 0x40, 0x23, 0xf7, 0x20, 0xd3, 0x6c, 0xfb, + 0x3e, 0x9d, 0x13, 0x22, 0x62, 0x5d, 0xe4, 0x39, 0x1d, 0x83, 0xa8, 0x58, 0xcb, 0xa3, 0x76, 0x28, + 0xf5, 0x2d, 0x56, 0x42, 0x0c, 0x98, 0xe3, 0xf9, 0xba, 0x27, 0x44, 0x52, 0xe4, 0xe9, 0xba, 0x79, + 0xfc, 0x64, 0x04, 0xca, 0x3c, 0x05, 0xcf, 0xcc, 0x7d, 0x1b, 0xd2, 0x96, 0x55, 0xe5, 0x71, 0x20, + 0x96, 0x02, 0xa9, 0xc4, 0xb2, 0xaa, 0xec, 0x8d, 0xd2, 0xf3, 0x8e, 0x25, 0x32, 0x8a, 0x4c, 0x3e, + 0x0f, 0x39, 0x89, 0x7d, 0xe6, 0x11, 0x54, 0x70, 0x0c, 0x24, 0xaf, 0x19, 0xf9, 0xd0, 0x90, 0xb0, + 0x49, 0x05, 0xd4, 0x7b, 0xe3, 0x07, 0x8e, 0x3e, 0x18, 0xa0, 0x3b, 0xdd, 0x43, 0x67, 0xc8, 0xd8, + 0xb6, 0x6c, 0x10, 0x7a, 0x18, 0x6d, 0xed, 0x3b, 0xa2, 0x54, 0xd6, 0xc1, 0x44, 0x29, 0x49, 0x03, + 0x56, 0x2d, 0x67, 0x34, 0x1e, 0x30, 0x3b, 0x8d, 0x52, 0x7f, 0x48, 0x85, 0x10, 0x16, 0x6f, 0x05, + 0xa3, 0xb4, 0x7a, 0xb4, 0x50, 0x18, 0xc7, 0x1c, 0xf4, 0x87, 0x11, 0x81, 0x24, 0x4e, 0xac, 0x39, + 0xf2, 0x94, 0xd3, 0x5b, 0x35, 0x2c, 0xda, 0xe0, 0xad, 0x2a, 0x44, 0x9b, 0x40, 0xa0, 0x79, 0x39, + 0x21, 0x26, 0x18, 0x3e, 0x98, 0x49, 0x31, 0xc1, 0x42, 0x91, 0xc0, 0xde, 0xcf, 0x48, 0x61, 0x29, + 0xf9, 0x5c, 0xbc, 0x09, 0x70, 0xb7, 0xef, 0xf6, 0xaa, 0xce, 0xe8, 0xa8, 0xdf, 0x91, 0x42, 0x93, + 0xe5, 0x7e, 0xb5, 0xef, 0xf6, 0xec, 0x63, 0x04, 0xff, 0xf4, 0xc3, 0x0b, 0x12, 0x92, 0x29, 0xfd, + 0x4f, 0x3e, 0x03, 0x0b, 0xf4, 0x57, 0x33, 0xb0, 0x36, 0x61, 0xaa, 0x4a, 0xa4, 0x66, 0xc9, 0x1b, + 0x02, 0x04, 0x72, 0x07, 0xd3, 0x95, 0xb8, 0x83, 0x91, 0xc4, 0xbc, 0x8a, 0xdc, 0x24, 0xee, 0x60, + 0x14, 0x8d, 0x34, 0x2c, 0x21, 0x93, 0x1d, 0xbf, 0xe9, 0x22, 0xc3, 0x10, 0xcf, 0x8a, 0x82, 0xfa, + 0x38, 0xbe, 0xd6, 0x6c, 0x11, 0xe2, 0x54, 0xce, 0x05, 0x1b, 0x21, 0xc3, 0x46, 0x58, 0x3b, 0x45, + 0xf6, 0x80, 0xc2, 0x99, 0x5a, 0xd6, 0x08, 0xef, 0xa8, 0x63, 0xef, 0x23, 0x38, 0xd4, 0x08, 0x1f, + 0x99, 0x6c, 0xc1, 0x0a, 0xe3, 0xf1, 0xfd, 0x4c, 0x85, 0x9c, 0xc5, 0xc5, 0xb3, 0x2d, 0x48, 0x65, + 0x28, 0x7f, 0x3e, 0x42, 0x40, 0x4a, 0x30, 0x8b, 0x02, 0x21, 0x37, 0x31, 0xdf, 0x94, 0xa5, 0xe7, + 0xe8, 0x3e, 0xc2, 0x73, 0x05, 0xe5, 0x66, 0xf9, 0x5c, 0x41, 0x54, 0xf2, 0x65, 0x00, 0xa3, 0x37, + 0xec, 0x77, 0xbb, 0x18, 0x84, 0x37, 0x8b, 0xa2, 0xd4, 0xb9, 0xf0, 0x7e, 0xc4, 0x5a, 0x02, 0x24, + 0x1e, 0x30, 0x0e, 0x7f, 0xdb, 0x91, 0x50, 0xbd, 0x52, 0x5d, 0x5a, 0x19, 0xe6, 0xd8, 0x66, 0xc4, + 0x80, 0xd6, 0x3c, 0x45, 0x87, 0x14, 0x0e, 0x99, 0x05, 0xb4, 0xe6, 0xf0, 0x78, 0x40, 0x6b, 0x89, + 0x40, 0xbb, 0x07, 0x6b, 0x49, 0x1d, 0x0b, 0x89, 0xb0, 0xca, 0x49, 0x45, 0xd8, 0x3f, 0x4d, 0xc3, + 0x22, 0xd6, 0x26, 0x4e, 0x61, 0x1d, 0x96, 0xac, 0xf1, 0x03, 0x3f, 0xda, 0x93, 0x38, 0x8d, 0xb1, + 0x7d, 0x9e, 0x5c, 0x20, 0x3f, 0x6d, 0x85, 0x28, 0x88, 0x01, 0xcb, 0xe2, 0x26, 0xd8, 0x16, 0x16, + 0xe8, 0x7e, 0x2c, 0x69, 0x11, 0xb1, 0x30, 0x9e, 0xa9, 0x35, 0x42, 0x14, 0xdc, 0x07, 0xe9, 0xa7, + 0xb9, 0x0f, 0x32, 0x27, 0xba, 0x0f, 0xde, 0x81, 0x45, 0xf1, 0x35, 0x3c, 0xc9, 0x67, 0x9f, 0xed, + 0x24, 0x0f, 0x55, 0x46, 0x2a, 0xfe, 0x89, 0x3e, 0x37, 0xf5, 0x44, 0xc7, 0xf7, 0x42, 0xb1, 0xcb, + 0x06, 0x08, 0x8b, 0x1f, 0xec, 0x98, 0xca, 0x70, 0xbb, 0xd0, 0xf8, 0x18, 0xb7, 0xe4, 0xab, 0xb0, + 0x50, 0xe9, 0x8b, 0xa7, 0x22, 0x49, 0x47, 0xdf, 0x15, 0x40, 0x99, 0x5d, 0xf0, 0x31, 0xfd, 0xdb, + 0x2d, 0xfd, 0x49, 0xdc, 0x6e, 0x77, 0x00, 0xb8, 0x6b, 0x43, 0x90, 0x82, 0x0c, 0xb7, 0x8c, 0x88, + 0x74, 0x11, 0x7e, 0x2a, 0x90, 0x90, 0xe9, 0xe9, 0xc4, 0xad, 0x50, 0xf4, 0xfd, 0xfd, 0xfe, 0xb8, + 0x37, 0x0a, 0xe5, 0xec, 0x15, 0x9e, 0x90, 0x6d, 0x5e, 0x26, 0x1f, 0x0f, 0x11, 0xb2, 0x4f, 0x76, + 0x42, 0xc8, 0x97, 0x7c, 0x23, 0xba, 0xf9, 0x69, 0x23, 0xa4, 0xc5, 0x46, 0x68, 0xa2, 0xe9, 0x9c, + 0xf6, 0x43, 0x45, 0x0e, 0xe4, 0xff, 0x31, 0xa6, 0xfa, 0x75, 0x00, 0xff, 0xad, 0x5e, 0xcc, 0x35, + 0x93, 0x97, 0x7c, 0xa8, 0x3c, 0xca, 0x01, 0xae, 0xd4, 0x9b, 0xf4, 0x27, 0xd5, 0x9b, 0x26, 0xe4, + 0xea, 0x5f, 0x1f, 0xb5, 0x03, 0xe3, 0x0e, 0xb0, 0x7c, 0x4e, 0x16, 0x4f, 0xa6, 0xf4, 0xd6, 0x55, + 0xbc, 0x1b, 0x02, 0x3e, 0x78, 0x02, 0x0b, 0x2c, 0x11, 0x6a, 0x7f, 0xa5, 0xc0, 0x8a, 0xec, 0xbe, + 0xfd, 0xb8, 0xb7, 0x4f, 0xbe, 0xc0, 0xe2, 0x8a, 0x2a, 0x21, 0x91, 0x45, 0x42, 0xa2, 0x47, 0xee, + 0xe3, 0xde, 0x3e, 0x63, 0x80, 0xda, 0x8f, 0xe4, 0xc6, 0x52, 0x42, 0xf2, 0x00, 0x16, 0x1b, 0xfd, + 0x6e, 0x97, 0xb2, 0x35, 0xc3, 0x87, 0x5c, 0x00, 0xa0, 0x15, 0x45, 0x5f, 0x0c, 0x44, 0x83, 0xb6, + 0x2e, 0x73, 0x39, 0xf7, 0xcc, 0x80, 0x9e, 0xf7, 0x2e, 0xa7, 0x0b, 0xaa, 0x7d, 0x0f, 0xfd, 0xad, + 0xe4, 0x3a, 0xb5, 0x1f, 0x2b, 0x40, 0xe2, 0x4d, 0x92, 0x8f, 0x2c, 0xe5, 0xff, 0x81, 0x85, 0x8d, + 0xb0, 0x7e, 0x99, 0xa7, 0x61, 0xfd, 0xb4, 0xef, 0xa6, 0x60, 0x4d, 0xee, 0x12, 0xbd, 0x3f, 0x3e, + 0x5e, 0xa7, 0x0c, 0x58, 0x96, 0xef, 0x0e, 0x9f, 0xe5, 0xc2, 0xab, 0x42, 0xbe, 0x6e, 0xc2, 0xf7, + 0x57, 0x84, 0x88, 0xbc, 0x09, 0xb9, 0xd6, 0xb1, 0xeb, 0x1b, 0xf2, 0xa5, 0x83, 0x2b, 0x75, 0x7c, + 0xec, 0xda, 0x49, 0x37, 0xa0, 0x8c, 0xff, 0x4c, 0x83, 0x91, 0xff, 0x3d, 0x05, 0x56, 0xca, 0x7a, + 0x95, 0xe7, 0x39, 0x60, 0xaf, 0x3c, 0x97, 0xe0, 0x5c, 0x59, 0xaf, 0xda, 0x8d, 0x7a, 0xa5, 0x5c, + 0xb8, 0x6f, 0x27, 0x86, 0x2f, 0x3e, 0x07, 0xcf, 0xc7, 0x51, 0x82, 0xd7, 0xa0, 0xb3, 0xb0, 0x1e, + 0x2f, 0x16, 0x21, 0x8e, 0x93, 0x89, 0x45, 0x34, 0xe4, 0x74, 0xfe, 0x2d, 0x58, 0x11, 0xe1, 0x7c, + 0x9b, 0x15, 0x0b, 0x13, 0x06, 0xac, 0x40, 0x6e, 0xd7, 0x30, 0xcb, 0xa5, 0xfb, 0x76, 0xa9, 0x55, + 0xa9, 0xa8, 0x33, 0x64, 0x09, 0x16, 0x38, 0xa0, 0xa0, 0xab, 0x0a, 0x59, 0x84, 0x6c, 0xb9, 0x66, + 0x19, 0x85, 0x96, 0x69, 0xa8, 0xa9, 0xfc, 0x5b, 0xb0, 0xdc, 0x18, 0xba, 0x0f, 0xdb, 0x23, 0xe7, + 0x9e, 0xf3, 0x18, 0x1f, 0x73, 0xe6, 0x21, 0x6d, 0xea, 0x7b, 0xea, 0x0c, 0x01, 0x98, 0x6b, 0xdc, + 0x2b, 0x58, 0xb7, 0x6e, 0xa9, 0x0a, 0xc9, 0xc1, 0xfc, 0x76, 0xa1, 0x61, 0xdf, 0xab, 0x5a, 0x6a, + 0x8a, 0xfe, 0xd0, 0xf7, 0x2c, 0xfc, 0x91, 0xce, 0x7f, 0x16, 0x56, 0x91, 0x3b, 0xab, 0xb8, 0xde, + 0xc8, 0xe9, 0x39, 0x43, 0x6c, 0xc3, 0x22, 0x64, 0x2d, 0x87, 0x1e, 0xab, 0x23, 0x87, 0x35, 0xa0, + 0x3a, 0xee, 0x8e, 0xdc, 0x41, 0xd7, 0xf9, 0xa6, 0xaa, 0xe4, 0xef, 0xc0, 0x8a, 0xd9, 0x1f, 0x8f, + 0xdc, 0xde, 0xa1, 0x35, 0xa2, 0x18, 0x87, 0x8f, 0xc9, 0x73, 0xb0, 0xda, 0xaa, 0xe9, 0xd5, 0xad, + 0xf2, 0x76, 0xab, 0xde, 0xb2, 0xec, 0xaa, 0xde, 0x2c, 0xec, 0xb0, 0xa7, 0xa4, 0x6a, 0xdd, 0x6a, + 0xda, 0xa6, 0x51, 0x30, 0x6a, 0x4d, 0x55, 0xc9, 0x7f, 0x0f, 0x15, 0x4d, 0xfb, 0xfd, 0x5e, 0xa7, + 0xd4, 0xde, 0x1f, 0xf5, 0x87, 0xd8, 0x60, 0x0d, 0xce, 0x5b, 0x46, 0xa1, 0x5e, 0x2b, 0xda, 0x25, + 0xbd, 0xd0, 0xac, 0x9b, 0x49, 0xf1, 0xb3, 0x37, 0xe0, 0x74, 0x02, 0x4e, 0xbd, 0xd9, 0x50, 0x15, + 0x72, 0x01, 0x36, 0x13, 0xca, 0xf6, 0x8c, 0x2d, 0xbd, 0xd5, 0xdc, 0xa9, 0xa9, 0xa9, 0x09, 0xc4, + 0x96, 0x55, 0x57, 0xd3, 0xf9, 0xdf, 0x52, 0x60, 0xb9, 0xe5, 0x71, 0x3b, 0xee, 0x16, 0xba, 0x70, + 0x5e, 0x84, 0xb3, 0x2d, 0xcb, 0x30, 0xed, 0x66, 0xfd, 0x9e, 0x51, 0xb3, 0x5b, 0x96, 0xbe, 0x1d, + 0x6d, 0xcd, 0x05, 0xd8, 0x94, 0x30, 0x4c, 0xa3, 0x50, 0xdf, 0x35, 0x4c, 0xbb, 0xa1, 0x5b, 0xd6, + 0x5e, 0xdd, 0x2c, 0xaa, 0x0a, 0xfd, 0x62, 0x02, 0x42, 0xb5, 0xa4, 0xb3, 0xd6, 0x84, 0xca, 0x6a, + 0xc6, 0x9e, 0x5e, 0xb1, 0xb7, 0xea, 0x4d, 0x35, 0x9d, 0xaf, 0x52, 0x66, 0x07, 0xa3, 0xd8, 0x32, + 0xeb, 0xc3, 0x2c, 0x64, 0x6a, 0xf5, 0x9a, 0x11, 0x7d, 0x80, 0x5c, 0x84, 0xac, 0xde, 0x68, 0x98, + 0xf5, 0x5d, 0x5c, 0x62, 0x00, 0x73, 0x45, 0xa3, 0x46, 0x5b, 0x96, 0xa6, 0x25, 0x0d, 0xb3, 0x5e, + 0xad, 0x37, 0x8d, 0xa2, 0x9a, 0xc9, 0x9b, 0xe2, 0x3c, 0x13, 0x95, 0xee, 0xf7, 0xd9, 0x6b, 0x5f, + 0xd1, 0x28, 0xe9, 0xad, 0x4a, 0x93, 0x4f, 0xd1, 0x7d, 0xdb, 0x34, 0xbe, 0xd4, 0x32, 0xac, 0xa6, + 0xa5, 0x2a, 0x44, 0x85, 0xc5, 0x9a, 0x61, 0x14, 0x2d, 0xdb, 0x34, 0x76, 0xcb, 0xc6, 0x9e, 0x9a, + 0xa2, 0x75, 0xb2, 0xff, 0xe9, 0x17, 0xf2, 0xef, 0x2b, 0x40, 0x58, 0x04, 0x60, 0x91, 0x56, 0x06, + 0x57, 0xcc, 0x79, 0xd8, 0xd8, 0xa1, 0x53, 0x8d, 0x5d, 0xab, 0xd6, 0x8b, 0xd1, 0x21, 0x3b, 0x0d, + 0x24, 0x52, 0x5e, 0x2f, 0x95, 0x54, 0x85, 0x6c, 0xc2, 0xa9, 0x08, 0xbc, 0x68, 0xd6, 0x1b, 0x6a, + 0x6a, 0x23, 0x95, 0x55, 0xc8, 0x99, 0x58, 0xe1, 0x3d, 0xc3, 0x68, 0xa8, 0x69, 0x3a, 0x45, 0x91, + 0x02, 0xb1, 0x25, 0x18, 0x79, 0x26, 0xff, 0x6d, 0x05, 0x4e, 0xb3, 0x66, 0x8a, 0xfd, 0xe5, 0x37, + 0xf5, 0x2c, 0xac, 0xf3, 0xb8, 0xe6, 0x49, 0x0d, 0x5d, 0x03, 0x35, 0x54, 0xca, 0x9a, 0xf9, 0x1c, + 0xac, 0x86, 0xa0, 0xd8, 0x8e, 0x14, 0x3d, 0x3d, 0x42, 0xe0, 0x2d, 0xc3, 0x6a, 0xda, 0x46, 0xa9, + 0x54, 0x37, 0x9b, 0xac, 0x21, 0xe9, 0xbc, 0x06, 0xab, 0x05, 0x67, 0x38, 0xa2, 0x72, 0x68, 0xcf, + 0x73, 0xfb, 0x3d, 0x6c, 0xc2, 0x12, 0x2c, 0x18, 0x5f, 0x6e, 0x1a, 0x35, 0xab, 0x5c, 0xaf, 0xa9, + 0x33, 0xf9, 0xb3, 0x11, 0x1c, 0xb1, 0x8f, 0x2d, 0x6b, 0x47, 0x9d, 0xc9, 0xb7, 0x61, 0x49, 0x58, + 0x4c, 0xb3, 0x55, 0x71, 0x1e, 0x36, 0xc4, 0x5a, 0xc3, 0x13, 0x25, 0xda, 0x85, 0x75, 0x58, 0x8b, + 0x97, 0x1b, 0x4d, 0x55, 0xa1, 0xb3, 0x10, 0x29, 0xa1, 0xf0, 0x54, 0xfe, 0x37, 0x15, 0x58, 0xf2, + 0x5f, 0x90, 0x50, 0x67, 0x7d, 0x01, 0x36, 0xab, 0x25, 0xdd, 0x2e, 0x1a, 0xbb, 0xe5, 0x82, 0x61, + 0xdf, 0x2b, 0xd7, 0x8a, 0x91, 0x8f, 0x3c, 0x0f, 0xcf, 0x25, 0x20, 0xe0, 0x57, 0xd6, 0x61, 0x2d, + 0x5a, 0xd4, 0xa4, 0x5b, 0x35, 0x45, 0x87, 0x3e, 0x5a, 0xe2, 0xef, 0xd3, 0x74, 0xfe, 0x4f, 0x14, + 0x58, 0xe7, 0x79, 0xfb, 0xf9, 0x5b, 0x16, 0x4b, 0xe8, 0x82, 0x11, 0x8f, 0xf3, 0x70, 0xad, 0x69, + 0xb6, 0xac, 0xa6, 0x51, 0x14, 0xe4, 0x74, 0xd1, 0x96, 0x4d, 0xa3, 0x6a, 0xd4, 0x9a, 0x91, 0xb6, + 0xdd, 0x84, 0x17, 0xa6, 0xe0, 0xd6, 0xea, 0x4d, 0xf1, 0x9b, 0xee, 0xd5, 0x17, 0xe0, 0xf2, 0x14, + 0x64, 0x1f, 0x31, 0x95, 0xdf, 0x85, 0x65, 0x4b, 0xaf, 0x56, 0x4a, 0xfd, 0xe1, 0xbe, 0xa3, 0x8f, + 0x47, 0x47, 0x3d, 0xb2, 0x09, 0x67, 0x4a, 0x75, 0xb3, 0x60, 0xd8, 0xd8, 0x83, 0x48, 0x23, 0x4e, + 0xc1, 0x8a, 0x5c, 0x78, 0xdf, 0xa0, 0xbb, 0x8b, 0xc0, 0xb2, 0x0c, 0xac, 0xd5, 0xd5, 0x54, 0xfe, + 0x2b, 0xb0, 0x18, 0x4a, 0x7e, 0x77, 0x06, 0x4e, 0xc9, 0xbf, 0x1b, 0x4e, 0xaf, 0xe3, 0xf6, 0x0e, + 0xd5, 0x99, 0x68, 0x81, 0x39, 0xee, 0xf5, 0x68, 0x01, 0x1e, 0x37, 0x72, 0x41, 0xd3, 0x19, 0x1e, + 0xbb, 0xbd, 0xf6, 0xc8, 0xe9, 0xa8, 0xa9, 0xfc, 0x4b, 0xb0, 0x14, 0x0a, 0xb9, 0x4d, 0xd7, 0x55, + 0xa5, 0xce, 0xef, 0x87, 0xaa, 0x51, 0x2c, 0xb7, 0xaa, 0xea, 0x2c, 0x3d, 0x68, 0x76, 0xca, 0xdb, + 0x3b, 0x2a, 0xe4, 0xbf, 0xaf, 0x50, 0x99, 0x10, 0xc7, 0xbd, 0x5a, 0xd2, 0xc5, 0x4a, 0xa4, 0xbb, + 0x80, 0x05, 0xf2, 0x37, 0x2c, 0x8b, 0x99, 0x05, 0x9c, 0x85, 0x75, 0xfe, 0xc3, 0xd6, 0x6b, 0x45, + 0x7b, 0x47, 0x37, 0x8b, 0x7b, 0xba, 0x49, 0xb7, 0xc6, 0x7d, 0x35, 0x85, 0xfb, 0x5d, 0x82, 0xd8, + 0xcd, 0x7a, 0xab, 0xb0, 0xa3, 0xa6, 0xe9, 0xf6, 0x0a, 0xc1, 0x1b, 0xe5, 0x9a, 0x9a, 0xc1, 0xd3, + 0x23, 0x86, 0x8d, 0xd5, 0xd2, 0xf2, 0xd9, 0xfc, 0x47, 0x0a, 0x9c, 0xb1, 0xdc, 0xc3, 0x5e, 0x7b, + 0x34, 0x1e, 0x3a, 0x7a, 0xf7, 0xb0, 0x3f, 0x74, 0x47, 0x47, 0xc7, 0xd6, 0xd8, 0x1d, 0x39, 0xe4, + 0x06, 0x5c, 0xb5, 0xca, 0xdb, 0x35, 0xbd, 0x49, 0x77, 0xbf, 0x5e, 0xd9, 0xae, 0x9b, 0xe5, 0xe6, + 0x4e, 0xd5, 0xb6, 0x5a, 0xe5, 0xd8, 0xc6, 0xb8, 0x02, 0x17, 0x27, 0xa3, 0x56, 0x8c, 0x6d, 0xbd, + 0x70, 0x5f, 0x55, 0xa6, 0x57, 0xb8, 0xa5, 0x57, 0xf4, 0x5a, 0xc1, 0x28, 0xda, 0xbb, 0xb7, 0xd4, + 0x14, 0xb9, 0x0a, 0x97, 0x26, 0xa3, 0x96, 0xca, 0x0d, 0x8b, 0xa2, 0xa5, 0xa7, 0x7f, 0x77, 0xc7, + 0xaa, 0x52, 0xac, 0x4c, 0xfe, 0x8f, 0x15, 0x58, 0x9f, 0x14, 0x77, 0x89, 0x5c, 0x03, 0xcd, 0xa8, + 0x35, 0x4d, 0xbd, 0x5c, 0xb4, 0x0b, 0xa6, 0x51, 0x34, 0x6a, 0xcd, 0xb2, 0x5e, 0xb1, 0x6c, 0xab, + 0xde, 0xa2, 0xab, 0x29, 0xb0, 0xde, 0xb8, 0x0c, 0x17, 0xa6, 0xe0, 0xd5, 0xcb, 0xc5, 0x82, 0xaa, + 0x90, 0x5b, 0xf0, 0xe2, 0x14, 0x24, 0xeb, 0xbe, 0xd5, 0x34, 0xaa, 0x72, 0x89, 0x9a, 0xca, 0x17, + 0x60, 0x63, 0x72, 0x60, 0x16, 0x7a, 0x8b, 0x84, 0x47, 0x3a, 0x0b, 0x99, 0x22, 0xbd, 0xb8, 0x42, + 0xf9, 0x1e, 0xf2, 0x2e, 0xa8, 0xd1, 0xd8, 0x0a, 0x31, 0x33, 0x1b, 0xb3, 0x55, 0xab, 0xb1, 0x5b, + 0x6e, 0x05, 0x72, 0xf5, 0xe6, 0x8e, 0x61, 0xf2, 0x8c, 0x19, 0x98, 0x22, 0xa3, 0x55, 0xa3, 0x1b, + 0xa7, 0x6e, 0x96, 0xdf, 0xc6, 0xeb, 0x6e, 0x1d, 0xd6, 0xac, 0x8a, 0x5e, 0xb8, 0x87, 0x7b, 0xba, + 0x5c, 0xb3, 0x0b, 0x3b, 0x7a, 0xad, 0x66, 0x54, 0x54, 0xc0, 0xc1, 0x9c, 0xe4, 0x4f, 0x49, 0x3e, + 0x03, 0xd7, 0xeb, 0xf7, 0x9a, 0xba, 0xdd, 0xa8, 0xb4, 0xb6, 0xcb, 0x35, 0xdb, 0xba, 0x5f, 0x2b, + 0x08, 0xd6, 0xac, 0x10, 0xbf, 0x11, 0xae, 0xc3, 0x95, 0xa9, 0xd8, 0x41, 0x6e, 0x8b, 0x6b, 0xa0, + 0x4d, 0xc5, 0xe4, 0x1d, 0xc9, 0xff, 0x48, 0x81, 0xcd, 0x29, 0xef, 0xfd, 0xe4, 0x45, 0xb8, 0xb1, + 0x63, 0xe8, 0xc5, 0x8a, 0x61, 0x59, 0x78, 0x50, 0xd0, 0x69, 0x60, 0xe6, 0x38, 0x89, 0xe7, 0xfd, + 0x0d, 0xb8, 0x3a, 0x1d, 0x3d, 0xe0, 0x1c, 0xae, 0xc3, 0x95, 0xe9, 0xa8, 0x9c, 0x93, 0x48, 0xd1, + 0xf3, 0x76, 0x3a, 0xa6, 0xcf, 0x81, 0xa4, 0xf3, 0xbf, 0xa3, 0xc0, 0xe9, 0x64, 0xa5, 0x1b, 0x6d, + 0x5b, 0xb9, 0x66, 0x35, 0xf5, 0x4a, 0xc5, 0x6e, 0xe8, 0xa6, 0x5e, 0xb5, 0x8d, 0x9a, 0x59, 0xaf, + 0x54, 0x92, 0x6e, 0xde, 0x2b, 0x70, 0x71, 0x32, 0xaa, 0x55, 0x30, 0xcb, 0x0d, 0x7a, 0xb9, 0x68, + 0x70, 0x7e, 0x32, 0x96, 0x51, 0x2e, 0x18, 0x6a, 0x6a, 0xeb, 0xcd, 0x0f, 0xfe, 0xf5, 0xfc, 0xcc, + 0x07, 0x1f, 0x9d, 0x57, 0x7e, 0xfc, 0xd1, 0x79, 0xe5, 0x5f, 0x3e, 0x3a, 0xaf, 0xbc, 0x7d, 0xf3, + 0x64, 0x69, 0xa1, 0x50, 0x46, 0x7b, 0x30, 0x87, 0xd2, 0xe4, 0x2b, 0xff, 0x1b, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xe8, 0x4c, 0x0b, 0xea, 0xb1, 0x01, 0x00, } func (this *PluginSpecV1) Equal(that interface{}) bool { @@ -48849,21 +48846,7 @@ func (m *AccessGraphSync) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= n415 i = encodeVarintTypes(dAtA, i, uint64(n415)) i-- - dAtA[i] = 0x1a - if len(m.Azure) > 0 { - for iNdEx := len(m.Azure) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Azure[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - } + dAtA[i] = 0x12 if len(m.AWS) > 0 { for iNdEx := len(m.AWS) - 1; iNdEx >= 0; iNdEx-- { { @@ -59994,12 +59977,6 @@ func (m *AccessGraphSync) Size() (n int) { n += 1 + l + sovTypes(uint64(l)) } } - if len(m.Azure) > 0 { - for _, e := range m.Azure { - l = e.Size() - n += 1 + l + sovTypes(uint64(l)) - } - } l = github_com_gogo_protobuf_types.SizeOfStdDuration(m.PollInterval) n += 1 + l + sovTypes(uint64(l)) if m.XXX_unrecognized != nil { @@ -130213,40 +130190,6 @@ func (m *AccessGraphSync) Unmarshal(dAtA []byte) error { } iNdEx = postIndex case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Azure", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Azure = append(m.Azure, &AccessGraphAzureSync{}) - if err := m.Azure[len(m.Azure)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field PollInterval", wireType) } From e100c195dfc1d181f96b2741f0e8d8649d63b643 Mon Sep 17 00:00:00 2001 From: Matt Brock Date: Mon, 18 Nov 2024 17:33:26 -0600 Subject: [PATCH 13/21] Correct from parent branch --- api/proto/teleport/legacy/types/types.proto | 2 +- api/types/discoveryconfig/derived.gen.go | 107 ++- api/types/types.pb.go | 716 ++++++++++---------- 3 files changed, 399 insertions(+), 426 deletions(-) diff --git a/api/proto/teleport/legacy/types/types.proto b/api/proto/teleport/legacy/types/types.proto index 651805d44aa7c..64988b36f59ef 100644 --- a/api/proto/teleport/legacy/types/types.proto +++ b/api/proto/teleport/legacy/types/types.proto @@ -7817,6 +7817,6 @@ message AccessGraphAWSSync { message AccessGraphAzureSync { repeated string Regions = 1 [(gogoproto.jsontag) = "regions,omitempty"]; string SubscriptionID = 2 [(gogoproto.jsontag) = "subscription_id,omitempty"]; - string UmiClientId = 3 [(gogoproto.jsontag) = "umi_client_id,omitempty"]; + string UMIClientID = 3 [(gogoproto.jsontag) = "umi_client_id,omitempty"]; string Integration = 4 [(gogoproto.jsontag) = "integration,omitempty"]; } diff --git a/api/types/discoveryconfig/derived.gen.go b/api/types/discoveryconfig/derived.gen.go index 77bd2004e34ca..9053fdd312473 100644 --- a/api/types/discoveryconfig/derived.gen.go +++ b/api/types/discoveryconfig/derived.gen.go @@ -117,7 +117,6 @@ func deriveTeleportEqual_6(this, that *types.AccessGraphSync) bool { return (this == nil && that == nil) || this != nil && that != nil && deriveTeleportEqual_12(this.AWS, that.AWS) && - deriveTeleportEqual_13(this.Azure, that.Azure) && this.PollInterval == that.PollInterval } @@ -145,12 +144,12 @@ func deriveTeleportEqual_7(this, that map[string]string) bool { func deriveTeleportEqual_8(this, that *types.AWSMatcher) bool { return (this == nil && that == nil) || this != nil && that != nil && - deriveTeleportEqual_14(this.Types, that.Types) && - deriveTeleportEqual_14(this.Regions, that.Regions) && - deriveTeleportEqual_15(this.AssumeRole, that.AssumeRole) && - deriveTeleportEqual_16(this.Tags, that.Tags) && - deriveTeleportEqual_17(this.Params, that.Params) && - deriveTeleportEqual_18(this.SSM, that.SSM) && + deriveTeleportEqual_13(this.Types, that.Types) && + deriveTeleportEqual_13(this.Regions, that.Regions) && + deriveTeleportEqual_14(this.AssumeRole, that.AssumeRole) && + deriveTeleportEqual_15(this.Tags, that.Tags) && + deriveTeleportEqual_16(this.Params, that.Params) && + deriveTeleportEqual_17(this.SSM, that.SSM) && this.Integration == that.Integration && this.KubeAppDiscovery == that.KubeAppDiscovery && this.SetupAccessForARN == that.SetupAccessForARN @@ -160,34 +159,34 @@ func deriveTeleportEqual_8(this, that *types.AWSMatcher) bool { func deriveTeleportEqual_9(this, that *types.AzureMatcher) bool { return (this == nil && that == nil) || this != nil && that != nil && - deriveTeleportEqual_14(this.Subscriptions, that.Subscriptions) && - deriveTeleportEqual_14(this.ResourceGroups, that.ResourceGroups) && - deriveTeleportEqual_14(this.Types, that.Types) && - deriveTeleportEqual_14(this.Regions, that.Regions) && - deriveTeleportEqual_16(this.ResourceTags, that.ResourceTags) && - deriveTeleportEqual_17(this.Params, that.Params) + deriveTeleportEqual_13(this.Subscriptions, that.Subscriptions) && + deriveTeleportEqual_13(this.ResourceGroups, that.ResourceGroups) && + deriveTeleportEqual_13(this.Types, that.Types) && + deriveTeleportEqual_13(this.Regions, that.Regions) && + deriveTeleportEqual_15(this.ResourceTags, that.ResourceTags) && + deriveTeleportEqual_16(this.Params, that.Params) } // deriveTeleportEqual_10 returns whether this and that are equal. func deriveTeleportEqual_10(this, that *types.GCPMatcher) bool { return (this == nil && that == nil) || this != nil && that != nil && - deriveTeleportEqual_14(this.Types, that.Types) && - deriveTeleportEqual_14(this.Locations, that.Locations) && - deriveTeleportEqual_16(this.Tags, that.Tags) && - deriveTeleportEqual_14(this.ProjectIDs, that.ProjectIDs) && - deriveTeleportEqual_14(this.ServiceAccounts, that.ServiceAccounts) && - deriveTeleportEqual_17(this.Params, that.Params) && - deriveTeleportEqual_16(this.Labels, that.Labels) + deriveTeleportEqual_13(this.Types, that.Types) && + deriveTeleportEqual_13(this.Locations, that.Locations) && + deriveTeleportEqual_15(this.Tags, that.Tags) && + deriveTeleportEqual_13(this.ProjectIDs, that.ProjectIDs) && + deriveTeleportEqual_13(this.ServiceAccounts, that.ServiceAccounts) && + deriveTeleportEqual_16(this.Params, that.Params) && + deriveTeleportEqual_15(this.Labels, that.Labels) } // deriveTeleportEqual_11 returns whether this and that are equal. func deriveTeleportEqual_11(this, that *types.KubernetesMatcher) bool { return (this == nil && that == nil) || this != nil && that != nil && - deriveTeleportEqual_14(this.Types, that.Types) && - deriveTeleportEqual_14(this.Namespaces, that.Namespaces) && - deriveTeleportEqual_16(this.Labels, that.Labels) + deriveTeleportEqual_13(this.Types, that.Types) && + deriveTeleportEqual_13(this.Namespaces, that.Namespaces) && + deriveTeleportEqual_15(this.Labels, that.Labels) } // deriveTeleportEqual_12 returns whether this and that are equal. @@ -199,7 +198,7 @@ func deriveTeleportEqual_12(this, that []*types.AccessGraphAWSSync) bool { return false } for i := 0; i < len(this); i++ { - if !(deriveTeleportEqual_19(this[i], that[i])) { + if !(deriveTeleportEqual_18(this[i], that[i])) { return false } } @@ -207,23 +206,7 @@ func deriveTeleportEqual_12(this, that []*types.AccessGraphAWSSync) bool { } // deriveTeleportEqual_13 returns whether this and that are equal. -func deriveTeleportEqual_13(this, that []*types.AccessGraphAzureSync) bool { - if this == nil || that == nil { - return this == nil && that == nil - } - if len(this) != len(that) { - return false - } - for i := 0; i < len(this); i++ { - if !(deriveTeleportEqual_20(this[i], that[i])) { - return false - } - } - return true -} - -// deriveTeleportEqual_14 returns whether this and that are equal. -func deriveTeleportEqual_14(this, that []string) bool { +func deriveTeleportEqual_13(this, that []string) bool { if this == nil || that == nil { return this == nil && that == nil } @@ -238,16 +221,16 @@ func deriveTeleportEqual_14(this, that []string) bool { return true } -// deriveTeleportEqual_15 returns whether this and that are equal. -func deriveTeleportEqual_15(this, that *types.AssumeRole) bool { +// deriveTeleportEqual_14 returns whether this and that are equal. +func deriveTeleportEqual_14(this, that *types.AssumeRole) bool { return (this == nil && that == nil) || this != nil && that != nil && this.RoleARN == that.RoleARN && this.ExternalID == that.ExternalID } -// deriveTeleportEqual_16 returns whether this and that are equal. -func deriveTeleportEqual_16(this, that map[string]utils.Strings) bool { +// deriveTeleportEqual_15 returns whether this and that are equal. +func deriveTeleportEqual_15(this, that map[string]utils.Strings) bool { if this == nil || that == nil { return this == nil && that == nil } @@ -259,15 +242,15 @@ func deriveTeleportEqual_16(this, that map[string]utils.Strings) bool { if !ok { return false } - if !(deriveTeleportEqual_14(v, thatv)) { + if !(deriveTeleportEqual_13(v, thatv)) { return false } } return true } -// deriveTeleportEqual_17 returns whether this and that are equal. -func deriveTeleportEqual_17(this, that *types.InstallerParams) bool { +// deriveTeleportEqual_16 returns whether this and that are equal. +func deriveTeleportEqual_16(this, that *types.InstallerParams) bool { return (this == nil && that == nil) || this != nil && that != nil && this.JoinMethod == that.JoinMethod && @@ -276,38 +259,28 @@ func deriveTeleportEqual_17(this, that *types.InstallerParams) bool { this.InstallTeleport == that.InstallTeleport && this.SSHDConfig == that.SSHDConfig && this.PublicProxyAddr == that.PublicProxyAddr && - deriveTeleportEqual_21(this.Azure, that.Azure) && + deriveTeleportEqual_19(this.Azure, that.Azure) && this.EnrollMode == that.EnrollMode } -// deriveTeleportEqual_18 returns whether this and that are equal. -func deriveTeleportEqual_18(this, that *types.AWSSSM) bool { +// deriveTeleportEqual_17 returns whether this and that are equal. +func deriveTeleportEqual_17(this, that *types.AWSSSM) bool { return (this == nil && that == nil) || this != nil && that != nil && this.DocumentName == that.DocumentName } -// deriveTeleportEqual_19 returns whether this and that are equal. -func deriveTeleportEqual_19(this, that *types.AccessGraphAWSSync) bool { - return (this == nil && that == nil) || - this != nil && that != nil && - deriveTeleportEqual_14(this.Regions, that.Regions) && - deriveTeleportEqual_15(this.AssumeRole, that.AssumeRole) && - this.Integration == that.Integration -} - -// deriveTeleportEqual_20 returns whether this and that are equal. -func deriveTeleportEqual_20(this, that *types.AccessGraphAzureSync) bool { +// deriveTeleportEqual_18 returns whether this and that are equal. +func deriveTeleportEqual_18(this, that *types.AccessGraphAWSSync) bool { return (this == nil && that == nil) || this != nil && that != nil && - deriveTeleportEqual_14(this.Regions, that.Regions) && - this.SubscriptionID == that.SubscriptionID && - this.UmiClientId == that.UmiClientId && + deriveTeleportEqual_13(this.Regions, that.Regions) && + deriveTeleportEqual_14(this.AssumeRole, that.AssumeRole) && this.Integration == that.Integration } -// deriveTeleportEqual_21 returns whether this and that are equal. -func deriveTeleportEqual_21(this, that *types.AzureInstallerParams) bool { +// deriveTeleportEqual_19 returns whether this and that are equal. +func deriveTeleportEqual_19(this, that *types.AzureInstallerParams) bool { return (this == nil && that == nil) || this != nil && that != nil && this.ClientID == that.ClientID diff --git a/api/types/types.pb.go b/api/types/types.pb.go index 2f38b37ce1c79..662bd6e55dd11 100644 --- a/api/types/types.pb.go +++ b/api/types/types.pb.go @@ -20787,7 +20787,7 @@ var xxx_messageInfo_AccessGraphAWSSync proto.InternalMessageInfo type AccessGraphAzureSync struct { Regions []string `protobuf:"bytes,1,rep,name=Regions,proto3" json:"regions,omitempty"` SubscriptionID string `protobuf:"bytes,2,opt,name=SubscriptionID,proto3" json:"subscription_id,omitempty"` - UmiClientId string `protobuf:"bytes,3,opt,name=UmiClientId,proto3" json:"umi_client_id,omitempty"` + UMIClientID string `protobuf:"bytes,3,opt,name=UMIClientID,proto3" json:"umi_client_id,omitempty"` Integration string `protobuf:"bytes,4,opt,name=Integration,proto3" json:"integration,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -22739,369 +22739,369 @@ var fileDescriptor_9198ee693835762e = []byte{ 0xc9, 0xb7, 0x13, 0xb8, 0x9d, 0xdd, 0x84, 0x9d, 0x6c, 0xe8, 0x2b, 0x59, 0xec, 0xe4, 0xac, 0xbc, 0xf1, 0xff, 0xb1, 0xf7, 0x6c, 0xb1, 0x8d, 0x5c, 0xd7, 0x69, 0x48, 0x4a, 0xa2, 0x0e, 0xf5, 0x18, 0xdd, 0x95, 0x77, 0x65, 0x69, 0x9f, 0xb3, 0x0f, 0xef, 0x72, 0x63, 0x3b, 0xbb, 0xae, 0x63, 0xaf, - 0x53, 0xc7, 0x19, 0x91, 0x43, 0x89, 0xbb, 0x7c, 0x65, 0x86, 0x94, 0xb2, 0x76, 0x92, 0x29, 0x57, - 0x1c, 0x49, 0xd3, 0x50, 0x24, 0xc3, 0x21, 0x77, 0xb3, 0x46, 0x81, 0x36, 0x28, 0x90, 0x00, 0xe9, + 0x53, 0xc7, 0x19, 0x91, 0x43, 0x69, 0x76, 0xf9, 0xca, 0x0c, 0x29, 0x65, 0xed, 0x24, 0x53, 0xae, + 0x38, 0x92, 0xd8, 0x50, 0x24, 0xc3, 0x21, 0x77, 0xb3, 0x46, 0x81, 0x36, 0x28, 0x90, 0x00, 0xe9, 0x23, 0x6d, 0x5a, 0xa0, 0x46, 0x51, 0xa0, 0x1f, 0x35, 0x8a, 0x7e, 0xf4, 0xb7, 0x68, 0xd1, 0xf6, 0x27, 0x7f, 0x06, 0x82, 0x00, 0x01, 0xda, 0xaf, 0x16, 0x30, 0x5a, 0x03, 0xed, 0x47, 0xdb, 0xbf, 0xa2, 0xf9, 0xc8, 0x57, 0x71, 0xcf, 0xbd, 0x77, 0xe6, 0xce, 0x83, 0x5c, 0xad, 0xd7, 0x6e, 0x13, 0x20, 0x5f, 0x12, 0xcf, 0x3d, 0xe7, 0xce, 0x7d, 0xdf, 0x73, 0xce, 0x3d, 0x0f, 0x8a, 0xef, 0xd7, - 0x7a, 0xaa, 0x1d, 0x07, 0xf2, 0x3e, 0x7c, 0x2b, 0x25, 0xb6, 0x7a, 0x42, 0x73, 0x12, 0x96, 0xb5, - 0x92, 0xb4, 0xac, 0x4f, 0xbe, 0xa7, 0x6a, 0x40, 0xe4, 0xc3, 0x8a, 0x69, 0x3d, 0xb9, 0x41, 0x95, - 0xe0, 0xd3, 0x79, 0x43, 0xa4, 0xa3, 0xc1, 0x62, 0xc9, 0x34, 0x57, 0xf7, 0xa3, 0x20, 0xb2, 0x09, - 0x0b, 0x7e, 0xbe, 0x6a, 0x7e, 0x71, 0x64, 0x19, 0xa0, 0xdc, 0x21, 0x17, 0x61, 0x91, 0xb1, 0xe4, - 0xa1, 0x3d, 0x07, 0x08, 0xd3, 0xe9, 0xc6, 0x13, 0x63, 0xa0, 0xc0, 0xc5, 0x27, 0x8d, 0x21, 0xd9, - 0x83, 0xd3, 0x68, 0xd6, 0xe1, 0xf5, 0xfd, 0x69, 0xb0, 0xf7, 0xdb, 0xfb, 0x47, 0x0e, 0x5f, 0xb5, - 0x5a, 0xe2, 0x64, 0x0c, 0x06, 0x96, 0x55, 0x97, 0xe6, 0x61, 0x30, 0xb0, 0xbc, 0xbe, 0xf8, 0x5d, - 0xa0, 0xe4, 0xbc, 0x0d, 0x1d, 0xd8, 0x9c, 0x42, 0x29, 0x1d, 0x1c, 0x8a, 0x7c, 0x70, 0x5c, 0x07, - 0xf5, 0xc0, 0xe9, 0x50, 0x9e, 0xd8, 0xe9, 0x60, 0xd3, 0x1e, 0xde, 0x66, 0x19, 0xda, 0xcd, 0x65, - 0x1f, 0x6e, 0x79, 0xfd, 0xdd, 0xdb, 0xfc, 0x2b, 0xc7, 0xe2, 0xca, 0x93, 0xc5, 0x0a, 0xf2, 0x12, - 0x9c, 0x8a, 0x04, 0x1c, 0x09, 0x3c, 0xd8, 0xcd, 0x55, 0x5a, 0x14, 0x0e, 0x4f, 0x75, 0x09, 0x16, - 0xc5, 0xaa, 0x18, 0xfa, 0x7e, 0x70, 0x66, 0x8e, 0xc3, 0xe8, 0xae, 0xe3, 0x9f, 0x1b, 0x8b, 0x4e, - 0x25, 0x4a, 0x24, 0x27, 0xe0, 0xa5, 0xc9, 0x8b, 0x40, 0x7c, 0xbe, 0xdd, 0x3f, 0x28, 0xf8, 0x07, - 0x57, 0x45, 0x89, 0xbf, 0xc3, 0xf9, 0x67, 0xff, 0x3e, 0x05, 0xa7, 0x12, 0x44, 0x19, 0x2a, 0x04, - 0xb8, 0xbd, 0x91, 0x73, 0xc8, 0x44, 0x08, 0xb9, 0x93, 0x2b, 0x12, 0x9c, 0xeb, 0xa7, 0xe6, 0x58, - 0x06, 0x72, 0xfe, 0x2d, 0xfe, 0x8b, 0x1e, 0x1e, 0xed, 0xa1, 0x50, 0xbd, 0xd0, 0x7f, 0x49, 0x19, - 0x56, 0x31, 0xad, 0x82, 0xe7, 0xf6, 0x31, 0x3b, 0x03, 0x32, 0x21, 0x99, 0x90, 0xb0, 0x83, 0xad, - 0x68, 0x48, 0x48, 0x94, 0x0b, 0x31, 0xd5, 0x41, 0x04, 0x42, 0x3e, 0x0f, 0x1b, 0xd2, 0x5d, 0x63, - 0x47, 0x76, 0x1e, 0x5a, 0xba, 0x9b, 0x67, 0xda, 0xfe, 0xad, 0x53, 0x0c, 0xed, 0xc1, 0x2d, 0x38, - 0x8f, 0x93, 0xe8, 0x76, 0x06, 0x76, 0x2c, 0x0f, 0x07, 0x76, 0x95, 0x05, 0xae, 0xdf, 0xa0, 0x58, - 0xe5, 0xce, 0x20, 0x92, 0x92, 0x83, 0xf6, 0x9a, 0x0f, 0xdf, 0x3b, 0xf0, 0x5c, 0x62, 0x8b, 0xe9, + 0x7a, 0xaa, 0x15, 0x07, 0xf2, 0x3e, 0x7c, 0x2b, 0x25, 0xb6, 0x7a, 0x42, 0x73, 0x12, 0x96, 0xb5, + 0x92, 0xb4, 0xac, 0x4f, 0xbe, 0xa7, 0xaa, 0x40, 0xe4, 0xc3, 0x8a, 0x69, 0x3d, 0xb9, 0x41, 0x95, + 0xe0, 0xd3, 0x79, 0x43, 0xa4, 0xa3, 0xc1, 0x66, 0xc9, 0x34, 0x57, 0xf7, 0xa3, 0x20, 0xb2, 0x09, + 0x0b, 0x7e, 0xbe, 0x6a, 0x7e, 0x71, 0x64, 0x19, 0xc0, 0x6c, 0x93, 0x8b, 0xb0, 0xc8, 0x58, 0xf2, + 0xd0, 0x9e, 0x03, 0x84, 0xe9, 0x74, 0xe3, 0x89, 0x31, 0x50, 0xe0, 0xe2, 0x93, 0xc6, 0x90, 0xec, + 0xc1, 0x69, 0x34, 0xeb, 0xf0, 0xfa, 0xfe, 0x34, 0x38, 0xfb, 0xad, 0xfd, 0x23, 0x97, 0xaf, 0x5a, + 0x2d, 0x71, 0x32, 0x06, 0x03, 0xdb, 0xae, 0x49, 0xf3, 0x30, 0x18, 0xd8, 0x5e, 0x5f, 0xfc, 0x2e, + 0x50, 0x72, 0xde, 0x86, 0x36, 0x6c, 0x4e, 0xa1, 0x94, 0x0e, 0x0e, 0x45, 0x3e, 0x38, 0xae, 0x83, + 0x7a, 0xe0, 0xb6, 0x29, 0x4f, 0xec, 0xb6, 0xb1, 0x69, 0x0f, 0x6f, 0xb3, 0x0c, 0xed, 0xd6, 0xb2, + 0x0f, 0xb7, 0xbd, 0xfe, 0xee, 0x6d, 0xfe, 0x95, 0x63, 0x71, 0xe5, 0xc9, 0x62, 0x05, 0x79, 0x09, + 0x4e, 0x45, 0x02, 0x8e, 0x04, 0x1e, 0xec, 0xd6, 0x2a, 0x2d, 0x0a, 0x87, 0xa7, 0xba, 0x04, 0x8b, + 0x62, 0x55, 0x0c, 0x7d, 0x3f, 0x38, 0x2b, 0xc7, 0x61, 0x74, 0xd7, 0xf1, 0xcf, 0x8d, 0x45, 0xa7, + 0x12, 0x25, 0x92, 0x13, 0xf0, 0xd2, 0xe4, 0x45, 0x20, 0x3e, 0xdf, 0xee, 0x1f, 0x14, 0xfc, 0x83, + 0xab, 0xa2, 0xc4, 0xdf, 0xe1, 0xfc, 0xb3, 0x7f, 0x9f, 0x82, 0x53, 0x09, 0xa2, 0x0c, 0x15, 0x02, + 0x3a, 0xbd, 0x91, 0x7b, 0xc8, 0x44, 0x08, 0xb9, 0x93, 0x2b, 0x12, 0x9c, 0xeb, 0xa7, 0xe6, 0x58, + 0x06, 0x72, 0xfe, 0x2d, 0xfe, 0x8b, 0x1e, 0x1e, 0xad, 0xa1, 0x50, 0xbd, 0xd0, 0x7f, 0x89, 0x09, + 0xab, 0x98, 0x56, 0xc1, 0xeb, 0xf4, 0x31, 0x3b, 0x03, 0x32, 0x21, 0x99, 0x90, 0xb0, 0x83, 0xad, + 0xa8, 0x4b, 0x48, 0x94, 0x0b, 0xb1, 0xd4, 0x41, 0x04, 0x42, 0x3e, 0x0f, 0x1b, 0xd2, 0x5d, 0xe3, + 0x44, 0x76, 0x1e, 0x5a, 0xba, 0x5b, 0x67, 0x5a, 0xfe, 0xad, 0x53, 0x0c, 0xed, 0xc1, 0x2d, 0x38, + 0x8f, 0x93, 0xd8, 0x69, 0x0f, 0x9c, 0x58, 0x1e, 0x0e, 0xec, 0x2a, 0x0b, 0x5c, 0xbf, 0x41, 0xb1, + 0xcc, 0xf6, 0x20, 0x92, 0x92, 0x83, 0xf6, 0x9a, 0x0f, 0xdf, 0x3b, 0xf0, 0x5c, 0x62, 0x8b, 0xe9, 0x05, 0x83, 0x86, 0x54, 0x01, 0x6f, 0x34, 0x4f, 0x7f, 0x53, 0xe6, 0xe8, 0x12, 0x2c, 0x3e, 0x70, - 0xda, 0x43, 0x67, 0xc8, 0x6f, 0x6e, 0xbe, 0x24, 0x18, 0x4c, 0xbe, 0xb8, 0x3b, 0xe1, 0xa9, 0xe1, - 0x3a, 0x23, 0x52, 0x85, 0x53, 0xec, 0x06, 0x74, 0x8f, 0x91, 0x19, 0xe4, 0x7a, 0x26, 0x25, 0xc4, - 0x0e, 0x21, 0x09, 0x5e, 0x4d, 0x65, 0xc4, 0x62, 0xd4, 0xe6, 0xea, 0x61, 0x14, 0x44, 0x77, 0xf4, + 0x5b, 0x43, 0x77, 0xc8, 0x6f, 0x6e, 0xbe, 0x24, 0x18, 0x4c, 0xbe, 0xb8, 0xdb, 0xe1, 0xa9, 0xe1, + 0x3a, 0x23, 0x52, 0x81, 0x53, 0xec, 0x06, 0xec, 0x1c, 0x23, 0x33, 0xc8, 0xf5, 0x4c, 0x4a, 0x88, + 0x1d, 0x42, 0x12, 0xbc, 0x9a, 0x4c, 0xc4, 0x62, 0xd4, 0xd6, 0xea, 0x61, 0x14, 0x44, 0x77, 0xf4, 0xe9, 0x64, 0x6c, 0xb2, 0x05, 0x39, 0x56, 0x39, 0x13, 0x0b, 0xd8, 0x03, 0xc1, 0xa5, 0xa9, 0x5f, - 0x28, 0xa0, 0x7d, 0xb1, 0xe7, 0xff, 0x4f, 0xef, 0x6b, 0x7c, 0x8b, 0xb5, 0x8f, 0xe5, 0xf7, 0x0f, - 0x73, 0x11, 0x81, 0xfc, 0xdd, 0x43, 0xfb, 0x07, 0x45, 0x74, 0x35, 0x24, 0x1c, 0xd3, 0xa5, 0xe5, - 0x39, 0x3d, 0xf1, 0x06, 0xb4, 0x60, 0xf2, 0x5f, 0x4f, 0xb9, 0xd4, 0xc9, 0x6b, 0xb0, 0x48, 0xab, - 0x3d, 0x1c, 0xf7, 0xd8, 0x92, 0x4b, 0x87, 0x02, 0xed, 0x54, 0x59, 0x11, 0x9d, 0xb6, 0x9d, 0x19, - 0x33, 0x77, 0x1c, 0xfc, 0xa4, 0xdc, 0xb2, 0x77, 0x3c, 0x1a, 0xc8, 0x0b, 0x55, 0x28, 0x0a, 0xad, - 0x6a, 0xb3, 0xc1, 0x49, 0xb2, 0x14, 0x27, 0xe0, 0x96, 0xb7, 0xe6, 0x98, 0xaa, 0x50, 0xbb, 0x09, + 0x28, 0xa0, 0x7d, 0xb1, 0xe7, 0xff, 0x4f, 0xef, 0x6b, 0x7c, 0x8b, 0x75, 0x8e, 0xe5, 0xf7, 0x0f, + 0x6b, 0x11, 0x81, 0xfc, 0xdd, 0x43, 0xfb, 0x07, 0x45, 0x74, 0x35, 0x24, 0x1c, 0xd3, 0xa5, 0xe5, + 0xb9, 0x3d, 0xf1, 0x06, 0xb4, 0x60, 0xf1, 0x5f, 0x4f, 0xb9, 0xd4, 0xc9, 0x6b, 0xb0, 0x48, 0xab, + 0x3d, 0x1c, 0xf7, 0xd8, 0x92, 0x4b, 0x87, 0x02, 0xed, 0x54, 0x58, 0x11, 0x9d, 0xb6, 0x9d, 0x19, + 0x2b, 0x77, 0x1c, 0xfc, 0xa4, 0xdc, 0xb2, 0x77, 0x3c, 0x1a, 0xc8, 0x0b, 0x55, 0x28, 0x0a, 0xed, + 0x4a, 0xa3, 0xce, 0x49, 0xb2, 0x14, 0x27, 0xe0, 0x96, 0xb7, 0xe6, 0x98, 0xaa, 0x50, 0xbb, 0x09, 0x39, 0xa9, 0x6e, 0xda, 0x19, 0xe6, 0x39, 0x23, 0x3a, 0xc3, 0x7e, 0xf1, 0xc9, 0x7e, 0x00, 0x59, 0x51, 0x25, 0x15, 0x0b, 0x8e, 0xfa, 0x9e, 0xd8, 0xe4, 0xf8, 0x3f, 0x85, 0xd1, 0x51, 0xc6, 0x4e, - 0xce, 0x9a, 0xf8, 0x3f, 0xde, 0x25, 0xa3, 0x36, 0x95, 0x07, 0xba, 0x9e, 0x3d, 0x40, 0x0b, 0x2c, - 0x9f, 0x79, 0xa6, 0xf0, 0x66, 0xd7, 0x63, 0x76, 0x59, 0xfc, 0x1b, 0x7f, 0xe3, 0x5f, 0xc2, 0x11, + 0xce, 0x5a, 0xf8, 0x3f, 0xde, 0x25, 0xa3, 0x16, 0x95, 0x07, 0xba, 0x9e, 0x33, 0x40, 0x0b, 0x2c, + 0x9f, 0x79, 0xa6, 0xf0, 0x46, 0xd7, 0x63, 0x76, 0x59, 0xfc, 0x1b, 0x7f, 0xe3, 0x5f, 0xc2, 0x11, 0x6d, 0xc2, 0xa4, 0x33, 0x33, 0x74, 0x65, 0xa4, 0xe2, 0x57, 0x06, 0x0b, 0xa0, 0xc2, 0x29, 0xd9, 0x97, 0x01, 0x61, 0x78, 0x65, 0x48, 0x27, 0x43, 0x26, 0x74, 0x32, 0x48, 0x32, 0x79, 0x30, 0x7b, 0xec, 0xc6, 0x11, 0x32, 0x79, 0xf4, 0x9c, 0xfa, 0xf3, 0x94, 0x50, 0x11, 0x6c, 0xf5, 0xfb, 0x23, - 0x6f, 0x34, 0x6c, 0x0f, 0x42, 0xaa, 0x50, 0x72, 0x0c, 0xcf, 0x23, 0x07, 0x7d, 0x1b, 0x53, 0x58, + 0x6f, 0x34, 0x6c, 0x0d, 0x42, 0xaa, 0x50, 0x72, 0x0c, 0xcf, 0x23, 0x07, 0x7d, 0x1b, 0x53, 0x58, 0xf4, 0x87, 0x22, 0x66, 0x87, 0xbf, 0x72, 0x73, 0xb7, 0x5f, 0x0e, 0xf3, 0xf8, 0x3a, 0xc5, 0xd6, - 0x65, 0x64, 0xba, 0x60, 0xa5, 0x5a, 0x77, 0x66, 0xcc, 0x33, 0xac, 0xce, 0x18, 0x16, 0xd9, 0x49, + 0x65, 0x64, 0xba, 0x60, 0xa5, 0x5a, 0x77, 0x66, 0xac, 0x33, 0xac, 0xce, 0x18, 0x16, 0xd9, 0x49, 0xd8, 0xc4, 0x51, 0x5d, 0xe8, 0x56, 0xb0, 0xa3, 0xc3, 0xb5, 0xca, 0x7b, 0x9d, 0x7c, 0x01, 0x16, - 0xdc, 0x8e, 0x9c, 0xa9, 0x31, 0xaa, 0x85, 0x2b, 0x77, 0x58, 0xb4, 0xe8, 0xa0, 0x0e, 0xba, 0xe6, - 0x5c, 0x0e, 0xdd, 0x5a, 0x0a, 0x29, 0x8d, 0xb5, 0x2d, 0x21, 0x8d, 0xc6, 0xc9, 0xc8, 0x32, 0xa4, - 0xfc, 0x19, 0x4e, 0xb9, 0x1d, 0xb6, 0xbd, 0x82, 0x78, 0xd5, 0x26, 0xff, 0xa5, 0xfd, 0x1a, 0x5c, - 0x3f, 0xe9, 0x18, 0xd1, 0xad, 0x38, 0x61, 0xc0, 0x17, 0xcc, 0xd5, 0x76, 0x6c, 0xdc, 0x2e, 0x81, - 0x1c, 0x6e, 0xd7, 0x15, 0x87, 0x9f, 0x80, 0xb5, 0x86, 0xae, 0xf6, 0xd7, 0x69, 0x58, 0x0e, 0xab, - 0xc9, 0xc9, 0x4d, 0xc8, 0x48, 0x27, 0xd0, 0x99, 0x04, 0x5d, 0x3a, 0x9e, 0x3b, 0x88, 0x74, 0xa2, - 0x13, 0x87, 0xdc, 0x85, 0x65, 0x34, 0xdc, 0x43, 0xd6, 0x73, 0xe4, 0xf2, 0xc7, 0x97, 0xe9, 0xef, - 0x67, 0xd9, 0x0f, 0x3e, 0xbc, 0x30, 0x83, 0x4f, 0x65, 0x8b, 0x94, 0x96, 0x72, 0x7f, 0xb4, 0x50, - 0xd2, 0x82, 0x66, 0x26, 0x6b, 0x41, 0x79, 0x57, 0x26, 0x68, 0x41, 0x67, 0xa7, 0x68, 0x41, 0x03, - 0x4a, 0x59, 0x0b, 0x8a, 0xba, 0xf0, 0xf9, 0x49, 0xba, 0xf0, 0x80, 0x86, 0xe9, 0xc2, 0x03, 0x2d, - 0x66, 0x76, 0xa2, 0x16, 0x33, 0xa0, 0xe1, 0x5a, 0xcc, 0x2b, 0x7c, 0x8c, 0x86, 0xed, 0x47, 0x36, - 0x0e, 0x1e, 0xbf, 0x16, 0xb1, 0xf7, 0x66, 0xfb, 0x11, 0x1a, 0xd7, 0x6c, 0x2d, 0x80, 0xb0, 0xc8, - 0xd1, 0xfe, 0x40, 0x89, 0x68, 0x02, 0xc5, 0xfc, 0x5d, 0x85, 0x65, 0x76, 0x59, 0x39, 0x1d, 0x49, - 0xd6, 0x5c, 0x32, 0x97, 0x04, 0x94, 0xc9, 0x9b, 0x2f, 0xc0, 0x8a, 0x8f, 0xc6, 0x45, 0x2e, 0xf4, - 0xd4, 0x33, 0x7d, 0x6a, 0x1e, 0x76, 0xe6, 0x26, 0xac, 0xfa, 0x88, 0x5c, 0x9b, 0xc3, 0xc4, 0xcd, - 0x25, 0x53, 0x15, 0x05, 0x0d, 0x0e, 0xd7, 0x0e, 0xa3, 0x92, 0xc7, 0xa7, 0xd4, 0x2a, 0xed, 0x07, - 0xe9, 0x90, 0x96, 0x44, 0x7c, 0x86, 0xde, 0xa2, 0x5e, 0xdf, 0xe6, 0x83, 0xc4, 0xcf, 0xa2, 0x4b, - 0x13, 0xe6, 0x8c, 0xdb, 0x34, 0x59, 0x56, 0xdd, 0x04, 0xcf, 0xeb, 0x0b, 0x13, 0x27, 0x9b, 0x71, - 0xd4, 0xec, 0xde, 0xc7, 0x35, 0x2b, 0xaa, 0x63, 0x07, 0x4f, 0x7e, 0x7a, 0x75, 0x42, 0x4c, 0xa5, - 0x4b, 0x16, 0x39, 0x6b, 0xff, 0x97, 0xf8, 0x40, 0x0b, 0x50, 0xa9, 0xe8, 0x85, 0x2b, 0x4f, 0x27, - 0xc8, 0x4e, 0xb1, 0xca, 0x71, 0x94, 0xb0, 0x66, 0x75, 0x2c, 0xfe, 0x15, 0xd5, 0x1a, 0xb0, 0x88, - 0x3a, 0x0a, 0x51, 0x61, 0x26, 0x41, 0x05, 0x1f, 0xef, 0x7c, 0xa1, 0x5c, 0x35, 0x73, 0x94, 0x4e, - 0x54, 0x73, 0x04, 0xcf, 0xcb, 0x9a, 0x85, 0x70, 0x23, 0x67, 0x45, 0x14, 0xdd, 0xa9, 0x23, 0x10, - 0x28, 0x20, 0xb0, 0xa9, 0xa7, 0xdb, 0x61, 0x00, 0x47, 0xd3, 0x8e, 0x60, 0x63, 0xf2, 0x94, 0x4c, - 0xc9, 0xd0, 0x14, 0x5c, 0xa0, 0x29, 0xf9, 0x02, 0x95, 0xf5, 0x0c, 0xe9, 0x90, 0x9e, 0x41, 0xfb, - 0xb3, 0x34, 0x5c, 0x3e, 0xc1, 0x74, 0x4d, 0xf9, 0xe6, 0x17, 0xc3, 0xec, 0x59, 0x2a, 0x24, 0x19, - 0xd2, 0x4a, 0xf9, 0x01, 0x49, 0xa5, 0xd4, 0x64, 0xe6, 0xec, 0x57, 0x60, 0x85, 0x9d, 0x82, 0xcc, - 0x2c, 0xf1, 0x60, 0xdc, 0x3d, 0xc1, 0x31, 0xb8, 0x29, 0x7c, 0xa8, 0x22, 0xa4, 0x78, 0x32, 0xe2, - 0x89, 0x61, 0xf9, 0x30, 0xd2, 0x84, 0x1c, 0xa2, 0x1d, 0xb4, 0xdd, 0xee, 0x89, 0x9c, 0x79, 0x84, - 0x87, 0x96, 0x4c, 0xc6, 0xac, 0xa9, 0x29, 0xa0, 0x84, 0xbf, 0xc9, 0x35, 0x58, 0xe9, 0x8d, 0x8f, - 0x29, 0xe3, 0xc1, 0xd6, 0x02, 0xb7, 0xfe, 0x98, 0x35, 0x97, 0x7a, 0xe3, 0x63, 0x7d, 0x30, 0xc0, - 0x29, 0x45, 0x33, 0x91, 0x55, 0x8a, 0xc7, 0x76, 0xad, 0xc0, 0x9c, 0x43, 0x4c, 0x5a, 0x01, 0xdb, - 0xb7, 0x1c, 0x77, 0x0d, 0x98, 0xd1, 0x20, 0xcf, 0x50, 0xc5, 0x7e, 0x68, 0x3f, 0x49, 0x09, 0x79, - 0x77, 0xf2, 0xba, 0xff, 0xc5, 0x14, 0x25, 0x4c, 0xd1, 0x75, 0x50, 0xe9, 0xd0, 0x07, 0x87, 0x8a, - 0x3f, 0x47, 0xcb, 0xbd, 0xf1, 0xb1, 0x3f, 0x76, 0xf2, 0xc0, 0xcf, 0xc9, 0x03, 0xff, 0x9a, 0x90, - 0x87, 0x13, 0x8f, 0x87, 0xc9, 0x43, 0xae, 0xfd, 0x57, 0x1a, 0xae, 0x9d, 0xec, 0x10, 0xf8, 0xc5, - 0xbc, 0x25, 0xcc, 0x5b, 0x44, 0x75, 0x3a, 0x1b, 0x53, 0x9d, 0x26, 0xec, 0xbd, 0xb9, 0xa4, 0xbd, - 0x17, 0x53, 0xd4, 0xce, 0x27, 0x28, 0x6a, 0x13, 0x37, 0x68, 0xf6, 0x09, 0x1b, 0x74, 0x41, 0x5e, - 0x27, 0xff, 0xee, 0x2b, 0x30, 0xc2, 0xf2, 0xc0, 0x3b, 0x70, 0x4a, 0xc8, 0x03, 0xec, 0xe6, 0x08, - 0xf4, 0xef, 0xb9, 0xdb, 0x37, 0x92, 0x24, 0x01, 0x44, 0x4b, 0xe0, 0xd6, 0x57, 0xb9, 0x0c, 0x10, - 0x94, 0xff, 0xec, 0x70, 0xff, 0xe4, 0x3e, 0x9c, 0xc6, 0xf8, 0xee, 0xfb, 0xf2, 0xcb, 0x81, 0x3d, - 0x74, 0x0e, 0xf8, 0x7a, 0xb8, 0x14, 0xe3, 0x95, 0xdd, 0x7d, 0xa9, 0x39, 0xa6, 0x73, 0xb0, 0x33, - 0x63, 0xae, 0x79, 0x09, 0xf0, 0xa8, 0x60, 0xf1, 0x97, 0x0a, 0x68, 0x4f, 0x1e, 0x2f, 0x54, 0x54, - 0x45, 0x07, 0x7c, 0xc1, 0xcc, 0xb5, 0xa5, 0xd1, 0xbb, 0x0c, 0x4b, 0x43, 0xe7, 0x60, 0xe8, 0x78, - 0x47, 0x21, 0x0d, 0xc8, 0x22, 0x07, 0x8a, 0x81, 0x11, 0x51, 0x26, 0x9f, 0x8a, 0x33, 0x17, 0x44, - 0x5a, 0xc9, 0x97, 0x17, 0x13, 0xe7, 0x81, 0xae, 0x26, 0xb9, 0x81, 0xec, 0xc7, 0xdd, 0x4c, 0x36, - 0xa5, 0xa6, 0x4d, 0x1e, 0x0b, 0xf3, 0xc0, 0xed, 0x3a, 0xda, 0xdf, 0x2a, 0x82, 0x23, 0x48, 0x1a, - 0x3c, 0xf2, 0x8e, 0x64, 0xcc, 0x9b, 0x8e, 0xb1, 0x21, 0x49, 0x24, 0xb2, 0xdd, 0x23, 0x0f, 0xcf, - 0x88, 0x80, 0x50, 0x78, 0x46, 0x84, 0x3c, 0x83, 0x45, 0x22, 0x97, 0x9a, 0xef, 0x08, 0x8b, 0x20, - 0x7a, 0xe6, 0xed, 0xde, 0x22, 0x37, 0x60, 0x9e, 0x19, 0x01, 0x89, 0xe6, 0xae, 0x84, 0x9a, 0xbb, - 0x7b, 0xcb, 0x14, 0xe5, 0xda, 0x7b, 0xfe, 0xbb, 0x56, 0xac, 0x13, 0xbb, 0xb7, 0xc8, 0x6b, 0x27, - 0x33, 0xce, 0xcd, 0x0a, 0xe3, 0x5c, 0xdf, 0x30, 0xf7, 0xf5, 0x90, 0x61, 0xee, 0x95, 0xe9, 0xa3, - 0xc5, 0x5f, 0x23, 0x59, 0x38, 0xc2, 0x20, 0x4c, 0xd5, 0x4f, 0x14, 0x38, 0x37, 0x95, 0x82, 0x9c, - 0x85, 0xac, 0xde, 0x28, 0x37, 0x83, 0xf9, 0xa5, 0x7b, 0x46, 0x40, 0xc8, 0x36, 0x2c, 0x6c, 0xb5, - 0x3d, 0x77, 0x9f, 0x2e, 0xe3, 0xc4, 0xe7, 0x81, 0x58, 0xb5, 0x3e, 0xfa, 0xce, 0x8c, 0x19, 0xd0, - 0x12, 0x1b, 0x56, 0x71, 0x2f, 0x84, 0x52, 0x3f, 0xa5, 0x13, 0x74, 0x0d, 0xb1, 0x0a, 0x63, 0x64, - 0xf4, 0x9c, 0x89, 0x01, 0xa3, 0x5b, 0xf0, 0xa1, 0xe0, 0x45, 0x26, 0x37, 0xf0, 0x29, 0xe2, 0xaa, - 0x5e, 0x87, 0x6c, 0x43, 0xd8, 0x09, 0x48, 0xd6, 0xec, 0xc2, 0x26, 0xc0, 0xf4, 0x4b, 0xb5, 0xdf, - 0x56, 0x84, 0x42, 0xe0, 0xc9, 0x1d, 0x91, 0xb2, 0x66, 0x75, 0xa6, 0x67, 0xcd, 0xea, 0x7c, 0xcc, - 0xac, 0x59, 0xda, 0x5f, 0xf0, 0xa8, 0xe7, 0xe5, 0x4e, 0x23, 0xa2, 0x99, 0x7d, 0x56, 0xaf, 0x04, - 0x23, 0xb4, 0x3a, 0x2f, 0x4b, 0x59, 0x17, 0xe3, 0xdf, 0x9a, 0xec, 0x9c, 0x20, 0x2d, 0xd5, 0x3f, - 0x4a, 0xc3, 0xd9, 0x69, 0xe4, 0x89, 0x79, 0x9d, 0x95, 0xa7, 0xcb, 0xeb, 0x7c, 0x03, 0xb2, 0x0c, - 0xe6, 0x9b, 0xdc, 0xe3, 0x80, 0x73, 0x52, 0x3a, 0xe0, 0xa2, 0x98, 0x5c, 0x86, 0x39, 0xbd, 0x60, - 0x05, 0xa9, 0xc6, 0xd0, 0x36, 0xb6, 0xbd, 0xef, 0xa1, 0xd5, 0x25, 0x2f, 0x22, 0x5f, 0x8b, 0x67, - 0xd7, 0xe3, 0x39, 0xc6, 0x36, 0xa5, 0x01, 0x89, 0x25, 0x24, 0xc0, 0xf6, 0x06, 0x01, 0xf4, 0x79, - 0x4c, 0x6a, 0x33, 0x9e, 0xa9, 0x4f, 0x83, 0xb9, 0xc6, 0xd0, 0xf1, 0x9c, 0x91, 0x6c, 0xb7, 0x3a, - 0x40, 0x88, 0xc9, 0x4b, 0xb8, 0x55, 0x69, 0xfb, 0x31, 0x0b, 0x22, 0x30, 0x27, 0x07, 0x76, 0x41, - 0x33, 0x54, 0x0a, 0x36, 0x25, 0x14, 0x4a, 0x50, 0x69, 0x8f, 0x7b, 0xfb, 0x47, 0x2d, 0xb3, 0xc2, - 0x59, 0x0d, 0x46, 0xd0, 0x45, 0x28, 0xed, 0xa0, 0x67, 0x4a, 0x28, 0xda, 0x77, 0x14, 0x58, 0x4b, - 0xea, 0x07, 0x39, 0x0b, 0x99, 0x5e, 0x62, 0x22, 0xc1, 0x1e, 0xf3, 0x7d, 0xce, 0xd1, 0xbf, 0xf6, - 0x41, 0x7f, 0x78, 0xdc, 0x1e, 0xc9, 0xd6, 0xbd, 0x12, 0xd8, 0x04, 0xfa, 0xa3, 0x84, 0xff, 0x93, - 0x0b, 0xe2, 0x8c, 0x4e, 0xc7, 0x52, 0x0f, 0xe2, 0x1f, 0x4d, 0x07, 0x28, 0x77, 0x1a, 0xf5, 0x01, - 0x0b, 0x88, 0xff, 0x0a, 0x64, 0x68, 0xb3, 0x22, 0xab, 0x97, 0xae, 0x1f, 0xbd, 0x5a, 0xe1, 0x48, - 0xac, 0x55, 0x5e, 0xfb, 0xb8, 0x6b, 0x22, 0xb2, 0xb6, 0x07, 0xcb, 0x61, 0x0c, 0x62, 0x84, 0x43, - 0xa8, 0xe6, 0x6e, 0xab, 0xbc, 0xa6, 0xad, 0x7e, 0x9f, 0x79, 0x98, 0x6c, 0x3d, 0xff, 0x4f, 0x1f, - 0x5e, 0x00, 0xfa, 0x93, 0xd1, 0x24, 0x85, 0x58, 0xd5, 0xbe, 0x97, 0x82, 0xb5, 0xc0, 0xa9, 0x5d, - 0xec, 0xa1, 0x9f, 0x5b, 0x0f, 0x4b, 0x3d, 0xe4, 0x01, 0x28, 0x18, 0xad, 0x78, 0x07, 0xa7, 0x38, - 0x1e, 0x6d, 0xc3, 0xfa, 0x24, 0x7c, 0x72, 0x13, 0x16, 0x30, 0x0e, 0xd2, 0xa0, 0xbd, 0xef, 0xc8, - 0x67, 0x5f, 0x4f, 0x00, 0xcd, 0xa0, 0x5c, 0xfb, 0x91, 0x02, 0x1b, 0xdc, 0x2f, 0xa2, 0xda, 0x76, - 0x7b, 0xa8, 0x56, 0xdf, 0x77, 0x3e, 0x19, 0x0f, 0xe1, 0xed, 0xd0, 0x39, 0x76, 0x35, 0xec, 0xfe, - 0x12, 0xfb, 0xda, 0xe4, 0xde, 0x92, 0x1b, 0x18, 0xdb, 0x8b, 0x3f, 0x3b, 0x67, 0x58, 0x44, 0x86, - 0x1e, 0x05, 0xc8, 0x11, 0x19, 0x10, 0x43, 0xfb, 0x75, 0x38, 0x3f, 0xfd, 0x03, 0xe4, 0xab, 0xb0, - 0x84, 0xc9, 0xa2, 0x5a, 0x83, 0xc3, 0x61, 0xbb, 0xe3, 0x08, 0x55, 0x98, 0x50, 0x5f, 0xca, 0x65, - 0x2c, 0x54, 0x19, 0x8f, 0x10, 0x70, 0x88, 0x69, 0xa8, 0x38, 0x51, 0xc8, 0xf9, 0x48, 0xae, 0x4d, - 0xfb, 0x0d, 0x05, 0x48, 0xbc, 0x0e, 0xf2, 0x39, 0x58, 0x6c, 0x35, 0x0b, 0xd6, 0xa8, 0x3d, 0x1c, - 0xed, 0xf4, 0xc7, 0x43, 0x1e, 0x27, 0x8c, 0x39, 0x8c, 0x8f, 0xf6, 0x6d, 0xf6, 0x80, 0x72, 0xd4, - 0x1f, 0x0f, 0xcd, 0x10, 0x1e, 0x66, 0x39, 0x72, 0x9c, 0xaf, 0x77, 0xda, 0x8f, 0xc3, 0x59, 0x8e, - 0x38, 0x2c, 0x94, 0xe5, 0x88, 0xc3, 0xb4, 0xf7, 0x15, 0xd8, 0x14, 0xd6, 0x84, 0x9d, 0x84, 0xb6, - 0x14, 0x30, 0x2c, 0xca, 0x50, 0x04, 0xa6, 0x9d, 0xc6, 0xd2, 0xae, 0x8a, 0xc8, 0x41, 0xd8, 0x40, - 0xe4, 0x6d, 0x19, 0x2d, 0xf9, 0x22, 0x64, 0xac, 0x51, 0x7f, 0x70, 0x82, 0xd0, 0x41, 0xaa, 0x3f, - 0xa3, 0xa3, 0xfe, 0x00, 0xab, 0x40, 0x4a, 0xcd, 0x81, 0x35, 0xb9, 0x71, 0xa2, 0xc5, 0xa4, 0x0a, - 0xf3, 0x3c, 0x46, 0x5c, 0xe4, 0xa1, 0x7e, 0x4a, 0x9f, 0xb6, 0x56, 0x44, 0x7c, 0x22, 0x1e, 0x18, - 0xd5, 0x14, 0x75, 0x68, 0xbf, 0xab, 0x40, 0x8e, 0x72, 0x1b, 0x28, 0xc5, 0x3d, 0xeb, 0x92, 0x0e, - 0x33, 0x8e, 0xc2, 0xee, 0xc4, 0xaf, 0xfe, 0x44, 0xb7, 0xf1, 0xab, 0xb0, 0x12, 0x21, 0x20, 0x1a, - 0x46, 0xa6, 0xe8, 0xba, 0xfb, 0x6d, 0x96, 0x34, 0x85, 0xd9, 0x6c, 0x84, 0x60, 0xda, 0x77, 0x15, - 0x58, 0xa3, 0x32, 0x3f, 0x7b, 0xe7, 0x34, 0xc7, 0x5d, 0xb1, 0xdf, 0x29, 0x07, 0x25, 0xcc, 0x52, - 0x99, 0xd7, 0x3c, 0xe3, 0xa0, 0x38, 0xcc, 0xf4, 0x4b, 0xc9, 0x0e, 0x64, 0xf9, 0xfd, 0xe2, 0xf1, - 0x78, 0xa6, 0xe7, 0x25, 0x65, 0x42, 0x50, 0x31, 0x47, 0xa2, 0x3d, 0xc1, 0x23, 0x8c, 0xd3, 0x98, - 0x3e, 0xb5, 0xf6, 0xdf, 0x0a, 0x9c, 0x99, 0x40, 0x43, 0xde, 0x84, 0x59, 0xf4, 0xe8, 0xe3, 0xb3, - 0x77, 0x76, 0xc2, 0x27, 0x46, 0xfb, 0x47, 0xbb, 0xb7, 0xd8, 0x45, 0x74, 0x4c, 0x7f, 0x98, 0x8c, - 0x8a, 0xbc, 0x03, 0x0b, 0x7a, 0xa7, 0xc3, 0xc5, 0x99, 0x54, 0x48, 0x9c, 0x99, 0xf0, 0xc5, 0x97, - 0x7c, 0x7c, 0x26, 0xce, 0x30, 0xdf, 0x92, 0x4e, 0xc7, 0xe6, 0xde, 0x8a, 0x41, 0x7d, 0x1b, 0xbf, - 0x0c, 0xcb, 0x61, 0xe4, 0xa7, 0x72, 0xb0, 0x7a, 0x4f, 0x01, 0x35, 0xdc, 0x86, 0x4f, 0x27, 0xb2, - 0x52, 0xd2, 0x34, 0x3f, 0x61, 0x51, 0xfd, 0x7e, 0x0a, 0x9e, 0x4b, 0x1c, 0x61, 0xf2, 0x22, 0xcc, - 0xe9, 0x83, 0x41, 0xb9, 0xc8, 0x57, 0x15, 0xe7, 0x90, 0x50, 0x4b, 0x1c, 0x92, 0xf6, 0x18, 0x12, - 0x79, 0x05, 0xb2, 0xec, 0x39, 0xbd, 0x28, 0x0e, 0x1c, 0x0c, 0x15, 0xc3, 0xdf, 0xfa, 0xc3, 0x91, - 0x45, 0x05, 0x22, 0x29, 0xc1, 0x32, 0x0f, 0xb2, 0x62, 0x3a, 0x87, 0xce, 0x37, 0xfd, 0x10, 0xf7, - 0x18, 0x85, 0x5f, 0xa8, 0x9e, 0xed, 0x21, 0x2b, 0x93, 0xc3, 0x8c, 0x84, 0xa9, 0x48, 0x05, 0x54, - 0xac, 0x53, 0xae, 0x89, 0x85, 0x37, 0xc5, 0xb0, 0x37, 0xac, 0x11, 0x13, 0xea, 0x8a, 0x51, 0xfa, - 0xd3, 0xa5, 0x7b, 0x9e, 0x7b, 0xd8, 0x3b, 0x76, 0x7a, 0xa3, 0x4f, 0x6f, 0xba, 0x82, 0x6f, 0x9c, - 0x68, 0xba, 0xfe, 0x30, 0xc3, 0x36, 0x73, 0x94, 0x8c, 0x72, 0x34, 0x52, 0x44, 0x6b, 0xe4, 0x68, - 0xa8, 0xd0, 0xc4, 0xc3, 0x88, 0x14, 0x61, 0x9e, 0x85, 0x77, 0x11, 0x3b, 0xe3, 0x5c, 0x62, 0x13, - 0x18, 0xce, 0xee, 0x2d, 0xc6, 0xbe, 0x30, 0xd7, 0x42, 0xcf, 0x14, 0xa4, 0x64, 0x17, 0x72, 0x85, - 0xae, 0xd3, 0xee, 0x8d, 0x07, 0xcd, 0x93, 0x3d, 0x39, 0xae, 0xf3, 0xbe, 0x2c, 0xee, 0x33, 0x32, - 0x7c, 0xaa, 0xc4, 0x93, 0x5c, 0xae, 0x88, 0x34, 0x7d, 0x6f, 0xa3, 0x0c, 0x6a, 0x2a, 0x3f, 0x3b, - 0x65, 0x7c, 0xa2, 0x40, 0xa4, 0x0b, 0xbb, 0xd2, 0x71, 0x77, 0x24, 0x1b, 0x96, 0x2b, 0x6d, 0x6f, - 0xd4, 0x1c, 0xb6, 0x7b, 0x1e, 0x86, 0x85, 0x3c, 0x41, 0xd8, 0xac, 0x4d, 0x91, 0x72, 0x18, 0x75, - 0x8c, 0x23, 0x9f, 0x94, 0x69, 0x30, 0xc3, 0xd5, 0x51, 0x7e, 0xa9, 0xe4, 0xf6, 0xda, 0x5d, 0xf7, - 0x5d, 0xe1, 0x94, 0xc9, 0xf8, 0xa5, 0x03, 0x01, 0x34, 0x83, 0x72, 0xed, 0x2b, 0xb1, 0x79, 0x63, - 0xad, 0xcc, 0xc1, 0x3c, 0x77, 0xd9, 0x67, 0x2e, 0xec, 0x0d, 0xa3, 0x56, 0x2c, 0xd7, 0xb6, 0x55, - 0x85, 0x2c, 0x03, 0x34, 0xcc, 0x7a, 0xc1, 0xb0, 0x2c, 0xfa, 0x3b, 0x45, 0x7f, 0x73, 0xff, 0xf6, - 0x52, 0xab, 0xa2, 0xa6, 0x25, 0x17, 0xf7, 0x8c, 0xf6, 0x43, 0x05, 0x4e, 0x27, 0x4f, 0x25, 0x69, - 0x02, 0x06, 0x39, 0xe0, 0x8f, 0xcf, 0x9f, 0x9b, 0x3a, 0xef, 0x89, 0xe0, 0x68, 0xb0, 0x84, 0x11, - 0x73, 0xc2, 0x4f, 0x89, 0xc7, 0x22, 0xe6, 0xd5, 0xe7, 0x76, 0xcc, 0x94, 0xdb, 0xd1, 0x0a, 0xb0, - 0x3e, 0xa9, 0x8e, 0x70, 0x57, 0x57, 0x20, 0xa7, 0x37, 0x1a, 0x95, 0x72, 0x41, 0x6f, 0x96, 0xeb, - 0x35, 0x55, 0x21, 0x0b, 0x30, 0xbb, 0x6d, 0xd6, 0x5b, 0x0d, 0x35, 0xa5, 0x7d, 0x5f, 0x81, 0xa5, - 0x72, 0x60, 0xa6, 0xf5, 0xac, 0x9b, 0xef, 0x8d, 0xd0, 0xe6, 0x5b, 0xf7, 0xc3, 0x81, 0xf8, 0x1f, - 0x38, 0xd1, 0xce, 0xfb, 0x47, 0x05, 0x56, 0x63, 0x34, 0xc4, 0x82, 0x79, 0x7d, 0xcf, 0xaa, 0x97, - 0x8b, 0x05, 0xde, 0xb2, 0x0b, 0x81, 0x7d, 0x11, 0x66, 0x7c, 0x8a, 0x7d, 0x85, 0xb9, 0xd0, 0x3e, - 0xf2, 0xec, 0xbe, 0xdb, 0x91, 0xb2, 0xb5, 0xee, 0xcc, 0x98, 0xa2, 0x26, 0xbc, 0xc9, 0xde, 0x1d, - 0x0f, 0x1d, 0xac, 0x36, 0x15, 0x52, 0x84, 0xfa, 0xf0, 0x78, 0xc5, 0xe8, 0xf0, 0xd0, 0xa6, 0xe5, - 0xf1, 0xaa, 0x83, 0xfa, 0xb6, 0x96, 0x20, 0xc7, 0xa5, 0x16, 0x14, 0x08, 0x7e, 0xa0, 0xc0, 0xfa, - 0xa4, 0xb6, 0x52, 0x41, 0x28, 0xec, 0x4f, 0x7f, 0xda, 0xcf, 0xe0, 0x10, 0x76, 0xa4, 0x17, 0x68, - 0xe4, 0x2d, 0xc8, 0x95, 0x3d, 0x6f, 0xec, 0x0c, 0xad, 0x57, 0x5a, 0x66, 0x99, 0x2f, 0x90, 0x73, - 0xff, 0xf1, 0xe1, 0x85, 0x33, 0xe8, 0x96, 0x30, 0xb4, 0xbd, 0x57, 0xec, 0xf1, 0xd0, 0x0d, 0x45, - 0xbb, 0x97, 0x29, 0x28, 0xdf, 0xda, 0x1e, 0x77, 0x5c, 0x47, 0x70, 0xed, 0xc2, 0xe7, 0x98, 0xc3, - 0xe4, 0x5b, 0x44, 0xc0, 0xb4, 0x6f, 0x2b, 0xb0, 0x31, 0x79, 0x60, 0xe8, 0xcd, 0xd4, 0x64, 0x56, - 0x3f, 0xc2, 0xeb, 0x17, 0x6f, 0x26, 0xdf, 0x34, 0x48, 0xae, 0x53, 0x20, 0x52, 0x22, 0x3f, 0x7b, - 0x7a, 0x2a, 0x96, 0x32, 0x39, 0x4c, 0x24, 0x10, 0xb5, 0xff, 0x4c, 0xc1, 0x69, 0xba, 0xe8, 0xba, - 0x8e, 0xe7, 0xe9, 0xe3, 0xd1, 0x91, 0xd3, 0x1b, 0x71, 0x36, 0x8c, 0xbc, 0x06, 0x73, 0x47, 0x4f, - 0xa7, 0x72, 0x64, 0xe8, 0x84, 0x00, 0x1e, 0xe4, 0xc2, 0xc9, 0x82, 0xfe, 0x4f, 0x2e, 0x81, 0x9c, - 0xa4, 0x3a, 0x8d, 0x61, 0x32, 0x53, 0xeb, 0x8a, 0xb9, 0x30, 0xf0, 0xf3, 0xc9, 0xbe, 0x0e, 0xb3, - 0xa8, 0x66, 0xe0, 0x47, 0xaa, 0x60, 0x85, 0x93, 0x5b, 0x87, 0x4a, 0x08, 0x93, 0x11, 0x90, 0x97, - 0x01, 0x82, 0x0c, 0x03, 0xfc, 0xcc, 0x14, 0xe2, 0xb7, 0x9f, 0x64, 0xc0, 0x5c, 0x38, 0x3e, 0x68, - 0xf3, 0xb0, 0xfd, 0x79, 0x58, 0x15, 0xc3, 0x32, 0x10, 0xd1, 0xf5, 0xf8, 0x6b, 0xd8, 0x0a, 0x2b, - 0x28, 0x0f, 0x44, 0x84, 0xbd, 0x2b, 0xb1, 0x44, 0xbb, 0x18, 0x64, 0x37, 0x92, 0x4d, 0xf7, 0x4a, - 0x2c, 0x9b, 0x6e, 0x96, 0x61, 0xc9, 0x29, 0x73, 0xb5, 0x7f, 0x4b, 0xc1, 0xc2, 0x1e, 0x65, 0x56, - 0x50, 0x04, 0x9f, 0x2e, 0xd2, 0xdf, 0x86, 0x5c, 0xa5, 0xdf, 0xe6, 0xcf, 0x0e, 0xdc, 0x37, 0x81, - 0xf9, 0x06, 0x77, 0xfb, 0x6d, 0xf1, 0x82, 0xe1, 0x99, 0x32, 0xd2, 0x13, 0xfc, 0x9a, 0xef, 0xc2, - 0x1c, 0x7b, 0x06, 0xe2, 0xda, 0x25, 0xc1, 0xae, 0xfa, 0x2d, 0x7a, 0x89, 0x15, 0x4b, 0x9a, 0x72, - 0xf6, 0x94, 0x24, 0xf3, 0x4e, 0x3c, 0x56, 0xa8, 0xa4, 0x70, 0x98, 0x3d, 0x99, 0xc2, 0x41, 0x8a, - 0x89, 0x36, 0x77, 0x92, 0x98, 0x68, 0x1b, 0x77, 0x20, 0x27, 0xb5, 0xe7, 0xa9, 0xb8, 0xd7, 0x6f, - 0xa5, 0x60, 0x09, 0x7b, 0xe5, 0xdb, 0x84, 0xfc, 0x7c, 0xaa, 0x4f, 0xde, 0x08, 0xa9, 0x4f, 0xd6, - 0xe5, 0xf9, 0x62, 0x3d, 0x9b, 0xa2, 0x37, 0xb9, 0x0b, 0xab, 0x31, 0x44, 0xf2, 0x2a, 0xcc, 0xd2, - 0xe6, 0x0b, 0x71, 0x53, 0x8d, 0xae, 0x80, 0x20, 0x7e, 0x2e, 0xed, 0xb8, 0x67, 0x32, 0x6c, 0xed, - 0x7f, 0x14, 0x58, 0xe4, 0xe9, 0x2b, 0x7a, 0x07, 0xfd, 0x27, 0x0e, 0xe7, 0xb5, 0xe8, 0x70, 0xb2, - 0x28, 0x1d, 0x7c, 0x38, 0xff, 0xaf, 0x07, 0xf1, 0x4e, 0x68, 0x10, 0xcf, 0xf8, 0xd1, 0xf4, 0x44, - 0x77, 0xa6, 0x8c, 0xe1, 0xdf, 0x61, 0x7c, 0xd9, 0x30, 0x22, 0xf9, 0x1a, 0x2c, 0xd4, 0x9c, 0x47, - 0x21, 0xa9, 0xed, 0xda, 0x84, 0x4a, 0x5f, 0xf2, 0x11, 0xd9, 0x9e, 0xc2, 0x0b, 0xaf, 0xe7, 0x3c, - 0xb2, 0x63, 0x2f, 0x50, 0x41, 0x95, 0x54, 0x70, 0x0b, 0x93, 0x3d, 0xcd, 0xd2, 0xe7, 0x8e, 0x92, - 0x18, 0x78, 0xe6, 0x3b, 0x69, 0x80, 0xc0, 0xc7, 0x8c, 0x6e, 0xc0, 0xd0, 0xe3, 0xbb, 0x50, 0x78, - 0x23, 0x48, 0x5e, 0xe3, 0xe2, 0x4d, 0xfe, 0x1a, 0x57, 0xcc, 0xa6, 0x26, 0x47, 0x3b, 0x44, 0x15, - 0x6d, 0x81, 0x3b, 0x35, 0x75, 0x9c, 0x6e, 0x9b, 0x9d, 0xed, 0xe9, 0xad, 0x2b, 0x18, 0xdc, 0xd6, - 0x87, 0x4e, 0xc8, 0x43, 0x8c, 0xae, 0x4f, 0x45, 0x8a, 0x10, 0xf3, 0xdb, 0xcc, 0x3c, 0x9d, 0xdf, - 0x66, 0x03, 0x16, 0xdc, 0xde, 0x43, 0xa7, 0x37, 0xea, 0x0f, 0x1f, 0xa3, 0x36, 0x3a, 0x50, 0x73, - 0xd1, 0x21, 0x28, 0x8b, 0x32, 0x36, 0x0f, 0x78, 0x31, 0xfa, 0xf8, 0xf2, 0x34, 0xf8, 0x40, 0xdf, - 0xef, 0x74, 0x56, 0x9d, 0xbb, 0x9b, 0xc9, 0xce, 0xa9, 0xf3, 0x77, 0x33, 0xd9, 0xac, 0xba, 0x70, - 0x37, 0x93, 0x5d, 0x50, 0xc1, 0x94, 0xde, 0x77, 0xfc, 0xf7, 0x1b, 0xe9, 0xc9, 0x25, 0xfc, 0x9c, - 0xa2, 0xfd, 0x34, 0x05, 0x24, 0xde, 0x0c, 0xf2, 0x06, 0xe4, 0xd8, 0x01, 0x6b, 0x0f, 0xbd, 0x6f, - 0x70, 0xb3, 0x75, 0x16, 0xbe, 0x47, 0x02, 0xcb, 0xe1, 0x7b, 0x18, 0xd8, 0xf4, 0xbe, 0xd1, 0x25, - 0x5f, 0x85, 0x53, 0x38, 0xbc, 0x03, 0x67, 0xe8, 0xf6, 0x3b, 0x36, 0xc6, 0x5a, 0x6d, 0x77, 0x79, - 0xce, 0xc0, 0x17, 0x31, 0xb9, 0x6d, 0xbc, 0x78, 0xc2, 0x34, 0xa0, 0x2b, 0x59, 0x03, 0x31, 0x1b, - 0x0c, 0x91, 0x34, 0x41, 0x95, 0xe9, 0x0f, 0xc6, 0xdd, 0x2e, 0x9f, 0xd9, 0x3c, 0x15, 0x74, 0xa3, - 0x65, 0x13, 0x2a, 0x5e, 0x0e, 0x2a, 0x2e, 0x8d, 0xbb, 0x5d, 0xf2, 0x1a, 0x40, 0xbf, 0x67, 0x1f, - 0xbb, 0x9e, 0xc7, 0xde, 0x38, 0x7c, 0xaf, 0xd7, 0x00, 0x2a, 0x4f, 0x46, 0xbf, 0x57, 0x65, 0x40, - 0xf2, 0x4b, 0x80, 0x5e, 0xff, 0x18, 0x0e, 0x83, 0x59, 0xb5, 0xf0, 0x2c, 0x20, 0x02, 0x18, 0x76, - 0xb2, 0x3d, 0x74, 0x2c, 0xf7, 0x5d, 0xe1, 0x32, 0xf0, 0x36, 0xac, 0x72, 0x23, 0xd4, 0x3d, 0x77, - 0x74, 0xc4, 0x39, 0xec, 0x67, 0x61, 0xcf, 0x25, 0x16, 0xfb, 0x9f, 0x33, 0x00, 0xfa, 0x9e, 0x25, - 0x22, 0x4d, 0xdd, 0x80, 0x59, 0x2a, 0x37, 0x08, 0xfd, 0x03, 0x6a, 0x6f, 0xb1, 0x5e, 0x59, 0x7b, - 0x8b, 0x18, 0x74, 0x37, 0x9a, 0x68, 0x9c, 0x2d, 0x74, 0x0f, 0xb8, 0x1b, 0x99, 0xbd, 0x76, 0x28, - 0xd2, 0x2f, 0xc7, 0x22, 0x15, 0x80, 0x20, 0xf6, 0x13, 0x97, 0x64, 0x57, 0x83, 0x20, 0x2a, 0xbc, - 0x80, 0x67, 0x1b, 0x08, 0xe2, 0x47, 0xc9, 0xcb, 0x27, 0x40, 0x23, 0xf7, 0x20, 0xd3, 0x6c, 0xfb, - 0x3e, 0x9d, 0x13, 0x22, 0x62, 0x5d, 0xe4, 0x39, 0x1d, 0x83, 0xa8, 0x58, 0xcb, 0xa3, 0x76, 0x28, - 0xf5, 0x2d, 0x56, 0x42, 0x0c, 0x98, 0xe3, 0xf9, 0xba, 0x27, 0x44, 0x52, 0xe4, 0xe9, 0xba, 0x79, - 0xfc, 0x64, 0x04, 0xca, 0x3c, 0x05, 0xcf, 0xcc, 0x7d, 0x1b, 0xd2, 0x96, 0x55, 0xe5, 0x71, 0x20, - 0x96, 0x02, 0xa9, 0xc4, 0xb2, 0xaa, 0xec, 0x8d, 0xd2, 0xf3, 0x8e, 0x25, 0x32, 0x8a, 0x4c, 0x3e, - 0x0f, 0x39, 0x89, 0x7d, 0xe6, 0x11, 0x54, 0x70, 0x0c, 0x24, 0xaf, 0x19, 0xf9, 0xd0, 0x90, 0xb0, - 0x49, 0x05, 0xd4, 0x7b, 0xe3, 0x07, 0x8e, 0x3e, 0x18, 0xa0, 0x3b, 0xdd, 0x43, 0x67, 0xc8, 0xd8, - 0xb6, 0x6c, 0x10, 0x7a, 0x18, 0x6d, 0xed, 0x3b, 0xa2, 0x54, 0xd6, 0xc1, 0x44, 0x29, 0x49, 0x03, - 0x56, 0x2d, 0x67, 0x34, 0x1e, 0x30, 0x3b, 0x8d, 0x52, 0x7f, 0x48, 0x85, 0x10, 0x16, 0x6f, 0x05, - 0xa3, 0xb4, 0x7a, 0xb4, 0x50, 0x18, 0xc7, 0x1c, 0xf4, 0x87, 0x11, 0x81, 0x24, 0x4e, 0xac, 0x39, - 0xf2, 0x94, 0xd3, 0x5b, 0x35, 0x2c, 0xda, 0xe0, 0xad, 0x2a, 0x44, 0x9b, 0x40, 0xa0, 0x79, 0x39, - 0x21, 0x26, 0x18, 0x3e, 0x98, 0x49, 0x31, 0xc1, 0x42, 0x91, 0xc0, 0xde, 0xcf, 0x48, 0x61, 0x29, - 0xf9, 0x5c, 0xbc, 0x09, 0x70, 0xb7, 0xef, 0xf6, 0xaa, 0xce, 0xe8, 0xa8, 0xdf, 0x91, 0x42, 0x93, - 0xe5, 0x7e, 0xb5, 0xef, 0xf6, 0xec, 0x63, 0x04, 0xff, 0xf4, 0xc3, 0x0b, 0x12, 0x92, 0x29, 0xfd, - 0x4f, 0x3e, 0x03, 0x0b, 0xf4, 0x57, 0x33, 0xb0, 0x36, 0x61, 0xaa, 0x4a, 0xa4, 0x66, 0xc9, 0x1b, - 0x02, 0x04, 0x72, 0x07, 0xd3, 0x95, 0xb8, 0x83, 0x91, 0xc4, 0xbc, 0x8a, 0xdc, 0x24, 0xee, 0x60, - 0x14, 0x8d, 0x34, 0x2c, 0x21, 0x93, 0x1d, 0xbf, 0xe9, 0x22, 0xc3, 0x10, 0xcf, 0x8a, 0x82, 0xfa, - 0x38, 0xbe, 0xd6, 0x6c, 0x11, 0xe2, 0x54, 0xce, 0x05, 0x1b, 0x21, 0xc3, 0x46, 0x58, 0x3b, 0x45, - 0xf6, 0x80, 0xc2, 0x99, 0x5a, 0xd6, 0x08, 0xef, 0xa8, 0x63, 0xef, 0x23, 0x38, 0xd4, 0x08, 0x1f, - 0x99, 0x6c, 0xc1, 0x0a, 0xe3, 0xf1, 0xfd, 0x4c, 0x85, 0x9c, 0xc5, 0xc5, 0xb3, 0x2d, 0x48, 0x65, - 0x28, 0x7f, 0x3e, 0x42, 0x40, 0x4a, 0x30, 0x8b, 0x02, 0x21, 0x37, 0x31, 0xdf, 0x94, 0xa5, 0xe7, - 0xe8, 0x3e, 0xc2, 0x73, 0x05, 0xe5, 0x66, 0xf9, 0x5c, 0x41, 0x54, 0xf2, 0x65, 0x00, 0xa3, 0x37, - 0xec, 0x77, 0xbb, 0x18, 0x84, 0x37, 0x8b, 0xa2, 0xd4, 0xb9, 0xf0, 0x7e, 0xc4, 0x5a, 0x02, 0x24, - 0x1e, 0x30, 0x0e, 0x7f, 0xdb, 0x91, 0x50, 0xbd, 0x52, 0x5d, 0x5a, 0x19, 0xe6, 0xd8, 0x66, 0xc4, - 0x80, 0xd6, 0x3c, 0x45, 0x87, 0x14, 0x0e, 0x99, 0x05, 0xb4, 0xe6, 0xf0, 0x78, 0x40, 0x6b, 0x89, - 0x40, 0xbb, 0x07, 0x6b, 0x49, 0x1d, 0x0b, 0x89, 0xb0, 0xca, 0x49, 0x45, 0xd8, 0x3f, 0x4d, 0xc3, - 0x22, 0xd6, 0x26, 0x4e, 0x61, 0x1d, 0x96, 0xac, 0xf1, 0x03, 0x3f, 0xda, 0x93, 0x38, 0x8d, 0xb1, - 0x7d, 0x9e, 0x5c, 0x20, 0x3f, 0x6d, 0x85, 0x28, 0x88, 0x01, 0xcb, 0xe2, 0x26, 0xd8, 0x16, 0x16, - 0xe8, 0x7e, 0x2c, 0x69, 0x11, 0xb1, 0x30, 0x9e, 0xa9, 0x35, 0x42, 0x14, 0xdc, 0x07, 0xe9, 0xa7, - 0xb9, 0x0f, 0x32, 0x27, 0xba, 0x0f, 0xde, 0x81, 0x45, 0xf1, 0x35, 0x3c, 0xc9, 0x67, 0x9f, 0xed, - 0x24, 0x0f, 0x55, 0x46, 0x2a, 0xfe, 0x89, 0x3e, 0x37, 0xf5, 0x44, 0xc7, 0xf7, 0x42, 0xb1, 0xcb, - 0x06, 0x08, 0x8b, 0x1f, 0xec, 0x98, 0xca, 0x70, 0xbb, 0xd0, 0xf8, 0x18, 0xb7, 0xe4, 0xab, 0xb0, - 0x50, 0xe9, 0x8b, 0xa7, 0x22, 0x49, 0x47, 0xdf, 0x15, 0x40, 0x99, 0x5d, 0xf0, 0x31, 0xfd, 0xdb, - 0x2d, 0xfd, 0x49, 0xdc, 0x6e, 0x77, 0x00, 0xb8, 0x6b, 0x43, 0x90, 0x82, 0x0c, 0xb7, 0x8c, 0x88, - 0x74, 0x11, 0x7e, 0x2a, 0x90, 0x90, 0xe9, 0xe9, 0xc4, 0xad, 0x50, 0xf4, 0xfd, 0xfd, 0xfe, 0xb8, - 0x37, 0x0a, 0xe5, 0xec, 0x15, 0x9e, 0x90, 0x6d, 0x5e, 0x26, 0x1f, 0x0f, 0x11, 0xb2, 0x4f, 0x76, - 0x42, 0xc8, 0x97, 0x7c, 0x23, 0xba, 0xf9, 0x69, 0x23, 0xa4, 0xc5, 0x46, 0x68, 0xa2, 0xe9, 0x9c, - 0xf6, 0x43, 0x45, 0x0e, 0xe4, 0xff, 0x31, 0xa6, 0xfa, 0x75, 0x00, 0xff, 0xad, 0x5e, 0xcc, 0x35, - 0x93, 0x97, 0x7c, 0xa8, 0x3c, 0xca, 0x01, 0xae, 0xd4, 0x9b, 0xf4, 0x27, 0xd5, 0x9b, 0x26, 0xe4, - 0xea, 0x5f, 0x1f, 0xb5, 0x03, 0xe3, 0x0e, 0xb0, 0x7c, 0x4e, 0x16, 0x4f, 0xa6, 0xf4, 0xd6, 0x55, - 0xbc, 0x1b, 0x02, 0x3e, 0x78, 0x02, 0x0b, 0x2c, 0x11, 0x6a, 0x7f, 0xa5, 0xc0, 0x8a, 0xec, 0xbe, - 0xfd, 0xb8, 0xb7, 0x4f, 0xbe, 0xc0, 0xe2, 0x8a, 0x2a, 0x21, 0x91, 0x45, 0x42, 0xa2, 0x47, 0xee, - 0xe3, 0xde, 0x3e, 0x63, 0x80, 0xda, 0x8f, 0xe4, 0xc6, 0x52, 0x42, 0xf2, 0x00, 0x16, 0x1b, 0xfd, - 0x6e, 0x97, 0xb2, 0x35, 0xc3, 0x87, 0x5c, 0x00, 0xa0, 0x15, 0x45, 0x5f, 0x0c, 0x44, 0x83, 0xb6, - 0x2e, 0x73, 0x39, 0xf7, 0xcc, 0x80, 0x9e, 0xf7, 0x2e, 0xa7, 0x0b, 0xaa, 0x7d, 0x0f, 0xfd, 0xad, - 0xe4, 0x3a, 0xb5, 0x1f, 0x2b, 0x40, 0xe2, 0x4d, 0x92, 0x8f, 0x2c, 0xe5, 0xff, 0x81, 0x85, 0x8d, - 0xb0, 0x7e, 0x99, 0xa7, 0x61, 0xfd, 0xb4, 0xef, 0xa6, 0x60, 0x4d, 0xee, 0x12, 0xbd, 0x3f, 0x3e, - 0x5e, 0xa7, 0x0c, 0x58, 0x96, 0xef, 0x0e, 0x9f, 0xe5, 0xc2, 0xab, 0x42, 0xbe, 0x6e, 0xc2, 0xf7, - 0x57, 0x84, 0x88, 0xbc, 0x09, 0xb9, 0xd6, 0xb1, 0xeb, 0x1b, 0xf2, 0xa5, 0x83, 0x2b, 0x75, 0x7c, - 0xec, 0xda, 0x49, 0x37, 0xa0, 0x8c, 0xff, 0x4c, 0x83, 0x91, 0xff, 0x3d, 0x05, 0x56, 0xca, 0x7a, - 0x95, 0xe7, 0x39, 0x60, 0xaf, 0x3c, 0x97, 0xe0, 0x5c, 0x59, 0xaf, 0xda, 0x8d, 0x7a, 0xa5, 0x5c, - 0xb8, 0x6f, 0x27, 0x86, 0x2f, 0x3e, 0x07, 0xcf, 0xc7, 0x51, 0x82, 0xd7, 0xa0, 0xb3, 0xb0, 0x1e, - 0x2f, 0x16, 0x21, 0x8e, 0x93, 0x89, 0x45, 0x34, 0xe4, 0x74, 0xfe, 0x2d, 0x58, 0x11, 0xe1, 0x7c, - 0x9b, 0x15, 0x0b, 0x13, 0x06, 0xac, 0x40, 0x6e, 0xd7, 0x30, 0xcb, 0xa5, 0xfb, 0x76, 0xa9, 0x55, - 0xa9, 0xa8, 0x33, 0x64, 0x09, 0x16, 0x38, 0xa0, 0xa0, 0xab, 0x0a, 0x59, 0x84, 0x6c, 0xb9, 0x66, - 0x19, 0x85, 0x96, 0x69, 0xa8, 0xa9, 0xfc, 0x5b, 0xb0, 0xdc, 0x18, 0xba, 0x0f, 0xdb, 0x23, 0xe7, - 0x9e, 0xf3, 0x18, 0x1f, 0x73, 0xe6, 0x21, 0x6d, 0xea, 0x7b, 0xea, 0x0c, 0x01, 0x98, 0x6b, 0xdc, - 0x2b, 0x58, 0xb7, 0x6e, 0xa9, 0x0a, 0xc9, 0xc1, 0xfc, 0x76, 0xa1, 0x61, 0xdf, 0xab, 0x5a, 0x6a, - 0x8a, 0xfe, 0xd0, 0xf7, 0x2c, 0xfc, 0x91, 0xce, 0x7f, 0x16, 0x56, 0x91, 0x3b, 0xab, 0xb8, 0xde, - 0xc8, 0xe9, 0x39, 0x43, 0x6c, 0xc3, 0x22, 0x64, 0x2d, 0x87, 0x1e, 0xab, 0x23, 0x87, 0x35, 0xa0, - 0x3a, 0xee, 0x8e, 0xdc, 0x41, 0xd7, 0xf9, 0xa6, 0xaa, 0xe4, 0xef, 0xc0, 0x8a, 0xd9, 0x1f, 0x8f, - 0xdc, 0xde, 0xa1, 0x35, 0xa2, 0x18, 0x87, 0x8f, 0xc9, 0x73, 0xb0, 0xda, 0xaa, 0xe9, 0xd5, 0xad, - 0xf2, 0x76, 0xab, 0xde, 0xb2, 0xec, 0xaa, 0xde, 0x2c, 0xec, 0xb0, 0xa7, 0xa4, 0x6a, 0xdd, 0x6a, - 0xda, 0xa6, 0x51, 0x30, 0x6a, 0x4d, 0x55, 0xc9, 0x7f, 0x0f, 0x15, 0x4d, 0xfb, 0xfd, 0x5e, 0xa7, - 0xd4, 0xde, 0x1f, 0xf5, 0x87, 0xd8, 0x60, 0x0d, 0xce, 0x5b, 0x46, 0xa1, 0x5e, 0x2b, 0xda, 0x25, - 0xbd, 0xd0, 0xac, 0x9b, 0x49, 0xf1, 0xb3, 0x37, 0xe0, 0x74, 0x02, 0x4e, 0xbd, 0xd9, 0x50, 0x15, - 0x72, 0x01, 0x36, 0x13, 0xca, 0xf6, 0x8c, 0x2d, 0xbd, 0xd5, 0xdc, 0xa9, 0xa9, 0xa9, 0x09, 0xc4, - 0x96, 0x55, 0x57, 0xd3, 0xf9, 0xdf, 0x52, 0x60, 0xb9, 0xe5, 0x71, 0x3b, 0xee, 0x16, 0xba, 0x70, - 0x5e, 0x84, 0xb3, 0x2d, 0xcb, 0x30, 0xed, 0x66, 0xfd, 0x9e, 0x51, 0xb3, 0x5b, 0x96, 0xbe, 0x1d, - 0x6d, 0xcd, 0x05, 0xd8, 0x94, 0x30, 0x4c, 0xa3, 0x50, 0xdf, 0x35, 0x4c, 0xbb, 0xa1, 0x5b, 0xd6, - 0x5e, 0xdd, 0x2c, 0xaa, 0x0a, 0xfd, 0x62, 0x02, 0x42, 0xb5, 0xa4, 0xb3, 0xd6, 0x84, 0xca, 0x6a, - 0xc6, 0x9e, 0x5e, 0xb1, 0xb7, 0xea, 0x4d, 0x35, 0x9d, 0xaf, 0x52, 0x66, 0x07, 0xa3, 0xd8, 0x32, - 0xeb, 0xc3, 0x2c, 0x64, 0x6a, 0xf5, 0x9a, 0x11, 0x7d, 0x80, 0x5c, 0x84, 0xac, 0xde, 0x68, 0x98, - 0xf5, 0x5d, 0x5c, 0x62, 0x00, 0x73, 0x45, 0xa3, 0x46, 0x5b, 0x96, 0xa6, 0x25, 0x0d, 0xb3, 0x5e, - 0xad, 0x37, 0x8d, 0xa2, 0x9a, 0xc9, 0x9b, 0xe2, 0x3c, 0x13, 0x95, 0xee, 0xf7, 0xd9, 0x6b, 0x5f, - 0xd1, 0x28, 0xe9, 0xad, 0x4a, 0x93, 0x4f, 0xd1, 0x7d, 0xdb, 0x34, 0xbe, 0xd4, 0x32, 0xac, 0xa6, - 0xa5, 0x2a, 0x44, 0x85, 0xc5, 0x9a, 0x61, 0x14, 0x2d, 0xdb, 0x34, 0x76, 0xcb, 0xc6, 0x9e, 0x9a, - 0xa2, 0x75, 0xb2, 0xff, 0xe9, 0x17, 0xf2, 0xef, 0x2b, 0x40, 0x58, 0x04, 0x60, 0x91, 0x56, 0x06, - 0x57, 0xcc, 0x79, 0xd8, 0xd8, 0xa1, 0x53, 0x8d, 0x5d, 0xab, 0xd6, 0x8b, 0xd1, 0x21, 0x3b, 0x0d, - 0x24, 0x52, 0x5e, 0x2f, 0x95, 0x54, 0x85, 0x6c, 0xc2, 0xa9, 0x08, 0xbc, 0x68, 0xd6, 0x1b, 0x6a, - 0x6a, 0x23, 0x95, 0x55, 0xc8, 0x99, 0x58, 0xe1, 0x3d, 0xc3, 0x68, 0xa8, 0x69, 0x3a, 0x45, 0x91, - 0x02, 0xb1, 0x25, 0x18, 0x79, 0x26, 0xff, 0x6d, 0x05, 0x4e, 0xb3, 0x66, 0x8a, 0xfd, 0xe5, 0x37, - 0xf5, 0x2c, 0xac, 0xf3, 0xb8, 0xe6, 0x49, 0x0d, 0x5d, 0x03, 0x35, 0x54, 0xca, 0x9a, 0xf9, 0x1c, - 0xac, 0x86, 0xa0, 0xd8, 0x8e, 0x14, 0x3d, 0x3d, 0x42, 0xe0, 0x2d, 0xc3, 0x6a, 0xda, 0x46, 0xa9, - 0x54, 0x37, 0x9b, 0xac, 0x21, 0xe9, 0xbc, 0x06, 0xab, 0x05, 0x67, 0x38, 0xa2, 0x72, 0x68, 0xcf, - 0x73, 0xfb, 0x3d, 0x6c, 0xc2, 0x12, 0x2c, 0x18, 0x5f, 0x6e, 0x1a, 0x35, 0xab, 0x5c, 0xaf, 0xa9, - 0x33, 0xf9, 0xb3, 0x11, 0x1c, 0xb1, 0x8f, 0x2d, 0x6b, 0x47, 0x9d, 0xc9, 0xb7, 0x61, 0x49, 0x58, - 0x4c, 0xb3, 0x55, 0x71, 0x1e, 0x36, 0xc4, 0x5a, 0xc3, 0x13, 0x25, 0xda, 0x85, 0x75, 0x58, 0x8b, - 0x97, 0x1b, 0x4d, 0x55, 0xa1, 0xb3, 0x10, 0x29, 0xa1, 0xf0, 0x54, 0xfe, 0x37, 0x15, 0x58, 0xf2, - 0x5f, 0x90, 0x50, 0x67, 0x7d, 0x01, 0x36, 0xab, 0x25, 0xdd, 0x2e, 0x1a, 0xbb, 0xe5, 0x82, 0x61, - 0xdf, 0x2b, 0xd7, 0x8a, 0x91, 0x8f, 0x3c, 0x0f, 0xcf, 0x25, 0x20, 0xe0, 0x57, 0xd6, 0x61, 0x2d, - 0x5a, 0xd4, 0xa4, 0x5b, 0x35, 0x45, 0x87, 0x3e, 0x5a, 0xe2, 0xef, 0xd3, 0x74, 0xfe, 0x4f, 0x14, - 0x58, 0xe7, 0x79, 0xfb, 0xf9, 0x5b, 0x16, 0x4b, 0xe8, 0x82, 0x11, 0x8f, 0xf3, 0x70, 0xad, 0x69, - 0xb6, 0xac, 0xa6, 0x51, 0x14, 0xe4, 0x74, 0xd1, 0x96, 0x4d, 0xa3, 0x6a, 0xd4, 0x9a, 0x91, 0xb6, - 0xdd, 0x84, 0x17, 0xa6, 0xe0, 0xd6, 0xea, 0x4d, 0xf1, 0x9b, 0xee, 0xd5, 0x17, 0xe0, 0xf2, 0x14, - 0x64, 0x1f, 0x31, 0x95, 0xdf, 0x85, 0x65, 0x4b, 0xaf, 0x56, 0x4a, 0xfd, 0xe1, 0xbe, 0xa3, 0x8f, - 0x47, 0x47, 0x3d, 0xb2, 0x09, 0x67, 0x4a, 0x75, 0xb3, 0x60, 0xd8, 0xd8, 0x83, 0x48, 0x23, 0x4e, - 0xc1, 0x8a, 0x5c, 0x78, 0xdf, 0xa0, 0xbb, 0x8b, 0xc0, 0xb2, 0x0c, 0xac, 0xd5, 0xd5, 0x54, 0xfe, - 0x2b, 0xb0, 0x18, 0x4a, 0x7e, 0x77, 0x06, 0x4e, 0xc9, 0xbf, 0x1b, 0x4e, 0xaf, 0xe3, 0xf6, 0x0e, - 0xd5, 0x99, 0x68, 0x81, 0x39, 0xee, 0xf5, 0x68, 0x01, 0x1e, 0x37, 0x72, 0x41, 0xd3, 0x19, 0x1e, - 0xbb, 0xbd, 0xf6, 0xc8, 0xe9, 0xa8, 0xa9, 0xfc, 0x4b, 0xb0, 0x14, 0x0a, 0xb9, 0x4d, 0xd7, 0x55, - 0xa5, 0xce, 0xef, 0x87, 0xaa, 0x51, 0x2c, 0xb7, 0xaa, 0xea, 0x2c, 0x3d, 0x68, 0x76, 0xca, 0xdb, - 0x3b, 0x2a, 0xe4, 0xbf, 0xaf, 0x50, 0x99, 0x10, 0xc7, 0xbd, 0x5a, 0xd2, 0xc5, 0x4a, 0xa4, 0xbb, - 0x80, 0x05, 0xf2, 0x37, 0x2c, 0x8b, 0x99, 0x05, 0x9c, 0x85, 0x75, 0xfe, 0xc3, 0xd6, 0x6b, 0x45, - 0x7b, 0x47, 0x37, 0x8b, 0x7b, 0xba, 0x49, 0xb7, 0xc6, 0x7d, 0x35, 0x85, 0xfb, 0x5d, 0x82, 0xd8, - 0xcd, 0x7a, 0xab, 0xb0, 0xa3, 0xa6, 0xe9, 0xf6, 0x0a, 0xc1, 0x1b, 0xe5, 0x9a, 0x9a, 0xc1, 0xd3, - 0x23, 0x86, 0x8d, 0xd5, 0xd2, 0xf2, 0xd9, 0xfc, 0x47, 0x0a, 0x9c, 0xb1, 0xdc, 0xc3, 0x5e, 0x7b, - 0x34, 0x1e, 0x3a, 0x7a, 0xf7, 0xb0, 0x3f, 0x74, 0x47, 0x47, 0xc7, 0xd6, 0xd8, 0x1d, 0x39, 0xe4, - 0x06, 0x5c, 0xb5, 0xca, 0xdb, 0x35, 0xbd, 0x49, 0x77, 0xbf, 0x5e, 0xd9, 0xae, 0x9b, 0xe5, 0xe6, - 0x4e, 0xd5, 0xb6, 0x5a, 0xe5, 0xd8, 0xc6, 0xb8, 0x02, 0x17, 0x27, 0xa3, 0x56, 0x8c, 0x6d, 0xbd, - 0x70, 0x5f, 0x55, 0xa6, 0x57, 0xb8, 0xa5, 0x57, 0xf4, 0x5a, 0xc1, 0x28, 0xda, 0xbb, 0xb7, 0xd4, - 0x14, 0xb9, 0x0a, 0x97, 0x26, 0xa3, 0x96, 0xca, 0x0d, 0x8b, 0xa2, 0xa5, 0xa7, 0x7f, 0x77, 0xc7, - 0xaa, 0x52, 0xac, 0x4c, 0xfe, 0x8f, 0x15, 0x58, 0x9f, 0x14, 0x77, 0x89, 0x5c, 0x03, 0xcd, 0xa8, - 0x35, 0x4d, 0xbd, 0x5c, 0xb4, 0x0b, 0xa6, 0x51, 0x34, 0x6a, 0xcd, 0xb2, 0x5e, 0xb1, 0x6c, 0xab, - 0xde, 0xa2, 0xab, 0x29, 0xb0, 0xde, 0xb8, 0x0c, 0x17, 0xa6, 0xe0, 0xd5, 0xcb, 0xc5, 0x82, 0xaa, - 0x90, 0x5b, 0xf0, 0xe2, 0x14, 0x24, 0xeb, 0xbe, 0xd5, 0x34, 0xaa, 0x72, 0x89, 0x9a, 0xca, 0x17, - 0x60, 0x63, 0x72, 0x60, 0x16, 0x7a, 0x8b, 0x84, 0x47, 0x3a, 0x0b, 0x99, 0x22, 0xbd, 0xb8, 0x42, - 0xf9, 0x1e, 0xf2, 0x2e, 0xa8, 0xd1, 0xd8, 0x0a, 0x31, 0x33, 0x1b, 0xb3, 0x55, 0xab, 0xb1, 0x5b, - 0x6e, 0x05, 0x72, 0xf5, 0xe6, 0x8e, 0x61, 0xf2, 0x8c, 0x19, 0x98, 0x22, 0xa3, 0x55, 0xa3, 0x1b, - 0xa7, 0x6e, 0x96, 0xdf, 0xc6, 0xeb, 0x6e, 0x1d, 0xd6, 0xac, 0x8a, 0x5e, 0xb8, 0x87, 0x7b, 0xba, - 0x5c, 0xb3, 0x0b, 0x3b, 0x7a, 0xad, 0x66, 0x54, 0x54, 0xc0, 0xc1, 0x9c, 0xe4, 0x4f, 0x49, 0x3e, - 0x03, 0xd7, 0xeb, 0xf7, 0x9a, 0xba, 0xdd, 0xa8, 0xb4, 0xb6, 0xcb, 0x35, 0xdb, 0xba, 0x5f, 0x2b, - 0x08, 0xd6, 0xac, 0x10, 0xbf, 0x11, 0xae, 0xc3, 0x95, 0xa9, 0xd8, 0x41, 0x6e, 0x8b, 0x6b, 0xa0, - 0x4d, 0xc5, 0xe4, 0x1d, 0xc9, 0xff, 0x48, 0x81, 0xcd, 0x29, 0xef, 0xfd, 0xe4, 0x45, 0xb8, 0xb1, - 0x63, 0xe8, 0xc5, 0x8a, 0x61, 0x59, 0x78, 0x50, 0xd0, 0x69, 0x60, 0xe6, 0x38, 0x89, 0xe7, 0xfd, - 0x0d, 0xb8, 0x3a, 0x1d, 0x3d, 0xe0, 0x1c, 0xae, 0xc3, 0x95, 0xe9, 0xa8, 0x9c, 0x93, 0x48, 0xd1, - 0xf3, 0x76, 0x3a, 0xa6, 0xcf, 0x81, 0xa4, 0xf3, 0xbf, 0xa3, 0xc0, 0xe9, 0x64, 0xa5, 0x1b, 0x6d, - 0x5b, 0xb9, 0x66, 0x35, 0xf5, 0x4a, 0xc5, 0x6e, 0xe8, 0xa6, 0x5e, 0xb5, 0x8d, 0x9a, 0x59, 0xaf, - 0x54, 0x92, 0x6e, 0xde, 0x2b, 0x70, 0x71, 0x32, 0xaa, 0x55, 0x30, 0xcb, 0x0d, 0x7a, 0xb9, 0x68, - 0x70, 0x7e, 0x32, 0x96, 0x51, 0x2e, 0x18, 0x6a, 0x6a, 0xeb, 0xcd, 0x0f, 0xfe, 0xf5, 0xfc, 0xcc, - 0x07, 0x1f, 0x9d, 0x57, 0x7e, 0xfc, 0xd1, 0x79, 0xe5, 0x5f, 0x3e, 0x3a, 0xaf, 0xbc, 0x7d, 0xf3, - 0x64, 0x69, 0xa1, 0x50, 0x46, 0x7b, 0x30, 0x87, 0xd2, 0xe4, 0x2b, 0xff, 0x1b, 0x00, 0x00, 0xff, - 0xff, 0x00, 0xe8, 0x4c, 0x0b, 0xea, 0xb1, 0x01, 0x00, + 0x3a, 0x6d, 0x39, 0x53, 0x63, 0x54, 0x0b, 0x67, 0xb6, 0x59, 0xb4, 0xe8, 0xa0, 0x0e, 0xba, 0xe6, + 0x3a, 0x1c, 0xba, 0xb5, 0x14, 0x52, 0x1a, 0x6b, 0x5b, 0x42, 0x1a, 0x8d, 0x93, 0x91, 0x65, 0x48, + 0xf9, 0x33, 0x9c, 0xea, 0xb4, 0xd9, 0xf6, 0x0a, 0xe2, 0x55, 0x5b, 0xfc, 0x97, 0xf6, 0x6b, 0x70, + 0xfd, 0xa4, 0x63, 0x44, 0xb7, 0xe2, 0x84, 0x01, 0x5f, 0xb0, 0x56, 0x5b, 0xb1, 0x71, 0xbb, 0x04, + 0x72, 0xb8, 0xdd, 0x8e, 0x38, 0xfc, 0x04, 0xac, 0x39, 0xec, 0x68, 0x7f, 0x9d, 0x86, 0xe5, 0xb0, + 0x9a, 0x9c, 0xdc, 0x84, 0x8c, 0x74, 0x02, 0x9d, 0x49, 0xd0, 0xa5, 0xe3, 0xb9, 0x83, 0x48, 0x27, + 0x3a, 0x71, 0xc8, 0x5d, 0x58, 0x46, 0xc3, 0x3d, 0x64, 0x3d, 0x47, 0x1d, 0xfe, 0xf8, 0x32, 0xfd, + 0xfd, 0x2c, 0xfb, 0xc1, 0x87, 0x17, 0x66, 0xf0, 0xa9, 0x6c, 0x91, 0xd2, 0x52, 0xee, 0x8f, 0x16, + 0x4a, 0x5a, 0xd0, 0xcc, 0x64, 0x2d, 0x28, 0xef, 0xca, 0x04, 0x2d, 0xe8, 0xec, 0x14, 0x2d, 0x68, + 0x40, 0x29, 0x6b, 0x41, 0x51, 0x17, 0x3e, 0x3f, 0x49, 0x17, 0x1e, 0xd0, 0x30, 0x5d, 0x78, 0xa0, + 0xc5, 0xcc, 0x4e, 0xd4, 0x62, 0x06, 0x34, 0x5c, 0x8b, 0x79, 0x85, 0x8f, 0xd1, 0xb0, 0xf5, 0xc8, + 0xc1, 0xc1, 0xe3, 0xd7, 0x22, 0xf6, 0xde, 0x6a, 0x3d, 0x42, 0xe3, 0x9a, 0xad, 0x05, 0x10, 0x16, + 0x39, 0xda, 0x1f, 0x28, 0x11, 0x4d, 0xa0, 0x98, 0xbf, 0xab, 0xb0, 0xcc, 0x2e, 0x2b, 0xb7, 0x2d, + 0xc9, 0x9a, 0x4b, 0xd6, 0x92, 0x80, 0x32, 0x79, 0xf3, 0x05, 0x58, 0xf1, 0xd1, 0xb8, 0xc8, 0x85, + 0x9e, 0x7a, 0x96, 0x4f, 0xcd, 0xc3, 0xce, 0xdc, 0x84, 0x55, 0x1f, 0x91, 0x6b, 0x73, 0x98, 0xb8, + 0xb9, 0x64, 0xa9, 0xa2, 0xa0, 0xce, 0xe1, 0xda, 0x61, 0x54, 0xf2, 0xf8, 0x94, 0x5a, 0xa5, 0xfd, + 0x20, 0x1d, 0xd2, 0x92, 0x88, 0xcf, 0xd0, 0x5b, 0xd4, 0xeb, 0x3b, 0x7c, 0x90, 0xf8, 0x59, 0x74, + 0x69, 0xc2, 0x9c, 0x71, 0x9b, 0x26, 0xdb, 0xae, 0x59, 0xe0, 0x79, 0x7d, 0x61, 0xe2, 0xe4, 0x30, + 0x8e, 0x9a, 0xdd, 0xfb, 0xb8, 0x66, 0x45, 0x75, 0xec, 0xe0, 0xc9, 0x4f, 0xaf, 0x4e, 0x88, 0xa9, + 0x74, 0xc9, 0x22, 0x67, 0xed, 0xff, 0x12, 0x1f, 0x68, 0x02, 0x2a, 0x15, 0xbd, 0x70, 0xe5, 0xe9, + 0x04, 0xd9, 0x29, 0x56, 0x39, 0x8e, 0x12, 0xd6, 0xac, 0x8e, 0xc5, 0xbf, 0xa2, 0x5a, 0x03, 0x16, + 0x51, 0x47, 0x21, 0x2a, 0xcc, 0x24, 0xa8, 0xe0, 0xe3, 0x9d, 0x2f, 0x98, 0x15, 0x2b, 0x47, 0xe9, + 0x44, 0x35, 0x47, 0xf0, 0xbc, 0xac, 0x59, 0x08, 0x37, 0x72, 0x56, 0x44, 0xd1, 0x9d, 0x3a, 0x02, + 0x81, 0x02, 0x02, 0x9b, 0x7a, 0xba, 0x15, 0x06, 0x70, 0x34, 0xed, 0x08, 0x36, 0x26, 0x4f, 0xc9, + 0x94, 0x0c, 0x4d, 0xc1, 0x05, 0x9a, 0x92, 0x2f, 0x50, 0x59, 0xcf, 0x90, 0x0e, 0xe9, 0x19, 0xb4, + 0x3f, 0x4b, 0xc3, 0xe5, 0x13, 0x4c, 0xd7, 0x94, 0x6f, 0x7e, 0x31, 0xcc, 0x9e, 0xa5, 0x42, 0x92, + 0x21, 0xad, 0x94, 0x1f, 0x90, 0x54, 0x4a, 0x4d, 0x66, 0xce, 0x7e, 0x05, 0x56, 0xd8, 0x29, 0xc8, + 0xcc, 0x12, 0x0f, 0xc6, 0xdd, 0x13, 0x1c, 0x83, 0x9b, 0xc2, 0x87, 0x2a, 0x42, 0x8a, 0x27, 0x23, + 0x9e, 0x18, 0xb6, 0x0f, 0x23, 0x0d, 0xc8, 0x21, 0xda, 0x41, 0xab, 0xd3, 0x3d, 0x91, 0x33, 0x8f, + 0xf0, 0xd0, 0x92, 0xc9, 0x98, 0x35, 0x35, 0x05, 0x94, 0xf0, 0x37, 0xb9, 0x06, 0x2b, 0xbd, 0xf1, + 0x31, 0x65, 0x3c, 0xd8, 0x5a, 0xe0, 0xd6, 0x1f, 0xb3, 0xd6, 0x52, 0x6f, 0x7c, 0xac, 0x0f, 0x06, + 0x38, 0xa5, 0x68, 0x26, 0xb2, 0x4a, 0xf1, 0xd8, 0xae, 0x15, 0x98, 0x73, 0x88, 0x49, 0x2b, 0x60, + 0xfb, 0x96, 0xe3, 0xae, 0x01, 0x33, 0x1a, 0xe4, 0x19, 0xaa, 0xd8, 0x0f, 0xed, 0x27, 0x29, 0x21, + 0xef, 0x4e, 0x5e, 0xf7, 0xbf, 0x98, 0xa2, 0x84, 0x29, 0xba, 0x0e, 0x2a, 0x1d, 0xfa, 0xe0, 0x50, + 0xf1, 0xe7, 0x68, 0xb9, 0x37, 0x3e, 0xf6, 0xc7, 0x4e, 0x1e, 0xf8, 0x39, 0x79, 0xe0, 0x5f, 0x13, + 0xf2, 0x70, 0xe2, 0xf1, 0x30, 0x79, 0xc8, 0xb5, 0xff, 0x4a, 0xc3, 0xb5, 0x93, 0x1d, 0x02, 0xbf, + 0x98, 0xb7, 0x84, 0x79, 0x8b, 0xa8, 0x4e, 0x67, 0x63, 0xaa, 0xd3, 0x84, 0xbd, 0x37, 0x97, 0xb4, + 0xf7, 0x62, 0x8a, 0xda, 0xf9, 0x04, 0x45, 0x6d, 0xe2, 0x06, 0xcd, 0x3e, 0x61, 0x83, 0x2e, 0xc8, + 0xeb, 0xe4, 0xdf, 0x7d, 0x05, 0x46, 0x58, 0x1e, 0x78, 0x07, 0x4e, 0x09, 0x79, 0x80, 0xdd, 0x1c, + 0x81, 0xfe, 0x3d, 0x77, 0xfb, 0x46, 0x92, 0x24, 0x80, 0x68, 0x09, 0xdc, 0xfa, 0x2a, 0x97, 0x01, + 0x82, 0xf2, 0x9f, 0x1d, 0xee, 0x9f, 0xdc, 0x87, 0xd3, 0x18, 0xdf, 0x7d, 0x5f, 0x7e, 0x39, 0x70, + 0x86, 0xee, 0x01, 0x5f, 0x0f, 0x97, 0x62, 0xbc, 0x72, 0x67, 0x5f, 0x6a, 0x8e, 0xe5, 0x1e, 0xec, + 0xcc, 0x58, 0x6b, 0x5e, 0x02, 0x3c, 0x2a, 0x58, 0xfc, 0xa5, 0x02, 0xda, 0x93, 0xc7, 0x0b, 0x15, + 0x55, 0xd1, 0x01, 0x5f, 0xb0, 0x72, 0x2d, 0x69, 0xf4, 0x2e, 0xc3, 0xd2, 0xd0, 0x3d, 0x18, 0xba, + 0xde, 0x51, 0x48, 0x03, 0xb2, 0xc8, 0x81, 0x62, 0x60, 0x44, 0x94, 0xc9, 0xa7, 0xe2, 0xcc, 0x05, + 0x91, 0x56, 0xf2, 0xe5, 0xc5, 0xc4, 0x79, 0xa0, 0xab, 0x49, 0x6e, 0x20, 0xfb, 0x71, 0x37, 0x93, + 0x4d, 0xa9, 0x69, 0x8b, 0xc7, 0xc2, 0x3c, 0xe8, 0x74, 0x5d, 0xed, 0x6f, 0x15, 0xc1, 0x11, 0x24, + 0x0d, 0x1e, 0x79, 0x47, 0x32, 0xe6, 0x4d, 0xc7, 0xd8, 0x90, 0x24, 0x12, 0xd9, 0xee, 0x91, 0x87, + 0x67, 0x44, 0x40, 0x28, 0x3c, 0x23, 0x42, 0x9e, 0xc1, 0x22, 0x91, 0x4b, 0xcd, 0x77, 0x84, 0x45, + 0x10, 0x3d, 0xf3, 0x76, 0x6f, 0x91, 0x1b, 0x30, 0xcf, 0x8c, 0x80, 0x44, 0x73, 0x57, 0x42, 0xcd, + 0xdd, 0xbd, 0x65, 0x89, 0x72, 0xed, 0x3d, 0xff, 0x5d, 0x2b, 0xd6, 0x89, 0xdd, 0x5b, 0xe4, 0xb5, + 0x93, 0x19, 0xe7, 0x66, 0x85, 0x71, 0xae, 0x6f, 0x98, 0xfb, 0x7a, 0xc8, 0x30, 0xf7, 0xca, 0xf4, + 0xd1, 0xe2, 0xaf, 0x91, 0x2c, 0x1c, 0x61, 0x10, 0xa6, 0xea, 0x27, 0x0a, 0x9c, 0x9b, 0x4a, 0x41, + 0xce, 0x42, 0x56, 0xaf, 0x9b, 0x8d, 0x60, 0x7e, 0xe9, 0x9e, 0x11, 0x10, 0xb2, 0x0d, 0x0b, 0x5b, + 0x2d, 0xaf, 0xb3, 0x4f, 0x97, 0x71, 0xe2, 0xf3, 0x40, 0xac, 0x5a, 0x1f, 0x7d, 0x67, 0xc6, 0x0a, + 0x68, 0x89, 0x03, 0xab, 0xb8, 0x17, 0x42, 0xa9, 0x9f, 0xd2, 0x09, 0xba, 0x86, 0x58, 0x85, 0x31, + 0x32, 0x7a, 0xce, 0xc4, 0x80, 0xd1, 0x2d, 0xf8, 0x50, 0xf0, 0x22, 0x93, 0x1b, 0xf8, 0x14, 0x71, + 0x55, 0xaf, 0x43, 0xb6, 0x2e, 0xec, 0x04, 0x24, 0x6b, 0x76, 0x61, 0x13, 0x60, 0xf9, 0xa5, 0xda, + 0x6f, 0x2b, 0x42, 0x21, 0xf0, 0xe4, 0x8e, 0x48, 0x59, 0xb3, 0xda, 0xd3, 0xb3, 0x66, 0xb5, 0x3f, + 0x66, 0xd6, 0x2c, 0xed, 0x2f, 0x78, 0xd4, 0x73, 0xb3, 0x5d, 0x8f, 0x68, 0x66, 0x9f, 0xd5, 0x2b, + 0xc1, 0x08, 0xad, 0xce, 0xcb, 0x52, 0xd6, 0xc5, 0xf8, 0xb7, 0x26, 0x3b, 0x27, 0x48, 0x4b, 0xf5, + 0x8f, 0xd2, 0x70, 0x76, 0x1a, 0x79, 0x62, 0x5e, 0x67, 0xe5, 0xe9, 0xf2, 0x3a, 0xdf, 0x80, 0x2c, + 0x83, 0xf9, 0x26, 0xf7, 0x38, 0xe0, 0x9c, 0x94, 0x0e, 0xb8, 0x28, 0x26, 0x97, 0x61, 0x4e, 0x2f, + 0xd8, 0x41, 0xaa, 0x31, 0xb4, 0x8d, 0x6d, 0xed, 0x7b, 0x68, 0x75, 0xc9, 0x8b, 0xc8, 0xd7, 0xe2, + 0xd9, 0xf5, 0x78, 0x8e, 0xb1, 0x4d, 0x69, 0x40, 0x62, 0x09, 0x09, 0xb0, 0xbd, 0x41, 0x00, 0x7d, + 0x1e, 0x93, 0xda, 0x8a, 0x67, 0xea, 0xd3, 0x60, 0xae, 0x3e, 0x74, 0x3d, 0x77, 0x24, 0xdb, 0xad, + 0x0e, 0x10, 0x62, 0xf1, 0x12, 0x6e, 0x55, 0xda, 0x7a, 0xcc, 0x82, 0x08, 0xcc, 0xc9, 0x81, 0x5d, + 0xd0, 0x0c, 0x95, 0x82, 0x2d, 0x09, 0x85, 0x12, 0x94, 0x5b, 0xe3, 0xde, 0xfe, 0x51, 0xd3, 0x2a, + 0x73, 0x56, 0x83, 0x11, 0x74, 0x11, 0x4a, 0x3b, 0xe8, 0x59, 0x12, 0x8a, 0xf6, 0x1d, 0x05, 0xd6, + 0x92, 0xfa, 0x41, 0xce, 0x42, 0xa6, 0x97, 0x98, 0x48, 0xb0, 0xc7, 0x7c, 0x9f, 0x73, 0xf4, 0xaf, + 0x73, 0xd0, 0x1f, 0x1e, 0xb7, 0x46, 0xb2, 0x75, 0xaf, 0x04, 0xb6, 0x80, 0xfe, 0x28, 0xe1, 0xff, + 0xe4, 0x82, 0x38, 0xa3, 0xd3, 0xb1, 0xd4, 0x83, 0xf8, 0x47, 0xd3, 0x01, 0xcc, 0x76, 0xbd, 0x36, + 0x60, 0x01, 0xf1, 0x5f, 0x81, 0x0c, 0x6d, 0x56, 0x64, 0xf5, 0xd2, 0xf5, 0xa3, 0x57, 0xca, 0x1c, + 0x89, 0xb5, 0xca, 0x6b, 0x1d, 0x77, 0x2d, 0x44, 0xd6, 0xf6, 0x60, 0x39, 0x8c, 0x41, 0x8c, 0x70, + 0x08, 0xd5, 0xdc, 0x6d, 0x95, 0xd7, 0xb4, 0xd5, 0xef, 0x33, 0x0f, 0x93, 0xad, 0xe7, 0xff, 0xe9, + 0xc3, 0x0b, 0x40, 0x7f, 0x32, 0x9a, 0xa4, 0x10, 0xab, 0xda, 0xf7, 0x52, 0xb0, 0x16, 0x38, 0xb5, + 0x8b, 0x3d, 0xf4, 0x73, 0xeb, 0x61, 0xa9, 0x87, 0x3c, 0x00, 0x05, 0xa3, 0x15, 0xef, 0xe0, 0x14, + 0xc7, 0xa3, 0x6d, 0x58, 0x9f, 0x84, 0x4f, 0x6e, 0xc2, 0x02, 0xc6, 0x41, 0x1a, 0xb4, 0xf6, 0x5d, + 0xf9, 0xec, 0xeb, 0x09, 0xa0, 0x15, 0x94, 0x6b, 0x3f, 0x52, 0x60, 0x83, 0xfb, 0x45, 0x54, 0x5a, + 0x9d, 0x1e, 0xaa, 0xd5, 0xf7, 0xdd, 0x4f, 0xc6, 0x43, 0x78, 0x3b, 0x74, 0x8e, 0x5d, 0x0d, 0xbb, + 0xbf, 0xc4, 0xbe, 0x36, 0xb9, 0xb7, 0xe4, 0x06, 0xc6, 0xf6, 0xe2, 0xcf, 0xce, 0x19, 0x16, 0x91, + 0xa1, 0x47, 0x01, 0x72, 0x44, 0x06, 0xc4, 0xd0, 0x7e, 0x1d, 0xce, 0x4f, 0xff, 0x00, 0xf9, 0x2a, + 0x2c, 0x61, 0xb2, 0xa8, 0xe6, 0xe0, 0x70, 0xd8, 0x6a, 0xbb, 0x42, 0x15, 0x26, 0xd4, 0x97, 0x72, + 0x19, 0x0b, 0x55, 0xc6, 0x23, 0x04, 0x1c, 0x62, 0x1a, 0x2a, 0x4e, 0x14, 0x72, 0x3e, 0x92, 0x6b, + 0xd3, 0x7e, 0x43, 0x01, 0x12, 0xaf, 0x83, 0x7c, 0x0e, 0x16, 0x9b, 0x8d, 0x82, 0x3d, 0x6a, 0x0d, + 0x47, 0x3b, 0xfd, 0xf1, 0x90, 0xc7, 0x09, 0x63, 0x0e, 0xe3, 0xa3, 0x7d, 0x87, 0x3d, 0xa0, 0x1c, + 0xf5, 0xc7, 0x43, 0x2b, 0x84, 0x87, 0x59, 0x8e, 0x5c, 0xf7, 0xeb, 0xed, 0xd6, 0xe3, 0x70, 0x96, + 0x23, 0x0e, 0x0b, 0x65, 0x39, 0xe2, 0x30, 0xed, 0x7d, 0x05, 0x36, 0x85, 0x35, 0x61, 0x3b, 0xa1, + 0x2d, 0x05, 0x0c, 0x8b, 0x32, 0x14, 0x81, 0x69, 0xa7, 0xb1, 0xb4, 0xab, 0x22, 0x72, 0x10, 0x36, + 0x10, 0x79, 0x5b, 0x46, 0x4b, 0xbe, 0x08, 0x19, 0x7b, 0xd4, 0x1f, 0x9c, 0x20, 0x74, 0x90, 0xea, + 0xcf, 0xe8, 0xa8, 0x3f, 0xc0, 0x2a, 0x90, 0x52, 0x73, 0x61, 0x4d, 0x6e, 0x9c, 0x68, 0x31, 0xa9, + 0xc0, 0x3c, 0x8f, 0x11, 0x17, 0x79, 0xa8, 0x9f, 0xd2, 0xa7, 0xad, 0x15, 0x11, 0x9f, 0x88, 0x07, + 0x46, 0xb5, 0x44, 0x1d, 0xda, 0xef, 0x2a, 0x90, 0xa3, 0xdc, 0x06, 0x4a, 0x71, 0xcf, 0xba, 0xa4, + 0xc3, 0x8c, 0xa3, 0xb0, 0x3b, 0xf1, 0xab, 0x3f, 0xd1, 0x6d, 0xfc, 0x2a, 0xac, 0x44, 0x08, 0x88, + 0x86, 0x91, 0x29, 0xba, 0x9d, 0xfd, 0x16, 0x4b, 0x9a, 0xc2, 0x6c, 0x36, 0x42, 0x30, 0xed, 0xbb, + 0x0a, 0xac, 0x51, 0x99, 0x9f, 0xbd, 0x73, 0x5a, 0xe3, 0xae, 0xd8, 0xef, 0x94, 0x83, 0x12, 0x66, + 0xa9, 0xcc, 0x6b, 0x9e, 0x71, 0x50, 0x1c, 0x66, 0xf9, 0xa5, 0x64, 0x07, 0xb2, 0xfc, 0x7e, 0xf1, + 0x78, 0x3c, 0xd3, 0xf3, 0x92, 0x32, 0x21, 0xa8, 0x98, 0x23, 0xd1, 0x9e, 0xe0, 0x11, 0xc6, 0x69, + 0x2c, 0x9f, 0x5a, 0xfb, 0x6f, 0x05, 0xce, 0x4c, 0xa0, 0x21, 0x6f, 0xc2, 0x2c, 0x7a, 0xf4, 0xf1, + 0xd9, 0x3b, 0x3b, 0xe1, 0x13, 0xa3, 0xfd, 0xa3, 0xdd, 0x5b, 0xec, 0x22, 0x3a, 0xa6, 0x3f, 0x2c, + 0x46, 0x45, 0xde, 0x81, 0x05, 0xbd, 0xdd, 0xe6, 0xe2, 0x4c, 0x2a, 0x24, 0xce, 0x4c, 0xf8, 0xe2, + 0x4b, 0x3e, 0x3e, 0x13, 0x67, 0x98, 0x6f, 0x49, 0xbb, 0xed, 0x70, 0x6f, 0xc5, 0xa0, 0xbe, 0x8d, + 0x5f, 0x86, 0xe5, 0x30, 0xf2, 0x53, 0x39, 0x58, 0xbd, 0xa7, 0x80, 0x1a, 0x6e, 0xc3, 0xa7, 0x13, + 0x59, 0x29, 0x69, 0x9a, 0x9f, 0xb0, 0xa8, 0x7e, 0x3f, 0x05, 0xcf, 0x25, 0x8e, 0x30, 0x79, 0x11, + 0xe6, 0xf4, 0xc1, 0xc0, 0x2c, 0xf2, 0x55, 0xc5, 0x39, 0x24, 0xd4, 0x12, 0x87, 0xa4, 0x3d, 0x86, + 0x44, 0x5e, 0x81, 0x2c, 0x7b, 0x4e, 0x2f, 0x8a, 0x03, 0x07, 0x43, 0xc5, 0xf0, 0xb7, 0xfe, 0x70, + 0x64, 0x51, 0x81, 0x48, 0x4a, 0xb0, 0xcc, 0x83, 0xac, 0x58, 0xee, 0xa1, 0xfb, 0x4d, 0x3f, 0xc4, + 0x3d, 0x46, 0xe1, 0x17, 0xaa, 0x67, 0x67, 0xc8, 0xca, 0xe4, 0x30, 0x23, 0x61, 0x2a, 0x52, 0x06, + 0x15, 0xeb, 0x94, 0x6b, 0x62, 0xe1, 0x4d, 0x31, 0xec, 0x0d, 0x6b, 0xc4, 0x84, 0xba, 0x62, 0x94, + 0xfe, 0x74, 0xe9, 0x9e, 0xd7, 0x39, 0xec, 0x1d, 0xbb, 0xbd, 0xd1, 0xa7, 0x37, 0x5d, 0xc1, 0x37, + 0x4e, 0x34, 0x5d, 0x7f, 0x98, 0x61, 0x9b, 0x39, 0x4a, 0x46, 0x39, 0x1a, 0x29, 0xa2, 0x35, 0x72, + 0x34, 0x54, 0x68, 0xe2, 0x61, 0x44, 0x8a, 0x30, 0xcf, 0xc2, 0xbb, 0x88, 0x9d, 0x71, 0x2e, 0xb1, + 0x09, 0x0c, 0x67, 0xf7, 0x16, 0x63, 0x5f, 0x98, 0x6b, 0xa1, 0x67, 0x09, 0x52, 0xb2, 0x0b, 0xb9, + 0x42, 0xd7, 0x6d, 0xf5, 0xc6, 0x83, 0xc6, 0xc9, 0x9e, 0x1c, 0xd7, 0x79, 0x5f, 0x16, 0xf7, 0x19, + 0x19, 0x3e, 0x55, 0xe2, 0x49, 0x2e, 0x57, 0x44, 0x1a, 0xbe, 0xb7, 0x51, 0x06, 0x35, 0x95, 0x9f, + 0x9d, 0x32, 0x3e, 0x51, 0x20, 0xd2, 0x85, 0x5d, 0xe9, 0xb8, 0x3b, 0x92, 0x03, 0xcb, 0xe5, 0x96, + 0x37, 0x6a, 0x0c, 0x5b, 0x3d, 0x0f, 0xc3, 0x42, 0x9e, 0x20, 0x6c, 0xd6, 0xa6, 0x48, 0x39, 0x8c, + 0x3a, 0xc6, 0x91, 0x4f, 0xca, 0x34, 0x98, 0xe1, 0xea, 0x28, 0xbf, 0x54, 0xea, 0xf4, 0x5a, 0xdd, + 0xce, 0xbb, 0xc2, 0x29, 0x93, 0xf1, 0x4b, 0x07, 0x02, 0x68, 0x05, 0xe5, 0xda, 0x57, 0x62, 0xf3, + 0xc6, 0x5a, 0x99, 0x83, 0x79, 0xee, 0xb2, 0xcf, 0x5c, 0xd8, 0xeb, 0x46, 0xb5, 0x68, 0x56, 0xb7, + 0x55, 0x85, 0x2c, 0x03, 0xd4, 0xad, 0x5a, 0xc1, 0xb0, 0x6d, 0xfa, 0x3b, 0x45, 0x7f, 0x73, 0xff, + 0xf6, 0x52, 0xb3, 0xac, 0xa6, 0x25, 0x17, 0xf7, 0x8c, 0xf6, 0x43, 0x05, 0x4e, 0x27, 0x4f, 0x25, + 0x69, 0x00, 0x06, 0x39, 0xe0, 0x8f, 0xcf, 0x9f, 0x9b, 0x3a, 0xef, 0x89, 0xe0, 0x68, 0xb0, 0x84, + 0x11, 0x73, 0xc2, 0x4f, 0x89, 0xc7, 0x22, 0xe6, 0xd5, 0xd7, 0x69, 0x5b, 0xa9, 0x4e, 0x5b, 0x2b, + 0xc0, 0xfa, 0xa4, 0x3a, 0xc2, 0x5d, 0x5d, 0x81, 0x9c, 0x5e, 0xaf, 0x97, 0xcd, 0x82, 0xde, 0x30, + 0x6b, 0x55, 0x55, 0x21, 0x0b, 0x30, 0xbb, 0x6d, 0xd5, 0x9a, 0x75, 0x35, 0xa5, 0x7d, 0x5f, 0x81, + 0x25, 0x33, 0x30, 0xd3, 0x7a, 0xd6, 0xcd, 0xf7, 0x46, 0x68, 0xf3, 0xad, 0xfb, 0xe1, 0x40, 0xfc, + 0x0f, 0x9c, 0x68, 0xe7, 0xfd, 0xa3, 0x02, 0xab, 0x31, 0x1a, 0x62, 0xc3, 0xbc, 0xbe, 0x67, 0xd7, + 0xcc, 0x62, 0x81, 0xb7, 0xec, 0x42, 0x60, 0x5f, 0x84, 0x19, 0x9f, 0x62, 0x5f, 0x61, 0x2e, 0xb4, + 0x8f, 0x3c, 0xa7, 0xdf, 0x69, 0x4b, 0xd9, 0x5a, 0x77, 0x66, 0x2c, 0x51, 0x13, 0xde, 0x64, 0xef, + 0x8e, 0x87, 0x2e, 0x56, 0x9b, 0x0a, 0x29, 0x42, 0x7d, 0x78, 0xbc, 0x62, 0x74, 0x78, 0x68, 0xd1, + 0xf2, 0x78, 0xd5, 0x41, 0x7d, 0x5b, 0x4b, 0x90, 0xe3, 0x52, 0x0b, 0x0a, 0x04, 0x3f, 0x50, 0x60, + 0x7d, 0x52, 0x5b, 0xa9, 0x20, 0x14, 0xf6, 0xa7, 0x3f, 0xed, 0x67, 0x70, 0x08, 0x3b, 0xd2, 0x0b, + 0x34, 0xf2, 0x16, 0xe4, 0x4c, 0xcf, 0x1b, 0xbb, 0x43, 0xfb, 0x95, 0xa6, 0x65, 0xf2, 0x05, 0x72, + 0xee, 0x3f, 0x3e, 0xbc, 0x70, 0x06, 0xdd, 0x12, 0x86, 0x8e, 0xf7, 0x8a, 0x33, 0x1e, 0x76, 0x42, + 0xd1, 0xee, 0x65, 0x0a, 0xca, 0xb7, 0xb6, 0xc6, 0xed, 0x8e, 0x2b, 0xb8, 0x76, 0xe1, 0x73, 0xcc, + 0x61, 0xf2, 0x2d, 0x22, 0x60, 0xda, 0xb7, 0x15, 0xd8, 0x98, 0x3c, 0x30, 0xf4, 0x66, 0x6a, 0x30, + 0xab, 0x1f, 0xe1, 0xf5, 0x8b, 0x37, 0x93, 0x6f, 0x1a, 0x24, 0xd7, 0x29, 0x10, 0x29, 0x91, 0x9f, + 0x3d, 0x3d, 0x15, 0x4b, 0x99, 0x1c, 0x26, 0x12, 0x88, 0xda, 0x7f, 0xa6, 0xe0, 0x34, 0x5d, 0x74, + 0x5d, 0xd7, 0xf3, 0xf4, 0xf1, 0xe8, 0xc8, 0xed, 0x8d, 0x38, 0x1b, 0x46, 0x5e, 0x83, 0xb9, 0xa3, + 0xa7, 0x53, 0x39, 0x32, 0x74, 0x42, 0x00, 0x0f, 0x72, 0xe1, 0x64, 0x41, 0xff, 0x27, 0x97, 0x40, + 0x4e, 0x52, 0x9d, 0xc6, 0x30, 0x99, 0xa9, 0x75, 0xc5, 0x5a, 0x18, 0xf8, 0xf9, 0x64, 0x5f, 0x87, + 0x59, 0x54, 0x33, 0xf0, 0x23, 0x55, 0xb0, 0xc2, 0xc9, 0xad, 0x43, 0x25, 0x84, 0xc5, 0x08, 0xc8, + 0xcb, 0x00, 0x41, 0x86, 0x01, 0x7e, 0x66, 0x0a, 0xf1, 0xdb, 0x4f, 0x32, 0x60, 0x2d, 0x1c, 0x1f, + 0xb4, 0x78, 0xd8, 0xfe, 0x3c, 0xac, 0x8a, 0x61, 0x19, 0x88, 0xe8, 0x7a, 0xfc, 0x35, 0x6c, 0x85, + 0x15, 0x98, 0x03, 0x11, 0x61, 0xef, 0x4a, 0x2c, 0xd1, 0x2e, 0x06, 0xd9, 0x8d, 0x64, 0xd3, 0xbd, + 0x12, 0xcb, 0xa6, 0x9b, 0x65, 0x58, 0x72, 0xca, 0x5c, 0xed, 0xdf, 0x52, 0xb0, 0xb0, 0x47, 0x99, + 0x15, 0x14, 0xc1, 0xa7, 0x8b, 0xf4, 0xb7, 0x21, 0x57, 0xee, 0xb7, 0xf8, 0xb3, 0x03, 0xf7, 0x4d, + 0x60, 0xbe, 0xc1, 0xdd, 0x7e, 0x4b, 0xbc, 0x60, 0x78, 0x96, 0x8c, 0xf4, 0x04, 0xbf, 0xe6, 0xbb, + 0x30, 0xc7, 0x9e, 0x81, 0xb8, 0x76, 0x49, 0xb0, 0xab, 0x7e, 0x8b, 0x5e, 0x62, 0xc5, 0x92, 0xa6, + 0x9c, 0x3d, 0x25, 0xc9, 0xbc, 0x13, 0x8f, 0x15, 0x2a, 0x29, 0x1c, 0x66, 0x4f, 0xa6, 0x70, 0x90, + 0x62, 0xa2, 0xcd, 0x9d, 0x24, 0x26, 0xda, 0xc6, 0x1d, 0xc8, 0x49, 0xed, 0x79, 0x2a, 0xee, 0xf5, + 0x5b, 0x29, 0x58, 0xc2, 0x5e, 0xf9, 0x36, 0x21, 0x3f, 0x9f, 0xea, 0x93, 0x37, 0x42, 0xea, 0x93, + 0x75, 0x79, 0xbe, 0x58, 0xcf, 0xa6, 0xe8, 0x4d, 0xee, 0xc2, 0x6a, 0x0c, 0x91, 0xbc, 0x0a, 0xb3, + 0xb4, 0xf9, 0x42, 0xdc, 0x54, 0xa3, 0x2b, 0x20, 0x88, 0x9f, 0x4b, 0x3b, 0xee, 0x59, 0x0c, 0x5b, + 0xfb, 0x1f, 0x05, 0x16, 0x79, 0xfa, 0x8a, 0xde, 0x41, 0xff, 0x89, 0xc3, 0x79, 0x2d, 0x3a, 0x9c, + 0x2c, 0x4a, 0x07, 0x1f, 0xce, 0xff, 0xeb, 0x41, 0xbc, 0x13, 0x1a, 0xc4, 0x33, 0x7e, 0x34, 0x3d, + 0xd1, 0x9d, 0x29, 0x63, 0xf8, 0x77, 0x18, 0x5f, 0x36, 0x8c, 0x48, 0xbe, 0x06, 0x0b, 0x55, 0xf7, + 0x51, 0x48, 0x6a, 0xbb, 0x36, 0xa1, 0xd2, 0x97, 0x7c, 0x44, 0xb6, 0xa7, 0xf0, 0xc2, 0xeb, 0xb9, + 0x8f, 0x9c, 0xd8, 0x0b, 0x54, 0x50, 0x25, 0x15, 0xdc, 0xc2, 0x64, 0x4f, 0xb3, 0xf4, 0xb9, 0xa3, + 0x24, 0x06, 0x9e, 0xf9, 0x4e, 0x1a, 0x20, 0xf0, 0x31, 0xa3, 0x1b, 0x30, 0xf4, 0xf8, 0x2e, 0x14, + 0xde, 0x08, 0x92, 0xd7, 0xb8, 0x78, 0x93, 0xbf, 0xc6, 0x15, 0xb3, 0xa9, 0xc9, 0xd1, 0x0e, 0x51, + 0x45, 0x5b, 0xe0, 0x4e, 0x4d, 0x6d, 0xb7, 0xdb, 0x62, 0x67, 0x7b, 0x7a, 0xeb, 0x0a, 0x06, 0xb7, + 0xf5, 0xa1, 0x13, 0xf2, 0x10, 0xa3, 0xeb, 0x53, 0x91, 0x22, 0xc4, 0xfc, 0x36, 0x33, 0x4f, 0xe7, + 0xb7, 0x59, 0x87, 0x85, 0x4e, 0xef, 0xa1, 0xdb, 0x1b, 0xf5, 0x87, 0x8f, 0x51, 0x1b, 0x1d, 0xa8, + 0xb9, 0xe8, 0x10, 0x98, 0xa2, 0x8c, 0xcd, 0x03, 0x5e, 0x8c, 0x3e, 0xbe, 0x3c, 0x0d, 0x3e, 0xd0, + 0xf7, 0x3b, 0x9d, 0x55, 0xe7, 0xee, 0x66, 0xb2, 0x73, 0xea, 0xfc, 0xdd, 0x4c, 0x36, 0xab, 0x2e, + 0xdc, 0xcd, 0x64, 0x17, 0x54, 0xb0, 0xa4, 0xf7, 0x1d, 0xff, 0xfd, 0x46, 0x7a, 0x72, 0x09, 0x3f, + 0xa7, 0x68, 0x3f, 0x4d, 0x01, 0x89, 0x37, 0x83, 0xbc, 0x01, 0x39, 0x76, 0xc0, 0x3a, 0x43, 0xef, + 0x1b, 0xdc, 0x6c, 0x9d, 0x85, 0xef, 0x91, 0xc0, 0x72, 0xf8, 0x1e, 0x06, 0xb6, 0xbc, 0x6f, 0x74, + 0xc9, 0x57, 0xe1, 0x14, 0x0e, 0xef, 0xc0, 0x1d, 0x76, 0xfa, 0x6d, 0x07, 0x63, 0xad, 0xb6, 0xba, + 0x3c, 0x67, 0xe0, 0x8b, 0x98, 0xdc, 0x36, 0x5e, 0x3c, 0x61, 0x1a, 0xd0, 0x95, 0xac, 0x8e, 0x98, + 0x75, 0x86, 0x48, 0x1a, 0xa0, 0xca, 0xf4, 0x07, 0xe3, 0x6e, 0x97, 0xcf, 0x6c, 0x9e, 0x0a, 0xba, + 0xd1, 0xb2, 0x09, 0x15, 0x2f, 0x07, 0x15, 0x97, 0xc6, 0xdd, 0x2e, 0x79, 0x0d, 0xa0, 0xdf, 0x73, + 0x8e, 0x3b, 0x9e, 0xc7, 0xde, 0x38, 0x7c, 0xaf, 0xd7, 0x00, 0x2a, 0x4f, 0x46, 0xbf, 0x57, 0x61, + 0x40, 0xf2, 0x4b, 0x80, 0x5e, 0xff, 0x18, 0x0e, 0x83, 0x59, 0xb5, 0xf0, 0x2c, 0x20, 0x02, 0x18, + 0x76, 0xb2, 0x3d, 0x74, 0xed, 0xce, 0xbb, 0xc2, 0x65, 0xe0, 0x6d, 0x58, 0xe5, 0x46, 0xa8, 0x7b, + 0x9d, 0xd1, 0x11, 0xe7, 0xb0, 0x9f, 0x85, 0x3d, 0x97, 0x58, 0xec, 0x7f, 0xce, 0x00, 0xe8, 0x7b, + 0xb6, 0x88, 0x34, 0x75, 0x03, 0x66, 0xa9, 0xdc, 0x20, 0xf4, 0x0f, 0xa8, 0xbd, 0xc5, 0x7a, 0x65, + 0xed, 0x2d, 0x62, 0xd0, 0xdd, 0x68, 0xa1, 0x71, 0xb6, 0xd0, 0x3d, 0xe0, 0x6e, 0x64, 0xf6, 0xda, + 0xa1, 0x48, 0xbf, 0x1c, 0x8b, 0x94, 0x01, 0x82, 0xd8, 0x4f, 0x5c, 0x92, 0x5d, 0x0d, 0x82, 0xa8, + 0xf0, 0x02, 0x9e, 0x6d, 0x20, 0x88, 0x1f, 0x25, 0x2f, 0x9f, 0x00, 0x8d, 0xdc, 0x83, 0x4c, 0xa3, + 0xe5, 0xfb, 0x74, 0x4e, 0x88, 0x88, 0x75, 0x91, 0xe7, 0x74, 0x0c, 0xa2, 0x62, 0x2d, 0x8f, 0x5a, + 0xa1, 0xd4, 0xb7, 0x58, 0x09, 0x31, 0x60, 0x8e, 0xe7, 0xeb, 0x9e, 0x10, 0x49, 0x91, 0xa7, 0xeb, + 0xe6, 0xf1, 0x93, 0x11, 0x28, 0xf3, 0x14, 0x3c, 0x33, 0xf7, 0x6d, 0x48, 0xdb, 0x76, 0x85, 0xc7, + 0x81, 0x58, 0x0a, 0xa4, 0x12, 0xdb, 0xae, 0xb0, 0x37, 0x4a, 0xcf, 0x3b, 0x96, 0xc8, 0x28, 0x32, + 0xf9, 0x3c, 0xe4, 0x24, 0xf6, 0x99, 0x47, 0x50, 0xc1, 0x31, 0x90, 0xbc, 0x66, 0xe4, 0x43, 0x43, + 0xc2, 0x26, 0x65, 0x50, 0xef, 0x8d, 0x1f, 0xb8, 0xfa, 0x60, 0x80, 0xee, 0x74, 0x0f, 0xdd, 0x21, + 0x63, 0xdb, 0xb2, 0x41, 0xe8, 0x61, 0xb4, 0xb5, 0x6f, 0x8b, 0x52, 0x59, 0x07, 0x13, 0xa5, 0x24, + 0x75, 0x58, 0xb5, 0xdd, 0xd1, 0x78, 0xc0, 0xec, 0x34, 0x4a, 0xfd, 0x21, 0x15, 0x42, 0x58, 0xbc, + 0x15, 0x8c, 0xd2, 0xea, 0xd1, 0x42, 0x61, 0x1c, 0x73, 0xd0, 0x1f, 0x46, 0x04, 0x92, 0x38, 0xb1, + 0xe6, 0xca, 0x53, 0x4e, 0x6f, 0xd5, 0xb0, 0x68, 0x83, 0xb7, 0xaa, 0x10, 0x6d, 0x02, 0x81, 0xe6, + 0xe5, 0x84, 0x98, 0x60, 0xf8, 0x60, 0x26, 0xc5, 0x04, 0x0b, 0x45, 0x02, 0x7b, 0x3f, 0x23, 0x85, + 0xa5, 0xe4, 0x73, 0xf1, 0x26, 0xc0, 0xdd, 0x7e, 0xa7, 0x57, 0x71, 0x47, 0x47, 0xfd, 0xb6, 0x14, + 0x9a, 0x2c, 0xf7, 0xab, 0xfd, 0x4e, 0xcf, 0x39, 0x46, 0xf0, 0x4f, 0x3f, 0xbc, 0x20, 0x21, 0x59, + 0xd2, 0xff, 0xe4, 0x33, 0xb0, 0x40, 0x7f, 0x35, 0x02, 0x6b, 0x13, 0xa6, 0xaa, 0x44, 0x6a, 0x96, + 0xbc, 0x21, 0x40, 0x20, 0x77, 0x30, 0x5d, 0x49, 0x67, 0x30, 0x92, 0x98, 0x57, 0x91, 0x9b, 0xa4, + 0x33, 0x18, 0x45, 0x23, 0x0d, 0x4b, 0xc8, 0x64, 0xc7, 0x6f, 0xba, 0xc8, 0x30, 0xc4, 0xb3, 0xa2, + 0xa0, 0x3e, 0x8e, 0xaf, 0x35, 0x47, 0x84, 0x38, 0x95, 0x73, 0xc1, 0x46, 0xc8, 0xb0, 0x11, 0xf6, + 0x4e, 0x91, 0x3d, 0xa0, 0x70, 0xa6, 0x96, 0x35, 0xc2, 0x3b, 0x6a, 0x3b, 0xfb, 0x08, 0x0e, 0x35, + 0xc2, 0x47, 0x26, 0x5b, 0xb0, 0xc2, 0x78, 0x7c, 0x3f, 0x53, 0x21, 0x67, 0x71, 0xf1, 0x6c, 0x0b, + 0x52, 0x19, 0xca, 0x9f, 0x8f, 0x10, 0x90, 0x12, 0xcc, 0xa2, 0x40, 0xc8, 0x4d, 0xcc, 0x37, 0x65, + 0xe9, 0x39, 0xba, 0x8f, 0xf0, 0x5c, 0x41, 0xb9, 0x59, 0x3e, 0x57, 0x10, 0x95, 0x7c, 0x19, 0xc0, + 0xe8, 0x0d, 0xfb, 0xdd, 0x2e, 0x06, 0xe1, 0xcd, 0xa2, 0x28, 0x75, 0x2e, 0xbc, 0x1f, 0xb1, 0x96, + 0x00, 0x89, 0x07, 0x8c, 0xc3, 0xdf, 0x4e, 0x24, 0x54, 0xaf, 0x54, 0x97, 0x66, 0xc2, 0x1c, 0xdb, + 0x8c, 0x18, 0xd0, 0x9a, 0xa7, 0xe8, 0x90, 0xc2, 0x21, 0xb3, 0x80, 0xd6, 0x1c, 0x1e, 0x0f, 0x68, + 0x2d, 0x11, 0x68, 0xf7, 0x60, 0x2d, 0xa9, 0x63, 0x21, 0x11, 0x56, 0x39, 0xa9, 0x08, 0xfb, 0xa7, + 0x69, 0x58, 0xc4, 0xda, 0xc4, 0x29, 0xac, 0xc3, 0x92, 0x3d, 0x7e, 0xe0, 0x47, 0x7b, 0x12, 0xa7, + 0x31, 0xb6, 0xcf, 0x93, 0x0b, 0xe4, 0xa7, 0xad, 0x10, 0x05, 0x31, 0x60, 0x59, 0xdc, 0x04, 0xdb, + 0xc2, 0x02, 0xdd, 0x8f, 0x25, 0x2d, 0x22, 0x16, 0xc6, 0x33, 0xb5, 0x46, 0x88, 0x82, 0xfb, 0x20, + 0xfd, 0x34, 0xf7, 0x41, 0xe6, 0x44, 0xf7, 0xc1, 0x3b, 0xb0, 0x28, 0xbe, 0x86, 0x27, 0xf9, 0xec, + 0xb3, 0x9d, 0xe4, 0xa1, 0xca, 0x48, 0xd9, 0x3f, 0xd1, 0xe7, 0xa6, 0x9e, 0xe8, 0xf8, 0x5e, 0x28, + 0x76, 0xd9, 0x00, 0x61, 0xf1, 0x83, 0x1d, 0x53, 0x19, 0x6e, 0x17, 0xea, 0x1f, 0xe3, 0x96, 0x7c, + 0x15, 0x16, 0xca, 0x7d, 0xf1, 0x54, 0x24, 0xe9, 0xe8, 0xbb, 0x02, 0x28, 0xb3, 0x0b, 0x3e, 0xa6, + 0x7f, 0xbb, 0xa5, 0x3f, 0x89, 0xdb, 0xed, 0x0e, 0x00, 0x77, 0x6d, 0x08, 0x52, 0x90, 0xe1, 0x96, + 0x11, 0x91, 0x2e, 0xc2, 0x4f, 0x05, 0x12, 0x32, 0x3d, 0x9d, 0xb8, 0x15, 0x8a, 0xbe, 0xbf, 0xdf, + 0x1f, 0xf7, 0x46, 0xa1, 0x9c, 0xbd, 0xc2, 0x13, 0xb2, 0xc5, 0xcb, 0xe4, 0xe3, 0x21, 0x42, 0xf6, + 0xc9, 0x4e, 0x08, 0xf9, 0x92, 0x6f, 0x44, 0x37, 0x3f, 0x6d, 0x84, 0xb4, 0xd8, 0x08, 0x4d, 0x34, + 0x9d, 0xd3, 0x7e, 0xa8, 0xc8, 0x81, 0xfc, 0x3f, 0xc6, 0x54, 0xbf, 0x0e, 0xe0, 0xbf, 0xd5, 0x8b, + 0xb9, 0x66, 0xf2, 0x92, 0x0f, 0x95, 0x47, 0x39, 0xc0, 0x95, 0x7a, 0x93, 0xfe, 0xa4, 0x7a, 0xd3, + 0x80, 0x5c, 0xed, 0xeb, 0xa3, 0x56, 0x60, 0xdc, 0x01, 0xb6, 0xcf, 0xc9, 0xe2, 0xc9, 0x94, 0xde, + 0xba, 0x8a, 0x77, 0x43, 0xc0, 0x07, 0x4f, 0x60, 0x81, 0x25, 0x42, 0xed, 0xaf, 0x14, 0x58, 0x91, + 0xdd, 0xb7, 0x1f, 0xf7, 0xf6, 0xc9, 0x17, 0x58, 0x5c, 0x51, 0x25, 0x24, 0xb2, 0x48, 0x48, 0xf4, + 0xc8, 0x7d, 0xdc, 0xdb, 0x67, 0x0c, 0x50, 0xeb, 0x91, 0xdc, 0x58, 0x4a, 0x48, 0x1e, 0xc0, 0x62, + 0xbd, 0xdf, 0xed, 0x52, 0xb6, 0x66, 0xf8, 0x90, 0x0b, 0x00, 0xb4, 0xa2, 0xe8, 0x8b, 0x81, 0x68, + 0xd0, 0xd6, 0x65, 0x2e, 0xe7, 0x9e, 0x19, 0xd0, 0xf3, 0xbe, 0xc3, 0xe9, 0x82, 0x6a, 0xdf, 0x43, + 0x7f, 0x2b, 0xb9, 0x4e, 0xed, 0xc7, 0x0a, 0x90, 0x78, 0x93, 0xe4, 0x23, 0x4b, 0xf9, 0x7f, 0x60, + 0x61, 0x23, 0xac, 0x5f, 0xe6, 0x69, 0x58, 0x3f, 0xed, 0xbb, 0x29, 0x58, 0x93, 0xbb, 0x44, 0xef, + 0x8f, 0x8f, 0xd7, 0x29, 0x03, 0x96, 0xe5, 0xbb, 0xc3, 0x67, 0xb9, 0xf0, 0xaa, 0x90, 0xaf, 0x9b, + 0xf0, 0xfd, 0x15, 0x21, 0x22, 0x6f, 0x42, 0xae, 0x59, 0x31, 0xfd, 0xdb, 0x2f, 0x1d, 0x5c, 0xa9, + 0xe3, 0xe3, 0x8e, 0x93, 0x74, 0x03, 0xca, 0xf8, 0xcf, 0x34, 0x18, 0xf9, 0xdf, 0x53, 0x60, 0xc5, + 0xd4, 0x2b, 0x3c, 0xcf, 0x01, 0x7b, 0xe5, 0xb9, 0x04, 0xe7, 0x4c, 0xbd, 0xe2, 0xd4, 0x6b, 0x65, + 0xb3, 0x70, 0xdf, 0x49, 0x0c, 0x5f, 0x7c, 0x0e, 0x9e, 0x8f, 0xa3, 0x04, 0xaf, 0x41, 0x67, 0x61, + 0x3d, 0x5e, 0x2c, 0x42, 0x1c, 0x27, 0x13, 0x8b, 0x68, 0xc8, 0xe9, 0xfc, 0x5b, 0xb0, 0x22, 0xc2, + 0xf9, 0x36, 0xca, 0x36, 0x26, 0x0c, 0x58, 0x81, 0xdc, 0xae, 0x61, 0x99, 0xa5, 0xfb, 0x4e, 0xa9, + 0x59, 0x2e, 0xab, 0x33, 0x64, 0x09, 0x16, 0x38, 0xa0, 0xa0, 0xab, 0x0a, 0x59, 0x84, 0xac, 0x59, + 0xb5, 0x8d, 0x42, 0xd3, 0x32, 0xd4, 0x54, 0xfe, 0x2d, 0x58, 0xae, 0x0f, 0x3b, 0x0f, 0x5b, 0x23, + 0xf7, 0x9e, 0xfb, 0x18, 0x1f, 0x73, 0xe6, 0x21, 0x6d, 0xe9, 0x7b, 0xea, 0x0c, 0x01, 0x98, 0xab, + 0xdf, 0x2b, 0xd8, 0xb7, 0x6e, 0xa9, 0x0a, 0xc9, 0xc1, 0xfc, 0x76, 0xa1, 0xee, 0xdc, 0xab, 0xd8, + 0x6a, 0x8a, 0xfe, 0xd0, 0xf7, 0x6c, 0xfc, 0x91, 0xce, 0x7f, 0x16, 0x56, 0x91, 0x3b, 0x2b, 0x77, + 0xbc, 0x91, 0xdb, 0x73, 0x87, 0xd8, 0x86, 0x45, 0xc8, 0xda, 0x2e, 0x3d, 0x56, 0x47, 0x2e, 0x6b, + 0x40, 0x65, 0xdc, 0x1d, 0x75, 0x06, 0x5d, 0xf7, 0x9b, 0xaa, 0x92, 0xbf, 0x03, 0x2b, 0x56, 0x7f, + 0x3c, 0xea, 0xf4, 0x0e, 0xed, 0x11, 0xc5, 0x38, 0x7c, 0x4c, 0x9e, 0x83, 0xd5, 0x66, 0x55, 0xaf, + 0x6c, 0x99, 0xdb, 0xcd, 0x5a, 0xd3, 0x76, 0x2a, 0x7a, 0xa3, 0xb0, 0xc3, 0x9e, 0x92, 0x2a, 0x35, + 0xbb, 0xe1, 0x58, 0x46, 0xc1, 0xa8, 0x36, 0x54, 0x25, 0xff, 0x3d, 0x54, 0x34, 0xed, 0xf7, 0x7b, + 0xed, 0x52, 0x6b, 0x7f, 0xd4, 0x1f, 0x62, 0x83, 0x35, 0x38, 0x6f, 0x1b, 0x85, 0x5a, 0xb5, 0xe8, + 0x94, 0xf4, 0x42, 0xa3, 0x66, 0x25, 0xc5, 0xcf, 0xde, 0x80, 0xd3, 0x09, 0x38, 0xb5, 0x46, 0x5d, + 0x55, 0xc8, 0x05, 0xd8, 0x4c, 0x28, 0xdb, 0x33, 0xb6, 0xf4, 0x66, 0x63, 0xa7, 0xaa, 0xa6, 0x26, + 0x10, 0xdb, 0x76, 0x4d, 0x4d, 0xe7, 0x7f, 0x4b, 0x81, 0xe5, 0xa6, 0xc7, 0xed, 0xb8, 0x9b, 0xe8, + 0xc2, 0x79, 0x11, 0xce, 0x36, 0x6d, 0xc3, 0x72, 0x1a, 0xb5, 0x7b, 0x46, 0xd5, 0x69, 0xda, 0xfa, + 0x76, 0xb4, 0x35, 0x17, 0x60, 0x53, 0xc2, 0xb0, 0x8c, 0x42, 0x6d, 0xd7, 0xb0, 0x9c, 0xba, 0x6e, + 0xdb, 0x7b, 0x35, 0xab, 0xa8, 0x2a, 0xf4, 0x8b, 0x09, 0x08, 0x95, 0x92, 0xce, 0x5a, 0x13, 0x2a, + 0xab, 0x1a, 0x7b, 0x7a, 0xd9, 0xd9, 0xaa, 0x35, 0xd4, 0x74, 0xbe, 0x42, 0x99, 0x1d, 0x8c, 0x62, + 0xcb, 0xac, 0x0f, 0xb3, 0x90, 0xa9, 0xd6, 0xaa, 0x46, 0xf4, 0x01, 0x72, 0x11, 0xb2, 0x7a, 0xbd, + 0x6e, 0xd5, 0x76, 0x71, 0x89, 0x01, 0xcc, 0x15, 0x8d, 0x2a, 0x6d, 0x59, 0x9a, 0x96, 0xd4, 0xad, + 0x5a, 0xa5, 0xd6, 0x30, 0x8a, 0x6a, 0x26, 0x6f, 0x89, 0xf3, 0x4c, 0x54, 0xba, 0xdf, 0x67, 0xaf, + 0x7d, 0x45, 0xa3, 0xa4, 0x37, 0xcb, 0x0d, 0x3e, 0x45, 0xf7, 0x1d, 0xcb, 0xf8, 0x52, 0xd3, 0xb0, + 0x1b, 0xb6, 0xaa, 0x10, 0x15, 0x16, 0xab, 0x86, 0x51, 0xb4, 0x1d, 0xcb, 0xd8, 0x35, 0x8d, 0x3d, + 0x35, 0x45, 0xeb, 0x64, 0xff, 0xd3, 0x2f, 0xe4, 0xdf, 0x57, 0x80, 0xb0, 0x08, 0xc0, 0x22, 0xad, + 0x0c, 0xae, 0x98, 0xf3, 0xb0, 0xb1, 0x43, 0xa7, 0x1a, 0xbb, 0x56, 0xa9, 0x15, 0xa3, 0x43, 0x76, + 0x1a, 0x48, 0xa4, 0xbc, 0x56, 0x2a, 0xa9, 0x0a, 0xd9, 0x84, 0x53, 0x11, 0x78, 0xd1, 0xaa, 0xd5, + 0xd5, 0xd4, 0x46, 0x2a, 0xab, 0x90, 0x33, 0xb1, 0xc2, 0x7b, 0x86, 0x51, 0x57, 0xd3, 0x74, 0x8a, + 0x22, 0x05, 0x62, 0x4b, 0x30, 0xf2, 0x4c, 0xfe, 0xdb, 0x0a, 0x9c, 0x66, 0xcd, 0x14, 0xfb, 0xcb, + 0x6f, 0xea, 0x59, 0x58, 0xe7, 0x71, 0xcd, 0x93, 0x1a, 0xba, 0x06, 0x6a, 0xa8, 0x94, 0x35, 0xf3, + 0x39, 0x58, 0x0d, 0x41, 0xb1, 0x1d, 0x29, 0x7a, 0x7a, 0x84, 0xc0, 0x5b, 0x86, 0xdd, 0x70, 0x8c, + 0x52, 0xa9, 0x66, 0x35, 0x58, 0x43, 0xd2, 0x79, 0x0d, 0x56, 0x0b, 0xee, 0x70, 0x44, 0xe5, 0xd0, + 0x9e, 0xd7, 0xe9, 0xf7, 0xb0, 0x09, 0x4b, 0xb0, 0x60, 0x7c, 0xb9, 0x61, 0x54, 0x6d, 0xb3, 0x56, + 0x55, 0x67, 0xf2, 0x67, 0x23, 0x38, 0x62, 0x1f, 0xdb, 0xf6, 0x8e, 0x3a, 0x93, 0x6f, 0xc1, 0x92, + 0xb0, 0x98, 0x66, 0xab, 0xe2, 0x3c, 0x6c, 0x88, 0xb5, 0x86, 0x27, 0x4a, 0xb4, 0x0b, 0xeb, 0xb0, + 0x16, 0x2f, 0x37, 0x1a, 0xaa, 0x42, 0x67, 0x21, 0x52, 0x42, 0xe1, 0xa9, 0xfc, 0x6f, 0x2a, 0xb0, + 0xe4, 0xbf, 0x20, 0xa1, 0xce, 0xfa, 0x02, 0x6c, 0x56, 0x4a, 0xba, 0x53, 0x34, 0x76, 0xcd, 0x82, + 0xe1, 0xdc, 0x33, 0xab, 0xc5, 0xc8, 0x47, 0x9e, 0x87, 0xe7, 0x12, 0x10, 0xf0, 0x2b, 0xeb, 0xb0, + 0x16, 0x2d, 0x6a, 0xd0, 0xad, 0x9a, 0xa2, 0x43, 0x1f, 0x2d, 0xf1, 0xf7, 0x69, 0x3a, 0xff, 0x27, + 0x0a, 0xac, 0xf3, 0xbc, 0xfd, 0xfc, 0x2d, 0x8b, 0x25, 0x74, 0xc1, 0x88, 0xc7, 0x79, 0xb8, 0xd6, + 0xb0, 0x9a, 0x76, 0xc3, 0x28, 0x0a, 0x72, 0xba, 0x68, 0x4d, 0xcb, 0xa8, 0x18, 0xd5, 0x46, 0xa4, + 0x6d, 0x37, 0xe1, 0x85, 0x29, 0xb8, 0xd5, 0x5a, 0x43, 0xfc, 0xa6, 0x7b, 0xf5, 0x05, 0xb8, 0x3c, + 0x05, 0xd9, 0x47, 0x4c, 0xe5, 0x77, 0x61, 0xd9, 0xd6, 0x2b, 0xe5, 0x52, 0x7f, 0xb8, 0xef, 0xea, + 0xe3, 0xd1, 0x51, 0x8f, 0x6c, 0xc2, 0x99, 0x52, 0xcd, 0x2a, 0x18, 0x0e, 0xf6, 0x20, 0xd2, 0x88, + 0x53, 0xb0, 0x22, 0x17, 0xde, 0x37, 0xe8, 0xee, 0x22, 0xb0, 0x2c, 0x03, 0xab, 0x35, 0x35, 0x95, + 0xff, 0x0a, 0x2c, 0x86, 0x92, 0xdf, 0x9d, 0x81, 0x53, 0xf2, 0xef, 0xba, 0xdb, 0x6b, 0x77, 0x7a, + 0x87, 0xea, 0x4c, 0xb4, 0xc0, 0x1a, 0xf7, 0x7a, 0xb4, 0x00, 0x8f, 0x1b, 0xb9, 0xa0, 0xe1, 0x0e, + 0x8f, 0x3b, 0xbd, 0xd6, 0xc8, 0x6d, 0xab, 0xa9, 0xfc, 0x4b, 0xb0, 0x14, 0x0a, 0xb9, 0x4d, 0xd7, + 0x55, 0xb9, 0xc6, 0xef, 0x87, 0x8a, 0x51, 0x34, 0x9b, 0x15, 0x75, 0x96, 0x1e, 0x34, 0x3b, 0xe6, + 0xf6, 0x8e, 0x0a, 0xf9, 0xef, 0x2b, 0x54, 0x26, 0xc4, 0x71, 0xaf, 0x94, 0x74, 0xb1, 0x12, 0xe9, + 0x2e, 0x60, 0x81, 0xfc, 0x0d, 0xdb, 0x66, 0x66, 0x01, 0x67, 0x61, 0x9d, 0xff, 0x70, 0xf4, 0x6a, + 0xd1, 0xd9, 0xd1, 0xad, 0xe2, 0x9e, 0x6e, 0xd1, 0xad, 0x71, 0x5f, 0x4d, 0xe1, 0x7e, 0x97, 0x20, + 0x4e, 0xa3, 0xd6, 0x2c, 0xec, 0xa8, 0x69, 0xba, 0xbd, 0x42, 0xf0, 0xba, 0x59, 0x55, 0x33, 0x78, + 0x7a, 0xc4, 0xb0, 0xb1, 0x5a, 0x5a, 0x3e, 0x9b, 0xff, 0x48, 0x81, 0x33, 0x76, 0xe7, 0xb0, 0xd7, + 0x1a, 0x8d, 0x87, 0xae, 0xde, 0x3d, 0xec, 0x0f, 0x3b, 0xa3, 0xa3, 0x63, 0x7b, 0xdc, 0x19, 0xb9, + 0xe4, 0x06, 0x5c, 0xb5, 0xcd, 0xed, 0xaa, 0xde, 0xa0, 0xbb, 0x5f, 0x2f, 0x6f, 0xd7, 0x2c, 0xb3, + 0xb1, 0x53, 0x71, 0xec, 0xa6, 0x19, 0xdb, 0x18, 0x57, 0xe0, 0xe2, 0x64, 0xd4, 0xb2, 0xb1, 0xad, + 0x17, 0xee, 0xab, 0xca, 0xf4, 0x0a, 0xb7, 0xf4, 0xb2, 0x5e, 0x2d, 0x18, 0x45, 0x67, 0xf7, 0x96, + 0x9a, 0x22, 0x57, 0xe1, 0xd2, 0x64, 0xd4, 0x92, 0x59, 0xb7, 0x29, 0x5a, 0x7a, 0xfa, 0x77, 0x77, + 0xec, 0x0a, 0xc5, 0xca, 0xe4, 0xff, 0x58, 0x81, 0xf5, 0x49, 0x71, 0x97, 0xc8, 0x35, 0xd0, 0x8c, + 0x6a, 0xc3, 0xd2, 0xcd, 0xa2, 0x53, 0xb0, 0x8c, 0xa2, 0x51, 0x6d, 0x98, 0x7a, 0xd9, 0x76, 0xec, + 0x5a, 0x93, 0xae, 0xa6, 0xc0, 0x7a, 0xe3, 0x32, 0x5c, 0x98, 0x82, 0x57, 0x33, 0x8b, 0x05, 0x55, + 0x21, 0xb7, 0xe0, 0xc5, 0x29, 0x48, 0xf6, 0x7d, 0xbb, 0x61, 0x54, 0xe4, 0x12, 0x35, 0x95, 0x2f, + 0xc0, 0xc6, 0xe4, 0xc0, 0x2c, 0xf4, 0x16, 0x09, 0x8f, 0x74, 0x16, 0x32, 0x45, 0x7a, 0x71, 0x85, + 0xf2, 0x3d, 0xe4, 0x3b, 0xa0, 0x46, 0x63, 0x2b, 0xc4, 0xcc, 0x6c, 0xac, 0x66, 0xb5, 0xca, 0x6e, + 0xb9, 0x15, 0xc8, 0xd5, 0x1a, 0x3b, 0x86, 0xc5, 0x33, 0x66, 0x60, 0x8a, 0x8c, 0x66, 0x95, 0x6e, + 0x9c, 0x9a, 0x65, 0xbe, 0x8d, 0xd7, 0xdd, 0x3a, 0xac, 0xd9, 0x65, 0xbd, 0x70, 0x0f, 0xf7, 0xb4, + 0x59, 0x75, 0x0a, 0x3b, 0x7a, 0xb5, 0x6a, 0x94, 0x55, 0xc0, 0xc1, 0x9c, 0xe4, 0x4f, 0x49, 0x3e, + 0x03, 0xd7, 0x6b, 0xf7, 0x1a, 0xba, 0x53, 0x2f, 0x37, 0xb7, 0xcd, 0xaa, 0x63, 0xdf, 0xaf, 0x16, + 0x04, 0x6b, 0x56, 0x88, 0xdf, 0x08, 0xd7, 0xe1, 0xca, 0x54, 0xec, 0x20, 0xb7, 0xc5, 0x35, 0xd0, + 0xa6, 0x62, 0xf2, 0x8e, 0xe4, 0x7f, 0xa4, 0xc0, 0xe6, 0x94, 0xf7, 0x7e, 0xf2, 0x22, 0xdc, 0xd8, + 0x31, 0xf4, 0x62, 0xd9, 0xb0, 0x6d, 0x3c, 0x28, 0xe8, 0x34, 0x30, 0x73, 0x9c, 0xc4, 0xf3, 0xfe, + 0x06, 0x5c, 0x9d, 0x8e, 0x1e, 0x70, 0x0e, 0xd7, 0xe1, 0xca, 0x74, 0x54, 0xce, 0x49, 0xa4, 0xe8, + 0x79, 0x3b, 0x1d, 0xd3, 0xe7, 0x40, 0xd2, 0xf9, 0xdf, 0x51, 0xe0, 0x74, 0xb2, 0xd2, 0x8d, 0xb6, + 0xcd, 0xac, 0xda, 0x0d, 0xbd, 0x5c, 0x76, 0xea, 0xba, 0xa5, 0x57, 0x1c, 0xa3, 0x6a, 0xd5, 0xca, + 0xe5, 0xa4, 0x9b, 0xf7, 0x0a, 0x5c, 0x9c, 0x8c, 0x6a, 0x17, 0x2c, 0xb3, 0x4e, 0x2f, 0x17, 0x0d, + 0xce, 0x4f, 0xc6, 0x32, 0xcc, 0x82, 0xa1, 0xa6, 0xb6, 0xde, 0xfc, 0xe0, 0x5f, 0xcf, 0xcf, 0x7c, + 0xf0, 0xd1, 0x79, 0xe5, 0xc7, 0x1f, 0x9d, 0x57, 0xfe, 0xe5, 0xa3, 0xf3, 0xca, 0xdb, 0x37, 0x4f, + 0x96, 0x16, 0x0a, 0x65, 0xb4, 0x07, 0x73, 0x28, 0x4d, 0xbe, 0xf2, 0xbf, 0x01, 0x00, 0x00, 0xff, + 0xff, 0x9c, 0xd3, 0x5d, 0xdc, 0xea, 0xb1, 0x01, 0x00, } func (this *PluginSpecV1) Equal(that interface{}) bool { @@ -48950,10 +48950,10 @@ func (m *AccessGraphAzureSync) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x22 } - if len(m.UmiClientId) > 0 { - i -= len(m.UmiClientId) - copy(dAtA[i:], m.UmiClientId) - i = encodeVarintTypes(dAtA, i, uint64(len(m.UmiClientId))) + if len(m.UMIClientID) > 0 { + i -= len(m.UMIClientID) + copy(dAtA[i:], m.UMIClientID) + i = encodeVarintTypes(dAtA, i, uint64(len(m.UMIClientID))) i-- dAtA[i] = 0x1a } @@ -60027,7 +60027,7 @@ func (m *AccessGraphAzureSync) Size() (n int) { if l > 0 { n += 1 + l + sovTypes(uint64(l)) } - l = len(m.UmiClientId) + l = len(m.UMIClientID) if l > 0 { n += 1 + l + sovTypes(uint64(l)) } @@ -130490,7 +130490,7 @@ func (m *AccessGraphAzureSync) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UmiClientId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field UMIClientID", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -130518,7 +130518,7 @@ func (m *AccessGraphAzureSync) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.UmiClientId = string(dAtA[iNdEx:postIndex]) + m.UMIClientID = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { From 9800be4a9714021c41580585c3f86e67621ba421 Mon Sep 17 00:00:00 2001 From: Matt Brock Date: Wed, 27 Nov 2024 10:16:27 -0600 Subject: [PATCH 14/21] Apply suggestions from code review Co-authored-by: Tiago Silva --- proto/accessgraph/v1alpha/access_graph_service.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proto/accessgraph/v1alpha/access_graph_service.proto b/proto/accessgraph/v1alpha/access_graph_service.proto index 0a7efceae248a..a5bb923405014 100644 --- a/proto/accessgraph/v1alpha/access_graph_service.proto +++ b/proto/accessgraph/v1alpha/access_graph_service.proto @@ -89,7 +89,7 @@ service AccessGraphService { rpc EntraEventsStream(stream EntraEventsStreamRequest) returns (stream EntraEventsStreamResponse); // AzureEventsStream is a stream of commands to the Azure importer - rpc AzureEventsStream(stream AzureEventsStreamRequest) returns (AzureEventsStreamResponse); + rpc AzureEventsStream(stream AzureEventsStreamRequest) returns (stream AzureEventsStreamResponse); } // QueryRequest is a request to query the access graph. From fe2cbc5b4ebfaab496b816940e82cfc64ad86bb8 Mon Sep 17 00:00:00 2001 From: Matt Brock Date: Wed, 27 Nov 2024 13:40:16 -0600 Subject: [PATCH 15/21] PR feedback --- .../v1alpha/access_graph_service.pb.go | 18 +-- .../v1alpha/access_graph_service_grpc.pb.go | 13 +- gen/proto/go/accessgraph/v1alpha/azure.pb.go | 148 ++++++++++++------ proto/accessgraph/v1alpha/azure.proto | 40 +++++ 4 files changed, 154 insertions(+), 65 deletions(-) diff --git a/gen/proto/go/accessgraph/v1alpha/access_graph_service.pb.go b/gen/proto/go/accessgraph/v1alpha/access_graph_service.pb.go index c59aa73bcffa1..a62022393794b 100644 --- a/gen/proto/go/accessgraph/v1alpha/access_graph_service.pb.go +++ b/gen/proto/go/accessgraph/v1alpha/access_graph_service.pb.go @@ -1702,7 +1702,7 @@ var file_accessgraph_v1alpha_access_graph_service_proto_rawDesc = []byte{ 0x22, 0x14, 0x0a, 0x12, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1b, 0x0a, 0x19, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x32, 0xa1, 0x08, 0x0a, 0x12, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x47, 0x72, + 0x6e, 0x73, 0x65, 0x32, 0xa3, 0x08, 0x0a, 0x12, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4e, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x21, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, @@ -1761,20 +1761,20 @@ var file_accessgraph_v1alpha_access_graph_service_proto_rawDesc = []byte{ 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, - 0x01, 0x12, 0x74, 0x0a, 0x11, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x01, 0x12, 0x76, 0x0a, 0x11, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x2d, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x42, 0x57, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x67, 0x65, 0x6e, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x42, 0x57, 0x5a, 0x55, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x67, + 0x65, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/gen/proto/go/accessgraph/v1alpha/access_graph_service_grpc.pb.go b/gen/proto/go/accessgraph/v1alpha/access_graph_service_grpc.pb.go index 2d6201effeea4..7bc14a2bb03e0 100644 --- a/gen/proto/go/accessgraph/v1alpha/access_graph_service_grpc.pb.go +++ b/gen/proto/go/accessgraph/v1alpha/access_graph_service_grpc.pb.go @@ -94,7 +94,7 @@ type AccessGraphServiceClient interface { // EntraEventsStream is a stream of commands to the Entra ID SSO importer. EntraEventsStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[EntraEventsStreamRequest, EntraEventsStreamResponse], error) // AzureEventsStream is a stream of commands to the Azure importer - AzureEventsStream(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[AzureEventsStreamRequest, AzureEventsStreamResponse], error) + AzureEventsStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[AzureEventsStreamRequest, AzureEventsStreamResponse], error) } type accessGraphServiceClient struct { @@ -210,7 +210,7 @@ func (c *accessGraphServiceClient) EntraEventsStream(ctx context.Context, opts . // This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. type AccessGraphService_EntraEventsStreamClient = grpc.BidiStreamingClient[EntraEventsStreamRequest, EntraEventsStreamResponse] -func (c *accessGraphServiceClient) AzureEventsStream(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[AzureEventsStreamRequest, AzureEventsStreamResponse], error) { +func (c *accessGraphServiceClient) AzureEventsStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[AzureEventsStreamRequest, AzureEventsStreamResponse], error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) stream, err := c.cc.NewStream(ctx, &AccessGraphService_ServiceDesc.Streams[5], AccessGraphService_AzureEventsStream_FullMethodName, cOpts...) if err != nil { @@ -221,7 +221,7 @@ func (c *accessGraphServiceClient) AzureEventsStream(ctx context.Context, opts . } // This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. -type AccessGraphService_AzureEventsStreamClient = grpc.ClientStreamingClient[AzureEventsStreamRequest, AzureEventsStreamResponse] +type AccessGraphService_AzureEventsStreamClient = grpc.BidiStreamingClient[AzureEventsStreamRequest, AzureEventsStreamResponse] // AccessGraphServiceServer is the server API for AccessGraphService service. // All implementations must embed UnimplementedAccessGraphServiceServer @@ -269,7 +269,7 @@ type AccessGraphServiceServer interface { // EntraEventsStream is a stream of commands to the Entra ID SSO importer. EntraEventsStream(grpc.BidiStreamingServer[EntraEventsStreamRequest, EntraEventsStreamResponse]) error // AzureEventsStream is a stream of commands to the Azure importer - AzureEventsStream(grpc.ClientStreamingServer[AzureEventsStreamRequest, AzureEventsStreamResponse]) error + AzureEventsStream(grpc.BidiStreamingServer[AzureEventsStreamRequest, AzureEventsStreamResponse]) error mustEmbedUnimplementedAccessGraphServiceServer() } @@ -307,7 +307,7 @@ func (UnimplementedAccessGraphServiceServer) GitlabEventsStream(grpc.BidiStreami func (UnimplementedAccessGraphServiceServer) EntraEventsStream(grpc.BidiStreamingServer[EntraEventsStreamRequest, EntraEventsStreamResponse]) error { return status.Errorf(codes.Unimplemented, "method EntraEventsStream not implemented") } -func (UnimplementedAccessGraphServiceServer) AzureEventsStream(grpc.ClientStreamingServer[AzureEventsStreamRequest, AzureEventsStreamResponse]) error { +func (UnimplementedAccessGraphServiceServer) AzureEventsStream(grpc.BidiStreamingServer[AzureEventsStreamRequest, AzureEventsStreamResponse]) error { return status.Errorf(codes.Unimplemented, "method AzureEventsStream not implemented") } func (UnimplementedAccessGraphServiceServer) mustEmbedUnimplementedAccessGraphServiceServer() {} @@ -443,7 +443,7 @@ func _AccessGraphService_AzureEventsStream_Handler(srv interface{}, stream grpc. } // This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. -type AccessGraphService_AzureEventsStreamServer = grpc.ClientStreamingServer[AzureEventsStreamRequest, AzureEventsStreamResponse] +type AccessGraphService_AzureEventsStreamServer = grpc.BidiStreamingServer[AzureEventsStreamRequest, AzureEventsStreamResponse] // AccessGraphService_ServiceDesc is the grpc.ServiceDesc for AccessGraphService service. // It's only intended for direct use with grpc.RegisterService, @@ -501,6 +501,7 @@ var AccessGraphService_ServiceDesc = grpc.ServiceDesc{ { StreamName: "AzureEventsStream", Handler: _AccessGraphService_AzureEventsStream_Handler, + ServerStreams: true, ClientStreams: true, }, }, diff --git a/gen/proto/go/accessgraph/v1alpha/azure.pb.go b/gen/proto/go/accessgraph/v1alpha/azure.pb.go index 249e48b7d203a..08222066756b5 100644 --- a/gen/proto/go/accessgraph/v1alpha/azure.pb.go +++ b/gen/proto/go/accessgraph/v1alpha/azure.pb.go @@ -169,18 +169,22 @@ type isAzureResource_Resource interface { } type AzureResource_Principal struct { + // principal is an Azure principal Principal *AzurePrincipal `protobuf:"bytes,1,opt,name=principal,proto3,oneof"` } type AzureResource_RoleDefinition struct { + // role_definition is an Azure role definition RoleDefinition *AzureRoleDefinition `protobuf:"bytes,2,opt,name=role_definition,json=roleDefinition,proto3,oneof"` } type AzureResource_RoleAssignment struct { + // role_assignment is an Azure role assignment, which assigns a role definition to a principal RoleAssignment *AzureRoleAssignment `protobuf:"bytes,3,opt,name=role_assignment,json=roleAssignment,proto3,oneof"` } type AzureResource_VirtualMachine struct { + // virtual_machine is an Azure virtual machine, an instance of a compute resource VirtualMachine *AzureVirtualMachine `protobuf:"bytes,4,opt,name=virtual_machine,json=virtualMachine,proto3,oneof"` } @@ -198,12 +202,18 @@ type AzureVirtualMachine struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - SubscriptionId string `protobuf:"bytes,2,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` - LastSyncTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_sync_time,json=lastSyncTime,proto3" json:"last_sync_time,omitempty"` - Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` - ResourceGroup string `protobuf:"bytes,5,opt,name=resource_group,json=resourceGroup,proto3" json:"resource_group,omitempty"` - Tags map[string]string `protobuf:"bytes,6,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // id is the ID of the virtual machine + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // subscription_id is the ID of the subscription to which the virtual machine belongs + SubscriptionId string `protobuf:"bytes,2,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` + // last_sync_time is when the virtual machine was last fetched from Azure + LastSyncTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_sync_time,json=lastSyncTime,proto3" json:"last_sync_time,omitempty"` + // name is the given name of the virtual machine + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + // resource_group is the name of the resource group to which the virtual machine belongs + ResourceGroup string `protobuf:"bytes,5,opt,name=resource_group,json=resourceGroup,proto3" json:"resource_group,omitempty"` + // tags are a collection of arbitrary key-values applied to the virtual machine + Tags map[string]string `protobuf:"bytes,6,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *AzureVirtualMachine) Reset() { @@ -284,8 +294,11 @@ type AzureIdentity struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - SignInType string `protobuf:"bytes,1,opt,name=sign_in_type,json=signInType,proto3" json:"sign_in_type,omitempty"` - Issuer string `protobuf:"bytes,2,opt,name=issuer,proto3" json:"issuer,omitempty"` + // sign_in_type is the type of identity used when signing in, e.g. "emailAddress" or "userName" + SignInType string `protobuf:"bytes,1,opt,name=sign_in_type,json=signInType,proto3" json:"sign_in_type,omitempty"` + // issuer is the issuer of the identity, such as a domain name like "goteleport.com" + Issuer string `protobuf:"bytes,2,opt,name=issuer,proto3" json:"issuer,omitempty"` + // issuer_assigned_id unique identifier assigned to the user by the issuer IssuerAssignedId string `protobuf:"bytes,3,opt,name=issuer_assigned_id,json=issuerAssignedId,proto3" json:"issuer_assigned_id,omitempty"` } @@ -346,12 +359,18 @@ type AzurePrincipal struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - SubscriptionId string `protobuf:"bytes,2,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` - LastSyncTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_sync_time,json=lastSyncTime,proto3" json:"last_sync_time,omitempty"` - DisplayName string `protobuf:"bytes,4,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - MemberOf []string `protobuf:"bytes,5,rep,name=member_of,json=memberOf,proto3" json:"member_of,omitempty"` - Identities []*AzureIdentity `protobuf:"bytes,6,rep,name=identities,proto3" json:"identities,omitempty"` + // id is the ID of the principal + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // subscription_id is the ID of the subscription to which the principal belongs + SubscriptionId string `protobuf:"bytes,2,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` + // last_sync_time is when the principal was last fetched from Azure + LastSyncTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_sync_time,json=lastSyncTime,proto3" json:"last_sync_time,omitempty"` + // display_name is the given name for the principal, e.g. a user's first+last name + DisplayName string `protobuf:"bytes,4,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // member_of lists the groups and directories the principal is assigned to + MemberOf []string `protobuf:"bytes,5,rep,name=member_of,json=memberOf,proto3" json:"member_of,omitempty"` + // identities lists the identities that can be used to sign in to the account + Identities []*AzureIdentity `protobuf:"bytes,6,rep,name=identities,proto3" json:"identities,omitempty"` } func (x *AzurePrincipal) Reset() { @@ -432,13 +451,20 @@ type AzureRoleAssignment struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - SubscriptionId string `protobuf:"bytes,2,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` - LastSyncTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_sync_time,json=lastSyncTime,proto3" json:"last_sync_time,omitempty"` - PrincipalId string `protobuf:"bytes,4,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` - RoleDefinitionId string `protobuf:"bytes,5,opt,name=role_definition_id,json=roleDefinitionId,proto3" json:"role_definition_id,omitempty"` - Scope string `protobuf:"bytes,6,opt,name=scope,proto3" json:"scope,omitempty"` - Condition string `protobuf:"bytes,7,opt,name=condition,proto3" json:"condition,omitempty"` + // id is the ID of the role assignment + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // subscription_id is the ID of the subscription to which the role assignment belongs + SubscriptionId string `protobuf:"bytes,2,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` + // last_sync_time is when the role assignment was last fetched from Azure + LastSyncTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_sync_time,json=lastSyncTime,proto3" json:"last_sync_time,omitempty"` + // principal_id is the ID of the principal being assigned a role + PrincipalId string `protobuf:"bytes,4,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` + // role_definition_id is the ID of the role definition assigned to the principal + RoleDefinitionId string `protobuf:"bytes,5,opt,name=role_definition_id,json=roleDefinitionId,proto3" json:"role_definition_id,omitempty"` + // scope constrains which resources the assignment applies to + Scope string `protobuf:"bytes,6,opt,name=scope,proto3" json:"scope,omitempty"` + // condition further which resources the assignment applies to + Condition string `protobuf:"bytes,7,opt,name=condition,proto3" json:"condition,omitempty"` } func (x *AzureRoleAssignment) Reset() { @@ -526,14 +552,24 @@ type AzureRoleDefinition struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - SubscriptionId string `protobuf:"bytes,2,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` - LastSyncTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_sync_time,json=lastSyncTime,proto3" json:"last_sync_time,omitempty"` - Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` - Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` - AssignableScopes []string `protobuf:"bytes,6,rep,name=assignable_scopes,json=assignableScopes,proto3" json:"assignable_scopes,omitempty"` - Permissions []*AzureRBACPermission `protobuf:"bytes,7,rep,name=permissions,proto3" json:"permissions,omitempty"` - RoleName string `protobuf:"bytes,8,opt,name=role_name,json=roleName,proto3" json:"role_name,omitempty"` + // id is the ID of the role definition + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // subscription_id is the ID of the subscription to which the role definition belongs + SubscriptionId string `protobuf:"bytes,2,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` + // last_sync_time is when the role definition was last fetched from Azure + LastSyncTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_sync_time,json=lastSyncTime,proto3" json:"last_sync_time,omitempty"` + // name is the given name for the role definition + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + // description provides additional detail about the role definition + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + // assignable_scopes limits the scopes defined in corresponding role assignments + AssignableScopes []string `protobuf:"bytes,6,rep,name=assignable_scopes,json=assignableScopes,proto3" json:"assignable_scopes,omitempty"` + // permissions define the actions and not (disallowed) actions + Permissions []*AzureRBACPermission `protobuf:"bytes,7,rep,name=permissions,proto3" json:"permissions,omitempty"` + // role_name is the given name for the role itself + RoleName string `protobuf:"bytes,8,opt,name=role_name,json=roleName,proto3" json:"role_name,omitempty"` + // type defines the type of role + Type string `protobuf:"bytes,9,opt,name=type,proto3" json:"type,omitempty"` } func (x *AzureRoleDefinition) Reset() { @@ -622,15 +658,26 @@ func (x *AzureRoleDefinition) GetRoleName() string { return "" } +func (x *AzureRoleDefinition) GetType() string { + if x != nil { + return x.Type + } + return "" +} + // AzurePermission defines the actions and not (disallowed) actions for a role definition type AzureRBACPermission struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Actions []string `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"` - NotActions []string `protobuf:"bytes,2,rep,name=not_actions,json=notActions,proto3" json:"not_actions,omitempty"` - DataActions []string `protobuf:"bytes,3,rep,name=data_actions,json=dataActions,proto3" json:"data_actions,omitempty"` + // actions define the resources and verbs allowed on the resources + Actions []string `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"` + // not_actions define the resources and verbs disallowed on the resources + NotActions []string `protobuf:"bytes,2,rep,name=not_actions,json=notActions,proto3" json:"not_actions,omitempty"` + // data_actions define fine-grained resources and verbs allowed within the resource + DataActions []string `protobuf:"bytes,3,rep,name=data_actions,json=dataActions,proto3" json:"data_actions,omitempty"` + // not_data_actions define fine-grained resources and verbs disallowed within the resource NotDataActions []string `protobuf:"bytes,4,rep,name=not_data_actions,json=notDataActions,proto3" json:"not_data_actions,omitempty"` } @@ -791,7 +838,7 @@ var file_accessgraph_v1alpha_azure_proto_rawDesc = []byte{ 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xdc, 0x02, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x6f, 0x6c, 0x65, + 0x6f, 0x6e, 0x22, 0xf0, 0x02, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, @@ -813,23 +860,24 @@ var file_accessgraph_v1alpha_azure_proto_rawDesc = []byte{ 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x22, 0x9d, 0x01, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x42, 0x41, 0x43, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x6f, 0x74, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x44, 0x61, 0x74, 0x61, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x42, 0x57, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, - 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x9d, 0x01, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, + 0x42, 0x41, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, + 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x5f, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, + 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x61, 0x74, 0x61, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x6e, + 0x6f, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x44, 0x61, 0x74, 0x61, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x57, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/proto/accessgraph/v1alpha/azure.proto b/proto/accessgraph/v1alpha/azure.proto index 946da5e34c0bb..0f03f76d37ea6 100644 --- a/proto/accessgraph/v1alpha/azure.proto +++ b/proto/accessgraph/v1alpha/azure.proto @@ -30,67 +30,107 @@ message AzureResourceList { // AzureResource is a list of Azure resources supported by the access graph. message AzureResource { oneof resource { + // principal is an Azure principal AzurePrincipal principal = 1; + // role_definition is an Azure role definition AzureRoleDefinition role_definition = 2; + // role_assignment is an Azure role assignment, which assigns a role definition to a principal AzureRoleAssignment role_assignment = 3; + // virtual_machine is an Azure virtual machine, an instance of a compute resource AzureVirtualMachine virtual_machine = 4; } } // AzureVirtualMachine is an Azure virtual machine message AzureVirtualMachine { + // id is the ID of the virtual machine string id = 1; + // subscription_id is the ID of the subscription to which the virtual machine belongs string subscription_id = 2; + // last_sync_time is when the virtual machine was last fetched from Azure google.protobuf.Timestamp last_sync_time = 3; + // name is the given name of the virtual machine string name = 4; + // resource_group is the name of the resource group to which the virtual machine belongs string resource_group = 5; + // tags are a collection of arbitrary key-values applied to the virtual machine map tags = 6; } // AzureIdentity is a Graph API object identity message AzureIdentity { + // sign_in_type is the type of identity used when signing in, e.g. "emailAddress" or "userName" string sign_in_type = 1; + // issuer is the issuer of the identity, such as a domain name like "goteleport.com" string issuer = 2; + // issuer_assigned_id unique identifier assigned to the user by the issuer string issuer_assigned_id = 3; } // AzurePrincipal is a Graph API principal (user, group, service principal) message AzurePrincipal { + // id is the ID of the principal string id = 1; + // subscription_id is the ID of the subscription to which the principal belongs string subscription_id = 2; + // last_sync_time is when the principal was last fetched from Azure google.protobuf.Timestamp last_sync_time = 3; + // display_name is the given name for the principal, e.g. a user's first+last name string display_name = 4; + // member_of lists the groups and directories the principal is assigned to repeated string member_of = 5; + // identities lists the identities that can be used to sign in to the account repeated AzureIdentity identities = 6; } // AzureRoleAssignment links an Azure principal to a role definition with a scope message AzureRoleAssignment { + // id is the ID of the role assignment string id = 1; + // subscription_id is the ID of the subscription to which the role assignment belongs string subscription_id = 2; + // last_sync_time is when the role assignment was last fetched from Azure google.protobuf.Timestamp last_sync_time = 3; + // principal_id is the ID of the principal being assigned a role string principal_id = 4; + // role_definition_id is the ID of the role definition assigned to the principal string role_definition_id = 5; + // scope constrains which resources the assignment applies to string scope = 6; + // condition further which resources the assignment applies to string condition = 7; } // AzureRoleDefinition defines a role by its permissions message AzureRoleDefinition { + // id is the ID of the role definition string id = 1; + // subscription_id is the ID of the subscription to which the role definition belongs string subscription_id = 2; + // last_sync_time is when the role definition was last fetched from Azure google.protobuf.Timestamp last_sync_time = 3; + // name is the given name for the role definition string name = 4; + // description provides additional detail about the role definition string description = 5; + // assignable_scopes limits the scopes defined in corresponding role assignments repeated string assignable_scopes = 6; + // permissions define the actions and not (disallowed) actions repeated AzureRBACPermission permissions = 7; + // role_name is the given name for the role itself string role_name = 8; + // type defines the type of role + string type = 9; } // AzurePermission defines the actions and not (disallowed) actions for a role definition message AzureRBACPermission { + // actions define the resources and verbs allowed on the resources repeated string actions = 1; + // not_actions define the resources and verbs disallowed on the resources repeated string not_actions = 2; + // data_actions define fine-grained resources and verbs allowed within the resource repeated string data_actions = 3; + // not_data_actions define fine-grained resources and verbs disallowed within the resource repeated string not_data_actions = 4; } From b5ca74893d30d2c1757c3279c2e37c80d5358679 Mon Sep 17 00:00:00 2001 From: Matt Brock Date: Wed, 27 Nov 2024 13:41:38 -0600 Subject: [PATCH 16/21] Adding doc comments to access graph proto --- proto/accessgraph/v1alpha/access_graph_service.proto | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/proto/accessgraph/v1alpha/access_graph_service.proto b/proto/accessgraph/v1alpha/access_graph_service.proto index a5bb923405014..13d335c073fbf 100644 --- a/proto/accessgraph/v1alpha/access_graph_service.proto +++ b/proto/accessgraph/v1alpha/access_graph_service.proto @@ -273,8 +273,12 @@ message EntraEventsStreamResponse {} // AzureEventsStreamRequest is a request to send commands to the Azure importer message AzureEventsStreamRequest { oneof operation { + // sync is a command to sync the access graph with the Teleport database state. + // it's issued once Teleport finishes syncing all resources with the database. AzureSyncOperation sync = 1; + // upsert is a command to put a resource into the access graph or update it. AzureResourceList upsert = 2; + // delete is a command to delete a resource from the access graph when it's deleted from Teleport. AzureResourceList delete = 3; } } From 2ff1a656589e24bfccbe47c0443ae51d1b0e0a2a Mon Sep 17 00:00:00 2001 From: Matt Brock Date: Wed, 27 Nov 2024 13:43:32 -0600 Subject: [PATCH 17/21] Adding object type to principals --- .../v1alpha/access_graph_service.pb.go | 4 + gen/proto/go/accessgraph/v1alpha/azure.pb.go | 129 ++++++++++-------- proto/accessgraph/v1alpha/azure.proto | 2 + 3 files changed, 76 insertions(+), 59 deletions(-) diff --git a/gen/proto/go/accessgraph/v1alpha/access_graph_service.pb.go b/gen/proto/go/accessgraph/v1alpha/access_graph_service.pb.go index a62022393794b..e0ea7044895c6 100644 --- a/gen/proto/go/accessgraph/v1alpha/access_graph_service.pb.go +++ b/gen/proto/go/accessgraph/v1alpha/access_graph_service.pb.go @@ -1424,14 +1424,18 @@ type isAzureEventsStreamRequest_Operation interface { } type AzureEventsStreamRequest_Sync struct { + // sync is a command to sync the access graph with the Teleport database state. + // it's issued once Teleport finishes syncing all resources with the database. Sync *AzureSyncOperation `protobuf:"bytes,1,opt,name=sync,proto3,oneof"` } type AzureEventsStreamRequest_Upsert struct { + // upsert is a command to put a resource into the access graph or update it. Upsert *AzureResourceList `protobuf:"bytes,2,opt,name=upsert,proto3,oneof"` } type AzureEventsStreamRequest_Delete struct { + // delete is a command to delete a resource from the access graph when it's deleted from Teleport. Delete *AzureResourceList `protobuf:"bytes,3,opt,name=delete,proto3,oneof"` } diff --git a/gen/proto/go/accessgraph/v1alpha/azure.pb.go b/gen/proto/go/accessgraph/v1alpha/azure.pb.go index 08222066756b5..0f493a8bc6269 100644 --- a/gen/proto/go/accessgraph/v1alpha/azure.pb.go +++ b/gen/proto/go/accessgraph/v1alpha/azure.pb.go @@ -371,6 +371,8 @@ type AzurePrincipal struct { MemberOf []string `protobuf:"bytes,5,rep,name=member_of,json=memberOf,proto3" json:"member_of,omitempty"` // identities lists the identities that can be used to sign in to the account Identities []*AzureIdentity `protobuf:"bytes,6,rep,name=identities,proto3" json:"identities,omitempty"` + // object_type defines the type of principal, e.g. "user" or "group" + ObjectType string `protobuf:"bytes,7,opt,name=object_type,json=objectType,proto3" json:"object_type,omitempty"` } func (x *AzurePrincipal) Reset() { @@ -445,6 +447,13 @@ func (x *AzurePrincipal) GetIdentities() []*AzureIdentity { return nil } +func (x *AzurePrincipal) GetObjectType() string { + if x != nil { + return x.ObjectType + } + return "" +} + // AzureRoleAssignment links an Azure principal to a role definition with a scope type AzureRoleAssignment struct { state protoimpl.MessageState @@ -803,7 +812,7 @@ var file_accessgraph_v1alpha_azure_proto_rawDesc = []byte{ 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x41, 0x73, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x49, 0x64, 0x22, 0x8f, 0x02, 0x0a, 0x0e, 0x41, 0x7a, 0x75, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x49, 0x64, 0x22, 0xb0, 0x02, 0x0a, 0x0e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, @@ -820,64 +829,66 @@ var file_accessgraph_v1alpha_azure_proto_rawDesc = []byte{ 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0a, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x95, 0x02, 0x0a, 0x13, 0x41, - 0x7a, 0x75, 0x72, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x6c, - 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, - 0x0c, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x49, 0x64, - 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x6f, - 0x6c, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, - 0x63, 0x6f, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xf0, 0x02, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x6f, 0x6c, 0x65, - 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, - 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x61, - 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, - 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, - 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x42, 0x41, 0x43, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x9d, 0x01, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, - 0x42, 0x41, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, - 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x5f, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, - 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, - 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, - 0x64, 0x61, 0x74, 0x61, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x6e, - 0x6f, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x44, 0x61, 0x74, 0x61, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x57, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x95, 0x02, 0x0a, 0x13, + 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, + 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x49, + 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, + 0x6f, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xf0, 0x02, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x6f, 0x6c, + 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, + 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, + 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, + 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0b, 0x70, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x42, 0x41, 0x43, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x9d, 0x01, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, + 0x52, 0x42, 0x41, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x5f, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6e, + 0x6f, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0b, 0x64, 0x61, 0x74, 0x61, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x10, + 0x6e, 0x6f, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x44, 0x61, 0x74, 0x61, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x57, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x67, 0x65, 0x6e, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, + 0x72, 0x61, 0x70, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/proto/accessgraph/v1alpha/azure.proto b/proto/accessgraph/v1alpha/azure.proto index 0f03f76d37ea6..77ab5224c8799 100644 --- a/proto/accessgraph/v1alpha/azure.proto +++ b/proto/accessgraph/v1alpha/azure.proto @@ -81,6 +81,8 @@ message AzurePrincipal { repeated string member_of = 5; // identities lists the identities that can be used to sign in to the account repeated AzureIdentity identities = 6; + // object_type defines the type of principal, e.g. "user" or "group" + string object_type = 7; } // AzureRoleAssignment links an Azure principal to a role definition with a scope From 4b1dfb56c6f183d5199c512e2ec578f0ea31411e Mon Sep 17 00:00:00 2001 From: Matt Brock Date: Wed, 27 Nov 2024 19:37:34 -0600 Subject: [PATCH 18/21] Adding location to Azure virtual machines --- gen/proto/go/accessgraph/v1alpha/azure.pb.go | 187 ++++++++++--------- proto/accessgraph/v1alpha/azure.proto | 2 + 2 files changed, 101 insertions(+), 88 deletions(-) diff --git a/gen/proto/go/accessgraph/v1alpha/azure.pb.go b/gen/proto/go/accessgraph/v1alpha/azure.pb.go index 0f493a8bc6269..4deae4210635d 100644 --- a/gen/proto/go/accessgraph/v1alpha/azure.pb.go +++ b/gen/proto/go/accessgraph/v1alpha/azure.pb.go @@ -214,6 +214,8 @@ type AzureVirtualMachine struct { ResourceGroup string `protobuf:"bytes,5,opt,name=resource_group,json=resourceGroup,proto3" json:"resource_group,omitempty"` // tags are a collection of arbitrary key-values applied to the virtual machine Tags map[string]string `protobuf:"bytes,6,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // location is the geographical location of the Virtual Machine + Location string `protobuf:"bytes,7,opt,name=location,proto3" json:"location,omitempty"` } func (x *AzureVirtualMachine) Reset() { @@ -288,6 +290,13 @@ func (x *AzureVirtualMachine) GetTags() map[string]string { return nil } +func (x *AzureVirtualMachine) GetLocation() string { + if x != nil { + return x.Location + } + return "" +} + // AzureIdentity is a Graph API object identity type AzureIdentity struct { state protoimpl.MessageState @@ -784,7 +793,7 @@ var file_accessgraph_v1alpha_azure_proto_rawDesc = []byte{ 0x7a, 0x75, 0x72, 0x65, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0xcc, 0x02, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, + 0x22, 0xe8, 0x02, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, @@ -801,94 +810,96 @@ var file_accessgraph_v1alpha_azure_proto_rawDesc = []byte{ 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 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, 0x22, - 0x77, 0x0a, 0x0d, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, - 0x73, 0x75, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x41, 0x73, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x49, 0x64, 0x22, 0xb0, 0x02, 0x0a, 0x0e, 0x41, 0x7a, 0x75, - 0x72, 0x65, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, - 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, - 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x12, 0x42, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x63, 0x63, + 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 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, 0x22, 0x77, 0x0a, 0x0d, 0x41, + 0x7a, 0x75, 0x72, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0c, + 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, + 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x49, 0x64, 0x22, 0xb0, 0x02, 0x0a, 0x0e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x50, 0x72, + 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, + 0x6f, 0x66, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x4f, 0x66, 0x12, 0x42, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, + 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, + 0x72, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x95, 0x02, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, + 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, + 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, + 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, + 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x2c, 0x0a, + 0x12, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x6f, 0x6c, 0x65, 0x44, + 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x63, 0x6f, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xf0, 0x02, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x44, 0x65, 0x66, + 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x73, 0x73, 0x69, + 0x67, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, + 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0a, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x95, 0x02, 0x0a, 0x13, - 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, - 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x49, - 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, - 0x6f, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0xf0, 0x02, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x6f, 0x6c, - 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, - 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, - 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, - 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, - 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0b, 0x70, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, - 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x42, 0x41, 0x43, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x9d, 0x01, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, - 0x52, 0x42, 0x41, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, - 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x5f, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6e, - 0x6f, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0b, 0x64, 0x61, 0x74, 0x61, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x10, - 0x6e, 0x6f, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x44, 0x61, 0x74, 0x61, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x57, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x67, 0x65, 0x6e, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x42, 0x41, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x22, 0x9d, 0x01, 0x0a, 0x13, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x42, 0x41, 0x43, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x61, 0x74, + 0x61, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x6f, 0x74, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x44, 0x61, 0x74, 0x61, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x42, 0x57, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x74, + 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x67, + 0x72, 0x61, 0x70, 0x68, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( diff --git a/proto/accessgraph/v1alpha/azure.proto b/proto/accessgraph/v1alpha/azure.proto index 77ab5224c8799..1050c3c98f75e 100644 --- a/proto/accessgraph/v1alpha/azure.proto +++ b/proto/accessgraph/v1alpha/azure.proto @@ -55,6 +55,8 @@ message AzureVirtualMachine { string resource_group = 5; // tags are a collection of arbitrary key-values applied to the virtual machine map tags = 6; + // location is the geographical location of the Virtual Machine + string location = 7; } // AzureIdentity is a Graph API object identity From 5764fb11f478be975054689064251006b68c69ef Mon Sep 17 00:00:00 2001 From: Matt Brock Date: Mon, 2 Dec 2024 10:46:53 -0600 Subject: [PATCH 19/21] Update proto/accessgraph/v1alpha/access_graph_service.proto Co-authored-by: Tiago Silva --- proto/accessgraph/v1alpha/access_graph_service.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proto/accessgraph/v1alpha/access_graph_service.proto b/proto/accessgraph/v1alpha/access_graph_service.proto index 13d335c073fbf..b78b473327ffe 100644 --- a/proto/accessgraph/v1alpha/access_graph_service.proto +++ b/proto/accessgraph/v1alpha/access_graph_service.proto @@ -287,5 +287,5 @@ message AzureEventsStreamRequest { // at the end of the sync process. message AzureSyncOperation {} -// AzureEventsStreamResponse is a response from AzureEventStreamRequest +// AzureEventsStreamResponse is a response from AzureEventsStream message AzureEventsStreamResponse {} From 96e6802adeaa2285b4b3717c30f4018654350712 Mon Sep 17 00:00:00 2001 From: Matt Brock Date: Mon, 2 Dec 2024 10:58:17 -0600 Subject: [PATCH 20/21] Moving Azure Discovery protobuf config to the Azure Discovery PR --- api/proto/teleport/legacy/types/types.proto | 8 - api/types/types.pb.go | 1040 +++++++------------ 2 files changed, 363 insertions(+), 685 deletions(-) diff --git a/api/proto/teleport/legacy/types/types.proto b/api/proto/teleport/legacy/types/types.proto index 64988b36f59ef..4b82464d670b3 100644 --- a/api/proto/teleport/legacy/types/types.proto +++ b/api/proto/teleport/legacy/types/types.proto @@ -7812,11 +7812,3 @@ message AccessGraphAWSSync { // Integration is the integration name used to generate credentials to interact with AWS APIs. string Integration = 4 [(gogoproto.jsontag) = "integration,omitempty"]; } - -// AccessGraphAzureSync is a configuration for Azure Access Graph service poll service. -message AccessGraphAzureSync { - repeated string Regions = 1 [(gogoproto.jsontag) = "regions,omitempty"]; - string SubscriptionID = 2 [(gogoproto.jsontag) = "subscription_id,omitempty"]; - string UMIClientID = 3 [(gogoproto.jsontag) = "umi_client_id,omitempty"]; - string Integration = 4 [(gogoproto.jsontag) = "integration,omitempty"]; -} diff --git a/api/types/types.pb.go b/api/types/types.pb.go index 662bd6e55dd11..28a9c3f94e10e 100644 --- a/api/types/types.pb.go +++ b/api/types/types.pb.go @@ -20783,50 +20783,6 @@ func (m *AccessGraphAWSSync) XXX_DiscardUnknown() { var xxx_messageInfo_AccessGraphAWSSync proto.InternalMessageInfo -// AccessGraphAzureSync is a configuration for Azure Access Graph service poll service. -type AccessGraphAzureSync struct { - Regions []string `protobuf:"bytes,1,rep,name=Regions,proto3" json:"regions,omitempty"` - SubscriptionID string `protobuf:"bytes,2,opt,name=SubscriptionID,proto3" json:"subscription_id,omitempty"` - UMIClientID string `protobuf:"bytes,3,opt,name=UMIClientID,proto3" json:"umi_client_id,omitempty"` - Integration string `protobuf:"bytes,4,opt,name=Integration,proto3" json:"integration,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *AccessGraphAzureSync) Reset() { *m = AccessGraphAzureSync{} } -func (m *AccessGraphAzureSync) String() string { return proto.CompactTextString(m) } -func (*AccessGraphAzureSync) ProtoMessage() {} -func (*AccessGraphAzureSync) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{359} -} -func (m *AccessGraphAzureSync) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AccessGraphAzureSync) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AccessGraphAzureSync.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *AccessGraphAzureSync) XXX_Merge(src proto.Message) { - xxx_messageInfo_AccessGraphAzureSync.Merge(m, src) -} -func (m *AccessGraphAzureSync) XXX_Size() int { - return m.Size() -} -func (m *AccessGraphAzureSync) XXX_DiscardUnknown() { - xxx_messageInfo_AccessGraphAzureSync.DiscardUnknown(m) -} - -var xxx_messageInfo_AccessGraphAzureSync proto.InternalMessageInfo - func init() { proto.RegisterEnum("types.IAMPolicyStatus", IAMPolicyStatus_name, IAMPolicyStatus_value) proto.RegisterEnum("types.DatabaseTLSMode", DatabaseTLSMode_name, DatabaseTLSMode_value) @@ -21251,13 +21207,12 @@ func init() { proto.RegisterType((*OktaOptions)(nil), "types.OktaOptions") proto.RegisterType((*AccessGraphSync)(nil), "types.AccessGraphSync") proto.RegisterType((*AccessGraphAWSSync)(nil), "types.AccessGraphAWSSync") - proto.RegisterType((*AccessGraphAzureSync)(nil), "types.AccessGraphAzureSync") } func init() { proto.RegisterFile("teleport/legacy/types/types.proto", fileDescriptor_9198ee693835762e) } var fileDescriptor_9198ee693835762e = []byte{ - // 29497 bytes of a gzipped FileDescriptorProto + // 29447 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xfd, 0x6b, 0x70, 0x1c, 0x59, 0x76, 0x20, 0x06, 0x77, 0x55, 0xe1, 0x51, 0x38, 0x78, 0x15, 0x2e, 0x40, 0x12, 0x44, 0x37, 0xbb, 0xd8, 0xd9, 0xdd, 0x6c, 0x76, 0x4f, 0x37, 0x39, 0x04, 0xa7, 0x39, 0xd3, 0xd3, 0xaf, 0x29, 0x3c, @@ -22737,371 +22692,368 @@ var fileDescriptor_9198ee693835762e = []byte{ 0xce, 0xea, 0x91, 0x2a, 0xf5, 0xd1, 0x9a, 0x6e, 0x84, 0x3e, 0xef, 0xb7, 0xe3, 0xcf, 0x4b, 0x09, 0x77, 0x6c, 0x35, 0xbd, 0xae, 0xb3, 0xee, 0x27, 0x8a, 0xa8, 0xff, 0xd2, 0xfe, 0x22, 0x9c, 0xa2, 0xc9, 0xb7, 0x13, 0xb8, 0x9d, 0xdd, 0x84, 0x9d, 0x6c, 0xe8, 0x2b, 0x59, 0xec, 0xe4, 0xac, 0xbc, - 0xf1, 0xff, 0xb1, 0xf7, 0x6c, 0xb1, 0x8d, 0x5c, 0xd7, 0x69, 0x48, 0x4a, 0xa2, 0x0e, 0xf5, 0x18, - 0xdd, 0x95, 0x77, 0x65, 0x69, 0x9f, 0xb3, 0x0f, 0xef, 0x72, 0x63, 0x3b, 0xbb, 0xae, 0x63, 0xaf, - 0x53, 0xc7, 0x19, 0x91, 0x43, 0x69, 0x76, 0xf9, 0xca, 0x0c, 0x29, 0x65, 0xed, 0x24, 0x53, 0xae, - 0x38, 0x92, 0xd8, 0x50, 0x24, 0xc3, 0x21, 0x77, 0xb3, 0x46, 0x81, 0x36, 0x28, 0x90, 0x00, 0xe9, - 0x23, 0x6d, 0x5a, 0xa0, 0x46, 0x51, 0xa0, 0x1f, 0x35, 0x8a, 0x7e, 0xf4, 0xb7, 0x68, 0xd1, 0xf6, - 0x27, 0x7f, 0x06, 0x82, 0x00, 0x01, 0xda, 0xaf, 0x16, 0x30, 0x5a, 0x03, 0xed, 0x47, 0xdb, 0xbf, - 0xa2, 0xf9, 0xc8, 0x57, 0x71, 0xcf, 0xbd, 0x77, 0xe6, 0xce, 0x83, 0x5c, 0xad, 0xd7, 0x6e, 0x13, - 0x20, 0x5f, 0x12, 0xcf, 0x3d, 0xe7, 0xce, 0x7d, 0xdf, 0x73, 0xce, 0x3d, 0x0f, 0x8a, 0xef, 0xd7, - 0x7a, 0xaa, 0x15, 0x07, 0xf2, 0x3e, 0x7c, 0x2b, 0x25, 0xb6, 0x7a, 0x42, 0x73, 0x12, 0x96, 0xb5, - 0x92, 0xb4, 0xac, 0x4f, 0xbe, 0xa7, 0xaa, 0x40, 0xe4, 0xc3, 0x8a, 0x69, 0x3d, 0xb9, 0x41, 0x95, - 0xe0, 0xd3, 0x79, 0x43, 0xa4, 0xa3, 0xc1, 0x66, 0xc9, 0x34, 0x57, 0xf7, 0xa3, 0x20, 0xb2, 0x09, - 0x0b, 0x7e, 0xbe, 0x6a, 0x7e, 0x71, 0x64, 0x19, 0xc0, 0x6c, 0x93, 0x8b, 0xb0, 0xc8, 0x58, 0xf2, - 0xd0, 0x9e, 0x03, 0x84, 0xe9, 0x74, 0xe3, 0x89, 0x31, 0x50, 0xe0, 0xe2, 0x93, 0xc6, 0x90, 0xec, - 0xc1, 0x69, 0x34, 0xeb, 0xf0, 0xfa, 0xfe, 0x34, 0x38, 0xfb, 0xad, 0xfd, 0x23, 0x97, 0xaf, 0x5a, - 0x2d, 0x71, 0x32, 0x06, 0x03, 0xdb, 0xae, 0x49, 0xf3, 0x30, 0x18, 0xd8, 0x5e, 0x5f, 0xfc, 0x2e, - 0x50, 0x72, 0xde, 0x86, 0x36, 0x6c, 0x4e, 0xa1, 0x94, 0x0e, 0x0e, 0x45, 0x3e, 0x38, 0xae, 0x83, - 0x7a, 0xe0, 0xb6, 0x29, 0x4f, 0xec, 0xb6, 0xb1, 0x69, 0x0f, 0x6f, 0xb3, 0x0c, 0xed, 0xd6, 0xb2, - 0x0f, 0xb7, 0xbd, 0xfe, 0xee, 0x6d, 0xfe, 0x95, 0x63, 0x71, 0xe5, 0xc9, 0x62, 0x05, 0x79, 0x09, - 0x4e, 0x45, 0x02, 0x8e, 0x04, 0x1e, 0xec, 0xd6, 0x2a, 0x2d, 0x0a, 0x87, 0xa7, 0xba, 0x04, 0x8b, - 0x62, 0x55, 0x0c, 0x7d, 0x3f, 0x38, 0x2b, 0xc7, 0x61, 0x74, 0xd7, 0xf1, 0xcf, 0x8d, 0x45, 0xa7, - 0x12, 0x25, 0x92, 0x13, 0xf0, 0xd2, 0xe4, 0x45, 0x20, 0x3e, 0xdf, 0xee, 0x1f, 0x14, 0xfc, 0x83, - 0xab, 0xa2, 0xc4, 0xdf, 0xe1, 0xfc, 0xb3, 0x7f, 0x9f, 0x82, 0x53, 0x09, 0xa2, 0x0c, 0x15, 0x02, - 0x3a, 0xbd, 0x91, 0x7b, 0xc8, 0x44, 0x08, 0xb9, 0x93, 0x2b, 0x12, 0x9c, 0xeb, 0xa7, 0xe6, 0x58, - 0x06, 0x72, 0xfe, 0x2d, 0xfe, 0x8b, 0x1e, 0x1e, 0xad, 0xa1, 0x50, 0xbd, 0xd0, 0x7f, 0x89, 0x09, - 0xab, 0x98, 0x56, 0xc1, 0xeb, 0xf4, 0x31, 0x3b, 0x03, 0x32, 0x21, 0x99, 0x90, 0xb0, 0x83, 0xad, - 0xa8, 0x4b, 0x48, 0x94, 0x0b, 0xb1, 0xd4, 0x41, 0x04, 0x42, 0x3e, 0x0f, 0x1b, 0xd2, 0x5d, 0xe3, - 0x44, 0x76, 0x1e, 0x5a, 0xba, 0x5b, 0x67, 0x5a, 0xfe, 0xad, 0x53, 0x0c, 0xed, 0xc1, 0x2d, 0x38, - 0x8f, 0x93, 0xd8, 0x69, 0x0f, 0x9c, 0x58, 0x1e, 0x0e, 0xec, 0x2a, 0x0b, 0x5c, 0xbf, 0x41, 0xb1, - 0xcc, 0xf6, 0x20, 0x92, 0x92, 0x83, 0xf6, 0x9a, 0x0f, 0xdf, 0x3b, 0xf0, 0x5c, 0x62, 0x8b, 0xe9, - 0x05, 0x83, 0x86, 0x54, 0x01, 0x6f, 0x34, 0x4f, 0x7f, 0x53, 0xe6, 0xe8, 0x12, 0x2c, 0x3e, 0x70, - 0x5b, 0x43, 0x77, 0xc8, 0x6f, 0x6e, 0xbe, 0x24, 0x18, 0x4c, 0xbe, 0xb8, 0xdb, 0xe1, 0xa9, 0xe1, - 0x3a, 0x23, 0x52, 0x81, 0x53, 0xec, 0x06, 0xec, 0x1c, 0x23, 0x33, 0xc8, 0xf5, 0x4c, 0x4a, 0x88, - 0x1d, 0x42, 0x12, 0xbc, 0x9a, 0x4c, 0xc4, 0x62, 0xd4, 0xd6, 0xea, 0x61, 0x14, 0x44, 0x77, 0xf4, - 0xe9, 0x64, 0x6c, 0xb2, 0x05, 0x39, 0x56, 0x39, 0x13, 0x0b, 0xd8, 0x03, 0xc1, 0xa5, 0xa9, 0x5f, - 0x28, 0xa0, 0x7d, 0xb1, 0xe7, 0xff, 0x4f, 0xef, 0x6b, 0x7c, 0x8b, 0x75, 0x8e, 0xe5, 0xf7, 0x0f, - 0x6b, 0x11, 0x81, 0xfc, 0xdd, 0x43, 0xfb, 0x07, 0x45, 0x74, 0x35, 0x24, 0x1c, 0xd3, 0xa5, 0xe5, - 0xb9, 0x3d, 0xf1, 0x06, 0xb4, 0x60, 0xf1, 0x5f, 0x4f, 0xb9, 0xd4, 0xc9, 0x6b, 0xb0, 0x48, 0xab, - 0x3d, 0x1c, 0xf7, 0xd8, 0x92, 0x4b, 0x87, 0x02, 0xed, 0x54, 0x58, 0x11, 0x9d, 0xb6, 0x9d, 0x19, - 0x2b, 0x77, 0x1c, 0xfc, 0xa4, 0xdc, 0xb2, 0x77, 0x3c, 0x1a, 0xc8, 0x0b, 0x55, 0x28, 0x0a, 0xed, - 0x4a, 0xa3, 0xce, 0x49, 0xb2, 0x14, 0x27, 0xe0, 0x96, 0xb7, 0xe6, 0x98, 0xaa, 0x50, 0xbb, 0x09, - 0x39, 0xa9, 0x6e, 0xda, 0x19, 0xe6, 0x39, 0x23, 0x3a, 0xc3, 0x7e, 0xf1, 0xc9, 0x7e, 0x00, 0x59, - 0x51, 0x25, 0x15, 0x0b, 0x8e, 0xfa, 0x9e, 0xd8, 0xe4, 0xf8, 0x3f, 0x85, 0xd1, 0x51, 0xc6, 0x4e, - 0xce, 0x5a, 0xf8, 0x3f, 0xde, 0x25, 0xa3, 0x16, 0x95, 0x07, 0xba, 0x9e, 0x33, 0x40, 0x0b, 0x2c, - 0x9f, 0x79, 0xa6, 0xf0, 0x46, 0xd7, 0x63, 0x76, 0x59, 0xfc, 0x1b, 0x7f, 0xe3, 0x5f, 0xc2, 0x11, - 0x6d, 0xc2, 0xa4, 0x33, 0x33, 0x74, 0x65, 0xa4, 0xe2, 0x57, 0x06, 0x0b, 0xa0, 0xc2, 0x29, 0xd9, - 0x97, 0x01, 0x61, 0x78, 0x65, 0x48, 0x27, 0x43, 0x26, 0x74, 0x32, 0x48, 0x32, 0x79, 0x30, 0x7b, - 0xec, 0xc6, 0x11, 0x32, 0x79, 0xf4, 0x9c, 0xfa, 0xf3, 0x94, 0x50, 0x11, 0x6c, 0xf5, 0xfb, 0x23, - 0x6f, 0x34, 0x6c, 0x0d, 0x42, 0xaa, 0x50, 0x72, 0x0c, 0xcf, 0x23, 0x07, 0x7d, 0x1b, 0x53, 0x58, - 0xf4, 0x87, 0x22, 0x66, 0x87, 0xbf, 0x72, 0x73, 0xb7, 0x5f, 0x0e, 0xf3, 0xf8, 0x3a, 0xc5, 0xd6, - 0x65, 0x64, 0xba, 0x60, 0xa5, 0x5a, 0x77, 0x66, 0xac, 0x33, 0xac, 0xce, 0x18, 0x16, 0xd9, 0x49, - 0xd8, 0xc4, 0x51, 0x5d, 0xe8, 0x56, 0xb0, 0xa3, 0xc3, 0xb5, 0xca, 0x7b, 0x9d, 0x7c, 0x01, 0x16, - 0x3a, 0x6d, 0x39, 0x53, 0x63, 0x54, 0x0b, 0x67, 0xb6, 0x59, 0xb4, 0xe8, 0xa0, 0x0e, 0xba, 0xe6, - 0x3a, 0x1c, 0xba, 0xb5, 0x14, 0x52, 0x1a, 0x6b, 0x5b, 0x42, 0x1a, 0x8d, 0x93, 0x91, 0x65, 0x48, - 0xf9, 0x33, 0x9c, 0xea, 0xb4, 0xd9, 0xf6, 0x0a, 0xe2, 0x55, 0x5b, 0xfc, 0x97, 0xf6, 0x6b, 0x70, - 0xfd, 0xa4, 0x63, 0x44, 0xb7, 0xe2, 0x84, 0x01, 0x5f, 0xb0, 0x56, 0x5b, 0xb1, 0x71, 0xbb, 0x04, - 0x72, 0xb8, 0xdd, 0x8e, 0x38, 0xfc, 0x04, 0xac, 0x39, 0xec, 0x68, 0x7f, 0x9d, 0x86, 0xe5, 0xb0, - 0x9a, 0x9c, 0xdc, 0x84, 0x8c, 0x74, 0x02, 0x9d, 0x49, 0xd0, 0xa5, 0xe3, 0xb9, 0x83, 0x48, 0x27, - 0x3a, 0x71, 0xc8, 0x5d, 0x58, 0x46, 0xc3, 0x3d, 0x64, 0x3d, 0x47, 0x1d, 0xfe, 0xf8, 0x32, 0xfd, - 0xfd, 0x2c, 0xfb, 0xc1, 0x87, 0x17, 0x66, 0xf0, 0xa9, 0x6c, 0x91, 0xd2, 0x52, 0xee, 0x8f, 0x16, - 0x4a, 0x5a, 0xd0, 0xcc, 0x64, 0x2d, 0x28, 0xef, 0xca, 0x04, 0x2d, 0xe8, 0xec, 0x14, 0x2d, 0x68, - 0x40, 0x29, 0x6b, 0x41, 0x51, 0x17, 0x3e, 0x3f, 0x49, 0x17, 0x1e, 0xd0, 0x30, 0x5d, 0x78, 0xa0, - 0xc5, 0xcc, 0x4e, 0xd4, 0x62, 0x06, 0x34, 0x5c, 0x8b, 0x79, 0x85, 0x8f, 0xd1, 0xb0, 0xf5, 0xc8, - 0xc1, 0xc1, 0xe3, 0xd7, 0x22, 0xf6, 0xde, 0x6a, 0x3d, 0x42, 0xe3, 0x9a, 0xad, 0x05, 0x10, 0x16, - 0x39, 0xda, 0x1f, 0x28, 0x11, 0x4d, 0xa0, 0x98, 0xbf, 0xab, 0xb0, 0xcc, 0x2e, 0x2b, 0xb7, 0x2d, - 0xc9, 0x9a, 0x4b, 0xd6, 0x92, 0x80, 0x32, 0x79, 0xf3, 0x05, 0x58, 0xf1, 0xd1, 0xb8, 0xc8, 0x85, - 0x9e, 0x7a, 0x96, 0x4f, 0xcd, 0xc3, 0xce, 0xdc, 0x84, 0x55, 0x1f, 0x91, 0x6b, 0x73, 0x98, 0xb8, - 0xb9, 0x64, 0xa9, 0xa2, 0xa0, 0xce, 0xe1, 0xda, 0x61, 0x54, 0xf2, 0xf8, 0x94, 0x5a, 0xa5, 0xfd, - 0x20, 0x1d, 0xd2, 0x92, 0x88, 0xcf, 0xd0, 0x5b, 0xd4, 0xeb, 0x3b, 0x7c, 0x90, 0xf8, 0x59, 0x74, - 0x69, 0xc2, 0x9c, 0x71, 0x9b, 0x26, 0xdb, 0xae, 0x59, 0xe0, 0x79, 0x7d, 0x61, 0xe2, 0xe4, 0x30, - 0x8e, 0x9a, 0xdd, 0xfb, 0xb8, 0x66, 0x45, 0x75, 0xec, 0xe0, 0xc9, 0x4f, 0xaf, 0x4e, 0x88, 0xa9, - 0x74, 0xc9, 0x22, 0x67, 0xed, 0xff, 0x12, 0x1f, 0x68, 0x02, 0x2a, 0x15, 0xbd, 0x70, 0xe5, 0xe9, - 0x04, 0xd9, 0x29, 0x56, 0x39, 0x8e, 0x12, 0xd6, 0xac, 0x8e, 0xc5, 0xbf, 0xa2, 0x5a, 0x03, 0x16, - 0x51, 0x47, 0x21, 0x2a, 0xcc, 0x24, 0xa8, 0xe0, 0xe3, 0x9d, 0x2f, 0x98, 0x15, 0x2b, 0x47, 0xe9, - 0x44, 0x35, 0x47, 0xf0, 0xbc, 0xac, 0x59, 0x08, 0x37, 0x72, 0x56, 0x44, 0xd1, 0x9d, 0x3a, 0x02, - 0x81, 0x02, 0x02, 0x9b, 0x7a, 0xba, 0x15, 0x06, 0x70, 0x34, 0xed, 0x08, 0x36, 0x26, 0x4f, 0xc9, - 0x94, 0x0c, 0x4d, 0xc1, 0x05, 0x9a, 0x92, 0x2f, 0x50, 0x59, 0xcf, 0x90, 0x0e, 0xe9, 0x19, 0xb4, - 0x3f, 0x4b, 0xc3, 0xe5, 0x13, 0x4c, 0xd7, 0x94, 0x6f, 0x7e, 0x31, 0xcc, 0x9e, 0xa5, 0x42, 0x92, - 0x21, 0xad, 0x94, 0x1f, 0x90, 0x54, 0x4a, 0x4d, 0x66, 0xce, 0x7e, 0x05, 0x56, 0xd8, 0x29, 0xc8, - 0xcc, 0x12, 0x0f, 0xc6, 0xdd, 0x13, 0x1c, 0x83, 0x9b, 0xc2, 0x87, 0x2a, 0x42, 0x8a, 0x27, 0x23, - 0x9e, 0x18, 0xb6, 0x0f, 0x23, 0x0d, 0xc8, 0x21, 0xda, 0x41, 0xab, 0xd3, 0x3d, 0x91, 0x33, 0x8f, - 0xf0, 0xd0, 0x92, 0xc9, 0x98, 0x35, 0x35, 0x05, 0x94, 0xf0, 0x37, 0xb9, 0x06, 0x2b, 0xbd, 0xf1, - 0x31, 0x65, 0x3c, 0xd8, 0x5a, 0xe0, 0xd6, 0x1f, 0xb3, 0xd6, 0x52, 0x6f, 0x7c, 0xac, 0x0f, 0x06, - 0x38, 0xa5, 0x68, 0x26, 0xb2, 0x4a, 0xf1, 0xd8, 0xae, 0x15, 0x98, 0x73, 0x88, 0x49, 0x2b, 0x60, - 0xfb, 0x96, 0xe3, 0xae, 0x01, 0x33, 0x1a, 0xe4, 0x19, 0xaa, 0xd8, 0x0f, 0xed, 0x27, 0x29, 0x21, - 0xef, 0x4e, 0x5e, 0xf7, 0xbf, 0x98, 0xa2, 0x84, 0x29, 0xba, 0x0e, 0x2a, 0x1d, 0xfa, 0xe0, 0x50, - 0xf1, 0xe7, 0x68, 0xb9, 0x37, 0x3e, 0xf6, 0xc7, 0x4e, 0x1e, 0xf8, 0x39, 0x79, 0xe0, 0x5f, 0x13, - 0xf2, 0x70, 0xe2, 0xf1, 0x30, 0x79, 0xc8, 0xb5, 0xff, 0x4a, 0xc3, 0xb5, 0x93, 0x1d, 0x02, 0xbf, - 0x98, 0xb7, 0x84, 0x79, 0x8b, 0xa8, 0x4e, 0x67, 0x63, 0xaa, 0xd3, 0x84, 0xbd, 0x37, 0x97, 0xb4, - 0xf7, 0x62, 0x8a, 0xda, 0xf9, 0x04, 0x45, 0x6d, 0xe2, 0x06, 0xcd, 0x3e, 0x61, 0x83, 0x2e, 0xc8, - 0xeb, 0xe4, 0xdf, 0x7d, 0x05, 0x46, 0x58, 0x1e, 0x78, 0x07, 0x4e, 0x09, 0x79, 0x80, 0xdd, 0x1c, - 0x81, 0xfe, 0x3d, 0x77, 0xfb, 0x46, 0x92, 0x24, 0x80, 0x68, 0x09, 0xdc, 0xfa, 0x2a, 0x97, 0x01, - 0x82, 0xf2, 0x9f, 0x1d, 0xee, 0x9f, 0xdc, 0x87, 0xd3, 0x18, 0xdf, 0x7d, 0x5f, 0x7e, 0x39, 0x70, - 0x86, 0xee, 0x01, 0x5f, 0x0f, 0x97, 0x62, 0xbc, 0x72, 0x67, 0x5f, 0x6a, 0x8e, 0xe5, 0x1e, 0xec, - 0xcc, 0x58, 0x6b, 0x5e, 0x02, 0x3c, 0x2a, 0x58, 0xfc, 0xa5, 0x02, 0xda, 0x93, 0xc7, 0x0b, 0x15, - 0x55, 0xd1, 0x01, 0x5f, 0xb0, 0x72, 0x2d, 0x69, 0xf4, 0x2e, 0xc3, 0xd2, 0xd0, 0x3d, 0x18, 0xba, - 0xde, 0x51, 0x48, 0x03, 0xb2, 0xc8, 0x81, 0x62, 0x60, 0x44, 0x94, 0xc9, 0xa7, 0xe2, 0xcc, 0x05, - 0x91, 0x56, 0xf2, 0xe5, 0xc5, 0xc4, 0x79, 0xa0, 0xab, 0x49, 0x6e, 0x20, 0xfb, 0x71, 0x37, 0x93, - 0x4d, 0xa9, 0x69, 0x8b, 0xc7, 0xc2, 0x3c, 0xe8, 0x74, 0x5d, 0xed, 0x6f, 0x15, 0xc1, 0x11, 0x24, - 0x0d, 0x1e, 0x79, 0x47, 0x32, 0xe6, 0x4d, 0xc7, 0xd8, 0x90, 0x24, 0x12, 0xd9, 0xee, 0x91, 0x87, - 0x67, 0x44, 0x40, 0x28, 0x3c, 0x23, 0x42, 0x9e, 0xc1, 0x22, 0x91, 0x4b, 0xcd, 0x77, 0x84, 0x45, - 0x10, 0x3d, 0xf3, 0x76, 0x6f, 0x91, 0x1b, 0x30, 0xcf, 0x8c, 0x80, 0x44, 0x73, 0x57, 0x42, 0xcd, - 0xdd, 0xbd, 0x65, 0x89, 0x72, 0xed, 0x3d, 0xff, 0x5d, 0x2b, 0xd6, 0x89, 0xdd, 0x5b, 0xe4, 0xb5, - 0x93, 0x19, 0xe7, 0x66, 0x85, 0x71, 0xae, 0x6f, 0x98, 0xfb, 0x7a, 0xc8, 0x30, 0xf7, 0xca, 0xf4, - 0xd1, 0xe2, 0xaf, 0x91, 0x2c, 0x1c, 0x61, 0x10, 0xa6, 0xea, 0x27, 0x0a, 0x9c, 0x9b, 0x4a, 0x41, - 0xce, 0x42, 0x56, 0xaf, 0x9b, 0x8d, 0x60, 0x7e, 0xe9, 0x9e, 0x11, 0x10, 0xb2, 0x0d, 0x0b, 0x5b, - 0x2d, 0xaf, 0xb3, 0x4f, 0x97, 0x71, 0xe2, 0xf3, 0x40, 0xac, 0x5a, 0x1f, 0x7d, 0x67, 0xc6, 0x0a, - 0x68, 0x89, 0x03, 0xab, 0xb8, 0x17, 0x42, 0xa9, 0x9f, 0xd2, 0x09, 0xba, 0x86, 0x58, 0x85, 0x31, - 0x32, 0x7a, 0xce, 0xc4, 0x80, 0xd1, 0x2d, 0xf8, 0x50, 0xf0, 0x22, 0x93, 0x1b, 0xf8, 0x14, 0x71, - 0x55, 0xaf, 0x43, 0xb6, 0x2e, 0xec, 0x04, 0x24, 0x6b, 0x76, 0x61, 0x13, 0x60, 0xf9, 0xa5, 0xda, - 0x6f, 0x2b, 0x42, 0x21, 0xf0, 0xe4, 0x8e, 0x48, 0x59, 0xb3, 0xda, 0xd3, 0xb3, 0x66, 0xb5, 0x3f, - 0x66, 0xd6, 0x2c, 0xed, 0x2f, 0x78, 0xd4, 0x73, 0xb3, 0x5d, 0x8f, 0x68, 0x66, 0x9f, 0xd5, 0x2b, - 0xc1, 0x08, 0xad, 0xce, 0xcb, 0x52, 0xd6, 0xc5, 0xf8, 0xb7, 0x26, 0x3b, 0x27, 0x48, 0x4b, 0xf5, - 0x8f, 0xd2, 0x70, 0x76, 0x1a, 0x79, 0x62, 0x5e, 0x67, 0xe5, 0xe9, 0xf2, 0x3a, 0xdf, 0x80, 0x2c, - 0x83, 0xf9, 0x26, 0xf7, 0x38, 0xe0, 0x9c, 0x94, 0x0e, 0xb8, 0x28, 0x26, 0x97, 0x61, 0x4e, 0x2f, - 0xd8, 0x41, 0xaa, 0x31, 0xb4, 0x8d, 0x6d, 0xed, 0x7b, 0x68, 0x75, 0xc9, 0x8b, 0xc8, 0xd7, 0xe2, - 0xd9, 0xf5, 0x78, 0x8e, 0xb1, 0x4d, 0x69, 0x40, 0x62, 0x09, 0x09, 0xb0, 0xbd, 0x41, 0x00, 0x7d, - 0x1e, 0x93, 0xda, 0x8a, 0x67, 0xea, 0xd3, 0x60, 0xae, 0x3e, 0x74, 0x3d, 0x77, 0x24, 0xdb, 0xad, - 0x0e, 0x10, 0x62, 0xf1, 0x12, 0x6e, 0x55, 0xda, 0x7a, 0xcc, 0x82, 0x08, 0xcc, 0xc9, 0x81, 0x5d, - 0xd0, 0x0c, 0x95, 0x82, 0x2d, 0x09, 0x85, 0x12, 0x94, 0x5b, 0xe3, 0xde, 0xfe, 0x51, 0xd3, 0x2a, - 0x73, 0x56, 0x83, 0x11, 0x74, 0x11, 0x4a, 0x3b, 0xe8, 0x59, 0x12, 0x8a, 0xf6, 0x1d, 0x05, 0xd6, - 0x92, 0xfa, 0x41, 0xce, 0x42, 0xa6, 0x97, 0x98, 0x48, 0xb0, 0xc7, 0x7c, 0x9f, 0x73, 0xf4, 0xaf, - 0x73, 0xd0, 0x1f, 0x1e, 0xb7, 0x46, 0xb2, 0x75, 0xaf, 0x04, 0xb6, 0x80, 0xfe, 0x28, 0xe1, 0xff, - 0xe4, 0x82, 0x38, 0xa3, 0xd3, 0xb1, 0xd4, 0x83, 0xf8, 0x47, 0xd3, 0x01, 0xcc, 0x76, 0xbd, 0x36, - 0x60, 0x01, 0xf1, 0x5f, 0x81, 0x0c, 0x6d, 0x56, 0x64, 0xf5, 0xd2, 0xf5, 0xa3, 0x57, 0xca, 0x1c, - 0x89, 0xb5, 0xca, 0x6b, 0x1d, 0x77, 0x2d, 0x44, 0xd6, 0xf6, 0x60, 0x39, 0x8c, 0x41, 0x8c, 0x70, - 0x08, 0xd5, 0xdc, 0x6d, 0x95, 0xd7, 0xb4, 0xd5, 0xef, 0x33, 0x0f, 0x93, 0xad, 0xe7, 0xff, 0xe9, - 0xc3, 0x0b, 0x40, 0x7f, 0x32, 0x9a, 0xa4, 0x10, 0xab, 0xda, 0xf7, 0x52, 0xb0, 0x16, 0x38, 0xb5, - 0x8b, 0x3d, 0xf4, 0x73, 0xeb, 0x61, 0xa9, 0x87, 0x3c, 0x00, 0x05, 0xa3, 0x15, 0xef, 0xe0, 0x14, - 0xc7, 0xa3, 0x6d, 0x58, 0x9f, 0x84, 0x4f, 0x6e, 0xc2, 0x02, 0xc6, 0x41, 0x1a, 0xb4, 0xf6, 0x5d, - 0xf9, 0xec, 0xeb, 0x09, 0xa0, 0x15, 0x94, 0x6b, 0x3f, 0x52, 0x60, 0x83, 0xfb, 0x45, 0x54, 0x5a, - 0x9d, 0x1e, 0xaa, 0xd5, 0xf7, 0xdd, 0x4f, 0xc6, 0x43, 0x78, 0x3b, 0x74, 0x8e, 0x5d, 0x0d, 0xbb, - 0xbf, 0xc4, 0xbe, 0x36, 0xb9, 0xb7, 0xe4, 0x06, 0xc6, 0xf6, 0xe2, 0xcf, 0xce, 0x19, 0x16, 0x91, - 0xa1, 0x47, 0x01, 0x72, 0x44, 0x06, 0xc4, 0xd0, 0x7e, 0x1d, 0xce, 0x4f, 0xff, 0x00, 0xf9, 0x2a, - 0x2c, 0x61, 0xb2, 0xa8, 0xe6, 0xe0, 0x70, 0xd8, 0x6a, 0xbb, 0x42, 0x15, 0x26, 0xd4, 0x97, 0x72, - 0x19, 0x0b, 0x55, 0xc6, 0x23, 0x04, 0x1c, 0x62, 0x1a, 0x2a, 0x4e, 0x14, 0x72, 0x3e, 0x92, 0x6b, - 0xd3, 0x7e, 0x43, 0x01, 0x12, 0xaf, 0x83, 0x7c, 0x0e, 0x16, 0x9b, 0x8d, 0x82, 0x3d, 0x6a, 0x0d, - 0x47, 0x3b, 0xfd, 0xf1, 0x90, 0xc7, 0x09, 0x63, 0x0e, 0xe3, 0xa3, 0x7d, 0x87, 0x3d, 0xa0, 0x1c, - 0xf5, 0xc7, 0x43, 0x2b, 0x84, 0x87, 0x59, 0x8e, 0x5c, 0xf7, 0xeb, 0xed, 0xd6, 0xe3, 0x70, 0x96, - 0x23, 0x0e, 0x0b, 0x65, 0x39, 0xe2, 0x30, 0xed, 0x7d, 0x05, 0x36, 0x85, 0x35, 0x61, 0x3b, 0xa1, - 0x2d, 0x05, 0x0c, 0x8b, 0x32, 0x14, 0x81, 0x69, 0xa7, 0xb1, 0xb4, 0xab, 0x22, 0x72, 0x10, 0x36, - 0x10, 0x79, 0x5b, 0x46, 0x4b, 0xbe, 0x08, 0x19, 0x7b, 0xd4, 0x1f, 0x9c, 0x20, 0x74, 0x90, 0xea, - 0xcf, 0xe8, 0xa8, 0x3f, 0xc0, 0x2a, 0x90, 0x52, 0x73, 0x61, 0x4d, 0x6e, 0x9c, 0x68, 0x31, 0xa9, - 0xc0, 0x3c, 0x8f, 0x11, 0x17, 0x79, 0xa8, 0x9f, 0xd2, 0xa7, 0xad, 0x15, 0x11, 0x9f, 0x88, 0x07, - 0x46, 0xb5, 0x44, 0x1d, 0xda, 0xef, 0x2a, 0x90, 0xa3, 0xdc, 0x06, 0x4a, 0x71, 0xcf, 0xba, 0xa4, - 0xc3, 0x8c, 0xa3, 0xb0, 0x3b, 0xf1, 0xab, 0x3f, 0xd1, 0x6d, 0xfc, 0x2a, 0xac, 0x44, 0x08, 0x88, - 0x86, 0x91, 0x29, 0xba, 0x9d, 0xfd, 0x16, 0x4b, 0x9a, 0xc2, 0x6c, 0x36, 0x42, 0x30, 0xed, 0xbb, - 0x0a, 0xac, 0x51, 0x99, 0x9f, 0xbd, 0x73, 0x5a, 0xe3, 0xae, 0xd8, 0xef, 0x94, 0x83, 0x12, 0x66, - 0xa9, 0xcc, 0x6b, 0x9e, 0x71, 0x50, 0x1c, 0x66, 0xf9, 0xa5, 0x64, 0x07, 0xb2, 0xfc, 0x7e, 0xf1, - 0x78, 0x3c, 0xd3, 0xf3, 0x92, 0x32, 0x21, 0xa8, 0x98, 0x23, 0xd1, 0x9e, 0xe0, 0x11, 0xc6, 0x69, - 0x2c, 0x9f, 0x5a, 0xfb, 0x6f, 0x05, 0xce, 0x4c, 0xa0, 0x21, 0x6f, 0xc2, 0x2c, 0x7a, 0xf4, 0xf1, - 0xd9, 0x3b, 0x3b, 0xe1, 0x13, 0xa3, 0xfd, 0xa3, 0xdd, 0x5b, 0xec, 0x22, 0x3a, 0xa6, 0x3f, 0x2c, - 0x46, 0x45, 0xde, 0x81, 0x05, 0xbd, 0xdd, 0xe6, 0xe2, 0x4c, 0x2a, 0x24, 0xce, 0x4c, 0xf8, 0xe2, - 0x4b, 0x3e, 0x3e, 0x13, 0x67, 0x98, 0x6f, 0x49, 0xbb, 0xed, 0x70, 0x6f, 0xc5, 0xa0, 0xbe, 0x8d, - 0x5f, 0x86, 0xe5, 0x30, 0xf2, 0x53, 0x39, 0x58, 0xbd, 0xa7, 0x80, 0x1a, 0x6e, 0xc3, 0xa7, 0x13, - 0x59, 0x29, 0x69, 0x9a, 0x9f, 0xb0, 0xa8, 0x7e, 0x3f, 0x05, 0xcf, 0x25, 0x8e, 0x30, 0x79, 0x11, - 0xe6, 0xf4, 0xc1, 0xc0, 0x2c, 0xf2, 0x55, 0xc5, 0x39, 0x24, 0xd4, 0x12, 0x87, 0xa4, 0x3d, 0x86, - 0x44, 0x5e, 0x81, 0x2c, 0x7b, 0x4e, 0x2f, 0x8a, 0x03, 0x07, 0x43, 0xc5, 0xf0, 0xb7, 0xfe, 0x70, - 0x64, 0x51, 0x81, 0x48, 0x4a, 0xb0, 0xcc, 0x83, 0xac, 0x58, 0xee, 0xa1, 0xfb, 0x4d, 0x3f, 0xc4, - 0x3d, 0x46, 0xe1, 0x17, 0xaa, 0x67, 0x67, 0xc8, 0xca, 0xe4, 0x30, 0x23, 0x61, 0x2a, 0x52, 0x06, - 0x15, 0xeb, 0x94, 0x6b, 0x62, 0xe1, 0x4d, 0x31, 0xec, 0x0d, 0x6b, 0xc4, 0x84, 0xba, 0x62, 0x94, - 0xfe, 0x74, 0xe9, 0x9e, 0xd7, 0x39, 0xec, 0x1d, 0xbb, 0xbd, 0xd1, 0xa7, 0x37, 0x5d, 0xc1, 0x37, - 0x4e, 0x34, 0x5d, 0x7f, 0x98, 0x61, 0x9b, 0x39, 0x4a, 0x46, 0x39, 0x1a, 0x29, 0xa2, 0x35, 0x72, - 0x34, 0x54, 0x68, 0xe2, 0x61, 0x44, 0x8a, 0x30, 0xcf, 0xc2, 0xbb, 0x88, 0x9d, 0x71, 0x2e, 0xb1, - 0x09, 0x0c, 0x67, 0xf7, 0x16, 0x63, 0x5f, 0x98, 0x6b, 0xa1, 0x67, 0x09, 0x52, 0xb2, 0x0b, 0xb9, - 0x42, 0xd7, 0x6d, 0xf5, 0xc6, 0x83, 0xc6, 0xc9, 0x9e, 0x1c, 0xd7, 0x79, 0x5f, 0x16, 0xf7, 0x19, - 0x19, 0x3e, 0x55, 0xe2, 0x49, 0x2e, 0x57, 0x44, 0x1a, 0xbe, 0xb7, 0x51, 0x06, 0x35, 0x95, 0x9f, - 0x9d, 0x32, 0x3e, 0x51, 0x20, 0xd2, 0x85, 0x5d, 0xe9, 0xb8, 0x3b, 0x92, 0x03, 0xcb, 0xe5, 0x96, - 0x37, 0x6a, 0x0c, 0x5b, 0x3d, 0x0f, 0xc3, 0x42, 0x9e, 0x20, 0x6c, 0xd6, 0xa6, 0x48, 0x39, 0x8c, - 0x3a, 0xc6, 0x91, 0x4f, 0xca, 0x34, 0x98, 0xe1, 0xea, 0x28, 0xbf, 0x54, 0xea, 0xf4, 0x5a, 0xdd, - 0xce, 0xbb, 0xc2, 0x29, 0x93, 0xf1, 0x4b, 0x07, 0x02, 0x68, 0x05, 0xe5, 0xda, 0x57, 0x62, 0xf3, - 0xc6, 0x5a, 0x99, 0x83, 0x79, 0xee, 0xb2, 0xcf, 0x5c, 0xd8, 0xeb, 0x46, 0xb5, 0x68, 0x56, 0xb7, - 0x55, 0x85, 0x2c, 0x03, 0xd4, 0xad, 0x5a, 0xc1, 0xb0, 0x6d, 0xfa, 0x3b, 0x45, 0x7f, 0x73, 0xff, - 0xf6, 0x52, 0xb3, 0xac, 0xa6, 0x25, 0x17, 0xf7, 0x8c, 0xf6, 0x43, 0x05, 0x4e, 0x27, 0x4f, 0x25, - 0x69, 0x00, 0x06, 0x39, 0xe0, 0x8f, 0xcf, 0x9f, 0x9b, 0x3a, 0xef, 0x89, 0xe0, 0x68, 0xb0, 0x84, - 0x11, 0x73, 0xc2, 0x4f, 0x89, 0xc7, 0x22, 0xe6, 0xd5, 0xd7, 0x69, 0x5b, 0xa9, 0x4e, 0x5b, 0x2b, - 0xc0, 0xfa, 0xa4, 0x3a, 0xc2, 0x5d, 0x5d, 0x81, 0x9c, 0x5e, 0xaf, 0x97, 0xcd, 0x82, 0xde, 0x30, - 0x6b, 0x55, 0x55, 0x21, 0x0b, 0x30, 0xbb, 0x6d, 0xd5, 0x9a, 0x75, 0x35, 0xa5, 0x7d, 0x5f, 0x81, - 0x25, 0x33, 0x30, 0xd3, 0x7a, 0xd6, 0xcd, 0xf7, 0x46, 0x68, 0xf3, 0xad, 0xfb, 0xe1, 0x40, 0xfc, - 0x0f, 0x9c, 0x68, 0xe7, 0xfd, 0xa3, 0x02, 0xab, 0x31, 0x1a, 0x62, 0xc3, 0xbc, 0xbe, 0x67, 0xd7, - 0xcc, 0x62, 0x81, 0xb7, 0xec, 0x42, 0x60, 0x5f, 0x84, 0x19, 0x9f, 0x62, 0x5f, 0x61, 0x2e, 0xb4, - 0x8f, 0x3c, 0xa7, 0xdf, 0x69, 0x4b, 0xd9, 0x5a, 0x77, 0x66, 0x2c, 0x51, 0x13, 0xde, 0x64, 0xef, - 0x8e, 0x87, 0x2e, 0x56, 0x9b, 0x0a, 0x29, 0x42, 0x7d, 0x78, 0xbc, 0x62, 0x74, 0x78, 0x68, 0xd1, - 0xf2, 0x78, 0xd5, 0x41, 0x7d, 0x5b, 0x4b, 0x90, 0xe3, 0x52, 0x0b, 0x0a, 0x04, 0x3f, 0x50, 0x60, - 0x7d, 0x52, 0x5b, 0xa9, 0x20, 0x14, 0xf6, 0xa7, 0x3f, 0xed, 0x67, 0x70, 0x08, 0x3b, 0xd2, 0x0b, - 0x34, 0xf2, 0x16, 0xe4, 0x4c, 0xcf, 0x1b, 0xbb, 0x43, 0xfb, 0x95, 0xa6, 0x65, 0xf2, 0x05, 0x72, - 0xee, 0x3f, 0x3e, 0xbc, 0x70, 0x06, 0xdd, 0x12, 0x86, 0x8e, 0xf7, 0x8a, 0x33, 0x1e, 0x76, 0x42, - 0xd1, 0xee, 0x65, 0x0a, 0xca, 0xb7, 0xb6, 0xc6, 0xed, 0x8e, 0x2b, 0xb8, 0x76, 0xe1, 0x73, 0xcc, - 0x61, 0xf2, 0x2d, 0x22, 0x60, 0xda, 0xb7, 0x15, 0xd8, 0x98, 0x3c, 0x30, 0xf4, 0x66, 0x6a, 0x30, - 0xab, 0x1f, 0xe1, 0xf5, 0x8b, 0x37, 0x93, 0x6f, 0x1a, 0x24, 0xd7, 0x29, 0x10, 0x29, 0x91, 0x9f, - 0x3d, 0x3d, 0x15, 0x4b, 0x99, 0x1c, 0x26, 0x12, 0x88, 0xda, 0x7f, 0xa6, 0xe0, 0x34, 0x5d, 0x74, - 0x5d, 0xd7, 0xf3, 0xf4, 0xf1, 0xe8, 0xc8, 0xed, 0x8d, 0x38, 0x1b, 0x46, 0x5e, 0x83, 0xb9, 0xa3, - 0xa7, 0x53, 0x39, 0x32, 0x74, 0x42, 0x00, 0x0f, 0x72, 0xe1, 0x64, 0x41, 0xff, 0x27, 0x97, 0x40, - 0x4e, 0x52, 0x9d, 0xc6, 0x30, 0x99, 0xa9, 0x75, 0xc5, 0x5a, 0x18, 0xf8, 0xf9, 0x64, 0x5f, 0x87, - 0x59, 0x54, 0x33, 0xf0, 0x23, 0x55, 0xb0, 0xc2, 0xc9, 0xad, 0x43, 0x25, 0x84, 0xc5, 0x08, 0xc8, - 0xcb, 0x00, 0x41, 0x86, 0x01, 0x7e, 0x66, 0x0a, 0xf1, 0xdb, 0x4f, 0x32, 0x60, 0x2d, 0x1c, 0x1f, - 0xb4, 0x78, 0xd8, 0xfe, 0x3c, 0xac, 0x8a, 0x61, 0x19, 0x88, 0xe8, 0x7a, 0xfc, 0x35, 0x6c, 0x85, - 0x15, 0x98, 0x03, 0x11, 0x61, 0xef, 0x4a, 0x2c, 0xd1, 0x2e, 0x06, 0xd9, 0x8d, 0x64, 0xd3, 0xbd, - 0x12, 0xcb, 0xa6, 0x9b, 0x65, 0x58, 0x72, 0xca, 0x5c, 0xed, 0xdf, 0x52, 0xb0, 0xb0, 0x47, 0x99, - 0x15, 0x14, 0xc1, 0xa7, 0x8b, 0xf4, 0xb7, 0x21, 0x57, 0xee, 0xb7, 0xf8, 0xb3, 0x03, 0xf7, 0x4d, - 0x60, 0xbe, 0xc1, 0xdd, 0x7e, 0x4b, 0xbc, 0x60, 0x78, 0x96, 0x8c, 0xf4, 0x04, 0xbf, 0xe6, 0xbb, - 0x30, 0xc7, 0x9e, 0x81, 0xb8, 0x76, 0x49, 0xb0, 0xab, 0x7e, 0x8b, 0x5e, 0x62, 0xc5, 0x92, 0xa6, - 0x9c, 0x3d, 0x25, 0xc9, 0xbc, 0x13, 0x8f, 0x15, 0x2a, 0x29, 0x1c, 0x66, 0x4f, 0xa6, 0x70, 0x90, - 0x62, 0xa2, 0xcd, 0x9d, 0x24, 0x26, 0xda, 0xc6, 0x1d, 0xc8, 0x49, 0xed, 0x79, 0x2a, 0xee, 0xf5, - 0x5b, 0x29, 0x58, 0xc2, 0x5e, 0xf9, 0x36, 0x21, 0x3f, 0x9f, 0xea, 0x93, 0x37, 0x42, 0xea, 0x93, - 0x75, 0x79, 0xbe, 0x58, 0xcf, 0xa6, 0xe8, 0x4d, 0xee, 0xc2, 0x6a, 0x0c, 0x91, 0xbc, 0x0a, 0xb3, - 0xb4, 0xf9, 0x42, 0xdc, 0x54, 0xa3, 0x2b, 0x20, 0x88, 0x9f, 0x4b, 0x3b, 0xee, 0x59, 0x0c, 0x5b, - 0xfb, 0x1f, 0x05, 0x16, 0x79, 0xfa, 0x8a, 0xde, 0x41, 0xff, 0x89, 0xc3, 0x79, 0x2d, 0x3a, 0x9c, - 0x2c, 0x4a, 0x07, 0x1f, 0xce, 0xff, 0xeb, 0x41, 0xbc, 0x13, 0x1a, 0xc4, 0x33, 0x7e, 0x34, 0x3d, - 0xd1, 0x9d, 0x29, 0x63, 0xf8, 0x77, 0x18, 0x5f, 0x36, 0x8c, 0x48, 0xbe, 0x06, 0x0b, 0x55, 0xf7, - 0x51, 0x48, 0x6a, 0xbb, 0x36, 0xa1, 0xd2, 0x97, 0x7c, 0x44, 0xb6, 0xa7, 0xf0, 0xc2, 0xeb, 0xb9, - 0x8f, 0x9c, 0xd8, 0x0b, 0x54, 0x50, 0x25, 0x15, 0xdc, 0xc2, 0x64, 0x4f, 0xb3, 0xf4, 0xb9, 0xa3, - 0x24, 0x06, 0x9e, 0xf9, 0x4e, 0x1a, 0x20, 0xf0, 0x31, 0xa3, 0x1b, 0x30, 0xf4, 0xf8, 0x2e, 0x14, - 0xde, 0x08, 0x92, 0xd7, 0xb8, 0x78, 0x93, 0xbf, 0xc6, 0x15, 0xb3, 0xa9, 0xc9, 0xd1, 0x0e, 0x51, - 0x45, 0x5b, 0xe0, 0x4e, 0x4d, 0x6d, 0xb7, 0xdb, 0x62, 0x67, 0x7b, 0x7a, 0xeb, 0x0a, 0x06, 0xb7, - 0xf5, 0xa1, 0x13, 0xf2, 0x10, 0xa3, 0xeb, 0x53, 0x91, 0x22, 0xc4, 0xfc, 0x36, 0x33, 0x4f, 0xe7, - 0xb7, 0x59, 0x87, 0x85, 0x4e, 0xef, 0xa1, 0xdb, 0x1b, 0xf5, 0x87, 0x8f, 0x51, 0x1b, 0x1d, 0xa8, - 0xb9, 0xe8, 0x10, 0x98, 0xa2, 0x8c, 0xcd, 0x03, 0x5e, 0x8c, 0x3e, 0xbe, 0x3c, 0x0d, 0x3e, 0xd0, - 0xf7, 0x3b, 0x9d, 0x55, 0xe7, 0xee, 0x66, 0xb2, 0x73, 0xea, 0xfc, 0xdd, 0x4c, 0x36, 0xab, 0x2e, - 0xdc, 0xcd, 0x64, 0x17, 0x54, 0xb0, 0xa4, 0xf7, 0x1d, 0xff, 0xfd, 0x46, 0x7a, 0x72, 0x09, 0x3f, - 0xa7, 0x68, 0x3f, 0x4d, 0x01, 0x89, 0x37, 0x83, 0xbc, 0x01, 0x39, 0x76, 0xc0, 0x3a, 0x43, 0xef, - 0x1b, 0xdc, 0x6c, 0x9d, 0x85, 0xef, 0x91, 0xc0, 0x72, 0xf8, 0x1e, 0x06, 0xb6, 0xbc, 0x6f, 0x74, - 0xc9, 0x57, 0xe1, 0x14, 0x0e, 0xef, 0xc0, 0x1d, 0x76, 0xfa, 0x6d, 0x07, 0x63, 0xad, 0xb6, 0xba, - 0x3c, 0x67, 0xe0, 0x8b, 0x98, 0xdc, 0x36, 0x5e, 0x3c, 0x61, 0x1a, 0xd0, 0x95, 0xac, 0x8e, 0x98, - 0x75, 0x86, 0x48, 0x1a, 0xa0, 0xca, 0xf4, 0x07, 0xe3, 0x6e, 0x97, 0xcf, 0x6c, 0x9e, 0x0a, 0xba, - 0xd1, 0xb2, 0x09, 0x15, 0x2f, 0x07, 0x15, 0x97, 0xc6, 0xdd, 0x2e, 0x79, 0x0d, 0xa0, 0xdf, 0x73, - 0x8e, 0x3b, 0x9e, 0xc7, 0xde, 0x38, 0x7c, 0xaf, 0xd7, 0x00, 0x2a, 0x4f, 0x46, 0xbf, 0x57, 0x61, - 0x40, 0xf2, 0x4b, 0x80, 0x5e, 0xff, 0x18, 0x0e, 0x83, 0x59, 0xb5, 0xf0, 0x2c, 0x20, 0x02, 0x18, - 0x76, 0xb2, 0x3d, 0x74, 0xed, 0xce, 0xbb, 0xc2, 0x65, 0xe0, 0x6d, 0x58, 0xe5, 0x46, 0xa8, 0x7b, - 0x9d, 0xd1, 0x11, 0xe7, 0xb0, 0x9f, 0x85, 0x3d, 0x97, 0x58, 0xec, 0x7f, 0xce, 0x00, 0xe8, 0x7b, - 0xb6, 0x88, 0x34, 0x75, 0x03, 0x66, 0xa9, 0xdc, 0x20, 0xf4, 0x0f, 0xa8, 0xbd, 0xc5, 0x7a, 0x65, - 0xed, 0x2d, 0x62, 0xd0, 0xdd, 0x68, 0xa1, 0x71, 0xb6, 0xd0, 0x3d, 0xe0, 0x6e, 0x64, 0xf6, 0xda, - 0xa1, 0x48, 0xbf, 0x1c, 0x8b, 0x94, 0x01, 0x82, 0xd8, 0x4f, 0x5c, 0x92, 0x5d, 0x0d, 0x82, 0xa8, - 0xf0, 0x02, 0x9e, 0x6d, 0x20, 0x88, 0x1f, 0x25, 0x2f, 0x9f, 0x00, 0x8d, 0xdc, 0x83, 0x4c, 0xa3, - 0xe5, 0xfb, 0x74, 0x4e, 0x88, 0x88, 0x75, 0x91, 0xe7, 0x74, 0x0c, 0xa2, 0x62, 0x2d, 0x8f, 0x5a, - 0xa1, 0xd4, 0xb7, 0x58, 0x09, 0x31, 0x60, 0x8e, 0xe7, 0xeb, 0x9e, 0x10, 0x49, 0x91, 0xa7, 0xeb, - 0xe6, 0xf1, 0x93, 0x11, 0x28, 0xf3, 0x14, 0x3c, 0x33, 0xf7, 0x6d, 0x48, 0xdb, 0x76, 0x85, 0xc7, - 0x81, 0x58, 0x0a, 0xa4, 0x12, 0xdb, 0xae, 0xb0, 0x37, 0x4a, 0xcf, 0x3b, 0x96, 0xc8, 0x28, 0x32, - 0xf9, 0x3c, 0xe4, 0x24, 0xf6, 0x99, 0x47, 0x50, 0xc1, 0x31, 0x90, 0xbc, 0x66, 0xe4, 0x43, 0x43, - 0xc2, 0x26, 0x65, 0x50, 0xef, 0x8d, 0x1f, 0xb8, 0xfa, 0x60, 0x80, 0xee, 0x74, 0x0f, 0xdd, 0x21, - 0x63, 0xdb, 0xb2, 0x41, 0xe8, 0x61, 0xb4, 0xb5, 0x6f, 0x8b, 0x52, 0x59, 0x07, 0x13, 0xa5, 0x24, - 0x75, 0x58, 0xb5, 0xdd, 0xd1, 0x78, 0xc0, 0xec, 0x34, 0x4a, 0xfd, 0x21, 0x15, 0x42, 0x58, 0xbc, - 0x15, 0x8c, 0xd2, 0xea, 0xd1, 0x42, 0x61, 0x1c, 0x73, 0xd0, 0x1f, 0x46, 0x04, 0x92, 0x38, 0xb1, - 0xe6, 0xca, 0x53, 0x4e, 0x6f, 0xd5, 0xb0, 0x68, 0x83, 0xb7, 0xaa, 0x10, 0x6d, 0x02, 0x81, 0xe6, - 0xe5, 0x84, 0x98, 0x60, 0xf8, 0x60, 0x26, 0xc5, 0x04, 0x0b, 0x45, 0x02, 0x7b, 0x3f, 0x23, 0x85, - 0xa5, 0xe4, 0x73, 0xf1, 0x26, 0xc0, 0xdd, 0x7e, 0xa7, 0x57, 0x71, 0x47, 0x47, 0xfd, 0xb6, 0x14, - 0x9a, 0x2c, 0xf7, 0xab, 0xfd, 0x4e, 0xcf, 0x39, 0x46, 0xf0, 0x4f, 0x3f, 0xbc, 0x20, 0x21, 0x59, - 0xd2, 0xff, 0xe4, 0x33, 0xb0, 0x40, 0x7f, 0x35, 0x02, 0x6b, 0x13, 0xa6, 0xaa, 0x44, 0x6a, 0x96, - 0xbc, 0x21, 0x40, 0x20, 0x77, 0x30, 0x5d, 0x49, 0x67, 0x30, 0x92, 0x98, 0x57, 0x91, 0x9b, 0xa4, - 0x33, 0x18, 0x45, 0x23, 0x0d, 0x4b, 0xc8, 0x64, 0xc7, 0x6f, 0xba, 0xc8, 0x30, 0xc4, 0xb3, 0xa2, - 0xa0, 0x3e, 0x8e, 0xaf, 0x35, 0x47, 0x84, 0x38, 0x95, 0x73, 0xc1, 0x46, 0xc8, 0xb0, 0x11, 0xf6, - 0x4e, 0x91, 0x3d, 0xa0, 0x70, 0xa6, 0x96, 0x35, 0xc2, 0x3b, 0x6a, 0x3b, 0xfb, 0x08, 0x0e, 0x35, - 0xc2, 0x47, 0x26, 0x5b, 0xb0, 0xc2, 0x78, 0x7c, 0x3f, 0x53, 0x21, 0x67, 0x71, 0xf1, 0x6c, 0x0b, - 0x52, 0x19, 0xca, 0x9f, 0x8f, 0x10, 0x90, 0x12, 0xcc, 0xa2, 0x40, 0xc8, 0x4d, 0xcc, 0x37, 0x65, - 0xe9, 0x39, 0xba, 0x8f, 0xf0, 0x5c, 0x41, 0xb9, 0x59, 0x3e, 0x57, 0x10, 0x95, 0x7c, 0x19, 0xc0, - 0xe8, 0x0d, 0xfb, 0xdd, 0x2e, 0x06, 0xe1, 0xcd, 0xa2, 0x28, 0x75, 0x2e, 0xbc, 0x1f, 0xb1, 0x96, - 0x00, 0x89, 0x07, 0x8c, 0xc3, 0xdf, 0x4e, 0x24, 0x54, 0xaf, 0x54, 0x97, 0x66, 0xc2, 0x1c, 0xdb, - 0x8c, 0x18, 0xd0, 0x9a, 0xa7, 0xe8, 0x90, 0xc2, 0x21, 0xb3, 0x80, 0xd6, 0x1c, 0x1e, 0x0f, 0x68, - 0x2d, 0x11, 0x68, 0xf7, 0x60, 0x2d, 0xa9, 0x63, 0x21, 0x11, 0x56, 0x39, 0xa9, 0x08, 0xfb, 0xa7, - 0x69, 0x58, 0xc4, 0xda, 0xc4, 0x29, 0xac, 0xc3, 0x92, 0x3d, 0x7e, 0xe0, 0x47, 0x7b, 0x12, 0xa7, - 0x31, 0xb6, 0xcf, 0x93, 0x0b, 0xe4, 0xa7, 0xad, 0x10, 0x05, 0x31, 0x60, 0x59, 0xdc, 0x04, 0xdb, - 0xc2, 0x02, 0xdd, 0x8f, 0x25, 0x2d, 0x22, 0x16, 0xc6, 0x33, 0xb5, 0x46, 0x88, 0x82, 0xfb, 0x20, - 0xfd, 0x34, 0xf7, 0x41, 0xe6, 0x44, 0xf7, 0xc1, 0x3b, 0xb0, 0x28, 0xbe, 0x86, 0x27, 0xf9, 0xec, - 0xb3, 0x9d, 0xe4, 0xa1, 0xca, 0x48, 0xd9, 0x3f, 0xd1, 0xe7, 0xa6, 0x9e, 0xe8, 0xf8, 0x5e, 0x28, - 0x76, 0xd9, 0x00, 0x61, 0xf1, 0x83, 0x1d, 0x53, 0x19, 0x6e, 0x17, 0xea, 0x1f, 0xe3, 0x96, 0x7c, - 0x15, 0x16, 0xca, 0x7d, 0xf1, 0x54, 0x24, 0xe9, 0xe8, 0xbb, 0x02, 0x28, 0xb3, 0x0b, 0x3e, 0xa6, - 0x7f, 0xbb, 0xa5, 0x3f, 0x89, 0xdb, 0xed, 0x0e, 0x00, 0x77, 0x6d, 0x08, 0x52, 0x90, 0xe1, 0x96, - 0x11, 0x91, 0x2e, 0xc2, 0x4f, 0x05, 0x12, 0x32, 0x3d, 0x9d, 0xb8, 0x15, 0x8a, 0xbe, 0xbf, 0xdf, - 0x1f, 0xf7, 0x46, 0xa1, 0x9c, 0xbd, 0xc2, 0x13, 0xb2, 0xc5, 0xcb, 0xe4, 0xe3, 0x21, 0x42, 0xf6, - 0xc9, 0x4e, 0x08, 0xf9, 0x92, 0x6f, 0x44, 0x37, 0x3f, 0x6d, 0x84, 0xb4, 0xd8, 0x08, 0x4d, 0x34, - 0x9d, 0xd3, 0x7e, 0xa8, 0xc8, 0x81, 0xfc, 0x3f, 0xc6, 0x54, 0xbf, 0x0e, 0xe0, 0xbf, 0xd5, 0x8b, - 0xb9, 0x66, 0xf2, 0x92, 0x0f, 0x95, 0x47, 0x39, 0xc0, 0x95, 0x7a, 0x93, 0xfe, 0xa4, 0x7a, 0xd3, - 0x80, 0x5c, 0xed, 0xeb, 0xa3, 0x56, 0x60, 0xdc, 0x01, 0xb6, 0xcf, 0xc9, 0xe2, 0xc9, 0x94, 0xde, - 0xba, 0x8a, 0x77, 0x43, 0xc0, 0x07, 0x4f, 0x60, 0x81, 0x25, 0x42, 0xed, 0xaf, 0x14, 0x58, 0x91, - 0xdd, 0xb7, 0x1f, 0xf7, 0xf6, 0xc9, 0x17, 0x58, 0x5c, 0x51, 0x25, 0x24, 0xb2, 0x48, 0x48, 0xf4, - 0xc8, 0x7d, 0xdc, 0xdb, 0x67, 0x0c, 0x50, 0xeb, 0x91, 0xdc, 0x58, 0x4a, 0x48, 0x1e, 0xc0, 0x62, - 0xbd, 0xdf, 0xed, 0x52, 0xb6, 0x66, 0xf8, 0x90, 0x0b, 0x00, 0xb4, 0xa2, 0xe8, 0x8b, 0x81, 0x68, - 0xd0, 0xd6, 0x65, 0x2e, 0xe7, 0x9e, 0x19, 0xd0, 0xf3, 0xbe, 0xc3, 0xe9, 0x82, 0x6a, 0xdf, 0x43, - 0x7f, 0x2b, 0xb9, 0x4e, 0xed, 0xc7, 0x0a, 0x90, 0x78, 0x93, 0xe4, 0x23, 0x4b, 0xf9, 0x7f, 0x60, - 0x61, 0x23, 0xac, 0x5f, 0xe6, 0x69, 0x58, 0x3f, 0xed, 0xbb, 0x29, 0x58, 0x93, 0xbb, 0x44, 0xef, - 0x8f, 0x8f, 0xd7, 0x29, 0x03, 0x96, 0xe5, 0xbb, 0xc3, 0x67, 0xb9, 0xf0, 0xaa, 0x90, 0xaf, 0x9b, - 0xf0, 0xfd, 0x15, 0x21, 0x22, 0x6f, 0x42, 0xae, 0x59, 0x31, 0xfd, 0xdb, 0x2f, 0x1d, 0x5c, 0xa9, - 0xe3, 0xe3, 0x8e, 0x93, 0x74, 0x03, 0xca, 0xf8, 0xcf, 0x34, 0x18, 0xf9, 0xdf, 0x53, 0x60, 0xc5, - 0xd4, 0x2b, 0x3c, 0xcf, 0x01, 0x7b, 0xe5, 0xb9, 0x04, 0xe7, 0x4c, 0xbd, 0xe2, 0xd4, 0x6b, 0x65, - 0xb3, 0x70, 0xdf, 0x49, 0x0c, 0x5f, 0x7c, 0x0e, 0x9e, 0x8f, 0xa3, 0x04, 0xaf, 0x41, 0x67, 0x61, - 0x3d, 0x5e, 0x2c, 0x42, 0x1c, 0x27, 0x13, 0x8b, 0x68, 0xc8, 0xe9, 0xfc, 0x5b, 0xb0, 0x22, 0xc2, - 0xf9, 0x36, 0xca, 0x36, 0x26, 0x0c, 0x58, 0x81, 0xdc, 0xae, 0x61, 0x99, 0xa5, 0xfb, 0x4e, 0xa9, - 0x59, 0x2e, 0xab, 0x33, 0x64, 0x09, 0x16, 0x38, 0xa0, 0xa0, 0xab, 0x0a, 0x59, 0x84, 0xac, 0x59, - 0xb5, 0x8d, 0x42, 0xd3, 0x32, 0xd4, 0x54, 0xfe, 0x2d, 0x58, 0xae, 0x0f, 0x3b, 0x0f, 0x5b, 0x23, - 0xf7, 0x9e, 0xfb, 0x18, 0x1f, 0x73, 0xe6, 0x21, 0x6d, 0xe9, 0x7b, 0xea, 0x0c, 0x01, 0x98, 0xab, - 0xdf, 0x2b, 0xd8, 0xb7, 0x6e, 0xa9, 0x0a, 0xc9, 0xc1, 0xfc, 0x76, 0xa1, 0xee, 0xdc, 0xab, 0xd8, - 0x6a, 0x8a, 0xfe, 0xd0, 0xf7, 0x6c, 0xfc, 0x91, 0xce, 0x7f, 0x16, 0x56, 0x91, 0x3b, 0x2b, 0x77, - 0xbc, 0x91, 0xdb, 0x73, 0x87, 0xd8, 0x86, 0x45, 0xc8, 0xda, 0x2e, 0x3d, 0x56, 0x47, 0x2e, 0x6b, - 0x40, 0x65, 0xdc, 0x1d, 0x75, 0x06, 0x5d, 0xf7, 0x9b, 0xaa, 0x92, 0xbf, 0x03, 0x2b, 0x56, 0x7f, - 0x3c, 0xea, 0xf4, 0x0e, 0xed, 0x11, 0xc5, 0x38, 0x7c, 0x4c, 0x9e, 0x83, 0xd5, 0x66, 0x55, 0xaf, - 0x6c, 0x99, 0xdb, 0xcd, 0x5a, 0xd3, 0x76, 0x2a, 0x7a, 0xa3, 0xb0, 0xc3, 0x9e, 0x92, 0x2a, 0x35, - 0xbb, 0xe1, 0x58, 0x46, 0xc1, 0xa8, 0x36, 0x54, 0x25, 0xff, 0x3d, 0x54, 0x34, 0xed, 0xf7, 0x7b, - 0xed, 0x52, 0x6b, 0x7f, 0xd4, 0x1f, 0x62, 0x83, 0x35, 0x38, 0x6f, 0x1b, 0x85, 0x5a, 0xb5, 0xe8, - 0x94, 0xf4, 0x42, 0xa3, 0x66, 0x25, 0xc5, 0xcf, 0xde, 0x80, 0xd3, 0x09, 0x38, 0xb5, 0x46, 0x5d, - 0x55, 0xc8, 0x05, 0xd8, 0x4c, 0x28, 0xdb, 0x33, 0xb6, 0xf4, 0x66, 0x63, 0xa7, 0xaa, 0xa6, 0x26, - 0x10, 0xdb, 0x76, 0x4d, 0x4d, 0xe7, 0x7f, 0x4b, 0x81, 0xe5, 0xa6, 0xc7, 0xed, 0xb8, 0x9b, 0xe8, - 0xc2, 0x79, 0x11, 0xce, 0x36, 0x6d, 0xc3, 0x72, 0x1a, 0xb5, 0x7b, 0x46, 0xd5, 0x69, 0xda, 0xfa, - 0x76, 0xb4, 0x35, 0x17, 0x60, 0x53, 0xc2, 0xb0, 0x8c, 0x42, 0x6d, 0xd7, 0xb0, 0x9c, 0xba, 0x6e, - 0xdb, 0x7b, 0x35, 0xab, 0xa8, 0x2a, 0xf4, 0x8b, 0x09, 0x08, 0x95, 0x92, 0xce, 0x5a, 0x13, 0x2a, - 0xab, 0x1a, 0x7b, 0x7a, 0xd9, 0xd9, 0xaa, 0x35, 0xd4, 0x74, 0xbe, 0x42, 0x99, 0x1d, 0x8c, 0x62, - 0xcb, 0xac, 0x0f, 0xb3, 0x90, 0xa9, 0xd6, 0xaa, 0x46, 0xf4, 0x01, 0x72, 0x11, 0xb2, 0x7a, 0xbd, - 0x6e, 0xd5, 0x76, 0x71, 0x89, 0x01, 0xcc, 0x15, 0x8d, 0x2a, 0x6d, 0x59, 0x9a, 0x96, 0xd4, 0xad, - 0x5a, 0xa5, 0xd6, 0x30, 0x8a, 0x6a, 0x26, 0x6f, 0x89, 0xf3, 0x4c, 0x54, 0xba, 0xdf, 0x67, 0xaf, - 0x7d, 0x45, 0xa3, 0xa4, 0x37, 0xcb, 0x0d, 0x3e, 0x45, 0xf7, 0x1d, 0xcb, 0xf8, 0x52, 0xd3, 0xb0, - 0x1b, 0xb6, 0xaa, 0x10, 0x15, 0x16, 0xab, 0x86, 0x51, 0xb4, 0x1d, 0xcb, 0xd8, 0x35, 0x8d, 0x3d, - 0x35, 0x45, 0xeb, 0x64, 0xff, 0xd3, 0x2f, 0xe4, 0xdf, 0x57, 0x80, 0xb0, 0x08, 0xc0, 0x22, 0xad, - 0x0c, 0xae, 0x98, 0xf3, 0xb0, 0xb1, 0x43, 0xa7, 0x1a, 0xbb, 0x56, 0xa9, 0x15, 0xa3, 0x43, 0x76, - 0x1a, 0x48, 0xa4, 0xbc, 0x56, 0x2a, 0xa9, 0x0a, 0xd9, 0x84, 0x53, 0x11, 0x78, 0xd1, 0xaa, 0xd5, - 0xd5, 0xd4, 0x46, 0x2a, 0xab, 0x90, 0x33, 0xb1, 0xc2, 0x7b, 0x86, 0x51, 0x57, 0xd3, 0x74, 0x8a, - 0x22, 0x05, 0x62, 0x4b, 0x30, 0xf2, 0x4c, 0xfe, 0xdb, 0x0a, 0x9c, 0x66, 0xcd, 0x14, 0xfb, 0xcb, - 0x6f, 0xea, 0x59, 0x58, 0xe7, 0x71, 0xcd, 0x93, 0x1a, 0xba, 0x06, 0x6a, 0xa8, 0x94, 0x35, 0xf3, - 0x39, 0x58, 0x0d, 0x41, 0xb1, 0x1d, 0x29, 0x7a, 0x7a, 0x84, 0xc0, 0x5b, 0x86, 0xdd, 0x70, 0x8c, - 0x52, 0xa9, 0x66, 0x35, 0x58, 0x43, 0xd2, 0x79, 0x0d, 0x56, 0x0b, 0xee, 0x70, 0x44, 0xe5, 0xd0, - 0x9e, 0xd7, 0xe9, 0xf7, 0xb0, 0x09, 0x4b, 0xb0, 0x60, 0x7c, 0xb9, 0x61, 0x54, 0x6d, 0xb3, 0x56, - 0x55, 0x67, 0xf2, 0x67, 0x23, 0x38, 0x62, 0x1f, 0xdb, 0xf6, 0x8e, 0x3a, 0x93, 0x6f, 0xc1, 0x92, - 0xb0, 0x98, 0x66, 0xab, 0xe2, 0x3c, 0x6c, 0x88, 0xb5, 0x86, 0x27, 0x4a, 0xb4, 0x0b, 0xeb, 0xb0, - 0x16, 0x2f, 0x37, 0x1a, 0xaa, 0x42, 0x67, 0x21, 0x52, 0x42, 0xe1, 0xa9, 0xfc, 0x6f, 0x2a, 0xb0, - 0xe4, 0xbf, 0x20, 0xa1, 0xce, 0xfa, 0x02, 0x6c, 0x56, 0x4a, 0xba, 0x53, 0x34, 0x76, 0xcd, 0x82, - 0xe1, 0xdc, 0x33, 0xab, 0xc5, 0xc8, 0x47, 0x9e, 0x87, 0xe7, 0x12, 0x10, 0xf0, 0x2b, 0xeb, 0xb0, - 0x16, 0x2d, 0x6a, 0xd0, 0xad, 0x9a, 0xa2, 0x43, 0x1f, 0x2d, 0xf1, 0xf7, 0x69, 0x3a, 0xff, 0x27, - 0x0a, 0xac, 0xf3, 0xbc, 0xfd, 0xfc, 0x2d, 0x8b, 0x25, 0x74, 0xc1, 0x88, 0xc7, 0x79, 0xb8, 0xd6, - 0xb0, 0x9a, 0x76, 0xc3, 0x28, 0x0a, 0x72, 0xba, 0x68, 0x4d, 0xcb, 0xa8, 0x18, 0xd5, 0x46, 0xa4, - 0x6d, 0x37, 0xe1, 0x85, 0x29, 0xb8, 0xd5, 0x5a, 0x43, 0xfc, 0xa6, 0x7b, 0xf5, 0x05, 0xb8, 0x3c, - 0x05, 0xd9, 0x47, 0x4c, 0xe5, 0x77, 0x61, 0xd9, 0xd6, 0x2b, 0xe5, 0x52, 0x7f, 0xb8, 0xef, 0xea, - 0xe3, 0xd1, 0x51, 0x8f, 0x6c, 0xc2, 0x99, 0x52, 0xcd, 0x2a, 0x18, 0x0e, 0xf6, 0x20, 0xd2, 0x88, - 0x53, 0xb0, 0x22, 0x17, 0xde, 0x37, 0xe8, 0xee, 0x22, 0xb0, 0x2c, 0x03, 0xab, 0x35, 0x35, 0x95, - 0xff, 0x0a, 0x2c, 0x86, 0x92, 0xdf, 0x9d, 0x81, 0x53, 0xf2, 0xef, 0xba, 0xdb, 0x6b, 0x77, 0x7a, - 0x87, 0xea, 0x4c, 0xb4, 0xc0, 0x1a, 0xf7, 0x7a, 0xb4, 0x00, 0x8f, 0x1b, 0xb9, 0xa0, 0xe1, 0x0e, - 0x8f, 0x3b, 0xbd, 0xd6, 0xc8, 0x6d, 0xab, 0xa9, 0xfc, 0x4b, 0xb0, 0x14, 0x0a, 0xb9, 0x4d, 0xd7, - 0x55, 0xb9, 0xc6, 0xef, 0x87, 0x8a, 0x51, 0x34, 0x9b, 0x15, 0x75, 0x96, 0x1e, 0x34, 0x3b, 0xe6, - 0xf6, 0x8e, 0x0a, 0xf9, 0xef, 0x2b, 0x54, 0x26, 0xc4, 0x71, 0xaf, 0x94, 0x74, 0xb1, 0x12, 0xe9, - 0x2e, 0x60, 0x81, 0xfc, 0x0d, 0xdb, 0x66, 0x66, 0x01, 0x67, 0x61, 0x9d, 0xff, 0x70, 0xf4, 0x6a, - 0xd1, 0xd9, 0xd1, 0xad, 0xe2, 0x9e, 0x6e, 0xd1, 0xad, 0x71, 0x5f, 0x4d, 0xe1, 0x7e, 0x97, 0x20, - 0x4e, 0xa3, 0xd6, 0x2c, 0xec, 0xa8, 0x69, 0xba, 0xbd, 0x42, 0xf0, 0xba, 0x59, 0x55, 0x33, 0x78, - 0x7a, 0xc4, 0xb0, 0xb1, 0x5a, 0x5a, 0x3e, 0x9b, 0xff, 0x48, 0x81, 0x33, 0x76, 0xe7, 0xb0, 0xd7, - 0x1a, 0x8d, 0x87, 0xae, 0xde, 0x3d, 0xec, 0x0f, 0x3b, 0xa3, 0xa3, 0x63, 0x7b, 0xdc, 0x19, 0xb9, - 0xe4, 0x06, 0x5c, 0xb5, 0xcd, 0xed, 0xaa, 0xde, 0xa0, 0xbb, 0x5f, 0x2f, 0x6f, 0xd7, 0x2c, 0xb3, - 0xb1, 0x53, 0x71, 0xec, 0xa6, 0x19, 0xdb, 0x18, 0x57, 0xe0, 0xe2, 0x64, 0xd4, 0xb2, 0xb1, 0xad, - 0x17, 0xee, 0xab, 0xca, 0xf4, 0x0a, 0xb7, 0xf4, 0xb2, 0x5e, 0x2d, 0x18, 0x45, 0x67, 0xf7, 0x96, - 0x9a, 0x22, 0x57, 0xe1, 0xd2, 0x64, 0xd4, 0x92, 0x59, 0xb7, 0x29, 0x5a, 0x7a, 0xfa, 0x77, 0x77, - 0xec, 0x0a, 0xc5, 0xca, 0xe4, 0xff, 0x58, 0x81, 0xf5, 0x49, 0x71, 0x97, 0xc8, 0x35, 0xd0, 0x8c, - 0x6a, 0xc3, 0xd2, 0xcd, 0xa2, 0x53, 0xb0, 0x8c, 0xa2, 0x51, 0x6d, 0x98, 0x7a, 0xd9, 0x76, 0xec, - 0x5a, 0x93, 0xae, 0xa6, 0xc0, 0x7a, 0xe3, 0x32, 0x5c, 0x98, 0x82, 0x57, 0x33, 0x8b, 0x05, 0x55, - 0x21, 0xb7, 0xe0, 0xc5, 0x29, 0x48, 0xf6, 0x7d, 0xbb, 0x61, 0x54, 0xe4, 0x12, 0x35, 0x95, 0x2f, - 0xc0, 0xc6, 0xe4, 0xc0, 0x2c, 0xf4, 0x16, 0x09, 0x8f, 0x74, 0x16, 0x32, 0x45, 0x7a, 0x71, 0x85, - 0xf2, 0x3d, 0xe4, 0x3b, 0xa0, 0x46, 0x63, 0x2b, 0xc4, 0xcc, 0x6c, 0xac, 0x66, 0xb5, 0xca, 0x6e, - 0xb9, 0x15, 0xc8, 0xd5, 0x1a, 0x3b, 0x86, 0xc5, 0x33, 0x66, 0x60, 0x8a, 0x8c, 0x66, 0x95, 0x6e, - 0x9c, 0x9a, 0x65, 0xbe, 0x8d, 0xd7, 0xdd, 0x3a, 0xac, 0xd9, 0x65, 0xbd, 0x70, 0x0f, 0xf7, 0xb4, - 0x59, 0x75, 0x0a, 0x3b, 0x7a, 0xb5, 0x6a, 0x94, 0x55, 0xc0, 0xc1, 0x9c, 0xe4, 0x4f, 0x49, 0x3e, - 0x03, 0xd7, 0x6b, 0xf7, 0x1a, 0xba, 0x53, 0x2f, 0x37, 0xb7, 0xcd, 0xaa, 0x63, 0xdf, 0xaf, 0x16, - 0x04, 0x6b, 0x56, 0x88, 0xdf, 0x08, 0xd7, 0xe1, 0xca, 0x54, 0xec, 0x20, 0xb7, 0xc5, 0x35, 0xd0, - 0xa6, 0x62, 0xf2, 0x8e, 0xe4, 0x7f, 0xa4, 0xc0, 0xe6, 0x94, 0xf7, 0x7e, 0xf2, 0x22, 0xdc, 0xd8, - 0x31, 0xf4, 0x62, 0xd9, 0xb0, 0x6d, 0x3c, 0x28, 0xe8, 0x34, 0x30, 0x73, 0x9c, 0xc4, 0xf3, 0xfe, - 0x06, 0x5c, 0x9d, 0x8e, 0x1e, 0x70, 0x0e, 0xd7, 0xe1, 0xca, 0x74, 0x54, 0xce, 0x49, 0xa4, 0xe8, - 0x79, 0x3b, 0x1d, 0xd3, 0xe7, 0x40, 0xd2, 0xf9, 0xdf, 0x51, 0xe0, 0x74, 0xb2, 0xd2, 0x8d, 0xb6, - 0xcd, 0xac, 0xda, 0x0d, 0xbd, 0x5c, 0x76, 0xea, 0xba, 0xa5, 0x57, 0x1c, 0xa3, 0x6a, 0xd5, 0xca, - 0xe5, 0xa4, 0x9b, 0xf7, 0x0a, 0x5c, 0x9c, 0x8c, 0x6a, 0x17, 0x2c, 0xb3, 0x4e, 0x2f, 0x17, 0x0d, - 0xce, 0x4f, 0xc6, 0x32, 0xcc, 0x82, 0xa1, 0xa6, 0xb6, 0xde, 0xfc, 0xe0, 0x5f, 0xcf, 0xcf, 0x7c, - 0xf0, 0xd1, 0x79, 0xe5, 0xc7, 0x1f, 0x9d, 0x57, 0xfe, 0xe5, 0xa3, 0xf3, 0xca, 0xdb, 0x37, 0x4f, - 0x96, 0x16, 0x0a, 0x65, 0xb4, 0x07, 0x73, 0x28, 0x4d, 0xbe, 0xf2, 0xbf, 0x01, 0x00, 0x00, 0xff, - 0xff, 0x9c, 0xd3, 0x5d, 0xdc, 0xea, 0xb1, 0x01, 0x00, + 0xf1, 0xff, 0xb1, 0x77, 0x35, 0x31, 0x6e, 0x24, 0xd7, 0x79, 0x9a, 0xe4, 0xcc, 0x70, 0x1e, 0xe7, + 0xa7, 0xa7, 0xa4, 0x95, 0x66, 0x67, 0xf4, 0xdb, 0xfa, 0xb1, 0x44, 0x79, 0xd7, 0x96, 0x36, 0xf6, + 0xae, 0xd6, 0x59, 0xaf, 0x7b, 0xc8, 0xe6, 0x4c, 0x4b, 0xfc, 0x73, 0x37, 0x39, 0x63, 0xed, 0xda, + 0xee, 0x50, 0x64, 0xcf, 0x0c, 0x63, 0x0e, 0x49, 0xb3, 0x49, 0xc9, 0x5a, 0x04, 0x48, 0x8c, 0x00, + 0x36, 0x90, 0x3f, 0x27, 0x4e, 0x80, 0x2c, 0x82, 0x00, 0x39, 0x64, 0x11, 0xe4, 0x90, 0x6b, 0x90, + 0x20, 0xc9, 0xc5, 0xb7, 0x05, 0x0c, 0x03, 0x06, 0x92, 0x53, 0x02, 0x2c, 0x92, 0x05, 0x92, 0x43, + 0x92, 0x5b, 0x10, 0x1f, 0x7c, 0x0a, 0xea, 0x55, 0x55, 0x77, 0xf5, 0x0f, 0xa9, 0xd1, 0x6a, 0x37, + 0x89, 0x01, 0x9f, 0xc8, 0x7e, 0xf5, 0xaa, 0xba, 0xba, 0x7e, 0xdf, 0x7b, 0x55, 0xef, 0x7b, 0x94, + 0xdf, 0x2f, 0xf5, 0x54, 0x2b, 0x4e, 0xe4, 0xdf, 0xf0, 0xed, 0x94, 0x98, 0xea, 0x09, 0xd5, 0x49, + 0x18, 0xd6, 0x4a, 0xd2, 0xb0, 0x3e, 0xf9, 0x9c, 0xaa, 0x02, 0x91, 0x17, 0x2b, 0x66, 0xf5, 0xe4, + 0x17, 0xaa, 0x84, 0x9c, 0xce, 0x2b, 0x22, 0x2d, 0x0d, 0x36, 0x0b, 0xa6, 0xb9, 0xde, 0x8e, 0x92, + 0xc8, 0x16, 0x2c, 0xf9, 0xf1, 0xaa, 0xf9, 0xc6, 0x91, 0x65, 0x04, 0xb3, 0x43, 0x2e, 0xc1, 0x32, + 0x13, 0xc9, 0x43, 0x73, 0x0e, 0x90, 0xa6, 0xd3, 0x89, 0x27, 0xda, 0x40, 0x81, 0x4b, 0x4f, 0x6b, + 0x43, 0xb2, 0x0f, 0x67, 0xf0, 0x5a, 0x87, 0x37, 0xf0, 0xbb, 0xc1, 0x69, 0xb7, 0xda, 0x47, 0x2e, + 0x1f, 0xb5, 0x5a, 0x62, 0x67, 0x0c, 0x87, 0xb6, 0x5d, 0x93, 0xfa, 0x61, 0x38, 0xb4, 0xbd, 0x81, + 0x78, 0x2e, 0xd0, 0xec, 0xbc, 0x0e, 0x1d, 0xd8, 0x9a, 0x91, 0x53, 0x5a, 0x38, 0x14, 0x79, 0xe1, + 0xb8, 0x01, 0xea, 0x81, 0xdb, 0xa1, 0x32, 0xb1, 0xdb, 0xc1, 0xaa, 0x3d, 0xba, 0xc3, 0x22, 0xb4, + 0x5b, 0xab, 0x3e, 0xdd, 0xf6, 0x06, 0x7b, 0x77, 0xf8, 0x5b, 0x8e, 0xc5, 0x96, 0x27, 0xab, 0x15, + 0xe4, 0x65, 0x38, 0x15, 0x01, 0x1c, 0x09, 0x3c, 0xd8, 0xad, 0x75, 0x9a, 0x14, 0x86, 0xa7, 0xba, + 0x0c, 0xcb, 0x62, 0x54, 0x8c, 0x7c, 0x3f, 0x38, 0x2b, 0xc7, 0x69, 0x74, 0xd6, 0xf1, 0xd7, 0x4d, + 0xc4, 0x47, 0x25, 0x6a, 0x24, 0x27, 0x90, 0xa5, 0xc9, 0x4b, 0x40, 0x7c, 0xb9, 0xdd, 0x5f, 0x28, + 0xf8, 0x0b, 0xd7, 0x45, 0x8a, 0x3f, 0xc3, 0xf9, 0x6b, 0xff, 0x2e, 0x05, 0xa7, 0x12, 0x54, 0x19, + 0xaa, 0x04, 0x74, 0xfb, 0x63, 0xf7, 0x90, 0xa9, 0x10, 0xf2, 0x47, 0xae, 0x49, 0x74, 0x6e, 0x9f, + 0x5a, 0x60, 0x11, 0xc8, 0xf9, 0xbb, 0xf8, 0x13, 0x5d, 0x3c, 0x5a, 0x23, 0x61, 0x7a, 0xa1, 0x7f, + 0x89, 0x09, 0xeb, 0x18, 0x56, 0xc1, 0xeb, 0x0e, 0x30, 0x3a, 0x03, 0x0a, 0x21, 0x99, 0x90, 0xb2, + 0x83, 0xb5, 0xa8, 0x4b, 0x4c, 0x54, 0x0a, 0xb1, 0xd4, 0x61, 0x84, 0x42, 0xbe, 0x00, 0x9b, 0xd2, + 0x5e, 0xe3, 0x44, 0x66, 0x1e, 0xde, 0x74, 0xb7, 0xce, 0xb6, 0xfc, 0x5d, 0xa7, 0x18, 0x9a, 0x83, + 0xdb, 0x70, 0x01, 0x3b, 0xb1, 0xdb, 0x19, 0x3a, 0xb1, 0x38, 0x1c, 0xf8, 0xa9, 0x0c, 0xb8, 0x7e, + 0x93, 0x72, 0x99, 0x9d, 0x61, 0x24, 0x24, 0x07, 0xfd, 0x6a, 0xde, 0x7c, 0x6f, 0xc3, 0x0b, 0x89, + 0x35, 0xa6, 0x1b, 0x0c, 0x5e, 0xa4, 0x0a, 0x64, 0xa3, 0x45, 0xfa, 0x4c, 0x85, 0xa3, 0xcb, 0xb0, + 0xfc, 0xd0, 0x6d, 0x8d, 0xdc, 0x11, 0xdf, 0xb9, 0xf9, 0x90, 0x60, 0x34, 0x79, 0xe3, 0xee, 0x84, + 0xbb, 0x86, 0xdb, 0x8c, 0x48, 0x05, 0x4e, 0xb1, 0x1d, 0xb0, 0x7b, 0x8c, 0xc2, 0x20, 0xb7, 0x33, + 0x29, 0x21, 0x71, 0x08, 0xb3, 0xe0, 0xd6, 0x64, 0x22, 0x17, 0xcb, 0x6d, 0xad, 0x1f, 0x46, 0x49, + 0x74, 0x46, 0x9f, 0x49, 0xe6, 0x26, 0xdb, 0x90, 0x63, 0x85, 0x33, 0xb5, 0x80, 0x1d, 0x10, 0x5c, + 0x9e, 0xf9, 0x86, 0x02, 0xde, 0x2f, 0xf6, 0xfc, 0xff, 0x74, 0xbf, 0xc6, 0xb3, 0x58, 0xe7, 0x58, + 0x3e, 0xff, 0xb0, 0x96, 0x91, 0xc8, 0xcf, 0x3d, 0xb4, 0xbf, 0x57, 0xc4, 0xa7, 0x86, 0x94, 0x63, + 0x3a, 0xb4, 0x3c, 0xb7, 0x2f, 0xce, 0x80, 0x96, 0x2c, 0xfe, 0xf4, 0x8c, 0x43, 0x9d, 0xbc, 0x0a, + 0xcb, 0xb4, 0xd8, 0xc3, 0x49, 0x9f, 0x0d, 0xb9, 0x74, 0x08, 0x68, 0xa7, 0xc2, 0x92, 0x68, 0xb7, + 0xed, 0xce, 0x59, 0xb9, 0xe3, 0xe0, 0x91, 0x4a, 0xcb, 0xde, 0xf1, 0x78, 0x28, 0x0f, 0x54, 0x61, + 0x28, 0xb4, 0x2b, 0x8d, 0x3a, 0xcf, 0x92, 0xa5, 0x3c, 0x81, 0xb4, 0xbc, 0xbd, 0xc0, 0x4c, 0x85, + 0xda, 0x2d, 0xc8, 0x49, 0x65, 0xd3, 0x8f, 0x61, 0x9e, 0x33, 0xe2, 0x63, 0xd8, 0x13, 0xef, 0xec, + 0x87, 0x90, 0x15, 0x45, 0x52, 0xb5, 0xe0, 0x68, 0xe0, 0x89, 0x49, 0x8e, 0xff, 0x29, 0x8d, 0xb6, + 0x32, 0x7e, 0xe4, 0xbc, 0x85, 0xff, 0x71, 0x2f, 0x19, 0xb7, 0xa8, 0x3e, 0xd0, 0xf3, 0x9c, 0x21, + 0xde, 0xc0, 0xf2, 0x85, 0x67, 0x4a, 0x6f, 0xf4, 0x3c, 0x76, 0x2f, 0x8b, 0xbf, 0xe3, 0xaf, 0xfd, + 0x4d, 0x38, 0x62, 0x4d, 0x98, 0xb6, 0x66, 0x86, 0xb6, 0x8c, 0x54, 0x7c, 0xcb, 0x60, 0x00, 0x2a, + 0x3c, 0x27, 0x7b, 0x33, 0x20, 0x0d, 0xb7, 0x0c, 0x69, 0x65, 0xc8, 0x84, 0x56, 0x06, 0x49, 0x27, + 0x0f, 0x7a, 0x8f, 0xed, 0x38, 0x42, 0x27, 0x8f, 0xae, 0x53, 0x7f, 0x96, 0x12, 0x26, 0x82, 0xed, + 0xc1, 0x60, 0xec, 0x8d, 0x47, 0xad, 0x61, 0xc8, 0x14, 0x4a, 0x8e, 0xe1, 0x45, 0x94, 0xa0, 0xef, + 0x60, 0x08, 0x8b, 0xc1, 0x48, 0x60, 0x76, 0xf8, 0x23, 0x37, 0x77, 0xe7, 0x33, 0x61, 0x19, 0x5f, + 0xa7, 0xdc, 0xba, 0xcc, 0x4c, 0x07, 0xac, 0x54, 0xea, 0xee, 0x9c, 0x75, 0x96, 0x95, 0x19, 0xe3, + 0x22, 0xbb, 0x09, 0x93, 0x38, 0x6a, 0x0b, 0xdd, 0x0e, 0x66, 0x74, 0xb8, 0x54, 0x79, 0xae, 0x93, + 0x2f, 0xc2, 0x52, 0xb7, 0x23, 0x47, 0x6a, 0x8c, 0x5a, 0xe1, 0xcc, 0x0e, 0x43, 0x8b, 0x0e, 0xca, + 0xa0, 0x63, 0xae, 0xcb, 0xa9, 0xdb, 0x2b, 0x21, 0xa3, 0xb1, 0xb6, 0x2d, 0xb4, 0xd1, 0x78, 0x36, + 0xb2, 0x0a, 0x29, 0xbf, 0x87, 0x53, 0xdd, 0x0e, 0x9b, 0x5e, 0x01, 0x5e, 0xb5, 0xc5, 0x9f, 0xb4, + 0x5f, 0x81, 0x1b, 0x27, 0x6d, 0x23, 0x3a, 0x15, 0xa7, 0x34, 0xf8, 0x92, 0xb5, 0xde, 0x8a, 0xb5, + 0xdb, 0x65, 0x90, 0xe1, 0x76, 0xbb, 0x62, 0xf1, 0x13, 0xb4, 0xe6, 0xa8, 0xab, 0xfd, 0x55, 0x1a, + 0x56, 0xc3, 0x66, 0x72, 0x72, 0x0b, 0x32, 0xd2, 0x0a, 0x74, 0x36, 0xc1, 0x96, 0x8e, 0xeb, 0x0e, + 0x32, 0x9d, 0x68, 0xc5, 0x21, 0xf7, 0x60, 0x15, 0x2f, 0xee, 0xa1, 0xe8, 0x39, 0xee, 0xf2, 0xc3, + 0x97, 0xd9, 0xe7, 0x67, 0xd9, 0xf7, 0x3f, 0xb8, 0x38, 0x87, 0x47, 0x65, 0xcb, 0x34, 0x2f, 0x95, + 0xfe, 0x68, 0xa2, 0x64, 0x05, 0xcd, 0x4c, 0xb7, 0x82, 0xf2, 0x4f, 0x99, 0x62, 0x05, 0x9d, 0x9f, + 0x61, 0x05, 0x0d, 0x72, 0xca, 0x56, 0x50, 0xb4, 0x85, 0x2f, 0x4e, 0xb3, 0x85, 0x07, 0x79, 0x98, + 0x2d, 0x3c, 0xb0, 0x62, 0x66, 0xa7, 0x5a, 0x31, 0x83, 0x3c, 0xdc, 0x8a, 0x79, 0x95, 0xb7, 0xd1, + 0xa8, 0xf5, 0xd8, 0xc1, 0xc6, 0xe3, 0xdb, 0x22, 0x7e, 0xbd, 0xd5, 0x7a, 0x8c, 0x97, 0x6b, 0xb6, + 0x97, 0x40, 0xdc, 0xc8, 0xd1, 0x7e, 0x5f, 0x89, 0x58, 0x02, 0x45, 0xff, 0x5d, 0x83, 0x55, 0xb6, + 0x59, 0xb9, 0x1d, 0x49, 0xd7, 0x5c, 0xb1, 0x56, 0x04, 0x95, 0xe9, 0x9b, 0x9f, 0x82, 0x35, 0x9f, + 0x8d, 0xab, 0x5c, 0xe8, 0xa9, 0x67, 0xf9, 0xb9, 0x39, 0xec, 0xcc, 0x2d, 0x58, 0xf7, 0x19, 0xb9, + 0x35, 0x87, 0xa9, 0x9b, 0x2b, 0x96, 0x2a, 0x12, 0xea, 0x9c, 0xae, 0x1d, 0x46, 0x35, 0x8f, 0x4f, + 0xa8, 0x56, 0xda, 0x0f, 0xd2, 0x21, 0x2b, 0x89, 0x78, 0x0d, 0xdd, 0x45, 0xbd, 0x81, 0xc3, 0x1b, + 0x89, 0xaf, 0x45, 0x97, 0xa7, 0xf4, 0x19, 0xbf, 0xd3, 0x64, 0xdb, 0x35, 0x0b, 0x3c, 0x6f, 0x20, + 0xae, 0x38, 0x39, 0x4c, 0xa2, 0x66, 0xfb, 0x3e, 0x8e, 0x59, 0x51, 0x1c, 0x5b, 0x78, 0xf2, 0xb3, + 0x8b, 0x13, 0x6a, 0x2a, 0x1d, 0xb2, 0x28, 0x59, 0xfb, 0x4f, 0xe2, 0x05, 0x4d, 0x40, 0xa3, 0xa2, + 0x17, 0x2e, 0x3c, 0x9d, 0xa0, 0x3b, 0xc5, 0x0a, 0xc7, 0x56, 0xc2, 0x92, 0xd5, 0x89, 0xf8, 0x2b, + 0x8a, 0x35, 0x60, 0x19, 0x6d, 0x14, 0xa2, 0xc0, 0x4c, 0x82, 0x09, 0x3e, 0xfe, 0xf1, 0x05, 0xb3, + 0x62, 0xe5, 0x68, 0x3e, 0x51, 0xcc, 0x11, 0xbc, 0x28, 0x5b, 0x16, 0xc2, 0x95, 0x9c, 0x17, 0x28, + 0xba, 0x33, 0x5b, 0x20, 0x30, 0x40, 0x60, 0x55, 0xcf, 0xb4, 0xc2, 0x04, 0xce, 0xa6, 0x1d, 0xc1, + 0xe6, 0xf4, 0x2e, 0x99, 0x11, 0xa1, 0x29, 0xd8, 0x40, 0x53, 0xf2, 0x06, 0x2a, 0xdb, 0x19, 0xd2, + 0x21, 0x3b, 0x83, 0xf6, 0xa7, 0x69, 0xb8, 0x72, 0x82, 0xee, 0x9a, 0xf1, 0xce, 0x2f, 0x85, 0xc5, + 0xb3, 0x54, 0x48, 0x33, 0xa4, 0x85, 0xf2, 0x05, 0x92, 0x6a, 0xa9, 0xc9, 0xc2, 0xd9, 0x2f, 0xc1, + 0x1a, 0x5b, 0x05, 0xd9, 0xb5, 0xc4, 0x83, 0x49, 0xef, 0x04, 0xcb, 0xe0, 0x96, 0xf0, 0xa1, 0x8a, + 0x64, 0xc5, 0x95, 0x11, 0x57, 0x0c, 0xdb, 0xa7, 0x91, 0x06, 0xe4, 0x90, 0xed, 0xa0, 0xd5, 0xed, + 0x9d, 0xc8, 0x99, 0x47, 0x78, 0x68, 0xc9, 0xd9, 0xd8, 0x6d, 0x6a, 0x4a, 0x28, 0xe1, 0x33, 0xb9, + 0x0e, 0x6b, 0xfd, 0xc9, 0x31, 0x15, 0x3c, 0xd8, 0x58, 0xe0, 0xb7, 0x3f, 0xe6, 0xad, 0x95, 0xfe, + 0xe4, 0x58, 0x1f, 0x0e, 0xb1, 0x4b, 0xf1, 0x9a, 0xc8, 0x3a, 0xe5, 0x63, 0xb3, 0x56, 0x70, 0x2e, + 0x20, 0x27, 0x2d, 0x80, 0xcd, 0x5b, 0xce, 0x7b, 0x1a, 0xd8, 0xa5, 0x41, 0x1e, 0xa1, 0x8a, 0x3d, + 0x68, 0x3f, 0x49, 0x09, 0x7d, 0x77, 0xfa, 0xb8, 0xff, 0x79, 0x17, 0x25, 0x74, 0xd1, 0x0d, 0x50, + 0x69, 0xd3, 0x07, 0x8b, 0x8a, 0xdf, 0x47, 0xab, 0xfd, 0xc9, 0xb1, 0xdf, 0x76, 0x72, 0xc3, 0x2f, + 0xc8, 0x0d, 0xff, 0xaa, 0xd0, 0x87, 0x13, 0x97, 0x87, 0xe9, 0x4d, 0xae, 0xfd, 0x67, 0x1a, 0xae, + 0x9f, 0x6c, 0x11, 0xf8, 0x79, 0xbf, 0x25, 0xf4, 0x5b, 0xc4, 0x74, 0x3a, 0x1f, 0x33, 0x9d, 0x26, + 0xcc, 0xbd, 0x85, 0xa4, 0xb9, 0x17, 0x33, 0xd4, 0x2e, 0x26, 0x18, 0x6a, 0x13, 0x27, 0x68, 0xf6, + 0x29, 0x13, 0x74, 0x49, 0x1e, 0x27, 0xff, 0xe6, 0x1b, 0x30, 0xc2, 0xfa, 0xc0, 0xdb, 0x70, 0x4a, + 0xe8, 0x03, 0x6c, 0xe7, 0x08, 0xec, 0xef, 0xb9, 0x3b, 0x37, 0x93, 0x34, 0x01, 0x64, 0x4b, 0x90, + 0xd6, 0xd7, 0xb9, 0x0e, 0x10, 0xa4, 0xff, 0xff, 0x91, 0xfe, 0xc9, 0x03, 0x38, 0x83, 0xf8, 0xee, + 0x6d, 0xf9, 0xe4, 0xc0, 0x19, 0xb9, 0x07, 0x7c, 0x3c, 0x5c, 0x8e, 0xc9, 0xca, 0xdd, 0xb6, 0x54, + 0x1d, 0xcb, 0x3d, 0xd8, 0x9d, 0xb3, 0x4e, 0x7b, 0x09, 0xf4, 0xa8, 0x62, 0xf1, 0x17, 0x0a, 0x68, + 0x4f, 0x6f, 0x2f, 0x34, 0x54, 0x45, 0x1b, 0x7c, 0xc9, 0xca, 0xb5, 0xa4, 0xd6, 0xbb, 0x02, 0x2b, + 0x23, 0xf7, 0x60, 0xe4, 0x7a, 0x47, 0x21, 0x0b, 0xc8, 0x32, 0x27, 0x8a, 0x86, 0x11, 0x28, 0x93, + 0xcf, 0x24, 0x99, 0x8b, 0x4c, 0x5a, 0xc9, 0xd7, 0x17, 0x13, 0xfb, 0x81, 0x8e, 0x26, 0xb9, 0x82, + 0xec, 0xe1, 0x5e, 0x26, 0x9b, 0x52, 0xd3, 0x16, 0xc7, 0xc2, 0x3c, 0xe8, 0xf6, 0x5c, 0xed, 0x6f, + 0x14, 0x21, 0x11, 0x24, 0x35, 0x1e, 0x79, 0x5b, 0xba, 0xcc, 0x9b, 0x8e, 0x89, 0x21, 0x49, 0x59, + 0xe4, 0x7b, 0x8f, 0x1c, 0x9e, 0x11, 0x09, 0x21, 0x78, 0x46, 0xa4, 0x3c, 0xc7, 0x8d, 0x44, 0xae, + 0x35, 0xdf, 0x15, 0x37, 0x82, 0xe8, 0x9a, 0xb7, 0x77, 0x9b, 0xdc, 0x84, 0x45, 0x76, 0x09, 0x48, + 0x54, 0x77, 0x2d, 0x54, 0xdd, 0xbd, 0xdb, 0x96, 0x48, 0xd7, 0xde, 0xf5, 0xcf, 0xb5, 0x62, 0x1f, + 0xb1, 0x77, 0x9b, 0xbc, 0x7a, 0xb2, 0xcb, 0xb9, 0x59, 0x71, 0x39, 0xd7, 0xbf, 0x98, 0xfb, 0x5a, + 0xe8, 0x62, 0xee, 0xd5, 0xd9, 0xad, 0xc5, 0x4f, 0x23, 0x19, 0x1c, 0x61, 0x00, 0x53, 0xf5, 0x13, + 0x05, 0xce, 0xcf, 0xcc, 0x41, 0xce, 0x41, 0x56, 0xaf, 0x9b, 0x8d, 0xa0, 0x7f, 0xe9, 0x9c, 0x11, + 0x14, 0xb2, 0x03, 0x4b, 0xdb, 0x2d, 0xaf, 0xdb, 0xa6, 0xc3, 0x38, 0xf1, 0x78, 0x20, 0x56, 0xac, + 0xcf, 0xbe, 0x3b, 0x67, 0x05, 0x79, 0x89, 0x03, 0xeb, 0x38, 0x17, 0x42, 0xa1, 0x9f, 0xd2, 0x09, + 0xb6, 0x86, 0x58, 0x81, 0xb1, 0x6c, 0x74, 0x9d, 0x89, 0x11, 0xa3, 0x53, 0xf0, 0x91, 0x90, 0x45, + 0xa6, 0x57, 0xf0, 0x19, 0x70, 0x55, 0x6f, 0x40, 0xb6, 0x2e, 0xee, 0x09, 0x48, 0xb7, 0xd9, 0xc5, + 0x9d, 0x00, 0xcb, 0x4f, 0xd5, 0x7e, 0x4b, 0x11, 0x06, 0x81, 0xa7, 0x7f, 0x88, 0x14, 0x35, 0xab, + 0x33, 0x3b, 0x6a, 0x56, 0xe7, 0x23, 0x46, 0xcd, 0xd2, 0xfe, 0x9c, 0xa3, 0x9e, 0x9b, 0x9d, 0x7a, + 0xc4, 0x32, 0xfb, 0xbc, 0x5e, 0x09, 0x46, 0x68, 0x74, 0x5e, 0x91, 0xa2, 0x2e, 0xc6, 0xdf, 0x35, + 0xdd, 0x39, 0x41, 0x1a, 0xaa, 0x7f, 0x98, 0x86, 0x73, 0xb3, 0xb2, 0x27, 0xc6, 0x75, 0x56, 0x9e, + 0x2d, 0xae, 0xf3, 0x4d, 0xc8, 0x32, 0x9a, 0x7f, 0xe5, 0x1e, 0x1b, 0x9c, 0x67, 0xa5, 0x0d, 0x2e, + 0x92, 0xc9, 0x15, 0x58, 0xd0, 0x0b, 0x76, 0x10, 0x6a, 0x0c, 0xef, 0xc6, 0xb6, 0xda, 0x1e, 0xde, + 0xba, 0xe4, 0x49, 0xe4, 0xeb, 0xf1, 0xe8, 0x7a, 0x3c, 0xc6, 0xd8, 0x96, 0xd4, 0x20, 0xb1, 0x80, + 0x04, 0x58, 0xdf, 0x00, 0x40, 0x9f, 0x63, 0x52, 0x5b, 0xf1, 0x48, 0x7d, 0x1a, 0x2c, 0xd4, 0x47, + 0xae, 0xe7, 0x8e, 0xe5, 0x7b, 0xab, 0x43, 0xa4, 0x58, 0x3c, 0x85, 0xdf, 0x2a, 0x6d, 0x3d, 0x61, + 0x20, 0x02, 0x0b, 0x32, 0xb0, 0x0b, 0x5e, 0x43, 0xa5, 0x64, 0x4b, 0x62, 0xa1, 0x19, 0xca, 0xad, + 0x49, 0xbf, 0x7d, 0xd4, 0xb4, 0xca, 0x5c, 0xd4, 0x60, 0x19, 0x7a, 0x48, 0xa5, 0x1f, 0xe8, 0x59, + 0x12, 0x8b, 0xf6, 0x5d, 0x05, 0x4e, 0x27, 0x7d, 0x07, 0x39, 0x07, 0x99, 0x7e, 0x62, 0x20, 0xc1, + 0x3e, 0xf3, 0x7d, 0xce, 0xd1, 0x5f, 0xe7, 0x60, 0x30, 0x3a, 0x6e, 0x8d, 0xe5, 0xdb, 0xbd, 0x12, + 0xd9, 0x02, 0xfa, 0x50, 0xc2, 0xff, 0xe4, 0xa2, 0x58, 0xa3, 0xd3, 0xb1, 0xd0, 0x83, 0xf8, 0xa3, + 0xe9, 0x00, 0x66, 0xa7, 0x5e, 0x1b, 0x32, 0x40, 0xfc, 0x57, 0x20, 0x43, 0xab, 0x15, 0x19, 0xbd, + 0x74, 0xfc, 0xe8, 0x95, 0x32, 0x67, 0x62, 0xb5, 0xf2, 0x5a, 0xc7, 0x3d, 0x0b, 0x99, 0xb5, 0x7d, + 0x58, 0x0d, 0x73, 0x10, 0x23, 0x0c, 0xa1, 0x9a, 0xbb, 0xa3, 0xf2, 0x92, 0xb6, 0x07, 0x03, 0xe6, + 0x61, 0xb2, 0xfd, 0xe2, 0x3f, 0x7e, 0x70, 0x11, 0xe8, 0x23, 0xcb, 0x93, 0x04, 0xb1, 0xaa, 0x7d, + 0x2f, 0x05, 0xa7, 0x03, 0xa7, 0x76, 0x31, 0x87, 0x7e, 0x66, 0x3d, 0x2c, 0xf5, 0x90, 0x07, 0xa0, + 0x10, 0xb4, 0xe2, 0x1f, 0x38, 0xc3, 0xf1, 0x68, 0x07, 0x36, 0xa6, 0xf1, 0x93, 0x5b, 0xb0, 0x84, + 0x38, 0x48, 0xc3, 0x56, 0xdb, 0x95, 0xd7, 0xbe, 0xbe, 0x20, 0x5a, 0x41, 0xba, 0xf6, 0x23, 0x05, + 0x36, 0xb9, 0x5f, 0x44, 0xa5, 0xd5, 0xed, 0xa3, 0x59, 0xbd, 0xed, 0x7e, 0x3c, 0x1e, 0xc2, 0x3b, + 0xa1, 0x75, 0xec, 0x5a, 0xd8, 0xfd, 0x25, 0xf6, 0xb6, 0xe9, 0x5f, 0x4b, 0x6e, 0x22, 0xb6, 0x17, + 0x3f, 0x76, 0xce, 0x30, 0x44, 0x86, 0x3e, 0x25, 0xc8, 0x88, 0x0c, 0xc8, 0xa1, 0xfd, 0x2a, 0x5c, + 0x98, 0xfd, 0x02, 0xf2, 0x35, 0x58, 0xc1, 0x60, 0x51, 0xcd, 0xe1, 0xe1, 0xa8, 0xd5, 0x71, 0x85, + 0x29, 0x4c, 0x98, 0x2f, 0xe5, 0x34, 0x06, 0x55, 0xc6, 0x11, 0x02, 0x0e, 0x31, 0x0c, 0x15, 0xcf, + 0x14, 0x72, 0x3e, 0x92, 0x4b, 0xd3, 0x7e, 0x4d, 0x01, 0x12, 0x2f, 0x83, 0x7c, 0x1e, 0x96, 0x9b, + 0x8d, 0x82, 0x3d, 0x6e, 0x8d, 0xc6, 0xbb, 0x83, 0xc9, 0x88, 0xe3, 0x84, 0x31, 0x87, 0xf1, 0x71, + 0xdb, 0x61, 0x07, 0x28, 0x47, 0x83, 0xc9, 0xc8, 0x0a, 0xf1, 0x61, 0x94, 0x23, 0xd7, 0xfd, 0x46, + 0xa7, 0xf5, 0x24, 0x1c, 0xe5, 0x88, 0xd3, 0x42, 0x51, 0x8e, 0x38, 0x4d, 0x7b, 0x4f, 0x81, 0x2d, + 0x71, 0x9b, 0xb0, 0x93, 0x50, 0x97, 0x02, 0xc2, 0xa2, 0x8c, 0x04, 0x30, 0xed, 0x2c, 0x91, 0x76, + 0x5d, 0x20, 0x07, 0x61, 0x05, 0x51, 0xb6, 0x65, 0x79, 0xc9, 0x97, 0x20, 0x63, 0x8f, 0x07, 0xc3, + 0x13, 0x40, 0x07, 0xa9, 0x7e, 0x8f, 0x8e, 0x07, 0x43, 0x2c, 0x02, 0x73, 0x6a, 0x2e, 0x9c, 0x96, + 0x2b, 0x27, 0x6a, 0x4c, 0x2a, 0xb0, 0xc8, 0x31, 0xe2, 0x22, 0x07, 0xf5, 0x33, 0xbe, 0x69, 0x7b, + 0x4d, 0xe0, 0x13, 0x71, 0x60, 0x54, 0x4b, 0x94, 0xa1, 0xfd, 0x8e, 0x02, 0x39, 0x2a, 0x6d, 0xa0, + 0x16, 0xf7, 0xbc, 0x43, 0x3a, 0x2c, 0x38, 0x8a, 0x7b, 0x27, 0x7e, 0xf1, 0x27, 0xda, 0x8d, 0x3f, + 0x07, 0x6b, 0x91, 0x0c, 0x44, 0x43, 0x64, 0x8a, 0x5e, 0xb7, 0xdd, 0x62, 0x41, 0x53, 0xd8, 0x9d, + 0x8d, 0x10, 0x4d, 0xfb, 0x0d, 0x05, 0x4e, 0x53, 0x9d, 0x9f, 0x9d, 0x73, 0x5a, 0x93, 0x9e, 0x98, + 0xef, 0x54, 0x82, 0x12, 0xd7, 0x52, 0x99, 0xd7, 0x3c, 0x93, 0xa0, 0x38, 0xcd, 0xf2, 0x53, 0xc9, + 0x2e, 0x64, 0xf9, 0xfe, 0xe2, 0x71, 0x3c, 0xd3, 0x0b, 0x92, 0x31, 0x21, 0x28, 0x98, 0x33, 0xd1, + 0x2f, 0xc1, 0x25, 0x8c, 0xe7, 0xb1, 0xfc, 0xdc, 0xda, 0x7f, 0x29, 0x70, 0x76, 0x4a, 0x1e, 0xf2, + 0x06, 0xcc, 0xa3, 0x47, 0x1f, 0xef, 0xbd, 0x73, 0x53, 0x5e, 0x31, 0x6e, 0x1f, 0xed, 0xdd, 0x66, + 0x1b, 0xd1, 0x31, 0x7d, 0xb0, 0x58, 0x2e, 0xf2, 0x36, 0x2c, 0xe9, 0x9d, 0x0e, 0x57, 0x67, 0x52, + 0x21, 0x75, 0x66, 0xca, 0x1b, 0x5f, 0xf6, 0xf9, 0x99, 0x3a, 0xc3, 0x7c, 0x4b, 0x3a, 0x1d, 0x87, + 0x7b, 0x2b, 0x06, 0xe5, 0x6d, 0xfe, 0x22, 0xac, 0x86, 0x99, 0x9f, 0xc9, 0xc1, 0xea, 0x5d, 0x05, + 0xd4, 0x70, 0x1d, 0x3e, 0x19, 0x64, 0xa5, 0xa4, 0x6e, 0x7e, 0xca, 0xa0, 0xfa, 0xbd, 0x14, 0xbc, + 0x90, 0xd8, 0xc2, 0xe4, 0x25, 0x58, 0xd0, 0x87, 0x43, 0xb3, 0xc8, 0x47, 0x15, 0x97, 0x90, 0xd0, + 0x4a, 0x1c, 0xd2, 0xf6, 0x18, 0x13, 0x79, 0x05, 0xb2, 0xec, 0x38, 0xbd, 0x28, 0x16, 0x1c, 0x84, + 0x8a, 0xe1, 0x67, 0xfd, 0x61, 0x64, 0x51, 0xc1, 0x48, 0x4a, 0xb0, 0xca, 0x41, 0x56, 0x2c, 0xf7, + 0xd0, 0xfd, 0x96, 0x0f, 0x71, 0x8f, 0x28, 0xfc, 0xc2, 0xf4, 0xec, 0x8c, 0x58, 0x9a, 0x0c, 0x33, + 0x12, 0xce, 0x45, 0xca, 0xa0, 0x62, 0x99, 0x72, 0x49, 0x0c, 0xde, 0x14, 0x61, 0x6f, 0x58, 0x25, + 0xa6, 0x94, 0x15, 0xcb, 0xe9, 0x77, 0x97, 0xee, 0x79, 0xdd, 0xc3, 0xfe, 0xb1, 0xdb, 0x1f, 0x7f, + 0x72, 0xdd, 0x15, 0xbc, 0xe3, 0x44, 0xdd, 0xf5, 0x07, 0x19, 0x36, 0x99, 0xa3, 0xd9, 0xa8, 0x44, + 0x23, 0x21, 0x5a, 0xa3, 0x44, 0x43, 0x95, 0x26, 0x0e, 0x23, 0x52, 0x84, 0x45, 0x06, 0xef, 0x22, + 0x66, 0xc6, 0xf9, 0xc4, 0x2a, 0x30, 0x9e, 0xbd, 0xdb, 0x4c, 0x7c, 0x61, 0xae, 0x85, 0x9e, 0x25, + 0xb2, 0x92, 0x3d, 0xc8, 0x15, 0x7a, 0x6e, 0xab, 0x3f, 0x19, 0x36, 0x4e, 0x76, 0xe4, 0xb8, 0xc1, + 0xbf, 0x65, 0xb9, 0xcd, 0xb2, 0xe1, 0x51, 0x25, 0xae, 0xe4, 0x72, 0x41, 0xa4, 0xe1, 0x7b, 0x1b, + 0x65, 0xd0, 0x52, 0xf9, 0xd9, 0x19, 0xed, 0x13, 0x25, 0x62, 0xbe, 0xb0, 0x2b, 0x1d, 0x77, 0x47, + 0x72, 0x60, 0xb5, 0xdc, 0xf2, 0xc6, 0x8d, 0x51, 0xab, 0xef, 0x21, 0x2c, 0xe4, 0x09, 0x60, 0xb3, + 0xb6, 0x44, 0xc8, 0x61, 0xb4, 0x31, 0x8e, 0xfd, 0xac, 0xcc, 0x82, 0x19, 0x2e, 0x8e, 0xca, 0x4b, + 0xa5, 0x6e, 0xbf, 0xd5, 0xeb, 0xbe, 0x23, 0x9c, 0x32, 0x99, 0xbc, 0x74, 0x20, 0x88, 0x56, 0x90, + 0xae, 0x7d, 0x35, 0xd6, 0x6f, 0xac, 0x96, 0x39, 0x58, 0xe4, 0x2e, 0xfb, 0xcc, 0x85, 0xbd, 0x6e, + 0x54, 0x8b, 0x66, 0x75, 0x47, 0x55, 0xc8, 0x2a, 0x40, 0xdd, 0xaa, 0x15, 0x0c, 0xdb, 0xa6, 0xcf, + 0x29, 0xfa, 0xcc, 0xfd, 0xdb, 0x4b, 0xcd, 0xb2, 0x9a, 0x96, 0x5c, 0xdc, 0x33, 0xda, 0x0f, 0x15, + 0x38, 0x93, 0xdc, 0x95, 0xa4, 0x01, 0x08, 0x72, 0xc0, 0x0f, 0x9f, 0x3f, 0x3f, 0xb3, 0xdf, 0x13, + 0xc9, 0x51, 0xb0, 0x84, 0x31, 0x73, 0xc2, 0x4f, 0x89, 0xc3, 0x22, 0xe6, 0xd5, 0xd7, 0xed, 0x58, + 0xa9, 0x6e, 0x47, 0x2b, 0xc0, 0xc6, 0xb4, 0x32, 0xc2, 0x9f, 0xba, 0x06, 0x39, 0xbd, 0x5e, 0x2f, + 0x9b, 0x05, 0xbd, 0x61, 0xd6, 0xaa, 0xaa, 0x42, 0x96, 0x60, 0x7e, 0xc7, 0xaa, 0x35, 0xeb, 0x6a, + 0x4a, 0xfb, 0xbe, 0x02, 0x2b, 0x66, 0x70, 0x4d, 0xeb, 0x79, 0x27, 0xdf, 0xeb, 0xa1, 0xc9, 0xb7, + 0xe1, 0xc3, 0x81, 0xf8, 0x2f, 0x38, 0xd1, 0xcc, 0xfb, 0x07, 0x05, 0xd6, 0x63, 0x79, 0x88, 0x0d, + 0x8b, 0xfa, 0xbe, 0x5d, 0x33, 0x8b, 0x05, 0x5e, 0xb3, 0x8b, 0xc1, 0xfd, 0x22, 0x8c, 0xf8, 0x14, + 0x7b, 0x0b, 0x73, 0xa1, 0x7d, 0xec, 0x39, 0x83, 0x6e, 0x47, 0x8a, 0xd6, 0xba, 0x3b, 0x67, 0x89, + 0x92, 0x70, 0x27, 0x7b, 0x67, 0x32, 0x72, 0xb1, 0xd8, 0x54, 0xc8, 0x10, 0xea, 0xd3, 0xe3, 0x05, + 0xa3, 0xc3, 0x43, 0x8b, 0xa6, 0xc7, 0x8b, 0x0e, 0xca, 0xdb, 0x5e, 0x81, 0x1c, 0xd7, 0x5a, 0x50, + 0x21, 0xf8, 0x81, 0x02, 0x1b, 0xd3, 0xea, 0x4a, 0x15, 0xa1, 0xb0, 0x3f, 0xfd, 0x19, 0x3f, 0x82, + 0x43, 0xd8, 0x91, 0x5e, 0xb0, 0x91, 0x37, 0x21, 0x67, 0x7a, 0xde, 0xc4, 0x1d, 0xd9, 0xaf, 0x34, + 0x2d, 0x93, 0x0f, 0x90, 0xf3, 0xff, 0xfe, 0xc1, 0xc5, 0xb3, 0xe8, 0x96, 0x30, 0x72, 0xbc, 0x57, + 0x9c, 0xc9, 0xa8, 0x1b, 0x42, 0xbb, 0x97, 0x73, 0x50, 0xb9, 0xb5, 0x35, 0xe9, 0x74, 0x5d, 0x21, + 0xb5, 0x0b, 0x9f, 0x63, 0x4e, 0x93, 0x77, 0x11, 0x41, 0xd3, 0xbe, 0xa3, 0xc0, 0xe6, 0xf4, 0x86, + 0xa1, 0x3b, 0x53, 0x83, 0xdd, 0xfa, 0x11, 0x5e, 0xbf, 0xb8, 0x33, 0xf9, 0x57, 0x83, 0xe4, 0x32, + 0x05, 0x23, 0xcd, 0xe4, 0x47, 0x4f, 0x4f, 0xc5, 0x42, 0x26, 0x87, 0x33, 0x09, 0x46, 0xed, 0x3f, + 0x52, 0x70, 0x86, 0x0e, 0xba, 0x9e, 0xeb, 0x79, 0xfa, 0x64, 0x7c, 0xe4, 0xf6, 0xc7, 0x5c, 0x0c, + 0x23, 0xaf, 0xc2, 0xc2, 0xd1, 0xb3, 0x99, 0x1c, 0x19, 0x3b, 0x21, 0x80, 0x0b, 0xb9, 0x70, 0xb2, + 0xa0, 0xff, 0xc9, 0x65, 0x90, 0x83, 0x54, 0xa7, 0x11, 0x26, 0x33, 0xb5, 0xa1, 0x58, 0x4b, 0x43, + 0x3f, 0x9e, 0xec, 0x6b, 0x30, 0x8f, 0x66, 0x06, 0xbe, 0xa4, 0x0a, 0x51, 0x38, 0xb9, 0x76, 0x68, + 0x84, 0xb0, 0x58, 0x06, 0xf2, 0x19, 0x80, 0x20, 0xc2, 0x00, 0x5f, 0x33, 0x85, 0xfa, 0xed, 0x07, + 0x19, 0xb0, 0x96, 0x8e, 0x0f, 0x5a, 0x1c, 0xb6, 0x3f, 0x0f, 0xeb, 0xa2, 0x59, 0x86, 0x02, 0x5d, + 0x8f, 0x9f, 0x86, 0xad, 0xb1, 0x04, 0x73, 0x28, 0x10, 0xf6, 0xae, 0xc6, 0x02, 0xed, 0x22, 0xc8, + 0x6e, 0x24, 0x9a, 0xee, 0xd5, 0x58, 0x34, 0xdd, 0x2c, 0xe3, 0x92, 0x43, 0xe6, 0x6a, 0xff, 0x9a, + 0x82, 0xa5, 0x7d, 0x2a, 0xac, 0xa0, 0x0a, 0x3e, 0x5b, 0xa5, 0xbf, 0x03, 0xb9, 0xf2, 0xa0, 0xc5, + 0x8f, 0x1d, 0xb8, 0x6f, 0x02, 0xf3, 0x0d, 0xee, 0x0d, 0x5a, 0xe2, 0x04, 0xc3, 0xb3, 0x64, 0xa6, + 0xa7, 0xf8, 0x35, 0xdf, 0x83, 0x05, 0x76, 0x0c, 0xc4, 0xad, 0x4b, 0x42, 0x5c, 0xf5, 0x6b, 0xf4, + 0x32, 0x4b, 0x96, 0x2c, 0xe5, 0xec, 0x28, 0x49, 0x96, 0x9d, 0x38, 0x56, 0xa8, 0x64, 0x70, 0x98, + 0x3f, 0x99, 0xc1, 0x41, 0xc2, 0x44, 0x5b, 0x38, 0x09, 0x26, 0xda, 0xe6, 0x5d, 0xc8, 0x49, 0xf5, + 0x79, 0x26, 0xe9, 0xf5, 0xdb, 0x29, 0x58, 0xc1, 0xaf, 0xf2, 0xef, 0x84, 0xfc, 0x6c, 0x9a, 0x4f, + 0x5e, 0x0f, 0x99, 0x4f, 0x36, 0xe4, 0xfe, 0x62, 0x5f, 0x36, 0xc3, 0x6e, 0x72, 0x0f, 0xd6, 0x63, + 0x8c, 0xe4, 0x73, 0x30, 0x4f, 0xab, 0x2f, 0xd4, 0x4d, 0x35, 0x3a, 0x02, 0x02, 0xfc, 0x5c, 0xfa, + 0xe1, 0x9e, 0xc5, 0xb8, 0xb5, 0xff, 0x56, 0x60, 0x99, 0x87, 0xaf, 0xe8, 0x1f, 0x0c, 0x9e, 0xda, + 0x9c, 0xd7, 0xa3, 0xcd, 0xc9, 0x50, 0x3a, 0x78, 0x73, 0xfe, 0x6f, 0x37, 0xe2, 0xdd, 0x50, 0x23, + 0x9e, 0xf5, 0xd1, 0xf4, 0xc4, 0xe7, 0xcc, 0x68, 0xc3, 0xbf, 0x45, 0x7c, 0xd9, 0x30, 0x23, 0xf9, + 0x3a, 0x2c, 0x55, 0xdd, 0xc7, 0x21, 0xad, 0xed, 0xfa, 0x94, 0x42, 0x5f, 0xf6, 0x19, 0xd9, 0x9c, + 0xc2, 0x0d, 0xaf, 0xef, 0x3e, 0x76, 0x62, 0x27, 0x50, 0x41, 0x91, 0x54, 0x71, 0x0b, 0x67, 0x7b, + 0x96, 0xa1, 0xcf, 0x1d, 0x25, 0x11, 0x78, 0xe6, 0xbb, 0x69, 0x80, 0xc0, 0xc7, 0x8c, 0x4e, 0xc0, + 0xd0, 0xe1, 0xbb, 0x30, 0x78, 0x23, 0x49, 0x1e, 0xe3, 0xe2, 0x4c, 0xfe, 0x3a, 0x37, 0xcc, 0xa6, + 0xa6, 0xa3, 0x1d, 0xa2, 0x89, 0xb6, 0xc0, 0x9d, 0x9a, 0x3a, 0x6e, 0xaf, 0xc5, 0xd6, 0xf6, 0xf4, + 0xf6, 0x55, 0x04, 0xb7, 0xf5, 0xa9, 0x53, 0xe2, 0x10, 0xa3, 0xeb, 0x53, 0x91, 0x32, 0xc4, 0xfc, + 0x36, 0x33, 0xcf, 0xe6, 0xb7, 0x59, 0x87, 0xa5, 0x6e, 0xff, 0x91, 0xdb, 0x1f, 0x0f, 0x46, 0x4f, + 0xd0, 0x1a, 0x1d, 0x98, 0xb9, 0x68, 0x13, 0x98, 0x22, 0x8d, 0xf5, 0x03, 0x6e, 0x8c, 0x3e, 0xbf, + 0xdc, 0x0d, 0x3e, 0xd1, 0xf7, 0x3b, 0x9d, 0x57, 0x17, 0xee, 0x65, 0xb2, 0x0b, 0xea, 0xe2, 0xbd, + 0x4c, 0x36, 0xab, 0x2e, 0xdd, 0xcb, 0x64, 0x97, 0x54, 0xb0, 0xa4, 0xf3, 0x1d, 0xff, 0xfc, 0x46, + 0x3a, 0x72, 0x09, 0x1f, 0xa7, 0x68, 0x3f, 0x4d, 0x01, 0x89, 0x57, 0x83, 0xbc, 0x0e, 0x39, 0xb6, + 0xc0, 0x3a, 0x23, 0xef, 0x9b, 0xfc, 0xda, 0x3a, 0x83, 0xef, 0x91, 0xc8, 0x32, 0x7c, 0x0f, 0x23, + 0x5b, 0xde, 0x37, 0x7b, 0xe4, 0x6b, 0x70, 0x0a, 0x9b, 0x77, 0xe8, 0x8e, 0xba, 0x83, 0x8e, 0x83, + 0x58, 0xab, 0xad, 0x1e, 0x8f, 0x19, 0xf8, 0x12, 0x06, 0xb7, 0x8d, 0x27, 0x4f, 0xe9, 0x06, 0x74, + 0x25, 0xab, 0x23, 0x67, 0x9d, 0x31, 0x92, 0x06, 0xa8, 0x72, 0xfe, 0x83, 0x49, 0xaf, 0xc7, 0x7b, + 0x36, 0x4f, 0x15, 0xdd, 0x68, 0xda, 0x94, 0x82, 0x57, 0x83, 0x82, 0x4b, 0x93, 0x5e, 0x8f, 0xbc, + 0x0a, 0x30, 0xe8, 0x3b, 0xc7, 0x5d, 0xcf, 0x63, 0x67, 0x1c, 0xbe, 0xd7, 0x6b, 0x40, 0x95, 0x3b, + 0x63, 0xd0, 0xaf, 0x30, 0x22, 0xf9, 0x05, 0x40, 0xaf, 0x7f, 0x84, 0xc3, 0x60, 0xb7, 0x5a, 0x78, + 0x14, 0x10, 0x41, 0x0c, 0x3b, 0xd9, 0x1e, 0xba, 0x76, 0xf7, 0x1d, 0xe1, 0x32, 0xf0, 0x16, 0xac, + 0xf3, 0x4b, 0xa8, 0xfb, 0xdd, 0xf1, 0x11, 0x97, 0xb0, 0x9f, 0x47, 0x3c, 0x97, 0x44, 0xec, 0x7f, + 0xca, 0x00, 0xe8, 0xfb, 0xb6, 0x40, 0x9a, 0xba, 0x09, 0xf3, 0x54, 0x6f, 0x10, 0xf6, 0x07, 0xb4, + 0xde, 0x62, 0xb9, 0xb2, 0xf5, 0x16, 0x39, 0xe8, 0x6c, 0xb4, 0xf0, 0x72, 0xb6, 0xb0, 0x3d, 0xe0, + 0x6c, 0x64, 0xf7, 0xb5, 0x43, 0x48, 0xbf, 0x9c, 0x8b, 0x94, 0x01, 0x02, 0xec, 0x27, 0xae, 0xc9, + 0xae, 0x07, 0x20, 0x2a, 0x3c, 0x81, 0x47, 0x1b, 0x08, 0xf0, 0xa3, 0xe4, 0xe1, 0x13, 0xb0, 0x91, + 0xfb, 0x90, 0x69, 0xb4, 0x7c, 0x9f, 0xce, 0x29, 0x88, 0x58, 0x97, 0x78, 0x4c, 0xc7, 0x00, 0x15, + 0x6b, 0x75, 0xdc, 0x0a, 0x85, 0xbe, 0xc5, 0x42, 0x88, 0x01, 0x0b, 0x3c, 0x5e, 0xf7, 0x14, 0x24, + 0x45, 0x1e, 0xae, 0x9b, 0xe3, 0x27, 0x23, 0x51, 0x96, 0x29, 0x78, 0x64, 0xee, 0x3b, 0x90, 0xb6, + 0xed, 0x0a, 0xc7, 0x81, 0x58, 0x09, 0xb4, 0x12, 0xdb, 0xae, 0xb0, 0x33, 0x4a, 0xcf, 0x3b, 0x96, + 0xb2, 0x51, 0x66, 0xf2, 0x05, 0xc8, 0x49, 0xe2, 0x33, 0x47, 0x50, 0xc1, 0x36, 0x90, 0xbc, 0x66, + 0xe4, 0x45, 0x43, 0xe2, 0x26, 0x65, 0x50, 0xef, 0x4f, 0x1e, 0xba, 0xfa, 0x70, 0x88, 0xee, 0x74, + 0x8f, 0xdc, 0x11, 0x13, 0xdb, 0xb2, 0x01, 0xf4, 0x30, 0xde, 0xb5, 0xef, 0x88, 0x54, 0xd9, 0x06, + 0x13, 0xcd, 0x49, 0xea, 0xb0, 0x6e, 0xbb, 0xe3, 0xc9, 0x90, 0xdd, 0xd3, 0x28, 0x0d, 0x46, 0x54, + 0x09, 0x61, 0x78, 0x2b, 0x88, 0xd2, 0xea, 0xd1, 0x44, 0x71, 0x39, 0xe6, 0x60, 0x30, 0x8a, 0x28, + 0x24, 0xf1, 0xcc, 0x9a, 0x2b, 0x77, 0x39, 0xdd, 0x55, 0xc3, 0xaa, 0x0d, 0xee, 0xaa, 0x42, 0xb5, + 0x09, 0x14, 0x9a, 0xcf, 0x24, 0x60, 0x82, 0xe1, 0x81, 0x99, 0x84, 0x09, 0x16, 0x42, 0x02, 0x7b, + 0x2f, 0x23, 0xc1, 0x52, 0xf2, 0xbe, 0x78, 0x03, 0xe0, 0xde, 0xa0, 0xdb, 0xaf, 0xb8, 0xe3, 0xa3, + 0x41, 0x47, 0x82, 0x26, 0xcb, 0xfd, 0xf2, 0xa0, 0xdb, 0x77, 0x8e, 0x91, 0xfc, 0xd3, 0x0f, 0x2e, + 0x4a, 0x4c, 0x96, 0xf4, 0x9f, 0x7c, 0x1a, 0x96, 0xe8, 0x53, 0x23, 0xb8, 0x6d, 0xc2, 0x4c, 0x95, + 0x98, 0x9b, 0x05, 0x6f, 0x08, 0x18, 0xc8, 0x5d, 0x0c, 0x57, 0xd2, 0x1d, 0x8e, 0x25, 0xe1, 0x55, + 0xc4, 0x26, 0xe9, 0x0e, 0xc7, 0x51, 0xa4, 0x61, 0x89, 0x99, 0xec, 0xfa, 0x55, 0x17, 0x11, 0x86, + 0x78, 0x54, 0x14, 0xb4, 0xc7, 0xf1, 0xb1, 0xe6, 0x08, 0x88, 0x53, 0x39, 0x16, 0x6c, 0x24, 0x1b, + 0x56, 0xc2, 0xde, 0x2d, 0xb2, 0x03, 0x14, 0x2e, 0xd4, 0xb2, 0x4a, 0x78, 0x47, 0x1d, 0xa7, 0x8d, + 0xe4, 0x50, 0x25, 0x7c, 0x66, 0xb2, 0x0d, 0x6b, 0x4c, 0xc6, 0xf7, 0x23, 0x15, 0x72, 0x11, 0x17, + 0xd7, 0xb6, 0x20, 0x94, 0xa1, 0xfc, 0xfa, 0x48, 0x06, 0x52, 0x82, 0x79, 0x54, 0x08, 0xf9, 0x15, + 0xf3, 0x2d, 0x59, 0x7b, 0x8e, 0xce, 0x23, 0x5c, 0x57, 0x50, 0x6f, 0x96, 0xd7, 0x15, 0x64, 0x25, + 0x5f, 0x01, 0x30, 0xfa, 0xa3, 0x41, 0xaf, 0x87, 0x20, 0xbc, 0x59, 0x54, 0xa5, 0xce, 0x87, 0xe7, + 0x23, 0x96, 0x12, 0x30, 0x71, 0xc0, 0x38, 0x7c, 0x76, 0x22, 0x50, 0xbd, 0x52, 0x59, 0x9a, 0x09, + 0x0b, 0x6c, 0x32, 0x22, 0xa0, 0x35, 0x0f, 0xd1, 0x21, 0xc1, 0x21, 0x33, 0x40, 0x6b, 0x4e, 0x8f, + 0x03, 0x5a, 0x4b, 0x19, 0xb4, 0xfb, 0x70, 0x3a, 0xe9, 0xc3, 0x42, 0x2a, 0xac, 0x72, 0x52, 0x15, + 0xf6, 0x4f, 0xd2, 0xb0, 0x8c, 0xa5, 0x89, 0x55, 0x58, 0x87, 0x15, 0x7b, 0xf2, 0xd0, 0x47, 0x7b, + 0x12, 0xab, 0x31, 0xd6, 0xcf, 0x93, 0x13, 0xe4, 0xa3, 0xad, 0x50, 0x0e, 0x62, 0xc0, 0xaa, 0xd8, + 0x09, 0x76, 0xc4, 0x0d, 0x74, 0x1f, 0x4b, 0x5a, 0x20, 0x16, 0xc6, 0x23, 0xb5, 0x46, 0x32, 0x05, + 0xfb, 0x41, 0xfa, 0x59, 0xf6, 0x83, 0xcc, 0x89, 0xf6, 0x83, 0xb7, 0x61, 0x59, 0xbc, 0x0d, 0x57, + 0xf2, 0xf9, 0xe7, 0x5b, 0xc9, 0x43, 0x85, 0x91, 0xb2, 0xbf, 0xa2, 0x2f, 0xcc, 0x5c, 0xd1, 0xf1, + 0xbc, 0x50, 0xcc, 0xb2, 0x21, 0xd2, 0xe2, 0x0b, 0x3b, 0x86, 0x32, 0xdc, 0x29, 0xd4, 0x3f, 0xc2, + 0x2e, 0xf9, 0x39, 0x58, 0x2a, 0x0f, 0xc4, 0x51, 0x91, 0x64, 0xa3, 0xef, 0x09, 0xa2, 0x2c, 0x2e, + 0xf8, 0x9c, 0xfe, 0xee, 0x96, 0xfe, 0x38, 0x76, 0xb7, 0xbb, 0x00, 0xdc, 0xb5, 0x21, 0x08, 0x41, + 0x86, 0x53, 0x46, 0x20, 0x5d, 0x84, 0x8f, 0x0a, 0x24, 0x66, 0xba, 0x3a, 0xf1, 0x5b, 0x28, 0x7a, + 0xbb, 0x3d, 0x98, 0xf4, 0xc7, 0xa1, 0x98, 0xbd, 0xc2, 0x13, 0xb2, 0xc5, 0xd3, 0xe4, 0xe5, 0x21, + 0x92, 0xed, 0xe3, 0xed, 0x10, 0xf2, 0x65, 0xff, 0x12, 0xdd, 0xe2, 0xac, 0x16, 0xd2, 0x62, 0x2d, + 0x34, 0xf5, 0xea, 0x9c, 0xf6, 0x43, 0x45, 0x06, 0xf2, 0xff, 0x08, 0x5d, 0xfd, 0x1a, 0x80, 0x7f, + 0x56, 0x2f, 0xfa, 0x9a, 0xe9, 0x4b, 0x3e, 0x55, 0x6e, 0xe5, 0x80, 0x57, 0xfa, 0x9a, 0xf4, 0xc7, + 0xf5, 0x35, 0x0d, 0xc8, 0xd5, 0xbe, 0x31, 0x6e, 0x05, 0x97, 0x3b, 0xc0, 0xf6, 0x25, 0x59, 0x5c, + 0x99, 0xd2, 0xdb, 0xd7, 0x70, 0x6f, 0x08, 0xe4, 0xe0, 0x29, 0x22, 0xb0, 0x94, 0x51, 0xfb, 0x4b, + 0x05, 0xd6, 0x64, 0xf7, 0xed, 0x27, 0xfd, 0x36, 0xf9, 0x22, 0xc3, 0x15, 0x55, 0x42, 0x2a, 0x8b, + 0xc4, 0x44, 0x97, 0xdc, 0x27, 0xfd, 0x36, 0x13, 0x80, 0x5a, 0x8f, 0xe5, 0xca, 0xd2, 0x8c, 0xe4, + 0x21, 0x2c, 0xd7, 0x07, 0xbd, 0x1e, 0x15, 0x6b, 0x46, 0x8f, 0xb8, 0x02, 0x40, 0x0b, 0x8a, 0x9e, + 0x18, 0x88, 0x0a, 0x6d, 0x5f, 0xe1, 0x7a, 0xee, 0xd9, 0x21, 0x5d, 0xef, 0xbb, 0x3c, 0x5f, 0x50, + 0xec, 0xbb, 0xe8, 0x6f, 0x25, 0x97, 0xa9, 0xfd, 0x58, 0x01, 0x12, 0xaf, 0x92, 0xbc, 0x64, 0x29, + 0xff, 0x07, 0x22, 0x6c, 0x44, 0xf4, 0xcb, 0x3c, 0x8b, 0xe8, 0x97, 0xff, 0x5d, 0x05, 0xd6, 0x4c, + 0xbd, 0xc2, 0xa1, 0xfd, 0xd9, 0xc1, 0xc6, 0x65, 0x38, 0x6f, 0xea, 0x15, 0xa7, 0x5e, 0x2b, 0x9b, + 0x85, 0x07, 0x4e, 0x22, 0x62, 0xef, 0x79, 0x78, 0x31, 0xce, 0x12, 0x1c, 0x80, 0x9c, 0x83, 0x8d, + 0x78, 0xb2, 0x40, 0xf5, 0x4d, 0xce, 0x2c, 0x00, 0x80, 0xd3, 0xf9, 0x37, 0x61, 0x4d, 0x20, 0xd8, + 0x36, 0xca, 0x36, 0x62, 0xe4, 0xaf, 0x41, 0x6e, 0xcf, 0xb0, 0xcc, 0xd2, 0x03, 0xa7, 0xd4, 0x2c, + 0x97, 0xd5, 0x39, 0xb2, 0x02, 0x4b, 0x9c, 0x50, 0xd0, 0x55, 0x85, 0x2c, 0x43, 0xd6, 0xac, 0xda, + 0x46, 0xa1, 0x69, 0x19, 0x6a, 0x2a, 0xff, 0x26, 0xac, 0xd6, 0x47, 0xdd, 0x47, 0xad, 0xb1, 0x7b, + 0xdf, 0x7d, 0x82, 0xe7, 0x17, 0x8b, 0x90, 0xb6, 0xf4, 0x7d, 0x75, 0x8e, 0x00, 0x2c, 0xd4, 0xef, + 0x17, 0xec, 0xdb, 0xb7, 0x55, 0x85, 0xe4, 0x60, 0x71, 0xa7, 0x50, 0x77, 0xee, 0x57, 0x6c, 0x35, + 0x45, 0x1f, 0xf4, 0x7d, 0x1b, 0x1f, 0xd2, 0xf9, 0xcf, 0xc2, 0x3a, 0x0a, 0x24, 0xe5, 0xae, 0x37, + 0x76, 0xfb, 0xee, 0x08, 0xeb, 0xb0, 0x0c, 0x59, 0xdb, 0xa5, 0x2b, 0xc9, 0xd8, 0x65, 0x15, 0xa8, + 0x4c, 0x7a, 0xe3, 0xee, 0xb0, 0xe7, 0x7e, 0x4b, 0x55, 0xf2, 0x77, 0x61, 0xcd, 0x1a, 0x4c, 0xc6, + 0xdd, 0xfe, 0xa1, 0x3d, 0xa6, 0x1c, 0x87, 0x4f, 0xc8, 0x0b, 0xb0, 0xde, 0xac, 0xea, 0x95, 0x6d, + 0x73, 0xa7, 0x59, 0x6b, 0xda, 0x4e, 0x45, 0x6f, 0x14, 0x76, 0xd9, 0xe9, 0x49, 0xa5, 0x66, 0x37, + 0x1c, 0xcb, 0x28, 0x18, 0xd5, 0x86, 0xaa, 0xe4, 0xbf, 0x87, 0xb6, 0x95, 0xf6, 0xa0, 0xdf, 0x29, + 0xb5, 0xda, 0xe3, 0xc1, 0x08, 0x2b, 0xac, 0xc1, 0x05, 0xdb, 0x28, 0xd4, 0xaa, 0x45, 0xa7, 0xa4, + 0x17, 0x1a, 0x35, 0x2b, 0x09, 0x32, 0x7a, 0x13, 0xce, 0x24, 0xf0, 0xd4, 0x1a, 0x75, 0x55, 0x21, + 0x17, 0x61, 0x2b, 0x21, 0x6d, 0xdf, 0xd8, 0xd6, 0x9b, 0x8d, 0xdd, 0xaa, 0x9a, 0x9a, 0x92, 0xd9, + 0xb6, 0x6b, 0x6a, 0x3a, 0xff, 0x9b, 0x0a, 0xac, 0x36, 0x3d, 0x7e, 0x75, 0xb9, 0x89, 0x5e, 0x8b, + 0x97, 0xe0, 0x5c, 0xd3, 0x36, 0x2c, 0xa7, 0x51, 0xbb, 0x6f, 0x54, 0x9d, 0xa6, 0xad, 0xef, 0x44, + 0x6b, 0x73, 0x11, 0xb6, 0x24, 0x0e, 0xcb, 0x28, 0xd4, 0xf6, 0x0c, 0xcb, 0xa9, 0xeb, 0xb6, 0xbd, + 0x5f, 0xb3, 0x8a, 0xaa, 0x42, 0xdf, 0x98, 0xc0, 0x50, 0x29, 0xe9, 0xac, 0x36, 0xa1, 0xb4, 0xaa, + 0xb1, 0xaf, 0x97, 0x9d, 0xed, 0x5a, 0x43, 0x4d, 0xe7, 0x2b, 0x74, 0x7f, 0x47, 0xe0, 0x56, 0x76, + 0xe1, 0x2e, 0x0b, 0x99, 0x6a, 0xad, 0x6a, 0x44, 0xcf, 0xdc, 0x96, 0x21, 0xab, 0xd7, 0xeb, 0x56, + 0x6d, 0x0f, 0x87, 0x18, 0xc0, 0x42, 0xd1, 0xa8, 0xd2, 0x9a, 0xa5, 0x69, 0x4a, 0xdd, 0xaa, 0x55, + 0x6a, 0x0d, 0xa3, 0xa8, 0x66, 0xf2, 0x96, 0x98, 0xc2, 0xa2, 0xd0, 0xf6, 0x80, 0x1d, 0x70, 0x15, + 0x8d, 0x92, 0xde, 0x2c, 0x37, 0x78, 0x17, 0x3d, 0x70, 0x2c, 0xe3, 0xcb, 0x4d, 0xc3, 0x6e, 0xd8, + 0xaa, 0x42, 0x54, 0x58, 0xae, 0x1a, 0x46, 0xd1, 0x76, 0x2c, 0x63, 0xcf, 0x34, 0xf6, 0xd5, 0x14, + 0x2d, 0x93, 0xfd, 0xa7, 0x6f, 0xc8, 0xbf, 0xa7, 0x00, 0x61, 0xa0, 0xb7, 0x22, 0x92, 0x0a, 0x8e, + 0x98, 0x0b, 0xb0, 0xb9, 0x4b, 0xbb, 0x1a, 0x3f, 0xad, 0x52, 0x2b, 0x46, 0x9b, 0xec, 0x0c, 0x90, + 0x48, 0x7a, 0xad, 0x54, 0x52, 0x15, 0xb2, 0x05, 0xa7, 0x22, 0xf4, 0xa2, 0x55, 0xab, 0xab, 0xa9, + 0xcd, 0x54, 0x56, 0x21, 0x67, 0x63, 0x89, 0xf7, 0x0d, 0xa3, 0xae, 0xa6, 0x69, 0x17, 0x45, 0x12, + 0xc4, 0x94, 0x60, 0xd9, 0x33, 0xf9, 0xef, 0x28, 0x70, 0x86, 0x55, 0x53, 0xcc, 0x2f, 0xbf, 0xaa, + 0xe7, 0x60, 0x83, 0x43, 0x79, 0x27, 0x55, 0xf4, 0x34, 0xa8, 0xa1, 0x54, 0x56, 0xcd, 0x17, 0x60, + 0x3d, 0x44, 0xc5, 0x7a, 0xa4, 0xe8, 0xea, 0x11, 0x22, 0x6f, 0x1b, 0x76, 0xc3, 0x31, 0x4a, 0xa5, + 0x9a, 0xd5, 0x60, 0x15, 0x49, 0xe7, 0x35, 0x58, 0x2f, 0xb8, 0xa3, 0x31, 0x55, 0xbd, 0xfa, 0x5e, + 0x77, 0xd0, 0xc7, 0x2a, 0xac, 0xc0, 0x92, 0xf1, 0x95, 0x86, 0x51, 0xb5, 0xcd, 0x5a, 0x55, 0x9d, + 0xcb, 0x9f, 0x8b, 0xf0, 0x88, 0x79, 0x6c, 0xdb, 0xbb, 0xea, 0x5c, 0xbe, 0x05, 0x2b, 0xe2, 0x92, + 0x30, 0x1b, 0x15, 0x17, 0x60, 0x53, 0x8c, 0x35, 0x5c, 0x51, 0xa2, 0x9f, 0xb0, 0x01, 0xa7, 0xe3, + 0xe9, 0x46, 0x43, 0x55, 0x68, 0x2f, 0x44, 0x52, 0x28, 0x3d, 0x95, 0xff, 0x75, 0x05, 0x56, 0xfc, + 0x43, 0x13, 0x34, 0xd3, 0x5e, 0x84, 0xad, 0x4a, 0x49, 0x77, 0x8a, 0xc6, 0x9e, 0x59, 0x30, 0x9c, + 0xfb, 0x66, 0xb5, 0x18, 0x79, 0xc9, 0x8b, 0xf0, 0x42, 0x02, 0x03, 0xbe, 0x65, 0x03, 0x4e, 0x47, + 0x93, 0x1a, 0x74, 0xaa, 0xa6, 0x68, 0xd3, 0x47, 0x53, 0xfc, 0x79, 0x9a, 0xce, 0xff, 0xb1, 0x02, + 0x1b, 0x3c, 0x54, 0x3d, 0x3f, 0xbe, 0x61, 0x31, 0x4c, 0x10, 0xe4, 0x37, 0x0f, 0xd7, 0x1b, 0x56, + 0xd3, 0x6e, 0x18, 0x45, 0x91, 0x9d, 0x0e, 0x5a, 0xd3, 0x32, 0x2a, 0x46, 0xb5, 0x11, 0xa9, 0xdb, + 0x2d, 0xf8, 0xd4, 0x0c, 0xde, 0x6a, 0xad, 0x21, 0x9e, 0xe9, 0x5c, 0xfd, 0x14, 0x5c, 0x99, 0xc1, + 0xec, 0x33, 0xa6, 0xf2, 0x7b, 0xb0, 0x6a, 0xeb, 0x95, 0x72, 0x69, 0x30, 0x6a, 0xbb, 0xfa, 0x64, + 0x7c, 0xd4, 0x27, 0x5b, 0x70, 0xb6, 0x54, 0xb3, 0x0a, 0x86, 0x83, 0x5f, 0x10, 0xa9, 0xc4, 0x29, + 0x58, 0x93, 0x13, 0x1f, 0x18, 0x74, 0x76, 0x11, 0x58, 0x95, 0x89, 0xd5, 0x9a, 0x9a, 0xca, 0x7f, + 0x15, 0x96, 0x43, 0xf1, 0xde, 0xce, 0xc2, 0x29, 0xf9, 0xb9, 0xee, 0xf6, 0x3b, 0xdd, 0xfe, 0xa1, + 0x3a, 0x17, 0x4d, 0xb0, 0x26, 0xfd, 0x3e, 0x4d, 0xc0, 0xe5, 0x46, 0x4e, 0x68, 0xb8, 0xa3, 0xe3, + 0x6e, 0xbf, 0x35, 0x76, 0x3b, 0x6a, 0x2a, 0xff, 0x32, 0xac, 0x84, 0x50, 0xa6, 0xe9, 0xb8, 0x2a, + 0xd7, 0xf8, 0xfe, 0x50, 0x31, 0x8a, 0x66, 0xb3, 0xa2, 0xce, 0xd3, 0x85, 0x66, 0xd7, 0xdc, 0xd9, + 0x55, 0x21, 0xff, 0x7d, 0x85, 0xaa, 0x41, 0xd8, 0xee, 0x95, 0x92, 0x2e, 0x46, 0x22, 0x9d, 0x05, + 0x0c, 0xbb, 0xde, 0xb0, 0x6d, 0x76, 0x12, 0x7e, 0x0e, 0x36, 0xf8, 0x83, 0xa3, 0x57, 0x8b, 0xce, + 0xae, 0x6e, 0x15, 0xf7, 0x75, 0x8b, 0x4e, 0x8d, 0x07, 0x6a, 0x0a, 0xe7, 0xbb, 0x44, 0x71, 0x1a, + 0xb5, 0x66, 0x61, 0x57, 0x4d, 0xd3, 0xe9, 0x15, 0xa2, 0xd7, 0xcd, 0xaa, 0x9a, 0xc1, 0xd5, 0x23, + 0xc6, 0x8d, 0xc5, 0xd2, 0xf4, 0xf9, 0xfc, 0x87, 0x0a, 0x9c, 0xb5, 0xbb, 0x87, 0xfd, 0xd6, 0x78, + 0x32, 0x72, 0xf5, 0xde, 0xe1, 0x60, 0xd4, 0x1d, 0x1f, 0x1d, 0xdb, 0x93, 0xee, 0xd8, 0x25, 0x37, + 0xe1, 0x9a, 0x6d, 0xee, 0x54, 0xf5, 0x06, 0x9d, 0xfd, 0x7a, 0x79, 0xa7, 0x66, 0x99, 0x8d, 0xdd, + 0x8a, 0x63, 0x37, 0xcd, 0xd8, 0xc4, 0xb8, 0x0a, 0x97, 0xa6, 0xb3, 0x96, 0x8d, 0x1d, 0xbd, 0xf0, + 0x40, 0x55, 0x66, 0x17, 0xb8, 0xad, 0x97, 0xf5, 0x6a, 0xc1, 0x28, 0x3a, 0x7b, 0xb7, 0xd5, 0x14, + 0xb9, 0x06, 0x97, 0xa7, 0xb3, 0x96, 0xcc, 0xba, 0x4d, 0xd9, 0xd2, 0xb3, 0xdf, 0xbb, 0x6b, 0x57, + 0x28, 0x57, 0x26, 0xff, 0x47, 0x0a, 0x6c, 0x4c, 0x83, 0x1a, 0x22, 0xd7, 0x41, 0x33, 0xaa, 0x0d, + 0x4b, 0x37, 0x8b, 0x4e, 0xc1, 0x32, 0x8a, 0x46, 0xb5, 0x61, 0xea, 0x65, 0xdb, 0xb1, 0x6b, 0x4d, + 0x3a, 0x9a, 0x82, 0x0b, 0x0b, 0x57, 0xe0, 0xe2, 0x0c, 0xbe, 0x9a, 0x59, 0x2c, 0xa8, 0x0a, 0xb9, + 0x0d, 0x2f, 0xcd, 0x60, 0xb2, 0x1f, 0xd8, 0x0d, 0xa3, 0x22, 0xa7, 0xa8, 0xa9, 0x7c, 0x01, 0x36, + 0xa7, 0x63, 0x91, 0xd0, 0x5d, 0x24, 0xdc, 0xd2, 0x59, 0xc8, 0x14, 0xe9, 0xc6, 0x15, 0x0a, 0x71, + 0x90, 0xef, 0x82, 0x1a, 0x85, 0x13, 0x88, 0xdd, 0x2c, 0xb1, 0x9a, 0xd5, 0x2a, 0xdb, 0xe5, 0xd6, + 0x20, 0x57, 0x6b, 0xec, 0x1a, 0x16, 0x0f, 0x12, 0x81, 0x51, 0x21, 0x9a, 0x55, 0x3a, 0x71, 0x6a, + 0x96, 0xf9, 0x16, 0x6e, 0x77, 0x1b, 0x70, 0xda, 0x2e, 0xeb, 0x85, 0xfb, 0x38, 0xa7, 0xcd, 0xaa, + 0x53, 0xd8, 0xd5, 0xab, 0x55, 0xa3, 0xac, 0x02, 0x36, 0xe6, 0x34, 0x17, 0x42, 0xf2, 0x69, 0xb8, + 0x51, 0xbb, 0xdf, 0xd0, 0x9d, 0x7a, 0xb9, 0xb9, 0x63, 0x56, 0x1d, 0xfb, 0x41, 0xb5, 0x20, 0x44, + 0xb3, 0x42, 0x7c, 0x47, 0xb8, 0x01, 0x57, 0x67, 0x72, 0x07, 0xe1, 0x1c, 0xae, 0x83, 0x36, 0x93, + 0x93, 0x7f, 0x48, 0xfe, 0x47, 0x0a, 0x6c, 0xcd, 0x38, 0xe2, 0x26, 0x2f, 0xc1, 0xcd, 0x5d, 0x43, + 0x2f, 0x96, 0x0d, 0xdb, 0xc6, 0x85, 0x82, 0x76, 0x03, 0xbb, 0x81, 0x92, 0xb8, 0xde, 0xdf, 0x84, + 0x6b, 0xb3, 0xd9, 0x03, 0xc9, 0xe1, 0x06, 0x5c, 0x9d, 0xcd, 0xca, 0x25, 0x89, 0x14, 0x5d, 0x6f, + 0x67, 0x73, 0xfa, 0x12, 0x48, 0x3a, 0xff, 0xdb, 0x0a, 0x9c, 0x49, 0xb6, 0x33, 0xd1, 0xba, 0x99, + 0x55, 0xbb, 0xa1, 0x97, 0xcb, 0x4e, 0x5d, 0xb7, 0xf4, 0x8a, 0x63, 0x54, 0xad, 0x5a, 0xb9, 0x9c, + 0xb4, 0xf3, 0x5e, 0x85, 0x4b, 0xd3, 0x59, 0xed, 0x82, 0x65, 0xd6, 0xe9, 0xe6, 0xa2, 0xc1, 0x85, + 0xe9, 0x5c, 0x86, 0x59, 0x30, 0xd4, 0xd4, 0xf6, 0x1b, 0xef, 0xff, 0xcb, 0x85, 0xb9, 0xf7, 0x3f, + 0xbc, 0xa0, 0xfc, 0xf8, 0xc3, 0x0b, 0xca, 0x3f, 0x7f, 0x78, 0x41, 0x79, 0xeb, 0xd6, 0xc9, 0x22, + 0x21, 0xa1, 0x5a, 0xf2, 0x70, 0x01, 0x15, 0xa8, 0x57, 0xfe, 0x27, 0x00, 0x00, 0xff, 0xff, 0x1d, + 0xc1, 0x21, 0xab, 0xdd, 0xb0, 0x01, 0x00, } func (this *PluginSpecV1) Equal(that interface{}) bool { @@ -48919,63 +48871,6 @@ func (m *AccessGraphAWSSync) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *AccessGraphAzureSync) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *AccessGraphAzureSync) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AccessGraphAzureSync) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if len(m.Integration) > 0 { - i -= len(m.Integration) - copy(dAtA[i:], m.Integration) - i = encodeVarintTypes(dAtA, i, uint64(len(m.Integration))) - i-- - dAtA[i] = 0x22 - } - if len(m.UMIClientID) > 0 { - i -= len(m.UMIClientID) - copy(dAtA[i:], m.UMIClientID) - i = encodeVarintTypes(dAtA, i, uint64(len(m.UMIClientID))) - i-- - dAtA[i] = 0x1a - } - if len(m.SubscriptionID) > 0 { - i -= len(m.SubscriptionID) - copy(dAtA[i:], m.SubscriptionID) - i = encodeVarintTypes(dAtA, i, uint64(len(m.SubscriptionID))) - i-- - dAtA[i] = 0x12 - } - if len(m.Regions) > 0 { - for iNdEx := len(m.Regions) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Regions[iNdEx]) - copy(dAtA[i:], m.Regions[iNdEx]) - i = encodeVarintTypes(dAtA, i, uint64(len(m.Regions[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - func encodeVarintTypes(dAtA []byte, offset int, v uint64) int { offset -= sovTypes(v) base := offset @@ -60011,36 +59906,6 @@ func (m *AccessGraphAWSSync) Size() (n int) { return n } -func (m *AccessGraphAzureSync) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.Regions) > 0 { - for _, s := range m.Regions { - l = len(s) - n += 1 + l + sovTypes(uint64(l)) - } - } - l = len(m.SubscriptionID) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } - l = len(m.UMIClientID) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } - l = len(m.Integration) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - func sovTypes(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -130395,185 +130260,6 @@ func (m *AccessGraphAWSSync) Unmarshal(dAtA []byte) error { } return nil } -func (m *AccessGraphAzureSync) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: AccessGraphAzureSync: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: AccessGraphAzureSync: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Regions", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Regions = append(m.Regions, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SubscriptionID", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SubscriptionID = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UMIClientID", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UMIClientID = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Integration", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Integration = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} func skipTypes(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 From 9f374066f394e33b70c3c3447304f64db0a1427b Mon Sep 17 00:00:00 2001 From: Matt Brock Date: Mon, 2 Dec 2024 10:59:16 -0600 Subject: [PATCH 21/21] Make grpc --- gen/proto/go/accessgraph/v1alpha/access_graph_service.pb.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gen/proto/go/accessgraph/v1alpha/access_graph_service.pb.go b/gen/proto/go/accessgraph/v1alpha/access_graph_service.pb.go index e0ea7044895c6..b282baf0708e4 100644 --- a/gen/proto/go/accessgraph/v1alpha/access_graph_service.pb.go +++ b/gen/proto/go/accessgraph/v1alpha/access_graph_service.pb.go @@ -1483,7 +1483,7 @@ func (*AzureSyncOperation) Descriptor() ([]byte, []int) { return file_accessgraph_v1alpha_access_graph_service_proto_rawDescGZIP(), []int{22} } -// AzureEventsStreamResponse is a response from AzureEventStreamRequest +// AzureEventsStreamResponse is a response from AzureEventsStream type AzureEventsStreamResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache