github.com/hyperledger/fabric-protos-go@v0.3.3/msp/msp_principal.pb.go (about) 1 // Code generated by protoc-gen-go. DO NOT EDIT. 2 // source: msp/msp_principal.proto 3 4 package msp 5 6 import ( 7 fmt "fmt" 8 proto "github.com/golang/protobuf/proto" 9 math "math" 10 ) 11 12 // Reference imports to suppress errors if they are not otherwise used. 13 var _ = proto.Marshal 14 var _ = fmt.Errorf 15 var _ = math.Inf 16 17 // This is a compile-time assertion to ensure that this generated file 18 // is compatible with the proto package it is being compiled against. 19 // A compilation error at this line likely means your copy of the 20 // proto package needs to be updated. 21 const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package 22 23 type MSPPrincipal_Classification int32 24 25 const ( 26 MSPPrincipal_ROLE MSPPrincipal_Classification = 0 27 // one of a member of MSP network, and the one of an 28 // administrator of an MSP network 29 MSPPrincipal_ORGANIZATION_UNIT MSPPrincipal_Classification = 1 30 // groupping of entities, per MSP affiliation 31 // E.g., this can well be represented by an MSP's 32 // Organization unit 33 MSPPrincipal_IDENTITY MSPPrincipal_Classification = 2 34 // identity 35 MSPPrincipal_ANONYMITY MSPPrincipal_Classification = 3 36 // an identity to be anonymous or nominal. 37 MSPPrincipal_COMBINED MSPPrincipal_Classification = 4 38 ) 39 40 var MSPPrincipal_Classification_name = map[int32]string{ 41 0: "ROLE", 42 1: "ORGANIZATION_UNIT", 43 2: "IDENTITY", 44 3: "ANONYMITY", 45 4: "COMBINED", 46 } 47 48 var MSPPrincipal_Classification_value = map[string]int32{ 49 "ROLE": 0, 50 "ORGANIZATION_UNIT": 1, 51 "IDENTITY": 2, 52 "ANONYMITY": 3, 53 "COMBINED": 4, 54 } 55 56 func (x MSPPrincipal_Classification) String() string { 57 return proto.EnumName(MSPPrincipal_Classification_name, int32(x)) 58 } 59 60 func (MSPPrincipal_Classification) EnumDescriptor() ([]byte, []int) { 61 return fileDescriptor_82e08b7ead29bd48, []int{0, 0} 62 } 63 64 type MSPRole_MSPRoleType int32 65 66 const ( 67 MSPRole_MEMBER MSPRole_MSPRoleType = 0 68 MSPRole_ADMIN MSPRole_MSPRoleType = 1 69 MSPRole_CLIENT MSPRole_MSPRoleType = 2 70 MSPRole_PEER MSPRole_MSPRoleType = 3 71 MSPRole_ORDERER MSPRole_MSPRoleType = 4 72 ) 73 74 var MSPRole_MSPRoleType_name = map[int32]string{ 75 0: "MEMBER", 76 1: "ADMIN", 77 2: "CLIENT", 78 3: "PEER", 79 4: "ORDERER", 80 } 81 82 var MSPRole_MSPRoleType_value = map[string]int32{ 83 "MEMBER": 0, 84 "ADMIN": 1, 85 "CLIENT": 2, 86 "PEER": 3, 87 "ORDERER": 4, 88 } 89 90 func (x MSPRole_MSPRoleType) String() string { 91 return proto.EnumName(MSPRole_MSPRoleType_name, int32(x)) 92 } 93 94 func (MSPRole_MSPRoleType) EnumDescriptor() ([]byte, []int) { 95 return fileDescriptor_82e08b7ead29bd48, []int{2, 0} 96 } 97 98 type MSPIdentityAnonymity_MSPIdentityAnonymityType int32 99 100 const ( 101 MSPIdentityAnonymity_NOMINAL MSPIdentityAnonymity_MSPIdentityAnonymityType = 0 102 MSPIdentityAnonymity_ANONYMOUS MSPIdentityAnonymity_MSPIdentityAnonymityType = 1 103 ) 104 105 var MSPIdentityAnonymity_MSPIdentityAnonymityType_name = map[int32]string{ 106 0: "NOMINAL", 107 1: "ANONYMOUS", 108 } 109 110 var MSPIdentityAnonymity_MSPIdentityAnonymityType_value = map[string]int32{ 111 "NOMINAL": 0, 112 "ANONYMOUS": 1, 113 } 114 115 func (x MSPIdentityAnonymity_MSPIdentityAnonymityType) String() string { 116 return proto.EnumName(MSPIdentityAnonymity_MSPIdentityAnonymityType_name, int32(x)) 117 } 118 119 func (MSPIdentityAnonymity_MSPIdentityAnonymityType) EnumDescriptor() ([]byte, []int) { 120 return fileDescriptor_82e08b7ead29bd48, []int{3, 0} 121 } 122 123 // MSPPrincipal aims to represent an MSP-centric set of identities. 124 // In particular, this structure allows for definition of 125 // - a group of identities that are member of the same MSP 126 // - a group of identities that are member of the same organization unit 127 // in the same MSP 128 // - a group of identities that are administering a specific MSP 129 // - a specific identity 130 // 131 // Expressing these groups is done given two fields of the fields below 132 // - Classification, that defines the type of classification of identities 133 // in an MSP this principal would be defined on; Classification can take 134 // three values: 135 // (i) ByMSPRole: that represents a classification of identities within 136 // MSP based on one of the two pre-defined MSP rules, "member" and "admin" 137 // (ii) ByOrganizationUnit: that represents a classification of identities 138 // within MSP based on the organization unit an identity belongs to 139 // (iii)ByIdentity that denotes that MSPPrincipal is mapped to a single 140 // identity/certificate; this would mean that the Principal bytes 141 // message 142 type MSPPrincipal struct { 143 // Classification describes the way that one should process 144 // Principal. An Classification value of "ByOrganizationUnit" reflects 145 // that "Principal" contains the name of an organization this MSP 146 // handles. A Classification value "ByIdentity" means that 147 // "Principal" contains a specific identity. Default value 148 // denotes that Principal contains one of the groups by 149 // default supported by all MSPs ("admin" or "member"). 150 PrincipalClassification MSPPrincipal_Classification `protobuf:"varint,1,opt,name=principal_classification,json=principalClassification,proto3,enum=common.MSPPrincipal_Classification" json:"principal_classification,omitempty"` 151 // Principal completes the policy principal definition. For the default 152 // principal types, Principal can be either "Admin" or "Member". 153 // For the ByOrganizationUnit/ByIdentity values of Classification, 154 // PolicyPrincipal acquires its value from an organization unit or 155 // identity, respectively. 156 // For the Combined Classification type, the Principal is a marshalled 157 // CombinedPrincipal. 158 Principal []byte `protobuf:"bytes,2,opt,name=principal,proto3" json:"principal,omitempty"` 159 XXX_NoUnkeyedLiteral struct{} `json:"-"` 160 XXX_unrecognized []byte `json:"-"` 161 XXX_sizecache int32 `json:"-"` 162 } 163 164 func (m *MSPPrincipal) Reset() { *m = MSPPrincipal{} } 165 func (m *MSPPrincipal) String() string { return proto.CompactTextString(m) } 166 func (*MSPPrincipal) ProtoMessage() {} 167 func (*MSPPrincipal) Descriptor() ([]byte, []int) { 168 return fileDescriptor_82e08b7ead29bd48, []int{0} 169 } 170 171 func (m *MSPPrincipal) XXX_Unmarshal(b []byte) error { 172 return xxx_messageInfo_MSPPrincipal.Unmarshal(m, b) 173 } 174 func (m *MSPPrincipal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 175 return xxx_messageInfo_MSPPrincipal.Marshal(b, m, deterministic) 176 } 177 func (m *MSPPrincipal) XXX_Merge(src proto.Message) { 178 xxx_messageInfo_MSPPrincipal.Merge(m, src) 179 } 180 func (m *MSPPrincipal) XXX_Size() int { 181 return xxx_messageInfo_MSPPrincipal.Size(m) 182 } 183 func (m *MSPPrincipal) XXX_DiscardUnknown() { 184 xxx_messageInfo_MSPPrincipal.DiscardUnknown(m) 185 } 186 187 var xxx_messageInfo_MSPPrincipal proto.InternalMessageInfo 188 189 func (m *MSPPrincipal) GetPrincipalClassification() MSPPrincipal_Classification { 190 if m != nil { 191 return m.PrincipalClassification 192 } 193 return MSPPrincipal_ROLE 194 } 195 196 func (m *MSPPrincipal) GetPrincipal() []byte { 197 if m != nil { 198 return m.Principal 199 } 200 return nil 201 } 202 203 // OrganizationUnit governs the organization of the Principal 204 // field of a policy principal when a specific organization unity members 205 // are to be defined within a policy principal. 206 type OrganizationUnit struct { 207 // MSPIdentifier represents the identifier of the MSP this organization unit 208 // refers to 209 MspIdentifier string `protobuf:"bytes,1,opt,name=msp_identifier,json=mspIdentifier,proto3" json:"msp_identifier,omitempty"` 210 // OrganizationUnitIdentifier defines the organizational unit under the 211 // MSP identified with MSPIdentifier 212 OrganizationalUnitIdentifier string `protobuf:"bytes,2,opt,name=organizational_unit_identifier,json=organizationalUnitIdentifier,proto3" json:"organizational_unit_identifier,omitempty"` 213 // CertifiersIdentifier is the hash of certificates chain of trust 214 // related to this organizational unit 215 CertifiersIdentifier []byte `protobuf:"bytes,3,opt,name=certifiers_identifier,json=certifiersIdentifier,proto3" json:"certifiers_identifier,omitempty"` 216 XXX_NoUnkeyedLiteral struct{} `json:"-"` 217 XXX_unrecognized []byte `json:"-"` 218 XXX_sizecache int32 `json:"-"` 219 } 220 221 func (m *OrganizationUnit) Reset() { *m = OrganizationUnit{} } 222 func (m *OrganizationUnit) String() string { return proto.CompactTextString(m) } 223 func (*OrganizationUnit) ProtoMessage() {} 224 func (*OrganizationUnit) Descriptor() ([]byte, []int) { 225 return fileDescriptor_82e08b7ead29bd48, []int{1} 226 } 227 228 func (m *OrganizationUnit) XXX_Unmarshal(b []byte) error { 229 return xxx_messageInfo_OrganizationUnit.Unmarshal(m, b) 230 } 231 func (m *OrganizationUnit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 232 return xxx_messageInfo_OrganizationUnit.Marshal(b, m, deterministic) 233 } 234 func (m *OrganizationUnit) XXX_Merge(src proto.Message) { 235 xxx_messageInfo_OrganizationUnit.Merge(m, src) 236 } 237 func (m *OrganizationUnit) XXX_Size() int { 238 return xxx_messageInfo_OrganizationUnit.Size(m) 239 } 240 func (m *OrganizationUnit) XXX_DiscardUnknown() { 241 xxx_messageInfo_OrganizationUnit.DiscardUnknown(m) 242 } 243 244 var xxx_messageInfo_OrganizationUnit proto.InternalMessageInfo 245 246 func (m *OrganizationUnit) GetMspIdentifier() string { 247 if m != nil { 248 return m.MspIdentifier 249 } 250 return "" 251 } 252 253 func (m *OrganizationUnit) GetOrganizationalUnitIdentifier() string { 254 if m != nil { 255 return m.OrganizationalUnitIdentifier 256 } 257 return "" 258 } 259 260 func (m *OrganizationUnit) GetCertifiersIdentifier() []byte { 261 if m != nil { 262 return m.CertifiersIdentifier 263 } 264 return nil 265 } 266 267 // MSPRole governs the organization of the Principal 268 // field of an MSPPrincipal when it aims to define one of the 269 // two dedicated roles within an MSP: Admin and Members. 270 type MSPRole struct { 271 // MSPIdentifier represents the identifier of the MSP this principal 272 // refers to 273 MspIdentifier string `protobuf:"bytes,1,opt,name=msp_identifier,json=mspIdentifier,proto3" json:"msp_identifier,omitempty"` 274 // MSPRoleType defines which of the available, pre-defined MSP-roles 275 // an identiy should posess inside the MSP with identifier MSPidentifier 276 Role MSPRole_MSPRoleType `protobuf:"varint,2,opt,name=role,proto3,enum=common.MSPRole_MSPRoleType" json:"role,omitempty"` 277 XXX_NoUnkeyedLiteral struct{} `json:"-"` 278 XXX_unrecognized []byte `json:"-"` 279 XXX_sizecache int32 `json:"-"` 280 } 281 282 func (m *MSPRole) Reset() { *m = MSPRole{} } 283 func (m *MSPRole) String() string { return proto.CompactTextString(m) } 284 func (*MSPRole) ProtoMessage() {} 285 func (*MSPRole) Descriptor() ([]byte, []int) { 286 return fileDescriptor_82e08b7ead29bd48, []int{2} 287 } 288 289 func (m *MSPRole) XXX_Unmarshal(b []byte) error { 290 return xxx_messageInfo_MSPRole.Unmarshal(m, b) 291 } 292 func (m *MSPRole) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 293 return xxx_messageInfo_MSPRole.Marshal(b, m, deterministic) 294 } 295 func (m *MSPRole) XXX_Merge(src proto.Message) { 296 xxx_messageInfo_MSPRole.Merge(m, src) 297 } 298 func (m *MSPRole) XXX_Size() int { 299 return xxx_messageInfo_MSPRole.Size(m) 300 } 301 func (m *MSPRole) XXX_DiscardUnknown() { 302 xxx_messageInfo_MSPRole.DiscardUnknown(m) 303 } 304 305 var xxx_messageInfo_MSPRole proto.InternalMessageInfo 306 307 func (m *MSPRole) GetMspIdentifier() string { 308 if m != nil { 309 return m.MspIdentifier 310 } 311 return "" 312 } 313 314 func (m *MSPRole) GetRole() MSPRole_MSPRoleType { 315 if m != nil { 316 return m.Role 317 } 318 return MSPRole_MEMBER 319 } 320 321 // MSPIdentityAnonymity can be used to enforce an identity to be anonymous or nominal. 322 type MSPIdentityAnonymity struct { 323 AnonymityType MSPIdentityAnonymity_MSPIdentityAnonymityType `protobuf:"varint,1,opt,name=anonymity_type,json=anonymityType,proto3,enum=common.MSPIdentityAnonymity_MSPIdentityAnonymityType" json:"anonymity_type,omitempty"` 324 XXX_NoUnkeyedLiteral struct{} `json:"-"` 325 XXX_unrecognized []byte `json:"-"` 326 XXX_sizecache int32 `json:"-"` 327 } 328 329 func (m *MSPIdentityAnonymity) Reset() { *m = MSPIdentityAnonymity{} } 330 func (m *MSPIdentityAnonymity) String() string { return proto.CompactTextString(m) } 331 func (*MSPIdentityAnonymity) ProtoMessage() {} 332 func (*MSPIdentityAnonymity) Descriptor() ([]byte, []int) { 333 return fileDescriptor_82e08b7ead29bd48, []int{3} 334 } 335 336 func (m *MSPIdentityAnonymity) XXX_Unmarshal(b []byte) error { 337 return xxx_messageInfo_MSPIdentityAnonymity.Unmarshal(m, b) 338 } 339 func (m *MSPIdentityAnonymity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 340 return xxx_messageInfo_MSPIdentityAnonymity.Marshal(b, m, deterministic) 341 } 342 func (m *MSPIdentityAnonymity) XXX_Merge(src proto.Message) { 343 xxx_messageInfo_MSPIdentityAnonymity.Merge(m, src) 344 } 345 func (m *MSPIdentityAnonymity) XXX_Size() int { 346 return xxx_messageInfo_MSPIdentityAnonymity.Size(m) 347 } 348 func (m *MSPIdentityAnonymity) XXX_DiscardUnknown() { 349 xxx_messageInfo_MSPIdentityAnonymity.DiscardUnknown(m) 350 } 351 352 var xxx_messageInfo_MSPIdentityAnonymity proto.InternalMessageInfo 353 354 func (m *MSPIdentityAnonymity) GetAnonymityType() MSPIdentityAnonymity_MSPIdentityAnonymityType { 355 if m != nil { 356 return m.AnonymityType 357 } 358 return MSPIdentityAnonymity_NOMINAL 359 } 360 361 // CombinedPrincipal governs the organization of the Principal 362 // field of a policy principal when principal_classification has 363 // indicated that a combined form of principals is required 364 type CombinedPrincipal struct { 365 // Principals refer to combined principals 366 Principals []*MSPPrincipal `protobuf:"bytes,1,rep,name=principals,proto3" json:"principals,omitempty"` 367 XXX_NoUnkeyedLiteral struct{} `json:"-"` 368 XXX_unrecognized []byte `json:"-"` 369 XXX_sizecache int32 `json:"-"` 370 } 371 372 func (m *CombinedPrincipal) Reset() { *m = CombinedPrincipal{} } 373 func (m *CombinedPrincipal) String() string { return proto.CompactTextString(m) } 374 func (*CombinedPrincipal) ProtoMessage() {} 375 func (*CombinedPrincipal) Descriptor() ([]byte, []int) { 376 return fileDescriptor_82e08b7ead29bd48, []int{4} 377 } 378 379 func (m *CombinedPrincipal) XXX_Unmarshal(b []byte) error { 380 return xxx_messageInfo_CombinedPrincipal.Unmarshal(m, b) 381 } 382 func (m *CombinedPrincipal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 383 return xxx_messageInfo_CombinedPrincipal.Marshal(b, m, deterministic) 384 } 385 func (m *CombinedPrincipal) XXX_Merge(src proto.Message) { 386 xxx_messageInfo_CombinedPrincipal.Merge(m, src) 387 } 388 func (m *CombinedPrincipal) XXX_Size() int { 389 return xxx_messageInfo_CombinedPrincipal.Size(m) 390 } 391 func (m *CombinedPrincipal) XXX_DiscardUnknown() { 392 xxx_messageInfo_CombinedPrincipal.DiscardUnknown(m) 393 } 394 395 var xxx_messageInfo_CombinedPrincipal proto.InternalMessageInfo 396 397 func (m *CombinedPrincipal) GetPrincipals() []*MSPPrincipal { 398 if m != nil { 399 return m.Principals 400 } 401 return nil 402 } 403 404 func init() { 405 proto.RegisterEnum("common.MSPPrincipal_Classification", MSPPrincipal_Classification_name, MSPPrincipal_Classification_value) 406 proto.RegisterEnum("common.MSPRole_MSPRoleType", MSPRole_MSPRoleType_name, MSPRole_MSPRoleType_value) 407 proto.RegisterEnum("common.MSPIdentityAnonymity_MSPIdentityAnonymityType", MSPIdentityAnonymity_MSPIdentityAnonymityType_name, MSPIdentityAnonymity_MSPIdentityAnonymityType_value) 408 proto.RegisterType((*MSPPrincipal)(nil), "common.MSPPrincipal") 409 proto.RegisterType((*OrganizationUnit)(nil), "common.OrganizationUnit") 410 proto.RegisterType((*MSPRole)(nil), "common.MSPRole") 411 proto.RegisterType((*MSPIdentityAnonymity)(nil), "common.MSPIdentityAnonymity") 412 proto.RegisterType((*CombinedPrincipal)(nil), "common.CombinedPrincipal") 413 } 414 415 func init() { proto.RegisterFile("msp/msp_principal.proto", fileDescriptor_82e08b7ead29bd48) } 416 417 var fileDescriptor_82e08b7ead29bd48 = []byte{ 418 // 528 bytes of a gzipped FileDescriptorProto 419 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0x5f, 0x6b, 0xdb, 0x3e, 420 0x14, 0xad, 0x93, 0xfc, 0xda, 0xe6, 0xe6, 0x0f, 0xaa, 0x48, 0x69, 0xe0, 0x57, 0x46, 0xf0, 0x36, 421 0x08, 0x8c, 0x3a, 0x90, 0x6e, 0x7b, 0x77, 0x12, 0x53, 0x0c, 0xb1, 0x1c, 0x14, 0xe7, 0xa1, 0xa5, 422 0x2c, 0x38, 0x8e, 0x92, 0x0a, 0x6c, 0xcb, 0xd8, 0xee, 0x83, 0xf7, 0x91, 0xc6, 0x1e, 0xf7, 0xa9, 423 0xf6, 0x29, 0x86, 0xed, 0x26, 0x51, 0xb6, 0x0e, 0xf6, 0x64, 0xce, 0xbd, 0xe7, 0x1c, 0x1f, 0x49, 424 0xf7, 0xc2, 0x55, 0x90, 0x44, 0x83, 0x20, 0x89, 0x96, 0x51, 0xcc, 0x43, 0x8f, 0x47, 0xae, 0xaf, 425 0x45, 0xb1, 0x48, 0x05, 0x3e, 0xf5, 0x44, 0x10, 0x88, 0x50, 0xfd, 0xa9, 0x40, 0xd3, 0x9a, 0xcf, 426 0x66, 0xbb, 0x36, 0xfe, 0x02, 0xdd, 0x3d, 0x77, 0xe9, 0xf9, 0x6e, 0x92, 0xf0, 0x0d, 0xf7, 0xdc, 427 0x94, 0x8b, 0xb0, 0xab, 0xf4, 0x94, 0x7e, 0x7b, 0xf8, 0x56, 0x2b, 0xb5, 0x9a, 0xac, 0xd3, 0xc6, 428 0x47, 0x54, 0x7a, 0xb5, 0x37, 0x39, 0x6e, 0xe0, 0x6b, 0xa8, 0xef, 0x5b, 0xdd, 0x4a, 0x4f, 0xe9, 429 0x37, 0xe9, 0xa1, 0xa0, 0x3e, 0x42, 0xfb, 0x37, 0xfe, 0x39, 0xd4, 0xa8, 0x3d, 0x35, 0xd0, 0x09, 430 0xbe, 0x84, 0x0b, 0x9b, 0xde, 0xe9, 0xc4, 0x7c, 0xd0, 0x1d, 0xd3, 0x26, 0xcb, 0x05, 0x31, 0x1d, 431 0xa4, 0xe0, 0x26, 0x9c, 0x9b, 0x13, 0x83, 0x38, 0xa6, 0x73, 0x8f, 0x2a, 0xb8, 0x05, 0x75, 0x9d, 432 0xd8, 0xe4, 0xde, 0xca, 0x61, 0x35, 0x6f, 0x8e, 0x6d, 0x6b, 0x64, 0x12, 0x63, 0x82, 0x6a, 0xea, 433 0x0f, 0x05, 0x90, 0x1d, 0x6f, 0xdd, 0x90, 0x7f, 0x2d, 0xcc, 0x17, 0x21, 0x4f, 0xf1, 0x7b, 0x68, 434 0xe7, 0x17, 0xc4, 0xd7, 0x2c, 0x4c, 0xf9, 0x86, 0xb3, 0xb8, 0x38, 0x66, 0x9d, 0xb6, 0x82, 0x24, 435 0x32, 0xf7, 0x45, 0x3c, 0x81, 0x37, 0x42, 0x92, 0xba, 0xfe, 0xf2, 0x39, 0xe4, 0xa9, 0x2c, 0xab, 436 0x14, 0xb2, 0xeb, 0x63, 0x56, 0xfe, 0x0b, 0xc9, 0xe5, 0x16, 0x2e, 0x3d, 0x16, 0x97, 0x20, 0x91, 437 0xc5, 0xd5, 0xe2, 0x26, 0x3a, 0x87, 0xe6, 0x41, 0xa4, 0x7e, 0x53, 0xe0, 0xcc, 0x9a, 0xcf, 0xa8, 438 0xf0, 0xd9, 0xbf, 0xa6, 0x1d, 0x40, 0x2d, 0x16, 0x3e, 0x2b, 0x32, 0xb5, 0x87, 0xff, 0x4b, 0x2f, 439 0x96, 0xbb, 0xec, 0xbe, 0x4e, 0x16, 0x31, 0x5a, 0x10, 0xd5, 0x3b, 0x68, 0x48, 0x45, 0x0c, 0x70, 440 0x6a, 0x19, 0xd6, 0xc8, 0xa0, 0xe8, 0x04, 0xd7, 0xe1, 0x3f, 0x7d, 0x62, 0x99, 0x04, 0x29, 0x79, 441 0x79, 0x3c, 0x35, 0x0d, 0xe2, 0xa0, 0x4a, 0xfe, 0x30, 0x33, 0xc3, 0xa0, 0xa8, 0x8a, 0x1b, 0x70, 442 0x66, 0xd3, 0x89, 0x41, 0x0d, 0x8a, 0x6a, 0xea, 0x77, 0x05, 0x3a, 0xd6, 0x7c, 0x56, 0x66, 0x49, 443 0x33, 0x3d, 0x14, 0x61, 0x16, 0xf0, 0x34, 0xc3, 0x8f, 0xd0, 0x76, 0x77, 0x60, 0x99, 0x66, 0x11, 444 0x7b, 0x19, 0xa7, 0x4f, 0x52, 0xb8, 0x3f, 0x54, 0xaf, 0x16, 0x8b, 0xd8, 0x2d, 0x57, 0x86, 0xea, 445 0x67, 0xe8, 0xfe, 0x8d, 0x9a, 0xe7, 0x23, 0xb6, 0x65, 0x12, 0x7d, 0x8a, 0x4e, 0x0e, 0x03, 0x62, 446 0x2f, 0xe6, 0x48, 0x51, 0x4d, 0xb8, 0x18, 0x8b, 0x60, 0xc5, 0x43, 0xb6, 0x3e, 0xec, 0xc0, 0x47, 447 0x80, 0xfd, 0x48, 0x26, 0x5d, 0xa5, 0x57, 0xed, 0x37, 0x86, 0x9d, 0xd7, 0xa6, 0x9e, 0x4a, 0xbc, 448 0xd1, 0x1c, 0xde, 0x89, 0x78, 0xab, 0x3d, 0x65, 0x11, 0x8b, 0x7d, 0xb6, 0xde, 0xb2, 0x58, 0xdb, 449 0xb8, 0xab, 0x98, 0x7b, 0xe5, 0xca, 0x25, 0x2f, 0x06, 0x0f, 0x1f, 0xb6, 0x3c, 0x7d, 0x7a, 0x5e, 450 0xe5, 0x70, 0x20, 0x91, 0x07, 0x25, 0xf9, 0xa6, 0x24, 0xdf, 0x6c, 0x45, 0xbe, 0xb7, 0xab, 0xd3, 451 0x02, 0xde, 0xfe, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x2b, 0x94, 0x15, 0xa2, 0xc9, 0x03, 0x00, 0x00, 452 }