From 04b1598c91ce8cdaf13929dc97ec3f84cdd29bca Mon Sep 17 00:00:00 2001 From: rosstimothy <39066650+rosstimothy@users.noreply.github.com> Date: Fri, 27 Oct 2023 10:21:09 -0400 Subject: [PATCH] Emit new update events when resources are updated (#33753) Auth connectors, users, and roles have all recently had their APIs extended to support create and update but were still only emitting create events. This adds new update events and update metadata and emits them instead of the create events. --- .../teleport/legacy/types/events/events.proto | 137 +- api/types/events/events.pb.go | 3872 ++++++++++++----- api/types/events/oneof.go | 20 + lib/auth/access.go | 10 +- lib/auth/access_test.go | 16 +- lib/auth/auth_test.go | 14 +- lib/auth/auth_with_roles.go | 2 +- lib/auth/github.go | 10 +- lib/auth/oidc.go | 6 +- lib/auth/saml.go | 8 +- lib/auth/user.go | 12 +- lib/events/api.go | 20 +- lib/events/codes.go | 8 + lib/events/dynamic.go | 12 +- .../src/Audit/EventList/EventTypeCell.tsx | 4 + .../__snapshots__/Audit.story.test.tsx.snap | 496 ++- .../teleport/src/Audit/fixtures/index.ts | 82 + .../teleport/src/services/audit/makeEvent.ts | 25 +- .../teleport/src/services/audit/types.ts | 14 + 19 files changed, 3711 insertions(+), 1057 deletions(-) diff --git a/api/proto/teleport/legacy/types/events/events.proto b/api/proto/teleport/legacy/types/events/events.proto index 58e183caade..8b8f9e97a94 100644 --- a/api/proto/teleport/legacy/types/events/events.proto +++ b/api/proto/teleport/legacy/types/events/events.proto @@ -1231,7 +1231,7 @@ message ResourceMetadata { string TTL = 4 [(gogoproto.jsontag) = "ttl,omitempty"]; } -// UserCreate is emitted when the user is created or updated (upsert). +// UserCreate is emitted when the user is created or upserted. message UserCreate { // Metadata is a common event metadata Metadata Metadata = 1 [ @@ -1261,6 +1261,36 @@ message UserCreate { string Connector = 5 [(gogoproto.jsontag) = "connector"]; } +// UserUpdate is emitted when the user is updated. +message UserUpdate { + // Metadata is a common event metadata + Metadata Metadata = 1 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; + + // User is a common user event metadata + UserMetadata User = 2 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; + + // ResourceMetadata is a common resource event metadata + ResourceMetadata Resource = 3 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; + + // Roles is a list of roles for the user. + repeated string Roles = 4 [(gogoproto.jsontag) = "roles"]; + + // Connector is the connector used to create the user. + string Connector = 5 [(gogoproto.jsontag) = "connector"]; +} + // UserDelete is emitted when a user gets deleted message UserDelete { // Metadata is a common event metadata @@ -1874,6 +1904,30 @@ message RoleCreate { ]; } +// RoleUpdate is emitted when a role is updated. +message RoleUpdate { + // Metadata is a common event metadata + Metadata Metadata = 1 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; + + // ResourceMetadata is a common resource event metadata + ResourceMetadata Resource = 2 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; + + // User is a common user event metadata + UserMetadata User = 3 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; +} + // RoleDelete is emitted when a role is deleted message RoleDelete { // Metadata is a common event metadata @@ -2005,7 +2059,7 @@ message TrustedClusterTokenCreate { ]; } -// GithubConnectorCreate fires when a Github connector is created/updated. +// GithubConnectorCreate fires when a Github connector is created. message GithubConnectorCreate { // Metadata is a common event metadata Metadata Metadata = 1 [ @@ -2029,6 +2083,30 @@ message GithubConnectorCreate { ]; } +// GithubConnectorUpdate fires when a Github connector is updated. +message GithubConnectorUpdate { + // Metadata is a common event metadata + Metadata Metadata = 1 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; + + // ResourceMetadata is a common resource event metadata + ResourceMetadata Resource = 2 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; + + // User is a common user event metadata + UserMetadata User = 3 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; +} + // GithubConnectorDelete fires when a Github connector is deleted. message GithubConnectorDelete { // Metadata is a common event metadata @@ -2053,7 +2131,7 @@ message GithubConnectorDelete { ]; } -// OIDCConnectorCreate fires when OIDC connector is created/updated. +// OIDCConnectorCreate fires when OIDC connector is created. message OIDCConnectorCreate { // Metadata is a common event metadata Metadata Metadata = 1 [ @@ -2077,6 +2155,30 @@ message OIDCConnectorCreate { ]; } +// OIDCConnectorUpdate fires when OIDC connector is updated. +message OIDCConnectorUpdate { + // Metadata is a common event metadata + Metadata Metadata = 1 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; + + // ResourceMetadata is a common resource event metadata + ResourceMetadata Resource = 2 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; + + // User is a common user event metadata + UserMetadata User = 3 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; +} + // OIDCConnectorDelete fires when OIDC connector is deleted. message OIDCConnectorDelete { // Metadata is a common event metadata @@ -2125,6 +2227,30 @@ message SAMLConnectorCreate { ]; } +// SAMLConnectorUpdate fires when SAML connector is updated. +message SAMLConnectorUpdate { + // Metadata is a common event metadata + Metadata Metadata = 1 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; + + // ResourceMetadata is a common resource event metadata + ResourceMetadata Resource = 2 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; + + // User is a common user event metadata + UserMetadata User = 3 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; +} + // SAMLConnectorDelete fires when SAML connector is deleted. message SAMLConnectorDelete { // Metadata is a common event metadata @@ -3531,6 +3657,11 @@ message OneOf { events.AccessListMemberDeleteAllForAccessList AccessListMemberDeleteAllForAccessList = 133; events.AuditQueryRun AuditQueryRun = 134; events.SecurityReportRun SecurityReportRun = 135; + events.GithubConnectorUpdate GithubConnectorUpdate = 136; + events.OIDCConnectorUpdate OIDCConnectorUpdate = 137; + events.SAMLConnectorUpdate SAMLConnectorUpdate = 138; + events.RoleUpdate RoleUpdate = 139; + events.UserUpdate UserUpdate = 140; } } diff --git a/api/types/events/events.pb.go b/api/types/events/events.pb.go index 88a341b982a..7f8df64c7aa 100644 --- a/api/types/events/events.pb.go +++ b/api/types/events/events.pb.go @@ -2366,7 +2366,7 @@ func (m *ResourceMetadata) XXX_DiscardUnknown() { var xxx_messageInfo_ResourceMetadata proto.InternalMessageInfo -// UserCreate is emitted when the user is created or updated (upsert). +// UserCreate is emitted when the user is created or upserted. type UserCreate struct { // Metadata is a common event metadata Metadata `protobuf:"bytes,1,opt,name=Metadata,proto3,embedded=Metadata" json:""` @@ -2416,6 +2416,56 @@ func (m *UserCreate) XXX_DiscardUnknown() { var xxx_messageInfo_UserCreate proto.InternalMessageInfo +// UserUpdate is emitted when the user is updated. +type UserUpdate struct { + // Metadata is a common event metadata + Metadata `protobuf:"bytes,1,opt,name=Metadata,proto3,embedded=Metadata" json:""` + // User is a common user event metadata + UserMetadata `protobuf:"bytes,2,opt,name=User,proto3,embedded=User" json:""` + // ResourceMetadata is a common resource event metadata + ResourceMetadata `protobuf:"bytes,3,opt,name=Resource,proto3,embedded=Resource" json:""` + // Roles is a list of roles for the user. + Roles []string `protobuf:"bytes,4,rep,name=Roles,proto3" json:"roles"` + // Connector is the connector used to create the user. + Connector string `protobuf:"bytes,5,opt,name=Connector,proto3" json:"connector"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UserUpdate) Reset() { *m = UserUpdate{} } +func (m *UserUpdate) String() string { return proto.CompactTextString(m) } +func (*UserUpdate) ProtoMessage() {} +func (*UserUpdate) Descriptor() ([]byte, []int) { + return fileDescriptor_007ba1c3d6266d56, []int{40} +} +func (m *UserUpdate) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *UserUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_UserUpdate.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 *UserUpdate) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserUpdate.Merge(m, src) +} +func (m *UserUpdate) XXX_Size() int { + return m.Size() +} +func (m *UserUpdate) XXX_DiscardUnknown() { + xxx_messageInfo_UserUpdate.DiscardUnknown(m) +} + +var xxx_messageInfo_UserUpdate proto.InternalMessageInfo + // UserDelete is emitted when a user gets deleted type UserDelete struct { // Metadata is a common event metadata @@ -2433,7 +2483,7 @@ func (m *UserDelete) Reset() { *m = UserDelete{} } func (m *UserDelete) String() string { return proto.CompactTextString(m) } func (*UserDelete) ProtoMessage() {} func (*UserDelete) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{40} + return fileDescriptor_007ba1c3d6266d56, []int{41} } func (m *UserDelete) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2477,7 +2527,7 @@ func (m *UserPasswordChange) Reset() { *m = UserPasswordChange{} } func (m *UserPasswordChange) String() string { return proto.CompactTextString(m) } func (*UserPasswordChange) ProtoMessage() {} func (*UserPasswordChange) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{41} + return fileDescriptor_007ba1c3d6266d56, []int{42} } func (m *UserPasswordChange) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2552,7 +2602,7 @@ func (m *AccessRequestCreate) Reset() { *m = AccessRequestCreate{} } func (m *AccessRequestCreate) String() string { return proto.CompactTextString(m) } func (*AccessRequestCreate) ProtoMessage() {} func (*AccessRequestCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{42} + return fileDescriptor_007ba1c3d6266d56, []int{43} } func (m *AccessRequestCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2606,7 +2656,7 @@ func (m *ResourceID) Reset() { *m = ResourceID{} } func (m *ResourceID) String() string { return proto.CompactTextString(m) } func (*ResourceID) ProtoMessage() {} func (*ResourceID) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{43} + return fileDescriptor_007ba1c3d6266d56, []int{44} } func (m *ResourceID) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2652,7 +2702,7 @@ func (m *AccessRequestDelete) Reset() { *m = AccessRequestDelete{} } func (m *AccessRequestDelete) String() string { return proto.CompactTextString(m) } func (*AccessRequestDelete) ProtoMessage() {} func (*AccessRequestDelete) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{44} + return fileDescriptor_007ba1c3d6266d56, []int{45} } func (m *AccessRequestDelete) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2702,7 +2752,7 @@ func (m *PortForward) Reset() { *m = PortForward{} } func (m *PortForward) String() string { return proto.CompactTextString(m) } func (*PortForward) ProtoMessage() {} func (*PortForward) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{45} + return fileDescriptor_007ba1c3d6266d56, []int{46} } func (m *PortForward) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2750,7 +2800,7 @@ func (m *X11Forward) Reset() { *m = X11Forward{} } func (m *X11Forward) String() string { return proto.CompactTextString(m) } func (*X11Forward) ProtoMessage() {} func (*X11Forward) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{46} + return fileDescriptor_007ba1c3d6266d56, []int{47} } func (m *X11Forward) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2796,7 +2846,7 @@ func (m *CommandMetadata) Reset() { *m = CommandMetadata{} } func (m *CommandMetadata) String() string { return proto.CompactTextString(m) } func (*CommandMetadata) ProtoMessage() {} func (*CommandMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{47} + return fileDescriptor_007ba1c3d6266d56, []int{48} } func (m *CommandMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2853,7 +2903,7 @@ func (m *Exec) Reset() { *m = Exec{} } func (m *Exec) String() string { return proto.CompactTextString(m) } func (*Exec) ProtoMessage() {} func (*Exec) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{48} + return fileDescriptor_007ba1c3d6266d56, []int{49} } func (m *Exec) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2909,7 +2959,7 @@ func (m *SCP) Reset() { *m = SCP{} } func (m *SCP) String() string { return proto.CompactTextString(m) } func (*SCP) ProtoMessage() {} func (*SCP) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{49} + return fileDescriptor_007ba1c3d6266d56, []int{50} } func (m *SCP) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2961,7 +3011,7 @@ func (m *SFTPAttributes) Reset() { *m = SFTPAttributes{} } func (m *SFTPAttributes) String() string { return proto.CompactTextString(m) } func (*SFTPAttributes) ProtoMessage() {} func (*SFTPAttributes) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{50} + return fileDescriptor_007ba1c3d6266d56, []int{51} } func (m *SFTPAttributes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3028,7 +3078,7 @@ func (m *SFTP) Reset() { *m = SFTP{} } func (m *SFTP) String() string { return proto.CompactTextString(m) } func (*SFTP) ProtoMessage() {} func (*SFTP) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{51} + return fileDescriptor_007ba1c3d6266d56, []int{52} } func (m *SFTP) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3078,7 +3128,7 @@ func (m *Subsystem) Reset() { *m = Subsystem{} } func (m *Subsystem) String() string { return proto.CompactTextString(m) } func (*Subsystem) ProtoMessage() {} func (*Subsystem) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{52} + return fileDescriptor_007ba1c3d6266d56, []int{53} } func (m *Subsystem) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3130,7 +3180,7 @@ func (m *ClientDisconnect) Reset() { *m = ClientDisconnect{} } func (m *ClientDisconnect) String() string { return proto.CompactTextString(m) } func (*ClientDisconnect) ProtoMessage() {} func (*ClientDisconnect) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{53} + return fileDescriptor_007ba1c3d6266d56, []int{54} } func (m *ClientDisconnect) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3178,7 +3228,7 @@ func (m *AuthAttempt) Reset() { *m = AuthAttempt{} } func (m *AuthAttempt) String() string { return proto.CompactTextString(m) } func (*AuthAttempt) ProtoMessage() {} func (*AuthAttempt) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{54} + return fileDescriptor_007ba1c3d6266d56, []int{55} } func (m *AuthAttempt) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3224,7 +3274,7 @@ func (m *UserTokenCreate) Reset() { *m = UserTokenCreate{} } func (m *UserTokenCreate) String() string { return proto.CompactTextString(m) } func (*UserTokenCreate) ProtoMessage() {} func (*UserTokenCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{55} + return fileDescriptor_007ba1c3d6266d56, []int{56} } func (m *UserTokenCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3270,7 +3320,7 @@ func (m *RoleCreate) Reset() { *m = RoleCreate{} } func (m *RoleCreate) String() string { return proto.CompactTextString(m) } func (*RoleCreate) ProtoMessage() {} func (*RoleCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{56} + return fileDescriptor_007ba1c3d6266d56, []int{57} } func (m *RoleCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3299,6 +3349,52 @@ func (m *RoleCreate) XXX_DiscardUnknown() { var xxx_messageInfo_RoleCreate proto.InternalMessageInfo +// RoleUpdate is emitted when a role is updated. +type RoleUpdate struct { + // Metadata is a common event metadata + Metadata `protobuf:"bytes,1,opt,name=Metadata,proto3,embedded=Metadata" json:""` + // ResourceMetadata is a common resource event metadata + ResourceMetadata `protobuf:"bytes,2,opt,name=Resource,proto3,embedded=Resource" json:""` + // User is a common user event metadata + UserMetadata `protobuf:"bytes,3,opt,name=User,proto3,embedded=User" json:""` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RoleUpdate) Reset() { *m = RoleUpdate{} } +func (m *RoleUpdate) String() string { return proto.CompactTextString(m) } +func (*RoleUpdate) ProtoMessage() {} +func (*RoleUpdate) Descriptor() ([]byte, []int) { + return fileDescriptor_007ba1c3d6266d56, []int{58} +} +func (m *RoleUpdate) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RoleUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RoleUpdate.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 *RoleUpdate) XXX_Merge(src proto.Message) { + xxx_messageInfo_RoleUpdate.Merge(m, src) +} +func (m *RoleUpdate) XXX_Size() int { + return m.Size() +} +func (m *RoleUpdate) XXX_DiscardUnknown() { + xxx_messageInfo_RoleUpdate.DiscardUnknown(m) +} + +var xxx_messageInfo_RoleUpdate proto.InternalMessageInfo + // RoleDelete is emitted when a role is deleted type RoleDelete struct { // Metadata is a common event metadata @@ -3316,7 +3412,7 @@ func (m *RoleDelete) Reset() { *m = RoleDelete{} } func (m *RoleDelete) String() string { return proto.CompactTextString(m) } func (*RoleDelete) ProtoMessage() {} func (*RoleDelete) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{57} + return fileDescriptor_007ba1c3d6266d56, []int{59} } func (m *RoleDelete) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3362,7 +3458,7 @@ func (m *TrustedClusterCreate) Reset() { *m = TrustedClusterCreate{} } func (m *TrustedClusterCreate) String() string { return proto.CompactTextString(m) } func (*TrustedClusterCreate) ProtoMessage() {} func (*TrustedClusterCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{58} + return fileDescriptor_007ba1c3d6266d56, []int{60} } func (m *TrustedClusterCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3408,7 +3504,7 @@ func (m *TrustedClusterDelete) Reset() { *m = TrustedClusterDelete{} } func (m *TrustedClusterDelete) String() string { return proto.CompactTextString(m) } func (*TrustedClusterDelete) ProtoMessage() {} func (*TrustedClusterDelete) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{59} + return fileDescriptor_007ba1c3d6266d56, []int{61} } func (m *TrustedClusterDelete) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3454,7 +3550,7 @@ func (m *ProvisionTokenCreate) Reset() { *m = ProvisionTokenCreate{} } func (m *ProvisionTokenCreate) String() string { return proto.CompactTextString(m) } func (*ProvisionTokenCreate) ProtoMessage() {} func (*ProvisionTokenCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{60} + return fileDescriptor_007ba1c3d6266d56, []int{62} } func (m *ProvisionTokenCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3503,7 +3599,7 @@ func (m *TrustedClusterTokenCreate) Reset() { *m = TrustedClusterTokenCr func (m *TrustedClusterTokenCreate) String() string { return proto.CompactTextString(m) } func (*TrustedClusterTokenCreate) ProtoMessage() {} func (*TrustedClusterTokenCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{61} + return fileDescriptor_007ba1c3d6266d56, []int{63} } func (m *TrustedClusterTokenCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3532,7 +3628,7 @@ func (m *TrustedClusterTokenCreate) XXX_DiscardUnknown() { var xxx_messageInfo_TrustedClusterTokenCreate proto.InternalMessageInfo -// GithubConnectorCreate fires when a Github connector is created/updated. +// GithubConnectorCreate fires when a Github connector is created. type GithubConnectorCreate struct { // Metadata is a common event metadata Metadata `protobuf:"bytes,1,opt,name=Metadata,proto3,embedded=Metadata" json:""` @@ -3549,7 +3645,7 @@ func (m *GithubConnectorCreate) Reset() { *m = GithubConnectorCreate{} } func (m *GithubConnectorCreate) String() string { return proto.CompactTextString(m) } func (*GithubConnectorCreate) ProtoMessage() {} func (*GithubConnectorCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{62} + return fileDescriptor_007ba1c3d6266d56, []int{64} } func (m *GithubConnectorCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3578,6 +3674,52 @@ func (m *GithubConnectorCreate) XXX_DiscardUnknown() { var xxx_messageInfo_GithubConnectorCreate proto.InternalMessageInfo +// GithubConnectorUpdate fires when a Github connector is updated. +type GithubConnectorUpdate struct { + // Metadata is a common event metadata + Metadata `protobuf:"bytes,1,opt,name=Metadata,proto3,embedded=Metadata" json:""` + // ResourceMetadata is a common resource event metadata + ResourceMetadata `protobuf:"bytes,2,opt,name=Resource,proto3,embedded=Resource" json:""` + // User is a common user event metadata + UserMetadata `protobuf:"bytes,3,opt,name=User,proto3,embedded=User" json:""` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GithubConnectorUpdate) Reset() { *m = GithubConnectorUpdate{} } +func (m *GithubConnectorUpdate) String() string { return proto.CompactTextString(m) } +func (*GithubConnectorUpdate) ProtoMessage() {} +func (*GithubConnectorUpdate) Descriptor() ([]byte, []int) { + return fileDescriptor_007ba1c3d6266d56, []int{65} +} +func (m *GithubConnectorUpdate) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *GithubConnectorUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_GithubConnectorUpdate.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 *GithubConnectorUpdate) XXX_Merge(src proto.Message) { + xxx_messageInfo_GithubConnectorUpdate.Merge(m, src) +} +func (m *GithubConnectorUpdate) XXX_Size() int { + return m.Size() +} +func (m *GithubConnectorUpdate) XXX_DiscardUnknown() { + xxx_messageInfo_GithubConnectorUpdate.DiscardUnknown(m) +} + +var xxx_messageInfo_GithubConnectorUpdate proto.InternalMessageInfo + // GithubConnectorDelete fires when a Github connector is deleted. type GithubConnectorDelete struct { // Metadata is a common event metadata @@ -3595,7 +3737,7 @@ func (m *GithubConnectorDelete) Reset() { *m = GithubConnectorDelete{} } func (m *GithubConnectorDelete) String() string { return proto.CompactTextString(m) } func (*GithubConnectorDelete) ProtoMessage() {} func (*GithubConnectorDelete) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{63} + return fileDescriptor_007ba1c3d6266d56, []int{66} } func (m *GithubConnectorDelete) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3624,7 +3766,7 @@ func (m *GithubConnectorDelete) XXX_DiscardUnknown() { var xxx_messageInfo_GithubConnectorDelete proto.InternalMessageInfo -// OIDCConnectorCreate fires when OIDC connector is created/updated. +// OIDCConnectorCreate fires when OIDC connector is created. type OIDCConnectorCreate struct { // Metadata is a common event metadata Metadata `protobuf:"bytes,1,opt,name=Metadata,proto3,embedded=Metadata" json:""` @@ -3641,7 +3783,7 @@ func (m *OIDCConnectorCreate) Reset() { *m = OIDCConnectorCreate{} } func (m *OIDCConnectorCreate) String() string { return proto.CompactTextString(m) } func (*OIDCConnectorCreate) ProtoMessage() {} func (*OIDCConnectorCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{64} + return fileDescriptor_007ba1c3d6266d56, []int{67} } func (m *OIDCConnectorCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3670,6 +3812,52 @@ func (m *OIDCConnectorCreate) XXX_DiscardUnknown() { var xxx_messageInfo_OIDCConnectorCreate proto.InternalMessageInfo +// OIDCConnectorUpdate fires when OIDC connector is updated. +type OIDCConnectorUpdate struct { + // Metadata is a common event metadata + Metadata `protobuf:"bytes,1,opt,name=Metadata,proto3,embedded=Metadata" json:""` + // ResourceMetadata is a common resource event metadata + ResourceMetadata `protobuf:"bytes,2,opt,name=Resource,proto3,embedded=Resource" json:""` + // User is a common user event metadata + UserMetadata `protobuf:"bytes,3,opt,name=User,proto3,embedded=User" json:""` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OIDCConnectorUpdate) Reset() { *m = OIDCConnectorUpdate{} } +func (m *OIDCConnectorUpdate) String() string { return proto.CompactTextString(m) } +func (*OIDCConnectorUpdate) ProtoMessage() {} +func (*OIDCConnectorUpdate) Descriptor() ([]byte, []int) { + return fileDescriptor_007ba1c3d6266d56, []int{68} +} +func (m *OIDCConnectorUpdate) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *OIDCConnectorUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_OIDCConnectorUpdate.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 *OIDCConnectorUpdate) XXX_Merge(src proto.Message) { + xxx_messageInfo_OIDCConnectorUpdate.Merge(m, src) +} +func (m *OIDCConnectorUpdate) XXX_Size() int { + return m.Size() +} +func (m *OIDCConnectorUpdate) XXX_DiscardUnknown() { + xxx_messageInfo_OIDCConnectorUpdate.DiscardUnknown(m) +} + +var xxx_messageInfo_OIDCConnectorUpdate proto.InternalMessageInfo + // OIDCConnectorDelete fires when OIDC connector is deleted. type OIDCConnectorDelete struct { // Metadata is a common event metadata @@ -3687,7 +3875,7 @@ func (m *OIDCConnectorDelete) Reset() { *m = OIDCConnectorDelete{} } func (m *OIDCConnectorDelete) String() string { return proto.CompactTextString(m) } func (*OIDCConnectorDelete) ProtoMessage() {} func (*OIDCConnectorDelete) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{65} + return fileDescriptor_007ba1c3d6266d56, []int{69} } func (m *OIDCConnectorDelete) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3733,7 +3921,7 @@ func (m *SAMLConnectorCreate) Reset() { *m = SAMLConnectorCreate{} } func (m *SAMLConnectorCreate) String() string { return proto.CompactTextString(m) } func (*SAMLConnectorCreate) ProtoMessage() {} func (*SAMLConnectorCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{66} + return fileDescriptor_007ba1c3d6266d56, []int{70} } func (m *SAMLConnectorCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3762,6 +3950,52 @@ func (m *SAMLConnectorCreate) XXX_DiscardUnknown() { var xxx_messageInfo_SAMLConnectorCreate proto.InternalMessageInfo +// SAMLConnectorUpdate fires when SAML connector is updated. +type SAMLConnectorUpdate struct { + // Metadata is a common event metadata + Metadata `protobuf:"bytes,1,opt,name=Metadata,proto3,embedded=Metadata" json:""` + // ResourceMetadata is a common resource event metadata + ResourceMetadata `protobuf:"bytes,2,opt,name=Resource,proto3,embedded=Resource" json:""` + // User is a common user event metadata + UserMetadata `protobuf:"bytes,3,opt,name=User,proto3,embedded=User" json:""` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SAMLConnectorUpdate) Reset() { *m = SAMLConnectorUpdate{} } +func (m *SAMLConnectorUpdate) String() string { return proto.CompactTextString(m) } +func (*SAMLConnectorUpdate) ProtoMessage() {} +func (*SAMLConnectorUpdate) Descriptor() ([]byte, []int) { + return fileDescriptor_007ba1c3d6266d56, []int{71} +} +func (m *SAMLConnectorUpdate) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *SAMLConnectorUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_SAMLConnectorUpdate.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 *SAMLConnectorUpdate) XXX_Merge(src proto.Message) { + xxx_messageInfo_SAMLConnectorUpdate.Merge(m, src) +} +func (m *SAMLConnectorUpdate) XXX_Size() int { + return m.Size() +} +func (m *SAMLConnectorUpdate) XXX_DiscardUnknown() { + xxx_messageInfo_SAMLConnectorUpdate.DiscardUnknown(m) +} + +var xxx_messageInfo_SAMLConnectorUpdate proto.InternalMessageInfo + // SAMLConnectorDelete fires when SAML connector is deleted. type SAMLConnectorDelete struct { // Metadata is a common event metadata @@ -3779,7 +4013,7 @@ func (m *SAMLConnectorDelete) Reset() { *m = SAMLConnectorDelete{} } func (m *SAMLConnectorDelete) String() string { return proto.CompactTextString(m) } func (*SAMLConnectorDelete) ProtoMessage() {} func (*SAMLConnectorDelete) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{67} + return fileDescriptor_007ba1c3d6266d56, []int{72} } func (m *SAMLConnectorDelete) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3845,7 +4079,7 @@ func (m *KubeRequest) Reset() { *m = KubeRequest{} } func (m *KubeRequest) String() string { return proto.CompactTextString(m) } func (*KubeRequest) ProtoMessage() {} func (*KubeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{68} + return fileDescriptor_007ba1c3d6266d56, []int{73} } func (m *KubeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3893,7 +4127,7 @@ func (m *AppMetadata) Reset() { *m = AppMetadata{} } func (m *AppMetadata) String() string { return proto.CompactTextString(m) } func (*AppMetadata) ProtoMessage() {} func (*AppMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{69} + return fileDescriptor_007ba1c3d6266d56, []int{74} } func (m *AppMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3941,7 +4175,7 @@ func (m *AppCreate) Reset() { *m = AppCreate{} } func (m *AppCreate) String() string { return proto.CompactTextString(m) } func (*AppCreate) ProtoMessage() {} func (*AppCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{70} + return fileDescriptor_007ba1c3d6266d56, []int{75} } func (m *AppCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3989,7 +4223,7 @@ func (m *AppUpdate) Reset() { *m = AppUpdate{} } func (m *AppUpdate) String() string { return proto.CompactTextString(m) } func (*AppUpdate) ProtoMessage() {} func (*AppUpdate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{71} + return fileDescriptor_007ba1c3d6266d56, []int{76} } func (m *AppUpdate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4035,7 +4269,7 @@ func (m *AppDelete) Reset() { *m = AppDelete{} } func (m *AppDelete) String() string { return proto.CompactTextString(m) } func (*AppDelete) ProtoMessage() {} func (*AppDelete) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{72} + return fileDescriptor_007ba1c3d6266d56, []int{77} } func (m *AppDelete) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4090,7 +4324,7 @@ func (m *AppSessionStart) Reset() { *m = AppSessionStart{} } func (m *AppSessionStart) String() string { return proto.CompactTextString(m) } func (*AppSessionStart) ProtoMessage() {} func (*AppSessionStart) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{73} + return fileDescriptor_007ba1c3d6266d56, []int{78} } func (m *AppSessionStart) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4142,7 +4376,7 @@ func (m *AppSessionEnd) Reset() { *m = AppSessionEnd{} } func (m *AppSessionEnd) String() string { return proto.CompactTextString(m) } func (*AppSessionEnd) ProtoMessage() {} func (*AppSessionEnd) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{74} + return fileDescriptor_007ba1c3d6266d56, []int{79} } func (m *AppSessionEnd) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4199,7 +4433,7 @@ func (m *AppSessionChunk) Reset() { *m = AppSessionChunk{} } func (m *AppSessionChunk) String() string { return proto.CompactTextString(m) } func (*AppSessionChunk) ProtoMessage() {} func (*AppSessionChunk) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{75} + return fileDescriptor_007ba1c3d6266d56, []int{80} } func (m *AppSessionChunk) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4253,7 +4487,7 @@ func (m *AppSessionRequest) Reset() { *m = AppSessionRequest{} } func (m *AppSessionRequest) String() string { return proto.CompactTextString(m) } func (*AppSessionRequest) ProtoMessage() {} func (*AppSessionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{76} + return fileDescriptor_007ba1c3d6266d56, []int{81} } func (m *AppSessionRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4301,7 +4535,7 @@ func (m *AWSRequestMetadata) Reset() { *m = AWSRequestMetadata{} } func (m *AWSRequestMetadata) String() string { return proto.CompactTextString(m) } func (*AWSRequestMetadata) ProtoMessage() {} func (*AWSRequestMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{77} + return fileDescriptor_007ba1c3d6266d56, []int{82} } func (m *AWSRequestMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4367,7 +4601,7 @@ func (m *DatabaseMetadata) Reset() { *m = DatabaseMetadata{} } func (m *DatabaseMetadata) String() string { return proto.CompactTextString(m) } func (*DatabaseMetadata) ProtoMessage() {} func (*DatabaseMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{78} + return fileDescriptor_007ba1c3d6266d56, []int{83} } func (m *DatabaseMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4415,7 +4649,7 @@ func (m *DatabaseCreate) Reset() { *m = DatabaseCreate{} } func (m *DatabaseCreate) String() string { return proto.CompactTextString(m) } func (*DatabaseCreate) ProtoMessage() {} func (*DatabaseCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{79} + return fileDescriptor_007ba1c3d6266d56, []int{84} } func (m *DatabaseCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4463,7 +4697,7 @@ func (m *DatabaseUpdate) Reset() { *m = DatabaseUpdate{} } func (m *DatabaseUpdate) String() string { return proto.CompactTextString(m) } func (*DatabaseUpdate) ProtoMessage() {} func (*DatabaseUpdate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{80} + return fileDescriptor_007ba1c3d6266d56, []int{85} } func (m *DatabaseUpdate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4509,7 +4743,7 @@ func (m *DatabaseDelete) Reset() { *m = DatabaseDelete{} } func (m *DatabaseDelete) String() string { return proto.CompactTextString(m) } func (*DatabaseDelete) ProtoMessage() {} func (*DatabaseDelete) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{81} + return fileDescriptor_007ba1c3d6266d56, []int{86} } func (m *DatabaseDelete) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4563,7 +4797,7 @@ func (m *DatabaseSessionStart) Reset() { *m = DatabaseSessionStart{} } func (m *DatabaseSessionStart) String() string { return proto.CompactTextString(m) } func (*DatabaseSessionStart) ProtoMessage() {} func (*DatabaseSessionStart) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{82} + return fileDescriptor_007ba1c3d6266d56, []int{87} } func (m *DatabaseSessionStart) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4617,7 +4851,7 @@ func (m *DatabaseSessionQuery) Reset() { *m = DatabaseSessionQuery{} } func (m *DatabaseSessionQuery) String() string { return proto.CompactTextString(m) } func (*DatabaseSessionQuery) ProtoMessage() {} func (*DatabaseSessionQuery) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{83} + return fileDescriptor_007ba1c3d6266d56, []int{88} } func (m *DatabaseSessionQuery) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4670,7 +4904,7 @@ func (m *PostgresParse) Reset() { *m = PostgresParse{} } func (m *PostgresParse) String() string { return proto.CompactTextString(m) } func (*PostgresParse) ProtoMessage() {} func (*PostgresParse) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{84} + return fileDescriptor_007ba1c3d6266d56, []int{89} } func (m *PostgresParse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4725,7 +4959,7 @@ func (m *PostgresBind) Reset() { *m = PostgresBind{} } func (m *PostgresBind) String() string { return proto.CompactTextString(m) } func (*PostgresBind) ProtoMessage() {} func (*PostgresBind) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{85} + return fileDescriptor_007ba1c3d6266d56, []int{90} } func (m *PostgresBind) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4776,7 +5010,7 @@ func (m *PostgresExecute) Reset() { *m = PostgresExecute{} } func (m *PostgresExecute) String() string { return proto.CompactTextString(m) } func (*PostgresExecute) ProtoMessage() {} func (*PostgresExecute) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{86} + return fileDescriptor_007ba1c3d6266d56, []int{91} } func (m *PostgresExecute) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4829,7 +5063,7 @@ func (m *PostgresClose) Reset() { *m = PostgresClose{} } func (m *PostgresClose) String() string { return proto.CompactTextString(m) } func (*PostgresClose) ProtoMessage() {} func (*PostgresClose) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{87} + return fileDescriptor_007ba1c3d6266d56, []int{92} } func (m *PostgresClose) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4882,7 +5116,7 @@ func (m *PostgresFunctionCall) Reset() { *m = PostgresFunctionCall{} } func (m *PostgresFunctionCall) String() string { return proto.CompactTextString(m) } func (*PostgresFunctionCall) ProtoMessage() {} func (*PostgresFunctionCall) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{88} + return fileDescriptor_007ba1c3d6266d56, []int{93} } func (m *PostgresFunctionCall) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4947,7 +5181,7 @@ func (m *WindowsDesktopSessionStart) Reset() { *m = WindowsDesktopSessio func (m *WindowsDesktopSessionStart) String() string { return proto.CompactTextString(m) } func (*WindowsDesktopSessionStart) ProtoMessage() {} func (*WindowsDesktopSessionStart) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{89} + return fileDescriptor_007ba1c3d6266d56, []int{94} } func (m *WindowsDesktopSessionStart) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4995,7 +5229,7 @@ func (m *DatabaseSessionEnd) Reset() { *m = DatabaseSessionEnd{} } func (m *DatabaseSessionEnd) String() string { return proto.CompactTextString(m) } func (*DatabaseSessionEnd) ProtoMessage() {} func (*DatabaseSessionEnd) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{90} + return fileDescriptor_007ba1c3d6266d56, []int{95} } func (m *DatabaseSessionEnd) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5041,7 +5275,7 @@ func (m *MFADeviceMetadata) Reset() { *m = MFADeviceMetadata{} } func (m *MFADeviceMetadata) String() string { return proto.CompactTextString(m) } func (*MFADeviceMetadata) ProtoMessage() {} func (*MFADeviceMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{91} + return fileDescriptor_007ba1c3d6266d56, []int{96} } func (m *MFADeviceMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5087,7 +5321,7 @@ func (m *MFADeviceAdd) Reset() { *m = MFADeviceAdd{} } func (m *MFADeviceAdd) String() string { return proto.CompactTextString(m) } func (*MFADeviceAdd) ProtoMessage() {} func (*MFADeviceAdd) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{92} + return fileDescriptor_007ba1c3d6266d56, []int{97} } func (m *MFADeviceAdd) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5133,7 +5367,7 @@ func (m *MFADeviceDelete) Reset() { *m = MFADeviceDelete{} } func (m *MFADeviceDelete) String() string { return proto.CompactTextString(m) } func (*MFADeviceDelete) ProtoMessage() {} func (*MFADeviceDelete) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{93} + return fileDescriptor_007ba1c3d6266d56, []int{98} } func (m *MFADeviceDelete) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5177,7 +5411,7 @@ func (m *BillingInformationUpdate) Reset() { *m = BillingInformationUpda func (m *BillingInformationUpdate) String() string { return proto.CompactTextString(m) } func (*BillingInformationUpdate) ProtoMessage() {} func (*BillingInformationUpdate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{94} + return fileDescriptor_007ba1c3d6266d56, []int{99} } func (m *BillingInformationUpdate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5221,7 +5455,7 @@ func (m *BillingCardCreate) Reset() { *m = BillingCardCreate{} } func (m *BillingCardCreate) String() string { return proto.CompactTextString(m) } func (*BillingCardCreate) ProtoMessage() {} func (*BillingCardCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{95} + return fileDescriptor_007ba1c3d6266d56, []int{100} } func (m *BillingCardCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5265,7 +5499,7 @@ func (m *BillingCardDelete) Reset() { *m = BillingCardDelete{} } func (m *BillingCardDelete) String() string { return proto.CompactTextString(m) } func (*BillingCardDelete) ProtoMessage() {} func (*BillingCardDelete) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{96} + return fileDescriptor_007ba1c3d6266d56, []int{101} } func (m *BillingCardDelete) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5316,7 +5550,7 @@ func (m *LockCreate) Reset() { *m = LockCreate{} } func (m *LockCreate) String() string { return proto.CompactTextString(m) } func (*LockCreate) ProtoMessage() {} func (*LockCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{97} + return fileDescriptor_007ba1c3d6266d56, []int{102} } func (m *LockCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5362,7 +5596,7 @@ func (m *LockDelete) Reset() { *m = LockDelete{} } func (m *LockDelete) String() string { return proto.CompactTextString(m) } func (*LockDelete) ProtoMessage() {} func (*LockDelete) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{98} + return fileDescriptor_007ba1c3d6266d56, []int{103} } func (m *LockDelete) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5406,7 +5640,7 @@ func (m *RecoveryCodeGenerate) Reset() { *m = RecoveryCodeGenerate{} } func (m *RecoveryCodeGenerate) String() string { return proto.CompactTextString(m) } func (*RecoveryCodeGenerate) ProtoMessage() {} func (*RecoveryCodeGenerate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{99} + return fileDescriptor_007ba1c3d6266d56, []int{104} } func (m *RecoveryCodeGenerate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5453,7 +5687,7 @@ func (m *RecoveryCodeUsed) Reset() { *m = RecoveryCodeUsed{} } func (m *RecoveryCodeUsed) String() string { return proto.CompactTextString(m) } func (*RecoveryCodeUsed) ProtoMessage() {} func (*RecoveryCodeUsed) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{100} + return fileDescriptor_007ba1c3d6266d56, []int{105} } func (m *RecoveryCodeUsed) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5519,7 +5753,7 @@ func (m *WindowsDesktopSessionEnd) Reset() { *m = WindowsDesktopSessionE func (m *WindowsDesktopSessionEnd) String() string { return proto.CompactTextString(m) } func (*WindowsDesktopSessionEnd) ProtoMessage() {} func (*WindowsDesktopSessionEnd) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{101} + return fileDescriptor_007ba1c3d6266d56, []int{106} } func (m *WindowsDesktopSessionEnd) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5565,7 +5799,7 @@ func (m *CertificateCreate) Reset() { *m = CertificateCreate{} } func (m *CertificateCreate) String() string { return proto.CompactTextString(m) } func (*CertificateCreate) ProtoMessage() {} func (*CertificateCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{102} + return fileDescriptor_007ba1c3d6266d56, []int{107} } func (m *CertificateCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5613,7 +5847,7 @@ func (m *RenewableCertificateGenerationMismatch) Reset() { func (m *RenewableCertificateGenerationMismatch) String() string { return proto.CompactTextString(m) } func (*RenewableCertificateGenerationMismatch) ProtoMessage() {} func (*RenewableCertificateGenerationMismatch) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{103} + return fileDescriptor_007ba1c3d6266d56, []int{108} } func (m *RenewableCertificateGenerationMismatch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5665,7 +5899,7 @@ func (m *BotJoin) Reset() { *m = BotJoin{} } func (m *BotJoin) String() string { return proto.CompactTextString(m) } func (*BotJoin) ProtoMessage() {} func (*BotJoin) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{104} + return fileDescriptor_007ba1c3d6266d56, []int{109} } func (m *BotJoin) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5725,7 +5959,7 @@ func (m *InstanceJoin) Reset() { *m = InstanceJoin{} } func (m *InstanceJoin) String() string { return proto.CompactTextString(m) } func (*InstanceJoin) ProtoMessage() {} func (*InstanceJoin) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{105} + return fileDescriptor_007ba1c3d6266d56, []int{110} } func (m *InstanceJoin) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5773,7 +6007,7 @@ func (m *Unknown) Reset() { *m = Unknown{} } func (m *Unknown) String() string { return proto.CompactTextString(m) } func (*Unknown) ProtoMessage() {} func (*Unknown) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{106} + return fileDescriptor_007ba1c3d6266d56, []int{111} } func (m *Unknown) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5823,7 +6057,7 @@ func (m *DeviceMetadata) Reset() { *m = DeviceMetadata{} } func (m *DeviceMetadata) String() string { return proto.CompactTextString(m) } func (*DeviceMetadata) ProtoMessage() {} func (*DeviceMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{107} + return fileDescriptor_007ba1c3d6266d56, []int{112} } func (m *DeviceMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5874,7 +6108,7 @@ func (m *DeviceEvent) Reset() { *m = DeviceEvent{} } func (m *DeviceEvent) String() string { return proto.CompactTextString(m) } func (*DeviceEvent) ProtoMessage() {} func (*DeviceEvent) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{108} + return fileDescriptor_007ba1c3d6266d56, []int{113} } func (m *DeviceEvent) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5926,7 +6160,7 @@ func (m *DeviceEvent2) Reset() { *m = DeviceEvent2{} } func (m *DeviceEvent2) String() string { return proto.CompactTextString(m) } func (*DeviceEvent2) ProtoMessage() {} func (*DeviceEvent2) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{109} + return fileDescriptor_007ba1c3d6266d56, []int{114} } func (m *DeviceEvent2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6094,6 +6328,11 @@ type OneOf struct { // *OneOf_AccessListMemberDeleteAllForAccessList // *OneOf_AuditQueryRun // *OneOf_SecurityReportRun + // *OneOf_GithubConnectorUpdate + // *OneOf_OIDCConnectorUpdate + // *OneOf_SAMLConnectorUpdate + // *OneOf_RoleUpdate + // *OneOf_UserUpdate Event isOneOf_Event `protobuf_oneof:"Event"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -6104,7 +6343,7 @@ func (m *OneOf) Reset() { *m = OneOf{} } func (m *OneOf) String() string { return proto.CompactTextString(m) } func (*OneOf) ProtoMessage() {} func (*OneOf) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{110} + return fileDescriptor_007ba1c3d6266d56, []int{115} } func (m *OneOf) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6541,6 +6780,21 @@ type OneOf_AuditQueryRun struct { type OneOf_SecurityReportRun struct { SecurityReportRun *SecurityReportRun `protobuf:"bytes,135,opt,name=SecurityReportRun,proto3,oneof" json:"SecurityReportRun,omitempty"` } +type OneOf_GithubConnectorUpdate struct { + GithubConnectorUpdate *GithubConnectorUpdate `protobuf:"bytes,136,opt,name=GithubConnectorUpdate,proto3,oneof" json:"GithubConnectorUpdate,omitempty"` +} +type OneOf_OIDCConnectorUpdate struct { + OIDCConnectorUpdate *OIDCConnectorUpdate `protobuf:"bytes,137,opt,name=OIDCConnectorUpdate,proto3,oneof" json:"OIDCConnectorUpdate,omitempty"` +} +type OneOf_SAMLConnectorUpdate struct { + SAMLConnectorUpdate *SAMLConnectorUpdate `protobuf:"bytes,138,opt,name=SAMLConnectorUpdate,proto3,oneof" json:"SAMLConnectorUpdate,omitempty"` +} +type OneOf_RoleUpdate struct { + RoleUpdate *RoleUpdate `protobuf:"bytes,139,opt,name=RoleUpdate,proto3,oneof" json:"RoleUpdate,omitempty"` +} +type OneOf_UserUpdate struct { + UserUpdate *UserUpdate `protobuf:"bytes,140,opt,name=UserUpdate,proto3,oneof" json:"UserUpdate,omitempty"` +} func (*OneOf_UserLogin) isOneOf_Event() {} func (*OneOf_UserCreate) isOneOf_Event() {} @@ -6676,6 +6930,11 @@ func (*OneOf_AccessListMemberDelete) isOneOf_Event() {} func (*OneOf_AccessListMemberDeleteAllForAccessList) isOneOf_Event() {} func (*OneOf_AuditQueryRun) isOneOf_Event() {} func (*OneOf_SecurityReportRun) isOneOf_Event() {} +func (*OneOf_GithubConnectorUpdate) isOneOf_Event() {} +func (*OneOf_OIDCConnectorUpdate) isOneOf_Event() {} +func (*OneOf_SAMLConnectorUpdate) isOneOf_Event() {} +func (*OneOf_RoleUpdate) isOneOf_Event() {} +func (*OneOf_UserUpdate) isOneOf_Event() {} func (m *OneOf) GetEvent() isOneOf_Event { if m != nil { @@ -7622,6 +7881,41 @@ func (m *OneOf) GetSecurityReportRun() *SecurityReportRun { return nil } +func (m *OneOf) GetGithubConnectorUpdate() *GithubConnectorUpdate { + if x, ok := m.GetEvent().(*OneOf_GithubConnectorUpdate); ok { + return x.GithubConnectorUpdate + } + return nil +} + +func (m *OneOf) GetOIDCConnectorUpdate() *OIDCConnectorUpdate { + if x, ok := m.GetEvent().(*OneOf_OIDCConnectorUpdate); ok { + return x.OIDCConnectorUpdate + } + return nil +} + +func (m *OneOf) GetSAMLConnectorUpdate() *SAMLConnectorUpdate { + if x, ok := m.GetEvent().(*OneOf_SAMLConnectorUpdate); ok { + return x.SAMLConnectorUpdate + } + return nil +} + +func (m *OneOf) GetRoleUpdate() *RoleUpdate { + if x, ok := m.GetEvent().(*OneOf_RoleUpdate); ok { + return x.RoleUpdate + } + return nil +} + +func (m *OneOf) GetUserUpdate() *UserUpdate { + if x, ok := m.GetEvent().(*OneOf_UserUpdate); ok { + return x.UserUpdate + } + return nil +} + // XXX_OneofWrappers is for the internal use of the proto package. func (*OneOf) XXX_OneofWrappers() []interface{} { return []interface{}{ @@ -7759,6 +8053,11 @@ func (*OneOf) XXX_OneofWrappers() []interface{} { (*OneOf_AccessListMemberDeleteAllForAccessList)(nil), (*OneOf_AuditQueryRun)(nil), (*OneOf_SecurityReportRun)(nil), + (*OneOf_GithubConnectorUpdate)(nil), + (*OneOf_OIDCConnectorUpdate)(nil), + (*OneOf_SAMLConnectorUpdate)(nil), + (*OneOf_RoleUpdate)(nil), + (*OneOf_UserUpdate)(nil), } } @@ -7779,7 +8078,7 @@ func (m *StreamStatus) Reset() { *m = StreamStatus{} } func (m *StreamStatus) String() string { return proto.CompactTextString(m) } func (*StreamStatus) ProtoMessage() {} func (*StreamStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{111} + return fileDescriptor_007ba1c3d6266d56, []int{116} } func (m *StreamStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7825,7 +8124,7 @@ func (m *SessionUpload) Reset() { *m = SessionUpload{} } func (m *SessionUpload) String() string { return proto.CompactTextString(m) } func (*SessionUpload) ProtoMessage() {} func (*SessionUpload) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{112} + return fileDescriptor_007ba1c3d6266d56, []int{117} } func (m *SessionUpload) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7935,7 +8234,7 @@ func (m *Identity) Reset() { *m = Identity{} } func (m *Identity) String() string { return proto.CompactTextString(m) } func (*Identity) ProtoMessage() {} func (*Identity) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{113} + return fileDescriptor_007ba1c3d6266d56, []int{118} } func (m *Identity) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7989,7 +8288,7 @@ func (m *RouteToApp) Reset() { *m = RouteToApp{} } func (m *RouteToApp) String() string { return proto.CompactTextString(m) } func (*RouteToApp) ProtoMessage() {} func (*RouteToApp) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{114} + return fileDescriptor_007ba1c3d6266d56, []int{119} } func (m *RouteToApp) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8037,7 +8336,7 @@ func (m *RouteToDatabase) Reset() { *m = RouteToDatabase{} } func (m *RouteToDatabase) String() string { return proto.CompactTextString(m) } func (*RouteToDatabase) ProtoMessage() {} func (*RouteToDatabase) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{115} + return fileDescriptor_007ba1c3d6266d56, []int{120} } func (m *RouteToDatabase) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8094,7 +8393,7 @@ func (m *AccessRequestResourceSearch) Reset() { *m = AccessRequestResour func (m *AccessRequestResourceSearch) String() string { return proto.CompactTextString(m) } func (*AccessRequestResourceSearch) ProtoMessage() {} func (*AccessRequestResourceSearch) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{116} + return fileDescriptor_007ba1c3d6266d56, []int{121} } func (m *AccessRequestResourceSearch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8145,7 +8444,7 @@ func (m *MySQLStatementPrepare) Reset() { *m = MySQLStatementPrepare{} } func (m *MySQLStatementPrepare) String() string { return proto.CompactTextString(m) } func (*MySQLStatementPrepare) ProtoMessage() {} func (*MySQLStatementPrepare) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{117} + return fileDescriptor_007ba1c3d6266d56, []int{122} } func (m *MySQLStatementPrepare) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8198,7 +8497,7 @@ func (m *MySQLStatementExecute) Reset() { *m = MySQLStatementExecute{} } func (m *MySQLStatementExecute) String() string { return proto.CompactTextString(m) } func (*MySQLStatementExecute) ProtoMessage() {} func (*MySQLStatementExecute) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{118} + return fileDescriptor_007ba1c3d6266d56, []int{123} } func (m *MySQLStatementExecute) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8253,7 +8552,7 @@ func (m *MySQLStatementSendLongData) Reset() { *m = MySQLStatementSendLo func (m *MySQLStatementSendLongData) String() string { return proto.CompactTextString(m) } func (*MySQLStatementSendLongData) ProtoMessage() {} func (*MySQLStatementSendLongData) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{119} + return fileDescriptor_007ba1c3d6266d56, []int{124} } func (m *MySQLStatementSendLongData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8304,7 +8603,7 @@ func (m *MySQLStatementClose) Reset() { *m = MySQLStatementClose{} } func (m *MySQLStatementClose) String() string { return proto.CompactTextString(m) } func (*MySQLStatementClose) ProtoMessage() {} func (*MySQLStatementClose) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{120} + return fileDescriptor_007ba1c3d6266d56, []int{125} } func (m *MySQLStatementClose) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8355,7 +8654,7 @@ func (m *MySQLStatementReset) Reset() { *m = MySQLStatementReset{} } func (m *MySQLStatementReset) String() string { return proto.CompactTextString(m) } func (*MySQLStatementReset) ProtoMessage() {} func (*MySQLStatementReset) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{121} + return fileDescriptor_007ba1c3d6266d56, []int{126} } func (m *MySQLStatementReset) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8408,7 +8707,7 @@ func (m *MySQLStatementFetch) Reset() { *m = MySQLStatementFetch{} } func (m *MySQLStatementFetch) String() string { return proto.CompactTextString(m) } func (*MySQLStatementFetch) ProtoMessage() {} func (*MySQLStatementFetch) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{122} + return fileDescriptor_007ba1c3d6266d56, []int{127} } func (m *MySQLStatementFetch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8461,7 +8760,7 @@ func (m *MySQLStatementBulkExecute) Reset() { *m = MySQLStatementBulkExe func (m *MySQLStatementBulkExecute) String() string { return proto.CompactTextString(m) } func (*MySQLStatementBulkExecute) ProtoMessage() {} func (*MySQLStatementBulkExecute) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{123} + return fileDescriptor_007ba1c3d6266d56, []int{128} } func (m *MySQLStatementBulkExecute) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8512,7 +8811,7 @@ func (m *MySQLInitDB) Reset() { *m = MySQLInitDB{} } func (m *MySQLInitDB) String() string { return proto.CompactTextString(m) } func (*MySQLInitDB) ProtoMessage() {} func (*MySQLInitDB) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{124} + return fileDescriptor_007ba1c3d6266d56, []int{129} } func (m *MySQLInitDB) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8562,7 +8861,7 @@ func (m *MySQLCreateDB) Reset() { *m = MySQLCreateDB{} } func (m *MySQLCreateDB) String() string { return proto.CompactTextString(m) } func (*MySQLCreateDB) ProtoMessage() {} func (*MySQLCreateDB) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{125} + return fileDescriptor_007ba1c3d6266d56, []int{130} } func (m *MySQLCreateDB) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8612,7 +8911,7 @@ func (m *MySQLDropDB) Reset() { *m = MySQLDropDB{} } func (m *MySQLDropDB) String() string { return proto.CompactTextString(m) } func (*MySQLDropDB) ProtoMessage() {} func (*MySQLDropDB) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{126} + return fileDescriptor_007ba1c3d6266d56, []int{131} } func (m *MySQLDropDB) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8660,7 +8959,7 @@ func (m *MySQLShutDown) Reset() { *m = MySQLShutDown{} } func (m *MySQLShutDown) String() string { return proto.CompactTextString(m) } func (*MySQLShutDown) ProtoMessage() {} func (*MySQLShutDown) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{127} + return fileDescriptor_007ba1c3d6266d56, []int{132} } func (m *MySQLShutDown) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8711,7 +9010,7 @@ func (m *MySQLProcessKill) Reset() { *m = MySQLProcessKill{} } func (m *MySQLProcessKill) String() string { return proto.CompactTextString(m) } func (*MySQLProcessKill) ProtoMessage() {} func (*MySQLProcessKill) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{128} + return fileDescriptor_007ba1c3d6266d56, []int{133} } func (m *MySQLProcessKill) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8760,7 +9059,7 @@ func (m *MySQLDebug) Reset() { *m = MySQLDebug{} } func (m *MySQLDebug) String() string { return proto.CompactTextString(m) } func (*MySQLDebug) ProtoMessage() {} func (*MySQLDebug) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{129} + return fileDescriptor_007ba1c3d6266d56, []int{134} } func (m *MySQLDebug) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8810,7 +9109,7 @@ func (m *MySQLRefresh) Reset() { *m = MySQLRefresh{} } func (m *MySQLRefresh) String() string { return proto.CompactTextString(m) } func (*MySQLRefresh) ProtoMessage() {} func (*MySQLRefresh) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{130} + return fileDescriptor_007ba1c3d6266d56, []int{135} } func (m *MySQLRefresh) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8862,7 +9161,7 @@ func (m *SQLServerRPCRequest) Reset() { *m = SQLServerRPCRequest{} } func (m *SQLServerRPCRequest) String() string { return proto.CompactTextString(m) } func (*SQLServerRPCRequest) ProtoMessage() {} func (*SQLServerRPCRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{131} + return fileDescriptor_007ba1c3d6266d56, []int{136} } func (m *SQLServerRPCRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8912,7 +9211,7 @@ func (m *DatabaseSessionMalformedPacket) Reset() { *m = DatabaseSessionM func (m *DatabaseSessionMalformedPacket) String() string { return proto.CompactTextString(m) } func (*DatabaseSessionMalformedPacket) ProtoMessage() {} func (*DatabaseSessionMalformedPacket) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{132} + return fileDescriptor_007ba1c3d6266d56, []int{137} } func (m *DatabaseSessionMalformedPacket) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8979,7 +9278,7 @@ func (m *ElasticsearchRequest) Reset() { *m = ElasticsearchRequest{} } func (m *ElasticsearchRequest) String() string { return proto.CompactTextString(m) } func (*ElasticsearchRequest) ProtoMessage() {} func (*ElasticsearchRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{133} + return fileDescriptor_007ba1c3d6266d56, []int{138} } func (m *ElasticsearchRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9045,7 +9344,7 @@ func (m *OpenSearchRequest) Reset() { *m = OpenSearchRequest{} } func (m *OpenSearchRequest) String() string { return proto.CompactTextString(m) } func (*OpenSearchRequest) ProtoMessage() {} func (*OpenSearchRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{134} + return fileDescriptor_007ba1c3d6266d56, []int{139} } func (m *OpenSearchRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9105,7 +9404,7 @@ func (m *DynamoDBRequest) Reset() { *m = DynamoDBRequest{} } func (m *DynamoDBRequest) String() string { return proto.CompactTextString(m) } func (*DynamoDBRequest) ProtoMessage() {} func (*DynamoDBRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{135} + return fileDescriptor_007ba1c3d6266d56, []int{140} } func (m *DynamoDBRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9171,7 +9470,7 @@ func (m *AppSessionDynamoDBRequest) Reset() { *m = AppSessionDynamoDBReq func (m *AppSessionDynamoDBRequest) String() string { return proto.CompactTextString(m) } func (*AppSessionDynamoDBRequest) ProtoMessage() {} func (*AppSessionDynamoDBRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{136} + return fileDescriptor_007ba1c3d6266d56, []int{141} } func (m *AppSessionDynamoDBRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9213,7 +9512,7 @@ func (m *UpgradeWindowStartMetadata) Reset() { *m = UpgradeWindowStartMe func (m *UpgradeWindowStartMetadata) String() string { return proto.CompactTextString(m) } func (*UpgradeWindowStartMetadata) ProtoMessage() {} func (*UpgradeWindowStartMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{137} + return fileDescriptor_007ba1c3d6266d56, []int{142} } func (m *UpgradeWindowStartMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9261,7 +9560,7 @@ func (m *UpgradeWindowStartUpdate) Reset() { *m = UpgradeWindowStartUpda func (m *UpgradeWindowStartUpdate) String() string { return proto.CompactTextString(m) } func (*UpgradeWindowStartUpdate) ProtoMessage() {} func (*UpgradeWindowStartUpdate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{138} + return fileDescriptor_007ba1c3d6266d56, []int{143} } func (m *UpgradeWindowStartUpdate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9308,7 +9607,7 @@ func (m *SessionRecordingAccess) Reset() { *m = SessionRecordingAccess{} func (m *SessionRecordingAccess) String() string { return proto.CompactTextString(m) } func (*SessionRecordingAccess) ProtoMessage() {} func (*SessionRecordingAccess) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{139} + return fileDescriptor_007ba1c3d6266d56, []int{144} } func (m *SessionRecordingAccess) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9350,7 +9649,7 @@ func (m *KubeClusterMetadata) Reset() { *m = KubeClusterMetadata{} } func (m *KubeClusterMetadata) String() string { return proto.CompactTextString(m) } func (*KubeClusterMetadata) ProtoMessage() {} func (*KubeClusterMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{140} + return fileDescriptor_007ba1c3d6266d56, []int{145} } func (m *KubeClusterMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9398,7 +9697,7 @@ func (m *KubernetesClusterCreate) Reset() { *m = KubernetesClusterCreate func (m *KubernetesClusterCreate) String() string { return proto.CompactTextString(m) } func (*KubernetesClusterCreate) ProtoMessage() {} func (*KubernetesClusterCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{141} + return fileDescriptor_007ba1c3d6266d56, []int{146} } func (m *KubernetesClusterCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9446,7 +9745,7 @@ func (m *KubernetesClusterUpdate) Reset() { *m = KubernetesClusterUpdate func (m *KubernetesClusterUpdate) String() string { return proto.CompactTextString(m) } func (*KubernetesClusterUpdate) ProtoMessage() {} func (*KubernetesClusterUpdate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{142} + return fileDescriptor_007ba1c3d6266d56, []int{147} } func (m *KubernetesClusterUpdate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9492,7 +9791,7 @@ func (m *KubernetesClusterDelete) Reset() { *m = KubernetesClusterDelete func (m *KubernetesClusterDelete) String() string { return proto.CompactTextString(m) } func (*KubernetesClusterDelete) ProtoMessage() {} func (*KubernetesClusterDelete) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{143} + return fileDescriptor_007ba1c3d6266d56, []int{148} } func (m *KubernetesClusterDelete) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9546,7 +9845,7 @@ func (m *SSMRun) Reset() { *m = SSMRun{} } func (m *SSMRun) String() string { return proto.CompactTextString(m) } func (*SSMRun) ProtoMessage() {} func (*SSMRun) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{144} + return fileDescriptor_007ba1c3d6266d56, []int{149} } func (m *SSMRun) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9599,7 +9898,7 @@ func (m *CassandraPrepare) Reset() { *m = CassandraPrepare{} } func (m *CassandraPrepare) String() string { return proto.CompactTextString(m) } func (*CassandraPrepare) ProtoMessage() {} func (*CassandraPrepare) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{145} + return fileDescriptor_007ba1c3d6266d56, []int{150} } func (m *CassandraPrepare) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9649,7 +9948,7 @@ func (m *CassandraExecute) Reset() { *m = CassandraExecute{} } func (m *CassandraExecute) String() string { return proto.CompactTextString(m) } func (*CassandraExecute) ProtoMessage() {} func (*CassandraExecute) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{146} + return fileDescriptor_007ba1c3d6266d56, []int{151} } func (m *CassandraExecute) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9705,7 +10004,7 @@ func (m *CassandraBatch) Reset() { *m = CassandraBatch{} } func (m *CassandraBatch) String() string { return proto.CompactTextString(m) } func (*CassandraBatch) ProtoMessage() {} func (*CassandraBatch) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{147} + return fileDescriptor_007ba1c3d6266d56, []int{152} } func (m *CassandraBatch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9751,7 +10050,7 @@ func (m *CassandraBatch_BatchChild) Reset() { *m = CassandraBatch_BatchC func (m *CassandraBatch_BatchChild) String() string { return proto.CompactTextString(m) } func (*CassandraBatch_BatchChild) ProtoMessage() {} func (*CassandraBatch_BatchChild) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{147, 0} + return fileDescriptor_007ba1c3d6266d56, []int{152, 0} } func (m *CassandraBatch_BatchChild) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9795,7 +10094,7 @@ func (m *CassandraBatch_BatchChild_Value) Reset() { *m = CassandraBatch_ func (m *CassandraBatch_BatchChild_Value) String() string { return proto.CompactTextString(m) } func (*CassandraBatch_BatchChild_Value) ProtoMessage() {} func (*CassandraBatch_BatchChild_Value) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{147, 0, 0} + return fileDescriptor_007ba1c3d6266d56, []int{152, 0, 0} } func (m *CassandraBatch_BatchChild_Value) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9846,7 +10145,7 @@ func (m *CassandraRegister) Reset() { *m = CassandraRegister{} } func (m *CassandraRegister) String() string { return proto.CompactTextString(m) } func (*CassandraRegister) ProtoMessage() {} func (*CassandraRegister) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{148} + return fileDescriptor_007ba1c3d6266d56, []int{153} } func (m *CassandraRegister) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9892,7 +10191,7 @@ func (m *LoginRuleCreate) Reset() { *m = LoginRuleCreate{} } func (m *LoginRuleCreate) String() string { return proto.CompactTextString(m) } func (*LoginRuleCreate) ProtoMessage() {} func (*LoginRuleCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{149} + return fileDescriptor_007ba1c3d6266d56, []int{154} } func (m *LoginRuleCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9938,7 +10237,7 @@ func (m *LoginRuleDelete) Reset() { *m = LoginRuleDelete{} } func (m *LoginRuleDelete) String() string { return proto.CompactTextString(m) } func (*LoginRuleDelete) ProtoMessage() {} func (*LoginRuleDelete) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{150} + return fileDescriptor_007ba1c3d6266d56, []int{155} } func (m *LoginRuleDelete) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9988,7 +10287,7 @@ func (m *SAMLIdPAuthAttempt) Reset() { *m = SAMLIdPAuthAttempt{} } func (m *SAMLIdPAuthAttempt) String() string { return proto.CompactTextString(m) } func (*SAMLIdPAuthAttempt) ProtoMessage() {} func (*SAMLIdPAuthAttempt) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{151} + return fileDescriptor_007ba1c3d6266d56, []int{156} } func (m *SAMLIdPAuthAttempt) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10034,7 +10333,7 @@ func (m *SAMLIdPServiceProviderCreate) Reset() { *m = SAMLIdPServiceProv func (m *SAMLIdPServiceProviderCreate) String() string { return proto.CompactTextString(m) } func (*SAMLIdPServiceProviderCreate) ProtoMessage() {} func (*SAMLIdPServiceProviderCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{152} + return fileDescriptor_007ba1c3d6266d56, []int{157} } func (m *SAMLIdPServiceProviderCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10080,7 +10379,7 @@ func (m *SAMLIdPServiceProviderUpdate) Reset() { *m = SAMLIdPServiceProv func (m *SAMLIdPServiceProviderUpdate) String() string { return proto.CompactTextString(m) } func (*SAMLIdPServiceProviderUpdate) ProtoMessage() {} func (*SAMLIdPServiceProviderUpdate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{153} + return fileDescriptor_007ba1c3d6266d56, []int{158} } func (m *SAMLIdPServiceProviderUpdate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10126,7 +10425,7 @@ func (m *SAMLIdPServiceProviderDelete) Reset() { *m = SAMLIdPServiceProv func (m *SAMLIdPServiceProviderDelete) String() string { return proto.CompactTextString(m) } func (*SAMLIdPServiceProviderDelete) ProtoMessage() {} func (*SAMLIdPServiceProviderDelete) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{154} + return fileDescriptor_007ba1c3d6266d56, []int{159} } func (m *SAMLIdPServiceProviderDelete) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10170,7 +10469,7 @@ func (m *SAMLIdPServiceProviderDeleteAll) Reset() { *m = SAMLIdPServiceP func (m *SAMLIdPServiceProviderDeleteAll) String() string { return proto.CompactTextString(m) } func (*SAMLIdPServiceProviderDeleteAll) ProtoMessage() {} func (*SAMLIdPServiceProviderDeleteAll) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{155} + return fileDescriptor_007ba1c3d6266d56, []int{160} } func (m *SAMLIdPServiceProviderDeleteAll) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10216,7 +10515,7 @@ func (m *OktaResourcesUpdate) Reset() { *m = OktaResourcesUpdate{} } func (m *OktaResourcesUpdate) String() string { return proto.CompactTextString(m) } func (*OktaResourcesUpdate) ProtoMessage() {} func (*OktaResourcesUpdate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{156} + return fileDescriptor_007ba1c3d6266d56, []int{161} } func (m *OktaResourcesUpdate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10262,7 +10561,7 @@ func (m *OktaSyncFailure) Reset() { *m = OktaSyncFailure{} } func (m *OktaSyncFailure) String() string { return proto.CompactTextString(m) } func (*OktaSyncFailure) ProtoMessage() {} func (*OktaSyncFailure) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{157} + return fileDescriptor_007ba1c3d6266d56, []int{162} } func (m *OktaSyncFailure) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10312,7 +10611,7 @@ func (m *OktaAssignmentResult) Reset() { *m = OktaAssignmentResult{} } func (m *OktaAssignmentResult) String() string { return proto.CompactTextString(m) } func (*OktaAssignmentResult) ProtoMessage() {} func (*OktaAssignmentResult) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{158} + return fileDescriptor_007ba1c3d6266d56, []int{163} } func (m *OktaAssignmentResult) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10358,7 +10657,7 @@ func (m *AccessListCreate) Reset() { *m = AccessListCreate{} } func (m *AccessListCreate) String() string { return proto.CompactTextString(m) } func (*AccessListCreate) ProtoMessage() {} func (*AccessListCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{159} + return fileDescriptor_007ba1c3d6266d56, []int{164} } func (m *AccessListCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10404,7 +10703,7 @@ func (m *AccessListUpdate) Reset() { *m = AccessListUpdate{} } func (m *AccessListUpdate) String() string { return proto.CompactTextString(m) } func (*AccessListUpdate) ProtoMessage() {} func (*AccessListUpdate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{160} + return fileDescriptor_007ba1c3d6266d56, []int{165} } func (m *AccessListUpdate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10450,7 +10749,7 @@ func (m *AccessListDelete) Reset() { *m = AccessListDelete{} } func (m *AccessListDelete) String() string { return proto.CompactTextString(m) } func (*AccessListDelete) ProtoMessage() {} func (*AccessListDelete) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{161} + return fileDescriptor_007ba1c3d6266d56, []int{166} } func (m *AccessListDelete) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10498,7 +10797,7 @@ func (m *AccessListMemberCreate) Reset() { *m = AccessListMemberCreate{} func (m *AccessListMemberCreate) String() string { return proto.CompactTextString(m) } func (*AccessListMemberCreate) ProtoMessage() {} func (*AccessListMemberCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{162} + return fileDescriptor_007ba1c3d6266d56, []int{167} } func (m *AccessListMemberCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10546,7 +10845,7 @@ func (m *AccessListMemberUpdate) Reset() { *m = AccessListMemberUpdate{} func (m *AccessListMemberUpdate) String() string { return proto.CompactTextString(m) } func (*AccessListMemberUpdate) ProtoMessage() {} func (*AccessListMemberUpdate) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{163} + return fileDescriptor_007ba1c3d6266d56, []int{168} } func (m *AccessListMemberUpdate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10594,7 +10893,7 @@ func (m *AccessListMemberDelete) Reset() { *m = AccessListMemberDelete{} func (m *AccessListMemberDelete) String() string { return proto.CompactTextString(m) } func (*AccessListMemberDelete) ProtoMessage() {} func (*AccessListMemberDelete) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{164} + return fileDescriptor_007ba1c3d6266d56, []int{169} } func (m *AccessListMemberDelete) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10644,7 +10943,7 @@ func (m *AccessListMemberDeleteAllForAccessList) Reset() { func (m *AccessListMemberDeleteAllForAccessList) String() string { return proto.CompactTextString(m) } func (*AccessListMemberDeleteAllForAccessList) ProtoMessage() {} func (*AccessListMemberDeleteAllForAccessList) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{165} + return fileDescriptor_007ba1c3d6266d56, []int{170} } func (m *AccessListMemberDeleteAllForAccessList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10692,7 +10991,7 @@ func (m *AccessListReview) Reset() { *m = AccessListReview{} } func (m *AccessListReview) String() string { return proto.CompactTextString(m) } func (*AccessListReview) ProtoMessage() {} func (*AccessListReview) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{166} + return fileDescriptor_007ba1c3d6266d56, []int{171} } func (m *AccessListReview) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10740,7 +11039,7 @@ func (m *AuditQueryRun) Reset() { *m = AuditQueryRun{} } func (m *AuditQueryRun) String() string { return proto.CompactTextString(m) } func (*AuditQueryRun) ProtoMessage() {} func (*AuditQueryRun) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{167} + return fileDescriptor_007ba1c3d6266d56, []int{172} } func (m *AuditQueryRun) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10790,7 +11089,7 @@ func (m *AuditQueryDetails) Reset() { *m = AuditQueryDetails{} } func (m *AuditQueryDetails) String() string { return proto.CompactTextString(m) } func (*AuditQueryDetails) ProtoMessage() {} func (*AuditQueryDetails) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{168} + return fileDescriptor_007ba1c3d6266d56, []int{173} } func (m *AuditQueryDetails) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10846,7 +11145,7 @@ func (m *SecurityReportRun) Reset() { *m = SecurityReportRun{} } func (m *SecurityReportRun) String() string { return proto.CompactTextString(m) } func (*SecurityReportRun) ProtoMessage() {} func (*SecurityReportRun) Descriptor() ([]byte, []int) { - return fileDescriptor_007ba1c3d6266d56, []int{169} + return fileDescriptor_007ba1c3d6266d56, []int{174} } func (m *SecurityReportRun) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10926,6 +11225,7 @@ func init() { proto.RegisterType((*UserLogin)(nil), "events.UserLogin") proto.RegisterType((*ResourceMetadata)(nil), "events.ResourceMetadata") proto.RegisterType((*UserCreate)(nil), "events.UserCreate") + proto.RegisterType((*UserUpdate)(nil), "events.UserUpdate") proto.RegisterType((*UserDelete)(nil), "events.UserDelete") proto.RegisterType((*UserPasswordChange)(nil), "events.UserPasswordChange") proto.RegisterType((*AccessRequestCreate)(nil), "events.AccessRequestCreate") @@ -10943,16 +11243,20 @@ func init() { proto.RegisterType((*AuthAttempt)(nil), "events.AuthAttempt") proto.RegisterType((*UserTokenCreate)(nil), "events.UserTokenCreate") proto.RegisterType((*RoleCreate)(nil), "events.RoleCreate") + proto.RegisterType((*RoleUpdate)(nil), "events.RoleUpdate") proto.RegisterType((*RoleDelete)(nil), "events.RoleDelete") proto.RegisterType((*TrustedClusterCreate)(nil), "events.TrustedClusterCreate") proto.RegisterType((*TrustedClusterDelete)(nil), "events.TrustedClusterDelete") proto.RegisterType((*ProvisionTokenCreate)(nil), "events.ProvisionTokenCreate") proto.RegisterType((*TrustedClusterTokenCreate)(nil), "events.TrustedClusterTokenCreate") proto.RegisterType((*GithubConnectorCreate)(nil), "events.GithubConnectorCreate") + proto.RegisterType((*GithubConnectorUpdate)(nil), "events.GithubConnectorUpdate") proto.RegisterType((*GithubConnectorDelete)(nil), "events.GithubConnectorDelete") proto.RegisterType((*OIDCConnectorCreate)(nil), "events.OIDCConnectorCreate") + proto.RegisterType((*OIDCConnectorUpdate)(nil), "events.OIDCConnectorUpdate") proto.RegisterType((*OIDCConnectorDelete)(nil), "events.OIDCConnectorDelete") proto.RegisterType((*SAMLConnectorCreate)(nil), "events.SAMLConnectorCreate") + proto.RegisterType((*SAMLConnectorUpdate)(nil), "events.SAMLConnectorUpdate") proto.RegisterType((*SAMLConnectorDelete)(nil), "events.SAMLConnectorDelete") proto.RegisterType((*KubeRequest)(nil), "events.KubeRequest") proto.RegisterType((*AppMetadata)(nil), "events.AppMetadata") @@ -11071,797 +11375,806 @@ func init() { } var fileDescriptor_007ba1c3d6266d56 = []byte{ - // 12637 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x7d, 0x6c, 0x24, 0x47, - 0x76, 0x18, 0xce, 0xf9, 0xe0, 0xcc, 0xb0, 0xf8, 0x35, 0xac, 0xfd, 0x6a, 0x51, 0xbb, 0x3b, 0xab, - 0x96, 0xb4, 0xda, 0x95, 0x56, 0xdc, 0xd3, 0xee, 0x9e, 0xf6, 0xa4, 0x93, 0x4e, 0x1a, 0xce, 0x0c, - 0x97, 0xa3, 0xe5, 0xc7, 0xa8, 0x87, 0xab, 0x95, 0x74, 0x3e, 0x8d, 0x9b, 0xd3, 0xb5, 0x64, 0x8b, - 0x33, 0xd3, 0x73, 0xdd, 0x3d, 0xcb, 0xa5, 0x7e, 0xbf, 0x24, 0xbe, 0xc4, 0x9f, 0x81, 0x6d, 0x18, - 0x0e, 0x02, 0x07, 0x49, 0x80, 0xd8, 0x09, 0x02, 0x38, 0x86, 0x63, 0xc7, 0x49, 0x60, 0xc7, 0x71, - 0x8c, 0xc4, 0xb9, 0x4b, 0x22, 0xe7, 0x62, 0xc7, 0x4e, 0x0c, 0x07, 0x08, 0x10, 0x9e, 0xed, 0xc0, - 0x09, 0x40, 0x24, 0x80, 0x81, 0x18, 0xc9, 0xc5, 0x71, 0x3e, 0x50, 0xaf, 0xaa, 0xbb, 0xab, 0xba, - 0x7b, 0xf8, 0xb9, 0x32, 0x45, 0x91, 0xff, 0xec, 0x72, 0xde, 0x7b, 0xf5, 0xaa, 0xfa, 0xd5, 0xab, - 0xaa, 0x57, 0x55, 0xef, 0xbd, 0x42, 0x57, 0x5d, 0xd2, 0x22, 0x5d, 0xcb, 0x76, 0xaf, 0xb7, 0xc8, - 0x8a, 0xde, 0xdc, 0xb8, 0xee, 0x6e, 0x74, 0x89, 0x73, 0x9d, 0x3c, 0x24, 0x1d, 0xd7, 0xfb, 0x6f, - 0xaa, 0x6b, 0x5b, 0xae, 0x85, 0x33, 0xec, 0xd7, 0xe4, 0xe9, 0x15, 0x6b, 0xc5, 0x02, 0xd0, 0x75, - 0xfa, 0x17, 0xc3, 0x4e, 0x9e, 0x5f, 0xb1, 0xac, 0x95, 0x16, 0xb9, 0x0e, 0xbf, 0x96, 0x7b, 0x0f, - 0xae, 0x3b, 0xae, 0xdd, 0x6b, 0xba, 0x1c, 0x5b, 0x08, 0x63, 0x5d, 0xb3, 0x4d, 0x1c, 0x57, 0x6f, - 0x77, 0x39, 0xc1, 0xc5, 0x30, 0xc1, 0xba, 0xad, 0x77, 0xbb, 0xc4, 0xe6, 0x95, 0x4f, 0x3e, 0x15, - 0xdf, 0x4e, 0xf8, 0x97, 0x93, 0xbc, 0x18, 0x4f, 0xe2, 0x31, 0x0a, 0x71, 0x54, 0x7f, 0x34, 0x89, - 0x72, 0xf3, 0xc4, 0xd5, 0x0d, 0xdd, 0xd5, 0xf1, 0x79, 0x34, 0x58, 0xed, 0x18, 0xe4, 0x91, 0x92, - 0xb8, 0x94, 0xb8, 0x92, 0x9a, 0xce, 0x6c, 0x6d, 0x16, 0x92, 0xc4, 0xd4, 0x18, 0x10, 0x5f, 0x40, - 0xe9, 0xa5, 0x8d, 0x2e, 0x51, 0x92, 0x97, 0x12, 0x57, 0x86, 0xa6, 0x87, 0xb6, 0x36, 0x0b, 0x83, - 0x20, 0x0b, 0x0d, 0xc0, 0xf8, 0x29, 0x94, 0xac, 0x96, 0x95, 0x14, 0x20, 0x27, 0xb6, 0x36, 0x0b, - 0xa3, 0x3d, 0xd3, 0xb8, 0x66, 0xb5, 0x4d, 0x97, 0xb4, 0xbb, 0xee, 0x86, 0x96, 0xac, 0x96, 0xf1, - 0x65, 0x94, 0x2e, 0x59, 0x06, 0x51, 0xd2, 0x40, 0x84, 0xb7, 0x36, 0x0b, 0x63, 0x4d, 0xcb, 0x20, - 0x02, 0x15, 0xe0, 0xf1, 0x9b, 0x28, 0xbd, 0x64, 0xb6, 0x89, 0x32, 0x78, 0x29, 0x71, 0x65, 0xf8, - 0xc6, 0xe4, 0x14, 0x93, 0xca, 0x94, 0x27, 0x95, 0xa9, 0x25, 0x4f, 0x6c, 0xd3, 0xf9, 0x8f, 0x37, - 0x0b, 0x03, 0x5b, 0x9b, 0x85, 0x34, 0x95, 0xe4, 0x8f, 0x7c, 0xab, 0x90, 0xd0, 0xa0, 0x24, 0x7e, - 0x0d, 0x0d, 0x97, 0x5a, 0x3d, 0xc7, 0x25, 0xf6, 0x82, 0xde, 0x26, 0x4a, 0x06, 0x2a, 0x9c, 0xdc, - 0xda, 0x2c, 0x9c, 0x6d, 0x32, 0x70, 0xa3, 0xa3, 0xb7, 0xc5, 0x8a, 0x45, 0x72, 0xf5, 0x1f, 0x24, - 0xd0, 0x78, 0x9d, 0x38, 0x8e, 0x69, 0x75, 0x7c, 0xd9, 0x3c, 0x8b, 0x86, 0x38, 0xa8, 0x5a, 0x06, - 0xf9, 0x0c, 0x4d, 0x67, 0xb7, 0x36, 0x0b, 0x29, 0xc7, 0x34, 0xb4, 0x00, 0x83, 0x3f, 0x87, 0xb2, - 0xf7, 0x4d, 0x77, 0x75, 0x7e, 0xa6, 0xc8, 0xe5, 0x74, 0x76, 0x6b, 0xb3, 0x80, 0xd7, 0x4d, 0x77, - 0xb5, 0xd1, 0x7e, 0xa0, 0x0b, 0x15, 0x7a, 0x64, 0x78, 0x0e, 0xe5, 0x6b, 0xb6, 0xf9, 0x50, 0x77, - 0xc9, 0x5d, 0xb2, 0x51, 0xb3, 0x5a, 0x66, 0x73, 0x83, 0x4b, 0xf1, 0xd2, 0xd6, 0x66, 0xe1, 0x7c, - 0x97, 0xe1, 0x1a, 0x6b, 0x64, 0xa3, 0xd1, 0x05, 0xac, 0xc0, 0x24, 0x52, 0x52, 0xfd, 0xe3, 0x34, - 0x1a, 0xb9, 0xe7, 0x10, 0xdb, 0x6f, 0xf7, 0x65, 0x94, 0xa6, 0xbf, 0x79, 0x93, 0x41, 0xe6, 0x3d, - 0x87, 0xd8, 0xa2, 0xcc, 0x29, 0x1e, 0x5f, 0x45, 0x83, 0x73, 0xd6, 0x8a, 0xd9, 0xe1, 0xcd, 0x3e, - 0xb5, 0xb5, 0x59, 0x18, 0x6f, 0x51, 0x80, 0x40, 0xc9, 0x28, 0xf0, 0x97, 0xd0, 0x48, 0xb5, 0x4d, + // 12770 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x6d, 0x6c, 0x24, 0x47, + 0x76, 0x18, 0xe7, 0x83, 0x33, 0xc3, 0xe2, 0xd7, 0xb0, 0xf6, 0xab, 0x45, 0xed, 0xee, 0x48, 0xad, + 0xbb, 0xbd, 0x5d, 0xdd, 0x8a, 0x7b, 0x5a, 0xad, 0xa4, 0x93, 0x4e, 0x3a, 0x69, 0x38, 0x33, 0x5c, + 0x8e, 0x96, 0x1f, 0xa3, 0x1e, 0xee, 0xee, 0xe9, 0xce, 0xa7, 0x71, 0x73, 0xba, 0x96, 0x6c, 0x71, + 0x66, 0x7a, 0xae, 0xbb, 0x67, 0xb9, 0x54, 0xbe, 0x7c, 0x89, 0x3f, 0xce, 0xce, 0xd9, 0x30, 0x1c, + 0x04, 0x0e, 0x92, 0x00, 0xb1, 0x13, 0x04, 0x70, 0x0c, 0xc7, 0x8e, 0x93, 0xc0, 0x8e, 0xe3, 0x18, + 0x89, 0x73, 0x97, 0x44, 0xce, 0xc5, 0x8e, 0x9d, 0x18, 0x0e, 0x10, 0x20, 0x3c, 0xc7, 0x81, 0x13, + 0x80, 0x48, 0x00, 0x03, 0x31, 0x12, 0xc7, 0x71, 0x3e, 0x50, 0xaf, 0xaa, 0xbb, 0xab, 0xba, 0x7b, + 0x86, 0x5f, 0x2b, 0x53, 0x14, 0xf9, 0x67, 0x97, 0xf3, 0xde, 0xab, 0x57, 0xd5, 0xaf, 0x5e, 0x55, + 0xbd, 0xaa, 0x7a, 0xf5, 0x1e, 0xba, 0xe6, 0x92, 0x16, 0xe9, 0x5a, 0xb6, 0x7b, 0xa3, 0x45, 0xd6, + 0xf4, 0xe6, 0xd6, 0x0d, 0x77, 0xab, 0x4b, 0x9c, 0x1b, 0xe4, 0x21, 0xe9, 0xb8, 0xde, 0x7f, 0x33, + 0x5d, 0xdb, 0x72, 0x2d, 0x9c, 0x61, 0xbf, 0xa6, 0xcf, 0xae, 0x59, 0x6b, 0x16, 0x80, 0x6e, 0xd0, + 0xbf, 0x18, 0x76, 0xfa, 0xe2, 0x9a, 0x65, 0xad, 0xb5, 0xc8, 0x0d, 0xf8, 0xb5, 0xda, 0x7b, 0x70, + 0xc3, 0x71, 0xed, 0x5e, 0xd3, 0xe5, 0xd8, 0x42, 0x18, 0xeb, 0x9a, 0x6d, 0xe2, 0xb8, 0x7a, 0xbb, + 0xcb, 0x09, 0x2e, 0x87, 0x09, 0x36, 0x6d, 0xbd, 0xdb, 0x25, 0x36, 0xaf, 0x7c, 0xfa, 0xe9, 0xf8, + 0x76, 0xc2, 0xbf, 0x9c, 0xe4, 0xb9, 0x78, 0x12, 0x8f, 0x51, 0x88, 0xa3, 0xfa, 0x23, 0x49, 0x94, + 0x5b, 0x24, 0xae, 0x6e, 0xe8, 0xae, 0x8e, 0x2f, 0xa2, 0xe1, 0x6a, 0xc7, 0x20, 0x8f, 0x94, 0xc4, + 0x53, 0x89, 0xab, 0xa9, 0xd9, 0xcc, 0xce, 0x76, 0x21, 0x49, 0x4c, 0x8d, 0x01, 0xf1, 0x25, 0x94, + 0x5e, 0xd9, 0xea, 0x12, 0x25, 0xf9, 0x54, 0xe2, 0xea, 0xc8, 0xec, 0xc8, 0xce, 0x76, 0x61, 0x18, + 0x64, 0xa1, 0x01, 0x18, 0x3f, 0x8d, 0x92, 0xd5, 0xb2, 0x92, 0x02, 0xe4, 0xd4, 0xce, 0x76, 0x61, + 0xbc, 0x67, 0x1a, 0xd7, 0xad, 0xb6, 0xe9, 0x92, 0x76, 0xd7, 0xdd, 0xd2, 0x92, 0xd5, 0x32, 0xbe, + 0x82, 0xd2, 0x25, 0xcb, 0x20, 0x4a, 0x1a, 0x88, 0xf0, 0xce, 0x76, 0x61, 0xa2, 0x69, 0x19, 0x44, + 0xa0, 0x02, 0x3c, 0x7e, 0x13, 0xa5, 0x57, 0xcc, 0x36, 0x51, 0x86, 0x9f, 0x4a, 0x5c, 0x1d, 0xbd, + 0x39, 0x3d, 0xc3, 0xa4, 0x32, 0xe3, 0x49, 0x65, 0x66, 0xc5, 0x13, 0xdb, 0x6c, 0xfe, 0x83, 0xed, + 0xc2, 0xd0, 0xce, 0x76, 0x21, 0x4d, 0x25, 0xf9, 0xc3, 0xdf, 0x2e, 0x24, 0x34, 0x28, 0x89, 0x5f, + 0x43, 0xa3, 0xa5, 0x56, 0xcf, 0x71, 0x89, 0xbd, 0xa4, 0xb7, 0x89, 0x92, 0x81, 0x0a, 0xa7, 0x77, + 0xb6, 0x0b, 0xe7, 0x9b, 0x0c, 0xdc, 0xe8, 0xe8, 0x6d, 0xb1, 0x62, 0x91, 0x5c, 0xfd, 0x07, 0x09, + 0x34, 0x59, 0x27, 0x8e, 0x63, 0x5a, 0x1d, 0x5f, 0x36, 0x9f, 0x44, 0x23, 0x1c, 0x54, 0x2d, 0x83, + 0x7c, 0x46, 0x66, 0xb3, 0x3b, 0xdb, 0x85, 0x94, 0x63, 0x1a, 0x5a, 0x80, 0xc1, 0x9f, 0x41, 0xd9, + 0xfb, 0xa6, 0xbb, 0xbe, 0x38, 0x57, 0xe4, 0x72, 0x3a, 0xbf, 0xb3, 0x5d, 0xc0, 0x9b, 0xa6, 0xbb, + 0xde, 0x68, 0x3f, 0xd0, 0x85, 0x0a, 0x3d, 0x32, 0xbc, 0x80, 0xf2, 0x35, 0xdb, 0x7c, 0xa8, 0xbb, + 0xe4, 0x0e, 0xd9, 0xaa, 0x59, 0x2d, 0xb3, 0xb9, 0xc5, 0xa5, 0xf8, 0xd4, 0xce, 0x76, 0xe1, 0x62, + 0x97, 0xe1, 0x1a, 0x1b, 0x64, 0xab, 0xd1, 0x05, 0xac, 0xc0, 0x24, 0x52, 0x52, 0xfd, 0xa3, 0x34, + 0x1a, 0xbb, 0xeb, 0x10, 0xdb, 0x6f, 0xf7, 0x15, 0x94, 0xa6, 0xbf, 0x79, 0x93, 0x41, 0xe6, 0x3d, + 0x87, 0xd8, 0xa2, 0xcc, 0x29, 0x1e, 0x5f, 0x43, 0xc3, 0x0b, 0xd6, 0x9a, 0xd9, 0xe1, 0xcd, 0x3e, + 0xb3, 0xb3, 0x5d, 0x98, 0x6c, 0x51, 0x80, 0x40, 0xc9, 0x28, 0xf0, 0xe7, 0xd1, 0x58, 0xb5, 0x4d, 0x75, 0xc8, 0xea, 0xe8, 0xae, 0x65, 0xf3, 0xd6, 0x82, 0x74, 0x4d, 0x01, 0x2e, 0x14, 0x94, 0xe8, - 0xf1, 0xab, 0x08, 0x15, 0xef, 0xd7, 0x35, 0xab, 0x45, 0x8a, 0xda, 0x02, 0x57, 0x06, 0x28, 0xad, - 0xaf, 0x3b, 0x0d, 0xdb, 0x6a, 0x91, 0x86, 0x6e, 0x8b, 0xd5, 0x0a, 0xd4, 0xb8, 0x82, 0xc6, 0x8a, - 0xcd, 0x26, 0x71, 0x1c, 0x8d, 0x7c, 0xb5, 0x47, 0x1c, 0xd7, 0x51, 0x06, 0x2f, 0xa5, 0xae, 0x0c, - 0x4d, 0x5f, 0xd8, 0xda, 0x2c, 0x3c, 0xa1, 0x03, 0xa6, 0x61, 0x73, 0x94, 0xc0, 0x22, 0x54, 0x08, - 0x4f, 0xa3, 0xd1, 0xe2, 0x47, 0x3d, 0x9b, 0x54, 0x0d, 0xd2, 0x71, 0x4d, 0x77, 0x83, 0x6b, 0xc8, - 0xf9, 0xad, 0xcd, 0x82, 0xa2, 0x53, 0x44, 0xc3, 0xe4, 0x18, 0x81, 0x89, 0x5c, 0x04, 0x2f, 0xa2, - 0x89, 0x3b, 0xa5, 0x5a, 0x9d, 0xd8, 0x0f, 0xcd, 0x26, 0x29, 0x36, 0x9b, 0x56, 0xaf, 0xe3, 0x2a, - 0x59, 0xe0, 0xf3, 0xd4, 0xd6, 0x66, 0xe1, 0xc2, 0x4a, 0xb3, 0xdb, 0x70, 0x18, 0xb6, 0xa1, 0x33, - 0xb4, 0xc0, 0x2c, 0x5a, 0x16, 0xbf, 0x8f, 0x46, 0x97, 0x6c, 0xaa, 0x85, 0x46, 0x99, 0x50, 0xb8, - 0x92, 0x03, 0xfd, 0x3f, 0x3b, 0xc5, 0x27, 0x20, 0x06, 0xf5, 0x7a, 0x96, 0x35, 0xd6, 0x65, 0x05, - 0x1a, 0x06, 0xe0, 0xc4, 0xc6, 0x4a, 0xac, 0x30, 0x41, 0x0a, 0xfd, 0x78, 0xd3, 0x26, 0x46, 0x44, - 0xdb, 0x86, 0xa0, 0xcd, 0x57, 0xb7, 0x36, 0x0b, 0xcf, 0xda, 0x9c, 0xa6, 0xb1, 0xad, 0xda, 0xf5, - 0x65, 0xa5, 0xfe, 0xbd, 0x34, 0x1a, 0xa3, 0x5f, 0x25, 0x28, 0x60, 0x91, 0x8e, 0x25, 0x0a, 0xa1, - 0x43, 0xcb, 0xe9, 0xea, 0x4d, 0xc2, 0x75, 0xf1, 0xdc, 0xd6, 0x66, 0xe1, 0x54, 0xc7, 0x03, 0x0a, - 0xec, 0xc3, 0xf4, 0xf8, 0x2a, 0xca, 0x31, 0x50, 0xb5, 0xcc, 0xd5, 0x73, 0x74, 0x6b, 0xb3, 0x30, - 0xe4, 0x00, 0xac, 0x61, 0x1a, 0x9a, 0x8f, 0xa6, 0xfa, 0xc1, 0xfe, 0x9e, 0xb5, 0x1c, 0x97, 0x32, - 0xe7, 0xda, 0x09, 0xfa, 0xc1, 0x0b, 0xac, 0x72, 0x94, 0xa8, 0x1f, 0x72, 0x21, 0xfc, 0x0a, 0x42, - 0x0c, 0x52, 0x34, 0x0c, 0x9b, 0xab, 0xe8, 0x13, 0x5b, 0x9b, 0x85, 0x33, 0x9c, 0x85, 0x6e, 0x18, - 0xa2, 0x7e, 0x0b, 0xc4, 0xb8, 0x8d, 0x46, 0xd8, 0xaf, 0x39, 0x7d, 0x99, 0xb4, 0x98, 0x7e, 0x0e, - 0xdf, 0xb8, 0xe2, 0x75, 0xa2, 0x2c, 0x9d, 0x29, 0x91, 0xb4, 0xd2, 0x71, 0xed, 0x8d, 0xe9, 0x02, - 0x9f, 0xd2, 0xce, 0xf1, 0xaa, 0x5a, 0x80, 0x13, 0x07, 0x93, 0x58, 0x86, 0xce, 0x74, 0x33, 0x96, - 0xbd, 0xae, 0xdb, 0x06, 0x31, 0xa6, 0x37, 0xc4, 0x99, 0xee, 0x81, 0x07, 0x6e, 0x2c, 0x8b, 0x9d, - 0x27, 0x92, 0xe3, 0x12, 0x1a, 0x65, 0xdc, 0xea, 0xbd, 0xe5, 0xbb, 0x66, 0xc7, 0xe0, 0xfa, 0x2b, - 0x4a, 0xcb, 0xe9, 0x2d, 0x37, 0xd6, 0xcc, 0x8e, 0x38, 0x97, 0xcb, 0x65, 0x26, 0xdf, 0x40, 0x13, - 0x91, 0xcf, 0xc0, 0x79, 0x94, 0x5a, 0x23, 0x1b, 0xac, 0xab, 0x35, 0xfa, 0x27, 0x3e, 0x8d, 0x06, - 0x1f, 0xea, 0xad, 0x1e, 0x5f, 0x40, 0x34, 0xf6, 0xe3, 0xd5, 0xe4, 0x17, 0x12, 0x74, 0xbe, 0xc5, - 0x25, 0xab, 0xd3, 0x21, 0x4d, 0x57, 0x9c, 0x72, 0x5f, 0x46, 0x43, 0x73, 0x56, 0x53, 0x6f, 0x41, - 0x1f, 0x30, 0x9d, 0x51, 0xb6, 0x36, 0x0b, 0xa7, 0xa9, 0xf0, 0xa7, 0x5a, 0x14, 0x23, 0xb4, 0x29, - 0x20, 0xa5, 0x9d, 0xa7, 0x91, 0xb6, 0xe5, 0x12, 0x28, 0x98, 0x0c, 0x3a, 0x0f, 0x0a, 0xda, 0x80, - 0x12, 0x3b, 0x2f, 0x20, 0xc6, 0xd7, 0x51, 0xae, 0x46, 0x57, 0x99, 0xa6, 0xd5, 0xe2, 0x8a, 0x03, - 0x13, 0x21, 0xac, 0x3c, 0x42, 0x11, 0x9f, 0x48, 0x9d, 0x45, 0x63, 0xa5, 0x96, 0x49, 0x3a, 0xae, - 0xd8, 0x6a, 0x3a, 0xa1, 0x16, 0x57, 0x48, 0xc7, 0x15, 0x5b, 0x4d, 0x67, 0xdd, 0x86, 0x4e, 0xa1, - 0x62, 0xab, 0x7d, 0x52, 0xf5, 0xd7, 0x53, 0xe8, 0x89, 0xbb, 0xbd, 0x65, 0x62, 0x77, 0x88, 0x4b, - 0x1c, 0xbe, 0x1c, 0xf9, 0x5c, 0x17, 0xd0, 0x44, 0x04, 0xc9, 0xb9, 0xc3, 0x32, 0xb1, 0xe6, 0x23, - 0x1b, 0x7c, 0x85, 0x13, 0xe7, 0x9a, 0x48, 0x51, 0x3c, 0x8b, 0xc6, 0x03, 0x20, 0x6d, 0x84, 0xa3, - 0x24, 0x61, 0x22, 0xbd, 0xb8, 0xb5, 0x59, 0x98, 0x14, 0xb8, 0xd1, 0x66, 0x8b, 0xda, 0x17, 0x2e, - 0x86, 0xef, 0xa2, 0x7c, 0x00, 0xba, 0x63, 0x5b, 0xbd, 0xae, 0xa3, 0xa4, 0x80, 0x55, 0x61, 0x6b, - 0xb3, 0xf0, 0xa4, 0xc0, 0x6a, 0x05, 0x90, 0xe2, 0xf2, 0x15, 0x2e, 0x88, 0xbf, 0x3b, 0x21, 0x72, - 0xe3, 0x23, 0x28, 0x0d, 0x23, 0xe8, 0xb6, 0x37, 0x82, 0xfa, 0x0a, 0x69, 0x2a, 0x5c, 0x92, 0x0f, - 0xa8, 0x50, 0x33, 0x22, 0x03, 0x2a, 0x52, 0xe3, 0x64, 0x09, 0x9d, 0x89, 0xe5, 0xb5, 0x27, 0xad, - 0xfe, 0xfd, 0x94, 0xc8, 0xa5, 0x66, 0x19, 0x7e, 0x67, 0x2e, 0x8a, 0x9d, 0x59, 0xb3, 0x0c, 0xb0, - 0x51, 0x12, 0xc1, 0xca, 0x21, 0x34, 0xb6, 0x6b, 0x19, 0x61, 0x53, 0x25, 0x5a, 0x16, 0x7f, 0x80, - 0xce, 0x46, 0x80, 0x6c, 0xaa, 0x65, 0xda, 0x7f, 0x79, 0x6b, 0xb3, 0xa0, 0xc6, 0x70, 0x0d, 0xcf, - 0xbc, 0x7d, 0xb8, 0x60, 0x1d, 0x9d, 0x13, 0xa4, 0x6e, 0x75, 0x5c, 0xdd, 0xec, 0x70, 0xd3, 0x8a, - 0x8d, 0x92, 0xe7, 0xb6, 0x36, 0x0b, 0x4f, 0x8b, 0x3a, 0xe8, 0xd1, 0x84, 0x1b, 0xdf, 0x8f, 0x0f, - 0x36, 0x90, 0x12, 0x83, 0xaa, 0xb6, 0xf5, 0x15, 0xcf, 0x5e, 0xbc, 0xb2, 0xb5, 0x59, 0x78, 0x26, - 0xb6, 0x0e, 0x93, 0x52, 0x89, 0xeb, 0x53, 0x3f, 0x4e, 0x58, 0x43, 0x38, 0xc0, 0x2d, 0x58, 0x06, - 0x81, 0x6f, 0x18, 0x04, 0xfe, 0xea, 0xd6, 0x66, 0xe1, 0xa2, 0xc0, 0xbf, 0x63, 0x19, 0x24, 0xdc, - 0xfc, 0x98, 0xd2, 0xea, 0x7f, 0x4e, 0xa0, 0x8b, 0xf5, 0xe2, 0xfc, 0x5c, 0xd5, 0xf0, 0x16, 0xf4, - 0x9a, 0x6d, 0x3d, 0x34, 0x0d, 0x61, 0xf4, 0x2e, 0xa3, 0x73, 0x21, 0x54, 0x05, 0x6c, 0x08, 0xdf, - 0x94, 0x84, 0x6f, 0xf3, 0x8c, 0x85, 0x2e, 0xa7, 0x69, 0x30, 0x43, 0xa3, 0x21, 0xd9, 0xd1, 0xfd, - 0x18, 0xd1, 0x3e, 0x0a, 0xa1, 0xea, 0xab, 0x96, 0xed, 0x36, 0x7b, 0x2e, 0x57, 0x02, 0xe8, 0xa3, - 0x48, 0x1d, 0x0e, 0x27, 0xda, 0xa6, 0x0a, 0x8f, 0x8f, 0xfa, 0xa3, 0x29, 0x74, 0x7e, 0x71, 0xcd, - 0xd5, 0x35, 0xe2, 0x58, 0x3d, 0xbb, 0x49, 0x9c, 0x7b, 0x5d, 0x43, 0x77, 0x49, 0xa0, 0xd8, 0x05, - 0x34, 0x58, 0x34, 0x0c, 0x62, 0xc0, 0x57, 0x0d, 0xb2, 0x3d, 0x82, 0x4e, 0x01, 0x1a, 0x83, 0xe3, - 0x67, 0x51, 0x96, 0x97, 0x81, 0x46, 0x0d, 0x4e, 0x0f, 0x6f, 0x6d, 0x16, 0xb2, 0x3d, 0x06, 0xd2, - 0x3c, 0x1c, 0x25, 0x2b, 0x93, 0x16, 0xa1, 0x64, 0xa9, 0x80, 0xcc, 0x60, 0x20, 0xcd, 0xc3, 0xe1, - 0xb7, 0xd1, 0x18, 0xb0, 0xf5, 0xdb, 0xc3, 0xa7, 0x8a, 0xd3, 0xde, 0x54, 0x21, 0x36, 0x96, 0xcd, - 0xe4, 0xd0, 0x9a, 0x86, 0xed, 0x15, 0xd0, 0x42, 0x0c, 0xf0, 0x7d, 0x94, 0xe7, 0x8d, 0x08, 0x98, - 0x0e, 0x6e, 0xc3, 0xf4, 0xcc, 0xd6, 0x66, 0x61, 0x82, 0xb7, 0x5f, 0x60, 0x1b, 0x61, 0x42, 0x19, - 0xf3, 0x66, 0x07, 0x8c, 0x33, 0x3b, 0x31, 0xe6, 0x5f, 0x2c, 0x32, 0x0e, 0x33, 0x51, 0xdf, 0x43, - 0x23, 0x62, 0x41, 0x7c, 0x16, 0xf6, 0x61, 0x4c, 0xad, 0x60, 0x07, 0x67, 0x1a, 0xb0, 0xf9, 0x7a, - 0x09, 0x0d, 0x97, 0x89, 0xd3, 0xb4, 0xcd, 0x2e, 0x5d, 0x64, 0xb9, 0x4e, 0x8c, 0x6f, 0x6d, 0x16, - 0x86, 0x8d, 0x00, 0xac, 0x89, 0x34, 0xea, 0x7f, 0x4f, 0xa0, 0xb3, 0x94, 0x77, 0xd1, 0x71, 0xcc, - 0x95, 0x4e, 0x5b, 0x5c, 0xe5, 0xae, 0xa1, 0x4c, 0x1d, 0xea, 0xe3, 0x35, 0x9d, 0xde, 0xda, 0x2c, - 0xe4, 0x59, 0x0b, 0x04, 0x4d, 0xe2, 0x34, 0xfe, 0x26, 0x24, 0xb9, 0xc3, 0x26, 0x84, 0x5a, 0x6f, - 0xae, 0x6e, 0xbb, 0x66, 0x67, 0xa5, 0xee, 0xea, 0x6e, 0xcf, 0x91, 0xac, 0x37, 0x8e, 0x69, 0x38, - 0x80, 0x92, 0xac, 0x37, 0xa9, 0x10, 0x7e, 0x03, 0x8d, 0x54, 0x3a, 0x46, 0xc0, 0x84, 0xcd, 0x1f, - 0x4f, 0x52, 0xa3, 0x8a, 0x00, 0x3c, 0xca, 0x42, 0x2a, 0xa0, 0xfe, 0xed, 0x04, 0x52, 0xd8, 0x8e, - 0x61, 0xce, 0x74, 0xdc, 0x79, 0xd2, 0x5e, 0x16, 0x06, 0xf3, 0x8c, 0xb7, 0x05, 0xa1, 0x38, 0x61, - 0xea, 0x86, 0x95, 0x93, 0x6f, 0x41, 0x5a, 0xa6, 0xe3, 0x86, 0xe7, 0x8e, 0x50, 0x29, 0x5c, 0x45, - 0x59, 0xc6, 0x99, 0x2d, 0xbd, 0xc3, 0x37, 0x14, 0x4f, 0x11, 0xc2, 0x55, 0x33, 0x65, 0x68, 0x33, - 0x62, 0x71, 0x0f, 0xc9, 0xcb, 0xab, 0x7f, 0x27, 0x89, 0xf2, 0xe1, 0x42, 0xf8, 0x3e, 0xca, 0xbd, - 0x65, 0x99, 0x1d, 0x62, 0x2c, 0x76, 0xa0, 0x85, 0xdb, 0xef, 0xa4, 0x3d, 0xb3, 0xf3, 0xd4, 0x87, - 0x50, 0xa6, 0x61, 0x09, 0x3b, 0x30, 0xd8, 0x58, 0xfb, 0xcc, 0xf0, 0xfb, 0x68, 0x88, 0x9a, 0x4c, - 0x0f, 0x81, 0x73, 0x72, 0x47, 0xce, 0x97, 0x38, 0xe7, 0xd3, 0x36, 0x2b, 0x14, 0x65, 0x1d, 0xb0, - 0xa3, 0x7a, 0xa5, 0x11, 0xdd, 0xb1, 0x3a, 0xbc, 0xe7, 0x41, 0xaf, 0x6c, 0x80, 0x88, 0x7a, 0xc5, - 0x68, 0xa8, 0xa5, 0xc7, 0x3e, 0x16, 0xba, 0x41, 0x30, 0xd3, 0x99, 0xac, 0xc2, 0x3d, 0x20, 0x10, - 0xab, 0xdf, 0x9b, 0x44, 0x2f, 0x06, 0x22, 0xd3, 0xc8, 0x43, 0x93, 0xac, 0x73, 0x71, 0xae, 0x9a, - 0x5d, 0xbe, 0xc1, 0xa1, 0x2a, 0xef, 0x94, 0x56, 0xf5, 0xce, 0x0a, 0x31, 0xe8, 0x0e, 0x99, 0xee, - 0x42, 0x1d, 0x25, 0x01, 0xd6, 0x0d, 0x4c, 0x27, 0x74, 0xb7, 0x2a, 0xf6, 0x08, 0xa3, 0xc0, 0x16, - 0xca, 0x2c, 0xd9, 0xba, 0xe9, 0x7a, 0x3d, 0x5b, 0x8c, 0xf6, 0xec, 0x2e, 0x6a, 0x9c, 0x62, 0x3c, - 0x98, 0x15, 0x03, 0x82, 0x70, 0x01, 0x20, 0x0a, 0x82, 0x91, 0x4c, 0xbe, 0x82, 0x86, 0x05, 0xe2, - 0x3d, 0x99, 0x29, 0xbf, 0x98, 0x16, 0x75, 0xdd, 0x6b, 0x16, 0xd7, 0xf5, 0xeb, 0x54, 0x47, 0x1d, - 0x87, 0x2e, 0xc2, 0x4c, 0xc9, 0xb9, 0x26, 0x02, 0x48, 0xd6, 0x44, 0x00, 0xe1, 0x9b, 0x28, 0xc7, - 0x58, 0xf8, 0x5b, 0x35, 0xd8, 0xe6, 0xd9, 0x00, 0x93, 0x57, 0x32, 0x9f, 0x10, 0xff, 0x54, 0x02, - 0x5d, 0xd8, 0x56, 0x12, 0xa0, 0x0c, 0xc3, 0x37, 0x3e, 0xbf, 0x2f, 0x31, 0x4e, 0xbf, 0xb8, 0xb5, - 0x59, 0xb8, 0xda, 0xf6, 0x49, 0x1a, 0xb6, 0x40, 0xd3, 0x68, 0x32, 0x22, 0xa1, 0x5d, 0xdb, 0x37, - 0x85, 0xda, 0x5a, 0xac, 0xd2, 0x19, 0x38, 0x67, 0xe8, 0x34, 0x37, 0xbc, 0x46, 0xa6, 0x03, 0x5b, - 0x8b, 0x7f, 0xef, 0x03, 0x8f, 0x24, 0xa6, 0x9a, 0x3e, 0x5c, 0x70, 0x13, 0x9d, 0x63, 0x98, 0xb2, - 0xbe, 0xb1, 0xf8, 0x60, 0xde, 0xea, 0xb8, 0xab, 0x5e, 0x05, 0x83, 0xe2, 0x46, 0x1d, 0x2a, 0x30, - 0xf4, 0x8d, 0x86, 0xf5, 0xa0, 0xd1, 0xa6, 0x54, 0x31, 0x75, 0xf4, 0xe3, 0x44, 0x27, 0x5a, 0x3e, - 0xe6, 0xbc, 0x29, 0x28, 0x13, 0x1c, 0xa3, 0x78, 0xe3, 0x34, 0x3a, 0xe1, 0x84, 0x0a, 0xa9, 0xdf, - 0x1a, 0xa4, 0x9b, 0x5d, 0x38, 0xfb, 0x82, 0x29, 0x18, 0xbf, 0x1a, 0x9c, 0x26, 0xf2, 0x39, 0x27, - 0xef, 0xf5, 0x99, 0x7f, 0x6e, 0x31, 0x42, 0xe7, 0x83, 0xdf, 0xd8, 0x2c, 0x24, 0xb6, 0x36, 0x0b, - 0x03, 0x5a, 0x4e, 0xd8, 0x38, 0x05, 0x8b, 0x84, 0xb0, 0x2a, 0x8a, 0xa7, 0x59, 0xa1, 0xb2, 0x6c, - 0xd1, 0x78, 0x03, 0x65, 0x79, 0x1b, 0xb8, 0x9a, 0x9c, 0x0b, 0xf6, 0xda, 0xd2, 0x19, 0x5e, 0xa8, - 0xb4, 0x57, 0x0a, 0xbf, 0x86, 0x32, 0x6c, 0xff, 0x0a, 0x3d, 0x28, 0x1c, 0xb8, 0xc8, 0x7b, 0xf5, - 0x50, 0x71, 0x5e, 0x06, 0xcf, 0x22, 0x14, 0xec, 0x5d, 0xfd, 0x23, 0x4b, 0xce, 0x21, 0xba, 0xab, - 0x0d, 0x71, 0x11, 0xca, 0xe2, 0x97, 0xd1, 0xc8, 0x12, 0xb1, 0xdb, 0x66, 0x47, 0x6f, 0xd5, 0xcd, - 0x8f, 0xbc, 0x53, 0x4b, 0x58, 0x2d, 0x1d, 0xf3, 0x23, 0x71, 0xb8, 0x49, 0x74, 0xf8, 0x2b, 0x71, - 0x7b, 0xc3, 0x2c, 0x34, 0xe4, 0xa9, 0x1d, 0x37, 0x4d, 0xa1, 0xf6, 0xc4, 0x6c, 0x15, 0xdf, 0x46, - 0xa3, 0xd2, 0xb6, 0x80, 0x1f, 0x4b, 0x5d, 0x88, 0xb2, 0x16, 0xf6, 0x38, 0x21, 0xb6, 0x32, 0x07, - 0xaa, 0x7e, 0xd5, 0x8e, 0xe9, 0x9a, 0x7a, 0xab, 0x64, 0xb5, 0xdb, 0x7a, 0xc7, 0x50, 0x86, 0x02, - 0xf5, 0x33, 0x19, 0xa6, 0xd1, 0x64, 0x28, 0x51, 0xfd, 0xe4, 0x42, 0x74, 0xeb, 0xc9, 0xfb, 0x50, - 0x23, 0x4d, 0xcb, 0xa6, 0x0b, 0xb8, 0x82, 0x40, 0x68, 0xb0, 0xe7, 0x73, 0x18, 0xae, 0x61, 0x7b, - 0x48, 0x71, 0xcf, 0x17, 0x2e, 0xf8, 0x56, 0x3a, 0x37, 0x9c, 0x1f, 0x09, 0x1f, 0x14, 0xaa, 0x7f, - 0x2b, 0x85, 0x86, 0x39, 0x29, 0x5d, 0xff, 0x4e, 0x14, 0xfc, 0x20, 0x0a, 0x1e, 0xab, 0xa8, 0x99, - 0xc7, 0xa5, 0xa8, 0xea, 0x0f, 0x26, 0xfd, 0xd9, 0xa8, 0x66, 0x9b, 0x9d, 0x83, 0xcd, 0x46, 0x97, - 0x11, 0x2a, 0xad, 0xf6, 0x3a, 0x6b, 0xec, 0x42, 0x24, 0x19, 0x5c, 0x88, 0x34, 0x4d, 0x4d, 0xc0, - 0xe0, 0x0b, 0x28, 0x5d, 0xa6, 0xfc, 0x69, 0xcf, 0x8c, 0x4c, 0x0f, 0x7d, 0xcc, 0x38, 0x25, 0x5e, - 0xd4, 0x00, 0x4c, 0x77, 0x44, 0xd3, 0x1b, 0x2e, 0x61, 0x36, 0x68, 0x8a, 0xed, 0x88, 0x96, 0x29, - 0x40, 0x63, 0x70, 0x7c, 0x0b, 0x4d, 0x94, 0x49, 0x4b, 0xdf, 0x98, 0x37, 0x5b, 0x2d, 0xd3, 0x21, - 0x4d, 0xab, 0x63, 0x38, 0x20, 0x64, 0x5e, 0x5d, 0xdb, 0xd1, 0xa2, 0x04, 0x58, 0x45, 0x99, 0xc5, - 0x07, 0x0f, 0x1c, 0xe2, 0x82, 0xf8, 0x52, 0xd3, 0x68, 0x6b, 0xb3, 0x90, 0xb1, 0x00, 0xa2, 0x71, - 0x8c, 0xfa, 0xb3, 0x09, 0xba, 0xe5, 0x70, 0xd6, 0x5c, 0xab, 0xeb, 0x6b, 0xf9, 0x81, 0x44, 0x72, - 0x35, 0x30, 0x06, 0x92, 0xf0, 0xb5, 0xe3, 0xfc, 0x6b, 0xb3, 0xdc, 0x20, 0x08, 0xcc, 0x80, 0xd8, - 0xaf, 0x4a, 0xed, 0xf0, 0x55, 0xea, 0x1f, 0x24, 0xd1, 0x39, 0xde, 0xe2, 0x52, 0xcb, 0xec, 0x2e, - 0x5b, 0xba, 0x6d, 0x68, 0xa4, 0x49, 0xcc, 0x87, 0xe4, 0x68, 0x0e, 0x3c, 0x79, 0xe8, 0xa4, 0x0f, - 0x30, 0x74, 0x6e, 0xc0, 0xee, 0x8d, 0x4a, 0x06, 0x0e, 0x35, 0x99, 0x25, 0x90, 0xdf, 0xda, 0x2c, - 0x8c, 0x18, 0x0c, 0x0c, 0x47, 0xd2, 0x9a, 0x48, 0x44, 0x95, 0x64, 0x8e, 0x74, 0x56, 0xdc, 0x55, - 0x50, 0x92, 0x41, 0xa6, 0x24, 0x2d, 0x80, 0x68, 0x1c, 0xa3, 0xfe, 0xd7, 0x24, 0x3a, 0x1d, 0x16, - 0x79, 0x9d, 0x74, 0x8c, 0x13, 0x79, 0x7f, 0x32, 0xf2, 0xfe, 0xc3, 0x14, 0x7a, 0x92, 0x97, 0xa9, - 0xaf, 0xea, 0x36, 0x31, 0xca, 0xa6, 0x4d, 0x9a, 0xae, 0x65, 0x6f, 0x1c, 0x61, 0x03, 0xea, 0xf1, - 0x89, 0xfd, 0x16, 0xca, 0xf0, 0x3d, 0x3b, 0x5b, 0x67, 0xc6, 0xfc, 0x96, 0x00, 0x34, 0xb2, 0x42, - 0xb1, 0xfd, 0x7e, 0xa8, 0xb3, 0x32, 0xbb, 0xe9, 0xac, 0x2f, 0xa0, 0x51, 0x5f, 0xf4, 0xb0, 0x7b, - 0xcc, 0x06, 0xd6, 0x96, 0xe1, 0x21, 0x60, 0x03, 0xa9, 0xc9, 0x84, 0x50, 0x9b, 0x07, 0xa8, 0x96, - 0xc1, 0x1a, 0x1a, 0xe5, 0xb5, 0xf9, 0xe5, 0x4c, 0x43, 0x13, 0x89, 0xd4, 0xcd, 0x34, 0x9a, 0x8c, - 0xef, 0x76, 0x8d, 0xe8, 0xc6, 0x49, 0xaf, 0x7f, 0x26, 0x7b, 0x1d, 0x3f, 0x85, 0xd2, 0x35, 0xdd, - 0x5d, 0xe5, 0x17, 0xac, 0x70, 0x67, 0xf9, 0xc0, 0x6c, 0x91, 0x46, 0x57, 0x77, 0x57, 0x35, 0x40, - 0x09, 0x73, 0x06, 0x02, 0x8e, 0x31, 0x73, 0x86, 0xb0, 0xd8, 0x0f, 0x5f, 0x4a, 0x5c, 0x49, 0xc7, - 0x2e, 0xf6, 0xdf, 0x4a, 0xf7, 0x9b, 0x57, 0xee, 0xdb, 0xa6, 0x4b, 0x4e, 0x34, 0xec, 0x44, 0xc3, - 0x0e, 0xa8, 0x61, 0xff, 0x26, 0x89, 0x46, 0xfd, 0x4d, 0xd3, 0x87, 0xa4, 0x79, 0x38, 0x6b, 0x55, - 0xb0, 0x95, 0x49, 0x1d, 0x78, 0x2b, 0x73, 0x10, 0x85, 0x52, 0xfd, 0x73, 0x4a, 0x66, 0x1a, 0x80, - 0xc4, 0xd8, 0x39, 0xa5, 0x7f, 0x3a, 0xf9, 0x14, 0xca, 0xce, 0xeb, 0x8f, 0xcc, 0x76, 0xaf, 0xcd, - 0xad, 0x74, 0x70, 0x18, 0x6a, 0xeb, 0x8f, 0x34, 0x0f, 0xae, 0xfe, 0x56, 0x02, 0x8d, 0x71, 0xa1, - 0x72, 0xe6, 0x07, 0x92, 0x6a, 0x20, 0x9d, 0xe4, 0x81, 0xa5, 0x93, 0xda, 0xbf, 0x74, 0xd4, 0xbf, - 0x9a, 0x42, 0xca, 0x8c, 0xd9, 0x22, 0x4b, 0xb6, 0xde, 0x71, 0x1e, 0x10, 0x9b, 0x6f, 0xa7, 0x2b, - 0x94, 0xd5, 0x81, 0x3e, 0x50, 0x98, 0x52, 0x92, 0xfb, 0x9a, 0x52, 0x5e, 0x40, 0x43, 0xbc, 0x31, - 0xbe, 0xb3, 0x1a, 0x8c, 0x1a, 0xdb, 0x03, 0x6a, 0x01, 0x9e, 0x12, 0x17, 0xbb, 0x5d, 0xdb, 0x7a, - 0x48, 0x6c, 0x76, 0xb5, 0xc4, 0x89, 0x75, 0x0f, 0xa8, 0x05, 0x78, 0x81, 0x33, 0xf1, 0xec, 0x45, - 0x91, 0x33, 0xb1, 0xb5, 0x00, 0x8f, 0xaf, 0xa0, 0xdc, 0x9c, 0xd5, 0xd4, 0x41, 0xd0, 0x6c, 0x5a, - 0x19, 0xd9, 0xda, 0x2c, 0xe4, 0x5a, 0x1c, 0xa6, 0xf9, 0x58, 0x4a, 0x59, 0xb6, 0xd6, 0x3b, 0x2d, - 0x4b, 0x67, 0xce, 0x19, 0x39, 0x46, 0x69, 0x70, 0x98, 0xe6, 0x63, 0x29, 0x25, 0x95, 0x39, 0x38, - 0xbd, 0xe4, 0x02, 0x9e, 0x0f, 0x38, 0x4c, 0xf3, 0xb1, 0xea, 0xcf, 0xa6, 0xa9, 0xf6, 0x3a, 0xe6, - 0x47, 0xc7, 0x7e, 0x5d, 0x08, 0x06, 0xcc, 0xe0, 0x3e, 0x06, 0xcc, 0xb1, 0x39, 0xb0, 0x53, 0xff, - 0x47, 0x16, 0x21, 0x2e, 0xfd, 0xca, 0xc9, 0xe6, 0xf0, 0x60, 0x5a, 0x53, 0x46, 0x13, 0x95, 0xce, - 0xaa, 0xde, 0x69, 0x12, 0x23, 0x38, 0xb6, 0xcc, 0xc0, 0xd0, 0x06, 0x67, 0x51, 0xc2, 0x91, 0xc1, - 0xb9, 0xa5, 0x16, 0x2d, 0x80, 0x5f, 0x42, 0xc3, 0xd5, 0x8e, 0x4b, 0x6c, 0xbd, 0xe9, 0x9a, 0x0f, - 0x09, 0x9f, 0x1a, 0xe0, 0x3a, 0xd7, 0x0c, 0xc0, 0x9a, 0x48, 0x83, 0x6f, 0xa1, 0x91, 0x9a, 0x6e, - 0xbb, 0x66, 0xd3, 0xec, 0xea, 0x1d, 0xd7, 0x51, 0x72, 0x30, 0xa3, 0x81, 0x85, 0xd1, 0x15, 0xe0, - 0x9a, 0x44, 0x85, 0xbf, 0x82, 0x86, 0x60, 0x6b, 0x0a, 0x1e, 0xb9, 0x43, 0x3b, 0xde, 0xf6, 0x3d, - 0x1d, 0xb8, 0xaf, 0xb1, 0xd3, 0x57, 0xb8, 0xb6, 0x0d, 0x5f, 0xf8, 0xf9, 0x1c, 0xf1, 0xbb, 0x28, - 0x5b, 0xe9, 0x18, 0xc0, 0x1c, 0xed, 0xc8, 0x5c, 0xe5, 0xcc, 0xcf, 0x06, 0xcc, 0xad, 0x6e, 0x88, - 0xb7, 0xc7, 0x2e, 0x7e, 0x94, 0x0d, 0x7f, 0x72, 0xa3, 0x6c, 0xe4, 0x13, 0x38, 0x16, 0x1f, 0x7d, - 0x5c, 0xc7, 0xe2, 0x63, 0xfb, 0x3c, 0x16, 0x57, 0x3f, 0x42, 0xc3, 0xd3, 0xb5, 0x19, 0x7f, 0xf4, - 0x3e, 0x81, 0x52, 0x35, 0xee, 0x5e, 0x90, 0x66, 0xf6, 0x4c, 0xd7, 0x34, 0x34, 0x0a, 0xc3, 0x57, - 0x51, 0xae, 0x04, 0x2e, 0x5e, 0xfc, 0xea, 0x2f, 0xcd, 0xd6, 0xbf, 0x26, 0xc0, 0xc0, 0x4b, 0xd3, - 0x43, 0xe3, 0x67, 0x51, 0xb6, 0x66, 0x5b, 0x2b, 0xb6, 0xde, 0xe6, 0x6b, 0x30, 0xf8, 0x77, 0x74, - 0x19, 0x48, 0xf3, 0x70, 0xea, 0x5f, 0x48, 0x78, 0x66, 0x3b, 0x2d, 0x51, 0xef, 0xc1, 0xd1, 0x3c, - 0xd4, 0x9d, 0x63, 0x25, 0x1c, 0x06, 0xd2, 0x3c, 0x1c, 0xbe, 0x8a, 0x06, 0x2b, 0xb6, 0x6d, 0xd9, - 0xa2, 0x17, 0x33, 0xa1, 0x00, 0xf1, 0x8e, 0x16, 0x28, 0xf0, 0x6d, 0x34, 0xcc, 0xe6, 0x1c, 0x76, - 0xa2, 0x99, 0xda, 0xee, 0x7a, 0x53, 0xa4, 0x54, 0xbf, 0x9e, 0x12, 0x6c, 0x36, 0x26, 0xf1, 0x63, - 0x78, 0x2b, 0x70, 0x13, 0xa5, 0xa6, 0x6b, 0x33, 0x7c, 0x02, 0x3c, 0xe5, 0x15, 0x15, 0x54, 0x25, - 0x54, 0x8e, 0x52, 0xe3, 0xf3, 0x28, 0x5d, 0xa3, 0xea, 0x93, 0x01, 0xf5, 0xc8, 0x6d, 0x6d, 0x16, - 0xd2, 0x5d, 0xaa, 0x3f, 0x00, 0x05, 0x2c, 0xdd, 0xcc, 0xb0, 0x1d, 0x13, 0xc3, 0x06, 0xfb, 0x98, - 0xf3, 0x28, 0x5d, 0xb4, 0x57, 0x1e, 0xf2, 0x59, 0x0b, 0xb0, 0xba, 0xbd, 0xf2, 0x50, 0x03, 0x28, - 0xbe, 0x8e, 0x90, 0x46, 0xdc, 0x9e, 0xdd, 0x81, 0x00, 0x83, 0x21, 0x38, 0x7f, 0x83, 0xd9, 0xd0, - 0x06, 0x68, 0xa3, 0x69, 0x19, 0x44, 0x13, 0x48, 0xd4, 0xbf, 0x19, 0x5c, 0xec, 0x94, 0x4d, 0x67, - 0xed, 0xa4, 0x0b, 0xf7, 0xd0, 0x85, 0x3a, 0x3f, 0xe2, 0x8c, 0x76, 0x52, 0x01, 0x0d, 0xce, 0xb4, - 0xf4, 0x15, 0x07, 0xfa, 0x90, 0x3b, 0x80, 0x3d, 0xa0, 0x00, 0x8d, 0xc1, 0x43, 0xfd, 0x94, 0xdb, - 0xb9, 0x9f, 0x7e, 0x6c, 0xd0, 0x1f, 0x6d, 0x0b, 0xc4, 0x5d, 0xb7, 0xec, 0x93, 0xae, 0xda, 0x6d, - 0x57, 0x5d, 0x46, 0xd9, 0xba, 0xdd, 0x14, 0x8e, 0x2e, 0x60, 0x3f, 0xe0, 0xd8, 0x4d, 0x76, 0x6c, - 0xe1, 0x21, 0x29, 0x5d, 0xd9, 0x71, 0x81, 0x2e, 0x1b, 0xd0, 0x19, 0x8e, 0xcb, 0xe9, 0x38, 0x92, - 0xd3, 0xd5, 0x2c, 0xdb, 0xe5, 0x1d, 0xe7, 0xd3, 0x75, 0x2d, 0xdb, 0xd5, 0x3c, 0x24, 0x7e, 0x01, - 0xa1, 0xa5, 0x52, 0xed, 0x1d, 0x62, 0x83, 0xb8, 0x86, 0x02, 0x07, 0xbe, 0x87, 0x0c, 0xa4, 0x09, - 0x68, 0xbc, 0x84, 0x86, 0x16, 0xbb, 0xc4, 0x66, 0x5b, 0x21, 0x6a, 0x01, 0x8c, 0xdd, 0x78, 0x2e, - 0x24, 0x5a, 0xde, 0xef, 0x53, 0xfc, 0x7f, 0x9f, 0x9c, 0xad, 0x2f, 0x96, 0xf7, 0x53, 0x0b, 0x18, - 0xe1, 0xdb, 0x28, 0x53, 0x64, 0x76, 0xde, 0x30, 0xb0, 0xf4, 0x45, 0x06, 0x5b, 0x50, 0x86, 0x62, - 0x7b, 0x76, 0x1d, 0xfe, 0xd6, 0x38, 0xb9, 0x7a, 0x15, 0xe5, 0xc3, 0xd5, 0xe0, 0x61, 0x94, 0x2d, - 0x2d, 0x2e, 0x2c, 0x54, 0x4a, 0x4b, 0xf9, 0x01, 0x9c, 0x43, 0xe9, 0x7a, 0x65, 0xa1, 0x9c, 0x4f, - 0xa8, 0x3f, 0x2d, 0xcc, 0x20, 0x54, 0xb5, 0x4e, 0xae, 0x86, 0x0f, 0x74, 0xdf, 0x92, 0x87, 0xfb, - 0x50, 0x38, 0x31, 0x68, 0x9b, 0xae, 0x4b, 0x0c, 0xbe, 0x4a, 0xc0, 0x7d, 0xa1, 0xfb, 0x48, 0x8b, - 0xe0, 0xf1, 0x35, 0x34, 0x0a, 0x30, 0x7e, 0x45, 0xc8, 0xf6, 0xc7, 0xbc, 0x80, 0xfd, 0x48, 0x93, - 0x91, 0xea, 0x37, 0x83, 0xdb, 0xe1, 0x39, 0xa2, 0x1f, 0xd5, 0x1b, 0xc5, 0x4f, 0x49, 0x7f, 0xa9, - 0x7f, 0x9c, 0x66, 0x61, 0x0e, 0x2c, 0x22, 0xec, 0x30, 0x44, 0x19, 0x1c, 0xe9, 0xa6, 0xf6, 0x70, - 0xa4, 0x7b, 0x0d, 0x65, 0xe6, 0x89, 0xbb, 0x6a, 0x79, 0xde, 0x5a, 0xe0, 0x56, 0xd7, 0x06, 0x88, - 0xe8, 0x56, 0xc7, 0x68, 0xf0, 0x1a, 0xc2, 0x5e, 0xb8, 0x57, 0xd1, 0x75, 0x6d, 0x73, 0xb9, 0xe7, - 0x12, 0xef, 0x08, 0xf9, 0x5c, 0x64, 0x9f, 0x52, 0x87, 0x58, 0x4f, 0xf0, 0x23, 0x3f, 0xad, 0xfb, - 0xe4, 0x01, 0xdb, 0x3f, 0xda, 0x2c, 0x64, 0x18, 0x8d, 0x16, 0xc3, 0x16, 0xbf, 0x8d, 0x86, 0xe6, - 0x67, 0x8a, 0x3c, 0xf4, 0x8b, 0x79, 0x45, 0x3c, 0xe1, 0x4b, 0xd1, 0x43, 0xf8, 0x22, 0x81, 0x98, - 0x92, 0xf6, 0x03, 0x3d, 0x1a, 0xf9, 0x15, 0x70, 0xa1, 0xda, 0xc2, 0xa2, 0x53, 0xf8, 0xe9, 0x82, - 0xaf, 0x2d, 0x72, 0xcc, 0x4a, 0x58, 0x56, 0x0c, 0x1b, 0xd2, 0x96, 0xdc, 0x01, 0x46, 0xf7, 0x22, - 0x9a, 0x28, 0x76, 0xbb, 0x2d, 0x93, 0x18, 0xa0, 0x2f, 0x5a, 0xaf, 0x45, 0x1c, 0xee, 0xf2, 0x03, - 0x01, 0x0f, 0x3a, 0x43, 0x36, 0x20, 0xe0, 0xb0, 0x61, 0xf7, 0x64, 0xa7, 0xca, 0x68, 0x59, 0xf5, - 0xbf, 0x24, 0x50, 0xde, 0xf3, 0x78, 0x16, 0x43, 0x1d, 0x05, 0x77, 0x5c, 0x38, 0x86, 0x09, 0x39, - 0x80, 0x02, 0x1e, 0xd7, 0x51, 0xb6, 0xf2, 0xa8, 0x6b, 0xda, 0xc4, 0xd9, 0x85, 0xf7, 0xea, 0x05, - 0xbe, 0xe5, 0x9c, 0x20, 0xac, 0x48, 0x64, 0xb7, 0xc9, 0xc0, 0x10, 0xf6, 0xc3, 0x7c, 0xbe, 0xa7, - 0xbd, 0xf8, 0x4d, 0x16, 0xf6, 0xc3, 0x7d, 0xc3, 0xa5, 0x18, 0xac, 0x80, 0x14, 0x3f, 0x8d, 0x52, - 0x4b, 0x4b, 0x73, 0x5c, 0x1b, 0x21, 0x6e, 0xd6, 0x75, 0xc5, 0xb8, 0x26, 0x8a, 0x55, 0x7f, 0x34, - 0x89, 0x10, 0x55, 0xfa, 0x92, 0x4d, 0xf4, 0x43, 0xba, 0xcc, 0x99, 0x46, 0x39, 0x4f, 0xe0, 0x7c, - 0xc0, 0xf9, 0xee, 0xca, 0xe1, 0x8e, 0x08, 0xd7, 0xed, 0xbb, 0xa6, 0x17, 0x3c, 0x0f, 0x5a, 0x76, - 0x96, 0x0a, 0xd6, 0x21, 0x78, 0xd0, 0x7a, 0x7e, 0xb3, 0x2f, 0xa0, 0x21, 0xae, 0x35, 0x96, 0x74, - 0x86, 0xda, 0xf4, 0x80, 0x5a, 0x80, 0x57, 0xbf, 0x91, 0x60, 0x42, 0x61, 0x1e, 0xf1, 0x47, 0x55, - 0x28, 0xea, 0xf7, 0x27, 0x10, 0xa6, 0xcc, 0x6a, 0xba, 0xe3, 0xac, 0x5b, 0xb6, 0xc1, 0x5c, 0x34, - 0x0f, 0xe3, 0x73, 0xd4, 0xdf, 0xca, 0xa2, 0x53, 0x92, 0xff, 0xdb, 0x11, 0xd7, 0xb7, 0xab, 0xb2, - 0xbe, 0x6d, 0xe7, 0xb1, 0xfd, 0x8c, 0x78, 0x2f, 0x30, 0x28, 0x05, 0x4f, 0x08, 0x17, 0x02, 0x2f, - 0xa2, 0x11, 0xfe, 0x83, 0x2e, 0x27, 0xde, 0x81, 0x2f, 0xe8, 0xb1, 0x43, 0x01, 0x9a, 0x84, 0xc6, - 0x9f, 0x47, 0x43, 0x54, 0x39, 0x57, 0x20, 0x4a, 0x3a, 0x1b, 0x78, 0x43, 0x1b, 0x1e, 0x50, 0x9c, - 0x12, 0x7c, 0x4a, 0xc1, 0x07, 0x3e, 0xb7, 0x0b, 0x1f, 0xf8, 0x0f, 0xd0, 0x70, 0xb1, 0xd3, 0xb1, - 0x5c, 0xb0, 0x55, 0x1d, 0x7e, 0x42, 0xd7, 0x77, 0x71, 0x7a, 0x1a, 0xe2, 0x20, 0x03, 0xfa, 0xd8, - 0xd5, 0x49, 0x64, 0x88, 0x6f, 0x78, 0x1e, 0xdd, 0xc4, 0xe6, 0xce, 0x95, 0x70, 0x4a, 0x69, 0x73, - 0x58, 0xd4, 0xa1, 0x1b, 0x3a, 0x6f, 0xb4, 0x66, 0x5b, 0x5d, 0xcb, 0x21, 0x06, 0x13, 0xd4, 0x70, - 0x10, 0x5e, 0xdd, 0xe5, 0x08, 0x88, 0xc1, 0x90, 0x22, 0x96, 0xa5, 0x22, 0xf8, 0x01, 0x3a, 0xed, - 0xdd, 0x97, 0xf8, 0xd1, 0x2e, 0xd5, 0xb2, 0xa3, 0x8c, 0x80, 0x47, 0x3d, 0x0e, 0x2b, 0x43, 0xb5, - 0x3c, 0x7d, 0xd1, 0x3b, 0x1d, 0xf4, 0xc2, 0x65, 0x1a, 0xa6, 0x21, 0x76, 0x75, 0x2c, 0x3f, 0xfc, - 0x9d, 0x68, 0x78, 0x5e, 0x7f, 0x54, 0xee, 0xf1, 0x2d, 0xc8, 0xe8, 0xee, 0x0f, 0x21, 0xdb, 0xfa, - 0xa3, 0x86, 0xc1, 0xcb, 0x85, 0x96, 0x05, 0x91, 0x25, 0x6e, 0xa0, 0xb3, 0x35, 0xdb, 0x6a, 0x5b, - 0x2e, 0x31, 0x42, 0x81, 0x23, 0xe3, 0x41, 0x60, 0x56, 0x97, 0x53, 0x34, 0xb6, 0x89, 0x20, 0xe9, - 0xc3, 0xe6, 0xad, 0x74, 0x6e, 0x2c, 0x3f, 0xae, 0x9d, 0x8b, 0x62, 0x97, 0x4c, 0xb7, 0x45, 0xd4, - 0x5f, 0x4e, 0xd0, 0x4d, 0xb7, 0xf7, 0xc5, 0xf8, 0x45, 0x39, 0x37, 0x42, 0x22, 0x38, 0x80, 0xe3, - 0x91, 0xa3, 0x52, 0x32, 0x04, 0xba, 0xe1, 0x87, 0xc8, 0xe0, 0x64, 0xb0, 0xe1, 0x5f, 0x33, 0x3b, - 0x86, 0x06, 0x50, 0x8a, 0x15, 0xc2, 0x00, 0x01, 0x0b, 0x97, 0x4d, 0x6c, 0xa5, 0x2d, 0xa3, 0xf1, - 0x7a, 0x6f, 0xd9, 0xab, 0x5b, 0x08, 0xd2, 0x80, 0x00, 0x65, 0xa7, 0xb7, 0xec, 0x47, 0x36, 0x49, - 0xe1, 0xdf, 0x72, 0x11, 0xf5, 0x67, 0x13, 0xa1, 0x69, 0xe9, 0x10, 0x67, 0xfc, 0x67, 0xa2, 0xf7, - 0x87, 0xd1, 0x79, 0x42, 0xfd, 0x6b, 0x49, 0x34, 0x4c, 0xb7, 0xc2, 0x3c, 0xd4, 0xfa, 0x50, 0x5a, - 0xfa, 0xd8, 0x6e, 0x73, 0x05, 0x4b, 0x3b, 0xbd, 0x07, 0x4b, 0xfb, 0x3c, 0x4a, 0x0b, 0xae, 0x73, - 0xec, 0xbc, 0xce, 0x30, 0x6c, 0x0d, 0xa0, 0xea, 0x77, 0x25, 0x11, 0x7a, 0xf7, 0xa5, 0x97, 0x8e, - 0xb1, 0x80, 0xd4, 0xbf, 0x92, 0x40, 0xe3, 0xfc, 0x00, 0x59, 0xc8, 0x32, 0x92, 0xf5, 0x8e, 0xfe, - 0xc5, 0x71, 0xc9, 0x40, 0x9a, 0x87, 0xa3, 0x73, 0x72, 0xe5, 0x91, 0xe9, 0xc2, 0x19, 0x9a, 0x90, - 0x66, 0x84, 0x70, 0x98, 0x38, 0x27, 0x7b, 0x74, 0xf8, 0x45, 0xef, 0x68, 0x3c, 0x15, 0x2c, 0x44, - 0xb4, 0x40, 0x25, 0xf6, 0x78, 0x5c, 0xfd, 0xf9, 0x34, 0x4a, 0x57, 0x1e, 0x91, 0xe6, 0x11, 0xef, - 0x1a, 0x61, 0xc3, 0x9d, 0x3e, 0xe0, 0x86, 0x7b, 0x3f, 0x77, 0x7d, 0x6f, 0x04, 0xfd, 0x99, 0x91, - 0xab, 0x0f, 0xf5, 0x7c, 0xb8, 0x7a, 0xaf, 0xa7, 0x8f, 0xde, 0x55, 0xf1, 0x3f, 0x4b, 0xa1, 0x54, - 0xbd, 0x54, 0x3b, 0xd1, 0x9b, 0x43, 0xd5, 0x9b, 0xed, 0xef, 0x52, 0x54, 0xff, 0x78, 0x34, 0x17, - 0x78, 0x2f, 0x85, 0x4e, 0x42, 0xff, 0x30, 0x85, 0xc6, 0xea, 0x33, 0x4b, 0x35, 0xe1, 0x84, 0xe2, - 0x2e, 0xf3, 0x30, 0x01, 0x5f, 0x07, 0xd6, 0xa5, 0xe7, 0x23, 0x76, 0xd2, 0xbd, 0x6a, 0xc7, 0x7d, - 0xf9, 0xd6, 0x3b, 0x7a, 0xab, 0x47, 0x60, 0x3b, 0xcb, 0xfc, 0xd1, 0x1c, 0xf3, 0x23, 0xf2, 0xe3, - 0x10, 0x45, 0xea, 0x31, 0xc0, 0x5f, 0x44, 0xa9, 0x7b, 0xfc, 0xa6, 0xb0, 0x1f, 0x9f, 0x9b, 0x37, - 0x18, 0x1f, 0x3a, 0x09, 0xa6, 0x7a, 0xa6, 0x01, 0x1c, 0x68, 0x29, 0x5a, 0xf8, 0x0e, 0x5f, 0x80, - 0x77, 0x55, 0x78, 0xc5, 0x2b, 0x7c, 0xa7, 0x5a, 0xc6, 0x75, 0x34, 0x5c, 0x23, 0x76, 0xdb, 0x84, - 0x8e, 0xf2, 0xe6, 0xec, 0xed, 0x99, 0xd0, 0xad, 0xc3, 0x70, 0x37, 0x28, 0x04, 0xcc, 0x44, 0x2e, - 0xf8, 0x3d, 0x84, 0x98, 0x8d, 0xb2, 0xcb, 0xcc, 0x55, 0x17, 0xc0, 0x10, 0x67, 0xb6, 0x9e, 0x6b, - 0x8a, 0x66, 0x1e, 0x18, 0x90, 0x02, 0x33, 0xbc, 0x86, 0xf2, 0xf3, 0x96, 0x61, 0x3e, 0x30, 0x99, - 0x4b, 0x10, 0x54, 0x90, 0xd9, 0xf9, 0x22, 0x7e, 0x6b, 0xb3, 0xf0, 0x64, 0x5b, 0x28, 0x17, 0x57, - 0x4d, 0x84, 0xb1, 0xfa, 0x8f, 0x07, 0x51, 0x9a, 0x76, 0xfb, 0xc9, 0xf8, 0x3d, 0xc8, 0xf8, 0x2d, - 0xa2, 0xfc, 0x7d, 0xcb, 0x5e, 0x33, 0x3b, 0x2b, 0xbe, 0xb7, 0x26, 0xdf, 0x2c, 0xc2, 0x0d, 0xf3, - 0x3a, 0xc3, 0x35, 0x7c, 0xc7, 0x4e, 0x2d, 0x42, 0xbe, 0xc3, 0x08, 0x7e, 0x05, 0xa1, 0x25, 0xdd, - 0x5e, 0x21, 0x2e, 0xd0, 0xe4, 0x82, 0xc8, 0x67, 0x17, 0xa0, 0xe0, 0x00, 0x2a, 0x46, 0x3e, 0x07, - 0xc4, 0x74, 0x57, 0xcc, 0xee, 0xe8, 0x86, 0xc0, 0x1f, 0x14, 0x76, 0xc5, 0x70, 0x47, 0x27, 0x1a, - 0x01, 0xec, 0xb6, 0xae, 0x86, 0x90, 0x70, 0xee, 0x89, 0x42, 0x82, 0x90, 0x26, 0x07, 0x9e, 0x9a, - 0x27, 0xe6, 0xd8, 0x53, 0x13, 0x78, 0xe0, 0x97, 0x43, 0x17, 0x33, 0x58, 0xe2, 0xd6, 0xf7, 0x5e, - 0x26, 0xb8, 0xd8, 0x1f, 0xd9, 0xe9, 0x62, 0x5f, 0xfd, 0xc1, 0x24, 0x1a, 0xaa, 0xf7, 0x96, 0x9d, - 0x0d, 0xc7, 0x25, 0xed, 0x23, 0xae, 0xc6, 0xde, 0xf6, 0x2a, 0x1d, 0xbb, 0xbd, 0x7a, 0xda, 0x13, - 0x8a, 0x70, 0x54, 0xe6, 0x9b, 0x74, 0x9e, 0x38, 0xfe, 0x6e, 0x12, 0xe5, 0xd9, 0x81, 0x6e, 0xd9, - 0x74, 0x9a, 0x8f, 0xc1, 0xc9, 0xf4, 0xf0, 0xa5, 0x72, 0xb0, 0x4b, 0x90, 0x5d, 0xb8, 0xee, 0xaa, - 0x5f, 0x4b, 0xa2, 0xe1, 0x62, 0xcf, 0x5d, 0x2d, 0xba, 0xa0, 0x5b, 0xc7, 0x72, 0x7f, 0xf2, 0xab, - 0x09, 0x34, 0x4e, 0x1b, 0xb2, 0x64, 0xad, 0x91, 0xce, 0x63, 0x38, 0x09, 0x14, 0x4f, 0xf4, 0x92, - 0xfb, 0x3c, 0xd1, 0xf3, 0x64, 0x99, 0xda, 0xe3, 0xc9, 0xe6, 0x37, 0x12, 0x08, 0x69, 0x56, 0x8b, - 0x7c, 0x46, 0x3e, 0xe3, 0x31, 0x1c, 0x80, 0x1c, 0xe6, 0x67, 0xfc, 0x7a, 0x02, 0x9d, 0xe6, 0xe9, - 0x09, 0xf9, 0x46, 0xe4, 0x88, 0xf7, 0x4b, 0xf4, 0x83, 0x8e, 0x78, 0x0f, 0xfd, 0x64, 0x0a, 0x9d, - 0x86, 0xf4, 0x4f, 0xd4, 0x16, 0xfa, 0x0c, 0x4c, 0x00, 0xb8, 0x29, 0x5f, 0x05, 0xcc, 0xc7, 0x5c, - 0x05, 0xfc, 0xd1, 0x66, 0xe1, 0xe5, 0x15, 0xd3, 0x5d, 0xed, 0x2d, 0x4f, 0x35, 0xad, 0xf6, 0xf5, - 0x15, 0x5b, 0x7f, 0x68, 0xb2, 0x43, 0x70, 0xbd, 0x75, 0xdd, 0xcf, 0xaa, 0xab, 0x77, 0x4d, 0x9e, - 0x6f, 0xb7, 0x0e, 0x06, 0x06, 0xe5, 0xea, 0x5d, 0x22, 0x38, 0x08, 0xbd, 0x65, 0x99, 0x1d, 0x7e, - 0xc1, 0xcc, 0x56, 0x97, 0x3a, 0x35, 0xca, 0x3e, 0xb4, 0xcc, 0x4e, 0x23, 0x7c, 0xcb, 0xbc, 0xd7, - 0xfa, 0x02, 0xd6, 0x9a, 0x50, 0x8d, 0xfa, 0x6f, 0x13, 0xe8, 0x09, 0x59, 0xf7, 0x3e, 0x0b, 0x13, - 0xf6, 0xbf, 0x4e, 0xa0, 0x33, 0x77, 0x40, 0x38, 0xfe, 0x85, 0xdf, 0x67, 0xef, 0x8b, 0x8e, 0xf8, - 0x24, 0xf1, 0x6b, 0x09, 0x74, 0x6a, 0xb1, 0x5a, 0x2e, 0x7d, 0x56, 0x7a, 0x28, 0xf2, 0x3d, 0x9f, - 0x81, 0xfe, 0xa9, 0x17, 0xe7, 0xe7, 0x3e, 0x4b, 0xfd, 0x23, 0x7d, 0xcf, 0x11, 0xef, 0x9f, 0x6f, - 0x64, 0xd0, 0xf0, 0xdd, 0xde, 0x32, 0xe1, 0xf7, 0x46, 0xc7, 0x7a, 0x53, 0x76, 0x03, 0x0d, 0x73, - 0x31, 0xc0, 0x81, 0x86, 0x90, 0x6f, 0x81, 0xc7, 0xcf, 0xb1, 0x90, 0x56, 0x91, 0x88, 0x6e, 0x8e, - 0xdf, 0x21, 0xf6, 0xb2, 0xe8, 0x8a, 0xfc, 0x90, 0xd8, 0xcb, 0x1a, 0x40, 0xf1, 0x5c, 0xe0, 0x21, - 0x54, 0xac, 0x55, 0x21, 0xbf, 0x2c, 0x3f, 0x4b, 0x81, 0x84, 0xb9, 0xfe, 0x1d, 0xb1, 0xde, 0x35, - 0x59, 0x66, 0x5a, 0x31, 0x0c, 0x22, 0x5c, 0x12, 0x2f, 0xa0, 0x09, 0xf1, 0x4e, 0x92, 0x25, 0x57, - 0xcd, 0xc5, 0xb0, 0x8b, 0x4b, 0xab, 0x1a, 0x2d, 0x8a, 0xdf, 0x40, 0x23, 0x1e, 0x10, 0x6e, 0x57, - 0x87, 0x82, 0x14, 0x85, 0x3e, 0xab, 0x50, 0xd6, 0x65, 0xa9, 0x80, 0xc8, 0x00, 0x4e, 0x08, 0x50, - 0x0c, 0x83, 0xd0, 0xf5, 0xb1, 0x54, 0x00, 0x7f, 0x1e, 0x18, 0x74, 0xad, 0x8e, 0x43, 0xe0, 0x1e, - 0x69, 0x18, 0xfc, 0x74, 0xc1, 0x03, 0xc9, 0xe6, 0x70, 0xe6, 0x8d, 0x2d, 0x91, 0xe1, 0x45, 0x84, - 0x82, 0xf3, 0x7e, 0x1e, 0xf3, 0xb2, 0xe7, 0x9b, 0x08, 0x81, 0x85, 0x78, 0x52, 0x37, 0xba, 0x9f, - 0x93, 0x3a, 0xf5, 0x37, 0xe9, 0x5e, 0xbd, 0xdb, 0xf5, 0x87, 0xc2, 0x8b, 0x28, 0x53, 0xec, 0x76, - 0xef, 0x69, 0x55, 0x31, 0x65, 0x9d, 0xde, 0xed, 0x36, 0x7a, 0xb6, 0x29, 0xfa, 0x4f, 0x30, 0x22, - 0x5c, 0x42, 0xa3, 0xc5, 0x6e, 0xb7, 0xd6, 0x5b, 0x6e, 0x99, 0x4d, 0x21, 0x61, 0x34, 0x4b, 0x28, - 0xdf, 0xed, 0x36, 0xba, 0x80, 0x09, 0x67, 0xfc, 0x96, 0xcb, 0xe0, 0x0f, 0x20, 0x52, 0x94, 0xe7, - 0x2b, 0x4e, 0x81, 0x87, 0x82, 0xea, 0x27, 0xab, 0x0b, 0xda, 0x36, 0xe5, 0x13, 0xb1, 0xa4, 0x7e, - 0xe7, 0xbd, 0xd4, 0x88, 0xb4, 0xa2, 0x48, 0x5e, 0xe2, 0x80, 0x25, 0xfe, 0x1c, 0xca, 0x16, 0xbb, - 0x5d, 0xe1, 0x28, 0x08, 0xee, 0xfb, 0x68, 0xa9, 0x50, 0x1f, 0x7b, 0x64, 0x93, 0xaf, 0xa1, 0x31, - 0xb9, 0xb2, 0x3d, 0x25, 0x05, 0xfc, 0x76, 0x02, 0x3e, 0xe8, 0x88, 0xfb, 0xff, 0xdc, 0x44, 0xa9, - 0x62, 0xb7, 0xcb, 0xe7, 0xa3, 0x53, 0x31, 0xfd, 0x11, 0xf6, 0x9a, 0x2f, 0x76, 0xbb, 0xde, 0xa7, - 0x33, 0x0f, 0xbd, 0xe3, 0xf5, 0xe9, 0x5f, 0x67, 0x9f, 0x7e, 0xc4, 0x1d, 0xea, 0x7e, 0x3e, 0x85, - 0xc6, 0x8b, 0xdd, 0xee, 0x49, 0x5e, 0xc2, 0xc7, 0xe5, 0x9b, 0xff, 0x12, 0x42, 0xc2, 0xf4, 0x98, - 0xf5, 0x3d, 0x55, 0x87, 0x85, 0xa9, 0x51, 0x49, 0x68, 0x02, 0x91, 0xa7, 0x7e, 0xb9, 0x3d, 0xa9, - 0xdf, 0xd7, 0x52, 0x30, 0x15, 0x1f, 0xf5, 0x38, 0xe3, 0x4f, 0x4b, 0xb7, 0xf1, 0x3e, 0xc8, 0xec, - 0xa9, 0x0f, 0x7e, 0x45, 0x1a, 0x3c, 0x90, 0xe7, 0xee, 0xa4, 0x17, 0x06, 0x0f, 0x64, 0x16, 0x8f, - 0x89, 0xc2, 0xe4, 0xc1, 0x8f, 0x5e, 0xc2, 0x6c, 0x1e, 0x8a, 0xdb, 0xa4, 0xa8, 0x86, 0x69, 0x68, - 0x21, 0x5a, 0xaf, 0x0f, 0xb3, 0x7b, 0xea, 0xc3, 0xcd, 0x24, 0xb8, 0xdb, 0xfb, 0xa1, 0xbc, 0x07, - 0xdf, 0x5d, 0x5c, 0x47, 0x88, 0x5d, 0x0a, 0xf8, 0x1e, 0x47, 0xa3, 0x2c, 0x6a, 0x8f, 0xe5, 0xd1, - 0xe6, 0x51, 0x7b, 0x01, 0x89, 0x7f, 0x79, 0x99, 0x8a, 0xbd, 0xbc, 0xbc, 0x8a, 0x72, 0x9a, 0xbe, - 0xfe, 0x76, 0x8f, 0xd8, 0x1b, 0xdc, 0x9c, 0x61, 0x99, 0x32, 0xf4, 0xf5, 0xc6, 0x57, 0x29, 0x50, - 0xf3, 0xd1, 0x58, 0xf5, 0xe3, 0x35, 0x84, 0xcb, 0x1a, 0x76, 0x92, 0xe6, 0x47, 0x69, 0xec, 0x47, - 0xd1, 0xf1, 0xab, 0x28, 0x55, 0xbc, 0x5f, 0xe7, 0x92, 0xf5, 0xbb, 0xb6, 0x78, 0xbf, 0xce, 0xe5, - 0xd5, 0xb7, 0xec, 0xfd, 0xba, 0xfa, 0xb5, 0x24, 0xc2, 0x51, 0x4a, 0xfc, 0x32, 0x1a, 0x02, 0xe8, - 0x0a, 0xd5, 0x19, 0xf1, 0xbd, 0x92, 0x75, 0xa7, 0x61, 0x03, 0x54, 0x32, 0xee, 0x3c, 0x52, 0xfc, - 0x0a, 0xbc, 0x87, 0xc4, 0x93, 0xee, 0x4b, 0xef, 0x95, 0xac, 0x3b, 0xde, 0x0b, 0x42, 0xa1, 0xe7, - 0x90, 0x38, 0x31, 0xd8, 0x85, 0xf7, 0xeb, 0xb3, 0x96, 0xe3, 0x72, 0x51, 0x33, 0xbb, 0x70, 0xdd, - 0x81, 0x47, 0x6e, 0x24, 0xbb, 0x90, 0x91, 0x41, 0xf6, 0xf2, 0xfb, 0xf5, 0xa2, 0xe3, 0xf4, 0xda, - 0xc4, 0xd0, 0xac, 0x96, 0x67, 0x50, 0xb2, 0xec, 0xe5, 0xeb, 0x4e, 0x43, 0x67, 0x28, 0x78, 0x88, - 0x49, 0xca, 0x5e, 0x2e, 0x95, 0x52, 0x7f, 0x28, 0x87, 0xf2, 0x65, 0xdd, 0xd5, 0x97, 0x75, 0x87, - 0x08, 0xbb, 0xe9, 0x71, 0x0f, 0xe6, 0x7d, 0x8e, 0x20, 0x07, 0x63, 0x39, 0xe6, 0x6b, 0xc2, 0x05, - 0xf0, 0x17, 0x03, 0xbe, 0xfe, 0x53, 0x2c, 0x62, 0xb2, 0xfa, 0xe5, 0x46, 0x97, 0x83, 0xb5, 0x08, - 0x21, 0xbe, 0x86, 0x86, 0x3d, 0x18, 0xdd, 0x00, 0xa4, 0x02, 0x9d, 0x31, 0x96, 0xa9, 0xfd, 0xaf, - 0x89, 0x68, 0xfc, 0x0a, 0x1a, 0xf1, 0x7e, 0x0a, 0xa6, 0x35, 0xcb, 0xbc, 0xbf, 0x1c, 0xd9, 0x3d, - 0x89, 0xa4, 0x62, 0x51, 0x98, 0xdf, 0x06, 0xa5, 0xa2, 0xa1, 0xe4, 0xf6, 0x12, 0x29, 0xfe, 0x2a, - 0x1a, 0xf3, 0x7e, 0xf3, 0x0d, 0x03, 0x7b, 0x07, 0xe0, 0x9a, 0xff, 0xce, 0x53, 0x48, 0xac, 0x53, - 0x32, 0x39, 0xdb, 0x3a, 0x3c, 0xe9, 0xe5, 0x6b, 0x37, 0x96, 0xa3, 0x3b, 0x87, 0x50, 0x05, 0xb8, - 0x8a, 0x26, 0x3c, 0x48, 0xa0, 0xa1, 0xd9, 0x60, 0xc7, 0x68, 0x2c, 0x37, 0x62, 0x95, 0x34, 0x5a, - 0x0a, 0xb7, 0xd0, 0x79, 0x09, 0x68, 0x38, 0xab, 0xe6, 0x03, 0x97, 0x6f, 0xf7, 0x78, 0xda, 0x2a, - 0xfe, 0x9e, 0x85, 0xcf, 0x95, 0xd1, 0x78, 0x0f, 0xd3, 0xc8, 0x59, 0xc0, 0xb7, 0xe5, 0x86, 0xeb, - 0xe8, 0xb4, 0x87, 0xbf, 0x53, 0xaa, 0xd5, 0x6c, 0xeb, 0x43, 0xd2, 0x74, 0xab, 0x65, 0xbe, 0x5d, - 0x86, 0x74, 0x06, 0xc6, 0x72, 0x63, 0xa5, 0xd9, 0xa5, 0x4a, 0x41, 0x71, 0x32, 0xf3, 0xd8, 0xc2, - 0xf8, 0x1d, 0x74, 0x46, 0x80, 0x57, 0x3b, 0x8e, 0xab, 0x77, 0x9a, 0xa4, 0x5a, 0xe6, 0x7b, 0x68, - 0xd8, 0xcf, 0x73, 0xae, 0x26, 0x47, 0xca, 0x6c, 0xe3, 0x8b, 0xe3, 0xd7, 0xd0, 0xa8, 0x87, 0x60, - 0x77, 0x0d, 0xc3, 0x70, 0xd7, 0x00, 0x43, 0xd2, 0x58, 0x6e, 0x84, 0x23, 0x0f, 0x64, 0x62, 0x51, - 0xa3, 0xe0, 0x99, 0xbd, 0x11, 0x49, 0xa3, 0xdc, 0x8d, 0x6e, 0xac, 0x32, 0xc2, 0xd3, 0x7b, 0x6f, - 0x04, 0x1a, 0xb5, 0x68, 0x9b, 0x2b, 0x26, 0xdb, 0x49, 0x7b, 0xc1, 0x06, 0xcb, 0x0d, 0x0b, 0x80, - 0x71, 0xfa, 0xc1, 0xc8, 0x27, 0x8b, 0xe8, 0x54, 0x8c, 0x8e, 0xed, 0x69, 0xc7, 0xf8, 0x83, 0xc9, - 0xa0, 0x11, 0x47, 0x7c, 0xdb, 0x38, 0x8d, 0x72, 0xde, 0x97, 0x70, 0xe3, 0x41, 0xe9, 0x37, 0x34, - 0xc3, 0x3c, 0x3c, 0xbc, 0x24, 0x8e, 0x23, 0xbe, 0x95, 0x7c, 0x1c, 0xe2, 0xf8, 0x38, 0x11, 0x88, - 0xe3, 0x88, 0x6f, 0x2f, 0x7f, 0x2d, 0x15, 0xcc, 0x49, 0x27, 0x7b, 0xcc, 0xc7, 0x65, 0x26, 0x07, - 0x2e, 0x2a, 0x99, 0x3d, 0xc4, 0x18, 0x88, 0xaa, 0x99, 0xdd, 0xa7, 0x6a, 0xfe, 0x76, 0xb4, 0x3f, - 0x99, 0xe9, 0x79, 0x24, 0xfb, 0xf3, 0x31, 0x0c, 0x56, 0x7c, 0x23, 0x58, 0xc7, 0x98, 0x8d, 0x3e, - 0x28, 0x64, 0x85, 0x58, 0xe6, 0x26, 0xba, 0x4c, 0x82, 0xbf, 0x8c, 0xce, 0x49, 0x80, 0x9a, 0x6e, - 0xeb, 0x6d, 0xe2, 0x06, 0x2f, 0x4b, 0x40, 0x9c, 0xaf, 0x57, 0xba, 0xd1, 0xf5, 0xd1, 0xe2, 0x6b, - 0x15, 0x7d, 0x38, 0x08, 0xca, 0x91, 0xdd, 0x83, 0xff, 0xd2, 0x7f, 0x4c, 0xa2, 0xd1, 0x9a, 0xe5, - 0xb8, 0x2b, 0x36, 0x71, 0x6a, 0xba, 0xed, 0x90, 0xe3, 0xdb, 0xa3, 0x5f, 0x40, 0xa3, 0x10, 0x54, - 0xd7, 0x26, 0x1d, 0x57, 0x78, 0xf1, 0x8c, 0x65, 0xaa, 0xf3, 0x10, 0x3c, 0x29, 0xa9, 0x44, 0x88, - 0x0b, 0x68, 0x90, 0xe9, 0x80, 0x10, 0xea, 0xc8, 0x14, 0x80, 0xc1, 0xd5, 0xbf, 0x9e, 0x42, 0x23, - 0x9e, 0x94, 0xa7, 0xcd, 0xa3, 0x7a, 0x66, 0x73, 0xb8, 0x42, 0xbe, 0x8e, 0x50, 0xcd, 0xb2, 0x5d, - 0xbd, 0x25, 0x3c, 0x56, 0x0c, 0x9b, 0x9d, 0x2e, 0x40, 0x59, 0x19, 0x81, 0x04, 0x4f, 0x21, 0x24, - 0x0c, 0xb0, 0x2c, 0x0c, 0xb0, 0xb1, 0xad, 0xcd, 0x02, 0x0a, 0xc6, 0x95, 0x26, 0x50, 0xa8, 0xbf, - 0x94, 0x44, 0xe3, 0x5e, 0x27, 0x55, 0x1e, 0x91, 0x66, 0xcf, 0x3d, 0xc6, 0x83, 0x41, 0x96, 0xf6, - 0xe0, 0x8e, 0xd2, 0x56, 0xff, 0x9b, 0x30, 0x91, 0x94, 0x5a, 0xd6, 0xc9, 0x44, 0xf2, 0x27, 0xa1, - 0xe3, 0xea, 0x77, 0xa7, 0xd0, 0x69, 0x4f, 0xea, 0x33, 0xbd, 0x0e, 0x98, 0x09, 0x25, 0xbd, 0xd5, - 0x3a, 0xce, 0xeb, 0xf2, 0xb0, 0x27, 0x88, 0x45, 0x1e, 0xa5, 0xce, 0x13, 0x44, 0x3f, 0xe0, 0xe0, - 0x86, 0x65, 0x1a, 0x9a, 0x48, 0x84, 0xdf, 0x40, 0x23, 0xde, 0xcf, 0xa2, 0xbd, 0xe2, 0x2d, 0xc6, - 0xb0, 0xe9, 0xf7, 0x0b, 0xe9, 0xb6, 0xe4, 0xfb, 0x2f, 0x15, 0x50, 0xff, 0x53, 0x06, 0x4d, 0xde, - 0x37, 0x3b, 0x86, 0xb5, 0xee, 0x78, 0xf9, 0xc5, 0x8f, 0xbc, 0xd1, 0x7b, 0xd8, 0x79, 0xc5, 0xdf, - 0x46, 0x67, 0xc2, 0x22, 0xb5, 0xfd, 0xac, 0x2f, 0xbc, 0x77, 0xd6, 0x19, 0x41, 0xc3, 0xcb, 0x34, - 0xce, 0x4f, 0xce, 0xb4, 0xf8, 0x92, 0xe1, 0x54, 0xe5, 0xd9, 0xdd, 0xa4, 0x2a, 0x7f, 0x1e, 0x65, - 0xca, 0x56, 0x5b, 0x37, 0xbd, 0x28, 0x30, 0x18, 0xc5, 0x7e, 0xbd, 0x80, 0xd1, 0x38, 0x05, 0xe5, - 0xcf, 0x2b, 0x86, 0x2e, 0x1b, 0x0a, 0xf8, 0x7b, 0x05, 0x7a, 0x0e, 0xb1, 0x35, 0x91, 0x08, 0x5b, - 0x68, 0x94, 0x57, 0xc7, 0xcf, 0xb9, 0x10, 0x9c, 0x73, 0xf9, 0xaf, 0xb8, 0xf5, 0x57, 0xab, 0x29, - 0xa9, 0x1c, 0x3b, 0xf0, 0x62, 0x19, 0xd4, 0xf9, 0xc7, 0xb0, 0x13, 0x2f, 0x4d, 0xe6, 0x2f, 0x08, - 0x01, 0x26, 0x99, 0xe1, 0xa8, 0x10, 0x60, 0x96, 0x11, 0x89, 0x70, 0x05, 0x4d, 0x14, 0x5b, 0x2d, - 0x6b, 0xdd, 0x4f, 0xaf, 0x42, 0x55, 0x62, 0x04, 0x52, 0x4c, 0xc2, 0xf1, 0x89, 0x4e, 0x91, 0xf0, - 0x71, 0x8d, 0x26, 0x47, 0x6b, 0xd1, 0x12, 0x93, 0x6f, 0x22, 0x1c, 0x6d, 0xf3, 0x9e, 0x0e, 0x50, - 0x7e, 0x28, 0x89, 0x70, 0x68, 0x1f, 0x52, 0x39, 0xc6, 0xe6, 0x94, 0xfa, 0x33, 0x09, 0x34, 0x11, - 0x49, 0x7b, 0x84, 0x6f, 0x22, 0xc4, 0x20, 0x42, 0xee, 0x02, 0x08, 0x06, 0x0a, 0x52, 0x21, 0xf1, - 0xa5, 0x24, 0x20, 0xc3, 0xd7, 0x51, 0x8e, 0xfd, 0xf2, 0x1f, 0x25, 0x0c, 0x17, 0xe9, 0xf5, 0x4c, - 0x43, 0xf3, 0x89, 0x82, 0x5a, 0xe0, 0x24, 0x2e, 0x15, 0x5b, 0xc4, 0xdd, 0xe8, 0xfa, 0xb5, 0x50, - 0x32, 0xf5, 0xeb, 0x09, 0x34, 0xe2, 0x37, 0xb8, 0x68, 0x1c, 0x56, 0xd7, 0x65, 0x78, 0x06, 0xa9, - 0xd4, 0x4e, 0x19, 0xa4, 0x42, 0x73, 0x13, 0xc3, 0xaa, 0xff, 0x3c, 0x81, 0xc6, 0x7d, 0xda, 0x43, - 0x3c, 0xaa, 0x39, 0xf0, 0x87, 0xfc, 0x70, 0x02, 0x29, 0xd3, 0x66, 0xab, 0x65, 0x76, 0x56, 0xaa, - 0x9d, 0x07, 0x96, 0xdd, 0x86, 0x81, 0x7a, 0x78, 0x67, 0x71, 0xea, 0xf7, 0x25, 0xd0, 0x04, 0x6f, - 0x50, 0x49, 0xb7, 0x8d, 0xc3, 0x3b, 0x24, 0x0d, 0xb7, 0xe4, 0xf0, 0x7a, 0x59, 0xfd, 0xbf, 0x09, - 0x84, 0xe6, 0xac, 0xe6, 0xda, 0x11, 0x8f, 0x2e, 0x78, 0x05, 0x65, 0x58, 0x80, 0x25, 0x9f, 0xed, - 0x26, 0xa6, 0x98, 0xcb, 0x3e, 0xfd, 0x34, 0x86, 0x98, 0x1e, 0xe3, 0xf7, 0x35, 0x19, 0x16, 0xa0, - 0xa9, 0xf1, 0x02, 0x10, 0xd2, 0x43, 0xc9, 0x8e, 0xb8, 0x2f, 0xeb, 0x9f, 0x4f, 0xa0, 0xd3, 0x1a, - 0x69, 0x5a, 0x0f, 0x89, 0xbd, 0x51, 0xb2, 0x0c, 0x72, 0x87, 0x74, 0x88, 0x7d, 0x58, 0xfa, 0xfd, - 0x8f, 0x20, 0x3b, 0x5c, 0xd0, 0x98, 0x7b, 0x0e, 0x31, 0x8e, 0x4e, 0x8e, 0x42, 0xf5, 0xef, 0x67, - 0x91, 0x12, 0x6b, 0x1b, 0x1d, 0x59, 0x7b, 0xa0, 0xaf, 0xc1, 0x9b, 0x7e, 0x5c, 0x06, 0xef, 0xe0, - 0xde, 0x0c, 0xde, 0xcc, 0x5e, 0x0d, 0xde, 0xec, 0x6e, 0x0c, 0xde, 0x76, 0xd8, 0xe0, 0xcd, 0x81, - 0xc1, 0x7b, 0x73, 0x5b, 0x83, 0xb7, 0xd2, 0x31, 0xf6, 0x69, 0xee, 0x1e, 0xd9, 0xcc, 0xfc, 0xfb, - 0xb1, 0xd3, 0xaf, 0xd0, 0xc9, 0xad, 0x69, 0xd9, 0x06, 0x31, 0xb8, 0x79, 0x0e, 0xe7, 0xd1, 0x36, - 0x87, 0x69, 0x3e, 0x36, 0xf2, 0xcc, 0xc1, 0xe8, 0x6e, 0x9e, 0x39, 0x78, 0x0c, 0x06, 0xfc, 0xaf, - 0x27, 0xd0, 0x44, 0x89, 0xd8, 0x2e, 0xcb, 0xa7, 0xf0, 0x38, 0x2e, 0x41, 0x8b, 0x68, 0x5c, 0x60, - 0x08, 0xb6, 0xa8, 0xf0, 0xa6, 0x76, 0x93, 0xd8, 0x6e, 0xf8, 0x5e, 0x38, 0x4c, 0x4f, 0xab, 0xf7, - 0x52, 0x8d, 0xf2, 0xb1, 0xeb, 0x57, 0xef, 0xc1, 0x99, 0x20, 0x4d, 0xfe, 0x4b, 0xf3, 0xe9, 0xd5, - 0x9f, 0x4e, 0xa0, 0xcb, 0x1a, 0xe9, 0x90, 0x75, 0x7d, 0xb9, 0x45, 0x04, 0xc6, 0x7c, 0x6e, 0xa7, - 0xe3, 0xde, 0x74, 0xda, 0xba, 0xdb, 0x5c, 0x3d, 0xd0, 0x57, 0xce, 0xa0, 0x11, 0x71, 0x06, 0xda, - 0xc3, 0xec, 0x24, 0x95, 0x53, 0xff, 0x20, 0x89, 0xb2, 0xd3, 0x96, 0x7b, 0xe0, 0x67, 0x7a, 0x83, - 0x49, 0x3b, 0xb9, 0x87, 0x3d, 0xfd, 0xe7, 0xa0, 0x72, 0x21, 0x17, 0x1a, 0x5c, 0xfb, 0x2f, 0x5b, - 0x91, 0x24, 0x6e, 0x1e, 0xd9, 0x1e, 0x53, 0xd1, 0xbe, 0x8c, 0x86, 0x20, 0xae, 0x4f, 0x38, 0x75, - 0x03, 0xa7, 0x1a, 0x97, 0x02, 0xc3, 0x75, 0x04, 0xa4, 0xf8, 0xcb, 0x52, 0x0a, 0x87, 0xcc, 0xc1, - 0x53, 0xd7, 0x0a, 0xec, 0xd4, 0x9f, 0x4a, 0xa3, 0x11, 0xcf, 0x01, 0xe2, 0x90, 0xe4, 0xfe, 0x22, - 0xca, 0xcc, 0x5a, 0x42, 0x36, 0x36, 0x70, 0x98, 0x58, 0xb5, 0x9c, 0x90, 0x27, 0x08, 0x27, 0xc2, - 0x37, 0x51, 0x6e, 0xc1, 0x32, 0x44, 0x77, 0x1f, 0x18, 0x4b, 0x1d, 0xcb, 0x88, 0x84, 0x4b, 0xf8, - 0x84, 0xf8, 0x32, 0x4a, 0x83, 0xa7, 0x94, 0x70, 0xd8, 0x19, 0xf2, 0x8e, 0x02, 0xbc, 0xd0, 0xa3, - 0x99, 0xbd, 0xf6, 0x68, 0x76, 0xbf, 0x3d, 0x9a, 0x7b, 0xac, 0x3d, 0x8a, 0xdf, 0x43, 0x23, 0x50, - 0x93, 0x97, 0x20, 0x77, 0xe7, 0x65, 0xe5, 0x09, 0x3e, 0xf3, 0x8f, 0xb2, 0x76, 0xf3, 0x34, 0xb9, - 0x30, 0xe1, 0x4b, 0xac, 0xd4, 0xdf, 0x4e, 0xa0, 0xec, 0xbd, 0xce, 0x5a, 0xc7, 0x5a, 0x3f, 0x98, - 0x9e, 0xdc, 0x44, 0xc3, 0x9c, 0x8d, 0x30, 0x23, 0x42, 0xdc, 0x4a, 0x8f, 0x81, 0x1b, 0xc0, 0x49, - 0x13, 0xa9, 0xf0, 0x6b, 0x7e, 0x21, 0x70, 0x61, 0x4c, 0x05, 0x59, 0x08, 0xbd, 0x42, 0x4d, 0x39, - 0x71, 0x9a, 0x48, 0x8e, 0xcf, 0xf3, 0x47, 0x9e, 0x85, 0x34, 0x1c, 0xb4, 0x29, 0xec, 0x8d, 0x67, - 0xf5, 0x5f, 0x25, 0xd1, 0x58, 0xe8, 0x98, 0xe2, 0x79, 0x34, 0xc4, 0x8f, 0x09, 0x4c, 0x2f, 0x93, - 0x1b, 0xb8, 0x38, 0xfa, 0x40, 0x2d, 0xc7, 0xfe, 0xac, 0x1a, 0xf8, 0x4b, 0x28, 0x6b, 0x39, 0x30, - 0x91, 0xc3, 0xb7, 0x8c, 0x05, 0x8a, 0xbf, 0x58, 0xa7, 0x6d, 0x67, 0x2a, 0xcd, 0x49, 0x44, 0x3d, - 0xb2, 0x1c, 0xf8, 0xb4, 0x5b, 0x68, 0x48, 0x77, 0x1c, 0xe2, 0x36, 0x5c, 0x7d, 0x45, 0x4c, 0xee, - 0xe6, 0x03, 0x45, 0x9d, 0x06, 0xe0, 0x92, 0xbe, 0x82, 0xdf, 0x44, 0xa3, 0x4d, 0x9b, 0xc0, 0x54, - 0xaf, 0xb7, 0x68, 0x2b, 0x05, 0x53, 0x4c, 0x42, 0x88, 0x27, 0xc3, 0x01, 0xa2, 0x6a, 0xe0, 0x77, - 0xd0, 0x28, 0xff, 0x1c, 0xe6, 0x5f, 0x04, 0xc3, 0x63, 0x2c, 0x98, 0xb8, 0x99, 0x48, 0x98, 0x87, - 0x11, 0x77, 0x33, 0x13, 0xc9, 0x45, 0xbe, 0x86, 0x40, 0xaa, 0x7e, 0x33, 0x41, 0xcd, 0x03, 0x0a, - 0xf0, 0xdf, 0x8b, 0x6b, 0xef, 0x51, 0x57, 0xda, 0x41, 0x4a, 0xe8, 0x8c, 0xb3, 0xcd, 0x9c, 0xa2, - 0x71, 0x2c, 0x9e, 0x42, 0x19, 0x43, 0x3c, 0x6d, 0x38, 0x2b, 0x7f, 0x84, 0x57, 0x8f, 0xc6, 0xa9, - 0xf0, 0x15, 0x94, 0xa6, 0xe6, 0x1f, 0xdf, 0xee, 0xc5, 0xae, 0x55, 0x1a, 0x50, 0xa8, 0xdf, 0x95, - 0x44, 0x23, 0xc2, 0xd7, 0xdc, 0x38, 0xd0, 0xe7, 0xbc, 0xba, 0xbb, 0x66, 0x72, 0x8f, 0x47, 0x80, - 0xf9, 0x4d, 0xbe, 0xe5, 0x8b, 0x62, 0x57, 0x47, 0xd5, 0x5c, 0x30, 0x2f, 0xf3, 0x0f, 0xcd, 0xec, - 0x7e, 0xcb, 0x40, 0xe9, 0xdf, 0x4a, 0xe7, 0x92, 0xf9, 0xd4, 0x5b, 0xe9, 0x5c, 0x3a, 0x3f, 0xa8, - 0xfe, 0xee, 0x3c, 0x1a, 0x5c, 0xec, 0x90, 0xc5, 0x07, 0xf8, 0x25, 0x21, 0x69, 0x3c, 0xff, 0xf8, - 0x09, 0x91, 0x25, 0x20, 0x66, 0x07, 0x34, 0x21, 0xb5, 0xfc, 0x2d, 0x31, 0xf3, 0x35, 0xef, 0x45, - 0x2c, 0x96, 0x61, 0x98, 0xd9, 0x01, 0x4d, 0xcc, 0x90, 0x7d, 0x4b, 0x4c, 0x0d, 0xcd, 0x85, 0x25, - 0x95, 0x62, 0x18, 0xaf, 0x14, 0xdf, 0x7c, 0xcf, 0xc5, 0x65, 0x62, 0x0e, 0xdf, 0x0f, 0x44, 0x29, - 0x66, 0x07, 0xb4, 0xf8, 0x0c, 0xce, 0x23, 0xe2, 0x99, 0x36, 0x17, 0xfb, 0xe9, 0xd0, 0xd6, 0x09, - 0x70, 0xb3, 0x03, 0x9a, 0x44, 0x8b, 0x6f, 0xfb, 0x4f, 0x4b, 0xd0, 0x65, 0x35, 0xec, 0xda, 0x2c, - 0xa0, 0x66, 0x07, 0x34, 0x91, 0x52, 0xa8, 0x14, 0x9e, 0xc0, 0xe7, 0x0e, 0x13, 0xe1, 0x4a, 0x01, - 0x27, 0x54, 0xca, 0x9e, 0xcb, 0x7f, 0x3d, 0xf4, 0xc0, 0x27, 0x5f, 0x5b, 0xce, 0x84, 0x0a, 0x33, - 0xe4, 0xec, 0x80, 0x16, 0x7a, 0x0e, 0xf4, 0x8a, 0xf7, 0xa8, 0x20, 0x5f, 0x34, 0xc6, 0x84, 0xc3, - 0x07, 0xf3, 0x23, 0x2a, 0x25, 0xef, 0xd1, 0xc1, 0x5b, 0xe2, 0x63, 0x72, 0x7c, 0x73, 0x81, 0x43, - 0xb5, 0x54, 0x3a, 0x06, 0xed, 0x1d, 0x61, 0xe7, 0xfb, 0x66, 0xf8, 0xd9, 0x25, 0xfe, 0x98, 0xd7, - 0xd9, 0x50, 0x49, 0x8e, 0x9d, 0x1d, 0xd0, 0xc2, 0xcf, 0x34, 0xdd, 0x96, 0x9e, 0xfc, 0xe1, 0xc1, - 0x8b, 0x61, 0xa9, 0x52, 0x94, 0x20, 0x55, 0x78, 0x1c, 0xe8, 0xcd, 0xf0, 0x1b, 0x34, 0x3c, 0x54, - 0xf1, 0x6c, 0xfc, 0x4b, 0x25, 0x42, 0xd5, 0xde, 0x9b, 0x35, 0xb7, 0xa5, 0xb7, 0x42, 0xe0, 0x39, - 0xae, 0x98, 0xaa, 0x75, 0x57, 0x17, 0xab, 0x66, 0x43, 0x5e, 0x7a, 0xb5, 0x02, 0x52, 0x06, 0x47, - 0x3b, 0x14, 0x70, 0x42, 0x87, 0xb2, 0x17, 0x2e, 0x6e, 0x4b, 0x59, 0x68, 0x95, 0xbc, 0x5c, 0xa9, - 0x80, 0xa2, 0x95, 0x8a, 0xf9, 0x6a, 0x6f, 0x89, 0xc9, 0x59, 0x95, 0x09, 0xb9, 0x83, 0x02, 0x0c, - 0xed, 0x20, 0x21, 0x89, 0x6b, 0x01, 0x12, 0x3f, 0x2a, 0x18, 0xc8, 0x87, 0xfd, 0x16, 0x96, 0x6a, - 0xb3, 0x03, 0x1a, 0xa4, 0x84, 0x54, 0x59, 0x4a, 0x51, 0xe5, 0x14, 0x50, 0x8c, 0xf8, 0x6f, 0xb2, - 0x3c, 0x22, 0xcd, 0xd9, 0x01, 0x8d, 0xa5, 0x1b, 0x7d, 0x49, 0x48, 0xde, 0xa5, 0x9c, 0x96, 0xa7, - 0x08, 0x1f, 0x41, 0xa7, 0x88, 0x20, 0xc5, 0xd7, 0x4c, 0x34, 0xc1, 0x95, 0x72, 0x46, 0x3e, 0xff, - 0x0a, 0xe3, 0x67, 0x07, 0xb4, 0x68, 0x52, 0xac, 0xdb, 0x52, 0xce, 0x27, 0xe5, 0x6c, 0x28, 0x9e, - 0x20, 0x40, 0x51, 0x71, 0x89, 0xd9, 0xa1, 0x16, 0x63, 0xd3, 0xa6, 0x2b, 0xe7, 0x80, 0xc1, 0x93, - 0x3e, 0x83, 0x28, 0xc9, 0xec, 0x80, 0x16, 0x9b, 0x70, 0xbd, 0x14, 0xc9, 0xbc, 0xa4, 0x28, 0xf2, - 0xc1, 0x4b, 0x08, 0x3d, 0x3b, 0xa0, 0x45, 0x72, 0x35, 0xdd, 0x12, 0x53, 0x1e, 0x29, 0x4f, 0xc8, - 0x9d, 0x18, 0x60, 0x68, 0x27, 0x0a, 0xa9, 0x91, 0x6e, 0x89, 0x19, 0x86, 0x94, 0xc9, 0x68, 0xa9, - 0x60, 0xe6, 0x14, 0x32, 0x11, 0x69, 0xf1, 0x09, 0x7d, 0x94, 0x27, 0x79, 0x6e, 0x45, 0x5e, 0x3e, - 0x8e, 0x66, 0x76, 0x40, 0x8b, 0x4f, 0x06, 0xa4, 0xc5, 0xe7, 0xd4, 0x51, 0xce, 0x6f, 0xc7, 0xd3, - 0x6f, 0x5d, 0x7c, 0x3e, 0x1e, 0x7d, 0x9b, 0x5c, 0x29, 0xca, 0x05, 0x39, 0x98, 0xb9, 0x2f, 0xe1, - 0xec, 0x80, 0xb6, 0x4d, 0xc6, 0x95, 0x7b, 0x7d, 0x12, 0x97, 0x28, 0x17, 0xe5, 0xd4, 0xaa, 0xb1, - 0x44, 0xb3, 0x03, 0x5a, 0x9f, 0xb4, 0x27, 0xf7, 0xfa, 0x64, 0x0f, 0x51, 0x0a, 0xdb, 0xb2, 0xf5, - 0xe5, 0xd1, 0x27, 0xf7, 0xc8, 0x62, 0x6c, 0x0a, 0x0f, 0xe5, 0x92, 0xac, 0xba, 0x31, 0x24, 0x54, - 0x75, 0xe3, 0x92, 0x7f, 0x2c, 0xc6, 0xe6, 0xd0, 0x50, 0x9e, 0xda, 0x86, 0xa1, 0xdf, 0xc6, 0xd8, - 0xec, 0x1b, 0x8b, 0xb1, 0x49, 0x2c, 0x14, 0x55, 0x66, 0x18, 0x43, 0x42, 0x19, 0xc6, 0xa5, 0xbf, - 0x58, 0x8c, 0xcd, 0x22, 0xa1, 0x3c, 0xbd, 0x0d, 0xc3, 0xa0, 0x85, 0x71, 0xf9, 0x27, 0x6e, 0x4b, - 0x69, 0x1c, 0x94, 0x67, 0xe4, 0x79, 0x43, 0x40, 0xd1, 0x79, 0x43, 0x4c, 0xf8, 0x50, 0x8a, 0x04, - 0xaa, 0x2a, 0xcf, 0xca, 0xc3, 0x3c, 0x84, 0xa6, 0xc3, 0x3c, 0x1c, 0xda, 0x5a, 0x8a, 0x04, 0xec, - 0x29, 0x97, 0xfb, 0x31, 0x01, 0xb4, 0xcc, 0x84, 0x85, 0xf8, 0x55, 0x63, 0x22, 0xc6, 0x94, 0xe7, - 0xe4, 0x8b, 0xb7, 0x08, 0xc1, 0xec, 0x80, 0x16, 0x13, 0x67, 0xa6, 0xc5, 0xbb, 0x47, 0x2b, 0x57, - 0xe4, 0x61, 0x1b, 0x47, 0x43, 0x87, 0x6d, 0xac, 0x6b, 0xf5, 0x5c, 0xdc, 0xd5, 0xb8, 0x72, 0x55, - 0x36, 0xcc, 0xa2, 0x14, 0xd4, 0x30, 0x8b, 0xb9, 0x52, 0xd7, 0xe2, 0x1d, 0x7e, 0x95, 0xe7, 0xb7, - 0x6d, 0x21, 0xd0, 0xc4, 0xb4, 0x90, 0xf9, 0xbf, 0x06, 0xb6, 0xd3, 0xbd, 0x2e, 0xbc, 0xd5, 0xfc, - 0x42, 0xac, 0xed, 0xc4, 0x90, 0x82, 0xed, 0xc4, 0x00, 0x74, 0x95, 0x17, 0xaf, 0x8e, 0x95, 0x6b, - 0xf2, 0x2a, 0x2f, 0xe2, 0xe8, 0x2a, 0x2f, 0x5d, 0x33, 0x97, 0x22, 0x17, 0xb6, 0xca, 0x8b, 0xb2, - 0x02, 0x84, 0xd0, 0x54, 0x01, 0xc2, 0x57, 0xbc, 0x1f, 0xf4, 0xbf, 0x2c, 0x55, 0xa6, 0x80, 0xdb, - 0x25, 0xff, 0xd5, 0xb9, 0x3e, 0x74, 0xb3, 0x03, 0x5a, 0xff, 0x0b, 0xd7, 0x6a, 0xcc, 0xdd, 0xa7, - 0x72, 0x5d, 0x56, 0xb0, 0x08, 0x01, 0x55, 0xb0, 0xe8, 0x8d, 0x69, 0x35, 0xe6, 0xf2, 0x52, 0xf9, - 0x5c, 0x5f, 0x56, 0xfe, 0x37, 0xc7, 0x5c, 0x79, 0xde, 0x12, 0x6f, 0x1f, 0x95, 0x97, 0xe4, 0xc5, - 0x2e, 0xc0, 0xd0, 0xc5, 0x4e, 0xb8, 0xa5, 0xbc, 0x25, 0xde, 0xd8, 0x29, 0x37, 0xa2, 0xa5, 0x82, - 0x25, 0x52, 0xb8, 0xd9, 0xd3, 0xe2, 0x2f, 0xc8, 0x94, 0x9b, 0xb2, 0xd6, 0xc5, 0xd1, 0x50, 0xad, - 0x8b, 0xbd, 0x5c, 0x9b, 0x89, 0xde, 0x73, 0x29, 0xb7, 0xc2, 0x37, 0x7f, 0x32, 0x9e, 0x5a, 0x3e, - 0x91, 0xbb, 0xb1, 0x37, 0xc3, 0xb1, 0x3b, 0xca, 0xe7, 0x43, 0xfb, 0x4b, 0x09, 0x4b, 0xed, 0xdb, - 0x50, 0xac, 0xcf, 0x9b, 0xe1, 0x70, 0x17, 0xe5, 0xe5, 0x78, 0x0e, 0xbe, 0xae, 0x84, 0xc3, 0x63, - 0xde, 0x0c, 0x47, 0x88, 0x28, 0xb7, 0xe3, 0x39, 0xf8, 0xd2, 0x0d, 0x47, 0x94, 0xbc, 0x24, 0xe4, - 0xac, 0x50, 0xbe, 0x20, 0x9b, 0x8e, 0x3e, 0x82, 0x9a, 0x8e, 0x41, 0x66, 0x8b, 0x97, 0x84, 0x5c, - 0x0f, 0xca, 0x2b, 0x91, 0x22, 0x7e, 0x63, 0x85, 0x8c, 0x10, 0x2f, 0x09, 0x39, 0x12, 0x94, 0x57, - 0x23, 0x45, 0xfc, 0xd6, 0x09, 0x99, 0x14, 0x8c, 0xed, 0x5c, 0xe8, 0x94, 0x2f, 0x02, 0x0f, 0x75, - 0x67, 0xaf, 0xa8, 0xd9, 0x01, 0x6d, 0x3b, 0x57, 0xbc, 0x0f, 0xfa, 0xdf, 0x1a, 0x2a, 0xaf, 0xc9, - 0x43, 0xb8, 0x1f, 0x1d, 0x1d, 0xc2, 0x7d, 0x6f, 0x1e, 0x5f, 0x0f, 0xb9, 0xd3, 0x2b, 0xaf, 0xcb, - 0x53, 0x9c, 0x84, 0xa4, 0x53, 0x5c, 0xd8, 0xf9, 0x5e, 0xf2, 0x13, 0x57, 0xbe, 0x24, 0x4f, 0x71, - 0x22, 0x8e, 0x4e, 0x71, 0x92, 0x4f, 0x79, 0x29, 0xe2, 0xbe, 0xac, 0xbc, 0x21, 0x4f, 0x71, 0x21, - 0x34, 0x9d, 0xe2, 0xc2, 0x0e, 0xcf, 0xaf, 0x87, 0xbc, 0x78, 0x95, 0x37, 0xe3, 0xdb, 0x0f, 0x48, - 0xb1, 0xfd, 0xcc, 0xe7, 0x57, 0x8b, 0x77, 0x47, 0x55, 0x8a, 0xf2, 0xf8, 0x8d, 0xa3, 0xa1, 0xe3, - 0x37, 0xd6, 0x95, 0x75, 0x31, 0xf6, 0x61, 0x13, 0x65, 0x7a, 0x9b, 0x8d, 0x43, 0x60, 0x8a, 0xc4, - 0x3d, 0x89, 0x22, 0xee, 0x91, 0xd9, 0x46, 0xa8, 0xd4, 0x67, 0x8f, 0xec, 0x6d, 0x83, 0x42, 0xf4, - 0x74, 0x76, 0x8d, 0x5c, 0x62, 0x29, 0x65, 0x79, 0x76, 0x8d, 0x10, 0xd0, 0xd9, 0x35, 0x7a, 0xf5, - 0x35, 0x83, 0xf2, 0x5c, 0x8b, 0x82, 0x77, 0xa8, 0x2b, 0x21, 0x6f, 0xb0, 0x10, 0x9e, 0xce, 0x4e, - 0x61, 0x18, 0xac, 0xd7, 0x0c, 0x56, 0x6a, 0x99, 0xdd, 0x65, 0x4b, 0xb7, 0x8d, 0x3a, 0xe9, 0x18, - 0xca, 0x4c, 0x68, 0xbd, 0x8e, 0xa1, 0x81, 0xf5, 0x3a, 0x06, 0x0e, 0xf1, 0x2a, 0x21, 0x38, 0x7f, - 0x29, 0x52, 0xb9, 0x03, 0x6c, 0x0b, 0xfd, 0xd8, 0x72, 0xb2, 0xd9, 0x01, 0xad, 0x1f, 0x07, 0x6a, - 0xab, 0xcf, 0x6f, 0xd4, 0xdf, 0x9e, 0xf3, 0x3d, 0xa0, 0x6b, 0x36, 0xe9, 0xea, 0x36, 0x51, 0x66, - 0x65, 0x5b, 0x3d, 0x96, 0x88, 0xda, 0xea, 0xb1, 0x88, 0x28, 0x5b, 0x6f, 0x2c, 0x54, 0xb7, 0x63, - 0x1b, 0x8c, 0x88, 0xf8, 0xd2, 0x74, 0x76, 0x92, 0x11, 0x54, 0x40, 0x73, 0x56, 0x67, 0x05, 0x4e, - 0x2a, 0xde, 0x92, 0x67, 0xa7, 0xfe, 0x94, 0x74, 0x76, 0xea, 0x8f, 0xa5, 0xaa, 0x2e, 0x63, 0xd9, - 0x18, 0xbc, 0x2b, 0xab, 0x7a, 0x0c, 0x09, 0x55, 0xf5, 0x18, 0x70, 0x94, 0xa1, 0x46, 0x1c, 0xe2, - 0x2a, 0x73, 0xdb, 0x31, 0x04, 0x92, 0x28, 0x43, 0x00, 0x47, 0x19, 0xce, 0x10, 0xb7, 0xb9, 0xaa, - 0xcc, 0x6f, 0xc7, 0x10, 0x48, 0xa2, 0x0c, 0x01, 0x4c, 0x37, 0x9b, 0x32, 0x78, 0xba, 0xd7, 0x5a, - 0xf3, 0xfa, 0x6c, 0x41, 0xde, 0x6c, 0xf6, 0x25, 0xa4, 0x9b, 0xcd, 0xbe, 0x48, 0xfc, 0xfd, 0xbb, - 0xbe, 0xa2, 0x55, 0x16, 0xa1, 0xc2, 0xa9, 0xc0, 0x2e, 0xd8, 0x4d, 0xa9, 0xd9, 0x01, 0x6d, 0xb7, - 0x57, 0xc0, 0x2f, 0xf8, 0xb7, 0x3b, 0x4a, 0x0d, 0xaa, 0x1a, 0xf7, 0xcf, 0x2a, 0x18, 0x78, 0x76, - 0x40, 0xf3, 0xef, 0x7f, 0x6e, 0xa3, 0x61, 0xf8, 0xa8, 0x6a, 0xc7, 0x74, 0xcb, 0xd3, 0xca, 0xdb, - 0xf2, 0x96, 0x49, 0x40, 0xd1, 0x2d, 0x93, 0xf0, 0x93, 0x4e, 0xe2, 0xf0, 0x93, 0x4d, 0x31, 0xe5, - 0x69, 0x45, 0x93, 0x27, 0x71, 0x09, 0x49, 0x27, 0x71, 0x09, 0xe0, 0xd7, 0x5b, 0xb6, 0xad, 0x6e, - 0x79, 0x5a, 0xa9, 0xc7, 0xd4, 0xcb, 0x50, 0x7e, 0xbd, 0xec, 0xa7, 0x5f, 0x6f, 0x7d, 0xb5, 0xe7, - 0x96, 0xe9, 0x37, 0x2e, 0xc5, 0xd4, 0xeb, 0x21, 0xfd, 0x7a, 0x3d, 0x00, 0x9d, 0x0a, 0x01, 0x50, - 0xb3, 0x2d, 0x3a, 0x69, 0xdf, 0x35, 0x5b, 0x2d, 0xe5, 0x9e, 0x3c, 0x15, 0x86, 0xf1, 0x74, 0x2a, - 0x0c, 0xc3, 0xa8, 0xe9, 0xc9, 0x5a, 0x45, 0x96, 0x7b, 0x2b, 0xca, 0x3b, 0xb2, 0xe9, 0x19, 0x60, - 0xa8, 0xe9, 0x19, 0xfc, 0x82, 0xdd, 0x05, 0xfd, 0xa5, 0x91, 0x07, 0x36, 0x71, 0x56, 0x95, 0xfb, - 0xa1, 0xdd, 0x85, 0x80, 0x83, 0xdd, 0x85, 0xf0, 0x1b, 0xaf, 0xa0, 0x27, 0xa5, 0x85, 0xc6, 0xf3, - 0x14, 0xab, 0x13, 0xdd, 0x6e, 0xae, 0x2a, 0xef, 0x02, 0xab, 0xa7, 0x63, 0x97, 0x2a, 0x99, 0x74, - 0x76, 0x40, 0xdb, 0x8e, 0x13, 0x6c, 0xcb, 0xdf, 0x9e, 0x63, 0x81, 0xa5, 0x5a, 0xad, 0xe4, 0x6d, - 0x42, 0xdf, 0x0b, 0x6d, 0xcb, 0xa3, 0x24, 0xb0, 0x2d, 0x8f, 0x82, 0x71, 0x17, 0x5d, 0x0c, 0x6d, - 0xd5, 0xe6, 0xf5, 0x16, 0xdd, 0x97, 0x10, 0xa3, 0xa6, 0x37, 0xd7, 0x88, 0xab, 0xbc, 0x0f, 0xbc, - 0x2f, 0xf7, 0xd9, 0xf0, 0x85, 0xa8, 0x67, 0x07, 0xb4, 0x1d, 0xf8, 0x61, 0x95, 0x3d, 0x9d, 0xa1, - 0x7c, 0x59, 0x3e, 0xdf, 0xa4, 0xb0, 0xd9, 0x01, 0x8d, 0x3d, 0xab, 0xf1, 0x01, 0x52, 0xee, 0x75, - 0x57, 0x6c, 0xdd, 0x20, 0xcc, 0xd0, 0x02, 0xdb, 0x8d, 0x1b, 0xa0, 0xdf, 0x21, 0x5b, 0x69, 0xfd, - 0xe8, 0xa8, 0x95, 0xd6, 0x0f, 0x47, 0x15, 0x55, 0xca, 0xa1, 0xa4, 0x7c, 0x45, 0x56, 0x54, 0x09, - 0x49, 0x15, 0x55, 0xce, 0xb8, 0xf4, 0x2e, 0x3a, 0xeb, 0xef, 0xe7, 0xf9, 0xfa, 0xcb, 0x3a, 0x4d, - 0xf9, 0x00, 0xf8, 0x5c, 0x8c, 0x5c, 0x06, 0x48, 0x54, 0xb3, 0x03, 0x5a, 0x9f, 0xf2, 0x74, 0xc5, - 0x8d, 0xa4, 0x07, 0xe4, 0xe6, 0xc5, 0x77, 0xca, 0x2b, 0x6e, 0x1f, 0x32, 0xba, 0xe2, 0xf6, 0x41, - 0xc5, 0x32, 0xe7, 0x42, 0xd5, 0x77, 0x60, 0xee, 0xcb, 0xb4, 0x1f, 0x87, 0x58, 0xe6, 0xdc, 0x52, - 0x5b, 0xde, 0x81, 0xb9, 0x6f, 0xad, 0xf5, 0xe3, 0x80, 0xaf, 0xa0, 0x4c, 0xbd, 0x3e, 0xaf, 0xf5, - 0x3a, 0x4a, 0x33, 0x74, 0x2d, 0x07, 0xd0, 0xd9, 0x01, 0x8d, 0xe3, 0xa9, 0x19, 0x54, 0x69, 0xe9, - 0x8e, 0x6b, 0x36, 0x1d, 0x18, 0x31, 0xde, 0x08, 0x31, 0x64, 0x33, 0x28, 0x8e, 0x86, 0x9a, 0x41, - 0x71, 0x70, 0x6a, 0x2f, 0x96, 0x74, 0xc7, 0xd1, 0x3b, 0x86, 0xad, 0x4f, 0xc3, 0x32, 0x41, 0x42, - 0x0f, 0x05, 0x4b, 0x58, 0x6a, 0x2f, 0xca, 0x10, 0x38, 0x7c, 0xf7, 0x20, 0x9e, 0x99, 0xf3, 0x20, - 0x74, 0xf8, 0x1e, 0xc2, 0xc3, 0xe1, 0x7b, 0x08, 0x06, 0x76, 0xa7, 0x07, 0xd3, 0xc8, 0x8a, 0x09, - 0x0f, 0x5d, 0xad, 0x84, 0xec, 0xce, 0x30, 0x01, 0xd8, 0x9d, 0x61, 0xa0, 0xd4, 0x24, 0x6f, 0xb9, - 0x5d, 0xed, 0xd3, 0xa4, 0x60, 0x95, 0x8d, 0x94, 0xa1, 0xeb, 0x77, 0x30, 0x38, 0xca, 0x1b, 0x1d, - 0xbd, 0x6d, 0x95, 0xa7, 0x3d, 0xa9, 0x9b, 0xf2, 0xfa, 0xdd, 0x97, 0x90, 0xae, 0xdf, 0x7d, 0x91, - 0x74, 0x76, 0xf5, 0x36, 0x5a, 0xab, 0xba, 0x4d, 0x0c, 0xff, 0xf9, 0x17, 0xb6, 0x35, 0xfc, 0x50, - 0x9e, 0x5d, 0xb7, 0x21, 0xa5, 0xb3, 0xeb, 0x36, 0x68, 0x6a, 0xe4, 0xc5, 0xa3, 0x35, 0xa2, 0x1b, - 0xca, 0x9a, 0x6c, 0xe4, 0xf5, 0xa7, 0xa4, 0x46, 0x5e, 0x7f, 0x6c, 0xff, 0xcf, 0xb9, 0x6f, 0x9b, - 0x2e, 0x51, 0x5a, 0xbb, 0xf9, 0x1c, 0x20, 0xed, 0xff, 0x39, 0x80, 0xa6, 0x1b, 0xc2, 0x70, 0x87, - 0xb4, 0xe5, 0x0d, 0x61, 0xb4, 0x1b, 0xc2, 0x25, 0xa8, 0xc5, 0xc2, 0xfd, 0xc5, 0x94, 0x8e, 0x6c, - 0xb1, 0x70, 0x30, 0xb5, 0x58, 0x02, 0x8f, 0x32, 0xc9, 0xd3, 0x49, 0xb1, 0xe4, 0x35, 0x54, 0xc4, - 0xd1, 0x35, 0x54, 0xf2, 0x8a, 0xba, 0x2d, 0x39, 0x34, 0x28, 0x5d, 0xd9, 0xea, 0x10, 0x50, 0xd4, - 0xea, 0x10, 0x5d, 0x1f, 0x4a, 0x68, 0xdc, 0x7f, 0xf4, 0x9a, 0xcf, 0x95, 0x5f, 0x95, 0x3f, 0x33, - 0x84, 0xa6, 0x9f, 0x19, 0x02, 0x49, 0x4c, 0xf8, 0xb4, 0x65, 0xf7, 0x61, 0x12, 0x9c, 0x0f, 0x86, - 0x40, 0x78, 0x0e, 0xe1, 0x7a, 0x71, 0x7e, 0xae, 0x6a, 0xd4, 0xc4, 0x2b, 0x32, 0x47, 0x3e, 0x81, - 0x8d, 0x52, 0xcc, 0x0e, 0x68, 0x31, 0xe5, 0xf0, 0x87, 0xe8, 0x3c, 0x87, 0x72, 0x77, 0x5e, 0x78, - 0x6b, 0xc0, 0xf0, 0x17, 0x04, 0x17, 0xf8, 0x3e, 0x13, 0xe2, 0x1b, 0x4b, 0x3b, 0x3b, 0xa0, 0x6d, - 0xcb, 0xab, 0x7f, 0x5d, 0x7c, 0x7d, 0xe8, 0xed, 0xa6, 0x2e, 0x7f, 0x91, 0xd8, 0x96, 0x57, 0xff, - 0xba, 0xb8, 0xdc, 0x1f, 0xee, 0xa6, 0x2e, 0xbf, 0x13, 0xb6, 0xe5, 0x85, 0x1d, 0x54, 0xd8, 0x0e, - 0x5f, 0x6c, 0xb5, 0x94, 0x75, 0xa8, 0xee, 0xb9, 0xdd, 0x54, 0x57, 0x04, 0x83, 0x73, 0x27, 0x8e, - 0x74, 0x96, 0x5e, 0xec, 0x92, 0x4e, 0x5d, 0x5a, 0x80, 0x1e, 0xc9, 0xb3, 0x74, 0x84, 0x80, 0xce, - 0xd2, 0x11, 0x20, 0x1d, 0x50, 0xa2, 0x5f, 0x8c, 0xb2, 0x21, 0x0f, 0x28, 0x11, 0x47, 0x07, 0x94, - 0xe4, 0x43, 0xb3, 0x88, 0x4e, 0x2d, 0xae, 0xb9, 0xba, 0x67, 0x41, 0x3a, 0xbc, 0x2b, 0x3f, 0x0a, - 0x5d, 0x32, 0x45, 0x49, 0xe0, 0x92, 0x29, 0x0a, 0xa6, 0x63, 0x84, 0x82, 0xeb, 0x1b, 0x9d, 0xe6, - 0x8c, 0x6e, 0xb6, 0x7a, 0x36, 0x51, 0xfe, 0x3f, 0x79, 0x8c, 0x84, 0xd0, 0x74, 0x8c, 0x84, 0x40, - 0x74, 0x81, 0xa6, 0xa0, 0xa2, 0xe3, 0x98, 0x2b, 0x1d, 0xbe, 0xaf, 0xec, 0xb5, 0x5c, 0xe5, 0xff, - 0x97, 0x17, 0xe8, 0x38, 0x1a, 0xba, 0x40, 0xc7, 0xc1, 0xe1, 0xd4, 0x29, 0xe6, 0x1d, 0x0e, 0xe5, - 0x4f, 0x85, 0x4e, 0x9d, 0x62, 0x68, 0xe0, 0xd4, 0x29, 0xee, 0x0d, 0x8f, 0x19, 0x94, 0x0f, 0x9e, - 0x08, 0xe6, 0xfc, 0xfe, 0xb4, 0xbc, 0x3e, 0x86, 0xf1, 0x74, 0x7d, 0x0c, 0xc3, 0x64, 0x3e, 0xbc, - 0x0b, 0xfe, 0x4c, 0x3f, 0x3e, 0xbe, 0xfc, 0x23, 0x65, 0xf0, 0x1d, 0x91, 0x0f, 0x1f, 0x29, 0xdf, - 0x95, 0xe8, 0xc7, 0xc8, 0x1f, 0x1e, 0x91, 0x42, 0x32, 0x23, 0xf6, 0x18, 0xb5, 0xf2, 0xb5, 0xbe, - 0x8c, 0x18, 0x81, 0xcc, 0x88, 0xc1, 0xf0, 0x7b, 0xe8, 0x6c, 0x00, 0x9b, 0x27, 0xed, 0x65, 0x7f, - 0x66, 0xfa, 0xb3, 0x09, 0xd9, 0x0c, 0x8e, 0x27, 0xa3, 0x66, 0x70, 0x3c, 0x26, 0x8e, 0x35, 0x17, - 0xdd, 0x9f, 0xdb, 0x81, 0xb5, 0x2f, 0xc1, 0x3e, 0x0c, 0xe2, 0x58, 0x73, 0x69, 0x7e, 0xf7, 0x0e, - 0xac, 0x7d, 0x99, 0xf6, 0x61, 0x80, 0x7f, 0x20, 0x81, 0x2e, 0xc7, 0xa3, 0x8a, 0xad, 0xd6, 0x8c, - 0x65, 0x07, 0x38, 0xe5, 0x7b, 0x12, 0xf2, 0x41, 0xc3, 0xee, 0x8a, 0xcd, 0x0e, 0x68, 0xbb, 0xac, - 0x00, 0x7f, 0x09, 0x8d, 0x16, 0x7b, 0x86, 0xe9, 0xc2, 0xc5, 0x1b, 0x35, 0x9c, 0xbf, 0x37, 0x11, - 0xda, 0xe2, 0x88, 0x58, 0xd8, 0xe2, 0x88, 0x00, 0xfc, 0x16, 0x9a, 0xa8, 0x93, 0x66, 0xcf, 0x36, - 0xdd, 0x0d, 0x0d, 0xde, 0x58, 0xa1, 0x3c, 0xbe, 0x2f, 0x21, 0x4f, 0x62, 0x11, 0x0a, 0x3a, 0x89, - 0x45, 0x80, 0xd3, 0x59, 0x34, 0x08, 0x53, 0x92, 0xfa, 0xe3, 0x09, 0x34, 0x52, 0x77, 0x6d, 0xa2, - 0xb7, 0xb9, 0x5f, 0xf2, 0x24, 0xca, 0xb1, 0xbb, 0xbd, 0x6a, 0x99, 0x87, 0x0f, 0xf8, 0xbf, 0xf1, - 0x65, 0x34, 0x36, 0xa7, 0x3b, 0x2e, 0x94, 0xac, 0x76, 0x0c, 0xf2, 0x08, 0xfc, 0xda, 0x52, 0x5a, - 0x08, 0x8a, 0xe7, 0x18, 0x1d, 0x2b, 0x07, 0x81, 0x18, 0xa9, 0x1d, 0xdd, 0x71, 0x73, 0x1f, 0x6f, - 0x16, 0x06, 0xc0, 0xfb, 0x36, 0x54, 0x56, 0xfd, 0x66, 0x02, 0x45, 0x6e, 0x1d, 0xf7, 0xef, 0x85, - 0xbb, 0x88, 0xc6, 0x43, 0xc1, 0x3f, 0xdc, 0x39, 0x6f, 0x97, 0xb1, 0x41, 0xe1, 0xd2, 0xf8, 0x39, - 0xdf, 0x29, 0xec, 0x9e, 0x36, 0xc7, 0x5d, 0xad, 0xb3, 0xf0, 0xf0, 0xa7, 0xdd, 0xd2, 0x04, 0x14, - 0x77, 0x2a, 0xfc, 0xcb, 0xe3, 0x41, 0x64, 0x03, 0xbe, 0xcc, 0x03, 0x9b, 0x12, 0x81, 0x83, 0x76, - 0x28, 0x05, 0x23, 0x0b, 0x64, 0xfa, 0x12, 0x1a, 0xa9, 0xb6, 0xbb, 0xc4, 0x76, 0xac, 0x0e, 0xbc, - 0xc9, 0x9f, 0x0c, 0xdc, 0x80, 0x4d, 0x01, 0x2e, 0xba, 0xa6, 0x8a, 0xf4, 0xf8, 0xaa, 0xf7, 0x8a, - 0x50, 0x0a, 0x62, 0x4a, 0x4e, 0xc5, 0xbc, 0x22, 0xe4, 0xbd, 0x05, 0x74, 0x15, 0x0d, 0xde, 0x73, - 0x74, 0x70, 0x1f, 0xf4, 0x49, 0x7b, 0x14, 0x20, 0x92, 0x02, 0x05, 0xbe, 0x86, 0x32, 0x60, 0x6e, - 0x39, 0xca, 0x20, 0xd0, 0x82, 0xdb, 0x78, 0x0b, 0x20, 0xa2, 0xbb, 0x2f, 0xa3, 0xc1, 0x77, 0x51, - 0x3e, 0xd8, 0x4b, 0xc2, 0xe3, 0x04, 0x5e, 0x56, 0x07, 0x48, 0x87, 0xb8, 0xe6, 0xe3, 0xd8, 0xab, - 0x06, 0x22, 0x8b, 0x48, 0x41, 0x3c, 0x8b, 0xc6, 0x03, 0x18, 0x15, 0x91, 0x97, 0x4d, 0x06, 0xd2, - 0x81, 0x0a, 0xbc, 0xa8, 0x38, 0x45, 0x56, 0xe1, 0x62, 0xb8, 0x8a, 0xb2, 0x9e, 0xcf, 0x78, 0x6e, - 0x47, 0x25, 0x3d, 0xc5, 0x7d, 0xc6, 0xb3, 0xa2, 0xb7, 0xb8, 0x57, 0x1e, 0xcf, 0xa0, 0x31, 0xcd, - 0xea, 0xb9, 0x64, 0xc9, 0xf2, 0x1e, 0x3c, 0x1e, 0x0a, 0x52, 0x94, 0xda, 0x14, 0xd3, 0x70, 0x2d, - 0x2f, 0x9b, 0xa4, 0x98, 0xd5, 0x50, 0x2e, 0x85, 0x17, 0xe2, 0xde, 0x4e, 0x16, 0x72, 0x3c, 0x0a, - 0x9f, 0x17, 0x65, 0x16, 0xf3, 0x58, 0xf2, 0xf7, 0x26, 0x50, 0x66, 0xc9, 0xd6, 0x4d, 0xd7, 0xe1, - 0x9e, 0x87, 0x67, 0xa6, 0xd6, 0x6d, 0xbd, 0x4b, 0xf5, 0x63, 0x0a, 0x82, 0x86, 0xe0, 0xad, 0x58, - 0x67, 0xfa, 0x3e, 0xfd, 0xba, 0x7f, 0xbf, 0x59, 0xf8, 0xe2, 0x1e, 0x5e, 0x77, 0xba, 0xee, 0x73, - 0x62, 0x35, 0x50, 0x15, 0x70, 0xe1, 0x2f, 0x51, 0x05, 0x18, 0x0e, 0x2f, 0x20, 0xc4, 0x3f, 0xb5, - 0xd8, 0xed, 0x72, 0x37, 0x46, 0xc1, 0x47, 0xcb, 0xc3, 0x30, 0xc5, 0xf6, 0x05, 0xa6, 0x77, 0xc5, - 0x27, 0x2e, 0x04, 0x0e, 0x54, 0x0b, 0x96, 0x78, 0x8b, 0x3c, 0x31, 0x8d, 0x06, 0x12, 0xf7, 0x1a, - 0x1b, 0x23, 0xa4, 0x70, 0x31, 0xbc, 0x8c, 0xc6, 0x39, 0x5f, 0x3f, 0xfe, 0x7f, 0x4c, 0x9e, 0x15, - 0x42, 0x68, 0xa6, 0xb4, 0x7e, 0x1b, 0x0d, 0x0e, 0x16, 0xeb, 0x08, 0x95, 0xc0, 0xd3, 0x41, 0x7a, - 0x32, 0x78, 0x4f, 0x43, 0x19, 0x07, 0x8d, 0x3d, 0xbf, 0xb5, 0x59, 0x50, 0xbc, 0xf2, 0xec, 0x19, - 0x8e, 0xb8, 0x64, 0x9b, 0x50, 0x44, 0xe4, 0xc1, 0xb4, 0x3e, 0x1f, 0xc3, 0x23, 0xac, 0xf3, 0x72, - 0x11, 0x5c, 0x42, 0xa3, 0xbe, 0x17, 0xc5, 0xbd, 0x7b, 0xd5, 0x32, 0xf8, 0x49, 0xf2, 0x87, 0x23, - 0x42, 0xa9, 0x05, 0x44, 0x26, 0x52, 0x19, 0x7c, 0x13, 0xe5, 0x98, 0x1f, 0x62, 0x95, 0x39, 0x4e, - 0x7a, 0xb1, 0x5d, 0x00, 0x6b, 0x98, 0x62, 0x8f, 0xf9, 0x84, 0xf8, 0x75, 0x34, 0x5c, 0xbc, 0x5f, - 0xa7, 0xf3, 0x4c, 0x51, 0x5b, 0x70, 0x94, 0x53, 0x41, 0x4e, 0x17, 0xc8, 0xb7, 0x6a, 0xb5, 0x48, - 0x43, 0xb7, 0xa5, 0xc9, 0x43, 0xa4, 0xc7, 0x15, 0x34, 0x26, 0x1d, 0xc4, 0x3a, 0xca, 0x69, 0xe0, - 0xc0, 0x9e, 0xbc, 0x60, 0x4f, 0x12, 0xf3, 0x57, 0x57, 0xa4, 0xa4, 0xb2, 0x72, 0x21, 0xaa, 0x35, - 0x65, 0xd3, 0x81, 0xfc, 0x18, 0x1a, 0x31, 0x1d, 0xa7, 0x47, 0xc0, 0xeb, 0x32, 0xc7, 0xb4, 0xc6, - 0xe0, 0xa8, 0x86, 0xcd, 0x70, 0x52, 0xca, 0x5f, 0xb9, 0x18, 0xfe, 0x10, 0x61, 0xc8, 0xa8, 0x41, - 0x0c, 0xcf, 0x2e, 0xaf, 0x96, 0x1d, 0xe5, 0x2c, 0x04, 0x4f, 0xe2, 0x70, 0x08, 0x73, 0xb5, 0x3c, - 0x7d, 0x99, 0x4f, 0x1f, 0x17, 0x75, 0x56, 0xaa, 0xe1, 0xbf, 0x78, 0x62, 0x1a, 0x62, 0x8b, 0x63, - 0xb8, 0xe2, 0x75, 0x74, 0xae, 0x66, 0x93, 0x87, 0xa6, 0xd5, 0x73, 0xbc, 0xe5, 0xc3, 0x9b, 0xb7, - 0xce, 0xed, 0x38, 0x6f, 0x3d, 0xc5, 0x2b, 0x3e, 0xd3, 0xb5, 0xc9, 0xc3, 0x86, 0x17, 0x32, 0x27, - 0xc5, 0xbc, 0xf4, 0xe3, 0x4e, 0xc5, 0x55, 0xfc, 0xa8, 0x67, 0x13, 0x0e, 0x37, 0x89, 0xa3, 0x28, - 0xc1, 0x54, 0xab, 0x53, 0x94, 0xc7, 0xd1, 0x94, 0x54, 0x37, 0x5c, 0x0c, 0x6b, 0x08, 0xdf, 0x29, - 0x79, 0x7b, 0xb4, 0x62, 0xb3, 0x69, 0xf5, 0x3a, 0xae, 0xa3, 0x3c, 0x01, 0xcc, 0x54, 0x2a, 0x96, - 0x95, 0xa6, 0x1f, 0x3e, 0xdb, 0xd0, 0x39, 0x5e, 0x14, 0x4b, 0xb4, 0x34, 0x9e, 0x43, 0xf9, 0x9a, - 0x6d, 0x3e, 0xd4, 0x5d, 0x72, 0x97, 0x6c, 0xd4, 0xac, 0x96, 0xd9, 0xdc, 0x00, 0xe7, 0x4f, 0x3e, - 0x55, 0x76, 0x19, 0xae, 0xb1, 0x46, 0x36, 0x1a, 0x5d, 0xc0, 0x8a, 0xcb, 0x4a, 0xb8, 0xa4, 0xfa, - 0xc3, 0x29, 0x71, 0x86, 0xf2, 0x5f, 0xb1, 0x4d, 0xc4, 0xbe, 0x62, 0x7b, 0x0d, 0x0d, 0xf1, 0xd5, - 0xdd, 0x4f, 0xcf, 0x01, 0xb9, 0xcc, 0xbc, 0x48, 0x52, 0xd3, 0xd0, 0x02, 0x02, 0xc8, 0x23, 0x15, - 0x3c, 0x46, 0x90, 0x12, 0xf2, 0x48, 0x05, 0x8f, 0x11, 0x48, 0x4f, 0x11, 0xdc, 0x40, 0xc3, 0x7c, - 0x76, 0x12, 0x82, 0xbe, 0x20, 0x1a, 0xd4, 0xcb, 0x47, 0xcc, 0x82, 0x4d, 0x05, 0x22, 0xfc, 0x2a, - 0x64, 0xe4, 0xe6, 0x03, 0x86, 0xdb, 0x22, 0x30, 0x99, 0x8a, 0xe3, 0x2b, 0x94, 0x92, 0x9b, 0x53, - 0xd3, 0xa9, 0x45, 0xec, 0x30, 0x2f, 0x73, 0x1e, 0x4c, 0x2d, 0x52, 0x2f, 0x6f, 0x48, 0xcf, 0xc9, - 0x88, 0x45, 0xf0, 0x22, 0x9a, 0x88, 0xf4, 0x11, 0x0f, 0x11, 0x83, 0x3c, 0x8a, 0x31, 0x1d, 0x2c, - 0x2e, 0x5d, 0x91, 0xb2, 0xea, 0xbf, 0x4b, 0x44, 0x26, 0x66, 0x2a, 0x18, 0x4e, 0x25, 0x74, 0x0e, - 0x08, 0xc6, 0x63, 0xcd, 0x04, 0x23, 0x10, 0xe1, 0x2b, 0x28, 0x17, 0x4a, 0xca, 0x0d, 0xc1, 0xa3, - 0x7e, 0x46, 0x6e, 0x1f, 0x8b, 0x6f, 0xa0, 0x1c, 0x9d, 0x26, 0x3b, 0xa1, 0x80, 0xc8, 0x1e, 0x87, - 0x89, 0xf3, 0x9a, 0x47, 0x47, 0xcb, 0x48, 0x69, 0x63, 0xbc, 0xdc, 0xc9, 0xd1, 0x45, 0x21, 0x48, - 0x13, 0xf3, 0xbf, 0xd2, 0xdb, 0x5e, 0x50, 0x1d, 0x4a, 0xbc, 0xfc, 0x2b, 0xd4, 0xd0, 0xa6, 0xb5, - 0x17, 0x9d, 0x88, 0xb9, 0xc8, 0xce, 0xdf, 0x1b, 0x3a, 0xd3, 0x23, 0x47, 0x93, 0x29, 0xc5, 0x67, - 0x9d, 0x20, 0xba, 0x2d, 0x1d, 0xf3, 0xac, 0x53, 0x38, 0x17, 0xb4, 0x58, 0x00, 0x7f, 0x1e, 0x0d, - 0x05, 0x0f, 0x54, 0x0d, 0x0a, 0x11, 0x8e, 0x31, 0xef, 0x52, 0x05, 0x94, 0xf8, 0x2b, 0x28, 0x23, - 0x25, 0x23, 0xbf, 0xbe, 0x8b, 0x1b, 0xbd, 0x29, 0x31, 0x5e, 0x9d, 0x19, 0xad, 0xe1, 0x44, 0xe4, - 0x9c, 0x29, 0x5e, 0x42, 0xa7, 0x6a, 0x36, 0x31, 0xe0, 0xee, 0xb8, 0xf2, 0xa8, 0x6b, 0xf3, 0x6c, - 0x02, 0x4c, 0xa5, 0x61, 0xce, 0xea, 0x7a, 0x68, 0x3a, 0x9b, 0x72, 0xbc, 0xc0, 0x28, 0xae, 0x38, - 0x5d, 0xc8, 0x58, 0x4b, 0xee, 0x92, 0x8d, 0x75, 0xcb, 0x36, 0x58, 0xc0, 0x3d, 0x5f, 0xc8, 0xb8, - 0xa0, 0xd7, 0x38, 0x4a, 0x5c, 0xc8, 0xe4, 0x42, 0x93, 0xaf, 0xa0, 0xe1, 0xfd, 0xc6, 0x7c, 0xff, - 0x5c, 0xb2, 0x8f, 0xab, 0xc7, 0xf1, 0xcd, 0x52, 0xe7, 0x67, 0x0c, 0x1d, 0xec, 0x93, 0x31, 0xf4, - 0x0f, 0x93, 0x7d, 0xfc, 0x58, 0x8e, 0x75, 0x66, 0x3f, 0x5f, 0x18, 0x72, 0x66, 0xbf, 0x20, 0xa9, - 0xa2, 0x69, 0x68, 0x22, 0x51, 0x28, 0x07, 0x68, 0x66, 0xc7, 0x1c, 0xa0, 0x3f, 0x99, 0xda, 0xce, - 0xcf, 0xe7, 0x44, 0xf6, 0x7b, 0x91, 0xfd, 0x0d, 0x34, 0xec, 0x4b, 0x96, 0xbf, 0xe8, 0x32, 0xea, - 0x67, 0x98, 0x60, 0x60, 0x28, 0x23, 0x10, 0xe1, 0xab, 0xac, 0xad, 0x75, 0xf3, 0x23, 0x16, 0xed, - 0x3d, 0xca, 0x23, 0x82, 0x75, 0x57, 0x6f, 0x38, 0xe6, 0x47, 0x44, 0xf3, 0xd1, 0xea, 0x3f, 0x4d, - 0xc6, 0x3a, 0x4b, 0x9d, 0xf4, 0xd1, 0x1e, 0xfa, 0x28, 0x46, 0x88, 0xcc, 0xcd, 0xeb, 0x44, 0x88, - 0x7b, 0x10, 0xe2, 0x1f, 0x24, 0x63, 0x9d, 0xe2, 0x4e, 0x84, 0xb8, 0x97, 0xd9, 0xe2, 0x1a, 0x1a, - 0xd2, 0xac, 0x75, 0xa7, 0x04, 0x56, 0x3c, 0x9b, 0x2b, 0x60, 0xa2, 0xb6, 0xad, 0x75, 0xa7, 0x01, - 0xf6, 0xb9, 0x16, 0x10, 0xa8, 0xdf, 0x4e, 0x6e, 0xe3, 0x36, 0x78, 0x22, 0xf8, 0x4f, 0x72, 0x89, - 0xfc, 0x85, 0xa4, 0xe4, 0x96, 0x78, 0xac, 0x53, 0x64, 0xd7, 0x9b, 0xab, 0xa4, 0xad, 0x87, 0x53, - 0x64, 0x3b, 0x00, 0xe5, 0x19, 0x36, 0x03, 0x12, 0xf5, 0x17, 0x93, 0x21, 0xbf, 0xcc, 0x13, 0xd9, - 0xed, 0x5a, 0x76, 0xbe, 0xd6, 0x71, 0x57, 0xd3, 0x13, 0xc9, 0xed, 0x56, 0x72, 0xdf, 0x9f, 0x0c, - 0x79, 0xe5, 0x1e, 0xdf, 0x6c, 0xb9, 0xbf, 0x98, 0x8c, 0x7a, 0x18, 0x1f, 0x5f, 0x4d, 0xba, 0x86, - 0x86, 0xb8, 0x1c, 0xfc, 0xa5, 0x82, 0xcd, 0xfb, 0x0c, 0x08, 0x47, 0x8a, 0x3e, 0x81, 0xfa, 0x3d, - 0x49, 0x24, 0x7b, 0x4b, 0x1f, 0x53, 0x1d, 0xfa, 0x85, 0xa4, 0xec, 0x27, 0x7e, 0x7c, 0xf5, 0x67, - 0x0a, 0xa1, 0x7a, 0x6f, 0xb9, 0xc9, 0xd3, 0x8c, 0x0c, 0x0a, 0x67, 0xd2, 0x3e, 0x54, 0x13, 0x28, - 0xd4, 0xff, 0x9d, 0x8c, 0x75, 0x5e, 0x3f, 0xbe, 0x02, 0xbc, 0x09, 0xe7, 0xc4, 0xcd, 0x4e, 0x30, - 0x91, 0xc3, 0x21, 0x24, 0x1d, 0x7f, 0x91, 0x34, 0x6b, 0x1e, 0x21, 0xfe, 0x42, 0x8c, 0xb9, 0x06, - 0x19, 0xd1, 0x62, 0x5f, 0x0b, 0x12, 0x0d, 0xb7, 0x7f, 0x99, 0xdc, 0xc9, 0xd7, 0xff, 0x38, 0xaf, - 0xaa, 0xd9, 0x9a, 0xbe, 0x01, 0x31, 0xe9, 0xb4, 0x27, 0x46, 0x58, 0x3a, 0xb1, 0x2e, 0x03, 0x89, - 0x79, 0x09, 0x39, 0x95, 0xfa, 0xfb, 0x83, 0xf1, 0x8e, 0xe6, 0xc7, 0x57, 0x84, 0xde, 0x6b, 0xb6, - 0x83, 0x3b, 0xbe, 0x66, 0x9b, 0xd9, 0xed, 0x6b, 0xb6, 0xd9, 0xbe, 0xaf, 0xd9, 0x9e, 0x47, 0xe9, - 0x69, 0xcb, 0xd8, 0x00, 0x2f, 0x8a, 0x11, 0x56, 0xd9, 0xb2, 0x65, 0x6c, 0x68, 0x00, 0xc5, 0x3f, - 0x90, 0x40, 0xd9, 0x59, 0xa2, 0x1b, 0x74, 0x84, 0x0c, 0x6d, 0xe7, 0x84, 0xf0, 0xee, 0xe3, 0x71, - 0x42, 0x98, 0x58, 0x65, 0x95, 0x89, 0x8a, 0xc2, 0xeb, 0xc7, 0x77, 0x50, 0xae, 0xa4, 0xbb, 0x64, - 0xc5, 0xb2, 0x37, 0xc0, 0xad, 0x62, 0x2c, 0x08, 0x41, 0x94, 0xf4, 0xc7, 0x23, 0x62, 0x77, 0x45, - 0x4d, 0xfe, 0x4b, 0xf3, 0x0b, 0x53, 0xb1, 0xf0, 0xf4, 0xd9, 0xc3, 0x81, 0x58, 0xe4, 0x3c, 0xd9, - 0xc1, 0xb1, 0xf2, 0x48, 0xfc, 0xb1, 0x72, 0xe8, 0x8d, 0xe2, 0xd1, 0x1d, 0xdf, 0x28, 0x56, 0xbf, - 0x35, 0x88, 0x62, 0xdd, 0x52, 0x4f, 0x94, 0xfc, 0x44, 0xc9, 0x03, 0x25, 0x2f, 0x47, 0x94, 0x7c, - 0x32, 0xea, 0xe8, 0xfc, 0x29, 0xd5, 0xf0, 0x1f, 0x4b, 0x47, 0xc2, 0x24, 0x8e, 0xf7, 0xee, 0x32, - 0x90, 0xde, 0xe0, 0xee, 0xdf, 0x30, 0xcf, 0xec, 0x38, 0x20, 0xb2, 0xbb, 0x1d, 0x10, 0xb9, 0xbe, - 0x03, 0x22, 0x50, 0x90, 0xa1, 0xbe, 0x0a, 0x52, 0xe5, 0x83, 0x06, 0x6d, 0x9f, 0xf2, 0xf5, 0xfc, - 0xd6, 0x66, 0x61, 0x8c, 0x8e, 0xa6, 0xd8, 0x64, 0xaf, 0xc0, 0x42, 0xfd, 0x66, 0x7a, 0x9b, 0xd8, - 0xa6, 0x43, 0xd1, 0x11, 0xfe, 0x88, 0x7b, 0x6a, 0x3f, 0x8f, 0xb8, 0xa7, 0xf7, 0xf1, 0x88, 0x7b, - 0xcc, 0xc3, 0xfc, 0x83, 0x7b, 0x78, 0x98, 0x5f, 0xd6, 0xa6, 0xcc, 0xee, 0xb5, 0x29, 0xbb, 0xa3, - 0x36, 0xe5, 0x76, 0xab, 0x4d, 0x43, 0xbb, 0xd0, 0x26, 0xb4, 0xa3, 0x36, 0x0d, 0x1f, 0x5c, 0x9b, - 0xba, 0x68, 0x32, 0x1a, 0x8f, 0xea, 0x6b, 0x84, 0x86, 0x70, 0x14, 0xcb, 0xdd, 0x4d, 0xe0, 0xea, - 0xbf, 0xc7, 0xb0, 0x0d, 0x96, 0x58, 0x3f, 0x9c, 0x96, 0x5e, 0x8b, 0x29, 0xad, 0xfe, 0x5c, 0xb2, - 0x7f, 0x18, 0xed, 0xd1, 0x9c, 0xe2, 0xbe, 0x33, 0x56, 0x4a, 0x69, 0x39, 0x30, 0xaf, 0xbf, 0x94, - 0x43, 0x6c, 0xe3, 0x64, 0xf6, 0xf5, 0x44, 0xbf, 0xd8, 0xde, 0x03, 0x49, 0xec, 0xd9, 0xa8, 0xfb, - 0x16, 0xb8, 0x6d, 0x3b, 0xb2, 0xdf, 0x56, 0x38, 0xcb, 0x7b, 0x6a, 0x9f, 0x59, 0xde, 0xff, 0x49, - 0x02, 0x9d, 0xba, 0xdb, 0x5b, 0x26, 0xdc, 0x5d, 0xcb, 0x6f, 0xc6, 0x87, 0x08, 0x51, 0x30, 0x77, - 0x62, 0x49, 0x80, 0x13, 0xcb, 0x0b, 0x62, 0x5c, 0x6e, 0xa8, 0xc0, 0x54, 0x40, 0xcd, 0x1c, 0x58, - 0x2e, 0x78, 0xbe, 0x7d, 0x6b, 0xbd, 0x65, 0x12, 0x7d, 0x52, 0x5f, 0xe0, 0x3e, 0xf9, 0x3a, 0xf3, - 0x9a, 0xde, 0xaf, 0xd3, 0xc8, 0xcf, 0x24, 0xfb, 0x86, 0x42, 0x1f, 0xd9, 0x47, 0xc2, 0xbf, 0x1c, - 0xdb, 0x2b, 0x5c, 0x7f, 0x9f, 0xdc, 0xa6, 0x1f, 0x42, 0x1c, 0xe3, 0xb8, 0xc4, 0x0b, 0xec, 0x88, - 0xbf, 0xaa, 0xfe, 0x89, 0x0a, 0xec, 0x37, 0x13, 0x7d, 0x43, 0xd6, 0x8f, 0xec, 0xbb, 0xeb, 0xdf, - 0x48, 0x7a, 0x91, 0xf2, 0x07, 0xfa, 0x84, 0x6b, 0x68, 0x88, 0xa7, 0x03, 0x96, 0xbd, 0x4d, 0xf9, - 0x51, 0x1e, 0x1c, 0x0d, 0xfb, 0x04, 0x74, 0x99, 0xf7, 0x22, 0x79, 0xfd, 0x17, 0x06, 0x60, 0x99, - 0x37, 0x39, 0x94, 0xd2, 0x0b, 0x24, 0x74, 0x21, 0xaf, 0x3c, 0x32, 0x5d, 0xb0, 0x0a, 0x68, 0x5f, - 0xa6, 0xd8, 0x42, 0x4e, 0x1e, 0x99, 0x2e, 0xb3, 0x09, 0x7c, 0x34, 0x5d, 0xa4, 0x85, 0xb7, 0x23, - 0xf9, 0x22, 0xed, 0xf0, 0xbc, 0xe4, 0x3c, 0x8a, 0xe8, 0x1a, 0x1a, 0xe2, 0x2e, 0x9c, 0xdc, 0xcd, - 0x84, 0xb7, 0x96, 0x3b, 0x7d, 0x42, 0x6b, 0x7d, 0x02, 0xca, 0x51, 0x23, 0x2b, 0x81, 0x63, 0x1d, - 0x70, 0xb4, 0x01, 0xa2, 0x71, 0x8c, 0xba, 0x95, 0x8c, 0x06, 0xec, 0x1f, 0xdf, 0x4d, 0xc1, 0x55, - 0xd9, 0x59, 0x0d, 0x3c, 0x34, 0xc1, 0xe0, 0x12, 0xa3, 0x74, 0x98, 0xdd, 0x75, 0x03, 0xe5, 0xee, - 0x92, 0x0d, 0xe6, 0x57, 0x99, 0x09, 0x9c, 0x53, 0xd7, 0x38, 0x4c, 0x3c, 0xd1, 0xf4, 0xe8, 0xd4, - 0x5f, 0x4e, 0x46, 0x53, 0x11, 0x1c, 0x5f, 0x61, 0x7f, 0x0e, 0x65, 0x41, 0x94, 0x55, 0xef, 0x48, - 0x1d, 0x04, 0xc8, 0x1e, 0x84, 0x97, 0x62, 0x24, 0x3c, 0x32, 0xf5, 0x27, 0x32, 0xe1, 0xfc, 0x14, - 0xc7, 0x57, 0x7a, 0x5f, 0x44, 0xc3, 0x25, 0xab, 0xe3, 0x98, 0x8e, 0x4b, 0x3a, 0x4d, 0x4f, 0x61, - 0x9f, 0xa0, 0x06, 0x4b, 0x33, 0x00, 0x8b, 0x21, 0x1f, 0x02, 0xf5, 0x7e, 0x94, 0x17, 0xbf, 0x8c, - 0x86, 0x40, 0xe4, 0xe0, 0x87, 0x2c, 0xbc, 0x4f, 0xb2, 0x4c, 0x81, 0x61, 0x27, 0xe4, 0x80, 0x14, - 0xdf, 0x43, 0xb9, 0xd2, 0xaa, 0xd9, 0x32, 0x6c, 0xd2, 0xe1, 0x0f, 0x60, 0x3d, 0x15, 0x9f, 0x4d, - 0x64, 0x0a, 0xfe, 0x05, 0x5a, 0xd6, 0x9c, 0x26, 0x2f, 0x26, 0x05, 0xbd, 0x70, 0xd8, 0xe4, 0x5f, - 0x4c, 0x22, 0x14, 0x14, 0xc0, 0x97, 0x50, 0xd2, 0x8b, 0xac, 0x64, 0x6e, 0x20, 0x92, 0x06, 0x25, - 0x61, 0x2a, 0xe6, 0x63, 0x3b, 0xb9, 0xe3, 0xd8, 0xbe, 0x87, 0x32, 0xec, 0x44, 0x09, 0x3c, 0xb5, - 0x85, 0x90, 0xf9, 0xbe, 0x0d, 0x9e, 0x02, 0x7a, 0xb6, 0x59, 0x04, 0xcb, 0x4e, 0xf2, 0x7a, 0x66, - 0xcc, 0x26, 0x9b, 0x68, 0x10, 0xfe, 0xc2, 0x97, 0x51, 0x1a, 0xa4, 0x98, 0x80, 0x7d, 0x22, 0xc4, - 0x27, 0x86, 0xe4, 0x07, 0x78, 0xda, 0x4d, 0x25, 0xab, 0xe3, 0xd2, 0xaa, 0xa1, 0xd5, 0x23, 0x5c, - 0x2e, 0x1c, 0x26, 0xc9, 0x85, 0xc3, 0xd4, 0x7f, 0x91, 0x8c, 0xc9, 0x9c, 0x72, 0x7c, 0x87, 0xc9, - 0x2b, 0x08, 0x41, 0x04, 0x2d, 0x95, 0xa7, 0x17, 0x50, 0x09, 0xa3, 0x04, 0x18, 0x81, 0xda, 0x4a, - 0x66, 0x7d, 0x40, 0xac, 0xfe, 0x6a, 0x22, 0x92, 0x6e, 0xe3, 0xc8, 0xbe, 0xc7, 0x28, 0x7d, 0xcb, - 0x11, 0x7f, 0x5b, 0xf2, 0x5b, 0xc9, 0xb8, 0xe4, 0x23, 0x47, 0x53, 0xc5, 0x83, 0x47, 0xae, 0xd2, - 0x7b, 0x78, 0xe4, 0xea, 0x03, 0x34, 0x1e, 0x4a, 0xc9, 0xc1, 0x5f, 0x13, 0xb9, 0xbc, 0x7d, 0x6e, - 0x8f, 0xfe, 0xb1, 0xd7, 0x12, 0x99, 0xfa, 0x7f, 0x12, 0xdb, 0x27, 0x64, 0x39, 0x74, 0xd5, 0x89, - 0x11, 0x40, 0xea, 0x4f, 0x46, 0x00, 0x8f, 0x61, 0x9b, 0x79, 0xb4, 0x05, 0xf0, 0x29, 0x99, 0x3c, - 0x3e, 0x69, 0x01, 0xfc, 0x44, 0x62, 0xc7, 0x7c, 0x3a, 0x87, 0x2d, 0x03, 0xf5, 0x3f, 0x24, 0x62, - 0xf3, 0xde, 0x1c, 0xa8, 0x5d, 0xaf, 0xa1, 0x0c, 0x73, 0x5b, 0xe1, 0xad, 0x12, 0x32, 0x05, 0x53, - 0x68, 0xbf, 0x47, 0xb6, 0x19, 0x16, 0xcf, 0xa1, 0x2c, 0x6b, 0x83, 0xc1, 0x7b, 0xe3, 0x99, 0x6d, - 0x92, 0xef, 0x18, 0xfd, 0x26, 0x47, 0x8e, 0x56, 0x7f, 0x25, 0x11, 0x49, 0xc3, 0x73, 0x88, 0xdf, - 0xb6, 0xbf, 0xc7, 0x7b, 0x7f, 0x27, 0x19, 0x9f, 0x05, 0xe8, 0x10, 0x3f, 0xe4, 0x71, 0x1c, 0x57, - 0xed, 0x6f, 0xdd, 0x5a, 0x42, 0x63, 0xb2, 0x2c, 0xf8, 0xb2, 0x75, 0x31, 0x3e, 0x17, 0x52, 0x9f, - 0x56, 0x84, 0x78, 0xa8, 0x1f, 0x27, 0xa2, 0x09, 0x8c, 0x0e, 0x7d, 0x7e, 0xda, 0x9f, 0xb6, 0xc8, - 0x9f, 0xf2, 0x29, 0x59, 0x6b, 0x1e, 0xc7, 0xa7, 0x7c, 0x4a, 0x56, 0x8d, 0xfd, 0x7d, 0xca, 0x4f, - 0x25, 0xfb, 0xe5, 0x7f, 0x3a, 0xf4, 0x0f, 0x7a, 0x5f, 0x14, 0x32, 0x6b, 0x19, 0xff, 0xb4, 0x4b, - 0xfd, 0x12, 0x2e, 0xf5, 0xe1, 0x19, 0xe1, 0xb3, 0xbf, 0x31, 0x1e, 0x2b, 0xac, 0x4f, 0x89, 0x22, - 0x1f, 0x0d, 0x61, 0x7d, 0x4a, 0x86, 0xca, 0xa7, 0x4f, 0x58, 0xff, 0x30, 0xb9, 0xdb, 0xa4, 0x63, - 0x27, 0xc2, 0x8b, 0x08, 0xef, 0x47, 0x92, 0xd1, 0x64, 0x78, 0x87, 0x2e, 0xa6, 0x19, 0x94, 0xe1, - 0x69, 0xf9, 0xfa, 0x0a, 0x87, 0xe1, 0xfb, 0x59, 0x34, 0xfc, 0x3b, 0x82, 0xb7, 0x4c, 0xd3, 0xbb, - 0x7f, 0xcb, 0x54, 0xfd, 0x76, 0x22, 0x94, 0x39, 0xee, 0x50, 0x8e, 0x10, 0xf6, 0xb5, 0x24, 0xe1, - 0xd7, 0xbd, 0xc3, 0xcc, 0x74, 0xe8, 0x51, 0x2e, 0xff, 0x7b, 0xca, 0xc4, 0xd5, 0xcd, 0x56, 0xb8, - 0x3c, 0x8f, 0xb9, 0xff, 0xe5, 0x24, 0x9a, 0x88, 0x90, 0xe2, 0xcb, 0x52, 0x5e, 0x16, 0x38, 0x96, - 0x0c, 0x39, 0x67, 0xb3, 0x0c, 0x2d, 0x7b, 0x38, 0x49, 0xbd, 0x8c, 0xd2, 0x65, 0x7d, 0x83, 0x7d, - 0xdb, 0x20, 0x63, 0x69, 0xe8, 0x1b, 0xe2, 0x89, 0x1b, 0xe0, 0xf1, 0x32, 0x3a, 0xc3, 0xee, 0x43, - 0x4c, 0xab, 0xb3, 0x64, 0xb6, 0x49, 0xb5, 0x33, 0x6f, 0xb6, 0x5a, 0xa6, 0xc3, 0x2f, 0xcd, 0xae, - 0x6d, 0x6d, 0x16, 0xae, 0xb8, 0x96, 0xab, 0xb7, 0x1a, 0xc4, 0x23, 0x6b, 0xb8, 0x66, 0x9b, 0x34, - 0xcc, 0x4e, 0xa3, 0x0d, 0x94, 0x02, 0xcb, 0x78, 0x56, 0xb8, 0xca, 0x5e, 0x0d, 0xab, 0x37, 0xf5, - 0x4e, 0x87, 0x18, 0xd5, 0xce, 0xf4, 0x86, 0x4b, 0xd8, 0x65, 0x5b, 0x8a, 0x1d, 0x09, 0xb2, 0xd8, - 0x6b, 0x86, 0xa6, 0x8c, 0x97, 0x29, 0x81, 0x16, 0x53, 0x48, 0xfd, 0xa5, 0x74, 0x4c, 0xd2, 0xc0, - 0x23, 0xa4, 0x3e, 0x5e, 0x4f, 0xa7, 0x77, 0xe8, 0xe9, 0xeb, 0x28, 0xfb, 0x0e, 0xb1, 0xe1, 0x7c, - 0x6b, 0x30, 0x78, 0x4e, 0xfd, 0x21, 0x03, 0x89, 0x37, 0x34, 0x9c, 0x0a, 0xb7, 0xd0, 0xe4, 0x12, - 0xed, 0xa6, 0xf8, 0xce, 0xcc, 0xec, 0xa3, 0x33, 0xb7, 0xe1, 0x87, 0xdf, 0x43, 0xe7, 0x00, 0x1b, - 0xd3, 0xad, 0x59, 0xa8, 0x0a, 0xb2, 0x89, 0xb1, 0xaa, 0xe2, 0x3b, 0xb7, 0x5f, 0x79, 0xfc, 0x3e, - 0x1a, 0xf1, 0x07, 0x88, 0x49, 0x1c, 0x7e, 0x73, 0xb1, 0xcd, 0x38, 0x63, 0xf9, 0xb6, 0x28, 0x18, - 0x5c, 0xb4, 0xe4, 0x9c, 0x4d, 0x12, 0xaf, 0xe7, 0x9f, 0x43, 0xc3, 0x70, 0xcc, 0x5c, 0x84, 0x97, - 0x7f, 0xf0, 0x08, 0xca, 0x2d, 0x4e, 0xd7, 0x2b, 0xda, 0x3b, 0x95, 0x72, 0x7e, 0x00, 0x23, 0x94, - 0x29, 0x57, 0x16, 0xaa, 0x95, 0x72, 0x3e, 0xf1, 0xfc, 0xff, 0x4c, 0x20, 0x54, 0x9f, 0x59, 0xaa, - 0x71, 0xc2, 0x61, 0x94, 0xad, 0x2e, 0xbc, 0x53, 0x9c, 0xab, 0x52, 0xba, 0x1c, 0x4a, 0x2f, 0xd6, - 0x2a, 0x0b, 0xf9, 0x04, 0x1e, 0x42, 0x83, 0xa5, 0xb9, 0xc5, 0x7a, 0x25, 0x9f, 0xa4, 0x40, 0xad, - 0x52, 0x2c, 0xe7, 0x53, 0x14, 0x78, 0x5f, 0xab, 0x2e, 0x55, 0xf2, 0x69, 0xfa, 0xe7, 0x5c, 0x7d, - 0xa9, 0xb8, 0x94, 0x1f, 0xa4, 0x7f, 0xce, 0xc0, 0x9f, 0x19, 0xca, 0xac, 0x5e, 0x59, 0x82, 0x1f, - 0x59, 0xda, 0x84, 0x19, 0xef, 0x57, 0x8e, 0xa2, 0x28, 0xeb, 0x72, 0x55, 0xcb, 0x0f, 0xd1, 0x1f, - 0x94, 0x25, 0xfd, 0x81, 0x68, 0xe3, 0xb4, 0xca, 0xfc, 0xe2, 0x3b, 0x95, 0xfc, 0x30, 0xe5, 0x35, - 0x7f, 0x97, 0x82, 0x47, 0xe8, 0x9f, 0xda, 0x3c, 0xfd, 0x73, 0x94, 0x72, 0xd2, 0x2a, 0xc5, 0xb9, - 0x5a, 0x71, 0x69, 0x36, 0x3f, 0x46, 0xdb, 0x03, 0x3c, 0xc7, 0x59, 0xc9, 0x85, 0xe2, 0x7c, 0x25, - 0x9f, 0xe7, 0x34, 0xe5, 0xb9, 0xea, 0xc2, 0xdd, 0xfc, 0x04, 0x34, 0xe4, 0xbd, 0x79, 0xf8, 0x81, - 0x69, 0x01, 0xf8, 0xeb, 0xd4, 0xf3, 0xdf, 0x81, 0x32, 0xec, 0xbd, 0x73, 0x7c, 0x0e, 0x9d, 0x5a, - 0xac, 0x37, 0x96, 0xde, 0xab, 0x55, 0x1a, 0xf7, 0x16, 0xea, 0xb5, 0x4a, 0xa9, 0x3a, 0x53, 0x05, - 0x51, 0x4d, 0xa0, 0x51, 0x0f, 0x31, 0x57, 0x5d, 0xb8, 0xf7, 0x6e, 0x3e, 0x21, 0x82, 0xe6, 0x8b, - 0xa5, 0xc5, 0x7a, 0x3e, 0x89, 0x4f, 0xa1, 0x71, 0x0f, 0x74, 0xbf, 0xba, 0x50, 0x5e, 0xbc, 0x5f, - 0xcf, 0xa7, 0x9e, 0x7f, 0xe8, 0x65, 0x1b, 0x66, 0x8f, 0x8c, 0xe3, 0x0b, 0xe8, 0x89, 0x72, 0xe5, - 0x9d, 0x6a, 0xa9, 0xd2, 0x58, 0xd4, 0xaa, 0x77, 0xaa, 0x0b, 0xa1, 0x9a, 0xce, 0xa0, 0x09, 0x19, - 0x5d, 0xac, 0x55, 0xf3, 0x09, 0x7c, 0x16, 0x61, 0x19, 0xfc, 0x56, 0x71, 0x7e, 0x26, 0x9f, 0xc4, - 0x0a, 0x3a, 0x2d, 0xc3, 0xab, 0x0b, 0x4b, 0xf7, 0x16, 0x2a, 0xf9, 0xd4, 0xf3, 0x7f, 0x23, 0x81, - 0xce, 0xc4, 0x3a, 0xc3, 0x63, 0x15, 0x5d, 0xac, 0xcc, 0x15, 0xeb, 0x4b, 0xd5, 0x52, 0xbd, 0x52, - 0xd4, 0x4a, 0xb3, 0x8d, 0x52, 0x71, 0xa9, 0x72, 0x67, 0x51, 0x7b, 0xaf, 0x71, 0xa7, 0xb2, 0x50, - 0xd1, 0x8a, 0x73, 0xf9, 0x01, 0xfc, 0x34, 0x2a, 0xf4, 0xa1, 0xa9, 0x57, 0x4a, 0xf7, 0xb4, 0xea, - 0xd2, 0x7b, 0xf9, 0x04, 0x7e, 0x0a, 0x5d, 0xe8, 0x4b, 0x44, 0x7f, 0xe7, 0x93, 0xf8, 0x22, 0x9a, - 0xec, 0x47, 0xf2, 0xf6, 0x5c, 0x3e, 0xf5, 0xfc, 0x5f, 0x4a, 0x20, 0x1c, 0xf5, 0x66, 0xc6, 0x97, - 0xd0, 0x79, 0xaa, 0x17, 0x8d, 0xfe, 0x0d, 0x7c, 0x0a, 0x5d, 0x88, 0xa5, 0x10, 0x9a, 0x57, 0x40, - 0x4f, 0xf6, 0x21, 0xe1, 0x8d, 0x3b, 0x8f, 0x94, 0x78, 0x02, 0xda, 0xb4, 0xe9, 0xf2, 0xc7, 0xbf, - 0x7b, 0x71, 0xe0, 0xe3, 0xdf, 0xbb, 0x98, 0xf8, 0x8d, 0xdf, 0xbb, 0x98, 0xf8, 0x9d, 0xdf, 0xbb, - 0x98, 0x78, 0xff, 0xc6, 0x5e, 0x9c, 0xbd, 0xd9, 0xf0, 0x5d, 0xce, 0x80, 0x5b, 0xe3, 0xcd, 0xff, - 0x17, 0x00, 0x00, 0xff, 0xff, 0xc5, 0xb2, 0xad, 0x5a, 0xe9, 0x13, 0x01, 0x00, + 0xf1, 0xab, 0x08, 0x15, 0xef, 0xd7, 0x35, 0xab, 0x45, 0x8a, 0xda, 0x12, 0x57, 0x06, 0x28, 0xad, + 0x6f, 0x3a, 0x0d, 0xdb, 0x6a, 0x91, 0x86, 0x6e, 0x8b, 0xd5, 0x0a, 0xd4, 0xb8, 0x82, 0x26, 0x8a, + 0xcd, 0x26, 0x71, 0x1c, 0x8d, 0x7c, 0xa5, 0x47, 0x1c, 0xd7, 0x51, 0x86, 0x9f, 0x4a, 0x5d, 0x1d, + 0x99, 0xbd, 0xb4, 0xb3, 0x5d, 0x78, 0x42, 0x07, 0x4c, 0xc3, 0xe6, 0x28, 0x81, 0x45, 0xa8, 0x10, + 0x9e, 0x45, 0xe3, 0xc5, 0xf7, 0x7b, 0x36, 0xa9, 0x1a, 0xa4, 0xe3, 0x9a, 0xee, 0x16, 0xd7, 0x90, + 0x8b, 0x3b, 0xdb, 0x05, 0x45, 0xa7, 0x88, 0x86, 0xc9, 0x31, 0x02, 0x13, 0xb9, 0x08, 0x5e, 0x46, + 0x53, 0xb7, 0x4b, 0xb5, 0x3a, 0xb1, 0x1f, 0x9a, 0x4d, 0x52, 0x6c, 0x36, 0xad, 0x5e, 0xc7, 0x55, + 0xb2, 0xc0, 0xe7, 0xe9, 0x9d, 0xed, 0xc2, 0xa5, 0xb5, 0x66, 0xb7, 0xe1, 0x30, 0x6c, 0x43, 0x67, + 0x68, 0x81, 0x59, 0xb4, 0x2c, 0xfe, 0x22, 0x1a, 0x5f, 0xb1, 0xa9, 0x16, 0x1a, 0x65, 0x42, 0xe1, + 0x4a, 0x0e, 0xf4, 0xff, 0xfc, 0x0c, 0x9f, 0x80, 0x18, 0xd4, 0xeb, 0x59, 0xd6, 0x58, 0x97, 0x15, + 0x68, 0x18, 0x80, 0x13, 0x1b, 0x2b, 0xb1, 0xc2, 0x04, 0x29, 0xf4, 0xe3, 0x4d, 0x9b, 0x18, 0x11, + 0x6d, 0x1b, 0x81, 0x36, 0x5f, 0xdb, 0xd9, 0x2e, 0x7c, 0xd2, 0xe6, 0x34, 0x8d, 0x81, 0x6a, 0xd7, + 0x97, 0x95, 0xfa, 0xf7, 0xd2, 0x68, 0x82, 0x7e, 0x95, 0xa0, 0x80, 0x45, 0x3a, 0x96, 0x28, 0x84, + 0x0e, 0x2d, 0xa7, 0xab, 0x37, 0x09, 0xd7, 0xc5, 0x0b, 0x3b, 0xdb, 0x85, 0x33, 0x1d, 0x0f, 0x28, + 0xb0, 0x0f, 0xd3, 0xe3, 0x6b, 0x28, 0xc7, 0x40, 0xd5, 0x32, 0x57, 0xcf, 0xf1, 0x9d, 0xed, 0xc2, + 0x88, 0x03, 0xb0, 0x86, 0x69, 0x68, 0x3e, 0x9a, 0xea, 0x07, 0xfb, 0x7b, 0xde, 0x72, 0x5c, 0xca, + 0x9c, 0x6b, 0x27, 0xe8, 0x07, 0x2f, 0xb0, 0xce, 0x51, 0xa2, 0x7e, 0xc8, 0x85, 0xf0, 0x2b, 0x08, + 0x31, 0x48, 0xd1, 0x30, 0x6c, 0xae, 0xa2, 0x4f, 0xec, 0x6c, 0x17, 0xce, 0x71, 0x16, 0xba, 0x61, + 0x88, 0xfa, 0x2d, 0x10, 0xe3, 0x36, 0x1a, 0x63, 0xbf, 0x16, 0xf4, 0x55, 0xd2, 0x62, 0xfa, 0x39, + 0x7a, 0xf3, 0xaa, 0xd7, 0x89, 0xb2, 0x74, 0x66, 0x44, 0xd2, 0x4a, 0xc7, 0xb5, 0xb7, 0x66, 0x0b, + 0x7c, 0x4a, 0xbb, 0xc0, 0xab, 0x6a, 0x01, 0x4e, 0x1c, 0x4c, 0x62, 0x19, 0x3a, 0xd3, 0xcd, 0x59, + 0xf6, 0xa6, 0x6e, 0x1b, 0xc4, 0x98, 0xdd, 0x12, 0x67, 0xba, 0x07, 0x1e, 0xb8, 0xb1, 0x2a, 0x76, + 0x9e, 0x48, 0x8e, 0x4b, 0x68, 0x9c, 0x71, 0xab, 0xf7, 0x56, 0xef, 0x98, 0x1d, 0x83, 0xeb, 0xaf, + 0x28, 0x2d, 0xa7, 0xb7, 0xda, 0xd8, 0x30, 0x3b, 0xe2, 0x5c, 0x2e, 0x97, 0x99, 0x7e, 0x03, 0x4d, + 0x45, 0x3e, 0x03, 0xe7, 0x51, 0x6a, 0x83, 0x6c, 0xb1, 0xae, 0xd6, 0xe8, 0x9f, 0xf8, 0x2c, 0x1a, + 0x7e, 0xa8, 0xb7, 0x7a, 0x7c, 0x01, 0xd1, 0xd8, 0x8f, 0x57, 0x93, 0x9f, 0x4d, 0xd0, 0xf9, 0x16, + 0x97, 0xac, 0x4e, 0x87, 0x34, 0x5d, 0x71, 0xca, 0x7d, 0x09, 0x8d, 0x2c, 0x58, 0x4d, 0xbd, 0x05, + 0x7d, 0xc0, 0x74, 0x46, 0xd9, 0xd9, 0x2e, 0x9c, 0xa5, 0xc2, 0x9f, 0x69, 0x51, 0x8c, 0xd0, 0xa6, + 0x80, 0x94, 0x76, 0x9e, 0x46, 0xda, 0x96, 0x4b, 0xa0, 0x60, 0x32, 0xe8, 0x3c, 0x28, 0x68, 0x03, + 0x4a, 0xec, 0xbc, 0x80, 0x18, 0xdf, 0x40, 0xb9, 0x1a, 0x5d, 0x65, 0x9a, 0x56, 0x8b, 0x2b, 0x0e, + 0x4c, 0x84, 0xb0, 0xf2, 0x08, 0x45, 0x7c, 0x22, 0x75, 0x1e, 0x4d, 0x94, 0x5a, 0x26, 0xe9, 0xb8, + 0x62, 0xab, 0xe9, 0x84, 0x5a, 0x5c, 0x23, 0x1d, 0x57, 0x6c, 0x35, 0x9d, 0x75, 0x1b, 0x3a, 0x85, + 0x8a, 0xad, 0xf6, 0x49, 0xd5, 0x5f, 0x4b, 0xa1, 0x27, 0xee, 0xf4, 0x56, 0x89, 0xdd, 0x21, 0x2e, + 0x71, 0xf8, 0x72, 0xe4, 0x73, 0x5d, 0x42, 0x53, 0x11, 0x24, 0xe7, 0x0e, 0xcb, 0xc4, 0x86, 0x8f, + 0x6c, 0xf0, 0x15, 0x4e, 0x9c, 0x6b, 0x22, 0x45, 0xf1, 0x3c, 0x9a, 0x0c, 0x80, 0xb4, 0x11, 0x8e, + 0x92, 0x84, 0x89, 0xf4, 0xf2, 0xce, 0x76, 0x61, 0x5a, 0xe0, 0x46, 0x9b, 0x2d, 0x6a, 0x5f, 0xb8, + 0x18, 0xbe, 0x83, 0xf2, 0x01, 0xe8, 0xb6, 0x6d, 0xf5, 0xba, 0x8e, 0x92, 0x02, 0x56, 0x85, 0x9d, + 0xed, 0xc2, 0x93, 0x02, 0xab, 0x35, 0x40, 0x8a, 0xcb, 0x57, 0xb8, 0x20, 0xfe, 0xee, 0x84, 0xc8, + 0x8d, 0x8f, 0xa0, 0x34, 0x8c, 0xa0, 0x97, 0xbd, 0x11, 0xd4, 0x57, 0x48, 0x33, 0xe1, 0x92, 0x7c, + 0x40, 0x85, 0x9a, 0x11, 0x19, 0x50, 0x91, 0x1a, 0xa7, 0x4b, 0xe8, 0x5c, 0x2c, 0xaf, 0x7d, 0x69, + 0xf5, 0xef, 0xa6, 0x44, 0x2e, 0x35, 0xcb, 0xf0, 0x3b, 0x73, 0x59, 0xec, 0xcc, 0x9a, 0x65, 0x80, + 0x8d, 0x92, 0x08, 0x56, 0x0e, 0xa1, 0xb1, 0x5d, 0xcb, 0x08, 0x9b, 0x2a, 0xd1, 0xb2, 0xf8, 0x5d, + 0x74, 0x3e, 0x02, 0x64, 0x53, 0x2d, 0xd3, 0xfe, 0x2b, 0x3b, 0xdb, 0x05, 0x35, 0x86, 0x6b, 0x78, + 0xe6, 0xed, 0xc3, 0x05, 0xeb, 0xe8, 0x82, 0x20, 0x75, 0xab, 0xe3, 0xea, 0x66, 0x87, 0x9b, 0x56, + 0x6c, 0x94, 0x7c, 0x6a, 0x67, 0xbb, 0xf0, 0x8c, 0xa8, 0x83, 0x1e, 0x4d, 0xb8, 0xf1, 0xfd, 0xf8, + 0x60, 0x03, 0x29, 0x31, 0xa8, 0x6a, 0x5b, 0x5f, 0xf3, 0xec, 0xc5, 0xab, 0x3b, 0xdb, 0x85, 0x4f, + 0xc4, 0xd6, 0x61, 0x52, 0x2a, 0x71, 0x7d, 0xea, 0xc7, 0x09, 0x6b, 0x08, 0x07, 0xb8, 0x25, 0xcb, + 0x20, 0xf0, 0x0d, 0xc3, 0xc0, 0x5f, 0xdd, 0xd9, 0x2e, 0x5c, 0x16, 0xf8, 0x77, 0x2c, 0x83, 0x84, + 0x9b, 0x1f, 0x53, 0x5a, 0xfd, 0x2f, 0x09, 0x74, 0xb9, 0x5e, 0x5c, 0x5c, 0xa8, 0x1a, 0xde, 0x82, + 0x5e, 0xb3, 0xad, 0x87, 0xa6, 0x21, 0x8c, 0xde, 0x55, 0x74, 0x21, 0x84, 0xaa, 0x80, 0x0d, 0xe1, + 0x9b, 0x92, 0xf0, 0x6d, 0x9e, 0xb1, 0xd0, 0xe5, 0x34, 0x0d, 0x66, 0x68, 0x34, 0x24, 0x3b, 0xba, + 0x1f, 0x23, 0xda, 0x47, 0x21, 0x54, 0x7d, 0xdd, 0xb2, 0xdd, 0x66, 0xcf, 0xe5, 0x4a, 0x00, 0x7d, + 0x14, 0xa9, 0xc3, 0xe1, 0x44, 0x03, 0xaa, 0xf0, 0xf8, 0xa8, 0x3f, 0x92, 0x42, 0x17, 0x97, 0x37, + 0x5c, 0x5d, 0x23, 0x8e, 0xd5, 0xb3, 0x9b, 0xc4, 0xb9, 0xdb, 0x35, 0x74, 0x97, 0x04, 0x8a, 0x5d, + 0x40, 0xc3, 0x45, 0xc3, 0x20, 0x06, 0x7c, 0xd5, 0x30, 0xdb, 0x23, 0xe8, 0x14, 0xa0, 0x31, 0x38, + 0xfe, 0x24, 0xca, 0xf2, 0x32, 0xd0, 0xa8, 0xe1, 0xd9, 0xd1, 0x9d, 0xed, 0x42, 0xb6, 0xc7, 0x40, + 0x9a, 0x87, 0xa3, 0x64, 0x65, 0xd2, 0x22, 0x94, 0x2c, 0x15, 0x90, 0x19, 0x0c, 0xa4, 0x79, 0x38, + 0xfc, 0x36, 0x9a, 0x00, 0xb6, 0x7e, 0x7b, 0xf8, 0x54, 0x71, 0xd6, 0x9b, 0x2a, 0xc4, 0xc6, 0xb2, + 0x99, 0x1c, 0x5a, 0xd3, 0xb0, 0xbd, 0x02, 0x5a, 0x88, 0x01, 0xbe, 0x8f, 0xf2, 0xbc, 0x11, 0x01, + 0xd3, 0xe1, 0x01, 0x4c, 0xcf, 0xed, 0x6c, 0x17, 0xa6, 0x78, 0xfb, 0x05, 0xb6, 0x11, 0x26, 0x94, + 0x31, 0x6f, 0x76, 0xc0, 0x38, 0xb3, 0x1b, 0x63, 0xfe, 0xc5, 0x22, 0xe3, 0x30, 0x13, 0xf5, 0x1d, + 0x34, 0x26, 0x16, 0xc4, 0xe7, 0x61, 0x1f, 0xc6, 0xd4, 0x0a, 0x76, 0x70, 0xa6, 0x01, 0x9b, 0xaf, + 0xe7, 0xd1, 0x68, 0x99, 0x38, 0x4d, 0xdb, 0xec, 0xd2, 0x45, 0x96, 0xeb, 0xc4, 0xe4, 0xce, 0x76, + 0x61, 0xd4, 0x08, 0xc0, 0x9a, 0x48, 0xa3, 0xfe, 0x8f, 0x04, 0x3a, 0x4f, 0x79, 0x17, 0x1d, 0xc7, + 0x5c, 0xeb, 0xb4, 0xc5, 0x55, 0xee, 0x3a, 0xca, 0xd4, 0xa1, 0x3e, 0x5e, 0xd3, 0xd9, 0x9d, 0xed, + 0x42, 0x9e, 0xb5, 0x40, 0xd0, 0x24, 0x4e, 0xe3, 0x6f, 0x42, 0x92, 0xbb, 0x6c, 0x42, 0xa8, 0xf5, + 0xe6, 0xea, 0xb6, 0x6b, 0x76, 0xd6, 0xea, 0xae, 0xee, 0xf6, 0x1c, 0xc9, 0x7a, 0xe3, 0x98, 0x86, + 0x03, 0x28, 0xc9, 0x7a, 0x93, 0x0a, 0xe1, 0x37, 0xd0, 0x58, 0xa5, 0x63, 0x04, 0x4c, 0xd8, 0xfc, + 0xf1, 0x24, 0x35, 0xaa, 0x08, 0xc0, 0xa3, 0x2c, 0xa4, 0x02, 0xea, 0xdf, 0x4e, 0x20, 0x85, 0xed, + 0x18, 0x16, 0x4c, 0xc7, 0x5d, 0x24, 0xed, 0x55, 0x61, 0x30, 0xcf, 0x79, 0x5b, 0x10, 0x8a, 0x13, + 0xa6, 0x6e, 0x58, 0x39, 0xf9, 0x16, 0xa4, 0x65, 0x3a, 0x6e, 0x78, 0xee, 0x08, 0x95, 0xc2, 0x55, + 0x94, 0x65, 0x9c, 0xd9, 0xd2, 0x3b, 0x7a, 0x53, 0xf1, 0x14, 0x21, 0x5c, 0x35, 0x53, 0x86, 0x36, + 0x23, 0x16, 0xf7, 0x90, 0xbc, 0xbc, 0xfa, 0x77, 0x92, 0x28, 0x1f, 0x2e, 0x84, 0xef, 0xa3, 0xdc, + 0x5b, 0x96, 0xd9, 0x21, 0xc6, 0x72, 0x07, 0x5a, 0x38, 0x78, 0x27, 0xed, 0x99, 0x9d, 0x67, 0xde, + 0x83, 0x32, 0x0d, 0x4b, 0xd8, 0x81, 0xc1, 0xc6, 0xda, 0x67, 0x86, 0xbf, 0x88, 0x46, 0xa8, 0xc9, + 0xf4, 0x10, 0x38, 0x27, 0x77, 0xe5, 0xfc, 0x14, 0xe7, 0x7c, 0xd6, 0x66, 0x85, 0xa2, 0xac, 0x03, + 0x76, 0x54, 0xaf, 0x34, 0xa2, 0x3b, 0x56, 0x87, 0xf7, 0x3c, 0xe8, 0x95, 0x0d, 0x10, 0x51, 0xaf, + 0x18, 0x0d, 0xb5, 0xf4, 0xd8, 0xc7, 0x42, 0x37, 0x08, 0x66, 0x3a, 0x93, 0x55, 0xb8, 0x07, 0x04, + 0x62, 0xf5, 0x7b, 0x93, 0xe8, 0xb9, 0x40, 0x64, 0x1a, 0x79, 0x68, 0x92, 0x4d, 0x2e, 0xce, 0x75, + 0xb3, 0xcb, 0x37, 0x38, 0x54, 0xe5, 0x9d, 0xd2, 0xba, 0xde, 0x59, 0x23, 0x06, 0xdd, 0x21, 0xd3, + 0x5d, 0xa8, 0xa3, 0x24, 0xc0, 0xba, 0x81, 0xe9, 0x84, 0xee, 0x56, 0xc5, 0x1e, 0x61, 0x14, 0xd8, + 0x42, 0x99, 0x15, 0x5b, 0x37, 0x5d, 0xaf, 0x67, 0x8b, 0xd1, 0x9e, 0xdd, 0x43, 0x8d, 0x33, 0x8c, + 0x07, 0xb3, 0x62, 0x40, 0x10, 0x2e, 0x00, 0x44, 0x41, 0x30, 0x92, 0xe9, 0x57, 0xd0, 0xa8, 0x40, + 0xbc, 0x2f, 0x33, 0xe5, 0x17, 0xd2, 0xa2, 0xae, 0x7b, 0xcd, 0xe2, 0xba, 0x7e, 0x83, 0xea, 0xa8, + 0xe3, 0xd0, 0x45, 0x98, 0x29, 0x39, 0xd7, 0x44, 0x00, 0xc9, 0x9a, 0x08, 0x20, 0xfc, 0x02, 0xca, + 0x31, 0x16, 0xfe, 0x56, 0x0d, 0xb6, 0x79, 0x36, 0xc0, 0xe4, 0x95, 0xcc, 0x27, 0xc4, 0x3f, 0x99, + 0x40, 0x97, 0x06, 0x4a, 0x02, 0x94, 0x61, 0xf4, 0xe6, 0x8b, 0x07, 0x12, 0xe3, 0xec, 0x73, 0x3b, + 0xdb, 0x85, 0x6b, 0x6d, 0x9f, 0xa4, 0x61, 0x0b, 0x34, 0x8d, 0x26, 0x23, 0x12, 0xda, 0x35, 0xb8, + 0x29, 0xd4, 0xd6, 0x62, 0x95, 0xce, 0xc1, 0x39, 0x43, 0xa7, 0xb9, 0xe5, 0x35, 0x32, 0x1d, 0xd8, + 0x5a, 0xfc, 0x7b, 0x1f, 0x78, 0x24, 0x31, 0xd5, 0xf4, 0xe1, 0x82, 0x9b, 0xe8, 0x02, 0xc3, 0x94, + 0xf5, 0xad, 0xe5, 0x07, 0x8b, 0x56, 0xc7, 0x5d, 0xf7, 0x2a, 0x18, 0x16, 0x37, 0xea, 0x50, 0x81, + 0xa1, 0x6f, 0x35, 0xac, 0x07, 0x8d, 0x36, 0xa5, 0x8a, 0xa9, 0xa3, 0x1f, 0x27, 0x3a, 0xd1, 0xf2, + 0x31, 0xe7, 0x4d, 0x41, 0x99, 0xe0, 0x18, 0xc5, 0x1b, 0xa7, 0xd1, 0x09, 0x27, 0x54, 0x48, 0xfd, + 0xf6, 0x30, 0xdd, 0xec, 0xc2, 0xd9, 0x17, 0x4c, 0xc1, 0xf8, 0xd5, 0xe0, 0x34, 0x91, 0xcf, 0x39, + 0x79, 0xaf, 0xcf, 0xfc, 0x73, 0x8b, 0x31, 0x3a, 0x1f, 0xfc, 0xfa, 0x76, 0x21, 0xb1, 0xb3, 0x5d, + 0x18, 0xd2, 0x72, 0xc2, 0xc6, 0x29, 0x58, 0x24, 0x84, 0x55, 0x51, 0x3c, 0xcd, 0x0a, 0x95, 0x65, + 0x8b, 0xc6, 0x1b, 0x28, 0xcb, 0xdb, 0xc0, 0xd5, 0xe4, 0x42, 0xb0, 0xd7, 0x96, 0xce, 0xf0, 0x42, + 0xa5, 0xbd, 0x52, 0xf8, 0x35, 0x94, 0x61, 0xfb, 0x57, 0xe8, 0x41, 0xe1, 0xc0, 0x45, 0xde, 0xab, + 0x87, 0x8a, 0xf3, 0x32, 0x78, 0x1e, 0xa1, 0x60, 0xef, 0xea, 0x1f, 0x59, 0x72, 0x0e, 0xd1, 0x5d, + 0x6d, 0x88, 0x8b, 0x50, 0x16, 0xbf, 0x84, 0xc6, 0x56, 0x88, 0xdd, 0x36, 0x3b, 0x7a, 0xab, 0x6e, + 0xbe, 0xef, 0x9d, 0x5a, 0xc2, 0x6a, 0xe9, 0x98, 0xef, 0x8b, 0xc3, 0x4d, 0xa2, 0xc3, 0x5f, 0x8e, + 0xdb, 0x1b, 0x66, 0xa1, 0x21, 0x4f, 0xef, 0xba, 0x69, 0x0a, 0xb5, 0x27, 0x66, 0xab, 0xf8, 0x36, + 0x1a, 0x97, 0xb6, 0x05, 0xfc, 0x58, 0xea, 0x52, 0x94, 0xb5, 0xb0, 0xc7, 0x09, 0xb1, 0x95, 0x39, + 0x50, 0xf5, 0xab, 0x76, 0x4c, 0xd7, 0xd4, 0x5b, 0x25, 0xab, 0xdd, 0xd6, 0x3b, 0x86, 0x32, 0x12, + 0xa8, 0x9f, 0xc9, 0x30, 0x8d, 0x26, 0x43, 0x89, 0xea, 0x27, 0x17, 0xa2, 0x5b, 0x4f, 0xde, 0x87, + 0x1a, 0x69, 0x5a, 0x36, 0x5d, 0xc0, 0x15, 0x04, 0x42, 0x83, 0x3d, 0x9f, 0xc3, 0x70, 0x0d, 0xdb, + 0x43, 0x8a, 0x7b, 0xbe, 0x70, 0xc1, 0xb7, 0xd2, 0xb9, 0xd1, 0xfc, 0x58, 0xf8, 0xa0, 0x50, 0xfd, + 0x5b, 0x29, 0x34, 0xca, 0x49, 0xe9, 0xfa, 0x77, 0xaa, 0xe0, 0x87, 0x51, 0xf0, 0x58, 0x45, 0xcd, + 0x3c, 0x2e, 0x45, 0x55, 0xbf, 0x9e, 0xf4, 0x67, 0xa3, 0x9a, 0x6d, 0x76, 0x0e, 0x37, 0x1b, 0x5d, + 0x41, 0xa8, 0xb4, 0xde, 0xeb, 0x6c, 0xb0, 0x0b, 0x91, 0x64, 0x70, 0x21, 0xd2, 0x34, 0x35, 0x01, + 0x83, 0x2f, 0xa1, 0x74, 0x99, 0xf2, 0xa7, 0x3d, 0x33, 0x36, 0x3b, 0xf2, 0x01, 0xe3, 0x94, 0x78, + 0x4e, 0x03, 0x30, 0xdd, 0x11, 0xcd, 0x6e, 0xb9, 0x84, 0xd9, 0xa0, 0x29, 0xb6, 0x23, 0x5a, 0xa5, + 0x00, 0x8d, 0xc1, 0xf1, 0x2d, 0x34, 0x55, 0x26, 0x2d, 0x7d, 0x6b, 0xd1, 0x6c, 0xb5, 0x4c, 0x87, + 0x34, 0xad, 0x8e, 0xe1, 0x80, 0x90, 0x79, 0x75, 0x6d, 0x47, 0x8b, 0x12, 0x60, 0x15, 0x65, 0x96, + 0x1f, 0x3c, 0x70, 0x88, 0x0b, 0xe2, 0x4b, 0xcd, 0xa2, 0x9d, 0xed, 0x42, 0xc6, 0x02, 0x88, 0xc6, + 0x31, 0xea, 0xcf, 0x24, 0xe8, 0x96, 0xc3, 0xd9, 0x70, 0xad, 0xae, 0xaf, 0xe5, 0x87, 0x12, 0xc9, + 0xb5, 0xc0, 0x18, 0x48, 0xc2, 0xd7, 0x4e, 0xf2, 0xaf, 0xcd, 0x72, 0x83, 0x20, 0x30, 0x03, 0x62, + 0xbf, 0x2a, 0xb5, 0xcb, 0x57, 0xa9, 0xbf, 0x97, 0x44, 0x17, 0x78, 0x8b, 0x4b, 0x2d, 0xb3, 0xbb, + 0x6a, 0xe9, 0xb6, 0xa1, 0x91, 0x26, 0x31, 0x1f, 0x92, 0xe3, 0x39, 0xf0, 0xe4, 0xa1, 0x93, 0x3e, + 0xc4, 0xd0, 0xb9, 0x09, 0xbb, 0x37, 0x2a, 0x19, 0x38, 0xd4, 0x64, 0x96, 0x40, 0x7e, 0x67, 0xbb, + 0x30, 0x66, 0x30, 0x30, 0x1c, 0x49, 0x6b, 0x22, 0x11, 0x55, 0x92, 0x05, 0xd2, 0x59, 0x73, 0xd7, + 0x41, 0x49, 0x86, 0x99, 0x92, 0xb4, 0x00, 0xa2, 0x71, 0x8c, 0xfa, 0xdf, 0x92, 0xe8, 0x6c, 0x58, + 0xe4, 0x75, 0xd2, 0x31, 0x4e, 0xe5, 0xfd, 0xe1, 0xc8, 0xfb, 0xf7, 0x53, 0xe8, 0x49, 0x5e, 0xa6, + 0xbe, 0xae, 0xdb, 0xc4, 0x28, 0x9b, 0x36, 0x69, 0xba, 0x96, 0xbd, 0x75, 0x8c, 0x0d, 0xa8, 0xc7, + 0x27, 0xf6, 0x5b, 0x28, 0xc3, 0xf7, 0xec, 0x6c, 0x9d, 0x99, 0xf0, 0x5b, 0x02, 0xd0, 0xc8, 0x0a, + 0xc5, 0xf6, 0xfb, 0xa1, 0xce, 0xca, 0xec, 0xa5, 0xb3, 0x3e, 0x8b, 0xc6, 0x7d, 0xd1, 0xc3, 0xee, + 0x31, 0x1b, 0x58, 0x5b, 0x86, 0x87, 0x80, 0x0d, 0xa4, 0x26, 0x13, 0x42, 0x6d, 0x1e, 0xa0, 0x5a, + 0x06, 0x6b, 0x68, 0x9c, 0xd7, 0xe6, 0x97, 0x33, 0x0d, 0x4d, 0x24, 0x52, 0xb7, 0xd3, 0x68, 0x3a, + 0xbe, 0xdb, 0x35, 0xa2, 0x1b, 0xa7, 0xbd, 0xfe, 0xb1, 0xec, 0x75, 0xfc, 0x34, 0x4a, 0xd7, 0x74, + 0x77, 0x9d, 0x5f, 0xb0, 0xc2, 0x9d, 0xe5, 0x03, 0xb3, 0x45, 0x1a, 0x5d, 0xdd, 0x5d, 0xd7, 0x00, + 0x25, 0xcc, 0x19, 0x08, 0x38, 0xc6, 0xcc, 0x19, 0xc2, 0x62, 0x3f, 0xfa, 0x54, 0xe2, 0x6a, 0x3a, + 0x76, 0xb1, 0xff, 0x76, 0xba, 0xdf, 0xbc, 0x72, 0xdf, 0x36, 0x5d, 0x72, 0xaa, 0x61, 0xa7, 0x1a, + 0x76, 0x48, 0x0d, 0xfb, 0x37, 0x49, 0x34, 0xee, 0x6f, 0x9a, 0xde, 0x23, 0xcd, 0xa3, 0x59, 0xab, + 0x82, 0xad, 0x4c, 0xea, 0xd0, 0x5b, 0x99, 0xc3, 0x28, 0x94, 0xea, 0x9f, 0x53, 0x32, 0xd3, 0x00, + 0x24, 0xc6, 0xce, 0x29, 0xfd, 0xd3, 0xc9, 0xa7, 0x51, 0x76, 0x51, 0x7f, 0x64, 0xb6, 0x7b, 0x6d, + 0x6e, 0xa5, 0x83, 0xc3, 0x50, 0x5b, 0x7f, 0xa4, 0x79, 0x70, 0xf5, 0x37, 0x13, 0x68, 0x82, 0x0b, + 0x95, 0x33, 0x3f, 0x94, 0x54, 0x03, 0xe9, 0x24, 0x0f, 0x2d, 0x9d, 0xd4, 0xc1, 0xa5, 0xa3, 0xfe, + 0xd5, 0x14, 0x52, 0xe6, 0xcc, 0x16, 0x59, 0xb1, 0xf5, 0x8e, 0xf3, 0x80, 0xd8, 0x7c, 0x3b, 0x5d, + 0xa1, 0xac, 0x0e, 0xf5, 0x81, 0xc2, 0x94, 0x92, 0x3c, 0xd0, 0x94, 0xf2, 0x69, 0x34, 0xc2, 0x1b, + 0xe3, 0x3b, 0xab, 0xc1, 0xa8, 0xb1, 0x3d, 0xa0, 0x16, 0xe0, 0x29, 0x71, 0xb1, 0xdb, 0xb5, 0xad, + 0x87, 0xc4, 0x66, 0x57, 0x4b, 0x9c, 0x58, 0xf7, 0x80, 0x5a, 0x80, 0x17, 0x38, 0x13, 0xcf, 0x5e, + 0x14, 0x39, 0x13, 0x5b, 0x0b, 0xf0, 0xf8, 0x2a, 0xca, 0x2d, 0x58, 0x4d, 0x1d, 0x04, 0xcd, 0xa6, + 0x95, 0xb1, 0x9d, 0xed, 0x42, 0xae, 0xc5, 0x61, 0x9a, 0x8f, 0xa5, 0x94, 0x65, 0x6b, 0xb3, 0xd3, + 0xb2, 0x74, 0xe6, 0x9c, 0x91, 0x63, 0x94, 0x06, 0x87, 0x69, 0x3e, 0x96, 0x52, 0x52, 0x99, 0x83, + 0xd3, 0x4b, 0x2e, 0xe0, 0xf9, 0x80, 0xc3, 0x34, 0x1f, 0xab, 0xfe, 0x4c, 0x9a, 0x6a, 0xaf, 0x63, + 0xbe, 0x7f, 0xe2, 0xd7, 0x85, 0x60, 0xc0, 0x0c, 0x1f, 0x60, 0xc0, 0x9c, 0x98, 0x03, 0x3b, 0xf5, + 0x7f, 0x66, 0x11, 0xe2, 0xd2, 0xaf, 0x9c, 0x6e, 0x0e, 0x0f, 0xa7, 0x35, 0x65, 0x34, 0x55, 0xe9, + 0xac, 0xeb, 0x9d, 0x26, 0x31, 0x82, 0x63, 0xcb, 0x0c, 0x0c, 0x6d, 0x70, 0x16, 0x25, 0x1c, 0x19, + 0x9c, 0x5b, 0x6a, 0xd1, 0x02, 0xf8, 0x79, 0x34, 0x5a, 0xed, 0xb8, 0xc4, 0xd6, 0x9b, 0xae, 0xf9, + 0x90, 0xf0, 0xa9, 0x01, 0xae, 0x73, 0xcd, 0x00, 0xac, 0x89, 0x34, 0xf8, 0x16, 0x1a, 0xab, 0xe9, + 0xb6, 0x6b, 0x36, 0xcd, 0xae, 0xde, 0x71, 0x1d, 0x25, 0x07, 0x33, 0x1a, 0x58, 0x18, 0x5d, 0x01, + 0xae, 0x49, 0x54, 0xf8, 0xcb, 0x68, 0x04, 0xb6, 0xa6, 0xe0, 0x91, 0x3b, 0xb2, 0xeb, 0x6d, 0xdf, + 0x33, 0x81, 0xfb, 0x1a, 0x3b, 0x7d, 0x85, 0x6b, 0xdb, 0xf0, 0x85, 0x9f, 0xcf, 0x11, 0x7f, 0x01, + 0x65, 0x2b, 0x1d, 0x03, 0x98, 0xa3, 0x5d, 0x99, 0xab, 0x9c, 0xf9, 0xf9, 0x80, 0xb9, 0xd5, 0x0d, + 0xf1, 0xf6, 0xd8, 0xc5, 0x8f, 0xb2, 0xd1, 0x0f, 0x6f, 0x94, 0x8d, 0x7d, 0x08, 0xc7, 0xe2, 0xe3, + 0x8f, 0xeb, 0x58, 0x7c, 0xe2, 0x80, 0xc7, 0xe2, 0xea, 0xfb, 0x68, 0x74, 0xb6, 0x36, 0xe7, 0x8f, + 0xde, 0x27, 0x50, 0xaa, 0xc6, 0xdd, 0x0b, 0xd2, 0xcc, 0x9e, 0xe9, 0x9a, 0x86, 0x46, 0x61, 0xf8, + 0x1a, 0xca, 0x95, 0xc0, 0xc5, 0x8b, 0x5f, 0xfd, 0xa5, 0xd9, 0xfa, 0xd7, 0x04, 0x18, 0x78, 0x69, + 0x7a, 0x68, 0xfc, 0x49, 0x94, 0xad, 0xd9, 0xd6, 0x9a, 0xad, 0xb7, 0xf9, 0x1a, 0x0c, 0xfe, 0x1d, + 0x5d, 0x06, 0xd2, 0x3c, 0x9c, 0xfa, 0x17, 0x12, 0x9e, 0xd9, 0x4e, 0x4b, 0xd4, 0x7b, 0x70, 0x34, + 0x0f, 0x75, 0xe7, 0x58, 0x09, 0x87, 0x81, 0x34, 0x0f, 0x87, 0xaf, 0xa1, 0xe1, 0x8a, 0x6d, 0x5b, + 0xb6, 0xe8, 0xc5, 0x4c, 0x28, 0x40, 0xbc, 0xa3, 0x05, 0x0a, 0xfc, 0x32, 0x1a, 0x65, 0x73, 0x0e, + 0x3b, 0xd1, 0x4c, 0x0d, 0xba, 0xde, 0x14, 0x29, 0xd5, 0x6f, 0xa4, 0x04, 0x9b, 0x8d, 0x49, 0xfc, + 0x04, 0xde, 0x0a, 0xbc, 0x80, 0x52, 0xb3, 0xb5, 0x39, 0x3e, 0x01, 0x9e, 0xf1, 0x8a, 0x0a, 0xaa, + 0x12, 0x2a, 0x47, 0xa9, 0xf1, 0x45, 0x94, 0xae, 0x51, 0xf5, 0xc9, 0x80, 0x7a, 0xe4, 0x76, 0xb6, + 0x0b, 0xe9, 0x2e, 0xd5, 0x1f, 0x80, 0x02, 0x96, 0x6e, 0x66, 0xd8, 0x8e, 0x89, 0x61, 0x83, 0x7d, + 0xcc, 0x45, 0x94, 0x2e, 0xda, 0x6b, 0x0f, 0xf9, 0xac, 0x05, 0x58, 0xdd, 0x5e, 0x7b, 0xa8, 0x01, + 0x14, 0xdf, 0x40, 0x48, 0x23, 0x6e, 0xcf, 0xee, 0xc0, 0x03, 0x83, 0x11, 0x38, 0x7f, 0x83, 0xd9, + 0xd0, 0x06, 0x68, 0xa3, 0x69, 0x19, 0x44, 0x13, 0x48, 0xd4, 0xbf, 0x19, 0x5c, 0xec, 0x94, 0x4d, + 0x67, 0xe3, 0xb4, 0x0b, 0xf7, 0xd1, 0x85, 0x3a, 0x3f, 0xe2, 0x8c, 0x76, 0x52, 0x01, 0x0d, 0xcf, + 0xb5, 0xf4, 0x35, 0x07, 0xfa, 0x90, 0x3b, 0x80, 0x3d, 0xa0, 0x00, 0x8d, 0xc1, 0x43, 0xfd, 0x94, + 0xdb, 0xbd, 0x9f, 0x7e, 0x74, 0xd8, 0x1f, 0x6d, 0x4b, 0xc4, 0xdd, 0xb4, 0xec, 0xd3, 0xae, 0xda, + 0x6b, 0x57, 0x5d, 0x41, 0xd9, 0xba, 0xdd, 0x14, 0x8e, 0x2e, 0x60, 0x3f, 0xe0, 0xd8, 0x4d, 0x76, + 0x6c, 0xe1, 0x21, 0x29, 0x5d, 0xd9, 0x71, 0x81, 0x2e, 0x1b, 0xd0, 0x19, 0x8e, 0xcb, 0xe9, 0x38, + 0x92, 0xd3, 0xd5, 0x2c, 0xdb, 0xe5, 0x1d, 0xe7, 0xd3, 0x75, 0x2d, 0xdb, 0xd5, 0x3c, 0x24, 0xfe, + 0x34, 0x42, 0x2b, 0xa5, 0xda, 0x3d, 0x62, 0x83, 0xb8, 0x46, 0x02, 0x07, 0xbe, 0x87, 0x0c, 0xa4, + 0x09, 0x68, 0xbc, 0x82, 0x46, 0x96, 0xbb, 0xc4, 0x66, 0x5b, 0x21, 0x6a, 0x01, 0x4c, 0xdc, 0xfc, + 0x54, 0x48, 0xb4, 0xbc, 0xdf, 0x67, 0xf8, 0xff, 0x3e, 0x39, 0x5b, 0x5f, 0x2c, 0xef, 0xa7, 0x16, + 0x30, 0xc2, 0x2f, 0xa3, 0x4c, 0x91, 0xd9, 0x79, 0xa3, 0xc0, 0xd2, 0x17, 0x19, 0x6c, 0x41, 0x19, + 0x8a, 0xed, 0xd9, 0x75, 0xf8, 0x5b, 0xe3, 0xe4, 0xea, 0x35, 0x94, 0x0f, 0x57, 0x83, 0x47, 0x51, + 0xb6, 0xb4, 0xbc, 0xb4, 0x54, 0x29, 0xad, 0xe4, 0x87, 0x70, 0x0e, 0xa5, 0xeb, 0x95, 0xa5, 0x72, + 0x3e, 0xa1, 0xfe, 0x94, 0x30, 0x83, 0x50, 0xd5, 0x3a, 0xbd, 0x1a, 0x3e, 0xd4, 0x7d, 0x4b, 0x1e, + 0xee, 0x43, 0xe1, 0xc4, 0xa0, 0x6d, 0xba, 0x2e, 0x31, 0xf8, 0x2a, 0x01, 0xf7, 0x85, 0xee, 0x23, + 0x2d, 0x82, 0xc7, 0xd7, 0xd1, 0x38, 0xc0, 0xf8, 0x15, 0x21, 0xdb, 0x1f, 0xf3, 0x02, 0xf6, 0x23, + 0x4d, 0x46, 0xaa, 0xdf, 0x0a, 0x6e, 0x87, 0x17, 0x88, 0x7e, 0x5c, 0x6f, 0x14, 0x3f, 0x22, 0xfd, + 0xa5, 0xfe, 0x51, 0x9a, 0x3d, 0x73, 0x60, 0x2f, 0xc2, 0x8e, 0x42, 0x94, 0xc1, 0x91, 0x6e, 0x6a, + 0x1f, 0x47, 0xba, 0xd7, 0x51, 0x66, 0x91, 0xb8, 0xeb, 0x96, 0xe7, 0xad, 0x05, 0x6e, 0x75, 0x6d, + 0x80, 0x88, 0x6e, 0x75, 0x8c, 0x06, 0x6f, 0x20, 0xec, 0x3d, 0xf7, 0x2a, 0xba, 0xae, 0x6d, 0xae, + 0xf6, 0x5c, 0xe2, 0x1d, 0x21, 0x5f, 0x88, 0xec, 0x53, 0xea, 0xf0, 0xd6, 0x13, 0xfc, 0xc8, 0xcf, + 0xea, 0x3e, 0x79, 0xc0, 0xf6, 0x0f, 0xb7, 0x0b, 0x19, 0x46, 0xa3, 0xc5, 0xb0, 0xc5, 0x6f, 0xa3, + 0x91, 0xc5, 0xb9, 0x22, 0x7f, 0xfa, 0xc5, 0xbc, 0x22, 0x9e, 0xf0, 0xa5, 0xe8, 0x21, 0x7c, 0x91, + 0xc0, 0x9b, 0x92, 0xf6, 0x03, 0x3d, 0xfa, 0xf2, 0x2b, 0xe0, 0x42, 0xb5, 0x85, 0xbd, 0x4e, 0xe1, + 0xa7, 0x0b, 0xbe, 0xb6, 0xc8, 0x6f, 0x56, 0xc2, 0xb2, 0x62, 0xd8, 0x90, 0xb6, 0xe4, 0x0e, 0x31, + 0xba, 0x97, 0xd1, 0x54, 0xb1, 0xdb, 0x6d, 0x99, 0xc4, 0x00, 0x7d, 0xd1, 0x7a, 0x2d, 0xe2, 0x70, + 0x97, 0x1f, 0x78, 0xf0, 0xa0, 0x33, 0x64, 0x03, 0x1e, 0x1c, 0x36, 0xec, 0x9e, 0xec, 0x54, 0x19, + 0x2d, 0xab, 0xfe, 0xd7, 0x04, 0xca, 0x7b, 0x1e, 0xcf, 0xe2, 0x53, 0x47, 0xc1, 0x1d, 0x17, 0x8e, + 0x61, 0x42, 0x0e, 0xa0, 0x80, 0xc7, 0x75, 0x94, 0xad, 0x3c, 0xea, 0x9a, 0x36, 0x71, 0xf6, 0xe0, + 0xbd, 0x7a, 0x89, 0x6f, 0x39, 0xa7, 0x08, 0x2b, 0x12, 0xd9, 0x6d, 0x32, 0x30, 0x3c, 0xfb, 0x61, + 0x3e, 0xdf, 0xb3, 0xde, 0xfb, 0x4d, 0xf6, 0xec, 0x87, 0xfb, 0x86, 0x4b, 0x6f, 0xb0, 0x02, 0x52, + 0xfc, 0x0c, 0x4a, 0xad, 0xac, 0x2c, 0x70, 0x6d, 0x84, 0x77, 0xb3, 0xae, 0x2b, 0xbe, 0x6b, 0xa2, + 0x58, 0xf5, 0x47, 0x92, 0x08, 0x51, 0xa5, 0x2f, 0xd9, 0x44, 0x3f, 0xa2, 0xcb, 0x9c, 0x59, 0x94, + 0xf3, 0x04, 0xce, 0x07, 0x9c, 0xef, 0xae, 0x1c, 0xee, 0x88, 0x70, 0xdd, 0xbe, 0x6b, 0x7a, 0xc1, + 0xf3, 0xa0, 0x65, 0x67, 0xa9, 0x60, 0x1d, 0x82, 0x07, 0xad, 0xe7, 0x37, 0xfb, 0x69, 0x34, 0xc2, + 0xb5, 0xc6, 0x92, 0xce, 0x50, 0x9b, 0x1e, 0x50, 0x0b, 0xf0, 0xbe, 0x50, 0x98, 0x2c, 0x4f, 0x85, + 0x02, 0x42, 0xf9, 0x66, 0x82, 0x09, 0x85, 0x3d, 0x13, 0x38, 0xae, 0x42, 0x51, 0xbf, 0x96, 0x40, + 0x98, 0x32, 0xab, 0xe9, 0x8e, 0xb3, 0x69, 0xd9, 0x06, 0xf3, 0x5b, 0x3d, 0x8a, 0xcf, 0x51, 0x7f, + 0x33, 0x8b, 0xce, 0x48, 0x4e, 0x81, 0xc7, 0x7c, 0x10, 0x5e, 0x93, 0xf5, 0x6d, 0x90, 0x1b, 0xfb, + 0x27, 0xc4, 0xcb, 0x92, 0x61, 0xe9, 0x45, 0x89, 0x70, 0x4b, 0xf2, 0x1c, 0x1a, 0xe3, 0x3f, 0xe8, + 0x1a, 0xeb, 0x9d, 0x82, 0x83, 0x1e, 0x3b, 0x14, 0xa0, 0x49, 0x68, 0xfc, 0x22, 0x1a, 0xa1, 0xca, + 0xb9, 0x06, 0x4f, 0xc7, 0xb3, 0x81, 0x8b, 0xb8, 0xe1, 0x01, 0xc5, 0x79, 0xd2, 0xa7, 0x14, 0x1e, + 0x06, 0xe4, 0xf6, 0xf0, 0x30, 0xe0, 0x5d, 0x34, 0x5a, 0xec, 0x74, 0x2c, 0x17, 0x0c, 0x78, 0x87, + 0x1f, 0x5b, 0xf6, 0x5d, 0xb1, 0x9f, 0x81, 0xc7, 0xa1, 0x01, 0x7d, 0xec, 0x92, 0x2d, 0x32, 0xc4, + 0x37, 0x3d, 0x37, 0x77, 0x62, 0x73, 0x8f, 0x53, 0x38, 0xba, 0xb5, 0x39, 0x2c, 0xea, 0xe5, 0x0e, + 0x9d, 0x37, 0x5e, 0xb3, 0xad, 0xae, 0xe5, 0x10, 0x83, 0x09, 0x6a, 0x34, 0x78, 0x73, 0xde, 0xe5, + 0x08, 0x78, 0x98, 0x22, 0x3d, 0xe3, 0x96, 0x8a, 0xe0, 0x07, 0xe8, 0xac, 0x77, 0x89, 0xe4, 0x3f, + 0x01, 0xaa, 0x96, 0x1d, 0x65, 0x0c, 0x9e, 0x19, 0xe0, 0xb0, 0x32, 0x54, 0xcb, 0xb3, 0x97, 0xbd, + 0x23, 0x53, 0xef, 0x0d, 0x51, 0xc3, 0x34, 0xc4, 0xae, 0x8e, 0xe5, 0x87, 0xbf, 0x13, 0x8d, 0x2e, + 0xea, 0x8f, 0xca, 0x3d, 0xbe, 0x2f, 0x1b, 0xdf, 0xfb, 0xc9, 0x6c, 0x5b, 0x7f, 0xd4, 0x30, 0x78, + 0xb9, 0xd0, 0x5a, 0x29, 0xb2, 0xc4, 0x0d, 0x74, 0xbe, 0x66, 0x5b, 0x6d, 0xcb, 0x25, 0x46, 0xe8, + 0x35, 0xcd, 0x64, 0xf0, 0x5a, 0xad, 0xcb, 0x29, 0x1a, 0x03, 0x9e, 0xd5, 0xf4, 0x61, 0xf3, 0x56, + 0x3a, 0x37, 0x91, 0x9f, 0xd4, 0x2e, 0x44, 0xb1, 0x2b, 0xa6, 0xdb, 0x22, 0xea, 0x2f, 0x25, 0x10, + 0x0a, 0xbe, 0x18, 0x3f, 0x27, 0x07, 0x8c, 0x48, 0x04, 0xa7, 0x92, 0xfc, 0x39, 0xad, 0x14, 0x21, + 0x02, 0x5f, 0x44, 0x69, 0x78, 0x2e, 0x9d, 0x0c, 0x4e, 0x41, 0x36, 0xcc, 0x8e, 0xa1, 0x01, 0x94, + 0x62, 0x85, 0xb7, 0x91, 0x80, 0x85, 0x1b, 0x38, 0x66, 0x7e, 0x94, 0xd1, 0x64, 0xbd, 0xb7, 0xea, + 0xd5, 0x2d, 0xbc, 0x5c, 0x81, 0x57, 0xdb, 0x4e, 0x6f, 0xd5, 0x7f, 0xee, 0x25, 0xbd, 0x89, 0x97, + 0x8b, 0xa8, 0x3f, 0x93, 0x08, 0x4d, 0x4b, 0x47, 0x38, 0xe3, 0x7f, 0x22, 0x7a, 0xa9, 0x1a, 0x9d, + 0x27, 0xd4, 0xbf, 0x96, 0x44, 0xa3, 0x35, 0xcb, 0x76, 0xf9, 0xfb, 0xf3, 0x23, 0x69, 0xe9, 0x63, + 0xbb, 0xe2, 0x16, 0xb6, 0x1f, 0xe9, 0x7d, 0x6c, 0x3f, 0x2e, 0xa2, 0xb4, 0xe0, 0x4f, 0xc8, 0x0e, + 0x31, 0x0d, 0xc3, 0xd6, 0x00, 0xaa, 0x7e, 0x57, 0x12, 0xa1, 0x2f, 0x3c, 0xff, 0xfc, 0x09, 0x16, + 0x90, 0xfa, 0x57, 0x12, 0x68, 0x92, 0x9f, 0xaa, 0x0b, 0xa1, 0x57, 0xb2, 0xde, 0x7d, 0x88, 0x38, + 0x2e, 0x19, 0x48, 0xf3, 0x70, 0x74, 0x4e, 0xae, 0x3c, 0x32, 0x5d, 0x38, 0x58, 0x14, 0x62, 0xaf, + 0x10, 0x0e, 0x13, 0xe7, 0x64, 0x8f, 0x0e, 0x3f, 0xe7, 0xdd, 0x17, 0xa4, 0x82, 0x85, 0x88, 0x16, + 0xa8, 0xc4, 0xde, 0x19, 0xa8, 0x3f, 0x97, 0x46, 0xe9, 0xca, 0x23, 0xd2, 0x3c, 0xe6, 0x5d, 0x23, + 0x9c, 0x42, 0xa4, 0x0f, 0x79, 0x0a, 0x71, 0x90, 0x0b, 0xd0, 0x37, 0x82, 0xfe, 0xcc, 0xc8, 0xd5, + 0x87, 0x7a, 0x3e, 0x5c, 0xbd, 0xd7, 0xd3, 0xc7, 0xef, 0xfe, 0xfc, 0x9f, 0xa5, 0x50, 0xaa, 0x5e, + 0xaa, 0x9d, 0xea, 0xcd, 0x91, 0xea, 0xcd, 0xe0, 0x0b, 0x26, 0xd5, 0x3f, 0x33, 0xce, 0x05, 0x2e, + 0x5d, 0xa1, 0xe3, 0xe1, 0xdf, 0x4f, 0xa1, 0x89, 0xfa, 0xdc, 0x4a, 0x4d, 0x38, 0xb6, 0xb9, 0xc3, + 0xdc, 0x6e, 0xc0, 0x01, 0x84, 0x75, 0xe9, 0xc5, 0x88, 0x9d, 0x74, 0xb7, 0xda, 0x71, 0x5f, 0xba, + 0x75, 0x4f, 0x6f, 0xf5, 0x08, 0xec, 0xf1, 0x99, 0x93, 0x9e, 0x63, 0xbe, 0x4f, 0x7e, 0x0c, 0x9e, + 0xd6, 0x7a, 0x0c, 0xf0, 0xe7, 0x50, 0xea, 0x2e, 0xbf, 0x3e, 0xed, 0xc7, 0xe7, 0x85, 0x9b, 0x8c, + 0x0f, 0x9d, 0x04, 0x53, 0x3d, 0xd3, 0x00, 0x0e, 0xb4, 0x14, 0x2d, 0x7c, 0x9b, 0x2f, 0xc0, 0x7b, + 0x2a, 0xbc, 0xe6, 0x15, 0xbe, 0x5d, 0x2d, 0xe3, 0x3a, 0x1a, 0xad, 0x11, 0xbb, 0x6d, 0x42, 0x47, + 0x79, 0x73, 0xf6, 0x60, 0x26, 0x74, 0xeb, 0x30, 0xda, 0x0d, 0x0a, 0x01, 0x33, 0x91, 0x0b, 0x7e, + 0x07, 0x21, 0x66, 0xa3, 0xec, 0x31, 0x9c, 0xd7, 0x25, 0x30, 0xc4, 0x99, 0xad, 0xe7, 0x9a, 0xa2, + 0x99, 0x07, 0x06, 0xa4, 0xc0, 0x0c, 0x6f, 0xa0, 0xfc, 0xa2, 0x65, 0x98, 0x0f, 0x4c, 0xe6, 0x27, + 0x05, 0x15, 0x64, 0x76, 0xf7, 0x4e, 0xd8, 0xd9, 0x2e, 0x3c, 0xd9, 0x16, 0xca, 0xc5, 0x55, 0x13, + 0x61, 0xac, 0xfe, 0xe3, 0x61, 0x94, 0xa6, 0xdd, 0x7e, 0x3a, 0x7e, 0x0f, 0x33, 0x7e, 0x8b, 0x28, + 0x7f, 0xdf, 0xb2, 0x37, 0xcc, 0xce, 0x9a, 0xef, 0xc2, 0xca, 0x37, 0x8b, 0x70, 0xed, 0xbe, 0xc9, + 0x70, 0x0d, 0xdf, 0xdb, 0x55, 0x8b, 0x90, 0xef, 0x32, 0x82, 0x5f, 0x41, 0x68, 0x45, 0xb7, 0xd7, + 0x88, 0x0b, 0x34, 0xb9, 0xe0, 0x39, 0xb8, 0x0b, 0x50, 0xf0, 0x8a, 0x15, 0x9f, 0x83, 0x07, 0xc4, + 0x74, 0x57, 0xcc, 0x2e, 0x2e, 0x47, 0xc0, 0x49, 0x16, 0x76, 0xc5, 0x70, 0x71, 0x29, 0x1a, 0x01, + 0xec, 0x0a, 0xb3, 0x86, 0x90, 0x70, 0x18, 0x8c, 0x42, 0x82, 0x90, 0x26, 0x07, 0x1e, 0xaf, 0x28, + 0xe6, 0x2c, 0x58, 0x13, 0x78, 0xe0, 0x97, 0x42, 0xb7, 0x55, 0x58, 0xe2, 0xd6, 0xf7, 0xb2, 0x2a, + 0xf0, 0x76, 0x18, 0xdb, 0xcd, 0xdb, 0x41, 0xfd, 0x7a, 0x12, 0x8d, 0xd4, 0x7b, 0xab, 0xce, 0x96, + 0xe3, 0x92, 0xf6, 0x31, 0x57, 0x63, 0x6f, 0x7b, 0x95, 0x8e, 0xdd, 0x5e, 0x3d, 0xe3, 0x09, 0x45, + 0x38, 0x2a, 0xf3, 0x4d, 0x3a, 0x4f, 0x1c, 0x7f, 0x37, 0x89, 0xf2, 0xec, 0x94, 0xbb, 0x6c, 0x3a, + 0xcd, 0xc7, 0xe0, 0x79, 0x7b, 0xf4, 0x52, 0x39, 0xdc, 0xcd, 0xd0, 0x1e, 0xfc, 0x99, 0xd5, 0xaf, + 0x26, 0xd1, 0x68, 0xb1, 0xe7, 0xae, 0x17, 0x5d, 0xd0, 0xad, 0x13, 0xb9, 0x3f, 0xf9, 0x95, 0x04, + 0x9a, 0xa4, 0x0d, 0x59, 0xb1, 0x36, 0x48, 0xe7, 0x31, 0x9c, 0x04, 0x8a, 0x27, 0x7a, 0xc9, 0x03, + 0x9e, 0xe8, 0x79, 0xb2, 0x4c, 0xed, 0xf3, 0x64, 0xf3, 0x9b, 0x09, 0x84, 0x34, 0xab, 0x45, 0x3e, + 0x26, 0x9f, 0xf1, 0x18, 0xee, 0x01, 0x3e, 0x0a, 0x9f, 0xf1, 0x18, 0xce, 0x71, 0x8e, 0xf2, 0x33, + 0x7e, 0x2d, 0x81, 0xce, 0xf2, 0xd0, 0x93, 0x7c, 0x3f, 0x75, 0xcc, 0xd5, 0x2b, 0xfa, 0x41, 0xc7, + 0xbc, 0x87, 0x7e, 0x22, 0x85, 0xce, 0x42, 0x68, 0x2f, 0x6a, 0xd2, 0x7d, 0x0c, 0xe6, 0x31, 0xdc, + 0x94, 0x6f, 0x34, 0x16, 0x63, 0x6e, 0x34, 0xfe, 0x70, 0xbb, 0xf0, 0xd2, 0x9a, 0xe9, 0xae, 0xf7, + 0x56, 0x67, 0x9a, 0x56, 0xfb, 0xc6, 0x9a, 0xad, 0x3f, 0x34, 0xd9, 0x59, 0xbe, 0xde, 0xba, 0xe1, + 0x47, 0x4c, 0xd6, 0xbb, 0x26, 0x8f, 0xa5, 0x5c, 0x07, 0x3b, 0x89, 0x72, 0xf5, 0xee, 0x42, 0x1c, + 0x84, 0xde, 0xb2, 0xcc, 0x0e, 0x77, 0x1e, 0x60, 0x8b, 0x64, 0x9d, 0xda, 0x96, 0xef, 0x59, 0x66, + 0xa7, 0x11, 0xf6, 0x20, 0xd8, 0x6f, 0x7d, 0x01, 0x6b, 0x4d, 0xa8, 0x46, 0xfd, 0xb7, 0x09, 0xf4, + 0x84, 0xac, 0x7b, 0x1f, 0x87, 0x75, 0xe7, 0x5f, 0x27, 0xd0, 0xb9, 0xdb, 0x20, 0x1c, 0xff, 0xde, + 0xf2, 0xe3, 0xf7, 0x45, 0xc7, 0x7c, 0x35, 0x8a, 0xf9, 0xa2, 0x63, 0x3e, 0xed, 0xfd, 0x6a, 0x02, + 0x9d, 0x59, 0xae, 0x96, 0x4b, 0x1f, 0x17, 0x9d, 0x8b, 0x7c, 0xcf, 0x31, 0xd7, 0xb8, 0xc8, 0xf7, + 0x7c, 0x0c, 0xf4, 0xad, 0x5e, 0x5c, 0x5c, 0xf8, 0x38, 0xe9, 0x9b, 0xf4, 0x3d, 0x1f, 0x03, 0x7d, + 0x93, 0xbe, 0xe7, 0x98, 0xeb, 0xdb, 0x37, 0x33, 0x68, 0xf4, 0x4e, 0x6f, 0x95, 0xf0, 0x0b, 0xd7, + 0x13, 0x7d, 0x9a, 0x71, 0x13, 0x8d, 0x72, 0x31, 0xc0, 0x49, 0xa0, 0x10, 0xbd, 0x85, 0xbf, 0xc6, + 0x65, 0x0f, 0xe4, 0x45, 0x22, 0x7c, 0x11, 0xa5, 0xef, 0x11, 0x7b, 0x55, 0x7c, 0xd8, 0xf0, 0x90, + 0xd8, 0xab, 0x1a, 0x40, 0xf1, 0x42, 0xe0, 0x6f, 0x58, 0xac, 0x55, 0x21, 0x5a, 0x35, 0x3f, 0x84, + 0x84, 0xf0, 0xdb, 0xbe, 0x73, 0x85, 0xde, 0x35, 0x59, 0x9c, 0x6b, 0xf1, 0x51, 0x55, 0xb8, 0x24, + 0x5e, 0x42, 0x53, 0xe2, 0x65, 0x3e, 0x0b, 0xd5, 0x9c, 0x8b, 0x61, 0x17, 0x17, 0xa4, 0x39, 0x5a, + 0x14, 0xbf, 0x81, 0xc6, 0x3c, 0x20, 0xb8, 0x25, 0x8c, 0x04, 0x01, 0x4f, 0x7d, 0x56, 0xa1, 0x18, + 0xee, 0x52, 0x01, 0x91, 0x01, 0x1c, 0xad, 0xa1, 0x18, 0x06, 0x21, 0xbf, 0x0b, 0xa9, 0x00, 0x7e, + 0x11, 0x18, 0x74, 0xad, 0x8e, 0x43, 0xe0, 0x02, 0x76, 0x14, 0xbc, 0xfe, 0xc1, 0x9f, 0xd1, 0xe6, + 0x70, 0xf6, 0xb6, 0x43, 0x22, 0xc3, 0xcb, 0x08, 0x05, 0x17, 0x65, 0xfc, 0x05, 0xdd, 0xbe, 0xaf, + 0xf0, 0x04, 0x16, 0xe2, 0x11, 0xf7, 0xf8, 0x41, 0x8e, 0xb8, 0xd5, 0xdf, 0x48, 0xa2, 0xd1, 0x62, + 0xb7, 0xeb, 0x0f, 0x85, 0xe7, 0x50, 0xa6, 0xd8, 0xed, 0xde, 0xd5, 0xaa, 0x62, 0x00, 0x4c, 0xbd, + 0xdb, 0x6d, 0xf4, 0x6c, 0x53, 0x74, 0x3c, 0x62, 0x44, 0xb8, 0x84, 0xc6, 0x8b, 0xdd, 0x6e, 0xad, + 0xb7, 0xda, 0x32, 0x9b, 0x42, 0xf8, 0x79, 0x96, 0x9e, 0xa2, 0xdb, 0x6d, 0x74, 0x01, 0x13, 0xce, + 0x1f, 0x20, 0x97, 0xc1, 0xef, 0xc2, 0xbb, 0x73, 0x1e, 0xfd, 0x3c, 0x05, 0xae, 0x3d, 0xaa, 0x1f, + 0xfa, 0x32, 0x68, 0xdb, 0x8c, 0x4f, 0xc4, 0x42, 0x84, 0x5e, 0xf4, 0x02, 0xad, 0xd2, 0x8a, 0x22, + 0x51, 0xce, 0x03, 0x96, 0xf8, 0x33, 0x28, 0x5b, 0xec, 0x76, 0x85, 0x33, 0x54, 0xb8, 0x28, 0xa7, + 0xa5, 0x42, 0x7d, 0xec, 0x91, 0x4d, 0xbf, 0x86, 0x26, 0xe4, 0xca, 0xf6, 0x15, 0x62, 0xf4, 0x0f, + 0x12, 0xf0, 0x41, 0xc7, 0xdc, 0x71, 0xee, 0x05, 0x94, 0x2a, 0x76, 0xbb, 0x7c, 0x3e, 0x3a, 0x13, + 0xd3, 0x1f, 0xe1, 0x37, 0x38, 0xc5, 0x6e, 0xd7, 0xfb, 0xf4, 0x63, 0xee, 0xa3, 0x7a, 0xa0, 0x4f, + 0xff, 0x06, 0xfb, 0xf4, 0x63, 0xee, 0x89, 0xfa, 0x73, 0x29, 0x34, 0x59, 0xec, 0x76, 0x4f, 0xa3, + 0x9c, 0x3e, 0xae, 0x97, 0x3e, 0xcf, 0x23, 0x24, 0x4c, 0x8f, 0x59, 0xdf, 0xef, 0x7d, 0x54, 0x98, + 0x1a, 0x95, 0x84, 0x26, 0x10, 0x79, 0xea, 0x97, 0xdb, 0x97, 0xfa, 0x7d, 0x35, 0x05, 0x53, 0xf1, + 0x71, 0x8f, 0x5a, 0xf0, 0x51, 0xe9, 0x36, 0xde, 0x07, 0x99, 0x7d, 0xf5, 0xc1, 0x2f, 0x4b, 0x83, + 0x07, 0xa2, 0x66, 0x9e, 0xf6, 0xc2, 0xf0, 0xa1, 0xcc, 0xe2, 0x09, 0x51, 0x98, 0xfc, 0x29, 0xb5, + 0x17, 0x7e, 0x9f, 0x3f, 0xec, 0x6f, 0x52, 0x54, 0xc3, 0x34, 0xb4, 0x10, 0xad, 0xd7, 0x87, 0xd9, + 0x7d, 0xf5, 0xe1, 0x76, 0x12, 0x1e, 0xef, 0xf8, 0x81, 0x01, 0x0e, 0xbf, 0xbb, 0xb8, 0x81, 0x10, + 0xbb, 0x4d, 0xf3, 0x5d, 0xf5, 0xc6, 0xd9, 0x1b, 0x60, 0x16, 0x95, 0x9f, 0xbf, 0x01, 0x0e, 0x48, + 0xfc, 0x5b, 0xff, 0x54, 0xec, 0xad, 0xff, 0x35, 0x94, 0xd3, 0xf4, 0xcd, 0xb7, 0x7b, 0xc4, 0xde, + 0xe2, 0xe6, 0x0c, 0x8b, 0xbb, 0xa3, 0x6f, 0x36, 0xbe, 0x42, 0x81, 0x9a, 0x8f, 0xc6, 0xaa, 0xff, + 0xfa, 0x4b, 0xb8, 0xe5, 0x64, 0x67, 0xb7, 0xfe, 0x9b, 0xaf, 0x83, 0x28, 0x3a, 0x7e, 0x15, 0xa5, + 0x8a, 0xf7, 0xeb, 0x5c, 0xb2, 0x7e, 0xd7, 0x16, 0xef, 0xd7, 0xb9, 0xbc, 0xfa, 0x96, 0xbd, 0x5f, + 0x57, 0xbf, 0x9a, 0x44, 0x38, 0x4a, 0x89, 0x5f, 0x42, 0x23, 0x00, 0x5d, 0xa3, 0x3a, 0x23, 0x66, + 0x3f, 0xda, 0x74, 0x1a, 0x36, 0x40, 0x25, 0xe3, 0xce, 0x23, 0xc5, 0xaf, 0x40, 0x76, 0x35, 0x9e, + 0xc2, 0x43, 0xca, 0x7e, 0xb4, 0xe9, 0x78, 0xf9, 0xc8, 0x42, 0xc9, 0xd5, 0x38, 0x31, 0xd8, 0x85, + 0xf7, 0xeb, 0xf3, 0x96, 0xe3, 0x72, 0x51, 0x33, 0xbb, 0x70, 0xd3, 0x81, 0x94, 0x59, 0x92, 0x5d, + 0xc8, 0xc8, 0x20, 0x17, 0xc2, 0xfd, 0x7a, 0xd1, 0x71, 0x7a, 0x6d, 0x62, 0x68, 0x56, 0xcb, 0x33, + 0x28, 0x59, 0x2e, 0x84, 0x4d, 0xa7, 0xa1, 0x33, 0x14, 0xa4, 0x75, 0x93, 0x72, 0x21, 0x48, 0xa5, + 0xd4, 0x1f, 0xcc, 0xa1, 0x7c, 0x59, 0x77, 0xf5, 0x55, 0xdd, 0x21, 0xc2, 0x6e, 0x7a, 0xd2, 0x83, + 0x79, 0x9f, 0x23, 0xc8, 0xc1, 0x58, 0x8d, 0xf9, 0x9a, 0x70, 0x01, 0xfc, 0xb9, 0x80, 0xaf, 0x9f, + 0xd8, 0x49, 0x4c, 0x7d, 0xb1, 0xda, 0xe8, 0x72, 0xb0, 0x16, 0x21, 0xc4, 0xd7, 0xd1, 0xa8, 0x07, + 0xa3, 0x1b, 0x80, 0x54, 0xa0, 0x33, 0xc6, 0x2a, 0xb5, 0xff, 0x35, 0x11, 0x8d, 0x5f, 0x41, 0x63, + 0xde, 0x4f, 0xc1, 0xb4, 0x66, 0x79, 0x3c, 0x56, 0x23, 0xbb, 0x27, 0x91, 0x54, 0x2c, 0x0a, 0xf3, + 0xdb, 0xb0, 0x54, 0x34, 0x94, 0x2a, 0x43, 0x22, 0xc5, 0x5f, 0x41, 0x13, 0xde, 0x6f, 0xbe, 0x61, + 0x60, 0x59, 0x45, 0xae, 0xfb, 0x59, 0xe3, 0x42, 0x62, 0x9d, 0x91, 0xc9, 0xd9, 0xd6, 0xe1, 0x49, + 0x2f, 0xfb, 0x83, 0xb1, 0x1a, 0xdd, 0x39, 0x84, 0x2a, 0xc0, 0x55, 0x34, 0xe5, 0x41, 0x02, 0x0d, + 0xcd, 0x06, 0x3b, 0x46, 0x63, 0xb5, 0x11, 0xab, 0xa4, 0xd1, 0x52, 0xb8, 0x85, 0x2e, 0x4a, 0x40, + 0xc3, 0x59, 0x37, 0x1f, 0xb8, 0x7c, 0xbb, 0xc7, 0x83, 0xe0, 0xf1, 0xec, 0x38, 0x3e, 0x57, 0x46, + 0xe3, 0xa5, 0xb9, 0x92, 0x73, 0x0a, 0x0c, 0xe4, 0x86, 0xeb, 0xe8, 0xac, 0x87, 0xbf, 0x5d, 0xaa, + 0xd5, 0x6c, 0xeb, 0x3d, 0xd2, 0x74, 0xab, 0x65, 0xbe, 0x5d, 0x86, 0xe0, 0x28, 0xc6, 0x6a, 0x63, + 0xad, 0xd9, 0xa5, 0x4a, 0x41, 0x71, 0x32, 0xf3, 0xd8, 0xc2, 0xf8, 0x1e, 0x3a, 0x27, 0xc0, 0xab, + 0x1d, 0xc7, 0xd5, 0x3b, 0x4d, 0x52, 0x2d, 0xf3, 0x3d, 0x34, 0xec, 0xe7, 0x39, 0x57, 0x93, 0x23, + 0x65, 0xb6, 0xf1, 0xc5, 0xf1, 0x6b, 0x68, 0xdc, 0x43, 0xb0, 0xdb, 0xad, 0x51, 0xb8, 0xdd, 0x82, + 0x21, 0x69, 0xac, 0x36, 0xc2, 0x4f, 0x76, 0x64, 0x62, 0x51, 0xa3, 0x20, 0x69, 0xe7, 0x98, 0xa4, + 0x51, 0xee, 0x56, 0x37, 0x56, 0x19, 0x21, 0x91, 0xe7, 0x1b, 0x81, 0x46, 0x2d, 0xdb, 0xe6, 0x9a, + 0xc9, 0x76, 0xd2, 0xde, 0x2b, 0x9d, 0xd5, 0x86, 0x05, 0xc0, 0x38, 0xfd, 0x60, 0xe4, 0xd3, 0x45, + 0x74, 0x26, 0x46, 0xc7, 0xf6, 0xb5, 0x63, 0xfc, 0x7a, 0x32, 0x68, 0xc4, 0x31, 0xdf, 0x36, 0xce, + 0xa2, 0x9c, 0xf7, 0x25, 0xdc, 0x78, 0x50, 0xfa, 0x0d, 0xcd, 0x30, 0x0f, 0x0f, 0x2f, 0x89, 0xe3, + 0x98, 0x6f, 0x25, 0x1f, 0x87, 0x38, 0x3e, 0x48, 0x04, 0xe2, 0x38, 0xe6, 0xdb, 0xcb, 0x5f, 0x4d, + 0x05, 0x73, 0xd2, 0xe9, 0x1e, 0xf3, 0x71, 0x99, 0xc9, 0x81, 0x6f, 0x57, 0x66, 0x1f, 0x8f, 0x73, + 0x44, 0xd5, 0xcc, 0x1e, 0x50, 0x35, 0x7f, 0x2b, 0xda, 0x9f, 0xcc, 0xf4, 0x3c, 0x96, 0xfd, 0xf9, + 0x18, 0x06, 0x2b, 0xbe, 0x19, 0xac, 0x63, 0xcc, 0x46, 0x1f, 0x16, 0x62, 0xcc, 0xac, 0x72, 0x13, + 0x5d, 0x26, 0xc1, 0x5f, 0x42, 0x17, 0x24, 0x40, 0x4d, 0xb7, 0xf5, 0x36, 0x71, 0x83, 0x3c, 0x35, + 0x10, 0x35, 0xc0, 0x2b, 0xdd, 0xe8, 0xfa, 0x68, 0x31, 0xf7, 0x4d, 0x1f, 0x0e, 0x82, 0x72, 0x64, + 0xf7, 0xe1, 0xf8, 0xf7, 0x9f, 0x92, 0x68, 0xbc, 0x66, 0x39, 0xee, 0x9a, 0x4d, 0x9c, 0x9a, 0x6e, + 0x3b, 0xe4, 0xe4, 0xf6, 0xe8, 0x67, 0xd1, 0x38, 0xbc, 0x46, 0x6d, 0x93, 0x8e, 0x2b, 0xe4, 0x4f, + 0x64, 0x71, 0x2f, 0x3d, 0x04, 0x0f, 0x71, 0x2c, 0x11, 0xe2, 0x02, 0x1a, 0x66, 0x3a, 0x20, 0xbc, + 0x11, 0x66, 0x0a, 0xc0, 0xe0, 0xea, 0x5f, 0x4f, 0xa1, 0x31, 0x4f, 0xca, 0xb3, 0xe6, 0x71, 0x3d, + 0xb3, 0x39, 0x5a, 0x21, 0xdf, 0x40, 0xa8, 0x66, 0xd9, 0xae, 0xde, 0x12, 0x52, 0x9f, 0xc3, 0x66, + 0xa7, 0x0b, 0x50, 0x56, 0x46, 0x20, 0xc1, 0x33, 0x08, 0x09, 0x03, 0x2c, 0x0b, 0x03, 0x6c, 0x62, + 0x67, 0xbb, 0x80, 0x82, 0x71, 0xa5, 0x09, 0x14, 0xea, 0x2f, 0x26, 0xd1, 0xa4, 0xd7, 0x49, 0x95, + 0x47, 0xa4, 0xd9, 0x73, 0x4f, 0xf0, 0x60, 0x90, 0xa5, 0x3d, 0xbc, 0xab, 0xb4, 0xd5, 0xff, 0x2e, + 0x4c, 0x24, 0xa5, 0x96, 0x75, 0x3a, 0x91, 0xfc, 0x71, 0xe8, 0xb8, 0xfa, 0xdd, 0x29, 0x74, 0xd6, + 0x93, 0xfa, 0x5c, 0xaf, 0x03, 0x66, 0x42, 0x49, 0x6f, 0xb5, 0x4e, 0xf2, 0xba, 0x3c, 0xea, 0x09, + 0x62, 0x99, 0x87, 0x77, 0xe0, 0xe1, 0xe6, 0x1f, 0x70, 0x70, 0xc3, 0x32, 0x0d, 0x4d, 0x24, 0xc2, + 0x6f, 0xa0, 0x31, 0xef, 0x67, 0xd1, 0x5e, 0xf3, 0x16, 0x63, 0xd8, 0xf4, 0xfb, 0x85, 0x74, 0x5b, + 0x7a, 0x34, 0x23, 0x15, 0x50, 0xff, 0x73, 0x06, 0x4d, 0xdf, 0x37, 0x3b, 0x86, 0xb5, 0xe9, 0x78, + 0xd9, 0x0a, 0x8e, 0xbd, 0xd1, 0x7b, 0xd4, 0x59, 0x0a, 0xde, 0x46, 0xe7, 0xc2, 0x22, 0xb5, 0xfd, + 0x18, 0x52, 0xbc, 0x77, 0x36, 0x19, 0x41, 0xc3, 0xcb, 0x5b, 0xc0, 0x4f, 0xce, 0xb4, 0xf8, 0x92, + 0xe1, 0xc4, 0x07, 0xd9, 0xbd, 0x24, 0x3e, 0x78, 0x16, 0x65, 0xca, 0x56, 0x5b, 0x37, 0xbd, 0xe7, + 0x93, 0x30, 0x8a, 0xfd, 0x7a, 0x01, 0xa3, 0x71, 0x0a, 0xca, 0x9f, 0x57, 0x0c, 0x5d, 0x36, 0x12, + 0xf0, 0xf7, 0x0a, 0xf4, 0x1c, 0x62, 0x6b, 0x22, 0x11, 0xb6, 0xd0, 0x38, 0xaf, 0x8e, 0x9f, 0x73, + 0x21, 0x38, 0xe7, 0xf2, 0x73, 0x42, 0xf6, 0x57, 0xab, 0x19, 0xa9, 0x1c, 0x3b, 0xf0, 0x62, 0xf9, + 0x18, 0xf8, 0xc7, 0xb0, 0x13, 0x2f, 0x4d, 0xe6, 0x2f, 0x08, 0x01, 0x26, 0x99, 0xd1, 0xa8, 0x10, + 0x60, 0x96, 0x11, 0x89, 0x70, 0x05, 0x4d, 0x15, 0x5b, 0x2d, 0x6b, 0xd3, 0x0f, 0xd6, 0x44, 0x55, + 0x62, 0x0c, 0x02, 0xd6, 0xc2, 0xf1, 0x89, 0x4e, 0x91, 0xf0, 0x71, 0x8d, 0x26, 0x47, 0x6b, 0xd1, + 0x12, 0xd3, 0x6f, 0x22, 0x1c, 0x6d, 0xf3, 0xbe, 0x0e, 0x50, 0x7e, 0x30, 0x89, 0x70, 0x68, 0x1f, + 0x52, 0x39, 0xc1, 0xe6, 0x94, 0xfa, 0xd3, 0x09, 0x34, 0x15, 0x09, 0xa2, 0x86, 0x5f, 0x40, 0x88, + 0x41, 0x84, 0xa0, 0x1f, 0xf0, 0x8a, 0x2e, 0x08, 0xac, 0xc6, 0x97, 0x92, 0x80, 0x0c, 0xdf, 0x40, + 0x39, 0xf6, 0xcb, 0x4f, 0x71, 0x1a, 0x2e, 0xd2, 0xeb, 0x99, 0x86, 0xe6, 0x13, 0x05, 0xb5, 0xc0, + 0x49, 0x5c, 0x2a, 0xb6, 0x88, 0xbb, 0xd5, 0xf5, 0x6b, 0xa1, 0x64, 0xea, 0x37, 0x12, 0x68, 0xcc, + 0x6f, 0x70, 0xd1, 0x38, 0xaa, 0xae, 0xcb, 0xf0, 0x78, 0x74, 0xa9, 0xdd, 0xe2, 0xd1, 0x85, 0xe6, + 0x26, 0x86, 0x55, 0xff, 0x79, 0x02, 0x4d, 0xfa, 0xb4, 0x47, 0x78, 0x54, 0x73, 0xe8, 0x0f, 0xf9, + 0xa1, 0x04, 0x52, 0x66, 0xcd, 0x56, 0xcb, 0xec, 0xac, 0x55, 0x3b, 0x0f, 0x2c, 0xbb, 0x0d, 0x03, + 0xf5, 0xe8, 0xce, 0xe2, 0xd4, 0xef, 0x4b, 0xa0, 0x29, 0xde, 0xa0, 0x92, 0x6e, 0x1b, 0x47, 0x77, + 0x48, 0x1a, 0x6e, 0xc9, 0xd1, 0xf5, 0xb2, 0xfa, 0xff, 0x12, 0x08, 0x2d, 0x58, 0xcd, 0x8d, 0x63, + 0xfe, 0x9e, 0xe5, 0x15, 0x94, 0x61, 0x2f, 0x93, 0xf9, 0x6c, 0x37, 0x35, 0xc3, 0x1e, 0x89, 0xd0, + 0x4f, 0x63, 0x88, 0xd9, 0x09, 0x7e, 0x5f, 0x93, 0x61, 0x2f, 0x9b, 0x35, 0x5e, 0x00, 0x1e, 0x91, + 0x51, 0xb2, 0x63, 0xee, 0xcb, 0xfa, 0x03, 0x09, 0x74, 0x56, 0x23, 0x4d, 0xeb, 0x21, 0xb1, 0xb7, + 0x4a, 0x96, 0x41, 0x6e, 0x93, 0x0e, 0xb1, 0x8f, 0x4a, 0xbf, 0xff, 0x11, 0xc4, 0x9a, 0x0c, 0x1a, + 0x73, 0xd7, 0x21, 0xc6, 0xf1, 0x89, 0x78, 0xaa, 0xfe, 0xfd, 0x2c, 0x52, 0x62, 0x6d, 0xa3, 0x63, + 0x6b, 0x0f, 0xf4, 0x35, 0x78, 0xd3, 0x8f, 0xcb, 0xe0, 0x1d, 0xde, 0x9f, 0xc1, 0x9b, 0xd9, 0xaf, + 0xc1, 0x9b, 0xdd, 0x8b, 0xc1, 0xdb, 0x0e, 0x1b, 0xbc, 0x39, 0x30, 0x78, 0x5f, 0x18, 0x68, 0xf0, + 0x56, 0x3a, 0xc6, 0x01, 0xcd, 0xdd, 0x63, 0x9b, 0xe7, 0xe3, 0x20, 0x76, 0xfa, 0x55, 0x3a, 0xb9, + 0x35, 0x2d, 0xdb, 0x20, 0x06, 0x37, 0xcf, 0xe1, 0x3c, 0xda, 0xe6, 0x30, 0xcd, 0xc7, 0x46, 0x92, + 0xa6, 0x8c, 0xef, 0x25, 0x69, 0xca, 0x63, 0x30, 0xe0, 0x7f, 0x2d, 0x81, 0xa6, 0x4a, 0xc4, 0x76, + 0x59, 0x20, 0x92, 0xc7, 0x71, 0x09, 0x5a, 0x44, 0x93, 0x02, 0x43, 0xb0, 0x45, 0x85, 0x0c, 0xfd, + 0x4d, 0x62, 0xbb, 0xe1, 0x7b, 0xe1, 0x30, 0x3d, 0xad, 0xde, 0x0b, 0x5c, 0xcc, 0xc7, 0xae, 0x5f, + 0xbd, 0x07, 0x67, 0x82, 0x34, 0xf9, 0x2f, 0xcd, 0xa7, 0x57, 0x7f, 0x2a, 0x81, 0xae, 0x68, 0xa4, + 0x43, 0x36, 0xf5, 0xd5, 0x16, 0x11, 0x18, 0xf3, 0xb9, 0x9d, 0x8e, 0x7b, 0xd3, 0x69, 0xeb, 0x6e, + 0x73, 0xfd, 0x50, 0x5f, 0x39, 0x87, 0xc6, 0xc4, 0x19, 0x68, 0x1f, 0xb3, 0x93, 0x54, 0x4e, 0xfd, + 0xbd, 0x24, 0xca, 0xce, 0x5a, 0xee, 0xa1, 0x93, 0x7e, 0x07, 0x93, 0x76, 0x72, 0x1f, 0x7b, 0xfa, + 0xcf, 0x40, 0xe5, 0x42, 0x10, 0x41, 0xb8, 0xf6, 0x5f, 0xb5, 0x22, 0xd1, 0x0f, 0x3d, 0xb2, 0x7d, + 0x06, 0xb6, 0x7e, 0x09, 0x8d, 0xc0, 0x4b, 0x52, 0xe1, 0xd4, 0x0d, 0x9c, 0x6a, 0x5c, 0x0a, 0x0c, + 0xd7, 0x11, 0x90, 0xe2, 0x2f, 0x49, 0xb1, 0x4f, 0x32, 0x87, 0x0f, 0x84, 0x2d, 0xb0, 0x53, 0x7f, + 0x32, 0x8d, 0xc6, 0x3c, 0x07, 0x88, 0x23, 0x92, 0xfb, 0x73, 0x28, 0x33, 0x6f, 0x09, 0x61, 0x0c, + 0xc1, 0x61, 0x62, 0xdd, 0x72, 0x42, 0x9e, 0x20, 0x9c, 0x08, 0xbf, 0x80, 0x72, 0x4b, 0x96, 0x21, + 0xba, 0xfb, 0xc0, 0x58, 0xea, 0x58, 0x46, 0xe4, 0xb9, 0x84, 0x4f, 0x88, 0xaf, 0xa0, 0x34, 0x78, + 0x4a, 0x09, 0x87, 0x9d, 0x21, 0xef, 0x28, 0xc0, 0x0b, 0x3d, 0x9a, 0xd9, 0x6f, 0x8f, 0x66, 0x0f, + 0xda, 0xa3, 0xb9, 0xc7, 0xda, 0xa3, 0xf8, 0x1d, 0x34, 0x06, 0x35, 0x79, 0xe1, 0xb6, 0x77, 0x5f, + 0x56, 0x9e, 0xe0, 0x33, 0xff, 0x38, 0x6b, 0x37, 0x0f, 0xba, 0x0d, 0x13, 0xbe, 0xc4, 0x4a, 0xfd, + 0xad, 0x04, 0xca, 0xde, 0xed, 0x6c, 0x74, 0xac, 0xcd, 0xc3, 0xe9, 0xc9, 0x0b, 0x68, 0x94, 0xb3, + 0x11, 0x66, 0x44, 0x78, 0xb7, 0xd2, 0x63, 0xe0, 0x06, 0x70, 0xd2, 0x44, 0x2a, 0xfc, 0x9a, 0x5f, + 0x08, 0x5c, 0x18, 0x53, 0x41, 0xf8, 0x4e, 0xaf, 0x50, 0x53, 0x8e, 0x38, 0x28, 0x92, 0xe3, 0x8b, + 0x3c, 0x65, 0xbc, 0x10, 0xbf, 0x86, 0x36, 0x85, 0x65, 0x8c, 0x57, 0xff, 0x55, 0x12, 0x4d, 0x84, + 0x8e, 0x29, 0x9e, 0x45, 0x23, 0xfc, 0x98, 0xc0, 0xf4, 0x42, 0x20, 0x82, 0x8b, 0xa3, 0x0f, 0xd4, + 0x72, 0xec, 0xcf, 0xaa, 0x81, 0x3f, 0x8f, 0xb2, 0x96, 0x03, 0x13, 0x39, 0x7c, 0xcb, 0x44, 0xa0, + 0xf8, 0xcb, 0x75, 0xda, 0x76, 0xa6, 0xd2, 0x9c, 0x44, 0xd4, 0x23, 0xcb, 0x81, 0x4f, 0xbb, 0x85, + 0x46, 0x74, 0xc7, 0x21, 0x6e, 0xc3, 0xd5, 0xd7, 0xc4, 0xa8, 0x88, 0x3e, 0x50, 0xd4, 0x69, 0x00, + 0xae, 0xe8, 0x6b, 0xf8, 0x4d, 0x34, 0xde, 0xb4, 0x09, 0x4c, 0xf5, 0x7a, 0x8b, 0xb6, 0x52, 0x30, + 0xc5, 0x24, 0x84, 0x78, 0x32, 0x1c, 0x20, 0xaa, 0x06, 0xbe, 0x87, 0xc6, 0xf9, 0xe7, 0x30, 0xff, + 0x22, 0x18, 0x1e, 0x13, 0xc1, 0xc4, 0xcd, 0x44, 0xc2, 0x3c, 0x8c, 0xb8, 0x9b, 0x99, 0x48, 0x2e, + 0xf2, 0x35, 0x04, 0x52, 0xf5, 0x5b, 0x09, 0x6a, 0x1e, 0x50, 0x80, 0x9f, 0x7d, 0xb2, 0xbd, 0x4f, + 0x5d, 0x69, 0x07, 0x01, 0xe6, 0x33, 0xce, 0x80, 0x39, 0x45, 0xe3, 0x58, 0x3c, 0x83, 0x32, 0x86, + 0x78, 0xda, 0x70, 0x5e, 0xfe, 0x08, 0xaf, 0x1e, 0x8d, 0x53, 0xe1, 0xab, 0x28, 0x4d, 0xcd, 0x3f, + 0xbe, 0xdd, 0x8b, 0x5d, 0xab, 0x34, 0xa0, 0x50, 0xbf, 0x2b, 0x89, 0xc6, 0x84, 0xaf, 0xb9, 0x79, + 0xa8, 0xcf, 0x79, 0x75, 0x6f, 0xcd, 0xe4, 0x1e, 0x8f, 0x00, 0xf3, 0x9b, 0x7c, 0xcb, 0x17, 0xc5, + 0x9e, 0x8e, 0xaa, 0xb9, 0x60, 0x5e, 0xe2, 0x1f, 0x9a, 0xd9, 0xfb, 0x96, 0x81, 0xd2, 0xbf, 0x95, + 0xce, 0x25, 0xf3, 0xa9, 0xb7, 0xd2, 0xb9, 0x74, 0x7e, 0x58, 0xfd, 0x56, 0x0d, 0x0d, 0x2f, 0x77, + 0xc8, 0xf2, 0x03, 0xfc, 0xbc, 0x90, 0x82, 0x82, 0x7f, 0xfc, 0x94, 0xc8, 0x12, 0x10, 0xf3, 0x43, + 0x9a, 0x90, 0xa8, 0xe2, 0x96, 0x18, 0x47, 0x9f, 0xf7, 0x22, 0x16, 0xcb, 0x30, 0xcc, 0xfc, 0x90, + 0x26, 0xc6, 0xdb, 0xbf, 0x25, 0xc6, 0x54, 0xe7, 0xc2, 0x92, 0x4a, 0x31, 0x8c, 0x57, 0x8a, 0x6f, + 0xbe, 0x17, 0xe2, 0x42, 0x98, 0x87, 0xef, 0x07, 0xa2, 0x14, 0xf3, 0x43, 0x5a, 0x7c, 0xe8, 0xf3, + 0x31, 0xf1, 0x4c, 0x9b, 0x8b, 0xfd, 0x6c, 0x68, 0xeb, 0x04, 0xb8, 0xf9, 0x21, 0x4d, 0xa2, 0xc5, + 0x2f, 0xfb, 0x89, 0x6a, 0xe8, 0xb2, 0x1a, 0x76, 0x6d, 0x16, 0x50, 0xf3, 0x43, 0x9a, 0x48, 0x29, + 0x54, 0x5a, 0xb3, 0x4d, 0x3f, 0x8b, 0x44, 0xb8, 0x52, 0xc0, 0x09, 0x95, 0xc2, 0x6f, 0xfc, 0x7a, + 0x28, 0x5d, 0x30, 0x5f, 0x5b, 0xce, 0x85, 0x0a, 0x33, 0xe4, 0xfc, 0x90, 0x16, 0x4a, 0x2e, 0x7c, + 0xd5, 0x4b, 0x51, 0xca, 0x17, 0x8d, 0x09, 0xe1, 0xf0, 0xc1, 0x7c, 0x9f, 0x4a, 0xc9, 0x4b, 0x61, + 0x7a, 0x4b, 0x4c, 0x4d, 0xc9, 0x37, 0x17, 0x38, 0x54, 0x4b, 0xa5, 0x63, 0xd0, 0xde, 0x11, 0x76, + 0xbe, 0x6f, 0x86, 0x93, 0xb8, 0xf1, 0xd4, 0x80, 0xe7, 0x43, 0x25, 0x39, 0x76, 0x7e, 0x48, 0x0b, + 0x27, 0x7d, 0x7b, 0x59, 0x4a, 0x20, 0xc6, 0x1f, 0x2f, 0x86, 0xa5, 0x4a, 0x51, 0x82, 0x54, 0x21, + 0xd5, 0xd8, 0x9b, 0xe1, 0x8c, 0x56, 0xfc, 0xa9, 0xe2, 0xf9, 0xf8, 0xbc, 0x47, 0x42, 0xd5, 0x5e, + 0x06, 0xac, 0x97, 0xa5, 0xcc, 0x43, 0x90, 0xdc, 0x2f, 0xa6, 0x6a, 0xdd, 0xd5, 0xc5, 0xaa, 0xd9, + 0x90, 0x97, 0x72, 0xe0, 0x40, 0xac, 0xed, 0x68, 0x87, 0x02, 0x4e, 0xe8, 0x50, 0x96, 0x2f, 0xe7, + 0x65, 0x29, 0x7c, 0xb3, 0x92, 0x97, 0x2b, 0x15, 0x50, 0xb4, 0x52, 0x31, 0xd0, 0xf3, 0x2d, 0x31, + 0xaa, 0xb1, 0x32, 0x25, 0x77, 0x50, 0x80, 0xa1, 0x1d, 0x24, 0x44, 0x3f, 0x2e, 0x40, 0xc4, 0x54, + 0x05, 0x03, 0xf9, 0xa8, 0xdf, 0xc2, 0x52, 0x6d, 0x7e, 0x48, 0x83, 0x58, 0xaa, 0x2a, 0x8b, 0xc5, + 0xab, 0x9c, 0x01, 0x8a, 0x31, 0x3f, 0xc3, 0xd3, 0x23, 0xd2, 0x9c, 0x1f, 0xd2, 0x58, 0x9c, 0xde, + 0xe7, 0x85, 0xa8, 0x77, 0xca, 0x59, 0x79, 0x8a, 0xf0, 0x11, 0x74, 0x8a, 0x08, 0x62, 0xe3, 0xcd, + 0x45, 0x23, 0xc3, 0x29, 0xe7, 0xe4, 0xf3, 0xaf, 0x30, 0x7e, 0x7e, 0x48, 0x8b, 0x46, 0x93, 0x7b, + 0x59, 0x0a, 0x96, 0xa6, 0x9c, 0x0f, 0xbd, 0x27, 0x08, 0x50, 0x54, 0x5c, 0x62, 0x58, 0xb5, 0xe5, + 0xd8, 0x7c, 0x03, 0xca, 0x05, 0x60, 0xf0, 0xa4, 0xcf, 0x20, 0x4a, 0x32, 0x3f, 0xa4, 0xc5, 0x66, + 0x2a, 0x28, 0x45, 0x42, 0x96, 0x29, 0x8a, 0x7c, 0xf0, 0x12, 0x42, 0xcf, 0x0f, 0x69, 0x91, 0x20, + 0x67, 0xb7, 0xc4, 0x58, 0x61, 0xca, 0x13, 0x72, 0x27, 0x06, 0x18, 0xda, 0x89, 0x42, 0x4c, 0xb1, + 0x5b, 0x62, 0x4c, 0x2b, 0x65, 0x3a, 0x5a, 0x2a, 0x98, 0x39, 0x85, 0xd8, 0x57, 0x5a, 0x7c, 0x08, + 0x29, 0xe5, 0x49, 0x1e, 0x94, 0x94, 0x97, 0x8f, 0xa3, 0x99, 0x1f, 0xd2, 0xe2, 0xc3, 0x4f, 0x69, + 0xf1, 0x51, 0x9c, 0x94, 0x8b, 0x83, 0x78, 0xfa, 0xad, 0x8b, 0x8f, 0x00, 0xa5, 0x0f, 0x88, 0xce, + 0xa3, 0x5c, 0x92, 0x1f, 0x33, 0xf7, 0x25, 0x9c, 0x1f, 0xd2, 0x06, 0xc4, 0xf8, 0xb9, 0xdb, 0x27, + 0x54, 0x8e, 0x72, 0x59, 0x8e, 0x49, 0x1c, 0x4b, 0x34, 0x3f, 0xa4, 0xf5, 0x09, 0xb4, 0x73, 0xb7, + 0x4f, 0x74, 0x17, 0xa5, 0x30, 0x90, 0xad, 0x2f, 0x8f, 0x3e, 0xb1, 0x61, 0x96, 0x63, 0x43, 0xac, + 0x28, 0x4f, 0xc9, 0xaa, 0x1b, 0x43, 0x42, 0x55, 0x37, 0x2e, 0x38, 0xcb, 0x72, 0x6c, 0x4c, 0x10, + 0xe5, 0xe9, 0x01, 0x0c, 0xfd, 0x36, 0xc6, 0x46, 0x13, 0x59, 0x8e, 0x0d, 0xca, 0xa1, 0xa8, 0x32, + 0xc3, 0x18, 0x12, 0xca, 0x30, 0x2e, 0x9c, 0xc7, 0x72, 0x6c, 0x14, 0x09, 0xe5, 0x99, 0x01, 0x0c, + 0x83, 0x16, 0xc6, 0xc5, 0x9f, 0x78, 0x59, 0x0a, 0xe3, 0xa0, 0x7c, 0x42, 0x9e, 0x37, 0x04, 0x14, + 0x9d, 0x37, 0xc4, 0x80, 0x0f, 0xa5, 0xc8, 0x43, 0x55, 0xe5, 0x93, 0xf2, 0x30, 0x0f, 0xa1, 0xe9, + 0x30, 0x0f, 0x3f, 0x6d, 0x2d, 0x45, 0x1e, 0xec, 0x29, 0x57, 0xfa, 0x31, 0x01, 0xb4, 0xcc, 0x84, + 0x3d, 0xf1, 0xab, 0xc6, 0xbc, 0x18, 0x53, 0x3e, 0x25, 0x5f, 0xbc, 0x45, 0x08, 0xe6, 0x87, 0xb4, + 0x98, 0x77, 0x66, 0x5a, 0xbc, 0x7b, 0xb4, 0x72, 0x55, 0x1e, 0xb6, 0x71, 0x34, 0x74, 0xd8, 0xc6, + 0xba, 0x56, 0x2f, 0xc4, 0x5d, 0x8d, 0x2b, 0xd7, 0x64, 0xc3, 0x2c, 0x4a, 0x41, 0x0d, 0xb3, 0x98, + 0x2b, 0x75, 0x2d, 0xde, 0xe1, 0x57, 0x79, 0x76, 0x60, 0x0b, 0x81, 0x26, 0xa6, 0x85, 0xcc, 0xff, + 0x35, 0xb0, 0x9d, 0xee, 0x76, 0x21, 0xf3, 0xfb, 0xa7, 0x63, 0x6d, 0x27, 0x86, 0x14, 0x6c, 0x27, + 0x06, 0xa0, 0xab, 0xbc, 0x78, 0x75, 0xac, 0x5c, 0x97, 0x57, 0x79, 0x11, 0x47, 0x57, 0x79, 0xe9, + 0x9a, 0xb9, 0x14, 0xb9, 0xb0, 0x55, 0x9e, 0x93, 0x15, 0x20, 0x84, 0xa6, 0x0a, 0x10, 0xbe, 0xe2, + 0x7d, 0xb7, 0xff, 0x65, 0xa9, 0x32, 0x03, 0xdc, 0x9e, 0xf2, 0x73, 0x58, 0xf6, 0xa1, 0x9b, 0x1f, + 0xd2, 0xfa, 0x5f, 0xb8, 0x56, 0x63, 0xee, 0x3e, 0x95, 0x1b, 0xb2, 0x82, 0x45, 0x08, 0xa8, 0x82, + 0x45, 0x6f, 0x4c, 0xab, 0x31, 0x97, 0x97, 0xca, 0x67, 0xfa, 0xb2, 0xf2, 0xbf, 0x39, 0xe6, 0xca, + 0xf3, 0x96, 0x78, 0xfb, 0xa8, 0x3c, 0x2f, 0x2f, 0x76, 0x01, 0x86, 0x2e, 0x76, 0xc2, 0x2d, 0xe5, + 0x2d, 0xf1, 0xc6, 0x4e, 0xb9, 0x19, 0x2d, 0x15, 0x2c, 0x91, 0xc2, 0xcd, 0x9e, 0x16, 0x7f, 0x41, + 0xa6, 0xbc, 0x20, 0x6b, 0x5d, 0x1c, 0x0d, 0xd5, 0xba, 0xd8, 0xcb, 0xb5, 0xb9, 0xe8, 0x3d, 0x97, + 0x72, 0x2b, 0x7c, 0xf3, 0x27, 0xe3, 0xa9, 0xe5, 0x13, 0xb9, 0x1b, 0x7b, 0x33, 0xfc, 0x76, 0x47, + 0x79, 0x31, 0xb4, 0xbf, 0x94, 0xb0, 0xd4, 0xbe, 0x0d, 0xbd, 0xf5, 0x79, 0x33, 0xfc, 0xdc, 0x45, + 0x79, 0x29, 0x9e, 0x83, 0xaf, 0x2b, 0xe1, 0xe7, 0x31, 0x6f, 0x86, 0x5f, 0x88, 0x28, 0x2f, 0xc7, + 0x73, 0xf0, 0xa5, 0x1b, 0x7e, 0x51, 0xf2, 0xbc, 0x10, 0xb3, 0x42, 0xf9, 0xac, 0x6c, 0x3a, 0xfa, + 0x08, 0x6a, 0x3a, 0x06, 0x91, 0x2d, 0x9e, 0x17, 0x62, 0x3d, 0x28, 0xaf, 0x44, 0x8a, 0xf8, 0x8d, + 0x15, 0x22, 0x42, 0x3c, 0x2f, 0xc4, 0x48, 0x50, 0x5e, 0x8d, 0x14, 0xf1, 0x5b, 0x27, 0x44, 0x52, + 0x30, 0x06, 0xb9, 0xd0, 0x29, 0x9f, 0x03, 0x1e, 0xea, 0xee, 0x5e, 0x51, 0xf3, 0x43, 0xda, 0x20, + 0x57, 0xbc, 0x77, 0xfb, 0xdf, 0x1a, 0x2a, 0xaf, 0xc9, 0x43, 0xb8, 0x1f, 0x1d, 0x1d, 0xc2, 0x7d, + 0x6f, 0x1e, 0x5f, 0x0f, 0xb9, 0xd3, 0x2b, 0xaf, 0xcb, 0x53, 0x9c, 0x84, 0xa4, 0x53, 0x5c, 0xd8, + 0xf9, 0x5e, 0xf2, 0x13, 0x57, 0x3e, 0x2f, 0x4f, 0x71, 0x22, 0x8e, 0x4e, 0x71, 0x92, 0x4f, 0x79, + 0x29, 0xe2, 0xbe, 0xac, 0xbc, 0x21, 0x4f, 0x71, 0x21, 0x34, 0x9d, 0xe2, 0xc2, 0x0e, 0xcf, 0xaf, + 0x87, 0xbc, 0x78, 0x95, 0x37, 0xe3, 0xdb, 0x0f, 0x48, 0xb1, 0xfd, 0xcc, 0xe7, 0x57, 0x8b, 0x77, + 0x47, 0x55, 0x8a, 0xf2, 0xf8, 0x8d, 0xa3, 0xa1, 0xe3, 0x37, 0xd6, 0x95, 0x75, 0x39, 0x36, 0x23, + 0x90, 0x32, 0x3b, 0x60, 0xe3, 0x10, 0x98, 0x22, 0x71, 0xb9, 0x84, 0xc4, 0x3d, 0x32, 0xdb, 0x08, + 0x95, 0xfa, 0xec, 0x91, 0xbd, 0x6d, 0x50, 0x88, 0x9e, 0xce, 0xae, 0x91, 0x4b, 0x2c, 0xa5, 0x2c, + 0xcf, 0xae, 0x11, 0x02, 0x3a, 0xbb, 0x46, 0xaf, 0xbe, 0xe6, 0x50, 0x9e, 0x6b, 0x51, 0x90, 0xd5, + 0xbe, 0x12, 0xf2, 0x06, 0x0b, 0xe1, 0xe9, 0xec, 0x14, 0x86, 0xc1, 0x7a, 0xcd, 0x60, 0xa5, 0x96, + 0xd9, 0x5d, 0xb5, 0x74, 0xdb, 0xa8, 0x93, 0x8e, 0xa1, 0xcc, 0x85, 0xd6, 0xeb, 0x18, 0x1a, 0x58, + 0xaf, 0x63, 0xe0, 0xf0, 0x5e, 0x25, 0x04, 0xe7, 0x79, 0x67, 0x95, 0xdb, 0xc0, 0xb6, 0xd0, 0x8f, + 0x2d, 0x27, 0x9b, 0x1f, 0xd2, 0xfa, 0x71, 0xa0, 0xb6, 0xfa, 0xe2, 0x56, 0xfd, 0xed, 0x05, 0xdf, + 0x03, 0xba, 0x66, 0x93, 0xae, 0x6e, 0x13, 0x65, 0x5e, 0xb6, 0xd5, 0x63, 0x89, 0xa8, 0xad, 0x1e, + 0x8b, 0x88, 0xb2, 0xf5, 0xc6, 0x42, 0x75, 0x10, 0xdb, 0x60, 0x44, 0xc4, 0x97, 0xa6, 0xb3, 0x93, + 0x8c, 0xa0, 0x02, 0x5a, 0xb0, 0x3a, 0x6b, 0x70, 0x52, 0xf1, 0x96, 0x3c, 0x3b, 0xf5, 0xa7, 0xa4, + 0xb3, 0x53, 0x7f, 0x2c, 0x55, 0x75, 0x19, 0xcb, 0xc6, 0xe0, 0x1d, 0x59, 0xd5, 0x63, 0x48, 0xa8, + 0xaa, 0xc7, 0x80, 0xa3, 0x0c, 0x35, 0xe2, 0x10, 0x57, 0x59, 0x18, 0xc4, 0x10, 0x48, 0xa2, 0x0c, + 0x01, 0x1c, 0x65, 0x38, 0x47, 0xdc, 0xe6, 0xba, 0xb2, 0x38, 0x88, 0x21, 0x90, 0x44, 0x19, 0x02, + 0x98, 0x6e, 0x36, 0x65, 0xf0, 0x6c, 0xaf, 0xb5, 0xe1, 0xf5, 0xd9, 0x92, 0xbc, 0xd9, 0xec, 0x4b, + 0x48, 0x37, 0x9b, 0x7d, 0x91, 0xf8, 0x6b, 0x7b, 0xbe, 0xa2, 0x55, 0x96, 0xa1, 0xc2, 0x99, 0xc0, + 0x2e, 0xd8, 0x4b, 0xa9, 0xf9, 0x21, 0x6d, 0xaf, 0x57, 0xc0, 0x9f, 0xf6, 0x6f, 0x77, 0x94, 0x1a, + 0x54, 0x35, 0xe9, 0x9f, 0x55, 0x30, 0xf0, 0xfc, 0x90, 0xe6, 0xdf, 0xff, 0xbc, 0x8c, 0x46, 0xe1, + 0xa3, 0xaa, 0x1d, 0xd3, 0x2d, 0xcf, 0x2a, 0x6f, 0xcb, 0x5b, 0x26, 0x01, 0x45, 0xb7, 0x4c, 0xc2, + 0x4f, 0x3a, 0x89, 0xc3, 0x4f, 0x36, 0xc5, 0x94, 0x67, 0x15, 0x4d, 0x9e, 0xc4, 0x25, 0x24, 0x9d, + 0xc4, 0x25, 0x80, 0x5f, 0x6f, 0xd9, 0xb6, 0xba, 0xe5, 0x59, 0xa5, 0x1e, 0x53, 0x2f, 0x43, 0xf9, + 0xf5, 0xb2, 0x9f, 0x7e, 0xbd, 0xf5, 0xf5, 0x9e, 0x5b, 0xa6, 0xdf, 0xb8, 0x12, 0x53, 0xaf, 0x87, + 0xf4, 0xeb, 0xf5, 0x00, 0x74, 0x2a, 0x04, 0x40, 0xcd, 0xb6, 0xe8, 0xa4, 0x7d, 0xc7, 0x6c, 0xb5, + 0x94, 0xbb, 0xf2, 0x54, 0x18, 0xc6, 0xd3, 0xa9, 0x30, 0x0c, 0xa3, 0xa6, 0x27, 0x6b, 0x15, 0x59, + 0xed, 0xad, 0x29, 0xf7, 0x64, 0xd3, 0x33, 0xc0, 0x50, 0xd3, 0x33, 0xf8, 0x05, 0xbb, 0x0b, 0xfa, + 0x4b, 0x23, 0x0f, 0x6c, 0xe2, 0xac, 0x2b, 0xf7, 0x43, 0xbb, 0x0b, 0x01, 0x07, 0xbb, 0x0b, 0xe1, + 0x37, 0x5e, 0x43, 0x4f, 0x4a, 0x0b, 0x8d, 0xe7, 0x29, 0x56, 0x27, 0xba, 0xdd, 0x5c, 0x57, 0xbe, + 0x00, 0xac, 0x9e, 0x89, 0x5d, 0xaa, 0x64, 0xd2, 0xf9, 0x21, 0x6d, 0x10, 0x27, 0xd8, 0x96, 0xbf, + 0xbd, 0xc0, 0x1e, 0x96, 0x6a, 0xb5, 0x92, 0xb7, 0x09, 0x7d, 0x27, 0xb4, 0x2d, 0x8f, 0x92, 0xc0, + 0xb6, 0x3c, 0x0a, 0xc6, 0x5d, 0x74, 0x39, 0xb4, 0x55, 0x5b, 0xd4, 0x5b, 0x74, 0x5f, 0x42, 0x8c, + 0x9a, 0xde, 0xdc, 0x20, 0xae, 0xf2, 0x45, 0xe0, 0x7d, 0xa5, 0xcf, 0x86, 0x2f, 0x44, 0x3d, 0x3f, + 0xa4, 0xed, 0xc2, 0x0f, 0xab, 0x2c, 0xe7, 0x8c, 0xf2, 0x25, 0xf9, 0x7c, 0x93, 0xc2, 0xe6, 0x87, + 0x34, 0x96, 0x8f, 0xe6, 0x5d, 0xa4, 0xdc, 0xed, 0xae, 0xd9, 0xba, 0x41, 0x98, 0xa1, 0x05, 0xb6, + 0x1b, 0x37, 0x40, 0xbf, 0x43, 0xb6, 0xd2, 0xfa, 0xd1, 0x51, 0x2b, 0xad, 0x1f, 0x8e, 0x2a, 0xaa, + 0x14, 0x43, 0x49, 0xf9, 0xb2, 0xac, 0xa8, 0x12, 0x92, 0x2a, 0xaa, 0x1c, 0x71, 0xe9, 0x0b, 0xe8, + 0xbc, 0xbf, 0x9f, 0xe7, 0xeb, 0x2f, 0xeb, 0x34, 0xe5, 0x5d, 0xe0, 0x73, 0x39, 0x72, 0x19, 0x20, + 0x51, 0xcd, 0x0f, 0x69, 0x7d, 0xca, 0xd3, 0x15, 0x37, 0x12, 0x1e, 0x90, 0x9b, 0x17, 0xdf, 0x29, + 0xaf, 0xb8, 0x7d, 0xc8, 0xe8, 0x8a, 0xdb, 0x07, 0x15, 0xcb, 0x9c, 0x0b, 0x55, 0xdf, 0x85, 0xb9, + 0x2f, 0xd3, 0x7e, 0x1c, 0x62, 0x99, 0x73, 0x4b, 0x6d, 0x75, 0x17, 0xe6, 0xbe, 0xb5, 0xd6, 0x8f, + 0x03, 0xbe, 0x8a, 0x32, 0xf5, 0xfa, 0xa2, 0xd6, 0xeb, 0x28, 0xcd, 0xd0, 0xb5, 0x1c, 0x40, 0xe7, + 0x87, 0x34, 0x8e, 0xa7, 0x66, 0x50, 0xa5, 0xa5, 0x3b, 0xae, 0xd9, 0x74, 0x60, 0xc4, 0x78, 0x23, + 0xc4, 0x90, 0xcd, 0xa0, 0x38, 0x1a, 0x6a, 0x06, 0xc5, 0xc1, 0xa9, 0xbd, 0x58, 0xd2, 0x1d, 0x47, + 0xef, 0x18, 0xb6, 0x3e, 0x0b, 0xcb, 0x04, 0x09, 0xa5, 0x1d, 0x97, 0xb0, 0xd4, 0x5e, 0x94, 0x21, + 0x70, 0xf8, 0xee, 0x41, 0x3c, 0x33, 0xe7, 0x41, 0xe8, 0xf0, 0x3d, 0x84, 0x87, 0xc3, 0xf7, 0x10, + 0x0c, 0xec, 0x4e, 0x0f, 0xa6, 0x91, 0x35, 0x13, 0x32, 0xc4, 0xad, 0x85, 0xec, 0xce, 0x30, 0x01, + 0xd8, 0x9d, 0x61, 0xa0, 0xd4, 0x24, 0x6f, 0xb9, 0x5d, 0xef, 0xd3, 0xa4, 0x60, 0x95, 0x8d, 0x94, + 0xa1, 0xeb, 0x77, 0x30, 0x38, 0xca, 0x5b, 0x1d, 0xbd, 0x6d, 0x95, 0x67, 0x3d, 0xa9, 0x9b, 0xf2, + 0xfa, 0xdd, 0x97, 0x90, 0xae, 0xdf, 0x7d, 0x91, 0x74, 0x76, 0xf5, 0x36, 0x5a, 0xeb, 0xba, 0x4d, + 0x0c, 0x3f, 0x6f, 0x12, 0xdb, 0x1a, 0xbe, 0x27, 0xcf, 0xae, 0x03, 0x48, 0xe9, 0xec, 0x3a, 0x00, + 0x4d, 0x8d, 0xbc, 0x78, 0xb4, 0x46, 0x74, 0x43, 0xd9, 0x90, 0x8d, 0xbc, 0xfe, 0x94, 0xd4, 0xc8, + 0xeb, 0x8f, 0xed, 0xff, 0x39, 0xf7, 0x6d, 0xd3, 0x25, 0x4a, 0x6b, 0x2f, 0x9f, 0x03, 0xa4, 0xfd, + 0x3f, 0x07, 0xd0, 0x74, 0x43, 0x18, 0xee, 0x90, 0xb6, 0xbc, 0x21, 0x8c, 0x76, 0x43, 0xb8, 0x04, + 0xb5, 0x58, 0xb8, 0xbf, 0x98, 0xd2, 0x91, 0x2d, 0x16, 0x0e, 0xa6, 0x16, 0x4b, 0xe0, 0x51, 0x26, + 0x79, 0x3a, 0x29, 0x96, 0xbc, 0x86, 0x8a, 0x38, 0xba, 0x86, 0x4a, 0x5e, 0x51, 0x2f, 0x4b, 0x0e, + 0x0d, 0x4a, 0x57, 0xb6, 0x3a, 0x04, 0x14, 0xb5, 0x3a, 0x44, 0xd7, 0x87, 0x12, 0x9a, 0xf4, 0x53, + 0xe8, 0xf3, 0xb9, 0xf2, 0x2b, 0xf2, 0x67, 0x86, 0xd0, 0xf4, 0x33, 0x43, 0x20, 0x89, 0x09, 0x9f, + 0xb6, 0xec, 0x3e, 0x4c, 0x82, 0xf3, 0xc1, 0x10, 0x08, 0x2f, 0x20, 0x5c, 0x2f, 0x2e, 0x2e, 0x54, + 0x8d, 0x9a, 0x78, 0x45, 0xe6, 0xc8, 0x27, 0xb0, 0x51, 0x8a, 0xf9, 0x21, 0x2d, 0xa6, 0x1c, 0x7e, + 0x0f, 0x5d, 0xe4, 0x50, 0xee, 0xce, 0x0b, 0xd9, 0x2d, 0x0c, 0x7f, 0x41, 0x70, 0x81, 0xef, 0x27, + 0x42, 0x7c, 0x63, 0x69, 0xe7, 0x87, 0xb4, 0x81, 0xbc, 0xfa, 0xd7, 0xc5, 0xd7, 0x87, 0xde, 0x5e, + 0xea, 0xf2, 0x17, 0x89, 0x81, 0xbc, 0xfa, 0xd7, 0xc5, 0xe5, 0xfe, 0x70, 0x2f, 0x75, 0xf9, 0x9d, + 0x30, 0x90, 0x17, 0x76, 0x50, 0x61, 0x10, 0xbe, 0xd8, 0x6a, 0x29, 0x9b, 0x50, 0xdd, 0xa7, 0xf6, + 0x52, 0x5d, 0x11, 0x0c, 0xce, 0xdd, 0x38, 0xd2, 0x59, 0x7a, 0xb9, 0x4b, 0x3a, 0x75, 0x69, 0x01, + 0x7a, 0x24, 0xcf, 0xd2, 0x11, 0x02, 0x3a, 0x4b, 0x47, 0x80, 0x74, 0x40, 0x89, 0x7e, 0x31, 0xca, + 0x96, 0x3c, 0xa0, 0x44, 0x1c, 0x1d, 0x50, 0x92, 0x0f, 0xcd, 0x32, 0x3a, 0xb3, 0xbc, 0xe1, 0xea, + 0x9e, 0x05, 0xe9, 0xf0, 0xae, 0x7c, 0x3f, 0x74, 0xc9, 0x14, 0x25, 0x81, 0x4b, 0xa6, 0x28, 0x98, + 0x8e, 0x11, 0x0a, 0xae, 0x6f, 0x75, 0x9a, 0x73, 0xba, 0xd9, 0xea, 0xd9, 0x44, 0xf9, 0x13, 0xf2, + 0x18, 0x09, 0xa1, 0xe9, 0x18, 0x09, 0x81, 0xe8, 0x02, 0x4d, 0x41, 0x45, 0xc7, 0x31, 0xd7, 0x3a, + 0x7c, 0x5f, 0xd9, 0x6b, 0xb9, 0xca, 0x9f, 0x94, 0x17, 0xe8, 0x38, 0x1a, 0xba, 0x40, 0xc7, 0xc1, + 0xe1, 0xd4, 0x29, 0x26, 0xf3, 0x8b, 0xf2, 0xa7, 0x42, 0xa7, 0x4e, 0x31, 0x34, 0x70, 0xea, 0x14, + 0x97, 0x35, 0x66, 0x0e, 0xe5, 0x83, 0xdc, 0xda, 0x9c, 0xdf, 0x9f, 0x96, 0xd7, 0xc7, 0x30, 0x9e, + 0xae, 0x8f, 0x61, 0x98, 0xcc, 0x87, 0x77, 0xc1, 0x9f, 0xe9, 0xc7, 0xc7, 0x97, 0x7f, 0xa4, 0x0c, + 0xbe, 0x2d, 0xf2, 0xe1, 0x23, 0xe5, 0xbb, 0x12, 0xfd, 0x18, 0xf9, 0xc3, 0x23, 0x52, 0x48, 0x66, + 0xc4, 0xb2, 0xb8, 0x2b, 0x5f, 0xed, 0xcb, 0x88, 0x11, 0xc8, 0x8c, 0x18, 0x0c, 0xbf, 0x83, 0xce, + 0x07, 0xb0, 0x45, 0xd2, 0x5e, 0xf5, 0x67, 0xa6, 0x3f, 0x9b, 0x90, 0xcd, 0xe0, 0x78, 0x32, 0x6a, + 0x06, 0xc7, 0x63, 0xe2, 0x58, 0x73, 0xd1, 0xfd, 0xb9, 0x5d, 0x58, 0xfb, 0x12, 0xec, 0xc3, 0x20, + 0x8e, 0x35, 0x97, 0xe6, 0x77, 0xef, 0xc2, 0xda, 0x97, 0x69, 0x1f, 0x06, 0xf8, 0xfb, 0x13, 0xe8, + 0x4a, 0x3c, 0xaa, 0xd8, 0x6a, 0xcd, 0x59, 0x76, 0x80, 0x53, 0xbe, 0x27, 0x21, 0x1f, 0x34, 0xec, + 0xad, 0xd8, 0xfc, 0x90, 0xb6, 0xc7, 0x0a, 0xf0, 0xe7, 0xd1, 0x78, 0xb1, 0x67, 0x98, 0x2e, 0x5c, + 0xbc, 0x51, 0xc3, 0xf9, 0x7b, 0x13, 0xa1, 0x2d, 0x8e, 0x88, 0x85, 0x2d, 0x8e, 0x08, 0xc0, 0x6f, + 0xa1, 0xa9, 0x3a, 0x69, 0xf6, 0x6c, 0xd3, 0xdd, 0xd2, 0x20, 0xab, 0x0f, 0xe5, 0xf1, 0x7d, 0x09, + 0x79, 0x12, 0x8b, 0x50, 0xd0, 0x49, 0x2c, 0x02, 0xc4, 0xf7, 0xfa, 0x64, 0x91, 0x51, 0xbe, 0x96, + 0x18, 0x78, 0x2d, 0xef, 0xf7, 0x65, 0x9f, 0x24, 0x34, 0xb5, 0xd8, 0x4c, 0x21, 0xca, 0xf7, 0x27, + 0x06, 0x5c, 0xa3, 0x0b, 0x33, 0x5c, 0x4c, 0x92, 0x91, 0x5a, 0x6c, 0x2e, 0x08, 0xe5, 0x07, 0x12, + 0x03, 0xae, 0xbd, 0x03, 0x8e, 0x71, 0x69, 0x24, 0x5e, 0x14, 0x93, 0xb8, 0x29, 0x7f, 0x3e, 0x11, + 0x75, 0x15, 0xf1, 0xcb, 0x8b, 0xd9, 0xde, 0x5e, 0x64, 0xae, 0x79, 0xbc, 0xd8, 0xd7, 0x13, 0x51, + 0xdf, 0xbc, 0xa0, 0x58, 0xf0, 0x6b, 0x36, 0x8b, 0x86, 0x61, 0xf2, 0x57, 0x7f, 0x2c, 0x81, 0xc6, + 0xea, 0xae, 0x4d, 0xf4, 0x36, 0xf7, 0x00, 0x9f, 0x46, 0x39, 0x76, 0x8b, 0x5a, 0x2d, 0xf3, 0x87, + 0x1a, 0xfe, 0x6f, 0x7c, 0x05, 0x4d, 0x2c, 0xe8, 0x8e, 0x0b, 0x25, 0xab, 0x1d, 0x83, 0x3c, 0x02, + 0x0f, 0xc2, 0x94, 0x16, 0x82, 0xe2, 0x05, 0x46, 0xc7, 0xca, 0xc1, 0x93, 0x97, 0xd4, 0xae, 0x8e, + 0xcf, 0xb9, 0x0f, 0xb6, 0x0b, 0x43, 0xe0, 0xe7, 0x1c, 0x2a, 0xab, 0x7e, 0x2b, 0x81, 0x22, 0xf7, + 0xbb, 0x07, 0xf7, 0x77, 0x5e, 0x46, 0x93, 0xa1, 0x67, 0x56, 0xdc, 0x0d, 0x72, 0x8f, 0xaf, 0xb0, + 0xc2, 0xa5, 0xf1, 0xa7, 0x7c, 0xf7, 0xbb, 0xbb, 0xda, 0x02, 0x77, 0x6a, 0xcf, 0x42, 0x6e, 0x62, + 0xbb, 0xa5, 0x09, 0x28, 0xee, 0xbe, 0xf9, 0x97, 0x27, 0x83, 0x37, 0x24, 0xf8, 0x0a, 0x7f, 0x42, + 0x96, 0x08, 0x5c, 0xe1, 0x43, 0xc1, 0x2e, 0xd9, 0x93, 0xb1, 0xcf, 0xa3, 0xb1, 0x6a, 0xbb, 0x4b, + 0x6c, 0xc7, 0xea, 0xe8, 0xae, 0xe5, 0x05, 0xd5, 0x07, 0x87, 0x6b, 0x53, 0x80, 0x8b, 0x4e, 0xc0, + 0x22, 0x3d, 0xbe, 0xe6, 0x65, 0x08, 0x4b, 0xc1, 0xeb, 0x9d, 0x33, 0x31, 0x19, 0xc2, 0xbc, 0x3c, + 0x5f, 0xd7, 0xd0, 0xf0, 0x5d, 0x47, 0x07, 0x47, 0x4d, 0x9f, 0xb4, 0x47, 0x01, 0x22, 0x29, 0x50, + 0xe0, 0xeb, 0x28, 0x03, 0x86, 0xad, 0xa3, 0x0c, 0x03, 0x2d, 0x38, 0xe8, 0xb7, 0x00, 0x22, 0x3a, + 0x56, 0x33, 0x1a, 0x7c, 0x07, 0xe5, 0x83, 0x5d, 0x3b, 0xa4, 0x81, 0xf0, 0xe2, 0x67, 0x40, 0xe0, + 0xc9, 0x0d, 0x1f, 0xc7, 0xf2, 0x47, 0x88, 0x2c, 0x22, 0x05, 0xf1, 0x3c, 0x9a, 0x0c, 0x60, 0x54, + 0x44, 0x5e, 0xdc, 0x1e, 0x08, 0xbc, 0x2a, 0xf0, 0xa2, 0xe2, 0x14, 0x59, 0x85, 0x8b, 0xe1, 0x2a, + 0xca, 0x7a, 0xde, 0xf9, 0xb9, 0x5d, 0x95, 0xf4, 0x0c, 0xf7, 0xce, 0xcf, 0x8a, 0x7e, 0xf9, 0x5e, + 0x79, 0x3c, 0x87, 0x26, 0x34, 0xab, 0xe7, 0x92, 0x15, 0xcb, 0xcb, 0xc9, 0x3e, 0x12, 0x04, 0x83, + 0xb5, 0x29, 0xa6, 0xe1, 0x5a, 0x5e, 0xdc, 0x4e, 0x31, 0x7e, 0xa4, 0x5c, 0x0a, 0x2f, 0xc5, 0xa5, + 0x77, 0x17, 0xa2, 0x69, 0x0a, 0x9f, 0x17, 0x65, 0x16, 0x93, 0xcf, 0xfd, 0x7b, 0x13, 0x28, 0xb3, + 0x62, 0xeb, 0xa6, 0xeb, 0x70, 0x1f, 0xcf, 0x73, 0x33, 0x9b, 0xb6, 0xde, 0xa5, 0xfa, 0x31, 0x03, + 0xcf, 0xb3, 0x20, 0x9d, 0xb5, 0x33, 0x7b, 0x9f, 0x7e, 0xdd, 0xbf, 0xdf, 0x2e, 0x7c, 0x6e, 0x1f, + 0x99, 0xdb, 0x6e, 0xf8, 0x9c, 0x58, 0x0d, 0x54, 0x05, 0x5c, 0xf8, 0x4b, 0x54, 0x01, 0x86, 0xc3, + 0x4b, 0x74, 0x8e, 0x83, 0x4f, 0x2d, 0x76, 0xbb, 0xdc, 0x61, 0x54, 0x98, 0xe2, 0x3c, 0x0c, 0x53, + 0x6c, 0x5f, 0x60, 0x7a, 0x57, 0x4c, 0x26, 0x22, 0x70, 0xa0, 0x5a, 0xb0, 0xc2, 0x5b, 0xe4, 0x89, + 0x69, 0x3c, 0x90, 0xb8, 0xd7, 0xd8, 0x18, 0x21, 0x85, 0x8b, 0xe1, 0x55, 0x34, 0xc9, 0xf9, 0xfa, + 0x91, 0x16, 0x26, 0xe4, 0x59, 0x21, 0x84, 0x66, 0x4a, 0xeb, 0xb7, 0xd1, 0xe0, 0x60, 0xb1, 0x8e, + 0x50, 0x09, 0x3c, 0x1b, 0x04, 0x82, 0x83, 0xcc, 0x25, 0xca, 0x24, 0x68, 0xec, 0xc5, 0x9d, 0xed, + 0x82, 0xe2, 0x95, 0x67, 0x09, 0x4f, 0xe2, 0xc2, 0x9a, 0x42, 0x11, 0x91, 0x07, 0xd3, 0xfa, 0x7c, + 0x0c, 0x8f, 0xb0, 0xce, 0xcb, 0x45, 0x70, 0x09, 0x8d, 0xfb, 0xfe, 0x2a, 0x77, 0xef, 0x56, 0xcb, + 0xe0, 0x91, 0xca, 0x53, 0x74, 0x84, 0x82, 0x38, 0x88, 0x4c, 0xa4, 0x32, 0xf8, 0x05, 0x94, 0x63, + 0x1e, 0x9f, 0x55, 0xe6, 0xa2, 0xea, 0xbd, 0xa2, 0x03, 0x58, 0xc3, 0x14, 0x7b, 0xcc, 0x27, 0xc4, + 0xaf, 0xa3, 0xd1, 0xe2, 0xfd, 0x3a, 0x9d, 0x67, 0x8a, 0xda, 0x92, 0xa3, 0x9c, 0x09, 0xa2, 0xe7, + 0x40, 0x64, 0x5b, 0xab, 0x45, 0x1a, 0xba, 0x2d, 0x4d, 0x1e, 0x22, 0x3d, 0xae, 0xa0, 0x09, 0xe9, + 0xc8, 0xdb, 0x51, 0xce, 0x02, 0x07, 0x96, 0x5c, 0x84, 0x65, 0x4d, 0xe7, 0xf9, 0x6d, 0xa4, 0xf0, + 0xbd, 0x72, 0x21, 0xaa, 0x35, 0x65, 0xd3, 0x81, 0x48, 0x24, 0x1a, 0x31, 0x1d, 0xa7, 0x47, 0xc0, + 0xbf, 0x35, 0xc7, 0xb4, 0xc6, 0xe0, 0xa8, 0x86, 0xcd, 0x70, 0x52, 0x70, 0x65, 0xb9, 0x18, 0x7e, + 0x0f, 0x61, 0x88, 0x5d, 0x42, 0x0c, 0x6f, 0x07, 0x54, 0x2d, 0x3b, 0xca, 0x79, 0x78, 0xa6, 0x8a, + 0xc3, 0x8f, 0xc5, 0xab, 0xe5, 0xd9, 0x2b, 0x7c, 0xfa, 0xb8, 0xac, 0xb3, 0x52, 0x0d, 0x3f, 0xb7, + 0x8c, 0x69, 0x88, 0x2d, 0x8e, 0xe1, 0x8a, 0x37, 0xd1, 0x85, 0x9a, 0x4d, 0x1e, 0x9a, 0x56, 0xcf, + 0xf1, 0x96, 0x0f, 0x6f, 0xde, 0xba, 0xb0, 0xeb, 0xbc, 0xf5, 0x34, 0xaf, 0xf8, 0x5c, 0xd7, 0x26, + 0x0f, 0x1b, 0xde, 0xe3, 0x44, 0xe9, 0x75, 0x51, 0x3f, 0xee, 0x54, 0x5c, 0xc5, 0xf7, 0x7b, 0x36, + 0xe1, 0x70, 0x93, 0x38, 0x8a, 0x12, 0x4c, 0xb5, 0x3a, 0x45, 0x79, 0x1c, 0x4d, 0x49, 0x75, 0xc3, + 0xc5, 0xb0, 0x86, 0xf0, 0xed, 0x92, 0xb7, 0x1b, 0x2e, 0x36, 0x9b, 0x56, 0xaf, 0xe3, 0x3a, 0xca, + 0x13, 0xc0, 0x4c, 0xa5, 0x62, 0x59, 0x6b, 0xfa, 0x0f, 0x95, 0x1b, 0x3a, 0xc7, 0x8b, 0x62, 0x89, + 0x96, 0xc6, 0x0b, 0x28, 0x5f, 0xb3, 0xcd, 0x87, 0xba, 0x4b, 0xee, 0x90, 0xad, 0x9a, 0xd5, 0x32, + 0x9b, 0x5b, 0xe0, 0x66, 0xcb, 0xa7, 0xca, 0x2e, 0xc3, 0x35, 0x36, 0xc8, 0x56, 0xa3, 0x0b, 0x58, + 0x71, 0x59, 0x09, 0x97, 0x54, 0x7f, 0x28, 0x25, 0xce, 0x50, 0x7e, 0xa2, 0xed, 0x44, 0x6c, 0xa2, + 0xed, 0xeb, 0x68, 0x84, 0xaf, 0xee, 0x7e, 0x20, 0x14, 0x88, 0x1a, 0xe7, 0xbd, 0xd9, 0x35, 0x0d, + 0x2d, 0x20, 0x80, 0x88, 0x5d, 0x41, 0xda, 0x87, 0x94, 0x10, 0xb1, 0x2b, 0x48, 0xfb, 0x20, 0x25, + 0x7d, 0xb8, 0x89, 0x46, 0xf9, 0xec, 0x24, 0x3c, 0xaf, 0x83, 0x77, 0xb7, 0x5e, 0xe4, 0x67, 0xf6, + 0xac, 0x57, 0x20, 0xc2, 0xaf, 0x42, 0xec, 0x73, 0x3e, 0x60, 0xb8, 0x2d, 0x02, 0x93, 0xa9, 0x38, + 0xbe, 0x42, 0xc1, 0xcf, 0x39, 0x35, 0x9d, 0x5a, 0xc4, 0x0e, 0xf3, 0x62, 0x14, 0xc2, 0xd4, 0x22, + 0xf5, 0xf2, 0x96, 0x94, 0xb8, 0x47, 0x2c, 0x82, 0x97, 0xd1, 0x54, 0xa4, 0x8f, 0xf8, 0x63, 0x3c, + 0x88, 0x58, 0x19, 0xd3, 0xc1, 0xe2, 0xd2, 0x15, 0x29, 0xab, 0xfe, 0xbb, 0x44, 0x64, 0x62, 0xa6, + 0x82, 0xe1, 0x54, 0x42, 0xe7, 0x80, 0x60, 0x3c, 0xd6, 0x4c, 0x30, 0x02, 0x11, 0xbe, 0x8a, 0x72, + 0xa1, 0xf0, 0xe7, 0xf0, 0x4c, 0xd7, 0x8f, 0x7d, 0xee, 0x63, 0xf1, 0x4d, 0x94, 0xa3, 0xd3, 0x64, + 0x27, 0xf4, 0xf4, 0xb4, 0xc7, 0x61, 0xe2, 0xbc, 0xe6, 0xd1, 0xd1, 0x32, 0x52, 0x80, 0x1e, 0x2f, + 0x4a, 0x75, 0x74, 0x51, 0x08, 0x02, 0xf2, 0xfc, 0xef, 0xf4, 0xc0, 0xab, 0xc0, 0x23, 0x89, 0x4c, + 0xf0, 0x0a, 0x35, 0xb4, 0x69, 0xed, 0x45, 0x27, 0x62, 0x2e, 0xb2, 0x9b, 0x8e, 0x86, 0xce, 0xf4, + 0xc8, 0xd1, 0x64, 0x4a, 0x31, 0x81, 0x16, 0xbc, 0x23, 0x4c, 0xc7, 0x24, 0xd0, 0x0a, 0x47, 0xdd, + 0x16, 0x0b, 0xe0, 0x17, 0xd1, 0x48, 0x90, 0x0a, 0x6c, 0x58, 0x78, 0x4b, 0x1a, 0x93, 0x01, 0x2c, + 0xa0, 0xc4, 0x5f, 0x46, 0x19, 0x29, 0xec, 0xfb, 0x8d, 0x3d, 0xdc, 0x9d, 0xce, 0x88, 0x91, 0x01, + 0x98, 0xd1, 0x1a, 0x0e, 0xf9, 0xce, 0x99, 0xe2, 0x15, 0x74, 0xa6, 0x66, 0x13, 0x03, 0x6e, 0xe9, + 0x2b, 0x8f, 0xba, 0x36, 0x8f, 0xdb, 0xc0, 0x54, 0x1a, 0xe6, 0xac, 0xae, 0x87, 0xa6, 0xb3, 0x29, + 0xc7, 0x0b, 0x8c, 0xe2, 0x8a, 0xd3, 0x85, 0x8c, 0xb5, 0xe4, 0x0e, 0xd9, 0xda, 0xb4, 0x6c, 0x83, + 0x85, 0x36, 0xe0, 0x0b, 0x19, 0x17, 0xf4, 0x06, 0x47, 0x89, 0x0b, 0x99, 0x5c, 0x68, 0xfa, 0x15, + 0x34, 0x7a, 0xd0, 0xd7, 0xf5, 0x3f, 0x9b, 0xec, 0xe3, 0x54, 0x73, 0x72, 0xe3, 0x01, 0xfa, 0xb1, + 0x59, 0x87, 0xfb, 0xc4, 0x66, 0xfd, 0xfd, 0x64, 0x1f, 0x8f, 0xa1, 0x13, 0x1d, 0x43, 0xd1, 0x17, + 0x86, 0x1c, 0x43, 0x31, 0x08, 0x5f, 0x69, 0x1a, 0x9a, 0x48, 0x14, 0x8a, 0xb6, 0x9a, 0xd9, 0x35, + 0xda, 0xea, 0x4f, 0xa4, 0x06, 0x79, 0x54, 0x9d, 0xca, 0x7e, 0x3f, 0xb2, 0xbf, 0x89, 0x46, 0x7d, + 0xc9, 0xf2, 0xdc, 0x39, 0xe3, 0x7e, 0x2c, 0x0f, 0x06, 0x86, 0x32, 0x02, 0x11, 0xbe, 0xc6, 0xda, + 0x5a, 0x37, 0xdf, 0x67, 0xef, 0xea, 0xc7, 0xf9, 0xdb, 0x6b, 0xdd, 0xd5, 0x1b, 0x8e, 0xf9, 0x3e, + 0xd1, 0x7c, 0xb4, 0xfa, 0x4f, 0x93, 0xb1, 0x6e, 0x69, 0xa7, 0x7d, 0xb4, 0x8f, 0x3e, 0x8a, 0x11, + 0x22, 0x73, 0xa8, 0x3b, 0x15, 0xe2, 0x3e, 0x84, 0xf8, 0x7b, 0xc9, 0x58, 0xf7, 0xc3, 0x53, 0x21, + 0xee, 0x67, 0xb6, 0xb8, 0x8e, 0x46, 0x34, 0x6b, 0xd3, 0x29, 0x81, 0x15, 0xcf, 0xe6, 0x0a, 0x98, + 0xa8, 0x6d, 0x6b, 0xd3, 0x69, 0x80, 0x7d, 0xae, 0x05, 0x04, 0xea, 0x1f, 0x24, 0x07, 0x38, 0x68, + 0x9e, 0x0a, 0xfe, 0xc3, 0x5c, 0x22, 0x7f, 0x3e, 0x29, 0x39, 0x80, 0x9e, 0xe8, 0x60, 0xe4, 0xf5, + 0xe6, 0x3a, 0x69, 0xeb, 0xe1, 0x60, 0xe4, 0x0e, 0x40, 0x79, 0x2c, 0xd3, 0x80, 0x44, 0xfd, 0x85, + 0x64, 0xc8, 0x03, 0xf6, 0x54, 0x76, 0x7b, 0x96, 0x9d, 0xaf, 0x75, 0xdc, 0xa9, 0xf7, 0x54, 0x72, + 0x7b, 0x95, 0xdc, 0xd7, 0x92, 0x21, 0xff, 0xe7, 0x93, 0x1b, 0x97, 0xf8, 0x17, 0x92, 0x51, 0x5f, + 0xee, 0x93, 0xab, 0x49, 0xd7, 0xd1, 0x08, 0x97, 0x83, 0xbf, 0x54, 0xb0, 0x79, 0x9f, 0x01, 0xe1, + 0x48, 0xd1, 0x27, 0x50, 0xbf, 0x27, 0x89, 0x64, 0xbf, 0xf4, 0x13, 0xaa, 0x43, 0x3f, 0x9f, 0x94, + 0x3d, 0xf2, 0x4f, 0xae, 0xfe, 0xcc, 0x20, 0x54, 0xef, 0xad, 0x36, 0x79, 0x40, 0x97, 0x61, 0xe1, + 0x4c, 0xda, 0x87, 0x6a, 0x02, 0x85, 0xfa, 0x7f, 0x92, 0xb1, 0xcf, 0x04, 0x4e, 0xae, 0x00, 0x5f, + 0x80, 0x73, 0xe2, 0x66, 0x27, 0x98, 0xc8, 0xe1, 0x10, 0x92, 0x8e, 0xbf, 0x48, 0x40, 0x3b, 0x8f, + 0x10, 0x7f, 0x36, 0xc6, 0x5c, 0x83, 0xd8, 0x73, 0xb1, 0x79, 0x99, 0x44, 0xc3, 0xed, 0x5f, 0x26, + 0x77, 0x7b, 0x55, 0x71, 0x92, 0x57, 0xd5, 0x6c, 0x4d, 0xdf, 0x82, 0xd7, 0xff, 0xb4, 0x27, 0xc6, + 0x58, 0xe0, 0xb6, 0x2e, 0x03, 0x89, 0x11, 0x20, 0x39, 0x95, 0xfa, 0xbb, 0xc3, 0xf1, 0x2e, 0xfd, + 0x27, 0x57, 0x84, 0x5e, 0xde, 0xe0, 0xe1, 0x5d, 0xf3, 0x06, 0x67, 0xf6, 0x9a, 0x37, 0x38, 0xdb, + 0x37, 0x6f, 0xf0, 0x45, 0x94, 0x9e, 0xb5, 0x8c, 0x2d, 0xf0, 0xa2, 0x18, 0x63, 0x95, 0xad, 0x5a, + 0xc6, 0x96, 0x06, 0x50, 0xfc, 0xfd, 0x09, 0x94, 0x9d, 0x27, 0xba, 0x41, 0x47, 0xc8, 0xc8, 0x20, + 0x27, 0x84, 0x2f, 0x3c, 0x1e, 0x27, 0x84, 0xa9, 0x75, 0x56, 0x99, 0xa8, 0x28, 0xbc, 0x7e, 0x7c, + 0x1b, 0xe5, 0x4a, 0xba, 0x4b, 0xd6, 0x2c, 0x7b, 0x0b, 0xdc, 0x2a, 0x26, 0x02, 0xc7, 0x32, 0x49, + 0x7f, 0x3c, 0x22, 0x76, 0x57, 0xd4, 0xe4, 0xbf, 0x34, 0xbf, 0x30, 0x15, 0x0b, 0x0f, 0x54, 0x3e, + 0x1a, 0x88, 0x45, 0x8e, 0x48, 0x1e, 0x1c, 0x2b, 0x8f, 0xc5, 0x1f, 0x2b, 0x87, 0xb2, 0x41, 0x8f, + 0xef, 0x9a, 0x0d, 0x5a, 0xfd, 0xf6, 0x30, 0x8a, 0x75, 0x00, 0x3e, 0x55, 0xf2, 0x53, 0x25, 0x0f, + 0x94, 0xbc, 0x1c, 0x51, 0xf2, 0xe9, 0xa8, 0x4b, 0xf9, 0x47, 0x54, 0xc3, 0x7f, 0x34, 0x1d, 0x79, + 0x90, 0x72, 0xb2, 0x77, 0x97, 0x81, 0xf4, 0x86, 0xf7, 0x9e, 0x2d, 0x3e, 0xb3, 0xeb, 0x80, 0xc8, + 0xee, 0x75, 0x40, 0xe4, 0xfa, 0x0e, 0x88, 0x40, 0x41, 0x46, 0xfa, 0x2a, 0x48, 0x95, 0x0f, 0x1a, + 0x34, 0x38, 0xb8, 0xee, 0xc5, 0x9d, 0xed, 0xc2, 0x04, 0x1d, 0x4d, 0xb1, 0x61, 0x75, 0x81, 0x85, + 0xfa, 0xad, 0xf4, 0x80, 0x57, 0x64, 0x47, 0xa2, 0x23, 0x3c, 0x5d, 0x7e, 0xea, 0x20, 0xe9, 0xf2, + 0xd3, 0x07, 0x48, 0x97, 0x8f, 0x5f, 0x0b, 0x82, 0x52, 0xac, 0xf7, 0x3a, 0x1b, 0x7c, 0xa3, 0xc8, + 0xbd, 0x2f, 0x3d, 0xdf, 0x93, 0x26, 0x45, 0xd1, 0xed, 0x62, 0x88, 0x36, 0xa4, 0x4d, 0x99, 0xbd, + 0x6b, 0x53, 0x76, 0x57, 0x6d, 0xca, 0xed, 0x55, 0x9b, 0x46, 0xf6, 0xa0, 0x4d, 0x68, 0x57, 0x6d, + 0x1a, 0x3d, 0xbc, 0x36, 0x75, 0xd1, 0x74, 0xf4, 0xe5, 0xaf, 0xaf, 0x11, 0x1a, 0xc2, 0x51, 0x2c, + 0x77, 0x37, 0x81, 0xab, 0xff, 0x1e, 0xc3, 0x36, 0x58, 0x0a, 0x83, 0x70, 0x02, 0x00, 0x2d, 0xa6, + 0xb4, 0xfa, 0xb3, 0xc9, 0xfe, 0x0f, 0x96, 0x8f, 0xe7, 0x14, 0xf7, 0x9d, 0xb1, 0x52, 0x4a, 0xcb, + 0x4f, 0x20, 0xfb, 0x4b, 0x39, 0xc4, 0x36, 0x4e, 0x66, 0xdf, 0x48, 0xf4, 0x7b, 0x45, 0x7d, 0x28, + 0x89, 0x7d, 0x32, 0xea, 0xbe, 0x05, 0x6e, 0xdb, 0x8e, 0xec, 0xb7, 0x15, 0x8e, 0xa7, 0x9f, 0x3a, + 0x60, 0x3c, 0xfd, 0x7f, 0x92, 0x40, 0x67, 0xee, 0xf4, 0x56, 0x09, 0x77, 0xd7, 0xf2, 0x9b, 0xf1, + 0x1e, 0x42, 0x14, 0xcc, 0x9d, 0x58, 0x12, 0xe0, 0xc4, 0xf2, 0x69, 0xf1, 0x05, 0x74, 0xa8, 0xc0, + 0x4c, 0x40, 0xcd, 0x1c, 0x58, 0x2e, 0x79, 0xbe, 0x7d, 0x1b, 0xbd, 0x55, 0xd2, 0x88, 0x78, 0xb2, + 0x08, 0xdc, 0xa7, 0x5f, 0x67, 0x5e, 0xd3, 0x07, 0x75, 0x1a, 0xf9, 0xe9, 0x64, 0xdf, 0x47, 0xe7, + 0xc7, 0x36, 0x1d, 0xfb, 0x97, 0x62, 0x7b, 0x85, 0xeb, 0xef, 0x93, 0x03, 0xfa, 0x21, 0xc4, 0x31, + 0x8e, 0x4b, 0xbc, 0xc0, 0x8e, 0x79, 0xfe, 0xfa, 0x0f, 0x55, 0x60, 0xbf, 0x91, 0xe8, 0x1b, 0x1c, + 0xe0, 0xd8, 0x66, 0xb8, 0xff, 0x66, 0xd2, 0x8b, 0x49, 0x70, 0xa8, 0x4f, 0xb8, 0x8e, 0x46, 0x78, + 0xe0, 0x65, 0xd9, 0xdb, 0x94, 0x1f, 0xe5, 0xc1, 0xd1, 0xb0, 0x4f, 0x40, 0x97, 0x79, 0xef, 0xcd, + 0xb4, 0x9f, 0xcb, 0x01, 0x96, 0x79, 0x93, 0x43, 0x29, 0xbd, 0x40, 0x42, 0x17, 0xf2, 0xca, 0x23, + 0xd3, 0x05, 0xab, 0x80, 0xf6, 0x65, 0x8a, 0x2d, 0xe4, 0xe4, 0x91, 0xe9, 0x32, 0x9b, 0xc0, 0x47, + 0xd3, 0x45, 0x5a, 0xc8, 0xd2, 0xc9, 0x17, 0x69, 0x87, 0x47, 0x80, 0xe7, 0xaf, 0x88, 0xae, 0xa3, + 0x11, 0xee, 0xc2, 0xc9, 0xdd, 0x4c, 0x78, 0x6b, 0xb9, 0xd3, 0x27, 0xb4, 0xd6, 0x27, 0xa0, 0x1c, + 0x35, 0xb2, 0x16, 0x38, 0xd6, 0x01, 0x47, 0x1b, 0x20, 0x1a, 0xc7, 0xa8, 0x3b, 0xc9, 0x68, 0x68, + 0x84, 0x93, 0xbb, 0x29, 0xb8, 0x26, 0x3b, 0xab, 0x81, 0x87, 0x26, 0x18, 0x5c, 0xe2, 0x2b, 0x1d, + 0x66, 0x77, 0xdd, 0x44, 0xb9, 0x3b, 0x64, 0x8b, 0xf9, 0x55, 0x66, 0x02, 0xe7, 0xd4, 0x0d, 0x0e, + 0x13, 0x4f, 0x34, 0x3d, 0x3a, 0xf5, 0x97, 0x92, 0xd1, 0xa0, 0x0f, 0x27, 0x57, 0xd8, 0x9f, 0x41, + 0x59, 0x10, 0x65, 0xd5, 0x3b, 0x52, 0x07, 0x01, 0xb2, 0xd4, 0xfb, 0xd2, 0x1b, 0x09, 0x8f, 0x4c, + 0xfd, 0xf1, 0x4c, 0x38, 0x12, 0xc8, 0xc9, 0x95, 0xde, 0xe7, 0xd0, 0x68, 0xc9, 0xea, 0x38, 0xa6, + 0xe3, 0x92, 0x4e, 0xd3, 0x53, 0xd8, 0x27, 0xa8, 0xc1, 0xd2, 0x0c, 0xc0, 0xe2, 0x93, 0x0f, 0x81, + 0xfa, 0x20, 0xca, 0x8b, 0x5f, 0x42, 0x23, 0x20, 0x72, 0xf0, 0x43, 0x16, 0x32, 0xc1, 0xac, 0x52, + 0x60, 0xd8, 0x09, 0x39, 0x20, 0xc5, 0x77, 0x51, 0xae, 0xb4, 0x6e, 0xb6, 0x0c, 0x9b, 0x74, 0x78, + 0xaa, 0xb1, 0xa7, 0xe3, 0xe3, 0xb6, 0xcc, 0xc0, 0xbf, 0x40, 0xcb, 0x9a, 0xd3, 0xe4, 0xc5, 0xa4, + 0x47, 0x2f, 0x1c, 0x36, 0xfd, 0x17, 0x93, 0x08, 0x05, 0x05, 0xf0, 0x53, 0x28, 0xe9, 0xbd, 0xac, + 0x64, 0x6e, 0x20, 0x92, 0x06, 0x25, 0x61, 0x2a, 0xe6, 0x63, 0x3b, 0xb9, 0xeb, 0xd8, 0xbe, 0x8b, + 0x32, 0xec, 0x44, 0x09, 0x3c, 0xb5, 0x85, 0xe0, 0x04, 0x7d, 0x1b, 0x3c, 0x03, 0xf4, 0x6c, 0xb3, + 0x08, 0x96, 0x9d, 0xe4, 0xf5, 0xcc, 0x98, 0x4d, 0x37, 0xd1, 0x30, 0xfc, 0x85, 0xaf, 0xa0, 0x34, + 0x48, 0x31, 0x01, 0xfb, 0x44, 0x78, 0x9f, 0x18, 0x92, 0x1f, 0xe0, 0x69, 0x37, 0x95, 0xac, 0x8e, + 0x4b, 0xab, 0x86, 0x56, 0x8f, 0x71, 0xb9, 0x70, 0x98, 0x24, 0x17, 0x0e, 0x53, 0xff, 0x45, 0x32, + 0x26, 0x46, 0xcd, 0xc9, 0x1d, 0x26, 0xaf, 0x20, 0x04, 0x2f, 0x68, 0xa9, 0x3c, 0xbd, 0x07, 0x95, + 0x30, 0x4a, 0x80, 0x11, 0xa8, 0xad, 0x64, 0xd6, 0x07, 0xc4, 0xea, 0xaf, 0x24, 0x22, 0x81, 0x4d, + 0x8e, 0x6d, 0xe6, 0x4b, 0xe9, 0x5b, 0x8e, 0x79, 0x16, 0xcf, 0x6f, 0x27, 0xe3, 0xc2, 0xbc, 0x1c, + 0x4f, 0x15, 0x0f, 0xd2, 0x89, 0xa5, 0xf7, 0x91, 0x4e, 0xec, 0x5d, 0x34, 0x19, 0x0a, 0x7e, 0xc2, + 0xf3, 0xb6, 0x5c, 0x19, 0x1c, 0x45, 0xa5, 0xff, 0xdb, 0x6b, 0x89, 0x4c, 0xfd, 0xbf, 0x89, 0xc1, + 0xa1, 0x6f, 0x8e, 0x5c, 0x75, 0x62, 0x04, 0x90, 0xfa, 0xe3, 0x11, 0xc0, 0x63, 0xd8, 0x66, 0x1e, + 0x6f, 0x01, 0x7c, 0x44, 0x26, 0x8f, 0x0f, 0x5b, 0x00, 0x3f, 0x9e, 0xd8, 0x35, 0x72, 0xd1, 0x51, + 0xcb, 0x40, 0xfd, 0x0f, 0x89, 0xd8, 0x08, 0x43, 0x87, 0x6a, 0xd7, 0x6b, 0x28, 0xc3, 0xdc, 0x56, + 0x78, 0xab, 0x84, 0x98, 0xcc, 0x14, 0xda, 0x2f, 0x9d, 0x39, 0xc3, 0xe2, 0x05, 0x94, 0x65, 0x6d, + 0x30, 0x78, 0x6f, 0x7c, 0x62, 0x40, 0x98, 0x23, 0xa3, 0xdf, 0xe4, 0xc8, 0xd1, 0xea, 0x2f, 0x27, + 0x22, 0x01, 0x8f, 0x8e, 0xf0, 0xdb, 0x0e, 0x96, 0x26, 0xf9, 0xb7, 0x93, 0xf1, 0xf1, 0x96, 0x8e, + 0xf0, 0x43, 0x1e, 0xc7, 0x71, 0xd5, 0xc1, 0xd6, 0xad, 0x15, 0x34, 0x21, 0xcb, 0x82, 0x2f, 0x5b, + 0x97, 0xe3, 0xa3, 0x4e, 0xf5, 0x69, 0x45, 0x88, 0x87, 0xfa, 0x41, 0x22, 0x1a, 0x2a, 0xea, 0xc8, + 0xe7, 0xa7, 0x83, 0x69, 0x8b, 0xfc, 0x29, 0x1f, 0x91, 0xb5, 0xe6, 0x71, 0x7c, 0xca, 0x47, 0x64, + 0xd5, 0x38, 0xd8, 0xa7, 0xfc, 0x64, 0xb2, 0x5f, 0xa4, 0xad, 0x23, 0xff, 0xa0, 0x2f, 0x8a, 0x42, + 0x66, 0x2d, 0xe3, 0x9f, 0xf6, 0x54, 0xbf, 0xd0, 0x56, 0x7d, 0x78, 0x46, 0xf8, 0x1c, 0x6c, 0x8c, + 0xc7, 0x0a, 0xeb, 0x23, 0xa2, 0xc8, 0xc7, 0x43, 0x58, 0x1f, 0x91, 0xa1, 0xf2, 0xd1, 0x13, 0xd6, + 0x3f, 0x4c, 0xee, 0x35, 0xbc, 0xdb, 0xa9, 0xf0, 0x22, 0xc2, 0xfb, 0xe1, 0x64, 0x34, 0xec, 0xe0, + 0x91, 0x8b, 0x69, 0x0e, 0x65, 0x78, 0x00, 0xc4, 0xbe, 0xc2, 0x61, 0xf8, 0x7e, 0x16, 0x0d, 0xff, + 0x8e, 0x20, 0x6b, 0x6c, 0x7a, 0xef, 0x59, 0x63, 0xd5, 0x3f, 0x48, 0x84, 0x62, 0xf4, 0x1d, 0xc9, + 0x11, 0xc2, 0x81, 0x96, 0x24, 0xfc, 0xba, 0x77, 0x98, 0x99, 0x0e, 0xa5, 0x3f, 0xf3, 0xbf, 0xa7, + 0x4c, 0x5c, 0xdd, 0x6c, 0x85, 0xcb, 0xf3, 0x37, 0xf7, 0xbf, 0x94, 0x44, 0x53, 0x11, 0x52, 0x7c, + 0x45, 0x8a, 0xcb, 0x02, 0xc7, 0x92, 0x21, 0xe7, 0x6c, 0x16, 0xa1, 0x65, 0x1f, 0x27, 0xa9, 0x57, + 0x50, 0xba, 0xac, 0x6f, 0xb1, 0x6f, 0x1b, 0x66, 0x2c, 0x0d, 0x7d, 0x4b, 0x3c, 0x71, 0x03, 0x3c, + 0x5e, 0x45, 0xe7, 0xd8, 0x7d, 0x88, 0x69, 0x75, 0x56, 0xcc, 0x36, 0xa9, 0x76, 0x16, 0xcd, 0x56, + 0xcb, 0x74, 0xf8, 0xa5, 0xd9, 0xf5, 0x9d, 0xed, 0xc2, 0x55, 0xd7, 0x72, 0xf5, 0x56, 0x83, 0x78, + 0x64, 0x0d, 0xd7, 0x6c, 0x93, 0x86, 0xd9, 0x69, 0xb4, 0x81, 0x52, 0x60, 0x19, 0xcf, 0x0a, 0x57, + 0x59, 0x7e, 0xb6, 0x7a, 0x53, 0xef, 0x74, 0x88, 0x51, 0xed, 0xcc, 0x6e, 0xb9, 0x84, 0x5d, 0xb6, + 0xa5, 0xd8, 0x91, 0x20, 0x7b, 0x7b, 0xcd, 0xd0, 0x94, 0xf1, 0x2a, 0x25, 0xd0, 0x62, 0x0a, 0xa9, + 0xbf, 0x98, 0x8e, 0x09, 0xcf, 0x78, 0x8c, 0xd4, 0xc7, 0xeb, 0xe9, 0xf4, 0x2e, 0x3d, 0x7d, 0x03, + 0x65, 0xef, 0x11, 0x1b, 0xce, 0xb7, 0x86, 0x83, 0xc4, 0xf5, 0x0f, 0x19, 0x48, 0xbc, 0xa1, 0xe1, + 0x54, 0xb8, 0x85, 0xa6, 0x57, 0x68, 0x37, 0xc5, 0x77, 0x66, 0xe6, 0x00, 0x9d, 0x39, 0x80, 0x1f, + 0x7e, 0x07, 0x5d, 0x00, 0x6c, 0x4c, 0xb7, 0x66, 0xa1, 0x2a, 0x88, 0x26, 0xc6, 0xaa, 0x8a, 0xef, + 0xdc, 0x7e, 0xe5, 0xf1, 0x17, 0xd1, 0x98, 0x3f, 0x40, 0x4c, 0xe2, 0xf0, 0x9b, 0x8b, 0x01, 0xe3, + 0x8c, 0xc5, 0xdb, 0xa2, 0x60, 0x70, 0xd1, 0x92, 0x63, 0x36, 0x49, 0xbc, 0x9e, 0xfd, 0x14, 0x1a, + 0x85, 0x63, 0xe6, 0x22, 0xe4, 0x58, 0xc2, 0x63, 0x28, 0xb7, 0x3c, 0x5b, 0xaf, 0x68, 0xf7, 0x2a, + 0xe5, 0xfc, 0x10, 0x46, 0x28, 0x53, 0xae, 0x2c, 0x55, 0x2b, 0xe5, 0x7c, 0xe2, 0xd9, 0xff, 0x95, + 0x40, 0xa8, 0x3e, 0xb7, 0x52, 0xe3, 0x84, 0xa3, 0x28, 0x5b, 0x5d, 0xba, 0x57, 0x5c, 0xa8, 0x52, + 0xba, 0x1c, 0x4a, 0x2f, 0xd7, 0x2a, 0x4b, 0xf9, 0x04, 0x1e, 0x41, 0xc3, 0xa5, 0x85, 0xe5, 0x7a, + 0x25, 0x9f, 0xa4, 0x40, 0xad, 0x52, 0x2c, 0xe7, 0x53, 0x14, 0x78, 0x5f, 0xab, 0xae, 0x54, 0xf2, + 0x69, 0xfa, 0xe7, 0x42, 0x7d, 0xa5, 0xb8, 0x92, 0x1f, 0xa6, 0x7f, 0xce, 0xc1, 0x9f, 0x19, 0xca, + 0xac, 0x5e, 0x59, 0x81, 0x1f, 0x59, 0xda, 0x84, 0x39, 0xef, 0x57, 0x8e, 0xa2, 0x28, 0xeb, 0x72, + 0x55, 0xcb, 0x8f, 0xd0, 0x1f, 0x94, 0x25, 0xfd, 0x81, 0x68, 0xe3, 0xb4, 0xca, 0xe2, 0xf2, 0xbd, + 0x4a, 0x7e, 0x94, 0xf2, 0x5a, 0xbc, 0x43, 0xc1, 0x63, 0xf4, 0x4f, 0x6d, 0x91, 0xfe, 0x39, 0x4e, + 0x39, 0x69, 0x95, 0xe2, 0x42, 0xad, 0xb8, 0x32, 0x9f, 0x9f, 0xa0, 0xed, 0x01, 0x9e, 0x93, 0xac, + 0xe4, 0x52, 0x71, 0xb1, 0x92, 0xcf, 0x73, 0x9a, 0xf2, 0x42, 0x75, 0xe9, 0x4e, 0x7e, 0x0a, 0x1a, + 0xf2, 0xce, 0x22, 0xfc, 0xc0, 0xb4, 0x00, 0xfc, 0x75, 0xe6, 0xd9, 0xef, 0x40, 0x19, 0x96, 0x59, + 0x1e, 0x5f, 0x40, 0x67, 0x96, 0xeb, 0x8d, 0x95, 0x77, 0x6a, 0x95, 0xc6, 0xdd, 0xa5, 0x7a, 0xad, + 0x52, 0xaa, 0xce, 0x55, 0x41, 0x54, 0x53, 0x68, 0xdc, 0x43, 0x2c, 0x54, 0x97, 0xee, 0x7e, 0x21, + 0x9f, 0x10, 0x41, 0x8b, 0xc5, 0xd2, 0x72, 0x3d, 0x9f, 0xc4, 0x67, 0xd0, 0xa4, 0x07, 0xba, 0x5f, + 0x5d, 0x2a, 0x2f, 0xdf, 0xaf, 0xe7, 0x53, 0xcf, 0x3e, 0xf4, 0xe2, 0x3a, 0xb3, 0x74, 0xee, 0xf8, + 0x12, 0x7a, 0xa2, 0x5c, 0xb9, 0x57, 0x2d, 0x55, 0x1a, 0xcb, 0x5a, 0xf5, 0x76, 0x75, 0x29, 0x54, + 0xd3, 0x39, 0x34, 0x25, 0xa3, 0x8b, 0xb5, 0x6a, 0x3e, 0x81, 0xcf, 0x23, 0x2c, 0x83, 0xdf, 0x2a, + 0x2e, 0xce, 0xe5, 0x93, 0x58, 0x41, 0x67, 0x65, 0x78, 0x75, 0x69, 0xe5, 0xee, 0x52, 0x25, 0x9f, + 0x7a, 0xf6, 0x6f, 0x24, 0xd0, 0xb9, 0x58, 0x67, 0x78, 0xac, 0xa2, 0xcb, 0x95, 0x85, 0x62, 0x7d, + 0xa5, 0x5a, 0xaa, 0x57, 0x8a, 0x5a, 0x69, 0xbe, 0x51, 0x2a, 0xae, 0x54, 0x6e, 0x2f, 0x6b, 0xef, + 0x34, 0x6e, 0x57, 0x96, 0x2a, 0x5a, 0x71, 0x21, 0x3f, 0x84, 0x9f, 0x41, 0x85, 0x3e, 0x34, 0xf5, + 0x4a, 0xe9, 0xae, 0x56, 0x5d, 0x79, 0x27, 0x9f, 0xc0, 0x4f, 0xa3, 0x4b, 0x7d, 0x89, 0xe8, 0xef, + 0x7c, 0x12, 0x5f, 0x46, 0xd3, 0xfd, 0x48, 0xde, 0x5e, 0xc8, 0xa7, 0x9e, 0xfd, 0x4b, 0x09, 0x84, + 0xa3, 0xde, 0xcc, 0xf8, 0x29, 0x74, 0x91, 0xea, 0x45, 0xa3, 0x7f, 0x03, 0x9f, 0x46, 0x97, 0x62, + 0x29, 0x84, 0xe6, 0x15, 0xd0, 0x93, 0x7d, 0x48, 0x78, 0xe3, 0x2e, 0x22, 0x25, 0x9e, 0x80, 0x36, + 0x6d, 0xb6, 0xfc, 0xc1, 0x7f, 0xbc, 0x3c, 0xf4, 0xc1, 0xef, 0x5c, 0x4e, 0xfc, 0xfa, 0xef, 0x5c, + 0x4e, 0xfc, 0xf6, 0xef, 0x5c, 0x4e, 0x7c, 0xf1, 0xe6, 0x7e, 0x9c, 0xbd, 0xd9, 0xf0, 0x5d, 0xcd, + 0x80, 0x5b, 0xe3, 0x0b, 0xff, 0x3f, 0x00, 0x00, 0xff, 0xff, 0x12, 0xad, 0xe5, 0x6a, 0xa1, 0x19, + 0x01, 0x00, } func (m *Metadata) Marshal() (dAtA []byte, err error) { @@ -14942,6 +15255,79 @@ func (m *UserCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *UserUpdate) 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 *UserUpdate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *UserUpdate) 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.Connector) > 0 { + i -= len(m.Connector) + copy(dAtA[i:], m.Connector) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Connector))) + i-- + dAtA[i] = 0x2a + } + if len(m.Roles) > 0 { + for iNdEx := len(m.Roles) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Roles[iNdEx]) + copy(dAtA[i:], m.Roles[iNdEx]) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Roles[iNdEx]))) + i-- + dAtA[i] = 0x22 + } + } + { + size, err := m.ResourceMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + { + size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + { + size, err := m.Metadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + func (m *UserDelete) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -15077,12 +15463,12 @@ func (m *AccessRequestCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x7a } - n110, err110 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.MaxDuration, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.MaxDuration):]) - if err110 != nil { - return 0, err110 + n113, err113 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.MaxDuration, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.MaxDuration):]) + if err113 != nil { + return 0, err113 } - i -= n110 - i = encodeVarintEvents(dAtA, i, uint64(n110)) + i -= n113 + i = encodeVarintEvents(dAtA, i, uint64(n113)) i-- dAtA[i] = 0x6a if len(m.RequestedResourceIDs) > 0 { @@ -15726,63 +16112,63 @@ func (m *SFTPAttributes) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.XXX_unrecognized) } if m.ModificationTime != nil { - n139, err139 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.ModificationTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.ModificationTime):]) - if err139 != nil { - return 0, err139 - } - i -= n139 - i = encodeVarintEvents(dAtA, i, uint64(n139)) - i-- - dAtA[i] = 0x32 - } - if m.AccessTime != nil { - n140, err140 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.AccessTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.AccessTime):]) - if err140 != nil { - return 0, err140 - } - i -= n140 - i = encodeVarintEvents(dAtA, i, uint64(n140)) - i-- - dAtA[i] = 0x2a - } - if m.Permissions != nil { - n141, err141 := github_com_gogo_protobuf_types.StdUInt32MarshalTo(*m.Permissions, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdUInt32(*m.Permissions):]) - if err141 != nil { - return 0, err141 - } - i -= n141 - i = encodeVarintEvents(dAtA, i, uint64(n141)) - i-- - dAtA[i] = 0x22 - } - if m.GID != nil { - n142, err142 := github_com_gogo_protobuf_types.StdUInt32MarshalTo(*m.GID, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdUInt32(*m.GID):]) + n142, err142 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.ModificationTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.ModificationTime):]) if err142 != nil { return 0, err142 } i -= n142 i = encodeVarintEvents(dAtA, i, uint64(n142)) i-- - dAtA[i] = 0x1a + dAtA[i] = 0x32 } - if m.UID != nil { - n143, err143 := github_com_gogo_protobuf_types.StdUInt32MarshalTo(*m.UID, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdUInt32(*m.UID):]) + if m.AccessTime != nil { + n143, err143 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.AccessTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.AccessTime):]) if err143 != nil { return 0, err143 } i -= n143 i = encodeVarintEvents(dAtA, i, uint64(n143)) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x2a } - if m.FileSize != nil { - n144, err144 := github_com_gogo_protobuf_types.StdUInt64MarshalTo(*m.FileSize, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdUInt64(*m.FileSize):]) + if m.Permissions != nil { + n144, err144 := github_com_gogo_protobuf_types.StdUInt32MarshalTo(*m.Permissions, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdUInt32(*m.Permissions):]) if err144 != nil { return 0, err144 } i -= n144 i = encodeVarintEvents(dAtA, i, uint64(n144)) i-- + dAtA[i] = 0x22 + } + if m.GID != nil { + n145, err145 := github_com_gogo_protobuf_types.StdUInt32MarshalTo(*m.GID, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdUInt32(*m.GID):]) + if err145 != nil { + return 0, err145 + } + i -= n145 + i = encodeVarintEvents(dAtA, i, uint64(n145)) + i-- + dAtA[i] = 0x1a + } + if m.UID != nil { + n146, err146 := github_com_gogo_protobuf_types.StdUInt32MarshalTo(*m.UID, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdUInt32(*m.UID):]) + if err146 != nil { + return 0, err146 + } + i -= n146 + i = encodeVarintEvents(dAtA, i, uint64(n146)) + i-- + dAtA[i] = 0x12 + } + if m.FileSize != nil { + n147, err147 := github_com_gogo_protobuf_types.StdUInt64MarshalTo(*m.FileSize, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdUInt64(*m.FileSize):]) + if err147 != nil { + return 0, err147 + } + i -= n147 + i = encodeVarintEvents(dAtA, i, uint64(n147)) + i-- dAtA[i] = 0xa } return len(dAtA) - i, nil @@ -16241,6 +16627,63 @@ func (m *RoleCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *RoleUpdate) 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 *RoleUpdate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RoleUpdate) 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) + } + { + size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + { + size, err := m.ResourceMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + { + size, err := m.Metadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + func (m *RoleDelete) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -16599,6 +17042,63 @@ func (m *GithubConnectorCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *GithubConnectorUpdate) 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 *GithubConnectorUpdate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *GithubConnectorUpdate) 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) + } + { + size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + { + size, err := m.ResourceMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + { + size, err := m.Metadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + func (m *GithubConnectorDelete) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -16713,6 +17213,63 @@ func (m *OIDCConnectorCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *OIDCConnectorUpdate) 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 *OIDCConnectorUpdate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *OIDCConnectorUpdate) 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) + } + { + size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + { + size, err := m.ResourceMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + { + size, err := m.Metadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + func (m *OIDCConnectorDelete) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -16827,6 +17384,63 @@ func (m *SAMLConnectorCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *SAMLConnectorUpdate) 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 *SAMLConnectorUpdate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *SAMLConnectorUpdate) 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) + } + { + size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + { + size, err := m.ResourceMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + { + size, err := m.Metadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + func (m *SAMLConnectorDelete) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -19398,20 +20012,20 @@ func (m *WindowsDesktopSessionEnd) MarshalToSizedBuffer(dAtA []byte) (int, error i-- dAtA[i] = 0x5a } - n315, err315 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.EndTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.EndTime):]) - if err315 != nil { - return 0, err315 + n330, err330 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.EndTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.EndTime):]) + if err330 != nil { + return 0, err330 } - i -= n315 - i = encodeVarintEvents(dAtA, i, uint64(n315)) + i -= n330 + i = encodeVarintEvents(dAtA, i, uint64(n330)) i-- dAtA[i] = 0x52 - n316, err316 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.StartTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.StartTime):]) - if err316 != nil { - return 0, err316 + n331, err331 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.StartTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.StartTime):]) + if err331 != nil { + return 0, err331 } - i -= n316 - i = encodeVarintEvents(dAtA, i, uint64(n316)) + i -= n331 + i = encodeVarintEvents(dAtA, i, uint64(n331)) i-- dAtA[i] = 0x4a if len(m.DesktopLabels) > 0 { @@ -19701,12 +20315,12 @@ func (m *InstanceJoin) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n327, err327 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.TokenExpires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.TokenExpires):]) - if err327 != nil { - return 0, err327 + n342, err342 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.TokenExpires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.TokenExpires):]) + if err342 != nil { + return 0, err342 } - i -= n327 - i = encodeVarintEvents(dAtA, i, uint64(n327)) + i -= n342 + i = encodeVarintEvents(dAtA, i, uint64(n342)) i-- dAtA[i] = 0x4a if m.Attributes != nil { @@ -23125,6 +23739,121 @@ func (m *OneOf_SecurityReportRun) MarshalToSizedBuffer(dAtA []byte) (int, error) } return len(dAtA) - i, nil } +func (m *OneOf_GithubConnectorUpdate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *OneOf_GithubConnectorUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + if m.GithubConnectorUpdate != nil { + { + size, err := m.GithubConnectorUpdate.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x8 + i-- + dAtA[i] = 0xc2 + } + return len(dAtA) - i, nil +} +func (m *OneOf_OIDCConnectorUpdate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *OneOf_OIDCConnectorUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + if m.OIDCConnectorUpdate != nil { + { + size, err := m.OIDCConnectorUpdate.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x8 + i-- + dAtA[i] = 0xca + } + return len(dAtA) - i, nil +} +func (m *OneOf_SAMLConnectorUpdate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *OneOf_SAMLConnectorUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + if m.SAMLConnectorUpdate != nil { + { + size, err := m.SAMLConnectorUpdate.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x8 + i-- + dAtA[i] = 0xd2 + } + return len(dAtA) - i, nil +} +func (m *OneOf_RoleUpdate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *OneOf_RoleUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + if m.RoleUpdate != nil { + { + size, err := m.RoleUpdate.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x8 + i-- + dAtA[i] = 0xda + } + return len(dAtA) - i, nil +} +func (m *OneOf_UserUpdate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *OneOf_UserUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + if m.UserUpdate != nil { + { + size, err := m.UserUpdate.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x8 + i-- + dAtA[i] = 0xe2 + } + return len(dAtA) - i, nil +} func (m *StreamStatus) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -23149,12 +23878,12 @@ func (m *StreamStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n474, err474 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastUploadTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastUploadTime):]) - if err474 != nil { - return 0, err474 + n494, err494 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastUploadTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastUploadTime):]) + if err494 != nil { + return 0, err494 } - i -= n474 - i = encodeVarintEvents(dAtA, i, uint64(n474)) + i -= n494 + i = encodeVarintEvents(dAtA, i, uint64(n494)) i-- dAtA[i] = 0x1a if m.LastEventIndex != 0 { @@ -23281,12 +24010,12 @@ func (m *Identity) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0xc2 } } - n477, err477 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.PreviousIdentityExpires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.PreviousIdentityExpires):]) - if err477 != nil { - return 0, err477 + n497, err497 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.PreviousIdentityExpires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.PreviousIdentityExpires):]) + if err497 != nil { + return 0, err497 } - i -= n477 - i = encodeVarintEvents(dAtA, i, uint64(n477)) + i -= n497 + i = encodeVarintEvents(dAtA, i, uint64(n497)) i-- dAtA[i] = 0x1 i-- @@ -23434,12 +24163,12 @@ func (m *Identity) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x4a } - n481, err481 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) - if err481 != nil { - return 0, err481 + n501, err501 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) + if err501 != nil { + return 0, err501 } - i -= n481 - i = encodeVarintEvents(dAtA, i, uint64(n481)) + i -= n501 + i = encodeVarintEvents(dAtA, i, uint64(n501)) i-- dAtA[i] = 0x42 if len(m.KubernetesUsers) > 0 { @@ -28891,6 +29620,34 @@ func (m *UserCreate) Size() (n int) { return n } +func (m *UserUpdate) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Metadata.Size() + n += 1 + l + sovEvents(uint64(l)) + l = m.UserMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) + l = m.ResourceMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) + if len(m.Roles) > 0 { + for _, s := range m.Roles { + l = len(s) + n += 1 + l + sovEvents(uint64(l)) + } + } + l = len(m.Connector) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + func (m *UserDelete) Size() (n int) { if m == nil { return 0 @@ -29355,6 +30112,24 @@ func (m *RoleCreate) Size() (n int) { return n } +func (m *RoleUpdate) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Metadata.Size() + n += 1 + l + sovEvents(uint64(l)) + l = m.ResourceMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) + l = m.UserMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + func (m *RoleDelete) Size() (n int) { if m == nil { return 0 @@ -29473,6 +30248,24 @@ func (m *GithubConnectorCreate) Size() (n int) { return n } +func (m *GithubConnectorUpdate) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Metadata.Size() + n += 1 + l + sovEvents(uint64(l)) + l = m.ResourceMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) + l = m.UserMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + func (m *GithubConnectorDelete) Size() (n int) { if m == nil { return 0 @@ -29509,6 +30302,24 @@ func (m *OIDCConnectorCreate) Size() (n int) { return n } +func (m *OIDCConnectorUpdate) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Metadata.Size() + n += 1 + l + sovEvents(uint64(l)) + l = m.ResourceMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) + l = m.UserMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + func (m *OIDCConnectorDelete) Size() (n int) { if m == nil { return 0 @@ -29545,6 +30356,24 @@ func (m *SAMLConnectorCreate) Size() (n int) { return n } +func (m *SAMLConnectorUpdate) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Metadata.Size() + n += 1 + l + sovEvents(uint64(l)) + l = m.ResourceMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) + l = m.UserMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + func (m *SAMLConnectorDelete) Size() (n int) { if m == nil { return 0 @@ -32325,6 +33154,66 @@ func (m *OneOf_SecurityReportRun) Size() (n int) { } return n } +func (m *OneOf_GithubConnectorUpdate) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.GithubConnectorUpdate != nil { + l = m.GithubConnectorUpdate.Size() + n += 2 + l + sovEvents(uint64(l)) + } + return n +} +func (m *OneOf_OIDCConnectorUpdate) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.OIDCConnectorUpdate != nil { + l = m.OIDCConnectorUpdate.Size() + n += 2 + l + sovEvents(uint64(l)) + } + return n +} +func (m *OneOf_SAMLConnectorUpdate) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.SAMLConnectorUpdate != nil { + l = m.SAMLConnectorUpdate.Size() + n += 2 + l + sovEvents(uint64(l)) + } + return n +} +func (m *OneOf_RoleUpdate) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.RoleUpdate != nil { + l = m.RoleUpdate.Size() + n += 2 + l + sovEvents(uint64(l)) + } + return n +} +func (m *OneOf_UserUpdate) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.UserUpdate != nil { + l = m.UserUpdate.Size() + n += 2 + l + sovEvents(uint64(l)) + } + return n +} func (m *StreamStatus) Size() (n int) { if m == nil { return 0 @@ -43524,6 +44413,220 @@ func (m *UserCreate) Unmarshal(dAtA []byte) error { } return nil } +func (m *UserUpdate) 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 ErrIntOverflowEvents + } + 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: UserUpdate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: UserUpdate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Metadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.UserMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ResourceMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ResourceMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Roles", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + 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 ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Roles = append(m.Roles, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Connector", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + 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 ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Connector = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvents(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvents + } + 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 (m *UserDelete) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -47398,6 +48501,156 @@ func (m *RoleCreate) Unmarshal(dAtA []byte) error { } return nil } +func (m *RoleUpdate) 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 ErrIntOverflowEvents + } + 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: RoleUpdate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RoleUpdate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Metadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ResourceMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ResourceMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.UserMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvents(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvents + } + 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 (m *RoleDelete) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -48362,6 +49615,156 @@ func (m *GithubConnectorCreate) Unmarshal(dAtA []byte) error { } return nil } +func (m *GithubConnectorUpdate) 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 ErrIntOverflowEvents + } + 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: GithubConnectorUpdate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GithubConnectorUpdate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Metadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ResourceMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ResourceMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.UserMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvents(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvents + } + 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 (m *GithubConnectorDelete) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -48662,6 +50065,156 @@ func (m *OIDCConnectorCreate) Unmarshal(dAtA []byte) error { } return nil } +func (m *OIDCConnectorUpdate) 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 ErrIntOverflowEvents + } + 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: OIDCConnectorUpdate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: OIDCConnectorUpdate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Metadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ResourceMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ResourceMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.UserMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvents(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvents + } + 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 (m *OIDCConnectorDelete) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -48962,6 +50515,156 @@ func (m *SAMLConnectorCreate) Unmarshal(dAtA []byte) error { } return nil } +func (m *SAMLConnectorUpdate) 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 ErrIntOverflowEvents + } + 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: SAMLConnectorUpdate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SAMLConnectorUpdate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Metadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ResourceMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ResourceMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.UserMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvents(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvents + } + 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 (m *SAMLConnectorDelete) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -63464,6 +65167,181 @@ func (m *OneOf) Unmarshal(dAtA []byte) error { } m.Event = &OneOf_SecurityReportRun{v} iNdEx = postIndex + case 136: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GithubConnectorUpdate", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + v := &GithubConnectorUpdate{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Event = &OneOf_GithubConnectorUpdate{v} + iNdEx = postIndex + case 137: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OIDCConnectorUpdate", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + v := &OIDCConnectorUpdate{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Event = &OneOf_OIDCConnectorUpdate{v} + iNdEx = postIndex + case 138: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SAMLConnectorUpdate", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + v := &SAMLConnectorUpdate{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Event = &OneOf_SAMLConnectorUpdate{v} + iNdEx = postIndex + case 139: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RoleUpdate", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + v := &RoleUpdate{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Event = &OneOf_RoleUpdate{v} + iNdEx = postIndex + case 140: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UserUpdate", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + v := &UserUpdate{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Event = &OneOf_UserUpdate{v} + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) diff --git a/api/types/events/oneof.go b/api/types/events/oneof.go index 7c7434bb8ea..0441a746fcf 100644 --- a/api/types/events/oneof.go +++ b/api/types/events/oneof.go @@ -47,6 +47,10 @@ func ToOneOf(in AuditEvent) (*OneOf, error) { out.Event = &OneOf_UserCreate{ UserCreate: e, } + case *UserUpdate: + out.Event = &OneOf_UserUpdate{ + UserUpdate: e, + } case *UserDelete: out.Event = &OneOf_UserDelete{ UserDelete: e, @@ -139,6 +143,10 @@ func ToOneOf(in AuditEvent) (*OneOf, error) { out.Event = &OneOf_RoleCreate{ RoleCreate: e, } + case *RoleUpdate: + out.Event = &OneOf_RoleUpdate{ + RoleUpdate: e, + } case *RoleDelete: out.Event = &OneOf_RoleDelete{ RoleDelete: e, @@ -167,6 +175,10 @@ func ToOneOf(in AuditEvent) (*OneOf, error) { out.Event = &OneOf_GithubConnectorCreate{ GithubConnectorCreate: e, } + case *GithubConnectorUpdate: + out.Event = &OneOf_GithubConnectorUpdate{ + GithubConnectorUpdate: e, + } case *GithubConnectorDelete: out.Event = &OneOf_GithubConnectorDelete{ GithubConnectorDelete: e, @@ -175,6 +187,10 @@ func ToOneOf(in AuditEvent) (*OneOf, error) { out.Event = &OneOf_OIDCConnectorCreate{ OIDCConnectorCreate: e, } + case *OIDCConnectorUpdate: + out.Event = &OneOf_OIDCConnectorUpdate{ + OIDCConnectorUpdate: e, + } case *OIDCConnectorDelete: out.Event = &OneOf_OIDCConnectorDelete{ OIDCConnectorDelete: e, @@ -183,6 +199,10 @@ func ToOneOf(in AuditEvent) (*OneOf, error) { out.Event = &OneOf_SAMLConnectorCreate{ SAMLConnectorCreate: e, } + case *SAMLConnectorUpdate: + out.Event = &OneOf_SAMLConnectorUpdate{ + SAMLConnectorUpdate: e, + } case *SAMLConnectorDelete: out.Event = &OneOf_SAMLConnectorDelete{ SAMLConnectorDelete: e, diff --git a/lib/auth/access.go b/lib/auth/access.go index d048a6fa6b5..2f1d72ab1df 100644 --- a/lib/auth/access.go +++ b/lib/auth/access.go @@ -59,14 +59,10 @@ func (a *Server) UpdateRole(ctx context.Context, role types.Role) (types.Role, e return nil, trace.Wrap(err) } - // TODO(tross): add a RoleUpdate type, RoleUpdatedEvent/Code for metadata - // and convert this to use them instead of a create event. As is this matches - // existing behavior since all updates to a role were done vie upsert which - // only ever emits a create event. - if err := a.emitter.EmitAuditEvent(a.closeCtx, &apievents.RoleCreate{ + if err := a.emitter.EmitAuditEvent(a.closeCtx, &apievents.RoleUpdate{ Metadata: apievents.Metadata{ - Type: events.RoleCreatedEvent, - Code: events.RoleCreatedCode, + Type: events.RoleUpdatedEvent, + Code: events.RoleUpdatedCode, }, UserMetadata: authz.ClientUserMetadata(ctx), ResourceMetadata: apievents.ResourceMetadata{ diff --git a/lib/auth/access_test.go b/lib/auth/access_test.go index 25187284cad..4043bc790f2 100644 --- a/lib/auth/access_test.go +++ b/lib/auth/access_test.go @@ -45,17 +45,25 @@ func TestUpsertDeleteRoleEventsEmitted(t *testing.T) { require.NoError(t, err) // Creating a role should emit a RoleCreatedEvent. + role, err = p.a.CreateRole(ctx, role) + require.NoError(t, err) + require.Equal(t, p.mockEmitter.LastEvent().GetType(), events.RoleCreatedEvent) + require.Equal(t, p.mockEmitter.LastEvent().(*apievents.RoleCreate).Name, role.GetName()) + p.mockEmitter.Reset() + + // Upserting a role should emit a RoleCreatedEvent. role, err = p.a.UpsertRole(ctx, role) require.NoError(t, err) require.Equal(t, p.mockEmitter.LastEvent().GetType(), events.RoleCreatedEvent) require.Equal(t, p.mockEmitter.LastEvent().(*apievents.RoleCreate).Name, role.GetName()) p.mockEmitter.Reset() - // Updating a role should emit a RoleCreatedEvent. - role, err = p.a.UpsertRole(ctx, role) + // Updating a role should emit a RoleUpdatedEvent. + role.SetLogins(types.Allow, []string{"llama"}) + role, err = p.a.UpdateRole(ctx, role) require.NoError(t, err) - require.Equal(t, p.mockEmitter.LastEvent().GetType(), events.RoleCreatedEvent) - require.Equal(t, p.mockEmitter.LastEvent().(*apievents.RoleCreate).Name, role.GetName()) + require.Equal(t, p.mockEmitter.LastEvent().GetType(), events.RoleUpdatedEvent) + require.Equal(t, p.mockEmitter.LastEvent().(*apievents.RoleUpdate).Name, role.GetName()) p.mockEmitter.Reset() // Deleting a role should emit a RoleDeletedEvent. diff --git a/lib/auth/auth_test.go b/lib/auth/auth_test.go index 930174fd6c3..5bc56a3ebb8 100644 --- a/lib/auth/auth_test.go +++ b/lib/auth/auth_test.go @@ -805,7 +805,7 @@ func TestCreateAndUpdateUserEventsEmitted(t *testing.T) { _, err = s.a.UpdateUser(ctx, user) require.NoError(t, err) require.Equal(t, s.mockEmitter.LastEvent().GetType(), events.UserUpdatedEvent) - require.Equal(t, s.mockEmitter.LastEvent().(*apievents.UserCreate).User, teleport.UserSystem) + require.Equal(t, s.mockEmitter.LastEvent().(*apievents.UserUpdate).User, teleport.UserSystem) } func TestTrustedClusterCRUDEventEmitted(t *testing.T) { @@ -882,8 +882,8 @@ func TestGithubConnectorCRUDEventsEmitted(t *testing.T) { github.SetDisplay("llama") github, err = s.a.updateGithubConnector(ctx, github) require.NoError(t, err) - require.IsType(t, &apievents.GithubConnectorCreate{}, s.mockEmitter.LastEvent()) - require.Equal(t, s.mockEmitter.LastEvent().GetType(), events.GithubConnectorCreatedEvent) + require.IsType(t, &apievents.GithubConnectorUpdate{}, s.mockEmitter.LastEvent()) + require.Equal(t, s.mockEmitter.LastEvent().GetType(), events.GithubConnectorUpdatedEvent) s.mockEmitter.Reset() // test github upsert event @@ -930,8 +930,8 @@ func TestOIDCConnectorCRUDEventsEmitted(t *testing.T) { oidc.SetDisplay("llama") oidc, err = s.a.UpdateOIDCConnector(ctx, oidc) require.NoError(t, err) - require.IsType(t, &apievents.OIDCConnectorCreate{}, s.mockEmitter.LastEvent()) - require.Equal(t, s.mockEmitter.LastEvent().GetType(), events.OIDCConnectorCreatedEvent) + require.IsType(t, &apievents.OIDCConnectorUpdate{}, s.mockEmitter.LastEvent()) + require.Equal(t, s.mockEmitter.LastEvent().GetType(), events.OIDCConnectorUpdatedEvent) s.mockEmitter.Reset() // test oidc upsert event @@ -1002,8 +1002,8 @@ func TestSAMLConnectorCRUDEventsEmitted(t *testing.T) { saml.SetDisplay("llama") saml, err = s.a.UpdateSAMLConnector(ctx, saml) require.NoError(t, err) - require.IsType(t, &apievents.SAMLConnectorCreate{}, s.mockEmitter.LastEvent()) - require.Equal(t, s.mockEmitter.LastEvent().GetType(), events.SAMLConnectorCreatedEvent) + require.IsType(t, &apievents.SAMLConnectorUpdate{}, s.mockEmitter.LastEvent()) + require.Equal(t, s.mockEmitter.LastEvent().GetType(), events.SAMLConnectorUpdatedEvent) s.mockEmitter.Reset() // test saml upsert event diff --git a/lib/auth/auth_with_roles.go b/lib/auth/auth_with_roles.go index 158e95b17f6..2511f77a246 100644 --- a/lib/auth/auth_with_roles.go +++ b/lib/auth/auth_with_roles.go @@ -3411,7 +3411,7 @@ func (a *ServerWithRoles) UpdateUser(ctx context.Context, user types.User) (type return nil, trace.Wrap(err) } - updated, err := a.authServer.UpdateUserWithContext(ctx, user) + updated, err := a.authServer.UpdateUser(ctx, user) return updated, trace.Wrap(err) } diff --git a/lib/auth/github.go b/lib/auth/github.go index 4d306e6809a..e6ca89118d8 100644 --- a/lib/auth/github.go +++ b/lib/auth/github.go @@ -209,14 +209,10 @@ func (a *Server) updateGithubConnector(ctx context.Context, connector types.Gith return nil, trace.Wrap(err) } - // TODO(tross): add a GithubConnectorUpdate type, GithubConnectorUpdatedEvent/Code for metadata - // and convert this to use them instead of a create event. As is this matches - // existing behavior since all updates to a connector were done via upsert which - // only ever emits a create event. - if err := a.emitter.EmitAuditEvent(ctx, &apievents.GithubConnectorCreate{ + if err := a.emitter.EmitAuditEvent(ctx, &apievents.GithubConnectorUpdate{ Metadata: apievents.Metadata{ - Type: events.GithubConnectorCreatedEvent, - Code: events.GithubConnectorCreatedCode, + Type: events.GithubConnectorUpdatedEvent, + Code: events.GithubConnectorUpdatedCode, }, UserMetadata: authz.ClientUserMetadata(ctx), ResourceMetadata: apievents.ResourceMetadata{ diff --git a/lib/auth/oidc.go b/lib/auth/oidc.go index 06e00044607..073b2636eb8 100644 --- a/lib/auth/oidc.go +++ b/lib/auth/oidc.go @@ -63,10 +63,10 @@ func (a *Server) UpdateOIDCConnector(ctx context.Context, connector types.OIDCCo if err != nil { return nil, trace.Wrap(err) } - if err := a.emitter.EmitAuditEvent(ctx, &apievents.OIDCConnectorCreate{ + if err := a.emitter.EmitAuditEvent(ctx, &apievents.OIDCConnectorUpdate{ Metadata: apievents.Metadata{ - Type: events.OIDCConnectorCreatedEvent, - Code: events.OIDCConnectorCreatedCode, + Type: events.OIDCConnectorUpdatedEvent, + Code: events.OIDCConnectorUpdatedCode, }, UserMetadata: authz.ClientUserMetadata(ctx), ResourceMetadata: apievents.ResourceMetadata{ diff --git a/lib/auth/saml.go b/lib/auth/saml.go index d05671e68fa..bdcb892da60 100644 --- a/lib/auth/saml.go +++ b/lib/auth/saml.go @@ -40,7 +40,7 @@ var ErrSAMLRequiresEnterprise = trace.AccessDenied("SAML is only available in Te // SAMLService are the methods that the auth server delegates to a plugin for // implementing the SAML connector. These are the core functions of SAML // authentication - the connector CRUD operations and Get methods are -// implemeneted in auth.Server and provide no connector-specific logic. +// implemented in auth.Server and provide no connector-specific logic. type SAMLService interface { // CreateSAMLAuthRequest creates SAML AuthnRequest CreateSAMLAuthRequest(ctx context.Context, req types.SAMLAuthRequest) (*types.SAMLAuthRequest, error) @@ -87,10 +87,10 @@ func (a *Server) UpdateSAMLConnector(ctx context.Context, connector types.SAMLCo if err != nil { return nil, trace.Wrap(err) } - if err := a.emitter.EmitAuditEvent(ctx, &apievents.SAMLConnectorCreate{ + if err := a.emitter.EmitAuditEvent(ctx, &apievents.SAMLConnectorUpdate{ Metadata: apievents.Metadata{ - Type: events.SAMLConnectorCreatedEvent, - Code: events.SAMLConnectorCreatedCode, + Type: events.SAMLConnectorUpdatedEvent, + Code: events.SAMLConnectorUpdatedCode, }, UserMetadata: authz.ClientUserMetadata(ctx), ResourceMetadata: apievents.ResourceMetadata{ diff --git a/lib/auth/user.go b/lib/auth/user.go index 3bf7b128e71..cf7e03e4e44 100644 --- a/lib/auth/user.go +++ b/lib/auth/user.go @@ -80,12 +80,6 @@ func (s *Server) CreateUser(ctx context.Context, user types.User) (types.User, e // UpdateUser updates an existing user in a backend. func (s *Server) UpdateUser(ctx context.Context, user types.User) (types.User, error) { - updated, err := s.UpdateUserWithContext(ctx, user) - return updated, trace.Wrap(err) -} - -// UpdateUserWithContext updates an existing user in a backend. -func (s *Server) UpdateUserWithContext(ctx context.Context, user types.User) (types.User, error) { prevUser, err := s.GetUser(ctx, user.GetName(), false) var omitEditorEvent bool if err != nil { @@ -106,7 +100,7 @@ func (s *Server) UpdateUserWithContext(ctx context.Context, user types.User) (ty connectorName = updated.GetCreatedBy().Connector.ID } - if err := s.emitter.EmitAuditEvent(ctx, &apievents.UserCreate{ + if err := s.emitter.EmitAuditEvent(ctx, &apievents.UserUpdate{ Metadata: apievents.Metadata{ Type: events.UserUpdatedEvent, Code: events.UserUpdateCode, @@ -199,7 +193,7 @@ func (s *Server) CompareAndSwapUser(ctx context.Context, new, existing types.Use connectorName = new.GetCreatedBy().Connector.ID } - if err := s.emitter.EmitAuditEvent(ctx, &apievents.UserCreate{ + if err := s.emitter.EmitAuditEvent(ctx, &apievents.UserUpdate{ Metadata: apievents.Metadata{ Type: events.UserUpdatedEvent, Code: events.UserUpdateCode, @@ -220,7 +214,7 @@ func (s *Server) CompareAndSwapUser(ctx context.Context, new, existing types.Use return nil } -// DeleteUser deletes an existng user in a backend by username. +// DeleteUser deletes an existing user in a backend by username. func (s *Server) DeleteUser(ctx context.Context, user string) error { prevUser, err := s.GetUser(ctx, user, false) var omitEditorEvent bool diff --git a/lib/events/api.go b/lib/events/api.go index ab427274f9a..b1c9cdb8c32 100644 --- a/lib/events/api.go +++ b/lib/events/api.go @@ -342,8 +342,10 @@ const ( // TCPVersion is the version of TCP (4 or 6). TCPVersion = "version" - // RoleCreatedEvent fires when role is created/updated. + // RoleCreatedEvent fires when role is created or upserted. RoleCreatedEvent = "role.created" + // RoleUpdatedEvent fires when role is updated. + RoleUpdatedEvent = "role.updated" // RoleDeletedEvent fires when role is deleted. RoleDeletedEvent = "role.deleted" @@ -360,24 +362,30 @@ const ( // also known as Join Token. See [types.ProvisionToken]. ProvisionTokenCreateEvent = "join_token.create" - // GithubConnectorCreatedEvent fires when a Github connector is created/updated. + // GithubConnectorCreatedEvent fires when a Github connector is created. GithubConnectorCreatedEvent = "github.created" + // GithubConnectorUpdatedEvent fires when a Github connector is updated. + GithubConnectorUpdatedEvent = "github.updated" // GithubConnectorDeletedEvent fires when a Github connector is deleted. GithubConnectorDeletedEvent = "github.deleted" - // OIDCConnectorCreatedEvent fires when OIDC connector is created/updated. + // OIDCConnectorCreatedEvent fires when OIDC connector is created. OIDCConnectorCreatedEvent = "oidc.created" + // OIDCConnectorUpdatedEvent fires when OIDC connector is updated. + OIDCConnectorUpdatedEvent = "oidc.updated" // OIDCConnectorDeletedEvent fires when OIDC connector is deleted. OIDCConnectorDeletedEvent = "oidc.deleted" - // SAMLConnectorCreatedEvent fires when SAML connector is created/updated. + // SAMLConnectorCreatedEvent fires when SAML connector is created. SAMLConnectorCreatedEvent = "saml.created" + // SAMLConnectorUpdatedEvent fires when SAML connector is updated. + SAMLConnectorUpdatedEvent = "saml.updated" // SAMLConnectorDeletedEvent fires when SAML connector is deleted. SAMLConnectorDeletedEvent = "saml.deleted" - // SessionRejected fires when a user's attempt to create an authenticated + // SessionRejectedEvent fires when a user's attempt to create an authenticated // session has been rejected due to exceeding a session control limit. SessionRejectedEvent = "session.rejected" - // SessionConnect is emitted when any ssh connection is made + // SessionConnectEvent is emitted when any ssh connection is made SessionConnectEvent = "session.connect" // AppCreateEvent is emitted when an application resource is created. diff --git a/lib/events/codes.go b/lib/events/codes.go index 587e13cf2f8..5a77c36e36f 100644 --- a/lib/events/codes.go +++ b/lib/events/codes.go @@ -371,21 +371,29 @@ const ( GithubConnectorCreatedCode = "T8000I" // GithubConnectorDeletedCode is the Github connector deleted event code. GithubConnectorDeletedCode = "T8001I" + // GithubConnectorUpdatedCode is the Github connector updated event code. + GithubConnectorUpdatedCode = "T80002I" // OIDCConnectorCreatedCode is the OIDC connector created event code. OIDCConnectorCreatedCode = "T8100I" // OIDCConnectorDeletedCode is the OIDC connector deleted event code. OIDCConnectorDeletedCode = "T8101I" + // OIDCConnectorUpdatedCode is the OIDC connector updated event code. + OIDCConnectorUpdatedCode = "T8102I" // SAMLConnectorCreatedCode is the SAML connector created event code. SAMLConnectorCreatedCode = "T8200I" // SAMLConnectorDeletedCode is the SAML connector deleted event code. SAMLConnectorDeletedCode = "T8201I" + // SAMLConnectorUpdatedCode is the SAML connector updated event code. + SAMLConnectorUpdatedCode = "T8202I" // RoleCreatedCode is the role created event code. RoleCreatedCode = "T9000I" // RoleDeletedCode is the role deleted event code. RoleDeletedCode = "T9001I" + // RoleUpdatedCode is the role created event code. + RoleUpdatedCode = "T9002I" // BotJoinCode is the 'bot.join' event code. BotJoinCode = "TJ001I" diff --git a/lib/events/dynamic.go b/lib/events/dynamic.go index 6b2fd0a029d..c73278f377f 100644 --- a/lib/events/dynamic.go +++ b/lib/events/dynamic.go @@ -74,9 +74,7 @@ func FromEventFields(fields EventFields) (events.AuditEvent, error) { case UserCreateEvent: e = &events.UserCreate{} case UserUpdatedEvent: - // note: user.update is a custom code applied on top of the same data as the user.create event - // and they are thus functionally identical. There exists no direct gRPC version of user.update. - e = &events.UserCreate{} + e = &events.UserUpdate{} case UserPasswordChangeEvent: e = &events.UserPasswordChange{} case AccessRequestCreateEvent: @@ -121,6 +119,8 @@ func FromEventFields(fields EventFields) (events.AuditEvent, error) { e = &events.SessionNetwork{} case RoleCreatedEvent: e = &events.RoleCreate{} + case RoleUpdatedEvent: + e = &events.RoleUpdate{} case RoleDeletedEvent: e = &events.RoleDelete{} case TrustedClusterCreateEvent: @@ -135,14 +135,20 @@ func FromEventFields(fields EventFields) (events.AuditEvent, error) { e = &events.ProvisionTokenCreate{} case GithubConnectorCreatedEvent: e = &events.GithubConnectorCreate{} + case GithubConnectorUpdatedEvent: + e = &events.GithubConnectorUpdate{} case GithubConnectorDeletedEvent: e = &events.GithubConnectorDelete{} case OIDCConnectorCreatedEvent: e = &events.OIDCConnectorCreate{} + case OIDCConnectorUpdatedEvent: + e = &events.OIDCConnectorUpdate{} case OIDCConnectorDeletedEvent: e = &events.OIDCConnectorDelete{} case SAMLConnectorCreatedEvent: e = &events.SAMLConnectorCreate{} + case SAMLConnectorUpdatedEvent: + e = &events.SAMLConnectorUpdate{} case SAMLConnectorDeletedEvent: e = &events.SAMLConnectorDelete{} case SessionRejectedEvent: diff --git a/web/packages/teleport/src/Audit/EventList/EventTypeCell.tsx b/web/packages/teleport/src/Audit/EventList/EventTypeCell.tsx index cea2822ed60..7c74edb3b89 100644 --- a/web/packages/teleport/src/Audit/EventList/EventTypeCell.tsx +++ b/web/packages/teleport/src/Audit/EventList/EventTypeCell.tsx @@ -32,13 +32,17 @@ const EventIconMap: Record = { [eventCodes.PROVISION_TOKEN_CREATED]: Icons.Info, [eventCodes.GITHUB_CONNECTOR_CREATED]: Icons.Info, [eventCodes.GITHUB_CONNECTOR_DELETED]: Icons.Info, + [eventCodes.GITHUB_CONNECTOR_UPDATED]: Icons.Info, [eventCodes.OIDC_CONNECTOR_CREATED]: Icons.Info, [eventCodes.OIDC_CONNECTOR_DELETED]: Icons.Info, + [eventCodes.OIDC_CONNECTOR_UPDATED]: Icons.Info, [eventCodes.SAML_CONNECTOR_CREATED]: Icons.Info, [eventCodes.SAML_CONNECTOR_CREATED]: Icons.Info, [eventCodes.SAML_CONNECTOR_DELETED]: Icons.Info, + [eventCodes.SAML_CONNECTOR_UPDATED]: Icons.Info, [eventCodes.ROLE_CREATED]: Icons.Info, [eventCodes.ROLE_DELETED]: Icons.Info, + [eventCodes.ROLE_UPDATED]: Icons.Info, [eventCodes.SCP_DOWNLOAD_FAILURE]: Icons.Download, [eventCodes.SCP_DOWNLOAD]: Icons.Download, [eventCodes.SCP_UPLOAD_FAILURE]: Icons.Upload, diff --git a/web/packages/teleport/src/Audit/__snapshots__/Audit.story.test.tsx.snap b/web/packages/teleport/src/Audit/__snapshots__/Audit.story.test.tsx.snap index a051f5f72d5..c89d34a4393 100644 --- a/web/packages/teleport/src/Audit/__snapshots__/Audit.story.test.tsx.snap +++ b/web/packages/teleport/src/Audit/__snapshots__/Audit.story.test.tsx.snap @@ -437,12 +437,12 @@ exports[`list of all events 1`] = ` - - 218 + 224 of - 218 + 224 + + + + +
+ + + + + + + + SAML Connector Deleted +
+ + + User [unimplemented] deleted SAML connector [new_saml_connector] + + + 2020-06-05T19:29:14Z + + + + + + + +
+ + + + + + + + SAML Connector Created +
+ + + User [unimplemented] created SAML connector [new_saml_connector] + + + 2020-06-05T19:29:14Z + + + + + + + +
+ + + + + + + + OIDC Auth Connector Updated +
+ + + User [unimplemented] updated OIDC connector [new_oidc_connector] + + + 2020-06-05T19:29:14Z + + + + + + + +
+ + + + + + + + OIDC Auth Connector Deleted +
+ + + User [unimplemented] deleted OIDC connector [new_oidc_connector] + + + 2020-06-05T19:29:14Z + + + + + + + +
+ + + + + + + + GITHUB Auth Connector Updated +
+ + + User [unimplemented] updated GitHub connector [new_github_connector] + + + 2020-06-05T19:28:28Z + + + + + - User [unimplemented] created GitHub connector [new_github_connector] has been created + User [unimplemented] created GitHub connector [new_github_connector] - - 5 + 8 of - 5 + 8 @@ -12567,6 +12891,168 @@ exports[`loaded audit log screen 1`] = ` + + +
+ + + + + + + + User Role Deleted +
+ + + User [moe] deleted a role [editor] + + + 2023-10-26T22:10:50.076Z + + + + + + + +
+ + + + + + + + User Role Updated +
+ + + User [larry] updated a role [editor] + + + 2023-10-26T22:09:23.29Z + + + + + + + +
+ + + + + + + + User Role Created +
+ + + User [system] created a role [editor] + + + 2023-10-26T16:08:43.426Z + + + + + - `User [${user}] created GitHub connector [${name}] has been created`, + `User [${user}] created GitHub connector [${name}]`, }, [eventCodes.GITHUB_CONNECTOR_DELETED]: { type: 'github.deleted', @@ -193,6 +193,12 @@ export const formatters: Formatters = { format: ({ user, name }) => `User [${user}] deleted GitHub connector [${name}]`, }, + [eventCodes.GITHUB_CONNECTOR_UPDATED]: { + type: 'github.updated', + desc: 'GITHUB Auth Connector Updated', + format: ({ user, name }) => + `User [${user}] updated GitHub connector [${name}]`, + }, [eventCodes.OIDC_CONNECTOR_CREATED]: { type: 'oidc.created', desc: 'OIDC Auth Connector Created', @@ -205,6 +211,12 @@ export const formatters: Formatters = { format: ({ user, name }) => `User [${user}] deleted OIDC connector [${name}]`, }, + [eventCodes.OIDC_CONNECTOR_UPDATED]: { + type: 'oidc.updated', + desc: 'OIDC Auth Connector Updated', + format: ({ user, name }) => + `User [${user}] updated OIDC connector [${name}]`, + }, [eventCodes.PORTFORWARD]: { type: 'port', desc: 'Port Forwarding Started', @@ -228,6 +240,12 @@ export const formatters: Formatters = { format: ({ user, name }) => `User [${user}] deleted SAML connector [${name}]`, }, + [eventCodes.SAML_CONNECTOR_UPDATED]: { + type: 'saml.updated', + desc: 'SAML Connector Updated', + format: ({ user, name }) => + `User [${user}] updated SAML connector [${name}]`, + }, [eventCodes.SCP_DOWNLOAD]: { type: 'scp', desc: 'SCP Download', @@ -731,6 +749,11 @@ export const formatters: Formatters = { desc: 'User Role Deleted', format: ({ user, name }) => `User [${user}] deleted a role [${name}]`, }, + [eventCodes.ROLE_UPDATED]: { + type: 'role.updated', + desc: 'User Role Updated', + format: ({ user, name }) => `User [${user}] updated a role [${name}]`, + }, [eventCodes.TRUSTED_CLUSTER_TOKEN_CREATED]: { type: 'trusted_cluster_token.create', desc: 'Trusted Cluster Token Created', diff --git a/web/packages/teleport/src/services/audit/types.ts b/web/packages/teleport/src/services/audit/types.ts index 6cde8d61fe3..9a51a267cf2 100644 --- a/web/packages/teleport/src/services/audit/types.ts +++ b/web/packages/teleport/src/services/audit/types.ts @@ -120,6 +120,7 @@ export const eventCodes = { EXEC: 'T3002I', GITHUB_CONNECTOR_CREATED: 'T8000I', GITHUB_CONNECTOR_DELETED: 'T8001I', + GITHUB_CONNECTOR_UPDATED: 'T8002I', KUBE_REQUEST: 'T3009I', KUBE_CREATED: 'T3010I', KUBE_UPDATED: 'T3011I', @@ -130,6 +131,7 @@ export const eventCodes = { MFA_DEVICE_DELETE: 'T1007I', OIDC_CONNECTOR_CREATED: 'T8100I', OIDC_CONNECTOR_DELETED: 'T8101I', + OIDC_CONNECTOR_UPDATED: 'T8102I', PORTFORWARD_FAILURE: 'T3003E', PORTFORWARD: 'T3003I', RECOVERY_TOKEN_CREATED: 'T6001I', @@ -140,8 +142,10 @@ export const eventCodes = { RESET_PASSWORD_TOKEN_CREATED: 'T6000I', ROLE_CREATED: 'T9000I', ROLE_DELETED: 'T9001I', + ROLE_UPDATED: 'T9002I', SAML_CONNECTOR_CREATED: 'T8200I', SAML_CONNECTOR_DELETED: 'T8201I', + SAML_CONNECTOR_UPDATED: 'T8202I', SCP_DOWNLOAD_FAILURE: 'T3004E', SCP_DOWNLOAD: 'T3004I', SCP_UPLOAD_FAILURE: 'T3005E', @@ -337,12 +341,18 @@ export type RawEvents = { [eventCodes.GITHUB_CONNECTOR_DELETED]: RawEventConnector< typeof eventCodes.GITHUB_CONNECTOR_DELETED >; + [eventCodes.GITHUB_CONNECTOR_UPDATED]: RawEventConnector< + typeof eventCodes.GITHUB_CONNECTOR_UPDATED + >; [eventCodes.OIDC_CONNECTOR_CREATED]: RawEventConnector< typeof eventCodes.OIDC_CONNECTOR_CREATED >; [eventCodes.OIDC_CONNECTOR_DELETED]: RawEventConnector< typeof eventCodes.OIDC_CONNECTOR_DELETED >; + [eventCodes.OIDC_CONNECTOR_UPDATED]: RawEventConnector< + typeof eventCodes.OIDC_CONNECTOR_UPDATED + >; [eventCodes.PORTFORWARD]: RawEvent; [eventCodes.PORTFORWARD_FAILURE]: RawEvent< typeof eventCodes.PORTFORWARD_FAILURE, @@ -356,6 +366,9 @@ export type RawEvents = { [eventCodes.SAML_CONNECTOR_DELETED]: RawEventConnector< typeof eventCodes.SAML_CONNECTOR_DELETED >; + [eventCodes.SAML_CONNECTOR_UPDATED]: RawEventConnector< + typeof eventCodes.SAML_CONNECTOR_UPDATED + >; [eventCodes.SCP_DOWNLOAD]: RawEvent< typeof eventCodes.SCP_DOWNLOAD, { @@ -617,6 +630,7 @@ export type RawEvents = { >; [eventCodes.ROLE_CREATED]: RawEvent; [eventCodes.ROLE_DELETED]: RawEvent; + [eventCodes.ROLE_UPDATED]: RawEvent; [eventCodes.TRUSTED_CLUSTER_TOKEN_CREATED]: RawEvent< typeof eventCodes.TRUSTED_CLUSTER_TOKEN_CREATED >;