proto/common/v1/oauthclient.pb.go (456 lines of code) (raw):

// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Code generated by protoc-gen-go. DO NOT EDIT. // source: proto/common/v1/oauthclient.proto package v1 import ( fmt "fmt" proto "github.com/golang/protobuf/proto" status "google.golang.org/genproto/googleapis/rpc/status" math "math" ) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf // This is a compile-time assertion to ensure that this generated file // is compatible with the proto package it is being compiled against. // A compilation error at this line likely means your copy of the // proto package needs to be updated. const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package type Client struct { ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` Scope string `protobuf:"bytes,5,opt,name=scope,proto3" json:"scope,omitempty"` RedirectUris []string `protobuf:"bytes,2,rep,name=redirect_uris,json=redirectUris,proto3" json:"redirect_uris,omitempty"` GrantTypes []string `protobuf:"bytes,6,rep,name=grant_types,json=grantTypes,proto3" json:"grant_types,omitempty"` ResponseTypes []string `protobuf:"bytes,7,rep,name=response_types,json=responseTypes,proto3" json:"response_types,omitempty"` Ui map[string]string `protobuf:"bytes,3,rep,name=ui,proto3" json:"ui,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *Client) Reset() { *m = Client{} } func (m *Client) String() string { return proto.CompactTextString(m) } func (*Client) ProtoMessage() {} func (*Client) Descriptor() ([]byte, []int) { return fileDescriptor_e55280de4537fe26, []int{0} } func (m *Client) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Client.Unmarshal(m, b) } func (m *Client) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Client.Marshal(b, m, deterministic) } func (m *Client) XXX_Merge(src proto.Message) { xxx_messageInfo_Client.Merge(m, src) } func (m *Client) XXX_Size() int { return xxx_messageInfo_Client.Size(m) } func (m *Client) XXX_DiscardUnknown() { xxx_messageInfo_Client.DiscardUnknown(m) } var xxx_messageInfo_Client proto.InternalMessageInfo func (m *Client) GetClientId() string { if m != nil { return m.ClientId } return "" } func (m *Client) GetScope() string { if m != nil { return m.Scope } return "" } func (m *Client) GetRedirectUris() []string { if m != nil { return m.RedirectUris } return nil } func (m *Client) GetGrantTypes() []string { if m != nil { return m.GrantTypes } return nil } func (m *Client) GetResponseTypes() []string { if m != nil { return m.ResponseTypes } return nil } func (m *Client) GetUi() map[string]string { if m != nil { return m.Ui } return nil } // ClientState represents operations needed to put Hydra in sync with the // service. type ClientState struct { // Add: clients to add to Hydra per client name Add map[string]*Client `protobuf:"bytes,1,rep,name=add,proto3" json:"add,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Update: clients that need to be updated in Hydra per client name Update map[string]*Client `protobuf:"bytes,2,rep,name=update,proto3" json:"update,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // UpdateDiff: the diff between hydra and the service per client name UpdateDiff map[string]string `protobuf:"bytes,3,rep,name=update_diff,json=updateDiff,proto3" json:"update_diff,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Remove: clients to remove in Hydra per client name Remove map[string]*Client `protobuf:"bytes,4,rep,name=remove,proto3" json:"remove,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Unchanged: clients that are already in sync per client name Unchanged map[string]*Client `protobuf:"bytes,5,rep,name=unchanged,proto3" json:"unchanged,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // NoSecret: clients that are not fully configured (secret missing) NoSecret map[string]*Client `protobuf:"bytes,6,rep,name=no_secret,json=noSecret,proto3" json:"no_secret,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // SecretMismatch: client names where the secrets don't match between Hydra // and the service. SecretMismatch []string `protobuf:"bytes,7,rep,name=secret_mismatch,json=secretMismatch,proto3" json:"secret_mismatch,omitempty"` // Status: a processing status to return to the client Status *status.Status `protobuf:"bytes,8,opt,name=status,proto3" json:"status,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *ClientState) Reset() { *m = ClientState{} } func (m *ClientState) String() string { return proto.CompactTextString(m) } func (*ClientState) ProtoMessage() {} func (*ClientState) Descriptor() ([]byte, []int) { return fileDescriptor_e55280de4537fe26, []int{1} } func (m *ClientState) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClientState.Unmarshal(m, b) } func (m *ClientState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ClientState.Marshal(b, m, deterministic) } func (m *ClientState) XXX_Merge(src proto.Message) { xxx_messageInfo_ClientState.Merge(m, src) } func (m *ClientState) XXX_Size() int { return xxx_messageInfo_ClientState.Size(m) } func (m *ClientState) XXX_DiscardUnknown() { xxx_messageInfo_ClientState.DiscardUnknown(m) } var xxx_messageInfo_ClientState proto.InternalMessageInfo func (m *ClientState) GetAdd() map[string]*Client { if m != nil { return m.Add } return nil } func (m *ClientState) GetUpdate() map[string]*Client { if m != nil { return m.Update } return nil } func (m *ClientState) GetUpdateDiff() map[string]string { if m != nil { return m.UpdateDiff } return nil } func (m *ClientState) GetRemove() map[string]*Client { if m != nil { return m.Remove } return nil } func (m *ClientState) GetUnchanged() map[string]*Client { if m != nil { return m.Unchanged } return nil } func (m *ClientState) GetNoSecret() map[string]*Client { if m != nil { return m.NoSecret } return nil } func (m *ClientState) GetSecretMismatch() []string { if m != nil { return m.SecretMismatch } return nil } func (m *ClientState) GetStatus() *status.Status { if m != nil { return m.Status } return nil } type ClientResponse struct { Client *Client `protobuf:"bytes,1,opt,name=client,proto3" json:"client,omitempty"` ClientSecret string `protobuf:"bytes,2,opt,name=client_secret,proto3" json:"client_secret,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *ClientResponse) Reset() { *m = ClientResponse{} } func (m *ClientResponse) String() string { return proto.CompactTextString(m) } func (*ClientResponse) ProtoMessage() {} func (*ClientResponse) Descriptor() ([]byte, []int) { return fileDescriptor_e55280de4537fe26, []int{2} } func (m *ClientResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClientResponse.Unmarshal(m, b) } func (m *ClientResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ClientResponse.Marshal(b, m, deterministic) } func (m *ClientResponse) XXX_Merge(src proto.Message) { xxx_messageInfo_ClientResponse.Merge(m, src) } func (m *ClientResponse) XXX_Size() int { return xxx_messageInfo_ClientResponse.Size(m) } func (m *ClientResponse) XXX_DiscardUnknown() { xxx_messageInfo_ClientResponse.DiscardUnknown(m) } var xxx_messageInfo_ClientResponse proto.InternalMessageInfo func (m *ClientResponse) GetClient() *Client { if m != nil { return m.Client } return nil } func (m *ClientResponse) GetClientSecret() string { if m != nil { return m.ClientSecret } return "" } type ConfigModification struct { Revision int64 `protobuf:"varint,1,opt,name=revision,proto3" json:"revision,omitempty"` TestPersonas map[string]*ConfigModification_PersonaModification `protobuf:"bytes,2,rep,name=test_personas,json=testPersonas,proto3" json:"test_personas,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` DryRun bool `protobuf:"varint,3,opt,name=dry_run,json=dryRun,proto3" json:"dry_run,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *ConfigModification) Reset() { *m = ConfigModification{} } func (m *ConfigModification) String() string { return proto.CompactTextString(m) } func (*ConfigModification) ProtoMessage() {} func (*ConfigModification) Descriptor() ([]byte, []int) { return fileDescriptor_e55280de4537fe26, []int{3} } func (m *ConfigModification) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConfigModification.Unmarshal(m, b) } func (m *ConfigModification) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ConfigModification.Marshal(b, m, deterministic) } func (m *ConfigModification) XXX_Merge(src proto.Message) { xxx_messageInfo_ConfigModification.Merge(m, src) } func (m *ConfigModification) XXX_Size() int { return xxx_messageInfo_ConfigModification.Size(m) } func (m *ConfigModification) XXX_DiscardUnknown() { xxx_messageInfo_ConfigModification.DiscardUnknown(m) } var xxx_messageInfo_ConfigModification proto.InternalMessageInfo func (m *ConfigModification) GetRevision() int64 { if m != nil { return m.Revision } return 0 } func (m *ConfigModification) GetTestPersonas() map[string]*ConfigModification_PersonaModification { if m != nil { return m.TestPersonas } return nil } func (m *ConfigModification) GetDryRun() bool { if m != nil { return m.DryRun } return false } type ConfigModification_PersonaModification struct { Access []string `protobuf:"bytes,1,rep,name=access,proto3" json:"access,omitempty"` AddAccess []string `protobuf:"bytes,2,rep,name=add_access,json=addAccess,proto3" json:"add_access,omitempty"` RemoveAccess []string `protobuf:"bytes,3,rep,name=remove_access,json=removeAccess,proto3" json:"remove_access,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *ConfigModification_PersonaModification) Reset() { *m = ConfigModification_PersonaModification{} } func (m *ConfigModification_PersonaModification) String() string { return proto.CompactTextString(m) } func (*ConfigModification_PersonaModification) ProtoMessage() {} func (*ConfigModification_PersonaModification) Descriptor() ([]byte, []int) { return fileDescriptor_e55280de4537fe26, []int{3, 0} } func (m *ConfigModification_PersonaModification) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConfigModification_PersonaModification.Unmarshal(m, b) } func (m *ConfigModification_PersonaModification) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ConfigModification_PersonaModification.Marshal(b, m, deterministic) } func (m *ConfigModification_PersonaModification) XXX_Merge(src proto.Message) { xxx_messageInfo_ConfigModification_PersonaModification.Merge(m, src) } func (m *ConfigModification_PersonaModification) XXX_Size() int { return xxx_messageInfo_ConfigModification_PersonaModification.Size(m) } func (m *ConfigModification_PersonaModification) XXX_DiscardUnknown() { xxx_messageInfo_ConfigModification_PersonaModification.DiscardUnknown(m) } var xxx_messageInfo_ConfigModification_PersonaModification proto.InternalMessageInfo func (m *ConfigModification_PersonaModification) GetAccess() []string { if m != nil { return m.Access } return nil } func (m *ConfigModification_PersonaModification) GetAddAccess() []string { if m != nil { return m.AddAccess } return nil } func (m *ConfigModification_PersonaModification) GetRemoveAccess() []string { if m != nil { return m.RemoveAccess } return nil } type ConfigClientRequest struct { Item *Client `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"` Modification *ConfigModification `protobuf:"bytes,2,opt,name=modification,proto3" json:"modification,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *ConfigClientRequest) Reset() { *m = ConfigClientRequest{} } func (m *ConfigClientRequest) String() string { return proto.CompactTextString(m) } func (*ConfigClientRequest) ProtoMessage() {} func (*ConfigClientRequest) Descriptor() ([]byte, []int) { return fileDescriptor_e55280de4537fe26, []int{4} } func (m *ConfigClientRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConfigClientRequest.Unmarshal(m, b) } func (m *ConfigClientRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ConfigClientRequest.Marshal(b, m, deterministic) } func (m *ConfigClientRequest) XXX_Merge(src proto.Message) { xxx_messageInfo_ConfigClientRequest.Merge(m, src) } func (m *ConfigClientRequest) XXX_Size() int { return xxx_messageInfo_ConfigClientRequest.Size(m) } func (m *ConfigClientRequest) XXX_DiscardUnknown() { xxx_messageInfo_ConfigClientRequest.DiscardUnknown(m) } var xxx_messageInfo_ConfigClientRequest proto.InternalMessageInfo func (m *ConfigClientRequest) GetItem() *Client { if m != nil { return m.Item } return nil } func (m *ConfigClientRequest) GetModification() *ConfigModification { if m != nil { return m.Modification } return nil } type ConfigClientResponse struct { Client *Client `protobuf:"bytes,1,opt,name=client,proto3" json:"client,omitempty"` ClientSecret string `protobuf:"bytes,2,opt,name=client_secret,proto3" json:"client_secret,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *ConfigClientResponse) Reset() { *m = ConfigClientResponse{} } func (m *ConfigClientResponse) String() string { return proto.CompactTextString(m) } func (*ConfigClientResponse) ProtoMessage() {} func (*ConfigClientResponse) Descriptor() ([]byte, []int) { return fileDescriptor_e55280de4537fe26, []int{5} } func (m *ConfigClientResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConfigClientResponse.Unmarshal(m, b) } func (m *ConfigClientResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ConfigClientResponse.Marshal(b, m, deterministic) } func (m *ConfigClientResponse) XXX_Merge(src proto.Message) { xxx_messageInfo_ConfigClientResponse.Merge(m, src) } func (m *ConfigClientResponse) XXX_Size() int { return xxx_messageInfo_ConfigClientResponse.Size(m) } func (m *ConfigClientResponse) XXX_DiscardUnknown() { xxx_messageInfo_ConfigClientResponse.DiscardUnknown(m) } var xxx_messageInfo_ConfigClientResponse proto.InternalMessageInfo func (m *ConfigClientResponse) GetClient() *Client { if m != nil { return m.Client } return nil } func (m *ConfigClientResponse) GetClientSecret() string { if m != nil { return m.ClientSecret } return "" } func init() { proto.RegisterType((*Client)(nil), "common.Client") proto.RegisterMapType((map[string]string)(nil), "common.Client.UiEntry") proto.RegisterType((*ClientState)(nil), "common.ClientState") proto.RegisterMapType((map[string]*Client)(nil), "common.ClientState.AddEntry") proto.RegisterMapType((map[string]*Client)(nil), "common.ClientState.NoSecretEntry") proto.RegisterMapType((map[string]*Client)(nil), "common.ClientState.RemoveEntry") proto.RegisterMapType((map[string]*Client)(nil), "common.ClientState.UnchangedEntry") proto.RegisterMapType((map[string]string)(nil), "common.ClientState.UpdateDiffEntry") proto.RegisterMapType((map[string]*Client)(nil), "common.ClientState.UpdateEntry") proto.RegisterType((*ClientResponse)(nil), "common.ClientResponse") proto.RegisterType((*ConfigModification)(nil), "common.ConfigModification") proto.RegisterMapType((map[string]*ConfigModification_PersonaModification)(nil), "common.ConfigModification.TestPersonasEntry") proto.RegisterType((*ConfigModification_PersonaModification)(nil), "common.ConfigModification.PersonaModification") proto.RegisterType((*ConfigClientRequest)(nil), "common.ConfigClientRequest") proto.RegisterType((*ConfigClientResponse)(nil), "common.ConfigClientResponse") } func init() { proto.RegisterFile("proto/common/v1/oauthclient.proto", fileDescriptor_e55280de4537fe26) } var fileDescriptor_e55280de4537fe26 = []byte{ // 788 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0xdf, 0x6f, 0xe3, 0x44, 0x10, 0x56, 0xe2, 0xab, 0x93, 0x8c, 0x9b, 0x1c, 0xec, 0x9d, 0xee, 0x2c, 0x03, 0xba, 0x5c, 0xee, 0x38, 0x22, 0x44, 0x6d, 0x11, 0x84, 0x40, 0x48, 0x9c, 0x28, 0x2d, 0xa0, 0x0a, 0x8a, 0x8a, 0xd3, 0xbc, 0xf0, 0x80, 0xb5, 0xf5, 0xae, 0x93, 0x15, 0xb1, 0xd7, 0xdd, 0x5d, 0x47, 0xca, 0x1b, 0x0f, 0x48, 0xfc, 0xdb, 0xc8, 0xbb, 0x9b, 0x12, 0xb7, 0x09, 0x12, 0x8a, 0x78, 0xcb, 0x7c, 0xf3, 0xcd, 0xaf, 0xfd, 0xc6, 0x13, 0x78, 0x59, 0x0a, 0xae, 0x78, 0x94, 0xf2, 0x3c, 0xe7, 0x45, 0xb4, 0xfa, 0x34, 0xe2, 0xb8, 0x52, 0x8b, 0x74, 0xc9, 0x68, 0xa1, 0x42, 0xed, 0x43, 0xae, 0x71, 0x06, 0xcf, 0xe7, 0x9c, 0xcf, 0x97, 0x34, 0x12, 0x65, 0x1a, 0x49, 0x85, 0x55, 0x25, 0x0d, 0x61, 0xf4, 0x57, 0x1b, 0xdc, 0x33, 0x1d, 0x81, 0xde, 0x83, 0x9e, 0x89, 0x4d, 0x18, 0xf1, 0x5b, 0xc3, 0xd6, 0xb8, 0x17, 0x77, 0x0d, 0x70, 0x41, 0xd0, 0x53, 0x38, 0x92, 0x29, 0x2f, 0xa9, 0x7f, 0xa4, 0x1d, 0xc6, 0x40, 0xaf, 0xa0, 0x2f, 0x28, 0x61, 0x82, 0xa6, 0x2a, 0xa9, 0x04, 0x93, 0x7e, 0x7b, 0xe8, 0x8c, 0x7b, 0xf1, 0xf1, 0x06, 0x9c, 0x09, 0x26, 0xd1, 0x0b, 0xf0, 0xe6, 0x02, 0x17, 0x2a, 0x51, 0xeb, 0x92, 0x4a, 0xdf, 0xd5, 0x14, 0xd0, 0xd0, 0x75, 0x8d, 0xa0, 0x0f, 0x61, 0x20, 0xa8, 0x2c, 0x79, 0x21, 0xa9, 0xe5, 0x74, 0x34, 0xa7, 0xbf, 0x41, 0x0d, 0xed, 0x0d, 0xb4, 0x2b, 0xe6, 0x3b, 0x43, 0x67, 0xec, 0x4d, 0x9e, 0x85, 0x66, 0xb0, 0xd0, 0xf4, 0x1e, 0xce, 0xd8, 0x77, 0x85, 0x12, 0xeb, 0xb8, 0x5d, 0xb1, 0xe0, 0x73, 0xe8, 0x58, 0x13, 0xbd, 0x03, 0xce, 0xef, 0x74, 0x6d, 0x87, 0xa9, 0x7f, 0xd6, 0x73, 0xac, 0xf0, 0xb2, 0xa2, 0x7e, 0xdb, 0xcc, 0xa1, 0x8d, 0xaf, 0xda, 0x5f, 0xb6, 0x46, 0x7f, 0x76, 0xc0, 0x33, 0xd9, 0xa6, 0x0a, 0x2b, 0x8a, 0x42, 0x70, 0x30, 0xa9, 0x1f, 0xa2, 0xae, 0xf7, 0x7e, 0xb3, 0x9e, 0x66, 0x84, 0xa7, 0x84, 0x98, 0xaa, 0x35, 0x11, 0x7d, 0x01, 0x6e, 0x55, 0x12, 0xac, 0xa8, 0x7e, 0x04, 0x6f, 0xf2, 0x62, 0x57, 0xc8, 0x4c, 0x33, 0x4c, 0x94, 0xa5, 0xa3, 0x73, 0xf0, 0xcc, 0xaf, 0x84, 0xb0, 0x2c, 0xb3, 0x03, 0xbe, 0xda, 0x1f, 0x7d, 0xce, 0xb2, 0xcc, 0x64, 0x80, 0xea, 0x0e, 0xa8, 0xcb, 0x0b, 0x9a, 0xf3, 0x15, 0xf5, 0x1f, 0xed, 0x2f, 0x1f, 0x6b, 0x86, 0x2d, 0x6f, 0xe8, 0xe8, 0x1b, 0xe8, 0x55, 0x45, 0xba, 0xc0, 0xc5, 0x9c, 0x12, 0xff, 0x48, 0xc7, 0x8e, 0x76, 0x16, 0xdf, 0x90, 0x4c, 0xf8, 0x3f, 0x41, 0xe8, 0x2d, 0xf4, 0x0a, 0x9e, 0x48, 0x9a, 0x0a, 0xaa, 0xb4, 0xbc, 0xde, 0xe4, 0xe5, 0xae, 0x0c, 0x3f, 0xf3, 0xa9, 0xe6, 0x98, 0x04, 0xdd, 0xc2, 0x9a, 0xe8, 0x23, 0x78, 0x6c, 0x82, 0x93, 0x9c, 0xc9, 0x1c, 0xab, 0x74, 0x61, 0x17, 0x60, 0x60, 0xe0, 0x4b, 0x8b, 0xa2, 0x8f, 0xc1, 0x35, 0xcb, 0xeb, 0x77, 0x87, 0xad, 0xb1, 0x37, 0x41, 0xa1, 0x59, 0xeb, 0x50, 0x94, 0x69, 0x38, 0xd5, 0x9e, 0xd8, 0x32, 0x82, 0xef, 0xa1, 0xbb, 0xd1, 0x67, 0xc7, 0x1a, 0xbc, 0xde, 0x5e, 0x03, 0x6f, 0x32, 0x68, 0xb6, 0xbb, 0xb5, 0x16, 0xc1, 0x05, 0x78, 0x5b, 0xa2, 0x1d, 0x94, 0xea, 0x6b, 0x78, 0x7c, 0x4f, 0xc1, 0xff, 0xb2, 0xa0, 0x75, 0x27, 0x5b, 0xfa, 0x1d, 0xd4, 0xc9, 0x4f, 0x30, 0x68, 0xca, 0x79, 0x50, 0xb6, 0x1f, 0xa1, 0xdf, 0x90, 0xf6, 0x90, 0x64, 0xa3, 0xdf, 0x60, 0x60, 0x41, 0xfb, 0xf1, 0xa3, 0x37, 0xe0, 0x9a, 0x33, 0xa4, 0x13, 0x3e, 0x0c, 0xb6, 0x5e, 0xf4, 0x1a, 0xfa, 0xf6, 0x7e, 0xd9, 0x55, 0x34, 0x2f, 0xd8, 0x04, 0x47, 0x7f, 0x38, 0x80, 0xce, 0x78, 0x91, 0xb1, 0xf9, 0x25, 0x27, 0x2c, 0x63, 0x29, 0x56, 0x8c, 0x17, 0x28, 0x80, 0xae, 0xa0, 0x2b, 0x26, 0x19, 0x2f, 0x74, 0x19, 0x27, 0xbe, 0xb3, 0xd1, 0x2f, 0xd0, 0x57, 0x54, 0xaa, 0xa4, 0xa4, 0x42, 0xf2, 0x02, 0x4b, 0xfb, 0x81, 0x7f, 0x72, 0xd7, 0xc7, 0x83, 0x74, 0xe1, 0x35, 0x95, 0xea, 0xca, 0xd2, 0xcd, 0xba, 0x1f, 0xab, 0x2d, 0x08, 0x3d, 0x87, 0x0e, 0x11, 0xeb, 0x44, 0x54, 0x85, 0xef, 0x0c, 0x5b, 0xe3, 0x6e, 0xec, 0x12, 0xb1, 0x8e, 0xab, 0x22, 0xb8, 0x85, 0x27, 0x96, 0xd4, 0x68, 0xef, 0x19, 0xb8, 0x38, 0x4d, 0xa9, 0x94, 0xfa, 0x1e, 0xf5, 0x62, 0x6b, 0xa1, 0x0f, 0x00, 0x30, 0x21, 0x89, 0xf5, 0x99, 0xeb, 0xdb, 0xc3, 0x84, 0x9c, 0x1a, 0xb7, 0xbe, 0xcf, 0xf5, 0xca, 0x6c, 0x18, 0xce, 0xe6, 0x3e, 0xd7, 0xa0, 0x21, 0x05, 0x1c, 0xde, 0x7d, 0xd0, 0xee, 0x0e, 0x09, 0xcf, 0x9b, 0x12, 0x86, 0xff, 0x32, 0xfd, 0x8e, 0x09, 0xb6, 0x25, 0x5e, 0xc3, 0x13, 0x13, 0xb4, 0x11, 0xfa, 0xb6, 0xa2, 0x52, 0xa1, 0x11, 0x3c, 0x62, 0x8a, 0xe6, 0x7b, 0x54, 0xd6, 0x3e, 0xf4, 0x16, 0x8e, 0xf3, 0xad, 0xac, 0xb6, 0x97, 0x60, 0x7f, 0x2f, 0x71, 0x83, 0x3f, 0x22, 0xf0, 0xb4, 0x59, 0xfa, 0xff, 0xd8, 0xb1, 0x6f, 0x67, 0xbf, 0x4e, 0xe7, 0x4c, 0x2d, 0xaa, 0x9b, 0x3a, 0x4b, 0xf4, 0x83, 0xbe, 0x51, 0x67, 0x4b, 0x5e, 0x91, 0xab, 0x25, 0x56, 0x19, 0x17, 0x79, 0xb4, 0xa0, 0x78, 0xa9, 0x16, 0x29, 0x16, 0xf4, 0x24, 0xa3, 0x84, 0x0a, 0xac, 0x28, 0x39, 0x31, 0x1a, 0x9d, 0x48, 0x2a, 0x56, 0x2c, 0xa5, 0x32, 0xba, 0xf7, 0xf7, 0x7e, 0xe3, 0x6a, 0xe0, 0xb3, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x08, 0x2b, 0xc9, 0x68, 0xf8, 0x07, 0x00, 0x00, }