From aec088dc19e61f71046587bffa170d0dce243107 Mon Sep 17 00:00:00 2001 From: Isaiah Becker-Mayer Date: Mon, 17 Jun 2024 15:59:29 -0500 Subject: [PATCH] Adds `tctl desktop bootstrap`, updates docs. (#42161) * Removes Desktop discovery flow from the frontend, marks the relevant backend endpoints deprecated * removes documentation that references desktop discover flow * Deletes web/packages/teleport/src/Discover/Desktop * Adds `tctl desktop bootstrap` * final touchups on configure-ad.ps1 * Updates docs for tctl desktop bootstrap * active-directory-manual to active-directory * fixes storybook snapshot test borked from merge * reduces final output of powershell script to just the ldap section rather than an entire config * checks out master docs/config.json, updates with redirect * Adds description to CreateCertificateBlob and changes to BLOB * linter --- CHANGELOG.md | 6 +- api/client/client.go | 8 + api/client/proto/authservice.pb.go | 2199 +++++++++-------- .../legacy/client/proto/authservice.proto | 8 + docs/config.json | 9 +- ...ectory-manual.mdx => active-directory.mdx} | 65 +- docs/pages/desktop-access/introduction.mdx | 2 +- docs/pages/desktop-access/troubleshooting.mdx | 10 +- lib/auth/auth_with_roles.go | 5 + lib/auth/desktop.go | 55 + lib/auth/grpcserver.go | 10 + lib/auth/windows/configure-ad.ps1 | 250 ++ lib/utils/certs.go | 29 + lib/web/databases.go | 3 +- lib/web/desktop.go | 24 +- tool/tctl/common/desktop_command.go | 20 +- .../SelectResource.story.test.tsx.snap | 4 +- .../src/Discover/SelectResource/resources.tsx | 2 +- web/packages/teleport/src/ironrdp/src/lib.rs | 2 +- 19 files changed, 1666 insertions(+), 1045 deletions(-) rename docs/pages/desktop-access/{active-directory-manual.mdx => active-directory.mdx} (92%) create mode 100644 lib/auth/windows/configure-ad.ps1 diff --git a/CHANGELOG.md b/CHANGELOG.md index d531bf13f1864..4ec0f570c7b9d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1036,9 +1036,9 @@ Remote Desktop Services > Remote Desktop Session Host, enable: designed for Windows Server 2008 R2 SP1 1. Remote Session Environment > Limit maximum color depth -Detailed instructions are available in the [setup -guide](docs/pages/desktop-access/active-directory-manual.mdx#enable-remotefx). A -reboot may be required for these changes to take effect. +Detailed instructions are available in the +[setup guide](docs/pages/desktop-access/active-directory.mdx#enable-remotefx). +A reboot may be required for these changes to take effect. #### `tsh ssh` diff --git a/api/client/client.go b/api/client/client.go index 932d4e1db2044..22f8e31005413 100644 --- a/api/client/client.go +++ b/api/client/client.go @@ -3442,6 +3442,14 @@ func (c *Client) DeleteAllWindowsDesktopServices(ctx context.Context) error { return nil } +func (c *Client) GetDesktopBootstrapScript(ctx context.Context) (string, error) { + resp, err := c.grpc.GetDesktopBootstrapScript(ctx, &emptypb.Empty{}) + if err != nil { + return "", trace.Wrap(err) + } + return resp.GetScript(), nil +} + // GetWindowsDesktops returns all registered windows desktop hosts. func (c *Client) GetWindowsDesktops(ctx context.Context, filter types.WindowsDesktopFilter) ([]types.WindowsDesktop, error) { resp, err := c.grpc.GetWindowsDesktops(ctx, &filter) diff --git a/api/client/proto/authservice.pb.go b/api/client/proto/authservice.pb.go index e8bd8c793cc3b..d595b4096b00e 100644 --- a/api/client/proto/authservice.pb.go +++ b/api/client/proto/authservice.pb.go @@ -8569,6 +8569,55 @@ func (m *WindowsDesktopCertResponse) GetCert() []byte { return nil } +// Response message for GetDesktopBootstrapScript. +type DesktopBootstrapScriptResponse struct { + // The PowerShell script content. + Script string `protobuf:"bytes,1,opt,name=Script,proto3" json:"script"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DesktopBootstrapScriptResponse) Reset() { *m = DesktopBootstrapScriptResponse{} } +func (m *DesktopBootstrapScriptResponse) String() string { return proto.CompactTextString(m) } +func (*DesktopBootstrapScriptResponse) ProtoMessage() {} +func (*DesktopBootstrapScriptResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_0ffcffcda38ae159, []int{127} +} +func (m *DesktopBootstrapScriptResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *DesktopBootstrapScriptResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_DesktopBootstrapScriptResponse.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 *DesktopBootstrapScriptResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_DesktopBootstrapScriptResponse.Merge(m, src) +} +func (m *DesktopBootstrapScriptResponse) XXX_Size() int { + return m.Size() +} +func (m *DesktopBootstrapScriptResponse) XXX_DiscardUnknown() { + xxx_messageInfo_DesktopBootstrapScriptResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_DesktopBootstrapScriptResponse proto.InternalMessageInfo + +func (m *DesktopBootstrapScriptResponse) GetScript() string { + if m != nil { + return m.Script + } + return "" +} + // ListSAMLIdPServiceProvidersRequest is a request for a paginated list of SAML IdP service providers. type ListSAMLIdPServiceProvidersRequest struct { // Limit is the maximum amount of resources to retrieve. @@ -8584,7 +8633,7 @@ func (m *ListSAMLIdPServiceProvidersRequest) Reset() { *m = ListSAMLIdPS func (m *ListSAMLIdPServiceProvidersRequest) String() string { return proto.CompactTextString(m) } func (*ListSAMLIdPServiceProvidersRequest) ProtoMessage() {} func (*ListSAMLIdPServiceProvidersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{127} + return fileDescriptor_0ffcffcda38ae159, []int{128} } func (m *ListSAMLIdPServiceProvidersRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8644,7 +8693,7 @@ func (m *ListSAMLIdPServiceProvidersResponse) Reset() { *m = ListSAMLIdP func (m *ListSAMLIdPServiceProvidersResponse) String() string { return proto.CompactTextString(m) } func (*ListSAMLIdPServiceProvidersResponse) ProtoMessage() {} func (*ListSAMLIdPServiceProvidersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{128} + return fileDescriptor_0ffcffcda38ae159, []int{129} } func (m *ListSAMLIdPServiceProvidersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8707,7 +8756,7 @@ func (m *GetSAMLIdPServiceProviderRequest) Reset() { *m = GetSAMLIdPServ func (m *GetSAMLIdPServiceProviderRequest) String() string { return proto.CompactTextString(m) } func (*GetSAMLIdPServiceProviderRequest) ProtoMessage() {} func (*GetSAMLIdPServiceProviderRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{129} + return fileDescriptor_0ffcffcda38ae159, []int{130} } func (m *GetSAMLIdPServiceProviderRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8756,7 +8805,7 @@ func (m *DeleteSAMLIdPServiceProviderRequest) Reset() { *m = DeleteSAMLI func (m *DeleteSAMLIdPServiceProviderRequest) String() string { return proto.CompactTextString(m) } func (*DeleteSAMLIdPServiceProviderRequest) ProtoMessage() {} func (*DeleteSAMLIdPServiceProviderRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{130} + return fileDescriptor_0ffcffcda38ae159, []int{131} } func (m *DeleteSAMLIdPServiceProviderRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8807,7 +8856,7 @@ func (m *ListUserGroupsRequest) Reset() { *m = ListUserGroupsRequest{} } func (m *ListUserGroupsRequest) String() string { return proto.CompactTextString(m) } func (*ListUserGroupsRequest) ProtoMessage() {} func (*ListUserGroupsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{131} + return fileDescriptor_0ffcffcda38ae159, []int{132} } func (m *ListUserGroupsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8867,7 +8916,7 @@ func (m *ListUserGroupsResponse) Reset() { *m = ListUserGroupsResponse{} func (m *ListUserGroupsResponse) String() string { return proto.CompactTextString(m) } func (*ListUserGroupsResponse) ProtoMessage() {} func (*ListUserGroupsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{132} + return fileDescriptor_0ffcffcda38ae159, []int{133} } func (m *ListUserGroupsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8930,7 +8979,7 @@ func (m *GetUserGroupRequest) Reset() { *m = GetUserGroupRequest{} } func (m *GetUserGroupRequest) String() string { return proto.CompactTextString(m) } func (*GetUserGroupRequest) ProtoMessage() {} func (*GetUserGroupRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{133} + return fileDescriptor_0ffcffcda38ae159, []int{134} } func (m *GetUserGroupRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8979,7 +9028,7 @@ func (m *DeleteUserGroupRequest) Reset() { *m = DeleteUserGroupRequest{} func (m *DeleteUserGroupRequest) String() string { return proto.CompactTextString(m) } func (*DeleteUserGroupRequest) ProtoMessage() {} func (*DeleteUserGroupRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{134} + return fileDescriptor_0ffcffcda38ae159, []int{135} } func (m *DeleteUserGroupRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9028,7 +9077,7 @@ func (m *CertAuthorityRequest) Reset() { *m = CertAuthorityRequest{} } func (m *CertAuthorityRequest) String() string { return proto.CompactTextString(m) } func (*CertAuthorityRequest) ProtoMessage() {} func (*CertAuthorityRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{135} + return fileDescriptor_0ffcffcda38ae159, []int{136} } func (m *CertAuthorityRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9077,7 +9126,7 @@ func (m *CRL) Reset() { *m = CRL{} } func (m *CRL) String() string { return proto.CompactTextString(m) } func (*CRL) ProtoMessage() {} func (*CRL) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{136} + return fileDescriptor_0ffcffcda38ae159, []int{137} } func (m *CRL) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9147,7 +9196,7 @@ func (m *ChangeUserAuthenticationRequest) Reset() { *m = ChangeUserAuthe func (m *ChangeUserAuthenticationRequest) String() string { return proto.CompactTextString(m) } func (*ChangeUserAuthenticationRequest) ProtoMessage() {} func (*ChangeUserAuthenticationRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{137} + return fileDescriptor_0ffcffcda38ae159, []int{138} } func (m *ChangeUserAuthenticationRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9233,7 +9282,7 @@ func (m *ChangeUserAuthenticationResponse) Reset() { *m = ChangeUserAuth func (m *ChangeUserAuthenticationResponse) String() string { return proto.CompactTextString(m) } func (*ChangeUserAuthenticationResponse) ProtoMessage() {} func (*ChangeUserAuthenticationResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{138} + return fileDescriptor_0ffcffcda38ae159, []int{139} } func (m *ChangeUserAuthenticationResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9306,7 +9355,7 @@ func (m *StartAccountRecoveryRequest) Reset() { *m = StartAccountRecover func (m *StartAccountRecoveryRequest) String() string { return proto.CompactTextString(m) } func (*StartAccountRecoveryRequest) ProtoMessage() {} func (*StartAccountRecoveryRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{139} + return fileDescriptor_0ffcffcda38ae159, []int{140} } func (m *StartAccountRecoveryRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9381,7 +9430,7 @@ func (m *VerifyAccountRecoveryRequest) Reset() { *m = VerifyAccountRecov func (m *VerifyAccountRecoveryRequest) String() string { return proto.CompactTextString(m) } func (*VerifyAccountRecoveryRequest) ProtoMessage() {} func (*VerifyAccountRecoveryRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{140} + return fileDescriptor_0ffcffcda38ae159, []int{141} } func (m *VerifyAccountRecoveryRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9496,7 +9545,7 @@ func (m *CompleteAccountRecoveryRequest) Reset() { *m = CompleteAccountR func (m *CompleteAccountRecoveryRequest) String() string { return proto.CompactTextString(m) } func (*CompleteAccountRecoveryRequest) ProtoMessage() {} func (*CompleteAccountRecoveryRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{141} + return fileDescriptor_0ffcffcda38ae159, []int{142} } func (m *CompleteAccountRecoveryRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9602,7 +9651,7 @@ func (m *RecoveryCodes) Reset() { *m = RecoveryCodes{} } func (m *RecoveryCodes) String() string { return proto.CompactTextString(m) } func (*RecoveryCodes) ProtoMessage() {} func (*RecoveryCodes) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{142} + return fileDescriptor_0ffcffcda38ae159, []int{143} } func (m *RecoveryCodes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9665,7 +9714,7 @@ func (m *CreateAccountRecoveryCodesRequest) Reset() { *m = CreateAccount func (m *CreateAccountRecoveryCodesRequest) String() string { return proto.CompactTextString(m) } func (*CreateAccountRecoveryCodesRequest) ProtoMessage() {} func (*CreateAccountRecoveryCodesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{143} + return fileDescriptor_0ffcffcda38ae159, []int{144} } func (m *CreateAccountRecoveryCodesRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9716,7 +9765,7 @@ func (m *GetAccountRecoveryTokenRequest) Reset() { *m = GetAccountRecove func (m *GetAccountRecoveryTokenRequest) String() string { return proto.CompactTextString(m) } func (*GetAccountRecoveryTokenRequest) ProtoMessage() {} func (*GetAccountRecoveryTokenRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{144} + return fileDescriptor_0ffcffcda38ae159, []int{145} } func (m *GetAccountRecoveryTokenRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9764,7 +9813,7 @@ func (m *GetAccountRecoveryCodesRequest) Reset() { *m = GetAccountRecove func (m *GetAccountRecoveryCodesRequest) String() string { return proto.CompactTextString(m) } func (*GetAccountRecoveryCodesRequest) ProtoMessage() {} func (*GetAccountRecoveryCodesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{145} + return fileDescriptor_0ffcffcda38ae159, []int{146} } func (m *GetAccountRecoveryCodesRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9806,7 +9855,7 @@ func (m *UserCredentials) Reset() { *m = UserCredentials{} } func (m *UserCredentials) String() string { return proto.CompactTextString(m) } func (*UserCredentials) ProtoMessage() {} func (*UserCredentials) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{146} + return fileDescriptor_0ffcffcda38ae159, []int{147} } func (m *UserCredentials) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9860,7 +9909,7 @@ func (m *ContextUser) Reset() { *m = ContextUser{} } func (m *ContextUser) String() string { return proto.CompactTextString(m) } func (*ContextUser) ProtoMessage() {} func (*ContextUser) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{147} + return fileDescriptor_0ffcffcda38ae159, []int{148} } func (m *ContextUser) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9900,7 +9949,7 @@ func (m *Passwordless) Reset() { *m = Passwordless{} } func (m *Passwordless) String() string { return proto.CompactTextString(m) } func (*Passwordless) ProtoMessage() {} func (*Passwordless) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{148} + return fileDescriptor_0ffcffcda38ae159, []int{149} } func (m *Passwordless) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9964,7 +10013,7 @@ func (m *CreateAuthenticateChallengeRequest) Reset() { *m = CreateAuthen func (m *CreateAuthenticateChallengeRequest) String() string { return proto.CompactTextString(m) } func (*CreateAuthenticateChallengeRequest) ProtoMessage() {} func (*CreateAuthenticateChallengeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{149} + return fileDescriptor_0ffcffcda38ae159, []int{150} } func (m *CreateAuthenticateChallengeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10098,7 +10147,7 @@ func (m *CreatePrivilegeTokenRequest) Reset() { *m = CreatePrivilegeToke func (m *CreatePrivilegeTokenRequest) String() string { return proto.CompactTextString(m) } func (*CreatePrivilegeTokenRequest) ProtoMessage() {} func (*CreatePrivilegeTokenRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{150} + return fileDescriptor_0ffcffcda38ae159, []int{151} } func (m *CreatePrivilegeTokenRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10167,7 +10216,7 @@ func (m *CreateRegisterChallengeRequest) Reset() { *m = CreateRegisterCh func (m *CreateRegisterChallengeRequest) String() string { return proto.CompactTextString(m) } func (*CreateRegisterChallengeRequest) ProtoMessage() {} func (*CreateRegisterChallengeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{151} + return fileDescriptor_0ffcffcda38ae159, []int{152} } func (m *CreateRegisterChallengeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10255,7 +10304,7 @@ func (m *PaginatedResource) Reset() { *m = PaginatedResource{} } func (m *PaginatedResource) String() string { return proto.CompactTextString(m) } func (*PaginatedResource) ProtoMessage() {} func (*PaginatedResource) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{152} + return fileDescriptor_0ffcffcda38ae159, []int{153} } func (m *PaginatedResource) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10496,7 +10545,7 @@ func (m *ListUnifiedResourcesRequest) Reset() { *m = ListUnifiedResource func (m *ListUnifiedResourcesRequest) String() string { return proto.CompactTextString(m) } func (*ListUnifiedResourcesRequest) ProtoMessage() {} func (*ListUnifiedResourcesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{153} + return fileDescriptor_0ffcffcda38ae159, []int{154} } func (m *ListUnifiedResourcesRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10633,7 +10682,7 @@ func (m *ListUnifiedResourcesResponse) Reset() { *m = ListUnifiedResourc func (m *ListUnifiedResourcesResponse) String() string { return proto.CompactTextString(m) } func (*ListUnifiedResourcesResponse) ProtoMessage() {} func (*ListUnifiedResourcesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{154} + return fileDescriptor_0ffcffcda38ae159, []int{155} } func (m *ListUnifiedResourcesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10729,7 +10778,7 @@ func (m *ListResourcesRequest) Reset() { *m = ListResourcesRequest{} } func (m *ListResourcesRequest) String() string { return proto.CompactTextString(m) } func (*ListResourcesRequest) ProtoMessage() {} func (*ListResourcesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{155} + return fileDescriptor_0ffcffcda38ae159, []int{156} } func (m *ListResourcesRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10865,7 +10914,7 @@ func (m *GetSSHTargetsRequest) Reset() { *m = GetSSHTargetsRequest{} } func (m *GetSSHTargetsRequest) String() string { return proto.CompactTextString(m) } func (*GetSSHTargetsRequest) ProtoMessage() {} func (*GetSSHTargetsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{156} + return fileDescriptor_0ffcffcda38ae159, []int{157} } func (m *GetSSHTargetsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10921,7 +10970,7 @@ func (m *GetSSHTargetsResponse) Reset() { *m = GetSSHTargetsResponse{} } func (m *GetSSHTargetsResponse) String() string { return proto.CompactTextString(m) } func (*GetSSHTargetsResponse) ProtoMessage() {} func (*GetSSHTargetsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{157} + return fileDescriptor_0ffcffcda38ae159, []int{158} } func (m *GetSSHTargetsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10976,7 +11025,7 @@ func (m *ListResourcesResponse) Reset() { *m = ListResourcesResponse{} } func (m *ListResourcesResponse) String() string { return proto.CompactTextString(m) } func (*ListResourcesResponse) ProtoMessage() {} func (*ListResourcesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{158} + return fileDescriptor_0ffcffcda38ae159, []int{159} } func (m *ListResourcesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11041,7 +11090,7 @@ func (m *CreateSessionTrackerRequest) Reset() { *m = CreateSessionTracke func (m *CreateSessionTrackerRequest) String() string { return proto.CompactTextString(m) } func (*CreateSessionTrackerRequest) ProtoMessage() {} func (*CreateSessionTrackerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{159} + return fileDescriptor_0ffcffcda38ae159, []int{160} } func (m *CreateSessionTrackerRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11090,7 +11139,7 @@ func (m *GetSessionTrackerRequest) Reset() { *m = GetSessionTrackerReque func (m *GetSessionTrackerRequest) String() string { return proto.CompactTextString(m) } func (*GetSessionTrackerRequest) ProtoMessage() {} func (*GetSessionTrackerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{160} + return fileDescriptor_0ffcffcda38ae159, []int{161} } func (m *GetSessionTrackerRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11139,7 +11188,7 @@ func (m *RemoveSessionTrackerRequest) Reset() { *m = RemoveSessionTracke func (m *RemoveSessionTrackerRequest) String() string { return proto.CompactTextString(m) } func (*RemoveSessionTrackerRequest) ProtoMessage() {} func (*RemoveSessionTrackerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{161} + return fileDescriptor_0ffcffcda38ae159, []int{162} } func (m *RemoveSessionTrackerRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11187,7 +11236,7 @@ func (m *SessionTrackerUpdateState) Reset() { *m = SessionTrackerUpdateS func (m *SessionTrackerUpdateState) String() string { return proto.CompactTextString(m) } func (*SessionTrackerUpdateState) ProtoMessage() {} func (*SessionTrackerUpdateState) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{162} + return fileDescriptor_0ffcffcda38ae159, []int{163} } func (m *SessionTrackerUpdateState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11235,7 +11284,7 @@ func (m *SessionTrackerAddParticipant) Reset() { *m = SessionTrackerAddP func (m *SessionTrackerAddParticipant) String() string { return proto.CompactTextString(m) } func (*SessionTrackerAddParticipant) ProtoMessage() {} func (*SessionTrackerAddParticipant) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{163} + return fileDescriptor_0ffcffcda38ae159, []int{164} } func (m *SessionTrackerAddParticipant) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11283,7 +11332,7 @@ func (m *SessionTrackerRemoveParticipant) Reset() { *m = SessionTrackerR func (m *SessionTrackerRemoveParticipant) String() string { return proto.CompactTextString(m) } func (*SessionTrackerRemoveParticipant) ProtoMessage() {} func (*SessionTrackerRemoveParticipant) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{164} + return fileDescriptor_0ffcffcda38ae159, []int{165} } func (m *SessionTrackerRemoveParticipant) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11332,7 +11381,7 @@ func (m *SessionTrackerUpdateExpiry) Reset() { *m = SessionTrackerUpdate func (m *SessionTrackerUpdateExpiry) String() string { return proto.CompactTextString(m) } func (*SessionTrackerUpdateExpiry) ProtoMessage() {} func (*SessionTrackerUpdateExpiry) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{165} + return fileDescriptor_0ffcffcda38ae159, []int{166} } func (m *SessionTrackerUpdateExpiry) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11387,7 +11436,7 @@ func (m *UpdateSessionTrackerRequest) Reset() { *m = UpdateSessionTracke func (m *UpdateSessionTrackerRequest) String() string { return proto.CompactTextString(m) } func (*UpdateSessionTrackerRequest) ProtoMessage() {} func (*UpdateSessionTrackerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{166} + return fileDescriptor_0ffcffcda38ae159, []int{167} } func (m *UpdateSessionTrackerRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11505,7 +11554,7 @@ func (m *PresenceMFAChallengeRequest) Reset() { *m = PresenceMFAChalleng func (m *PresenceMFAChallengeRequest) String() string { return proto.CompactTextString(m) } func (*PresenceMFAChallengeRequest) ProtoMessage() {} func (*PresenceMFAChallengeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{167} + return fileDescriptor_0ffcffcda38ae159, []int{168} } func (m *PresenceMFAChallengeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11556,7 +11605,7 @@ func (m *PresenceMFAChallengeSend) Reset() { *m = PresenceMFAChallengeSe func (m *PresenceMFAChallengeSend) String() string { return proto.CompactTextString(m) } func (*PresenceMFAChallengeSend) ProtoMessage() {} func (*PresenceMFAChallengeSend) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{168} + return fileDescriptor_0ffcffcda38ae159, []int{169} } func (m *PresenceMFAChallengeSend) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11643,7 +11692,7 @@ func (m *GetDomainNameResponse) Reset() { *m = GetDomainNameResponse{} } func (m *GetDomainNameResponse) String() string { return proto.CompactTextString(m) } func (*GetDomainNameResponse) ProtoMessage() {} func (*GetDomainNameResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{169} + return fileDescriptor_0ffcffcda38ae159, []int{170} } func (m *GetDomainNameResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11692,7 +11741,7 @@ func (m *GetClusterCACertResponse) Reset() { *m = GetClusterCACertRespon func (m *GetClusterCACertResponse) String() string { return proto.CompactTextString(m) } func (*GetClusterCACertResponse) ProtoMessage() {} func (*GetClusterCACertResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{170} + return fileDescriptor_0ffcffcda38ae159, []int{171} } func (m *GetClusterCACertResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11740,7 +11789,7 @@ func (m *GetLicenseResponse) Reset() { *m = GetLicenseResponse{} } func (m *GetLicenseResponse) String() string { return proto.CompactTextString(m) } func (*GetLicenseResponse) ProtoMessage() {} func (*GetLicenseResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{171} + return fileDescriptor_0ffcffcda38ae159, []int{172} } func (m *GetLicenseResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11788,7 +11837,7 @@ func (m *ListReleasesResponse) Reset() { *m = ListReleasesResponse{} } func (m *ListReleasesResponse) String() string { return proto.CompactTextString(m) } func (*ListReleasesResponse) ProtoMessage() {} func (*ListReleasesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{172} + return fileDescriptor_0ffcffcda38ae159, []int{173} } func (m *ListReleasesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11837,7 +11886,7 @@ func (m *GetOIDCAuthRequestRequest) Reset() { *m = GetOIDCAuthRequestReq func (m *GetOIDCAuthRequestRequest) String() string { return proto.CompactTextString(m) } func (*GetOIDCAuthRequestRequest) ProtoMessage() {} func (*GetOIDCAuthRequestRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{173} + return fileDescriptor_0ffcffcda38ae159, []int{174} } func (m *GetOIDCAuthRequestRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11886,7 +11935,7 @@ func (m *GetSAMLAuthRequestRequest) Reset() { *m = GetSAMLAuthRequestReq func (m *GetSAMLAuthRequestRequest) String() string { return proto.CompactTextString(m) } func (*GetSAMLAuthRequestRequest) ProtoMessage() {} func (*GetSAMLAuthRequestRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{174} + return fileDescriptor_0ffcffcda38ae159, []int{175} } func (m *GetSAMLAuthRequestRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11935,7 +11984,7 @@ func (m *GetGithubAuthRequestRequest) Reset() { *m = GetGithubAuthReques func (m *GetGithubAuthRequestRequest) String() string { return proto.CompactTextString(m) } func (*GetGithubAuthRequestRequest) ProtoMessage() {} func (*GetGithubAuthRequestRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{175} + return fileDescriptor_0ffcffcda38ae159, []int{176} } func (m *GetGithubAuthRequestRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11984,7 +12033,7 @@ func (m *CreateOIDCConnectorRequest) Reset() { *m = CreateOIDCConnectorR func (m *CreateOIDCConnectorRequest) String() string { return proto.CompactTextString(m) } func (*CreateOIDCConnectorRequest) ProtoMessage() {} func (*CreateOIDCConnectorRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{176} + return fileDescriptor_0ffcffcda38ae159, []int{177} } func (m *CreateOIDCConnectorRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12033,7 +12082,7 @@ func (m *UpdateOIDCConnectorRequest) Reset() { *m = UpdateOIDCConnectorR func (m *UpdateOIDCConnectorRequest) String() string { return proto.CompactTextString(m) } func (*UpdateOIDCConnectorRequest) ProtoMessage() {} func (*UpdateOIDCConnectorRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{177} + return fileDescriptor_0ffcffcda38ae159, []int{178} } func (m *UpdateOIDCConnectorRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12082,7 +12131,7 @@ func (m *UpsertOIDCConnectorRequest) Reset() { *m = UpsertOIDCConnectorR func (m *UpsertOIDCConnectorRequest) String() string { return proto.CompactTextString(m) } func (*UpsertOIDCConnectorRequest) ProtoMessage() {} func (*UpsertOIDCConnectorRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{178} + return fileDescriptor_0ffcffcda38ae159, []int{179} } func (m *UpsertOIDCConnectorRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12131,7 +12180,7 @@ func (m *CreateSAMLConnectorRequest) Reset() { *m = CreateSAMLConnectorR func (m *CreateSAMLConnectorRequest) String() string { return proto.CompactTextString(m) } func (*CreateSAMLConnectorRequest) ProtoMessage() {} func (*CreateSAMLConnectorRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{179} + return fileDescriptor_0ffcffcda38ae159, []int{180} } func (m *CreateSAMLConnectorRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12180,7 +12229,7 @@ func (m *UpdateSAMLConnectorRequest) Reset() { *m = UpdateSAMLConnectorR func (m *UpdateSAMLConnectorRequest) String() string { return proto.CompactTextString(m) } func (*UpdateSAMLConnectorRequest) ProtoMessage() {} func (*UpdateSAMLConnectorRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{180} + return fileDescriptor_0ffcffcda38ae159, []int{181} } func (m *UpdateSAMLConnectorRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12229,7 +12278,7 @@ func (m *UpsertSAMLConnectorRequest) Reset() { *m = UpsertSAMLConnectorR func (m *UpsertSAMLConnectorRequest) String() string { return proto.CompactTextString(m) } func (*UpsertSAMLConnectorRequest) ProtoMessage() {} func (*UpsertSAMLConnectorRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{181} + return fileDescriptor_0ffcffcda38ae159, []int{182} } func (m *UpsertSAMLConnectorRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12278,7 +12327,7 @@ func (m *CreateGithubConnectorRequest) Reset() { *m = CreateGithubConnec func (m *CreateGithubConnectorRequest) String() string { return proto.CompactTextString(m) } func (*CreateGithubConnectorRequest) ProtoMessage() {} func (*CreateGithubConnectorRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{182} + return fileDescriptor_0ffcffcda38ae159, []int{183} } func (m *CreateGithubConnectorRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12327,7 +12376,7 @@ func (m *UpdateGithubConnectorRequest) Reset() { *m = UpdateGithubConnec func (m *UpdateGithubConnectorRequest) String() string { return proto.CompactTextString(m) } func (*UpdateGithubConnectorRequest) ProtoMessage() {} func (*UpdateGithubConnectorRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{183} + return fileDescriptor_0ffcffcda38ae159, []int{184} } func (m *UpdateGithubConnectorRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12376,7 +12425,7 @@ func (m *UpsertGithubConnectorRequest) Reset() { *m = UpsertGithubConnec func (m *UpsertGithubConnectorRequest) String() string { return proto.CompactTextString(m) } func (*UpsertGithubConnectorRequest) ProtoMessage() {} func (*UpsertGithubConnectorRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{184} + return fileDescriptor_0ffcffcda38ae159, []int{185} } func (m *UpsertGithubConnectorRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12427,7 +12476,7 @@ func (m *GetSSODiagnosticInfoRequest) Reset() { *m = GetSSODiagnosticInf func (m *GetSSODiagnosticInfoRequest) String() string { return proto.CompactTextString(m) } func (*GetSSODiagnosticInfoRequest) ProtoMessage() {} func (*GetSSODiagnosticInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{185} + return fileDescriptor_0ffcffcda38ae159, []int{186} } func (m *GetSSODiagnosticInfoRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12493,7 +12542,7 @@ func (m *SystemRoleAssertion) Reset() { *m = SystemRoleAssertion{} } func (m *SystemRoleAssertion) String() string { return proto.CompactTextString(m) } func (*SystemRoleAssertion) ProtoMessage() {} func (*SystemRoleAssertion) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{186} + return fileDescriptor_0ffcffcda38ae159, []int{187} } func (m *SystemRoleAssertion) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12563,7 +12612,7 @@ func (m *SystemRoleAssertionSet) Reset() { *m = SystemRoleAssertionSet{} func (m *SystemRoleAssertionSet) String() string { return proto.CompactTextString(m) } func (*SystemRoleAssertionSet) ProtoMessage() {} func (*SystemRoleAssertionSet) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{187} + return fileDescriptor_0ffcffcda38ae159, []int{188} } func (m *SystemRoleAssertionSet) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12631,7 +12680,7 @@ func (m *UpstreamInventoryOneOf) Reset() { *m = UpstreamInventoryOneOf{} func (m *UpstreamInventoryOneOf) String() string { return proto.CompactTextString(m) } func (*UpstreamInventoryOneOf) ProtoMessage() {} func (*UpstreamInventoryOneOf) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{188} + return fileDescriptor_0ffcffcda38ae159, []int{189} } func (m *UpstreamInventoryOneOf) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12746,7 +12795,7 @@ func (m *DownstreamInventoryOneOf) Reset() { *m = DownstreamInventoryOne func (m *DownstreamInventoryOneOf) String() string { return proto.CompactTextString(m) } func (*DownstreamInventoryOneOf) ProtoMessage() {} func (*DownstreamInventoryOneOf) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{189} + return fileDescriptor_0ffcffcda38ae159, []int{190} } func (m *DownstreamInventoryOneOf) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12845,7 +12894,7 @@ func (m *DownstreamInventoryPing) Reset() { *m = DownstreamInventoryPing func (m *DownstreamInventoryPing) String() string { return proto.CompactTextString(m) } func (*DownstreamInventoryPing) ProtoMessage() {} func (*DownstreamInventoryPing) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{190} + return fileDescriptor_0ffcffcda38ae159, []int{191} } func (m *DownstreamInventoryPing) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12894,7 +12943,7 @@ func (m *UpstreamInventoryPong) Reset() { *m = UpstreamInventoryPong{} } func (m *UpstreamInventoryPong) String() string { return proto.CompactTextString(m) } func (*UpstreamInventoryPong) ProtoMessage() {} func (*UpstreamInventoryPong) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{191} + return fileDescriptor_0ffcffcda38ae159, []int{192} } func (m *UpstreamInventoryPong) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12961,7 +13010,7 @@ func (m *UpstreamInventoryHello) Reset() { *m = UpstreamInventoryHello{} func (m *UpstreamInventoryHello) String() string { return proto.CompactTextString(m) } func (*UpstreamInventoryHello) ProtoMessage() {} func (*UpstreamInventoryHello) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{192} + return fileDescriptor_0ffcffcda38ae159, []int{193} } func (m *UpstreamInventoryHello) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13061,7 +13110,7 @@ func (m *UpstreamInventoryAgentMetadata) Reset() { *m = UpstreamInventor func (m *UpstreamInventoryAgentMetadata) String() string { return proto.CompactTextString(m) } func (*UpstreamInventoryAgentMetadata) ProtoMessage() {} func (*UpstreamInventoryAgentMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{193} + return fileDescriptor_0ffcffcda38ae159, []int{194} } func (m *UpstreamInventoryAgentMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13161,7 +13210,7 @@ func (m *DownstreamInventoryHello) Reset() { *m = DownstreamInventoryHel func (m *DownstreamInventoryHello) String() string { return proto.CompactTextString(m) } func (*DownstreamInventoryHello) ProtoMessage() {} func (*DownstreamInventoryHello) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{194} + return fileDescriptor_0ffcffcda38ae159, []int{195} } func (m *DownstreamInventoryHello) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13222,7 +13271,7 @@ func (m *InventoryUpdateLabelsRequest) Reset() { *m = InventoryUpdateLab func (m *InventoryUpdateLabelsRequest) String() string { return proto.CompactTextString(m) } func (*InventoryUpdateLabelsRequest) ProtoMessage() {} func (*InventoryUpdateLabelsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{195} + return fileDescriptor_0ffcffcda38ae159, []int{196} } func (m *InventoryUpdateLabelsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13288,7 +13337,7 @@ func (m *DownstreamInventoryUpdateLabels) Reset() { *m = DownstreamInven func (m *DownstreamInventoryUpdateLabels) String() string { return proto.CompactTextString(m) } func (*DownstreamInventoryUpdateLabels) ProtoMessage() {} func (*DownstreamInventoryUpdateLabels) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{196} + return fileDescriptor_0ffcffcda38ae159, []int{197} } func (m *DownstreamInventoryUpdateLabels) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13349,7 +13398,7 @@ func (m *InventoryHeartbeat) Reset() { *m = InventoryHeartbeat{} } func (m *InventoryHeartbeat) String() string { return proto.CompactTextString(m) } func (*InventoryHeartbeat) ProtoMessage() {} func (*InventoryHeartbeat) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{197} + return fileDescriptor_0ffcffcda38ae159, []int{198} } func (m *InventoryHeartbeat) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13406,7 +13455,7 @@ func (m *InventoryStatusRequest) Reset() { *m = InventoryStatusRequest{} func (m *InventoryStatusRequest) String() string { return proto.CompactTextString(m) } func (*InventoryStatusRequest) ProtoMessage() {} func (*InventoryStatusRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{198} + return fileDescriptor_0ffcffcda38ae159, []int{199} } func (m *InventoryStatusRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13464,7 +13513,7 @@ func (m *InventoryStatusSummary) Reset() { *m = InventoryStatusSummary{} func (m *InventoryStatusSummary) String() string { return proto.CompactTextString(m) } func (*InventoryStatusSummary) ProtoMessage() {} func (*InventoryStatusSummary) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{199} + return fileDescriptor_0ffcffcda38ae159, []int{200} } func (m *InventoryStatusSummary) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13541,7 +13590,7 @@ func (m *InventoryConnectedServiceCountsRequest) Reset() { func (m *InventoryConnectedServiceCountsRequest) String() string { return proto.CompactTextString(m) } func (*InventoryConnectedServiceCountsRequest) ProtoMessage() {} func (*InventoryConnectedServiceCountsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{200} + return fileDescriptor_0ffcffcda38ae159, []int{201} } func (m *InventoryConnectedServiceCountsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13583,7 +13632,7 @@ func (m *InventoryConnectedServiceCounts) Reset() { *m = InventoryConnec func (m *InventoryConnectedServiceCounts) String() string { return proto.CompactTextString(m) } func (*InventoryConnectedServiceCounts) ProtoMessage() {} func (*InventoryConnectedServiceCounts) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{201} + return fileDescriptor_0ffcffcda38ae159, []int{202} } func (m *InventoryConnectedServiceCounts) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13637,7 +13686,7 @@ func (m *InventoryPingRequest) Reset() { *m = InventoryPingRequest{} } func (m *InventoryPingRequest) String() string { return proto.CompactTextString(m) } func (*InventoryPingRequest) ProtoMessage() {} func (*InventoryPingRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{202} + return fileDescriptor_0ffcffcda38ae159, []int{203} } func (m *InventoryPingRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13693,7 +13742,7 @@ func (m *InventoryPingResponse) Reset() { *m = InventoryPingResponse{} } func (m *InventoryPingResponse) String() string { return proto.CompactTextString(m) } func (*InventoryPingResponse) ProtoMessage() {} func (*InventoryPingResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{203} + return fileDescriptor_0ffcffcda38ae159, []int{204} } func (m *InventoryPingResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13742,7 +13791,7 @@ func (m *GetClusterAlertsResponse) Reset() { *m = GetClusterAlertsRespon func (m *GetClusterAlertsResponse) String() string { return proto.CompactTextString(m) } func (*GetClusterAlertsResponse) ProtoMessage() {} func (*GetClusterAlertsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{204} + return fileDescriptor_0ffcffcda38ae159, []int{205} } func (m *GetClusterAlertsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13789,7 +13838,7 @@ func (m *GetAlertAcksRequest) Reset() { *m = GetAlertAcksRequest{} } func (m *GetAlertAcksRequest) String() string { return proto.CompactTextString(m) } func (*GetAlertAcksRequest) ProtoMessage() {} func (*GetAlertAcksRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{205} + return fileDescriptor_0ffcffcda38ae159, []int{206} } func (m *GetAlertAcksRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13831,7 +13880,7 @@ func (m *GetAlertAcksResponse) Reset() { *m = GetAlertAcksResponse{} } func (m *GetAlertAcksResponse) String() string { return proto.CompactTextString(m) } func (*GetAlertAcksResponse) ProtoMessage() {} func (*GetAlertAcksResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{206} + return fileDescriptor_0ffcffcda38ae159, []int{207} } func (m *GetAlertAcksResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13881,7 +13930,7 @@ func (m *ClearAlertAcksRequest) Reset() { *m = ClearAlertAcksRequest{} } func (m *ClearAlertAcksRequest) String() string { return proto.CompactTextString(m) } func (*ClearAlertAcksRequest) ProtoMessage() {} func (*ClearAlertAcksRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{207} + return fileDescriptor_0ffcffcda38ae159, []int{208} } func (m *ClearAlertAcksRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13930,7 +13979,7 @@ func (m *UpsertClusterAlertRequest) Reset() { *m = UpsertClusterAlertReq func (m *UpsertClusterAlertRequest) String() string { return proto.CompactTextString(m) } func (*UpsertClusterAlertRequest) ProtoMessage() {} func (*UpsertClusterAlertRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{208} + return fileDescriptor_0ffcffcda38ae159, []int{209} } func (m *UpsertClusterAlertRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13979,7 +14028,7 @@ func (m *GetConnectionDiagnosticRequest) Reset() { *m = GetConnectionDia func (m *GetConnectionDiagnosticRequest) String() string { return proto.CompactTextString(m) } func (*GetConnectionDiagnosticRequest) ProtoMessage() {} func (*GetConnectionDiagnosticRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{209} + return fileDescriptor_0ffcffcda38ae159, []int{210} } func (m *GetConnectionDiagnosticRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14030,7 +14079,7 @@ func (m *AppendDiagnosticTraceRequest) Reset() { *m = AppendDiagnosticTr func (m *AppendDiagnosticTraceRequest) String() string { return proto.CompactTextString(m) } func (*AppendDiagnosticTraceRequest) ProtoMessage() {} func (*AppendDiagnosticTraceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{210} + return fileDescriptor_0ffcffcda38ae159, []int{211} } func (m *AppendDiagnosticTraceRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14085,7 +14134,7 @@ func (m *SubmitUsageEventRequest) Reset() { *m = SubmitUsageEventRequest func (m *SubmitUsageEventRequest) String() string { return proto.CompactTextString(m) } func (*SubmitUsageEventRequest) ProtoMessage() {} func (*SubmitUsageEventRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{211} + return fileDescriptor_0ffcffcda38ae159, []int{212} } func (m *SubmitUsageEventRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14132,7 +14181,7 @@ func (m *GetLicenseRequest) Reset() { *m = GetLicenseRequest{} } func (m *GetLicenseRequest) String() string { return proto.CompactTextString(m) } func (*GetLicenseRequest) ProtoMessage() {} func (*GetLicenseRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{212} + return fileDescriptor_0ffcffcda38ae159, []int{213} } func (m *GetLicenseRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14172,7 +14221,7 @@ func (m *ListReleasesRequest) Reset() { *m = ListReleasesRequest{} } func (m *ListReleasesRequest) String() string { return proto.CompactTextString(m) } func (*ListReleasesRequest) ProtoMessage() {} func (*ListReleasesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{213} + return fileDescriptor_0ffcffcda38ae159, []int{214} } func (m *ListReleasesRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14216,7 +14265,7 @@ func (m *CreateTokenV2Request) Reset() { *m = CreateTokenV2Request{} } func (m *CreateTokenV2Request) String() string { return proto.CompactTextString(m) } func (*CreateTokenV2Request) ProtoMessage() {} func (*CreateTokenV2Request) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{214} + return fileDescriptor_0ffcffcda38ae159, []int{215} } func (m *CreateTokenV2Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14293,7 +14342,7 @@ func (m *UpsertTokenV2Request) Reset() { *m = UpsertTokenV2Request{} } func (m *UpsertTokenV2Request) String() string { return proto.CompactTextString(m) } func (*UpsertTokenV2Request) ProtoMessage() {} func (*UpsertTokenV2Request) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{215} + return fileDescriptor_0ffcffcda38ae159, []int{216} } func (m *UpsertTokenV2Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14368,7 +14417,7 @@ func (m *GetHeadlessAuthenticationRequest) Reset() { *m = GetHeadlessAut func (m *GetHeadlessAuthenticationRequest) String() string { return proto.CompactTextString(m) } func (*GetHeadlessAuthenticationRequest) ProtoMessage() {} func (*GetHeadlessAuthenticationRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{216} + return fileDescriptor_0ffcffcda38ae159, []int{217} } func (m *GetHeadlessAuthenticationRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14426,7 +14475,7 @@ func (m *UpdateHeadlessAuthenticationStateRequest) Reset() { func (m *UpdateHeadlessAuthenticationStateRequest) String() string { return proto.CompactTextString(m) } func (*UpdateHeadlessAuthenticationStateRequest) ProtoMessage() {} func (*UpdateHeadlessAuthenticationStateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{217} + return fileDescriptor_0ffcffcda38ae159, []int{218} } func (m *UpdateHeadlessAuthenticationStateRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14492,7 +14541,7 @@ func (m *ExportUpgradeWindowsRequest) Reset() { *m = ExportUpgradeWindow func (m *ExportUpgradeWindowsRequest) String() string { return proto.CompactTextString(m) } func (*ExportUpgradeWindowsRequest) ProtoMessage() {} func (*ExportUpgradeWindowsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{218} + return fileDescriptor_0ffcffcda38ae159, []int{219} } func (m *ExportUpgradeWindowsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14558,7 +14607,7 @@ func (m *ExportUpgradeWindowsResponse) Reset() { *m = ExportUpgradeWindo func (m *ExportUpgradeWindowsResponse) String() string { return proto.CompactTextString(m) } func (*ExportUpgradeWindowsResponse) ProtoMessage() {} func (*ExportUpgradeWindowsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{219} + return fileDescriptor_0ffcffcda38ae159, []int{220} } func (m *ExportUpgradeWindowsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14633,7 +14682,7 @@ func (m *ListAccessRequestsRequest) Reset() { *m = ListAccessRequestsReq func (m *ListAccessRequestsRequest) String() string { return proto.CompactTextString(m) } func (*ListAccessRequestsRequest) ProtoMessage() {} func (*ListAccessRequestsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{220} + return fileDescriptor_0ffcffcda38ae159, []int{221} } func (m *ListAccessRequestsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14712,7 +14761,7 @@ func (m *ListAccessRequestsResponse) Reset() { *m = ListAccessRequestsRe func (m *ListAccessRequestsResponse) String() string { return proto.CompactTextString(m) } func (*ListAccessRequestsResponse) ProtoMessage() {} func (*ListAccessRequestsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{221} + return fileDescriptor_0ffcffcda38ae159, []int{222} } func (m *ListAccessRequestsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14768,7 +14817,7 @@ func (m *AccessRequestAllowedPromotionRequest) Reset() { *m = AccessRequ func (m *AccessRequestAllowedPromotionRequest) String() string { return proto.CompactTextString(m) } func (*AccessRequestAllowedPromotionRequest) ProtoMessage() {} func (*AccessRequestAllowedPromotionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{222} + return fileDescriptor_0ffcffcda38ae159, []int{223} } func (m *AccessRequestAllowedPromotionRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14817,7 +14866,7 @@ func (m *AccessRequestAllowedPromotionResponse) Reset() { *m = AccessReq func (m *AccessRequestAllowedPromotionResponse) String() string { return proto.CompactTextString(m) } func (*AccessRequestAllowedPromotionResponse) ProtoMessage() {} func (*AccessRequestAllowedPromotionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0ffcffcda38ae159, []int{223} + return fileDescriptor_0ffcffcda38ae159, []int{224} } func (m *AccessRequestAllowedPromotionResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14995,6 +15044,7 @@ func init() { proto.RegisterType((*DeleteWindowsDesktopRequest)(nil), "proto.DeleteWindowsDesktopRequest") proto.RegisterType((*WindowsDesktopCertRequest)(nil), "proto.WindowsDesktopCertRequest") proto.RegisterType((*WindowsDesktopCertResponse)(nil), "proto.WindowsDesktopCertResponse") + proto.RegisterType((*DesktopBootstrapScriptResponse)(nil), "proto.DesktopBootstrapScriptResponse") proto.RegisterType((*ListSAMLIdPServiceProvidersRequest)(nil), "proto.ListSAMLIdPServiceProvidersRequest") proto.RegisterType((*ListSAMLIdPServiceProvidersResponse)(nil), "proto.ListSAMLIdPServiceProvidersResponse") proto.RegisterType((*GetSAMLIdPServiceProviderRequest)(nil), "proto.GetSAMLIdPServiceProviderRequest") @@ -15107,896 +15157,900 @@ func init() { } var fileDescriptor_0ffcffcda38ae159 = []byte{ - // 14217 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x7d, 0x5b, 0x6c, 0x1c, 0x59, - 0x76, 0x18, 0xbb, 0xf9, 0x3e, 0x7c, 0xb5, 0x2e, 0x9f, 0x6a, 0x51, 0x6a, 0xa9, 0x66, 0xa4, 0xd1, - 0x68, 0x67, 0xf5, 0xa0, 0x66, 0x66, 0xe7, 0xb1, 0x3b, 0xb3, 0xdd, 0x64, 0x8b, 0xa4, 0xc4, 0x47, - 0x4f, 0x35, 0x49, 0xcd, 0xec, 0x8c, 0xb7, 0xb7, 0xd8, 0x7d, 0x45, 0x96, 0xd5, 0xac, 0xea, 0xad, - 0xaa, 0x96, 0x46, 0xeb, 0xd8, 0x81, 0xd7, 0x09, 0xe2, 0x9f, 0x24, 0x36, 0x60, 0x07, 0x4e, 0xf2, - 0x11, 0x04, 0x48, 0x80, 0x20, 0x5f, 0xfe, 0x49, 0xfc, 0x13, 0x20, 0xc8, 0x57, 0xd6, 0x06, 0x9c, - 0x04, 0xb0, 0xfd, 0x93, 0x0f, 0x3a, 0x59, 0x20, 0x3f, 0x44, 0xf2, 0x11, 0x04, 0x09, 0x90, 0x05, - 0x0c, 0x04, 0xf7, 0x59, 0xf7, 0xd6, 0xab, 0x9b, 0x92, 0x66, 0x9d, 0x1f, 0x89, 0x7d, 0xef, 0x39, - 0xe7, 0x3e, 0xeb, 0xdc, 0x73, 0xce, 0x3d, 0xf7, 0x1c, 0xb8, 0x1d, 0xe0, 0x36, 0xee, 0xb8, 0x5e, - 0x70, 0xa7, 0x8d, 0x8f, 0xac, 0xe6, 0x8b, 0x3b, 0xcd, 0xb6, 0x8d, 0x9d, 0xe0, 0x4e, 0xc7, 0x73, - 0x03, 0xf7, 0x8e, 0xd5, 0x0d, 0x8e, 0x7d, 0xec, 0x3d, 0xb3, 0x9b, 0xf8, 0x36, 0x2d, 0x41, 0xc3, - 0xf4, 0xbf, 0xe2, 0xdc, 0x91, 0x7b, 0xe4, 0x32, 0x18, 0xf2, 0x17, 0xab, 0x2c, 0x5e, 0x3a, 0x72, - 0xdd, 0xa3, 0x36, 0x66, 0xc8, 0x87, 0xdd, 0x27, 0x77, 0xf0, 0x49, 0x27, 0x78, 0xc1, 0x2b, 0x4b, - 0xd1, 0xca, 0xc0, 0x3e, 0xc1, 0x7e, 0x60, 0x9d, 0x74, 0x38, 0xc0, 0xdb, 0xb2, 0x2b, 0x56, 0x10, - 0x90, 0x9a, 0xc0, 0x76, 0x9d, 0x3b, 0xcf, 0xee, 0xa9, 0x3f, 0x39, 0xe8, 0xcd, 0xcc, 0x5e, 0x37, - 0xb1, 0x17, 0xf8, 0x7d, 0x41, 0xe2, 0x67, 0xd8, 0x09, 0x62, 0xcd, 0x73, 0xc8, 0xe0, 0x45, 0x07, - 0xfb, 0x0c, 0x44, 0xfc, 0xc7, 0x41, 0xaf, 0x25, 0x83, 0xd2, 0x7f, 0x39, 0xc8, 0xb7, 0x93, 0x41, - 0x9e, 0xe3, 0x43, 0x32, 0xa7, 0x8e, 0xfc, 0xa3, 0x07, 0xb8, 0x67, 0x75, 0x3a, 0xd8, 0x0b, 0xff, - 0xe0, 0xe0, 0x17, 0x25, 0xf8, 0xc9, 0x13, 0x8b, 0x4c, 0xd1, 0xc9, 0x13, 0x2b, 0x36, 0x8c, 0xae, - 0x6f, 0x1d, 0x61, 0xde, 0xfd, 0x67, 0xf7, 0xd4, 0x9f, 0x0c, 0xd4, 0xf8, 0x27, 0x39, 0x18, 0x7e, - 0x6c, 0x05, 0xcd, 0x63, 0xf4, 0x29, 0x0c, 0x3f, 0xb2, 0x9d, 0x96, 0xbf, 0x94, 0xbb, 0x3a, 0x78, - 0x73, 0x62, 0xa5, 0x70, 0x9b, 0x0d, 0x85, 0x56, 0x92, 0x8a, 0xca, 0xe2, 0xcf, 0x4e, 0x4b, 0x03, - 0x67, 0xa7, 0xa5, 0x99, 0xa7, 0x04, 0xec, 0x1d, 0xf7, 0xc4, 0x0e, 0xe8, 0xda, 0x9a, 0x0c, 0x0f, - 0xed, 0xc3, 0x6c, 0xb9, 0xdd, 0x76, 0x9f, 0xd7, 0x2c, 0x2f, 0xb0, 0xad, 0x76, 0xbd, 0xdb, 0x6c, - 0x62, 0xdf, 0x5f, 0xca, 0x5f, 0xcd, 0xdd, 0x1c, 0xab, 0xbc, 0x71, 0x76, 0x5a, 0x2a, 0x59, 0xa4, - 0xba, 0xd1, 0x61, 0xf5, 0x0d, 0x9f, 0x01, 0x28, 0x84, 0x92, 0xf0, 0x8d, 0x3f, 0x19, 0x81, 0xc2, - 0x86, 0xeb, 0x07, 0xab, 0x64, 0x45, 0x4d, 0xfc, 0xe3, 0x2e, 0xf6, 0x03, 0xf4, 0x06, 0x8c, 0x90, - 0xb2, 0xcd, 0xb5, 0xa5, 0xdc, 0xd5, 0xdc, 0xcd, 0xf1, 0xca, 0xc4, 0xd9, 0x69, 0x69, 0xf4, 0xd8, - 0xf5, 0x83, 0x86, 0xdd, 0x32, 0x79, 0x15, 0x7a, 0x1b, 0xc6, 0x76, 0xdc, 0x16, 0xde, 0xb1, 0x4e, - 0x30, 0xed, 0xc5, 0x78, 0x65, 0xea, 0xec, 0xb4, 0x34, 0xee, 0xb8, 0x2d, 0xdc, 0x70, 0xac, 0x13, - 0x6c, 0xca, 0x6a, 0x74, 0x00, 0x43, 0xa6, 0xdb, 0xc6, 0x4b, 0x83, 0x14, 0xac, 0x72, 0x76, 0x5a, - 0x1a, 0xf2, 0xdc, 0x36, 0xfe, 0xc5, 0x69, 0xe9, 0xfd, 0x23, 0x3b, 0x38, 0xee, 0x1e, 0xde, 0x6e, - 0xba, 0x27, 0x77, 0x8e, 0x3c, 0xeb, 0x99, 0xcd, 0x36, 0xa1, 0xd5, 0xbe, 0x13, 0x6e, 0xd5, 0x8e, - 0xcd, 0xd7, 0xbd, 0xfe, 0xc2, 0x0f, 0xf0, 0x09, 0xa1, 0x64, 0x52, 0x7a, 0xe8, 0x31, 0xcc, 0x95, - 0x5b, 0x2d, 0x9b, 0x61, 0xd4, 0x3c, 0xdb, 0x69, 0xda, 0x1d, 0xab, 0xed, 0x2f, 0x0d, 0x5d, 0x1d, - 0xbc, 0x39, 0xce, 0x27, 0x45, 0xd6, 0x37, 0x3a, 0x12, 0x40, 0x99, 0x94, 0x44, 0x02, 0xe8, 0x3e, - 0x8c, 0xad, 0xed, 0xd4, 0x49, 0xdf, 0xfd, 0xa5, 0x61, 0x4a, 0x6c, 0xf1, 0xec, 0xb4, 0x34, 0xdb, - 0x72, 0x7c, 0x3a, 0x34, 0x95, 0x80, 0x04, 0x44, 0xef, 0xc3, 0x64, 0xad, 0x7b, 0xd8, 0xb6, 0x9b, - 0x7b, 0x5b, 0xf5, 0x47, 0xf8, 0xc5, 0xd2, 0xc8, 0xd5, 0xdc, 0xcd, 0xc9, 0x0a, 0x3a, 0x3b, 0x2d, - 0x4d, 0x77, 0x68, 0x79, 0x23, 0x68, 0xfb, 0x8d, 0xa7, 0xf8, 0x85, 0xa9, 0xc1, 0x85, 0x78, 0xf5, - 0xfa, 0x06, 0xc1, 0x1b, 0x8d, 0xe1, 0xf9, 0xfe, 0xb1, 0x8a, 0xc7, 0xe0, 0xd0, 0x1d, 0x00, 0x13, - 0x9f, 0xb8, 0x01, 0x2e, 0xb7, 0x5a, 0xde, 0xd2, 0x18, 0x9d, 0xdb, 0x99, 0xb3, 0xd3, 0xd2, 0x84, - 0x47, 0x4b, 0x1b, 0x56, 0xab, 0xe5, 0x99, 0x0a, 0x08, 0x5a, 0x85, 0x31, 0xd3, 0x65, 0x13, 0xbc, - 0x34, 0x7e, 0x35, 0x77, 0x73, 0x62, 0x65, 0x86, 0x6f, 0x43, 0x51, 0x5c, 0x59, 0x38, 0x3b, 0x2d, - 0x21, 0x8f, 0xff, 0x52, 0x47, 0x29, 0x20, 0x50, 0x09, 0x46, 0x77, 0xdc, 0x55, 0xab, 0x79, 0x8c, - 0x97, 0x80, 0xee, 0xbd, 0xe1, 0xb3, 0xd3, 0x52, 0xee, 0xdb, 0xa6, 0x28, 0x45, 0xcf, 0x60, 0x22, - 0x5c, 0x28, 0x7f, 0x69, 0x82, 0x4e, 0xdf, 0xde, 0xd9, 0x69, 0x69, 0xc1, 0xa7, 0xc5, 0x0d, 0xb2, - 0xf4, 0xca, 0x0c, 0xbe, 0xc2, 0x2e, 0x50, 0x1b, 0x42, 0x5f, 0xc1, 0x7c, 0xf8, 0xb3, 0xec, 0xfb, - 0xd8, 0x23, 0x34, 0x36, 0xd7, 0x96, 0xa6, 0xe8, 0xcc, 0xdc, 0x38, 0x3b, 0x2d, 0x19, 0x4a, 0x0f, - 0x1a, 0x96, 0x00, 0x69, 0xd8, 0x2d, 0x65, 0xa4, 0xc9, 0x44, 0x1e, 0x0e, 0x8d, 0x4d, 0x16, 0xa6, - 0xcc, 0xcb, 0xfb, 0x8e, 0x1f, 0x58, 0x87, 0x6d, 0x9c, 0x08, 0x64, 0xfc, 0x55, 0x0e, 0xd0, 0x6e, - 0x07, 0x3b, 0xf5, 0xfa, 0x06, 0xf9, 0x9e, 0xc4, 0xe7, 0xf4, 0x0e, 0x8c, 0xb3, 0x85, 0x23, 0xab, - 0x9b, 0xa7, 0xab, 0x3b, 0x7d, 0x76, 0x5a, 0x02, 0xbe, 0xba, 0x64, 0x65, 0x43, 0x00, 0x74, 0x1d, - 0x06, 0xf7, 0xf6, 0xb6, 0xe8, 0xb7, 0x32, 0x58, 0x99, 0x3d, 0x3b, 0x2d, 0x0d, 0x06, 0x41, 0xfb, - 0x17, 0xa7, 0xa5, 0xb1, 0xb5, 0xae, 0x47, 0xa7, 0xc5, 0x24, 0xf5, 0xe8, 0x3a, 0x8c, 0xae, 0xb6, - 0xbb, 0x7e, 0x80, 0xbd, 0xa5, 0xa1, 0xf0, 0x23, 0x6d, 0xb2, 0x22, 0x53, 0xd4, 0xa1, 0x6f, 0xc1, - 0xd0, 0xbe, 0x8f, 0xbd, 0xa5, 0x61, 0xba, 0xde, 0x53, 0x7c, 0xbd, 0x49, 0xd1, 0xc1, 0x4a, 0x65, - 0x8c, 0x7c, 0x89, 0x5d, 0x1f, 0x7b, 0x26, 0x05, 0x42, 0xb7, 0x61, 0x98, 0x2d, 0xda, 0x08, 0x65, - 0x52, 0x53, 0x72, 0x77, 0xb4, 0xf1, 0xc1, 0xfb, 0x95, 0xf1, 0xb3, 0xd3, 0xd2, 0x30, 0x5d, 0x3c, - 0x93, 0x81, 0x3d, 0x1c, 0x1a, 0xcb, 0x15, 0xf2, 0xe6, 0x18, 0xc1, 0x25, 0x9f, 0x85, 0xf1, 0x2d, - 0x98, 0x50, 0x86, 0x8f, 0x96, 0x61, 0x88, 0xfc, 0x4f, 0x99, 0xc8, 0x24, 0x6b, 0x8c, 0x1c, 0x1c, - 0x26, 0x2d, 0x35, 0xfe, 0xf5, 0x0c, 0x14, 0x08, 0xa6, 0xc6, 0x79, 0xb4, 0xa9, 0xca, 0xf5, 0x9a, - 0xaa, 0x9b, 0x20, 0xdb, 0xe6, 0x2c, 0x68, 0xf2, 0xec, 0xb4, 0x34, 0xd6, 0xe5, 0x65, 0x61, 0xcf, - 0x50, 0x1d, 0x46, 0xab, 0x5f, 0x77, 0x6c, 0x0f, 0xfb, 0x74, 0x62, 0x27, 0x56, 0x8a, 0xb7, 0xd9, - 0x61, 0x79, 0x5b, 0x1c, 0x96, 0xb7, 0xf7, 0xc4, 0x61, 0x59, 0xb9, 0xcc, 0x59, 0xf1, 0x05, 0xcc, - 0x50, 0xc2, 0xdd, 0xf1, 0x3b, 0x7f, 0x59, 0xca, 0x99, 0x82, 0x12, 0x7a, 0x07, 0x46, 0x1e, 0xb8, - 0xde, 0x89, 0x15, 0xf0, 0x15, 0x98, 0x3b, 0x3b, 0x2d, 0x15, 0x9e, 0xd0, 0x12, 0x65, 0x43, 0x71, - 0x18, 0xf4, 0x00, 0xa6, 0x4d, 0xb7, 0x1b, 0xe0, 0x3d, 0x57, 0xac, 0xdb, 0x30, 0xc5, 0xba, 0x72, - 0x76, 0x5a, 0x2a, 0x7a, 0xa4, 0xa6, 0x11, 0xb8, 0x0d, 0xbe, 0x80, 0x0a, 0x7e, 0x04, 0x0b, 0x55, - 0x61, 0xba, 0x4c, 0x79, 0x37, 0x9f, 0x33, 0xb6, 0x5a, 0xe3, 0x95, 0xcb, 0x67, 0xa7, 0xa5, 0x8b, - 0x16, 0xad, 0x69, 0x78, 0xbc, 0x4a, 0x25, 0xa3, 0x23, 0xa1, 0x1d, 0xb8, 0xf0, 0xa8, 0x7b, 0x88, - 0x3d, 0x07, 0x07, 0xd8, 0x17, 0x3d, 0x1a, 0xa5, 0x3d, 0xba, 0x7a, 0x76, 0x5a, 0x5a, 0x7e, 0x2a, - 0x2b, 0x13, 0xfa, 0x14, 0x47, 0x45, 0x18, 0x66, 0x78, 0x47, 0xd7, 0xac, 0xc0, 0x3a, 0xb4, 0x7c, - 0x4c, 0x59, 0xd2, 0xc4, 0xca, 0x02, 0x9b, 0xe2, 0xdb, 0x91, 0xda, 0xca, 0x1b, 0x7c, 0x96, 0x2f, - 0xc9, 0xb1, 0xb7, 0x78, 0x95, 0xd2, 0x50, 0x94, 0x26, 0xe1, 0xcc, 0xf2, 0xd4, 0x19, 0xa7, 0xbd, - 0xa5, 0x9c, 0x59, 0x9e, 0x3a, 0x2a, 0xcf, 0x92, 0xe7, 0xcf, 0x16, 0x0c, 0xef, 0x93, 0xb3, 0x99, - 0x72, 0xac, 0xe9, 0x95, 0x6b, 0xbc, 0x47, 0xd1, 0xdd, 0x77, 0x9b, 0xfc, 0xa0, 0x80, 0xf4, 0xbb, - 0x9b, 0xa1, 0xe7, 0xb9, 0x7a, 0x12, 0xd3, 0x3a, 0xf4, 0x19, 0x00, 0xef, 0x55, 0xb9, 0xd3, 0x59, - 0x9a, 0xa0, 0x83, 0xbc, 0xa0, 0x0f, 0xb2, 0xdc, 0xe9, 0x54, 0xae, 0xf0, 0xf1, 0x2d, 0xc8, 0xf1, - 0x59, 0x9d, 0x8e, 0x42, 0x4d, 0x21, 0x82, 0x3e, 0x85, 0x49, 0xca, 0xd0, 0xc4, 0x8a, 0x4e, 0xd2, - 0x15, 0xbd, 0x74, 0x76, 0x5a, 0x5a, 0xa4, 0xbc, 0x2a, 0x61, 0x3d, 0x35, 0x04, 0xf4, 0x1b, 0x30, - 0xcf, 0xc9, 0x3d, 0xb6, 0x9d, 0x96, 0xfb, 0xdc, 0x5f, 0xc3, 0xfe, 0xd3, 0xc0, 0xed, 0x50, 0xe6, - 0x37, 0xb1, 0xb2, 0xac, 0x77, 0x4f, 0x87, 0xa9, 0xdc, 0xe2, 0x3d, 0x35, 0x64, 0x4f, 0x9f, 0x33, - 0x80, 0x46, 0x8b, 0x41, 0xa8, 0xec, 0x31, 0x91, 0x04, 0xda, 0x84, 0x99, 0x7d, 0x1f, 0x6b, 0x63, - 0x98, 0xa6, 0xa7, 0x43, 0x89, 0xac, 0x70, 0xd7, 0xc7, 0x8d, 0xb4, 0x71, 0x44, 0xf1, 0x90, 0x09, - 0x68, 0xcd, 0x73, 0x3b, 0x91, 0x3d, 0x3e, 0x43, 0x67, 0xc4, 0x38, 0x3b, 0x2d, 0x5d, 0x69, 0x79, - 0x6e, 0xa7, 0x91, 0xbe, 0xd1, 0x13, 0xb0, 0xd1, 0x0f, 0x61, 0x61, 0xd5, 0x75, 0x1c, 0xdc, 0x24, - 0xfc, 0x73, 0xcd, 0xb6, 0x8e, 0x1c, 0xd7, 0x0f, 0xec, 0xe6, 0xe6, 0xda, 0x52, 0x21, 0x3c, 0x1c, - 0x9a, 0x12, 0xa2, 0xd1, 0x92, 0x20, 0xfa, 0xe1, 0x90, 0x42, 0x05, 0x7d, 0x09, 0x53, 0xbc, 0x2d, - 0xec, 0xd1, 0xad, 0x79, 0x21, 0x7b, 0xa3, 0x49, 0x60, 0x76, 0xcc, 0x7b, 0xe2, 0x27, 0x13, 0x9c, - 0x74, 0x5a, 0xe8, 0x2b, 0x98, 0xd8, 0x7e, 0x50, 0x36, 0xb1, 0xdf, 0x71, 0x1d, 0x1f, 0x2f, 0x21, - 0xba, 0xa2, 0x57, 0x38, 0xe9, 0xed, 0x07, 0xe5, 0x72, 0x37, 0x38, 0xc6, 0x4e, 0x60, 0x37, 0xad, - 0x00, 0x0b, 0xa8, 0x4a, 0x91, 0xec, 0xbc, 0x93, 0x27, 0x56, 0xc3, 0xe3, 0x25, 0xca, 0x28, 0x54, - 0x72, 0xa8, 0x08, 0x63, 0xf5, 0xfa, 0xc6, 0x96, 0x7b, 0x64, 0x3b, 0x4b, 0xb3, 0x64, 0x32, 0x4c, - 0xf9, 0x1b, 0x1d, 0xc2, 0xbc, 0xa2, 0x19, 0x34, 0xc8, 0xff, 0xf8, 0x04, 0x3b, 0xc1, 0xd2, 0x1c, - 0xed, 0xc3, 0xb7, 0xa5, 0x6a, 0x73, 0x5b, 0x55, 0x20, 0x9e, 0xdd, 0xbb, 0x5d, 0x0e, 0x7f, 0xd6, - 0x05, 0x92, 0x39, 0x67, 0x25, 0x94, 0xa2, 0x3d, 0x18, 0xad, 0x75, 0xbd, 0x8e, 0xeb, 0xe3, 0xa5, - 0x79, 0x3a, 0x69, 0x6f, 0x64, 0x7d, 0x9d, 0x1c, 0xb4, 0x32, 0x4f, 0xd8, 0x73, 0x87, 0xfd, 0x50, - 0x46, 0x26, 0x48, 0x19, 0x9f, 0xc3, 0xb8, 0xfc, 0x98, 0xd1, 0x28, 0x0c, 0x96, 0xdb, 0xed, 0xc2, - 0x00, 0xf9, 0xa3, 0x5e, 0xdf, 0x28, 0xe4, 0xd0, 0x34, 0x40, 0xc8, 0xc1, 0x0a, 0x79, 0x34, 0x09, - 0x63, 0x82, 0xc3, 0x14, 0x06, 0x29, 0x7c, 0xa7, 0x53, 0x18, 0x42, 0x08, 0xa6, 0xf5, 0x7d, 0x5e, - 0x18, 0x36, 0x7e, 0x37, 0x07, 0xe3, 0x72, 0x7d, 0xd0, 0x0c, 0x4c, 0xec, 0xef, 0xd4, 0x6b, 0xd5, - 0xd5, 0xcd, 0x07, 0x9b, 0xd5, 0xb5, 0xc2, 0x00, 0xba, 0x0c, 0x17, 0xf7, 0xea, 0x1b, 0x8d, 0xb5, - 0x4a, 0x63, 0x6b, 0x77, 0xb5, 0xbc, 0xd5, 0xa8, 0x99, 0xbb, 0x9f, 0x7f, 0xd1, 0xd8, 0xdb, 0xdf, - 0xd9, 0xa9, 0x6e, 0x15, 0x72, 0x68, 0x09, 0xe6, 0x48, 0xf5, 0xa3, 0xfd, 0x4a, 0x55, 0x05, 0x28, - 0xe4, 0xd1, 0x35, 0xb8, 0x9c, 0x54, 0xd3, 0xd8, 0xa8, 0x96, 0xd7, 0xb6, 0xaa, 0xf5, 0x7a, 0x61, - 0x10, 0x2d, 0xc2, 0x2c, 0x01, 0x29, 0xd7, 0x6a, 0x1a, 0xee, 0x90, 0xd1, 0x86, 0x09, 0x65, 0x72, - 0xd0, 0x32, 0x2c, 0xad, 0x56, 0xcd, 0xbd, 0x46, 0x6d, 0xdf, 0xac, 0xed, 0xd6, 0xab, 0x0d, 0xbd, - 0x87, 0xd1, 0xda, 0xad, 0xdd, 0xf5, 0xcd, 0x9d, 0x06, 0x29, 0xaa, 0x17, 0x72, 0xa4, 0x1b, 0x5a, - 0x6d, 0x7d, 0x73, 0x67, 0x7d, 0xab, 0xda, 0xd8, 0xaf, 0x57, 0x39, 0x48, 0xde, 0xf8, 0x69, 0x3e, - 0xc6, 0xea, 0xd1, 0x0a, 0x4c, 0xd4, 0x99, 0x16, 0x4b, 0xb7, 0x3f, 0x53, 0x1b, 0x0a, 0x67, 0xa7, - 0xa5, 0x49, 0xae, 0xdc, 0xb2, 0x9d, 0xad, 0x02, 0x91, 0xd3, 0xbb, 0x46, 0x56, 0xba, 0xe9, 0xb6, - 0xd5, 0xd3, 0xbb, 0xc3, 0xcb, 0x4c, 0x59, 0x8b, 0x56, 0x94, 0x73, 0x9e, 0xe9, 0x10, 0x54, 0x4e, - 0x15, 0xe7, 0xbc, 0xca, 0xf3, 0xe5, 0x89, 0xbf, 0x12, 0x2e, 0x29, 0x3f, 0x9e, 0x29, 0x4e, 0xc2, - 0x19, 0x23, 0xe1, 0xd0, 0xdb, 0x42, 0xfe, 0x61, 0x32, 0x3f, 0x3d, 0x04, 0x22, 0xd2, 0x2a, 0x17, - 0x7d, 0x8c, 0x6e, 0x0a, 0xc3, 0x45, 0x1f, 0x47, 0xf7, 0x0c, 0x9f, 0x0c, 0x4a, 0x2c, 0xc2, 0x57, - 0xcd, 0x08, 0x28, 0x2a, 0xc1, 0x30, 0xfb, 0x12, 0xd9, 0x7c, 0x50, 0x89, 0xab, 0x4d, 0x0a, 0x4c, - 0x56, 0x6e, 0xfc, 0xce, 0xa0, 0x7a, 0xf8, 0x10, 0x09, 0x4b, 0x99, 0x6f, 0x2a, 0x61, 0xd1, 0x79, - 0xa6, 0xa5, 0xe8, 0x36, 0x8c, 0xd7, 0xb1, 0xef, 0x33, 0x29, 0x38, 0x2f, 0x97, 0x04, 0x7c, 0x56, - 0xd8, 0xb0, 0x5b, 0x4b, 0x39, 0x33, 0x04, 0x21, 0x0a, 0x05, 0x93, 0xad, 0xa8, 0x42, 0x31, 0x18, - 0x2a, 0x14, 0x5c, 0xfa, 0x62, 0x0a, 0x45, 0x08, 0x42, 0x56, 0x9d, 0x1f, 0xff, 0xb4, 0x17, 0x43, - 0xe1, 0xaa, 0x73, 0x91, 0x81, 0xaf, 0xba, 0x02, 0x84, 0x3e, 0x02, 0x28, 0x3f, 0xae, 0x53, 0xc9, - 0xd9, 0xdc, 0xe1, 0x22, 0x10, 0x65, 0x56, 0xd6, 0x73, 0x9f, 0x0b, 0xe6, 0x9e, 0xaa, 0x79, 0x28, - 0xd0, 0xa8, 0x02, 0x53, 0xe5, 0x9f, 0x74, 0x3d, 0xbc, 0xd9, 0x22, 0xfc, 0x2e, 0x60, 0x2a, 0xd6, - 0x78, 0x65, 0xf9, 0xec, 0xb4, 0xb4, 0x64, 0x91, 0x8a, 0x86, 0xcd, 0x6b, 0x14, 0x02, 0x3a, 0x0a, - 0xda, 0x85, 0x0b, 0xeb, 0xab, 0x35, 0xbe, 0x0f, 0xcb, 0xcd, 0xa6, 0xdb, 0x75, 0x02, 0x2e, 0xf7, - 0x5c, 0x3b, 0x3b, 0x2d, 0x5d, 0x3e, 0x6a, 0x76, 0x1a, 0x62, 0xcf, 0x5a, 0xac, 0x5a, 0x15, 0x7c, - 0x62, 0xb8, 0x46, 0x1b, 0xa6, 0xd7, 0x71, 0x40, 0xf6, 0x9d, 0x10, 0x62, 0xb3, 0x57, 0xe5, 0xbb, - 0x30, 0xf1, 0xd8, 0x0e, 0x8e, 0xeb, 0xb8, 0xe9, 0xe1, 0x40, 0x28, 0xf0, 0x74, 0x06, 0x9e, 0xdb, - 0xc1, 0x71, 0xc3, 0x67, 0xe5, 0x2a, 0xbb, 0x56, 0xc0, 0x8d, 0x2a, 0xcc, 0xf0, 0xd6, 0xa4, 0xcc, - 0xbc, 0xa2, 0x13, 0xcc, 0x51, 0x82, 0x74, 0x15, 0x54, 0x82, 0x3a, 0x99, 0x7f, 0x95, 0x87, 0xf9, - 0xd5, 0x63, 0xcb, 0x39, 0xc2, 0x35, 0xcb, 0xf7, 0x9f, 0xbb, 0x5e, 0x4b, 0xe9, 0x3c, 0x55, 0x18, - 0x62, 0x9d, 0xa7, 0x1a, 0xc2, 0x0a, 0x4c, 0xec, 0xb6, 0x5b, 0x02, 0x87, 0x2b, 0x33, 0xb4, 0x2d, - 0xb7, 0xdd, 0x6a, 0x74, 0x04, 0x2d, 0x15, 0x88, 0xe0, 0xec, 0xe0, 0xe7, 0x12, 0x67, 0x30, 0xc4, - 0x71, 0xf0, 0x73, 0x05, 0x47, 0x01, 0x42, 0x55, 0xb8, 0x50, 0xc7, 0x4d, 0xd7, 0x69, 0x3d, 0xb0, - 0x9a, 0x81, 0xeb, 0xed, 0xb9, 0x4f, 0xb1, 0xc3, 0xf7, 0x17, 0x95, 0xf7, 0x7c, 0x5a, 0xd9, 0x78, - 0x42, 0x6b, 0x1b, 0x01, 0xa9, 0x36, 0xe3, 0x18, 0x68, 0x17, 0xc6, 0x1e, 0x73, 0x33, 0x10, 0xd7, - 0x80, 0xae, 0xdf, 0x96, 0x76, 0xa1, 0x55, 0x0f, 0xd3, 0x4d, 0x61, 0xb5, 0xa5, 0x0e, 0x27, 0x8f, - 0x4f, 0xca, 0x89, 0x04, 0xa4, 0x29, 0x89, 0x18, 0xfb, 0x30, 0x55, 0x6b, 0x77, 0x8f, 0x6c, 0x87, - 0xf0, 0x8c, 0x3a, 0xfe, 0x31, 0x5a, 0x03, 0x08, 0x0b, 0xb8, 0x71, 0x67, 0x96, 0xeb, 0x4d, 0x61, - 0xc5, 0xc1, 0x7d, 0xfe, 0x21, 0xd1, 0x12, 0x2a, 0xe8, 0x9a, 0x0a, 0x9e, 0xf1, 0x7f, 0x07, 0x01, - 0xf1, 0x05, 0xa0, 0x27, 0x63, 0x1d, 0x07, 0xe4, 0x74, 0x59, 0x80, 0xbc, 0xb4, 0xc1, 0x8c, 0x9c, - 0x9d, 0x96, 0xf2, 0x76, 0xcb, 0xcc, 0x6f, 0xae, 0xa1, 0x77, 0x61, 0x98, 0x82, 0xd1, 0xf9, 0x9f, - 0x96, 0xed, 0xa9, 0x14, 0x18, 0xef, 0xa0, 0x27, 0xb6, 0xc9, 0x80, 0xd1, 0x7b, 0x30, 0xbe, 0x86, - 0xdb, 0xf8, 0xc8, 0x0a, 0x5c, 0xf1, 0x75, 0x33, 0xab, 0x86, 0x28, 0x54, 0xf6, 0x5c, 0x08, 0x49, - 0xb4, 0x1c, 0x13, 0x5b, 0xbe, 0xeb, 0xa8, 0x5a, 0x8e, 0x47, 0x4b, 0x54, 0x2d, 0x87, 0xc1, 0xa0, - 0xdf, 0xcf, 0xc1, 0x44, 0xd9, 0x71, 0xb8, 0xb5, 0xc0, 0xe7, 0xb3, 0x3e, 0x7f, 0x5b, 0x9a, 0xd7, - 0xb6, 0xac, 0x43, 0xdc, 0x3e, 0xb0, 0xda, 0x5d, 0xec, 0x57, 0xbe, 0x22, 0x82, 0xe7, 0x7f, 0x3e, - 0x2d, 0x7d, 0x7c, 0x0e, 0xfd, 0x3f, 0x34, 0xd4, 0xed, 0x79, 0x96, 0x1d, 0xf8, 0x67, 0xa7, 0xa5, - 0x79, 0x2b, 0x6c, 0x50, 0xfd, 0x6e, 0x94, 0x7e, 0x84, 0xac, 0x7d, 0xa4, 0x17, 0x6b, 0x47, 0x27, - 0x30, 0x53, 0xf6, 0xfd, 0xee, 0x09, 0xae, 0x07, 0x96, 0x17, 0x10, 0xb5, 0x90, 0xf2, 0x87, 0x6c, - 0x9d, 0xf1, 0xad, 0x9f, 0x9d, 0x96, 0x72, 0x44, 0xd6, 0xb5, 0x28, 0x2a, 0x91, 0x95, 0xbc, 0xa0, - 0x11, 0xd8, 0xea, 0xe9, 0x44, 0xb5, 0xc7, 0x28, 0x6d, 0xe3, 0x0d, 0x29, 0x4f, 0x6c, 0xae, 0xa5, - 0xad, 0xb8, 0xb1, 0x0a, 0xcb, 0xeb, 0x38, 0x30, 0xb1, 0x8f, 0x03, 0xf1, 0x8d, 0xd0, 0x1d, 0x1e, - 0x5a, 0xec, 0x46, 0xe9, 0x6f, 0x89, 0x4c, 0x97, 0x9f, 0x7d, 0x17, 0xa2, 0xc6, 0xf8, 0x5b, 0x39, - 0x28, 0xad, 0x7a, 0x98, 0x89, 0x89, 0x29, 0x84, 0xb2, 0x79, 0xd7, 0x32, 0x0c, 0xed, 0xbd, 0xe8, - 0x08, 0x65, 0x9b, 0xd6, 0x92, 0x45, 0x31, 0x69, 0x69, 0x9f, 0x96, 0x0b, 0xe3, 0x09, 0xcc, 0x9b, - 0xd8, 0xc1, 0xcf, 0xad, 0xc3, 0x36, 0xd6, 0x94, 0xff, 0x12, 0x0c, 0xb3, 0x0f, 0x3d, 0x36, 0x04, - 0x56, 0x7e, 0x3e, 0x43, 0x8a, 0x31, 0x05, 0x13, 0x35, 0xdb, 0x39, 0xe2, 0xd4, 0x8d, 0x3f, 0x1c, - 0x84, 0x49, 0xf6, 0x9b, 0x4b, 0xbe, 0x91, 0xd3, 0x2b, 0xd7, 0xcf, 0xe9, 0xf5, 0x01, 0x4c, 0x11, - 0xf6, 0x8f, 0xbd, 0x03, 0xec, 0x91, 0x53, 0x93, 0xcf, 0x04, 0x95, 0xe2, 0x7d, 0x5a, 0xd1, 0x78, - 0xc6, 0x6a, 0x4c, 0x1d, 0x10, 0x6d, 0xc1, 0x34, 0x2b, 0x78, 0x80, 0xad, 0xa0, 0x1b, 0x1a, 0x22, - 0x66, 0xb8, 0xb8, 0x2b, 0x8a, 0xd9, 0xd6, 0xe4, 0xb4, 0x9e, 0xf0, 0x42, 0x33, 0x82, 0x8b, 0x3e, - 0x85, 0x99, 0x9a, 0xe7, 0x7e, 0xfd, 0x42, 0x39, 0xaf, 0xd9, 0xd7, 0xc9, 0x04, 0x63, 0x52, 0xd5, - 0x50, 0x4f, 0xed, 0x28, 0x34, 0x7a, 0x1b, 0xc6, 0x36, 0xfd, 0x8a, 0xeb, 0xd9, 0xce, 0x11, 0xfd, - 0x46, 0xc7, 0x98, 0xf5, 0xd6, 0xf6, 0x1b, 0x87, 0xb4, 0xd0, 0x94, 0xd5, 0x11, 0x3b, 0xe3, 0x68, - 0x6f, 0x3b, 0xe3, 0x5d, 0x80, 0x2d, 0xd7, 0x6a, 0x95, 0xdb, 0xed, 0xd5, 0xb2, 0x4f, 0xad, 0x00, - 0xfc, 0x3c, 0x6a, 0xbb, 0x56, 0xab, 0x61, 0xb5, 0xdb, 0x8d, 0xa6, 0xe5, 0x9b, 0x0a, 0xcc, 0xc3, - 0xa1, 0xb1, 0x91, 0xc2, 0xa8, 0x39, 0xb3, 0x65, 0x37, 0xb1, 0xe3, 0xe3, 0xc7, 0x96, 0xe7, 0xd8, - 0xce, 0x91, 0x6f, 0xfc, 0x87, 0x19, 0x18, 0x93, 0x43, 0xbe, 0xad, 0xca, 0xec, 0xfc, 0x94, 0xa3, - 0xab, 0x1f, 0x5a, 0x2a, 0x4c, 0x05, 0x02, 0x5d, 0xa4, 0x52, 0x3c, 0x3f, 0x5f, 0x47, 0xc9, 0x6e, - 0xb4, 0x3a, 0x1d, 0x93, 0x94, 0x91, 0xaf, 0x6c, 0xad, 0x42, 0xe7, 0x7f, 0x8c, 0x7d, 0x65, 0xad, - 0x43, 0x33, 0xbf, 0x56, 0x21, 0xdb, 0x7b, 0x77, 0x73, 0x6d, 0x95, 0x4e, 0xe5, 0x18, 0xdb, 0xde, - 0xae, 0xdd, 0x6a, 0x9a, 0xb4, 0x94, 0xd4, 0xd6, 0xcb, 0xdb, 0x5b, 0x7c, 0xba, 0x68, 0xad, 0x6f, - 0x9d, 0xb4, 0x4d, 0x5a, 0x4a, 0xe4, 0x3e, 0xa6, 0x74, 0xae, 0xba, 0x4e, 0xe0, 0xb9, 0x6d, 0x9f, - 0x0a, 0x27, 0x63, 0x6c, 0x39, 0xb9, 0xb6, 0xda, 0xe4, 0x55, 0x66, 0x04, 0x14, 0x3d, 0x86, 0xc5, - 0x72, 0xeb, 0x99, 0xe5, 0x34, 0x71, 0x8b, 0xd5, 0x3c, 0x76, 0xbd, 0xa7, 0x4f, 0xda, 0xee, 0x73, - 0x9f, 0xce, 0xf7, 0x18, 0x37, 0xee, 0x70, 0x10, 0xa1, 0xfc, 0x3e, 0x17, 0x40, 0x66, 0x1a, 0x36, - 0xf9, 0xa4, 0x56, 0xdb, 0x6e, 0xb7, 0xc5, 0x57, 0x81, 0x7e, 0x52, 0x4d, 0x52, 0x60, 0xb2, 0x72, - 0x32, 0x4b, 0x1b, 0xf5, 0x6d, 0x6a, 0x4a, 0xe1, 0xb3, 0x74, 0xec, 0x9f, 0x98, 0xa4, 0x0c, 0x5d, - 0x87, 0x51, 0x21, 0xc2, 0x32, 0x4b, 0x2f, 0xb5, 0x30, 0x0a, 0xd1, 0x55, 0xd4, 0x91, 0x4f, 0xc2, - 0xc4, 0x4d, 0xf7, 0x19, 0xf6, 0x5e, 0xac, 0xba, 0x2d, 0x2c, 0x14, 0x7f, 0xae, 0xd8, 0xb2, 0x8a, - 0x46, 0x93, 0xd4, 0x98, 0x3a, 0x20, 0x69, 0x80, 0x9d, 0x81, 0x44, 0xbd, 0x97, 0x0d, 0xb0, 0x33, - 0xd2, 0x37, 0x45, 0x1d, 0x5a, 0x83, 0x0b, 0xe5, 0x6e, 0xe0, 0x9e, 0x58, 0x81, 0xdd, 0xdc, 0xef, - 0x1c, 0x79, 0x16, 0x69, 0xa4, 0x40, 0x11, 0xa8, 0x48, 0x6f, 0x89, 0xca, 0x46, 0x97, 0xd7, 0x9a, - 0x71, 0x04, 0xf4, 0x3e, 0x4c, 0x6e, 0xfa, 0xcc, 0xb8, 0x63, 0xf9, 0xb8, 0x45, 0x35, 0x74, 0xde, - 0x4b, 0xdb, 0x6f, 0x50, 0x53, 0x4f, 0x83, 0x28, 0x01, 0x2d, 0x53, 0x83, 0x43, 0x06, 0x8c, 0x94, - 0x7d, 0xdf, 0xf6, 0x03, 0xaa, 0x78, 0x8f, 0x55, 0xe0, 0xec, 0xb4, 0x34, 0x62, 0xd1, 0x12, 0x93, - 0xd7, 0xa0, 0xc7, 0x30, 0xb1, 0x86, 0x89, 0x4c, 0xb8, 0xe7, 0x75, 0xfd, 0x80, 0xaa, 0xd1, 0x13, - 0x2b, 0x17, 0xf9, 0x87, 0xad, 0xd4, 0xf0, 0xbd, 0xcc, 0xa4, 0xbd, 0x16, 0x2d, 0x6f, 0x04, 0xa4, - 0x42, 0x3d, 0xb5, 0x14, 0x78, 0x22, 0xf0, 0x72, 0x9c, 0x0d, 0xbb, 0x45, 0x3e, 0xd5, 0x39, 0xda, - 0x07, 0x2a, 0xf0, 0x72, 0xde, 0xd0, 0x38, 0xa6, 0x35, 0xaa, 0xc0, 0xab, 0xa1, 0xa0, 0x66, 0xcc, - 0x5e, 0x38, 0xaf, 0xd9, 0x84, 0xf4, 0x4a, 0xd1, 0xc5, 0x73, 0x5a, 0x13, 0xbf, 0x0b, 0x13, 0xab, - 0x5d, 0x3f, 0x70, 0x4f, 0xf6, 0x8e, 0xf1, 0x09, 0x5e, 0x5a, 0x08, 0xc5, 0xfa, 0x26, 0x2d, 0x6e, - 0x04, 0xa4, 0x5c, 0x1d, 0xa6, 0x02, 0x8e, 0x3e, 0x03, 0x24, 0xe4, 0xf3, 0x75, 0xb2, 0x3f, 0x1c, - 0xb2, 0x97, 0x97, 0x16, 0xe9, 0x58, 0xa9, 0x50, 0x2e, 0xc4, 0xfa, 0xc6, 0x91, 0xac, 0x56, 0x2d, - 0x3e, 0x71, 0x64, 0xd2, 0x21, 0xd6, 0xc5, 0x75, 0xcf, 0xea, 0x1c, 0x2f, 0x2d, 0x85, 0x52, 0x36, - 0x1f, 0xd4, 0x11, 0x29, 0xd7, 0xa4, 0x85, 0x10, 0x1c, 0xd5, 0x01, 0xd8, 0xcf, 0x2d, 0xb2, 0xf0, - 0x17, 0xe9, 0x7c, 0x2d, 0x69, 0xf3, 0x45, 0x2a, 0xc4, 0x5c, 0x5d, 0xa4, 0x32, 0x08, 0x23, 0xdb, - 0xb6, 0xb5, 0xd5, 0x54, 0xc8, 0xa0, 0xa7, 0x50, 0x60, 0xbf, 0xb6, 0x5d, 0xc7, 0x0e, 0x18, 0xeb, - 0x2d, 0x6a, 0xc6, 0x9c, 0x68, 0xb5, 0x68, 0x80, 0x1a, 0xd1, 0x78, 0x03, 0x27, 0xb2, 0x56, 0x69, - 0x26, 0x46, 0x18, 0xd5, 0x60, 0xa2, 0xe6, 0xb9, 0xad, 0x6e, 0x33, 0xa0, 0x07, 0xf6, 0x25, 0x2a, - 0x28, 0x22, 0xde, 0x8e, 0x52, 0xc3, 0xe6, 0xa4, 0xc3, 0x0a, 0x1a, 0xe4, 0x30, 0x57, 0xe7, 0x44, - 0x01, 0x44, 0x15, 0x18, 0xa9, 0xb9, 0x6d, 0xbb, 0xf9, 0x62, 0x69, 0x99, 0x76, 0x7a, 0x4e, 0x10, - 0xa3, 0x85, 0xa2, 0xab, 0x54, 0x3a, 0xec, 0xd0, 0x22, 0x55, 0x3a, 0x64, 0x40, 0xa8, 0x0c, 0x53, - 0x9f, 0x91, 0x0d, 0x63, 0xbb, 0x8e, 0x63, 0xd9, 0x1e, 0x5e, 0xba, 0x4c, 0xd7, 0x85, 0x1a, 0x3a, - 0x7f, 0xac, 0x56, 0xa8, 0xdb, 0x59, 0xc3, 0x40, 0x9b, 0x30, 0xb3, 0xe9, 0xd7, 0x03, 0xcf, 0xee, - 0xe0, 0x6d, 0xcb, 0xb1, 0x8e, 0x70, 0x6b, 0xe9, 0x4a, 0x68, 0x69, 0xb4, 0xfd, 0x86, 0x4f, 0xeb, - 0x1a, 0x27, 0xac, 0x52, 0xb5, 0x34, 0x46, 0xf0, 0xd0, 0xe7, 0x30, 0x57, 0xfd, 0x3a, 0x20, 0x3b, - 0xa6, 0x5d, 0xee, 0xb6, 0xec, 0xa0, 0x1e, 0xb8, 0x9e, 0x75, 0x84, 0x97, 0x4a, 0x94, 0xde, 0x9b, - 0x67, 0xa7, 0xa5, 0xab, 0x98, 0xd7, 0x37, 0x2c, 0x02, 0xd0, 0xf0, 0x19, 0x84, 0x7a, 0x7f, 0x98, - 0x44, 0x81, 0xcc, 0x7e, 0xbd, 0xdb, 0x21, 0x82, 0x2b, 0x9d, 0xfd, 0xab, 0xda, 0xec, 0x2b, 0x35, - 0x6c, 0xf6, 0x7d, 0x56, 0x10, 0x9b, 0x7d, 0x05, 0x10, 0x99, 0x80, 0x1e, 0xba, 0xb6, 0x53, 0x6e, - 0x06, 0xf6, 0x33, 0xcc, 0x55, 0x76, 0x7f, 0xe9, 0x1a, 0xed, 0x29, 0xb5, 0x8a, 0xfe, 0xaa, 0x6b, - 0x3b, 0x0d, 0x8b, 0x56, 0x37, 0xb8, 0x82, 0xaf, 0x59, 0x45, 0xe3, 0xd8, 0xe8, 0x87, 0xb0, 0xb0, - 0xed, 0x1e, 0xda, 0x6d, 0xcc, 0x58, 0x0e, 0x9b, 0x16, 0x6a, 0xdf, 0x33, 0x28, 0x5d, 0x6a, 0x15, - 0x3d, 0xa1, 0x10, 0x0d, 0xce, 0xad, 0x4e, 0x24, 0x8c, 0x6a, 0x15, 0x4d, 0xa6, 0xf2, 0x70, 0x68, - 0x6c, 0xa2, 0x30, 0xc9, 0x6e, 0xce, 0x1e, 0x0e, 0x8d, 0x4d, 0x15, 0xa6, 0x8d, 0x3f, 0xc8, 0x01, - 0x8a, 0xf3, 0x43, 0x74, 0x07, 0x46, 0xb1, 0x43, 0xc4, 0xc1, 0x16, 0x3f, 0xd7, 0xa9, 0x14, 0xc3, - 0x8b, 0x54, 0xf3, 0x1e, 0x2f, 0x42, 0x9f, 0xc1, 0x2c, 0xeb, 0x90, 0xe0, 0xdc, 0x6d, 0xfb, 0xc4, - 0x0e, 0xe8, 0x59, 0x3f, 0xcc, 0x38, 0x46, 0x42, 0xb5, 0xaa, 0xc6, 0xf3, 0x6a, 0xca, 0xe7, 0xb7, - 0x48, 0xa5, 0xd1, 0x85, 0xf9, 0x44, 0x4e, 0x88, 0xb6, 0x61, 0xfe, 0xc4, 0x75, 0x82, 0xe3, 0xf6, - 0x0b, 0xc1, 0x08, 0x79, 0x6b, 0x39, 0xda, 0x1a, 0xfd, 0xf8, 0x13, 0x01, 0xcc, 0x59, 0x5e, 0xcc, - 0x29, 0xd2, 0x76, 0x1e, 0x0e, 0x8d, 0xe5, 0x0b, 0x83, 0x72, 0x24, 0x86, 0x09, 0x17, 0x62, 0x0c, - 0x05, 0x7d, 0x0f, 0x26, 0x9b, 0x54, 0x4e, 0xd7, 0x5a, 0x62, 0xec, 0x54, 0x29, 0x57, 0xf7, 0x0a, - 0x2b, 0x67, 0x43, 0xf9, 0xe7, 0x39, 0x58, 0x4c, 0x61, 0x25, 0xe7, 0x9f, 0xea, 0x2f, 0x60, 0xe1, - 0xc4, 0xfa, 0xba, 0xe1, 0x51, 0x35, 0xac, 0xe1, 0x59, 0x4e, 0x64, 0xb6, 0xe9, 0x67, 0x92, 0x0c, - 0xa1, 0xfa, 0x1e, 0x9c, 0x58, 0x5f, 0x9b, 0x14, 0xc0, 0x24, 0xf5, 0xac, 0x9f, 0xdf, 0x87, 0x29, - 0x8d, 0x79, 0x9c, 0xbb, 0x73, 0xc6, 0x3d, 0xb8, 0x40, 0x14, 0xd5, 0x00, 0xf7, 0x6d, 0x7e, 0x31, - 0x6a, 0x00, 0x75, 0x7c, 0x62, 0x75, 0x8e, 0x5d, 0x22, 0x54, 0x56, 0xd4, 0x5f, 0x5c, 0x7d, 0x47, - 0x5c, 0x9d, 0x96, 0x15, 0x07, 0xf7, 0x99, 0xa0, 0xe9, 0x4b, 0x48, 0x53, 0xc1, 0x32, 0xfe, 0x34, - 0x0f, 0x88, 0x7f, 0xfd, 0x1e, 0xb6, 0x4e, 0x44, 0x37, 0x3e, 0x84, 0x49, 0xa6, 0x6c, 0xb1, 0x62, - 0xda, 0x9d, 0x89, 0x95, 0x59, 0xce, 0x04, 0xd4, 0xaa, 0x8d, 0x01, 0x53, 0x03, 0x25, 0xa8, 0x26, - 0x66, 0x5a, 0x22, 0x45, 0xcd, 0x6b, 0xa8, 0x6a, 0x15, 0x41, 0x55, 0x7f, 0xa3, 0x4f, 0x61, 0x7a, - 0xd5, 0x3d, 0xe9, 0x90, 0x39, 0xe1, 0xc8, 0x83, 0x5c, 0x03, 0xe7, 0xed, 0x6a, 0x95, 0x1b, 0x03, - 0x66, 0x04, 0x1c, 0xed, 0xc0, 0xec, 0x83, 0x76, 0xd7, 0x3f, 0x2e, 0x3b, 0xad, 0xd5, 0xb6, 0xeb, - 0x0b, 0x2a, 0x43, 0x5c, 0x03, 0xe6, 0xca, 0x4a, 0x1c, 0x62, 0x63, 0xc0, 0x4c, 0x42, 0x44, 0xd7, - 0x61, 0xb8, 0xfa, 0x8c, 0xf0, 0x14, 0x71, 0x03, 0xcd, 0x1d, 0x64, 0x76, 0x1d, 0xbc, 0xfb, 0x64, - 0x63, 0xc0, 0x64, 0xb5, 0x95, 0x71, 0x18, 0x15, 0x8a, 0xda, 0x1d, 0x22, 0xef, 0xc9, 0xe9, 0xac, - 0x07, 0x56, 0xd0, 0xf5, 0x51, 0x11, 0xc6, 0xf6, 0x3b, 0x44, 0x7f, 0x10, 0x1a, 0xae, 0x29, 0x7f, - 0x1b, 0xef, 0xe8, 0x33, 0x8d, 0x96, 0x55, 0xbb, 0x27, 0x03, 0x0e, 0x0b, 0x8c, 0x0d, 0x7d, 0x72, - 0xb3, 0xa1, 0xb5, 0x76, 0xf3, 0x91, 0x76, 0x0b, 0xd1, 0xb9, 0x36, 0xe6, 0x13, 0x27, 0xcf, 0xf8, - 0x1c, 0xae, 0xec, 0x77, 0x7c, 0xec, 0x05, 0xe5, 0x4e, 0xa7, 0x6d, 0x37, 0xd9, 0x0d, 0x08, 0x55, - 0xe8, 0xc4, 0x66, 0x79, 0x1f, 0x46, 0x58, 0x01, 0xdf, 0x26, 0x62, 0x0f, 0x96, 0x3b, 0x1d, 0xae, - 0x46, 0xde, 0x67, 0x92, 0x27, 0x53, 0x0c, 0x4d, 0x0e, 0x6d, 0xfc, 0x4e, 0x0e, 0xae, 0xb0, 0x2f, - 0x20, 0x95, 0xf4, 0xb7, 0x60, 0x9c, 0xfa, 0xa7, 0x74, 0xac, 0xa6, 0xf8, 0x26, 0x98, 0xa3, 0x8e, - 0x28, 0x34, 0xc3, 0x7a, 0xc5, 0xf3, 0x27, 0x9f, 0xee, 0xf9, 0x23, 0x3e, 0xb0, 0xc1, 0xc4, 0x0f, - 0xec, 0x33, 0x30, 0x78, 0x8f, 0xda, 0xed, 0x58, 0xa7, 0xfc, 0x97, 0xe9, 0x95, 0xf1, 0x3f, 0xf2, - 0xb0, 0xb8, 0x8e, 0x1d, 0xec, 0x59, 0x74, 0x9c, 0x9a, 0xc1, 0x42, 0xf5, 0x01, 0xc8, 0x65, 0xfa, - 0x00, 0x94, 0x84, 0x09, 0x28, 0x4f, 0x4d, 0x40, 0x31, 0x77, 0x06, 0xa2, 0x0b, 0xed, 0x9b, 0x9b, - 0x7c, 0x58, 0x54, 0x17, 0xea, 0x7a, 0xb6, 0x49, 0xca, 0xd0, 0x66, 0xe8, 0x3f, 0x30, 0xd4, 0xd3, - 0x16, 0x34, 0xcb, 0xef, 0x53, 0x47, 0xb9, 0xff, 0x80, 0xee, 0x35, 0xb0, 0x03, 0x23, 0xcc, 0x72, - 0x45, 0x6f, 0x19, 0x26, 0x56, 0x6e, 0xf1, 0x6f, 0x2a, 0x65, 0x80, 0xdc, 0xcc, 0x55, 0x75, 0x02, - 0xef, 0x05, 0xdb, 0x02, 0x01, 0x2d, 0x30, 0x39, 0x95, 0xe2, 0x67, 0x30, 0xa1, 0x80, 0xa0, 0x02, - 0x0c, 0x3e, 0xe5, 0xbe, 0x13, 0xe3, 0x26, 0xf9, 0x13, 0xbd, 0x03, 0xc3, 0xcf, 0xac, 0x76, 0x17, - 0x73, 0x36, 0xb2, 0x10, 0xda, 0xe2, 0x88, 0x38, 0xe4, 0x1c, 0x31, 0x63, 0x9c, 0xc9, 0x80, 0x3e, - 0xca, 0x7f, 0x90, 0x33, 0x3e, 0x86, 0xa5, 0x78, 0x6f, 0xb8, 0xd5, 0xa4, 0x97, 0x91, 0xc6, 0x58, - 0x83, 0xb9, 0x75, 0x1c, 0xd0, 0x8d, 0x4b, 0x3f, 0x22, 0xc5, 0xb5, 0x23, 0xf2, 0x9d, 0x09, 0xae, - 0x2a, 0x6e, 0x23, 0xd4, 0xaf, 0xb4, 0x0e, 0xf3, 0x11, 0x2a, 0xbc, 0xfd, 0x8f, 0x60, 0x94, 0x17, - 0x49, 0x8e, 0xca, 0x5d, 0xe9, 0xf0, 0x21, 0xaf, 0x38, 0x58, 0x61, 0xfb, 0x96, 0x53, 0x36, 0x05, - 0x82, 0x71, 0x0c, 0x0b, 0xe4, 0x98, 0x0d, 0xa9, 0xca, 0xed, 0x78, 0x09, 0xc6, 0x3b, 0x44, 0x50, - 0xf0, 0xed, 0x9f, 0xb0, 0x6d, 0x34, 0x6c, 0x8e, 0x91, 0x82, 0xba, 0xfd, 0x13, 0x8c, 0x2e, 0x03, - 0xd0, 0x4a, 0x3a, 0x4c, 0xce, 0x05, 0x28, 0x38, 0xb3, 0x4a, 0x21, 0xa0, 0x3e, 0x34, 0x6c, 0xdf, - 0x98, 0xf4, 0x6f, 0xc3, 0x83, 0xc5, 0x58, 0x4b, 0x7c, 0x00, 0x77, 0x60, 0x4c, 0xc8, 0x67, 0x11, - 0x7b, 0xb1, 0x3a, 0x02, 0x53, 0x02, 0xa1, 0x1b, 0x30, 0xe3, 0xe0, 0xaf, 0x83, 0x46, 0xac, 0x0f, - 0x53, 0xa4, 0xb8, 0x26, 0xfa, 0x61, 0xfc, 0x0a, 0xb5, 0x11, 0xd6, 0x1d, 0xf7, 0xf9, 0x93, 0xb6, - 0xf5, 0x14, 0xc7, 0x1a, 0xfe, 0x1e, 0x8c, 0xd5, 0x7b, 0x37, 0xcc, 0x3e, 0x1f, 0xd1, 0xb8, 0x29, - 0x51, 0x8c, 0x36, 0x14, 0xc9, 0x90, 0xea, 0xe5, 0xed, 0xad, 0xcd, 0x56, 0xed, 0x9b, 0x9e, 0xc0, - 0x67, 0x70, 0x29, 0xb1, 0xb5, 0x6f, 0x7a, 0x12, 0xff, 0xed, 0x20, 0x2c, 0xb2, 0xc3, 0x24, 0xbe, - 0x83, 0xfb, 0x67, 0x35, 0xbf, 0x94, 0x9b, 0xb4, 0xbb, 0x09, 0x37, 0x69, 0x14, 0x45, 0xbd, 0x49, - 0xd3, 0xee, 0xcf, 0x3e, 0x48, 0xbe, 0x3f, 0xa3, 0x46, 0x10, 0xfd, 0xfe, 0x2c, 0x7a, 0x6b, 0x56, - 0x4d, 0xbf, 0x35, 0xa3, 0x77, 0x08, 0x09, 0xb7, 0x66, 0x09, 0x77, 0x65, 0x51, 0x57, 0x86, 0xb1, - 0xd7, 0xea, 0xca, 0xc0, 0x44, 0x6b, 0xe3, 0x00, 0x96, 0xe2, 0x0b, 0xf8, 0x1a, 0x98, 0xc7, 0x1f, - 0xe5, 0xe0, 0x32, 0x17, 0x33, 0x22, 0x9f, 0xd8, 0xf9, 0xf7, 0xc7, 0x7b, 0x30, 0xc9, 0x71, 0xf7, - 0xc2, 0xad, 0x58, 0xb9, 0x70, 0x76, 0x5a, 0x9a, 0x12, 0xec, 0x90, 0xf1, 0x54, 0x0d, 0x0c, 0xbd, - 0x07, 0x63, 0xf4, 0x8f, 0xd0, 0xca, 0x4e, 0xb4, 0x8f, 0x71, 0x0a, 0xda, 0x88, 0xda, 0xda, 0x25, - 0xa8, 0xf1, 0x15, 0x5c, 0x49, 0xeb, 0xf8, 0x6b, 0x98, 0x97, 0x7f, 0x97, 0x83, 0x4b, 0x9c, 0xbc, - 0xf6, 0xb1, 0xbe, 0x14, 0xdf, 0x3f, 0x87, 0x4b, 0xdf, 0x43, 0x98, 0x20, 0x0d, 0x8a, 0x7e, 0x0f, - 0xf2, 0xc3, 0x8d, 0xcb, 0xee, 0x61, 0xcd, 0x9a, 0x15, 0x58, 0xdc, 0x15, 0xc1, 0x3a, 0x69, 0x0b, - 0xdd, 0xd8, 0x54, 0x91, 0x8d, 0x1f, 0xc0, 0x72, 0xf2, 0x10, 0x5e, 0xc3, 0xfc, 0x3c, 0x84, 0x62, - 0x02, 0x5b, 0x7e, 0xb9, 0x53, 0xf1, 0x0b, 0xb8, 0x94, 0x48, 0xeb, 0x35, 0x74, 0x73, 0x83, 0x9c, - 0xf9, 0xc1, 0x6b, 0x58, 0x42, 0xe3, 0x31, 0x5c, 0x4c, 0xa0, 0xf4, 0x1a, 0xba, 0xb8, 0x0e, 0x8b, - 0x52, 0xd6, 0x7d, 0xa5, 0x1e, 0x6e, 0xc3, 0x65, 0x46, 0xe8, 0xf5, 0xac, 0xca, 0x23, 0xb8, 0xc4, - 0xc9, 0xbd, 0x86, 0xd9, 0xdb, 0x80, 0xe5, 0x50, 0xa5, 0x4d, 0x90, 0x54, 0xfa, 0x66, 0x32, 0xc6, - 0x16, 0x5c, 0x0d, 0x29, 0xa5, 0x1c, 0xdb, 0xfd, 0x53, 0x63, 0x02, 0x59, 0xb8, 0x4a, 0xaf, 0x65, - 0x45, 0x1f, 0xc3, 0x82, 0x46, 0xf4, 0xb5, 0x09, 0x2b, 0x9b, 0x30, 0xcb, 0x08, 0xeb, 0xc2, 0xeb, - 0x8a, 0x2a, 0xbc, 0x4e, 0xac, 0x5c, 0x08, 0x49, 0xd2, 0xe2, 0x83, 0xfb, 0x09, 0xf2, 0xec, 0x36, - 0x95, 0x67, 0x05, 0x48, 0xd8, 0xc3, 0xf7, 0x60, 0x84, 0x95, 0xf0, 0xfe, 0x25, 0x10, 0x63, 0xe2, - 0x3a, 0x43, 0xe3, 0xc0, 0xc6, 0x0f, 0xe1, 0x32, 0xd3, 0x05, 0xc3, 0xab, 0x2a, 0x5d, 0x5f, 0xfb, - 0x5e, 0x44, 0x15, 0xbc, 0xc8, 0xe9, 0x46, 0xe1, 0x53, 0x34, 0xc2, 0x43, 0xb1, 0xb7, 0xd3, 0xe8, - 0xf7, 0xf5, 0xb8, 0x43, 0xa8, 0x78, 0xf9, 0x44, 0x15, 0xef, 0x0d, 0xb8, 0x26, 0x55, 0xbc, 0x68, - 0x33, 0x62, 0x6b, 0x19, 0x3f, 0x80, 0x4b, 0x6c, 0xa0, 0xc2, 0xbd, 0x4a, 0xef, 0xc6, 0xc7, 0x91, - 0x61, 0x2e, 0xf2, 0x61, 0xea, 0xd0, 0x29, 0x83, 0xfc, 0xbb, 0x39, 0xf1, 0xc9, 0x25, 0x13, 0xff, - 0x65, 0xeb, 0xbc, 0x3b, 0x50, 0x92, 0x13, 0xa2, 0xf7, 0xe8, 0xe5, 0x14, 0xde, 0x6d, 0x98, 0x57, - 0xc9, 0xd8, 0x4d, 0x7c, 0x70, 0x8f, 0xde, 0x21, 0xbc, 0x4b, 0x3e, 0x0b, 0x5a, 0x20, 0xb6, 0xdd, - 0x52, 0xc2, 0xbc, 0x51, 0x78, 0x53, 0x42, 0x1a, 0x0d, 0x58, 0x8e, 0x2f, 0x85, 0xdd, 0x14, 0x3e, - 0xb7, 0xe8, 0x53, 0xf2, 0x09, 0xd3, 0x12, 0xbe, 0x18, 0xa9, 0x44, 0xc5, 0x77, 0xcc, 0xd0, 0x05, - 0x96, 0x61, 0x08, 0x56, 0x13, 0x19, 0x3f, 0x69, 0x5d, 0xec, 0x87, 0x5f, 0x07, 0x24, 0xaa, 0x56, - 0xeb, 0xa6, 0x68, 0xfa, 0x22, 0x0c, 0xae, 0xd6, 0x4d, 0xee, 0xea, 0x4f, 0x75, 0xee, 0xa6, 0xef, - 0x99, 0xa4, 0x2c, 0x2a, 0x13, 0xe7, 0xfb, 0x90, 0x89, 0x1f, 0x0e, 0x8d, 0x0d, 0x16, 0x86, 0x4c, - 0x54, 0xb7, 0x8f, 0x9c, 0xc7, 0x76, 0x70, 0x2c, 0x1b, 0x2c, 0x1b, 0x5f, 0xc2, 0xac, 0xd6, 0x3c, - 0xff, 0x8a, 0x33, 0xdf, 0x28, 0xa0, 0x1b, 0x30, 0xba, 0x5a, 0xa6, 0x3e, 0x0a, 0xd4, 0x68, 0x30, - 0xc9, 0xf8, 0x4d, 0xd3, 0x6a, 0xd0, 0x07, 0x70, 0xa6, 0xa8, 0x34, 0xfe, 0xd9, 0x90, 0x42, 0x5d, - 0x79, 0xf9, 0x91, 0x31, 0xba, 0x7b, 0x00, 0x6c, 0x87, 0x28, 0x83, 0x23, 0x02, 0xe0, 0x04, 0xbf, - 0xfa, 0x67, 0x2c, 0xd9, 0x54, 0x80, 0xfa, 0x7d, 0x19, 0xc2, 0x7d, 0x31, 0x19, 0x92, 0x78, 0x0c, - 0x25, 0x7d, 0x31, 0x39, 0x69, 0xdf, 0x54, 0x81, 0xd0, 0x0f, 0xa3, 0x0e, 0xcc, 0xc3, 0xf4, 0xca, - 0xe2, 0x4d, 0x71, 0x87, 0x19, 0x1f, 0xdb, 0xf9, 0x7c, 0x98, 0x9f, 0xc3, 0x3c, 0xc1, 0xb5, 0x9f, - 0x50, 0xd1, 0xbe, 0xfa, 0x75, 0x80, 0x1d, 0xc6, 0xdb, 0x47, 0x68, 0x3b, 0xd7, 0x33, 0xda, 0x09, - 0x81, 0xb9, 0x05, 0x3c, 0xa4, 0xd3, 0xc0, 0xb2, 0xce, 0x4c, 0xa6, 0x4f, 0x37, 0x91, 0xb9, 0x55, - 0x75, 0x5a, 0x1d, 0xd7, 0x96, 0x2a, 0x0b, 0xdb, 0x44, 0x5e, 0xbb, 0x81, 0x79, 0xb9, 0xa9, 0x02, - 0x19, 0x37, 0x32, 0x3d, 0x7c, 0xc7, 0x60, 0x68, 0x6f, 0x75, 0x6f, 0xab, 0x90, 0x33, 0xee, 0x00, - 0x28, 0x2d, 0x01, 0x8c, 0xec, 0xec, 0x9a, 0xdb, 0xe5, 0xad, 0xc2, 0x00, 0x9a, 0x87, 0x0b, 0x8f, - 0x37, 0x77, 0xd6, 0x76, 0x1f, 0xd7, 0x1b, 0xf5, 0xed, 0xb2, 0xb9, 0xb7, 0x5a, 0x36, 0xd7, 0x0a, - 0x39, 0xe3, 0x2b, 0x98, 0xd3, 0x47, 0xf8, 0x5a, 0x37, 0x61, 0x00, 0xb3, 0x52, 0x9e, 0x79, 0xf8, - 0x78, 0x4f, 0x71, 0x0f, 0xe4, 0xea, 0x57, 0xd4, 0xcd, 0x85, 0x2b, 0x6a, 0xfc, 0x33, 0x52, 0x80, - 0xd0, 0xdb, 0x4c, 0x2c, 0x88, 0xbe, 0xed, 0x23, 0x62, 0x41, 0x23, 0x94, 0x0b, 0x28, 0xeb, 0xfb, - 0x0e, 0xcc, 0xe9, 0xad, 0xf6, 0x6b, 0x27, 0x7a, 0x93, 0xfa, 0x4d, 0x2a, 0xae, 0xff, 0x08, 0xa9, - 0x86, 0x7b, 0xce, 0x59, 0xbf, 0x03, 0x05, 0x0e, 0x15, 0x9e, 0xbc, 0x6f, 0x08, 0x43, 0x5e, 0x2e, - 0xe1, 0x99, 0x92, 0x70, 0xd0, 0x75, 0xa1, 0x40, 0x38, 0x26, 0xc7, 0x64, 0x0d, 0xcc, 0xc1, 0xf0, - 0x56, 0x78, 0xa1, 0x62, 0xb2, 0x1f, 0xd4, 0x03, 0x3e, 0xb0, 0xbc, 0x40, 0x38, 0x15, 0x8d, 0x9b, - 0xf2, 0x37, 0x7a, 0x1b, 0x46, 0x1e, 0xd8, 0xed, 0x80, 0x1b, 0x27, 0xc2, 0x43, 0x9e, 0x90, 0x65, - 0x15, 0x26, 0x07, 0x30, 0x4c, 0xb8, 0xa0, 0x34, 0x78, 0x8e, 0xae, 0xa2, 0x25, 0x18, 0xdd, 0xc1, - 0x5f, 0x2b, 0xed, 0x8b, 0x9f, 0xc6, 0xfb, 0x70, 0x81, 0x3b, 0x6c, 0x29, 0xd3, 0x74, 0x8d, 0xbf, - 0xa6, 0xcc, 0x69, 0x4f, 0xba, 0x38, 0x49, 0x5a, 0x45, 0xf0, 0xf6, 0x3b, 0xad, 0x97, 0xc4, 0x23, - 0x07, 0xc5, 0x39, 0xf1, 0xde, 0x12, 0xf7, 0x30, 0xbd, 0x96, 0xf3, 0x4f, 0x73, 0xb0, 0x14, 0xd1, - 0xf3, 0x57, 0x8f, 0xad, 0x76, 0x1b, 0x3b, 0x47, 0x18, 0xdd, 0x84, 0xa1, 0xbd, 0xdd, 0xbd, 0x1a, - 0xb7, 0x53, 0x8a, 0xfb, 0x65, 0x52, 0x24, 0x61, 0x4c, 0x0a, 0x81, 0x1e, 0xc1, 0x05, 0xe1, 0x92, - 0x29, 0xab, 0xf8, 0x0a, 0x5d, 0xce, 0x76, 0xf0, 0x8c, 0xe3, 0xa1, 0x77, 0xb9, 0x51, 0xe2, 0xc7, - 0x5d, 0xdb, 0xc3, 0x2d, 0x6a, 0x7b, 0x09, 0x2f, 0x6b, 0x95, 0x1a, 0x53, 0x05, 0x63, 0x6f, 0xdf, - 0x8c, 0xdf, 0xcf, 0xc1, 0x62, 0x8a, 0xdd, 0x02, 0xbd, 0xad, 0x0d, 0x67, 0x56, 0x19, 0x8e, 0x00, - 0xd9, 0x18, 0xe0, 0xe3, 0x59, 0x55, 0xfc, 0x54, 0x07, 0xcf, 0xe1, 0xa7, 0xba, 0x31, 0x10, 0xfa, - 0xa6, 0x56, 0x00, 0xc6, 0x44, 0xb9, 0x31, 0x03, 0x53, 0xda, 0xbc, 0x19, 0x06, 0x4c, 0xaa, 0x2d, - 0x93, 0xc5, 0x59, 0x75, 0x5b, 0x72, 0x71, 0xc8, 0xdf, 0xc6, 0xef, 0xe6, 0x60, 0x8e, 0x0e, 0xf1, - 0xc8, 0x26, 0xac, 0x2f, 0x9c, 0xa1, 0x15, 0x6d, 0x24, 0xcb, 0xda, 0x48, 0x22, 0xb0, 0x72, 0x48, - 0x1f, 0xc5, 0x86, 0xb4, 0x9c, 0x34, 0x24, 0xba, 0xbd, 0x6d, 0xd7, 0xd1, 0x46, 0xa2, 0x5c, 0x06, - 0xfd, 0x41, 0x0e, 0x66, 0x95, 0x3e, 0xc9, 0xfe, 0xdf, 0xd3, 0xba, 0x74, 0x29, 0xa1, 0x4b, 0xb1, - 0x49, 0xae, 0xc4, 0x7a, 0xf4, 0x66, 0x56, 0x8f, 0x7a, 0xce, 0xf1, 0x7f, 0xcb, 0xc1, 0x7c, 0xe2, - 0x1c, 0xa0, 0x05, 0x22, 0xdb, 0x36, 0x3d, 0x1c, 0xf0, 0xe9, 0xe5, 0xbf, 0x48, 0xf9, 0xa6, 0xef, - 0x77, 0xb1, 0xc7, 0xbf, 0x73, 0xfe, 0x0b, 0xbd, 0x09, 0x53, 0x35, 0xec, 0xd9, 0x6e, 0x8b, 0x79, - 0x30, 0x33, 0xd7, 0xc0, 0x29, 0x53, 0x2f, 0x44, 0xcb, 0x30, 0x5e, 0x6e, 0x1f, 0xb9, 0x9e, 0x1d, - 0x1c, 0xb3, 0xfb, 0xb8, 0x71, 0x33, 0x2c, 0x20, 0xb4, 0xd7, 0xec, 0x23, 0x76, 0xad, 0x40, 0x90, - 0xf9, 0x2f, 0xc2, 0x5c, 0x84, 0xbd, 0x6e, 0x84, 0x31, 0x17, 0x61, 0x8c, 0x5b, 0x80, 0x91, 0xcf, - 0x4c, 0xba, 0x09, 0xe8, 0x8b, 0x63, 0x93, 0xff, 0x42, 0xd3, 0xd4, 0x07, 0x95, 0xbe, 0x27, 0xa6, - 0xbe, 0xa7, 0x1f, 0xc1, 0x5c, 0xd2, 0xbc, 0x26, 0x6d, 0x21, 0x8e, 0x9b, 0x97, 0xb8, 0x3f, 0x80, - 0xd9, 0x72, 0xab, 0xb5, 0xfd, 0xa0, 0xcc, 0x6e, 0xfd, 0xf9, 0xaa, 0xb2, 0x8f, 0x87, 0xd9, 0xeb, - 0xb8, 0xc8, 0x36, 0xb4, 0xe9, 0xd8, 0x81, 0x39, 0x5b, 0xfd, 0xda, 0xf6, 0x03, 0xdb, 0x39, 0x52, - 0xcc, 0x7a, 0xe6, 0xc2, 0x0e, 0x7e, 0x9e, 0xb0, 0x05, 0xc8, 0x69, 0xaa, 0xd3, 0x96, 0x66, 0xc0, - 0x28, 0xf1, 0x39, 0x85, 0x6c, 0xc8, 0x4a, 0x16, 0x75, 0xba, 0x61, 0xc5, 0x60, 0xb9, 0xf9, 0xd4, - 0xf8, 0x0e, 0x2c, 0x30, 0x96, 0x96, 0xd5, 0x79, 0xde, 0x6d, 0xd5, 0x0a, 0x69, 0x7c, 0x20, 0xac, - 0x14, 0x99, 0x3d, 0x33, 0x27, 0xb5, 0xbe, 0xd0, 0x26, 0xff, 0x7b, 0x0e, 0x8a, 0x11, 0xd4, 0xfa, - 0x0b, 0xa7, 0x29, 0xf8, 0xe9, 0x8d, 0xa8, 0x8f, 0x2f, 0x95, 0x03, 0x98, 0xf1, 0xcf, 0x6e, 0x49, - 0x37, 0x5f, 0x74, 0x07, 0x80, 0x21, 0x2b, 0xc7, 0x37, 0x35, 0x3e, 0x73, 0x1f, 0x0e, 0x7a, 0x80, - 0x2b, 0x20, 0xa8, 0x0b, 0x49, 0xf3, 0xce, 0xbf, 0x91, 0x5e, 0xd6, 0x59, 0xfa, 0xca, 0x1e, 0x73, - 0xf4, 0x46, 0x8a, 0x99, 0x36, 0x89, 0xbe, 0xf1, 0xf7, 0x06, 0x61, 0x51, 0x5d, 0xc0, 0x97, 0x19, - 0x6b, 0x0d, 0x26, 0x56, 0x5d, 0x27, 0xc0, 0x5f, 0x07, 0xca, 0x2b, 0x67, 0x24, 0xef, 0xba, 0x65, - 0x0d, 0x17, 0x1d, 0x59, 0x41, 0x83, 0xc8, 0x31, 0x9a, 0x2f, 0x5a, 0x08, 0x88, 0x56, 0x61, 0x6a, - 0x07, 0x3f, 0x8f, 0x4d, 0x20, 0xf5, 0x87, 0x73, 0xf0, 0xf3, 0x86, 0x32, 0x89, 0xaa, 0x93, 0x92, - 0x86, 0x83, 0x0e, 0x61, 0x5a, 0x6c, 0x2e, 0x6d, 0x32, 0x8b, 0xea, 0xa9, 0xa2, 0x6f, 0x67, 0xf6, - 0x0e, 0x98, 0xb4, 0x90, 0x32, 0x87, 0x11, 0x8a, 0x64, 0xe8, 0xac, 0x45, 0xf6, 0xb4, 0x55, 0x3f, - 0xb6, 0x94, 0x1a, 0xcd, 0xdb, 0x30, 0xfa, 0xa4, 0x55, 0x25, 0x61, 0xd4, 0x60, 0x29, 0xbe, 0x1e, - 0xbc, 0xb5, 0x77, 0x61, 0x84, 0x95, 0x72, 0x31, 0x40, 0x04, 0xb0, 0x90, 0xd0, 0x4c, 0x4f, 0x67, - 0xcd, 0x98, 0x1c, 0xd6, 0xd8, 0xa0, 0xb6, 0x13, 0x09, 0x23, 0x05, 0xb1, 0xbb, 0xd1, 0xe5, 0xa5, - 0x8e, 0x9c, 0x62, 0x79, 0x55, 0x4f, 0x0f, 0xe1, 0xbb, 0xbe, 0x4a, 0xcd, 0x4f, 0x2a, 0x25, 0xde, - 0xb1, 0x5b, 0x30, 0xca, 0x8b, 0x22, 0xa1, 0x35, 0xc2, 0xcf, 0x4f, 0x00, 0x18, 0x1f, 0xc1, 0x45, - 0x6a, 0x0b, 0xb3, 0x9d, 0xa3, 0x36, 0xde, 0xf7, 0x35, 0xef, 0xf3, 0x5e, 0x9f, 0xf5, 0x77, 0xa1, - 0x98, 0x84, 0xdb, 0xf3, 0xcb, 0x66, 0x8f, 0xdd, 0xff, 0x22, 0x0f, 0x73, 0x9b, 0xbe, 0x2a, 0x4c, - 0xf0, 0x99, 0xb8, 0x9d, 0xf4, 0x0c, 0x9b, 0xce, 0xc9, 0xc6, 0x40, 0xd2, 0x33, 0xeb, 0x77, 0x95, - 0x67, 0x6d, 0xf9, 0xac, 0xf7, 0xd5, 0xe4, 0xd8, 0x92, 0x0f, 0xdb, 0x6e, 0xc0, 0xd0, 0x0e, 0x61, - 0xd5, 0x83, 0x7c, 0xed, 0x18, 0x06, 0x29, 0xa2, 0xcf, 0xca, 0xc8, 0x11, 0x49, 0x7e, 0xa0, 0x07, - 0xb1, 0xc7, 0x6b, 0x43, 0xbd, 0xdf, 0x0f, 0x6f, 0x0c, 0xc4, 0xde, 0xb1, 0xbd, 0x0f, 0x13, 0xe5, - 0xd6, 0x09, 0x73, 0x38, 0x73, 0x9d, 0xc8, 0x67, 0xa9, 0xd4, 0x6c, 0x0c, 0x98, 0x2a, 0x20, 0xd1, - 0x70, 0xcb, 0x9d, 0x0e, 0x3d, 0xa8, 0x92, 0xde, 0x54, 0x6f, 0x0c, 0x50, 0xff, 0xed, 0xca, 0x18, - 0x8c, 0xec, 0x59, 0xde, 0x11, 0x0e, 0x8c, 0x1f, 0x40, 0x91, 0xbb, 0x89, 0x30, 0xcb, 0x1f, 0x75, - 0x26, 0xf1, 0x43, 0x4f, 0xa0, 0x2c, 0xd7, 0x8e, 0x2b, 0x00, 0x54, 0xce, 0xdf, 0x74, 0x5a, 0xf8, - 0x6b, 0xe6, 0xcd, 0x64, 0x2a, 0x25, 0xc6, 0x7b, 0x30, 0x2e, 0x67, 0x88, 0x0a, 0xb3, 0xca, 0x61, - 0x47, 0x67, 0x6b, 0x4e, 0x7b, 0xad, 0x27, 0x9e, 0xe8, 0x5d, 0xd4, 0xc6, 0xce, 0x63, 0x24, 0x30, - 0xe9, 0xd7, 0x86, 0xf9, 0xc8, 0x26, 0x08, 0x1f, 0xe1, 0x4a, 0xf9, 0x93, 0x7a, 0x3e, 0x99, 0xf2, - 0x77, 0x54, 0x3c, 0xcd, 0xf7, 0x25, 0x9e, 0x1a, 0xff, 0x32, 0x4f, 0x15, 0xa7, 0xd8, 0x7c, 0x44, - 0x6c, 0x50, 0xaa, 0x1d, 0xac, 0x02, 0xe3, 0x74, 0xf4, 0x6b, 0xe2, 0x65, 0x51, 0xb6, 0x97, 0xc3, - 0xd8, 0xcf, 0x4e, 0x4b, 0x03, 0xd4, 0xb5, 0x21, 0x44, 0x43, 0x9f, 0xc0, 0x68, 0xd5, 0x69, 0x51, - 0x0a, 0x83, 0xe7, 0xa0, 0x20, 0x90, 0xc8, 0x9a, 0xd0, 0x2e, 0xef, 0x91, 0x4f, 0x98, 0x99, 0x2e, - 0x4c, 0xa5, 0x24, 0xd4, 0xe0, 0x86, 0xd3, 0x34, 0xb8, 0x91, 0x88, 0x06, 0x67, 0xc0, 0xf0, 0xae, - 0xd7, 0xe2, 0xb1, 0x0d, 0xa6, 0x57, 0x26, 0xf9, 0xc4, 0xd1, 0x32, 0x93, 0x55, 0x19, 0xff, 0x2b, - 0x07, 0x8b, 0xeb, 0x38, 0x48, 0xdc, 0x43, 0xda, 0xac, 0xe4, 0x5e, 0x79, 0x56, 0xf2, 0x2f, 0x33, - 0x2b, 0x72, 0xd4, 0x83, 0x69, 0xa3, 0x1e, 0x4a, 0x1b, 0xf5, 0x70, 0xfa, 0xa8, 0xd7, 0x61, 0x84, - 0x0d, 0x95, 0x68, 0xa9, 0x9b, 0x01, 0x3e, 0x09, 0xb5, 0x54, 0xd5, 0x47, 0xcb, 0x64, 0x75, 0x44, - 0x90, 0xdc, 0xb2, 0x7c, 0x55, 0x4b, 0xe5, 0x3f, 0x8d, 0x1f, 0xd1, 0x37, 0x89, 0x5b, 0x6e, 0xf3, - 0xa9, 0x62, 0xed, 0x1c, 0x65, 0x5f, 0x68, 0xd4, 0x3a, 0x4e, 0xa0, 0x58, 0x8d, 0x29, 0x20, 0xd0, - 0x55, 0x98, 0xd8, 0x74, 0x1e, 0xb8, 0x5e, 0x13, 0xef, 0x3a, 0x6d, 0x46, 0x7d, 0xcc, 0x54, 0x8b, - 0xb8, 0x15, 0x80, 0xb7, 0x10, 0xaa, 0xd6, 0xb4, 0x20, 0xa2, 0x5a, 0x93, 0xb2, 0x83, 0x15, 0x93, - 0xd5, 0x71, 0x23, 0x03, 0xf9, 0x3b, 0x4b, 0x2b, 0x95, 0xea, 0x6b, 0x2f, 0xc0, 0x43, 0xb8, 0x68, - 0xe2, 0x4e, 0xdb, 0x22, 0x32, 0xdd, 0x89, 0xcb, 0xe0, 0xe5, 0x98, 0xaf, 0x26, 0xbc, 0x27, 0xd2, - 0x6f, 0xec, 0x65, 0x97, 0xf3, 0x19, 0x5d, 0x3e, 0x81, 0x6b, 0xeb, 0x38, 0xd0, 0x19, 0x6a, 0x68, - 0x4b, 0xe5, 0x83, 0xdf, 0x80, 0x31, 0x5f, 0xb7, 0x03, 0x5f, 0x11, 0xd7, 0x0f, 0x49, 0x88, 0x07, - 0xf7, 0xc5, 0x4d, 0x09, 0xa7, 0x23, 0xff, 0x32, 0x3e, 0x85, 0x52, 0x5a, 0x73, 0xfd, 0x39, 0x54, - 0xda, 0x70, 0x35, 0x9d, 0x00, 0xef, 0x6e, 0x15, 0x84, 0xcd, 0x98, 0x7f, 0x42, 0xbd, 0x7a, 0xab, - 0x9b, 0x99, 0xf9, 0x1f, 0x46, 0x45, 0xb8, 0x96, 0xbd, 0x42, 0x77, 0x1b, 0xf4, 0x3a, 0x56, 0x27, - 0x10, 0xce, 0x6b, 0x19, 0xc6, 0x44, 0x19, 0x9f, 0xd7, 0xc5, 0xc4, 0x9e, 0x8a, 0x09, 0x6d, 0x09, - 0x02, 0x12, 0xcd, 0xf8, 0x91, 0xb8, 0x9a, 0xd0, 0x31, 0xfa, 0x7b, 0x60, 0xd7, 0xcf, 0x5d, 0x84, - 0xe1, 0xc2, 0x45, 0x9d, 0xb6, 0x6a, 0x72, 0x2e, 0x28, 0x26, 0x67, 0x66, 0x69, 0xbe, 0xaa, 0x9b, - 0x40, 0xf3, 0x7c, 0x5f, 0x86, 0x45, 0xe8, 0x8a, 0x6a, 0x58, 0x9e, 0x8c, 0xbf, 0xd8, 0xbb, 0x0b, - 0xc5, 0xa4, 0x06, 0x15, 0x3d, 0x50, 0x5a, 0x2f, 0xb9, 0xbc, 0xf3, 0x9b, 0x39, 0x30, 0x34, 0xff, - 0x1d, 0xba, 0x42, 0x35, 0xcf, 0x7d, 0x66, 0xb7, 0x94, 0x4b, 0x91, 0xb7, 0x35, 0x83, 0x1c, 0x7b, - 0x2b, 0x15, 0x75, 0x1d, 0xe6, 0xdc, 0xee, 0x6e, 0xc4, 0x48, 0xc6, 0x44, 0x46, 0xea, 0xd3, 0xf3, - 0x14, 0xab, 0x6f, 0x0d, 0xa4, 0xf1, 0xec, 0xff, 0xe4, 0xe0, 0x8d, 0xcc, 0x3e, 0xf0, 0xfe, 0x1f, - 0x42, 0x21, 0x5a, 0xc7, 0xd7, 0xbe, 0xa4, 0x78, 0x13, 0xc4, 0x29, 0x1c, 0xdc, 0x63, 0xfe, 0xc9, - 0xc2, 0xef, 0xa5, 0x23, 0x29, 0xc7, 0xe8, 0x9d, 0xbf, 0xf7, 0xe8, 0x43, 0x80, 0x3d, 0x37, 0xb0, - 0xda, 0xab, 0x54, 0x75, 0x1f, 0x0c, 0x7d, 0xcd, 0x03, 0x52, 0xda, 0x88, 0x3e, 0x4c, 0x57, 0x80, - 0x8d, 0xef, 0xd3, 0x2f, 0x32, 0xb9, 0xd3, 0xfd, 0x7d, 0x24, 0xab, 0xf0, 0x46, 0xe4, 0x46, 0xfb, - 0x25, 0x88, 0x04, 0x30, 0x4f, 0xa6, 0x9f, 0x48, 0xcd, 0xeb, 0x9e, 0xdb, 0xed, 0xfc, 0x72, 0x56, - 0xfd, 0x4f, 0x72, 0xcc, 0xc9, 0x4f, 0x6d, 0x96, 0x2f, 0xf4, 0x2a, 0x40, 0x58, 0x1a, 0x71, 0xf6, - 0x96, 0x15, 0x07, 0xf7, 0x98, 0xb2, 0x4c, 0x6d, 0xdd, 0x47, 0x8c, 0x80, 0x82, 0xf6, 0xcb, 0x5d, - 0xc9, 0xfb, 0xf4, 0x1a, 0x5b, 0xb6, 0xde, 0xdf, 0xbc, 0xbf, 0x2f, 0x2c, 0x17, 0xe7, 0xc4, 0x3b, - 0x86, 0x39, 0xf2, 0xed, 0x12, 0x2d, 0xdf, 0xf5, 0xec, 0x40, 0x3c, 0x5b, 0x40, 0x35, 0xfe, 0xe8, - 0x97, 0x61, 0x7d, 0xf7, 0x17, 0xa7, 0xa5, 0x0f, 0xce, 0x13, 0xaf, 0x4d, 0xd0, 0xdc, 0x93, 0x0f, - 0x85, 0x8d, 0x45, 0x18, 0x5c, 0x35, 0xb7, 0x28, 0xab, 0x32, 0xb7, 0x24, 0xab, 0x32, 0xb7, 0x8c, - 0xff, 0x99, 0x87, 0x12, 0x0b, 0x4b, 0x40, 0xbd, 0x1f, 0x42, 0x7b, 0x83, 0xe2, 0x4e, 0xd1, 0xaf, - 0x69, 0x20, 0x12, 0x76, 0x20, 0xdf, 0x4f, 0xd8, 0x81, 0x5f, 0x83, 0x14, 0x63, 0x53, 0x1f, 0xfa, - 0xfb, 0x5b, 0x67, 0xa7, 0xa5, 0x37, 0x42, 0xfd, 0x9d, 0xd5, 0x26, 0x29, 0xf2, 0x29, 0x4d, 0xc4, - 0x2d, 0x0f, 0x43, 0x2f, 0x61, 0x79, 0xb8, 0x0b, 0xa3, 0x54, 0x0d, 0xd9, 0xac, 0x71, 0x8f, 0x40, - 0xba, 0x3d, 0x69, 0x0c, 0x91, 0x86, 0xad, 0x06, 0x72, 0x12, 0x60, 0xc6, 0x3f, 0xc8, 0xc3, 0xd5, - 0xf4, 0x39, 0xe7, 0x7d, 0x5b, 0x03, 0x08, 0xfd, 0x2e, 0xb2, 0xfc, 0x3c, 0xe8, 0xb7, 0xf3, 0x1c, - 0x1f, 0x4a, 0x3f, 0x2b, 0x05, 0x8f, 0x48, 0x2d, 0xe2, 0x05, 0x68, 0xc4, 0xc8, 0xaf, 0x3d, 0x0c, - 0xe5, 0x51, 0x08, 0x79, 0x91, 0x16, 0x85, 0x90, 0x97, 0xa1, 0x43, 0x58, 0xac, 0x79, 0xf6, 0x33, - 0x2b, 0xc0, 0x8f, 0xf0, 0x0b, 0xf6, 0x88, 0xa4, 0xca, 0x5f, 0x8e, 0xb0, 0x67, 0xbd, 0x37, 0xcf, - 0x4e, 0x4b, 0x6f, 0x76, 0x18, 0x08, 0xf9, 0x30, 0x1b, 0xec, 0x4d, 0x5a, 0x23, 0xfe, 0x98, 0x24, - 0x8d, 0x90, 0xf1, 0xc7, 0x39, 0xb8, 0x44, 0x05, 0x6a, 0x6e, 0x30, 0x15, 0x8d, 0xbf, 0x94, 0xbb, - 0x9f, 0x3a, 0x40, 0xbe, 0x17, 0xa9, 0xbb, 0x9f, 0xf6, 0x42, 0xd6, 0xd4, 0xc0, 0xd0, 0x26, 0x4c, - 0xf0, 0xdf, 0xf4, 0xfb, 0x1b, 0xa4, 0xa2, 0xfc, 0xbc, 0xc2, 0xb0, 0xe8, 0x56, 0x67, 0x46, 0x1e, - 0xba, 0xb1, 0x39, 0x31, 0xfa, 0x90, 0xcc, 0x54, 0x71, 0x8d, 0x9f, 0xe7, 0x61, 0xf9, 0x00, 0x7b, - 0xf6, 0x93, 0x17, 0x29, 0x83, 0xd9, 0x85, 0x39, 0x51, 0xc4, 0x42, 0x13, 0x68, 0x9f, 0x18, 0x8b, - 0x44, 0x26, 0xba, 0xca, 0x63, 0x1b, 0x88, 0x2f, 0x2e, 0x11, 0xf1, 0x1c, 0x8e, 0x7c, 0xef, 0xc2, - 0x58, 0x24, 0x38, 0x08, 0x5d, 0x7f, 0xf1, 0x85, 0x86, 0x4b, 0xb5, 0x31, 0x60, 0x4a, 0x48, 0xf4, - 0x5b, 0xe9, 0x37, 0x2f, 0xdc, 0x68, 0xd1, 0xcb, 0x72, 0x49, 0x3f, 0x58, 0xf2, 0xb1, 0x5a, 0x4a, - 0x6d, 0xc2, 0x07, 0xbb, 0x31, 0x60, 0xa6, 0xb5, 0x54, 0x99, 0x80, 0xf1, 0x32, 0xbd, 0x4d, 0x22, - 0x3a, 0xf7, 0xff, 0xce, 0xc3, 0x15, 0xf1, 0x20, 0x24, 0x65, 0x9a, 0x3f, 0x87, 0x45, 0x51, 0x54, - 0xee, 0x10, 0x81, 0x01, 0xb7, 0xf4, 0x99, 0x66, 0xd1, 0x00, 0xc5, 0x4c, 0x5b, 0x1c, 0x26, 0x9c, - 0xec, 0x34, 0xf4, 0xd7, 0x63, 0xb7, 0xfc, 0x24, 0x29, 0x54, 0x0b, 0xb5, 0x1f, 0xaa, 0x3c, 0x53, - 0x9b, 0x1a, 0x8d, 0x7f, 0xb6, 0x62, 0x76, 0xcf, 0xa1, 0x57, 0xb5, 0x7b, 0x6e, 0x0c, 0x44, 0x2d, - 0x9f, 0x95, 0x69, 0x98, 0xdc, 0xc1, 0xcf, 0xc3, 0x79, 0xff, 0xdb, 0xb9, 0xc8, 0x13, 0x74, 0x22, - 0x61, 0xb0, 0xb7, 0xe8, 0xb9, 0x30, 0xda, 0x07, 0x7d, 0x82, 0xae, 0x4a, 0x18, 0x0c, 0x74, 0x13, - 0x46, 0xd9, 0x15, 0x6b, 0xab, 0x0f, 0xdd, 0x5c, 0xbe, 0xec, 0x60, 0xcf, 0xed, 0x5a, 0x4c, 0x4d, - 0xe7, 0xf8, 0xc6, 0x23, 0xb8, 0xc6, 0x3d, 0x8f, 0xf5, 0xc5, 0xa7, 0x0d, 0x9d, 0xf3, 0xf8, 0x32, - 0x2c, 0xb8, 0xb2, 0x8e, 0xa3, 0xac, 0x47, 0x7b, 0xf9, 0xf2, 0x29, 0xcc, 0x68, 0xe5, 0x92, 0x22, - 0x95, 0x4a, 0xe5, 0x1e, 0x92, 0xa4, 0xa3, 0xd0, 0xc6, 0xd5, 0xa4, 0x26, 0xd4, 0xce, 0x1a, 0x98, - 0x86, 0xf5, 0xf3, 0xc2, 0xcb, 0x31, 0xff, 0x1c, 0x5c, 0xef, 0xa6, 0xf2, 0x5d, 0x33, 0x8e, 0xc7, - 0xe2, 0x7b, 0x89, 0x93, 0x57, 0xd6, 0x1a, 0x53, 0x9a, 0x15, 0xdf, 0x98, 0x86, 0x49, 0x51, 0xd5, - 0xc6, 0xbe, 0x6f, 0xfc, 0x74, 0x18, 0x0c, 0x3e, 0xb1, 0x49, 0xf7, 0xc6, 0x62, 0x3e, 0x0e, 0x63, - 0x9d, 0xe5, 0x07, 0xd5, 0x82, 0x1a, 0x51, 0x2e, 0xac, 0x65, 0x3b, 0x8f, 0xca, 0x79, 0xcd, 0xb0, - 0x54, 0xdb, 0x79, 0xb1, 0xd1, 0x7f, 0x99, 0xc2, 0x26, 0xd9, 0xc7, 0x76, 0xfd, 0xec, 0xb4, 0x74, - 0x2d, 0x85, 0x4d, 0x6a, 0x74, 0x93, 0x59, 0xa6, 0xa9, 0x5f, 0x66, 0x0c, 0xbe, 0xcc, 0x65, 0x06, - 0xf9, 0x22, 0xd5, 0xeb, 0x8c, 0x7d, 0x7d, 0x2e, 0xf9, 0xf7, 0x28, 0x2e, 0xa3, 0xd5, 0x2a, 0xfe, - 0x12, 0x5c, 0x29, 0xd1, 0xa8, 0x6a, 0x64, 0x90, 0x0d, 0x05, 0xc5, 0xda, 0xb8, 0x7a, 0x8c, 0x9b, - 0x4f, 0xb9, 0x95, 0x57, 0x5c, 0xc5, 0x26, 0x59, 0xbb, 0x59, 0x64, 0x51, 0xf6, 0x9d, 0xb3, 0x8a, - 0x46, 0x93, 0xa0, 0xaa, 0x2f, 0xd9, 0xa3, 0x64, 0xd1, 0x4f, 0x60, 0x56, 0x2e, 0x75, 0xc4, 0x71, - 0x68, 0x62, 0xe5, 0xcd, 0x30, 0x04, 0xe1, 0xc9, 0x13, 0xeb, 0xf6, 0xb3, 0x7b, 0xb7, 0x13, 0x60, - 0xd9, 0x03, 0xe9, 0xa6, 0xa8, 0x50, 0xbc, 0x86, 0xd4, 0x2b, 0xaa, 0x24, 0x44, 0xe5, 0x22, 0xfa, - 0xf7, 0xa4, 0x9b, 0x3b, 0x91, 0x17, 0xec, 0x36, 0xe6, 0x2f, 0x46, 0xc4, 0xee, 0x4b, 0xb9, 0x44, - 0xcb, 0x7d, 0xc3, 0x97, 0x68, 0x7f, 0x98, 0x17, 0xce, 0xfd, 0xf1, 0x7b, 0xcc, 0x73, 0xdf, 0xa5, - 0x25, 0x8e, 0xa0, 0xaf, 0xc3, 0x34, 0xb1, 0x73, 0xa8, 0x22, 0x6e, 0x22, 0x65, 0xd0, 0xa0, 0x69, - 0x69, 0xd5, 0x0f, 0x2b, 0xb4, 0xcb, 0x49, 0x2a, 0xba, 0x28, 0x58, 0xd1, 0x6b, 0xae, 0xc1, 0x57, - 0xbf, 0xe6, 0xfa, 0x37, 0xe3, 0x70, 0xa1, 0x66, 0x1d, 0xd9, 0x0e, 0x61, 0xda, 0x26, 0xf6, 0xdd, - 0xae, 0xd7, 0xc4, 0xa8, 0x0c, 0xd3, 0xba, 0xe7, 0x66, 0x0f, 0xbf, 0x54, 0x72, 0x2e, 0xe9, 0x65, - 0x68, 0x05, 0xc6, 0xe5, 0x7b, 0x4d, 0x7e, 0x98, 0x24, 0xbc, 0xe3, 0xdc, 0x18, 0x30, 0x43, 0x30, - 0xf4, 0xa1, 0x76, 0x33, 0x33, 0x23, 0x9f, 0x1e, 0x53, 0xd8, 0x15, 0xe6, 0x5a, 0xe7, 0xb8, 0x2d, - 0xfd, 0x40, 0x64, 0xd7, 0x0f, 0x3f, 0x8a, 0x5d, 0xd6, 0x0c, 0x6b, 0x3d, 0x8e, 0x59, 0xac, 0xa8, - 0x2c, 0x90, 0x1a, 0xda, 0x35, 0xe1, 0x1a, 0xe7, 0x07, 0x30, 0xf1, 0xa8, 0x7b, 0x88, 0xc5, 0xb5, - 0xd4, 0x08, 0x3f, 0x1f, 0xa3, 0xfe, 0xc8, 0xbc, 0xfe, 0xe0, 0x3e, 0x5b, 0x83, 0xa7, 0xdd, 0x43, - 0x1c, 0x8f, 0x19, 0x4c, 0x18, 0x93, 0x42, 0x0c, 0x1d, 0x43, 0x21, 0xea, 0x3a, 0xcc, 0xc3, 0x6c, - 0x65, 0x38, 0x3c, 0xd3, 0x18, 0x0f, 0x4a, 0x64, 0x62, 0xe6, 0xd0, 0xa8, 0x35, 0x12, 0xa3, 0x8a, - 0x7e, 0x1d, 0xe6, 0x13, 0xed, 0x85, 0xf2, 0xf9, 0x51, 0xb6, 0x29, 0x92, 0x32, 0xf5, 0xc8, 0xac, - 0x89, 0xb7, 0x4e, 0x5a, 0xcb, 0xc9, 0xad, 0xa0, 0x16, 0xcc, 0x44, 0x5c, 0x62, 0x79, 0xf0, 0xf5, - 0x74, 0x27, 0x5b, 0x7a, 0x30, 0x89, 0x48, 0x95, 0x89, 0x6d, 0x45, 0x49, 0xa2, 0x2d, 0x18, 0x97, - 0xea, 0x3e, 0x0d, 0xd7, 0x93, 0x6c, 0xda, 0x58, 0x3a, 0x3b, 0x2d, 0xcd, 0x85, 0xa6, 0x0d, 0x8d, - 0x66, 0x48, 0x00, 0xfd, 0x06, 0x5c, 0x93, 0x5b, 0x74, 0xd7, 0x4b, 0x36, 0x02, 0xf1, 0xc8, 0xc7, - 0xb7, 0xa2, 0x3b, 0x3c, 0x0d, 0xfe, 0xe0, 0x5e, 0x25, 0xbf, 0x94, 0xdb, 0x18, 0x30, 0x7b, 0x93, - 0x46, 0x3f, 0xcd, 0xc1, 0x42, 0x4a, 0xab, 0x93, 0xb4, 0xd5, 0x9e, 0x96, 0x39, 0x2a, 0xdc, 0xd3, - 0x07, 0x3f, 0x76, 0x2b, 0x7c, 0x9a, 0x26, 0x4c, 0x74, 0xda, 0xb8, 0x53, 0x5a, 0x42, 0xef, 0xc0, - 0x08, 0xd5, 0x91, 0xfd, 0xa5, 0x29, 0x2a, 0x45, 0xd2, 0xd0, 0x26, 0x54, 0x93, 0x56, 0xcf, 0x0d, - 0x0e, 0x83, 0x36, 0x88, 0x34, 0x46, 0xcf, 0x2d, 0x21, 0x3d, 0xf1, 0x40, 0x48, 0x5c, 0xa2, 0x67, - 0x55, 0x22, 0x42, 0x84, 0x16, 0xe2, 0x5a, 0x47, 0xab, 0x00, 0x8c, 0x79, 0x9c, 0x2b, 0x3d, 0x1c, - 0x1a, 0x1b, 0x2a, 0x0c, 0xb3, 0x0f, 0x47, 0xf8, 0x5a, 0xff, 0xf6, 0x18, 0x7b, 0x1a, 0xb9, 0xef, - 0xd8, 0x4f, 0xec, 0x90, 0x81, 0xa9, 0xd6, 0xb5, 0x30, 0xd3, 0x04, 0x97, 0x7d, 0x53, 0x72, 0x4a, - 0x48, 0x43, 0x5c, 0xbe, 0xa7, 0x21, 0xee, 0xbe, 0x72, 0xd9, 0xa4, 0xc4, 0x0e, 0x64, 0x32, 0x8e, - 0x6e, 0xf8, 0x0a, 0x6f, 0xa1, 0xbe, 0x82, 0x11, 0x1a, 0xee, 0x8f, 0xdd, 0xe4, 0x4d, 0xac, 0xdc, - 0xe6, 0x6c, 0x3b, 0xa3, 0xfb, 0x2c, 0x3e, 0x20, 0x7f, 0xee, 0xcc, 0x66, 0x9c, 0x16, 0x68, 0x33, - 0x4e, 0x4b, 0xd0, 0x1e, 0xcc, 0xd6, 0x3c, 0xdc, 0xe2, 0x1e, 0xbf, 0x1d, 0x8f, 0x1b, 0x27, 0x98, - 0xd9, 0x83, 0x1e, 0xf9, 0x1d, 0x51, 0xdd, 0xc0, 0xb2, 0x5e, 0x3d, 0x50, 0x13, 0xd0, 0x51, 0x15, - 0xa6, 0xeb, 0xd8, 0xf2, 0x9a, 0xc7, 0x8f, 0xf0, 0x0b, 0x22, 0xee, 0x68, 0xe1, 0xd5, 0x7d, 0x5a, - 0x43, 0xc6, 0x4b, 0xab, 0x54, 0xef, 0x0c, 0x1d, 0x09, 0x7d, 0x1f, 0x46, 0xea, 0xae, 0x17, 0x54, - 0x5e, 0x70, 0xa6, 0x26, 0xee, 0x7a, 0x58, 0x61, 0xe5, 0xa2, 0x08, 0x31, 0xef, 0xbb, 0x5e, 0xd0, - 0x38, 0xd4, 0x62, 0xe5, 0x30, 0x10, 0xf4, 0x02, 0xe6, 0x74, 0x86, 0xc2, 0x1d, 0x51, 0xc7, 0xb8, - 0x98, 0x95, 0xc4, 0xb5, 0x18, 0x48, 0xe5, 0x26, 0xa7, 0x7e, 0x35, 0xca, 0xb6, 0x9e, 0xd0, 0x7a, - 0x35, 0x7c, 0x4d, 0x12, 0x3e, 0xda, 0xa6, 0x91, 0xf9, 0xd9, 0x88, 0xca, 0x3e, 0x73, 0x60, 0x1d, - 0x0f, 0xa3, 0x31, 0x75, 0x29, 0x53, 0xa2, 0x33, 0x61, 0xf9, 0xd1, 0x74, 0x0e, 0x66, 0x0c, 0x15, - 0xd5, 0xe0, 0xc2, 0xbe, 0x8f, 0x6b, 0x1e, 0x7e, 0x66, 0xe3, 0xe7, 0x82, 0x1e, 0x84, 0xa1, 0x6b, - 0x08, 0xbd, 0x0e, 0xab, 0x4d, 0x22, 0x18, 0x47, 0x46, 0x1f, 0x02, 0xd4, 0x6c, 0xc7, 0xc1, 0x2d, - 0x7a, 0x61, 0x38, 0x41, 0x49, 0x51, 0x93, 0x6a, 0x87, 0x96, 0x36, 0x5c, 0xa7, 0xad, 0x4e, 0xa9, - 0x02, 0x8c, 0x2a, 0x30, 0xb5, 0xe9, 0x34, 0xdb, 0x5d, 0x7e, 0xb1, 0xef, 0x53, 0x86, 0xc2, 0x43, - 0x6a, 0xd9, 0xac, 0xa2, 0x11, 0xfb, 0xc8, 0x75, 0x14, 0xf4, 0x08, 0x10, 0x2f, 0xe0, 0xbb, 0xd6, - 0x3a, 0x6c, 0x63, 0xfe, 0xb9, 0x53, 0x53, 0x89, 0x20, 0x44, 0xb7, 0xbb, 0x16, 0xa9, 0x2a, 0x86, - 0x56, 0xfc, 0x10, 0x26, 0x94, 0x3d, 0x9f, 0xf0, 0x7e, 0x7f, 0x4e, 0x7d, 0xbf, 0x3f, 0xae, 0xbe, - 0xd3, 0xff, 0xa7, 0x39, 0x58, 0x4e, 0xfe, 0x96, 0xb8, 0x00, 0xb6, 0x0b, 0xe3, 0xb2, 0x50, 0xbe, - 0x17, 0x11, 0xa2, 0x7f, 0x44, 0x02, 0x62, 0x1f, 0xb4, 0xe0, 0x3c, 0xea, 0xe8, 0x43, 0x1a, 0x2f, - 0x61, 0x8f, 0xff, 0x3b, 0x63, 0x30, 0x47, 0xfd, 0xa2, 0xa3, 0x7c, 0xea, 0x53, 0x1a, 0x87, 0x83, - 0x96, 0x29, 0xe6, 0x65, 0x6e, 0x69, 0x62, 0xe5, 0xd1, 0x88, 0x48, 0x1a, 0x02, 0x7a, 0x4f, 0xf5, - 0x66, 0xc8, 0x2b, 0xb9, 0x00, 0x44, 0xa1, 0x3a, 0x84, 0xd0, 0xcd, 0xe1, 0x6d, 0xed, 0x32, 0xbd, - 0x6f, 0xa6, 0x37, 0xd4, 0x2f, 0xd3, 0xdb, 0x97, 0x4c, 0x8f, 0xc5, 0x77, 0x78, 0x4b, 0x61, 0x7a, - 0xaf, 0x9f, 0xdb, 0x8d, 0xbc, 0x6e, 0x6e, 0x37, 0xfa, 0x6a, 0xdc, 0x6e, 0xec, 0x25, 0xb9, 0xdd, - 0x03, 0x98, 0xde, 0xc1, 0xb8, 0xa5, 0x5c, 0x94, 0x8c, 0x87, 0xa7, 0xa7, 0x83, 0xa9, 0x09, 0x2c, - 0xe9, 0xb6, 0x24, 0x82, 0x95, 0xca, 0x35, 0xe1, 0xaf, 0x87, 0x6b, 0x4e, 0xbc, 0x66, 0xae, 0x39, - 0xf9, 0x2a, 0x5c, 0x33, 0xc6, 0xfa, 0xa6, 0xce, 0xcd, 0xfa, 0x5e, 0x85, 0x5b, 0x7d, 0x42, 0x9d, - 0x01, 0xeb, 0xf5, 0x0d, 0xee, 0xf7, 0xa1, 0x38, 0x5a, 0x6c, 0xb8, 0xbe, 0xf0, 0x95, 0xa6, 0x7f, - 0x93, 0xb2, 0x9a, 0xeb, 0x89, 0xcb, 0x6a, 0xfa, 0xb7, 0x51, 0xa1, 0x2e, 0x80, 0x2a, 0xbe, 0x74, - 0xb4, 0x1f, 0xe5, 0x8f, 0xed, 0x38, 0x8f, 0x8b, 0xaa, 0x51, 0xa6, 0xa8, 0x37, 0xfe, 0x22, 0xc7, - 0x2e, 0x25, 0xff, 0x7f, 0x64, 0x95, 0xaf, 0x72, 0x51, 0xf8, 0x5b, 0xe1, 0x23, 0x7c, 0x1e, 0x30, - 0xc0, 0xb3, 0x9a, 0x4f, 0xc3, 0x9b, 0xda, 0x1f, 0x92, 0xef, 0x5c, 0xad, 0xa0, 0x11, 0x37, 0x43, - 0x5d, 0x51, 0xaf, 0x3c, 0xb8, 0x27, 0x18, 0x00, 0x8f, 0x45, 0xc0, 0x8a, 0x75, 0x06, 0xa0, 0x22, - 0x50, 0x2f, 0xb7, 0x19, 0xc3, 0x64, 0x6f, 0xc8, 0x13, 0x7b, 0xf0, 0x7e, 0xfc, 0x15, 0x34, 0x55, - 0x46, 0xc2, 0x57, 0xd0, 0xea, 0x34, 0x86, 0xef, 0xa1, 0xf7, 0xe1, 0x92, 0x89, 0x4f, 0xdc, 0x67, - 0xf8, 0xf5, 0x92, 0xfd, 0x12, 0x2e, 0xea, 0x04, 0xd9, 0x7b, 0x19, 0x16, 0x29, 0xfb, 0x93, 0xe4, - 0xf8, 0xda, 0x1c, 0x81, 0xc5, 0xd7, 0x66, 0x61, 0x7a, 0xc9, 0x9f, 0xea, 0xb9, 0x41, 0xeb, 0x0c, - 0x17, 0x96, 0x75, 0xe2, 0xe5, 0x56, 0x8b, 0xe6, 0x5d, 0x6b, 0xda, 0x1d, 0xcb, 0x09, 0xd0, 0x2e, - 0x4c, 0x28, 0x3f, 0x23, 0xa6, 0x02, 0xa5, 0x86, 0xcb, 0x34, 0x61, 0x81, 0x16, 0x9b, 0x31, 0x2c, - 0x36, 0x30, 0x94, 0xa2, 0xd3, 0x43, 0xa6, 0x4c, 0x6d, 0xb3, 0x02, 0x53, 0xca, 0x4f, 0x69, 0xb2, - 0xa4, 0x1f, 0xbf, 0xd2, 0x82, 0x3e, 0x61, 0x3a, 0x8a, 0xd1, 0x84, 0x62, 0xd2, 0xa4, 0xd1, 0xc8, - 0x46, 0x2f, 0x50, 0x35, 0x8c, 0x91, 0xd4, 0xdb, 0x4f, 0x6e, 0x26, 0x2d, 0x3e, 0x92, 0xf1, 0xf7, - 0x87, 0xe0, 0x12, 0x5f, 0x8c, 0xd7, 0xb9, 0xe2, 0xe8, 0x47, 0x30, 0xa1, 0xac, 0x31, 0x9f, 0xf4, - 0xab, 0x22, 0x26, 0x63, 0xda, 0x5e, 0x60, 0x26, 0x8d, 0x2e, 0x2d, 0x68, 0x44, 0x96, 0x7b, 0x63, - 0xc0, 0x54, 0x49, 0xa2, 0x36, 0x4c, 0xeb, 0x0b, 0xcd, 0xad, 0x3a, 0x6f, 0x24, 0x36, 0xa2, 0x83, - 0x8a, 0x08, 0xbf, 0xad, 0x46, 0xe2, 0x72, 0x6f, 0x0c, 0x98, 0x11, 0xda, 0xe8, 0x6b, 0xb8, 0x10, - 0x5b, 0x65, 0x6e, 0xac, 0xbb, 0x91, 0xd8, 0x60, 0x0c, 0x9a, 0x99, 0x63, 0x3d, 0x5a, 0x9c, 0xda, - 0x6c, 0xbc, 0x11, 0xd4, 0x82, 0x49, 0x75, 0xe1, 0xb9, 0xd9, 0xe9, 0x5a, 0xc6, 0x54, 0x32, 0x40, - 0x26, 0xdc, 0xf1, 0xb9, 0xa4, 0x6b, 0xff, 0x42, 0x37, 0x31, 0x6b, 0xc0, 0x63, 0x30, 0xc2, 0x7e, - 0x13, 0x16, 0x50, 0xf3, 0xb0, 0x8f, 0x9d, 0x26, 0xd6, 0x5c, 0xab, 0x5f, 0x91, 0x05, 0xfc, 0xfb, - 0x1c, 0x2c, 0x25, 0xd1, 0xad, 0x63, 0xa7, 0x85, 0x6a, 0x50, 0x88, 0x36, 0xc4, 0x77, 0xb5, 0x21, - 0x83, 0xa8, 0xa6, 0x76, 0x69, 0x63, 0xc0, 0x8c, 0x61, 0xa3, 0x1d, 0xb8, 0xa0, 0x94, 0x71, 0xe3, - 0x6a, 0xbe, 0x1f, 0xe3, 0x2a, 0x59, 0x85, 0x18, 0xaa, 0x6a, 0x9b, 0xde, 0xa0, 0x27, 0xe3, 0x9a, - 0x7b, 0x62, 0xd9, 0x0e, 0x11, 0x74, 0x95, 0x30, 0x49, 0x10, 0x96, 0xf2, 0xb9, 0x61, 0xd6, 0x56, - 0x5a, 0x2a, 0x9e, 0x82, 0x48, 0x10, 0xe3, 0xbb, 0x94, 0x83, 0x73, 0x1b, 0x1d, 0x7b, 0x58, 0x2a, - 0x89, 0x5d, 0x85, 0xe1, 0xbd, 0xad, 0xfa, 0x6a, 0x99, 0x3f, 0x53, 0x65, 0xc1, 0x0d, 0xda, 0x7e, - 0xa3, 0x69, 0x99, 0xac, 0xc2, 0xf8, 0x18, 0xd0, 0x3a, 0x0e, 0x78, 0x14, 0x6f, 0x89, 0x77, 0x1d, - 0x46, 0x79, 0x11, 0xc7, 0xa4, 0x4e, 0x6d, 0x6d, 0x0e, 0x25, 0xea, 0x8c, 0x9a, 0xd0, 0x13, 0xda, - 0xd8, 0xf2, 0x95, 0x83, 0xf9, 0x03, 0x18, 0xf3, 0x78, 0x19, 0x3f, 0x97, 0xa7, 0x65, 0xbe, 0x03, - 0x5a, 0xcc, 0xec, 0xd9, 0x02, 0xc6, 0x94, 0x7f, 0x19, 0x5b, 0x34, 0x10, 0xc9, 0xee, 0xe6, 0xda, - 0x2a, 0x99, 0x55, 0x3e, 0x59, 0x62, 0x39, 0xee, 0x50, 0xef, 0xef, 0x00, 0xab, 0x8f, 0x54, 0xe9, - 0xd4, 0xd0, 0x8f, 0x9c, 0x87, 0xdf, 0x51, 0x40, 0x8c, 0xfb, 0x32, 0xac, 0x49, 0x02, 0xb5, 0xb4, - 0xb8, 0xfd, 0x3b, 0x34, 0x60, 0xcb, 0x3a, 0x75, 0x97, 0x79, 0x1d, 0x9d, 0xb0, 0xa0, 0xc8, 0x8e, - 0x79, 0x32, 0x2a, 0x9e, 0x8c, 0xca, 0x95, 0xac, 0x71, 0x15, 0xc6, 0x65, 0x99, 0xbc, 0xfb, 0x62, - 0x73, 0xa5, 0xc1, 0x1f, 0xdc, 0x67, 0xef, 0x79, 0x9b, 0x92, 0x40, 0x88, 0x47, 0x9a, 0x60, 0xdf, - 0xdd, 0x37, 0xdc, 0x84, 0x8f, 0xbd, 0xe0, 0x1b, 0x6d, 0x22, 0x8c, 0xe8, 0x73, 0x9e, 0x26, 0x34, - 0xf8, 0x83, 0x95, 0x7e, 0x26, 0xea, 0x1b, 0x6e, 0x82, 0x4c, 0xd4, 0x37, 0xd7, 0x04, 0x16, 0xa1, - 0x8f, 0xd8, 0x26, 0x8d, 0x35, 0x52, 0x8d, 0x37, 0x22, 0x0c, 0xd7, 0x11, 0x8c, 0xcc, 0xf5, 0xc0, - 0xb0, 0xcc, 0x26, 0xeb, 0x97, 0xd0, 0x0c, 0x99, 0xb0, 0x6f, 0xb6, 0x99, 0x7f, 0x98, 0x63, 0x81, - 0x98, 0xea, 0xbb, 0x4a, 0x1a, 0x38, 0xe7, 0x89, 0xab, 0x5c, 0xcd, 0x2b, 0x5f, 0xfb, 0x23, 0xdb, - 0x69, 0xa9, 0x57, 0xf3, 0x56, 0x37, 0x38, 0x96, 0xa1, 0x82, 0x9f, 0xda, 0x4e, 0xcb, 0x8c, 0x42, - 0xa3, 0x0f, 0x61, 0x4a, 0x29, 0x92, 0xd2, 0x1a, 0x4b, 0x26, 0xa0, 0xa2, 0xdb, 0x2d, 0x53, 0x87, - 0x34, 0xfe, 0x2a, 0x07, 0xb3, 0x09, 0xe9, 0x49, 0xa9, 0x31, 0x83, 0x6a, 0x41, 0x92, 0x51, 0xf1, - 0x4c, 0x3a, 0x34, 0x26, 0x84, 0x76, 0x48, 0x4a, 0x40, 0x1a, 0x46, 0x5d, 0x49, 0xa5, 0x9a, 0x57, - 0xd2, 0x35, 0x25, 0xa7, 0x4f, 0x55, 0xc1, 0x91, 0x0f, 0x10, 0xf6, 0x84, 0x9b, 0x8d, 0xeb, 0x44, - 0xa4, 0x55, 0xf2, 0xb0, 0xbe, 0x96, 0x44, 0xb0, 0x4a, 0x33, 0xc6, 0x6f, 0xe5, 0x61, 0x21, 0x61, - 0xfc, 0x75, 0x1c, 0xfc, 0x75, 0x4c, 0x41, 0x24, 0x1b, 0xee, 0xe0, 0x2f, 0x29, 0x1b, 0xae, 0xf1, - 0x7b, 0x79, 0x58, 0xd8, 0xef, 0xf8, 0xf4, 0x6d, 0xd4, 0xa6, 0xf3, 0x0c, 0x3b, 0x81, 0xeb, 0xbd, - 0xa0, 0xef, 0x39, 0xd0, 0x7b, 0x30, 0xbc, 0x81, 0xdb, 0x6d, 0x97, 0xef, 0xff, 0xcb, 0xc2, 0x3b, - 0x22, 0x0a, 0x4d, 0x81, 0x36, 0x06, 0x4c, 0x06, 0x8d, 0x3e, 0x84, 0xf1, 0x0d, 0x6c, 0x79, 0xc1, - 0x21, 0xb6, 0x84, 0xca, 0x22, 0x52, 0x1c, 0x28, 0x28, 0x1c, 0x60, 0x63, 0xc0, 0x0c, 0xa1, 0xd1, - 0x0a, 0xd1, 0xe6, 0x9d, 0x23, 0xf9, 0x0e, 0x3c, 0xa5, 0x41, 0x02, 0xb3, 0x31, 0x60, 0x52, 0x58, - 0xb4, 0x0d, 0x53, 0xe5, 0x23, 0xec, 0x04, 0xdb, 0x38, 0xb0, 0x5a, 0x56, 0x60, 0x71, 0xd1, 0xf6, - 0x7a, 0x1a, 0xb2, 0x06, 0xbc, 0x31, 0x60, 0xea, 0xd8, 0x95, 0x61, 0x18, 0xdc, 0xf6, 0x8f, 0x8c, - 0xd3, 0x1c, 0x2c, 0xad, 0xb9, 0xcf, 0x9d, 0xc4, 0x89, 0xf9, 0x8e, 0x3e, 0x31, 0x25, 0x71, 0xc9, - 0x1c, 0x87, 0x8f, 0x4c, 0xcd, 0xbb, 0x30, 0x54, 0xb3, 0x9d, 0xa3, 0x88, 0x34, 0x97, 0x80, 0x47, - 0xa0, 0xe8, 0x08, 0x6d, 0xe7, 0x08, 0x6d, 0x09, 0x31, 0x9a, 0x9b, 0x0b, 0x07, 0x35, 0xd9, 0x3d, - 0x01, 0x5b, 0x85, 0x0e, 0xc5, 0x65, 0xf6, 0x5b, 0x0c, 0xf0, 0x6d, 0x58, 0x4c, 0x69, 0x97, 0xbf, - 0xcd, 0x26, 0x63, 0x1b, 0xa2, 0xb2, 0xc9, 0x5b, 0x30, 0x9f, 0xb8, 0x04, 0x31, 0xc0, 0x7f, 0x91, - 0xb4, 0x97, 0xd8, 0xc8, 0x97, 0x60, 0x54, 0x64, 0xc2, 0x61, 0xe6, 0x1b, 0xf1, 0x93, 0xbe, 0x4e, - 0x12, 0xdf, 0x9a, 0x88, 0xaa, 0x21, 0x3e, 0xa9, 0x03, 0x25, 0x8a, 0x11, 0xfb, 0x22, 0x3e, 0x7a, - 0x85, 0x7d, 0x2f, 0x69, 0x91, 0x36, 0x37, 0x5c, 0x3f, 0x70, 0xa4, 0xf3, 0xac, 0x29, 0x7f, 0xa3, - 0x5b, 0x50, 0x10, 0xa1, 0xfa, 0x79, 0x4e, 0x10, 0x9e, 0x80, 0xd7, 0x8c, 0x95, 0xa3, 0x0f, 0x60, - 0x31, 0x5a, 0x26, 0x46, 0xc9, 0x9e, 0x97, 0xa5, 0x55, 0x1b, 0x7f, 0x9e, 0xa7, 0xa1, 0x9e, 0x33, - 0xb6, 0x26, 0x99, 0xdd, 0xdd, 0x3a, 0x9f, 0xad, 0xfc, 0x6e, 0x1d, 0x2d, 0xc3, 0xf8, 0x6e, 0x5d, - 0x4b, 0x27, 0x64, 0x86, 0x05, 0xa4, 0xdb, 0x64, 0x08, 0x65, 0xaf, 0x79, 0x6c, 0x07, 0xb8, 0x19, - 0x74, 0x3d, 0xce, 0x48, 0xcd, 0x58, 0x39, 0x32, 0x60, 0x72, 0xbd, 0x6d, 0x1f, 0x36, 0x05, 0x31, - 0x36, 0x05, 0x5a, 0x19, 0xba, 0x01, 0xd3, 0x9b, 0x8e, 0x1f, 0x58, 0xed, 0xf6, 0x36, 0x0e, 0x8e, - 0xdd, 0x16, 0xcf, 0x75, 0x68, 0x46, 0x4a, 0x49, 0xbb, 0xab, 0xae, 0x13, 0x58, 0xb6, 0x83, 0x3d, - 0xb3, 0xeb, 0x04, 0xf6, 0x09, 0xe6, 0x63, 0x8f, 0x95, 0xa3, 0x77, 0x61, 0x5e, 0x96, 0xed, 0x7a, - 0xcd, 0x63, 0xec, 0x07, 0x1e, 0x4d, 0x32, 0x46, 0xa3, 0xed, 0x98, 0xc9, 0x95, 0xb4, 0x85, 0xb6, - 0xdb, 0x6d, 0x55, 0x9d, 0x67, 0xb6, 0xe7, 0x3a, 0x34, 0xef, 0xc0, 0x18, 0x6f, 0x21, 0x52, 0x6e, - 0xd4, 0x12, 0xbf, 0xda, 0x57, 0xd8, 0x82, 0xc6, 0x59, 0x0e, 0x96, 0x13, 0x3f, 0x2c, 0x71, 0x84, - 0x17, 0xa3, 0x67, 0x85, 0xb2, 0x7f, 0x6f, 0xc1, 0x10, 0x3d, 0xd3, 0x99, 0x79, 0x48, 0xb8, 0x97, - 0x51, 0x7c, 0x46, 0x8a, 0xd4, 0x9a, 0x14, 0x06, 0xad, 0xcb, 0xeb, 0x80, 0x41, 0xaa, 0xbc, 0xdc, - 0x89, 0xf2, 0xcc, 0x84, 0xc6, 0xd5, 0x6b, 0x01, 0x71, 0x01, 0xf0, 0x2a, 0x96, 0xd7, 0x3f, 0xcf, - 0x41, 0xa9, 0x07, 0x3f, 0x91, 0x63, 0xca, 0xf5, 0x31, 0xa6, 0x87, 0x72, 0x4c, 0xec, 0x21, 0xdb, - 0x4a, 0x7f, 0x3c, 0xeb, 0x75, 0x0f, 0xab, 0x0b, 0x28, 0x7e, 0xf2, 0xa0, 0x6f, 0xc3, 0x78, 0xbd, - 0xbe, 0xa1, 0xf9, 0xf0, 0xc4, 0xec, 0xc1, 0x21, 0x04, 0xba, 0xdb, 0x97, 0xd3, 0x8e, 0xe2, 0xb2, - 0x63, 0xbc, 0x0f, 0x0b, 0xb2, 0x59, 0x16, 0x9d, 0x5e, 0x79, 0x5f, 0xcb, 0x65, 0x44, 0xf9, 0x8e, - 0x37, 0x2c, 0x30, 0xfe, 0x6c, 0x28, 0x86, 0x58, 0xef, 0x9e, 0x9c, 0x58, 0xde, 0x0b, 0x54, 0xd6, - 0x11, 0x07, 0x7b, 0x1e, 0xcb, 0x95, 0xa1, 0x9f, 0x9d, 0x96, 0x06, 0x14, 0xea, 0xe8, 0x4d, 0x98, - 0xa2, 0x9f, 0xb0, 0xd3, 0xc4, 0xcc, 0x7e, 0x9c, 0x67, 0x31, 0x44, 0xb4, 0x42, 0x74, 0x00, 0x53, - 0xfc, 0xeb, 0xa0, 0xbf, 0xc5, 0xa6, 0xbc, 0x1b, 0xdd, 0x94, 0x5a, 0xf7, 0x6e, 0x6b, 0x28, 0x6c, - 0xf9, 0x74, 0x32, 0xe8, 0x0b, 0x98, 0x16, 0xac, 0x90, 0x13, 0x66, 0x37, 0xfe, 0xf7, 0xb2, 0x09, - 0xeb, 0x38, 0x8c, 0x72, 0x84, 0x10, 0xe9, 0x32, 0x67, 0xf0, 0x9c, 0xf2, 0x70, 0x3f, 0x5d, 0xd6, - 0x50, 0x78, 0x97, 0xb5, 0xb2, 0xe2, 0xf7, 0x01, 0xc5, 0xc7, 0xd5, 0x6b, 0xff, 0x4d, 0x29, 0xfb, - 0xaf, 0x58, 0x86, 0xd9, 0x84, 0x01, 0x9c, 0x8b, 0xc4, 0xf7, 0x01, 0xc5, 0x7b, 0x7a, 0x1e, 0x0a, - 0xc6, 0x4d, 0xb8, 0x21, 0xa7, 0x40, 0xee, 0x06, 0x8d, 0xa6, 0xb0, 0x12, 0xfd, 0x66, 0x1e, 0x4a, - 0x3d, 0x40, 0xd1, 0x3f, 0xce, 0x45, 0x67, 0x9b, 0xed, 0xc6, 0x0f, 0xa3, 0xb3, 0x9d, 0x8c, 0x9f, - 0x30, 0xed, 0x95, 0x8f, 0x7e, 0xfa, 0x97, 0x2f, 0x7d, 0xb4, 0xc7, 0x97, 0xec, 0xfc, 0xb3, 0x35, - 0xa4, 0xce, 0x96, 0x09, 0x73, 0x9a, 0x50, 0xd4, 0x0f, 0xb7, 0xbf, 0x02, 0xc0, 0x13, 0xb5, 0x6d, - 0xb9, 0x47, 0xfc, 0x75, 0xb2, 0x52, 0x62, 0x3c, 0x80, 0xf9, 0x08, 0x4d, 0x6e, 0xb9, 0xfa, 0x36, - 0xc8, 0x77, 0x94, 0x94, 0xe8, 0x60, 0xe5, 0xc2, 0x2f, 0x4e, 0x4b, 0x53, 0xe4, 0xcc, 0xbc, 0x1d, - 0x86, 0x69, 0x16, 0x7f, 0x19, 0xdb, 0xaa, 0xed, 0xad, 0xdc, 0x56, 0xe3, 0x4b, 0xa0, 0x7b, 0x30, - 0xc2, 0x4a, 0x22, 0xc1, 0x50, 0x55, 0x68, 0xce, 0x13, 0x38, 0xa0, 0x31, 0x4f, 0xdf, 0x8e, 0xd1, - 0x1f, 0xe5, 0xf0, 0x95, 0xb2, 0xb1, 0xcf, 0xc2, 0xf3, 0x87, 0xc5, 0x32, 0xe0, 0xea, 0x50, 0x39, - 0x7c, 0x4d, 0x2d, 0x2e, 0x4a, 0x05, 0x9c, 0xe3, 0x3e, 0x6f, 0xe3, 0x16, 0xcb, 0xeb, 0x53, 0x99, - 0xe4, 0x17, 0xa5, 0x43, 0x16, 0x21, 0x40, 0xd1, 0x8c, 0x4f, 0x61, 0x7e, 0xb5, 0x8d, 0x2d, 0x2f, - 0xda, 0x1e, 0xba, 0x01, 0xa3, 0xb4, 0x4c, 0xf7, 0x3e, 0xb5, 0x48, 0x11, 0xf5, 0x3e, 0xe5, 0x95, - 0xc6, 0x16, 0x5c, 0x64, 0x9a, 0xbb, 0x3a, 0xa4, 0xd0, 0x4e, 0x36, 0x4c, 0x7f, 0x47, 0x5e, 0x1e, - 0x25, 0x8c, 0x9e, 0xc1, 0x19, 0x9f, 0x50, 0xd7, 0xf6, 0xa4, 0x6c, 0xed, 0xfd, 0xbd, 0x85, 0xfb, - 0x9b, 0xb0, 0x5c, 0xee, 0x74, 0xb0, 0xd3, 0x0a, 0x11, 0xf7, 0x3c, 0xab, 0xcf, 0x37, 0xc6, 0xa8, - 0x0c, 0xc3, 0x14, 0x5a, 0x5e, 0x32, 0xf0, 0xee, 0x26, 0x74, 0x87, 0xc2, 0xf1, 0xe8, 0x78, 0xb4, - 0x01, 0x86, 0x69, 0xb4, 0x60, 0xb1, 0xde, 0x3d, 0x3c, 0xb1, 0x59, 0x0a, 0x73, 0xfa, 0x4e, 0x5f, - 0xb4, 0xbd, 0x29, 0x32, 0xaa, 0xb0, 0xc9, 0xb8, 0x19, 0xba, 0x40, 0x53, 0xb7, 0x57, 0xfe, 0x76, - 0xff, 0xd9, 0xbd, 0xdb, 0x21, 0x2a, 0xd5, 0x6f, 0x58, 0x2b, 0xb4, 0x9a, 0x67, 0x5d, 0x31, 0x66, - 0xe1, 0x82, 0x6a, 0xb0, 0x65, 0x3b, 0x64, 0x1e, 0x66, 0x75, 0x43, 0x2c, 0x2b, 0xfe, 0x0a, 0xe6, - 0x98, 0xa1, 0x88, 0x45, 0xb7, 0x5d, 0x09, 0x03, 0xb9, 0xe6, 0x0f, 0x56, 0x22, 0xce, 0xb2, 0xd4, - 0x87, 0x4e, 0xc6, 0x2d, 0x3f, 0x58, 0x61, 0xcf, 0x93, 0x9e, 0xad, 0x68, 0xe6, 0xfe, 0xfc, 0xc1, - 0x4a, 0x65, 0x94, 0x47, 0x09, 0x24, 0xd4, 0xd9, 0xf2, 0x7f, 0x23, 0xd4, 0x57, 0xe8, 0x8b, 0xd8, - 0x0d, 0x6c, 0x51, 0xef, 0xf5, 0xe4, 0x77, 0x85, 0xd3, 0x90, 0xb7, 0x5b, 0x42, 0x2e, 0xb7, 0x5b, - 0xc6, 0x1f, 0xe5, 0xe0, 0x26, 0x93, 0x5e, 0x92, 0xf1, 0xa8, 0x55, 0x36, 0x05, 0x19, 0x7d, 0x00, - 0x2c, 0xf7, 0x2e, 0x17, 0x11, 0x0d, 0xde, 0xf3, 0x2c, 0x4a, 0x0c, 0x01, 0x95, 0x61, 0x52, 0xf5, - 0xff, 0xee, 0x2f, 0x0a, 0x93, 0x39, 0x71, 0xf2, 0xc4, 0x92, 0x3e, 0xe1, 0x4f, 0xe1, 0x52, 0xf5, - 0x6b, 0xb2, 0x21, 0xf8, 0xe9, 0xc4, 0xbd, 0x15, 0xc2, 0x77, 0x6b, 0x33, 0x7b, 0x7c, 0xc7, 0xe8, - 0x82, 0x73, 0xb4, 0x98, 0x28, 0x14, 0xe2, 0x80, 0x93, 0xf2, 0xee, 0xb8, 0xa9, 0x95, 0x19, 0x7f, - 0x96, 0x83, 0xe5, 0xe4, 0xd6, 0x38, 0x63, 0xd9, 0x84, 0x0b, 0xab, 0x96, 0xe3, 0x3a, 0x76, 0xd3, - 0x6a, 0xd7, 0x9b, 0xc7, 0xb8, 0xd5, 0x95, 0xb1, 0x04, 0x25, 0x97, 0x21, 0x0a, 0x12, 0x47, 0x17, - 0x20, 0x66, 0x1c, 0x0b, 0xbd, 0x0f, 0x0b, 0xd4, 0x85, 0x98, 0xf1, 0xde, 0x36, 0xf6, 0x24, 0x3d, - 0xd6, 0xb3, 0x94, 0x5a, 0x74, 0x57, 0x58, 0xc4, 0x5a, 0xfb, 0x8e, 0x1d, 0x48, 0x24, 0xa6, 0x47, - 0x25, 0x55, 0x19, 0xff, 0x31, 0x07, 0x17, 0x69, 0x02, 0x0f, 0x2d, 0x25, 0x58, 0x18, 0x52, 0x53, - 0x44, 0x85, 0xcc, 0x69, 0x2e, 0xd1, 0x1a, 0xb4, 0x1e, 0x1e, 0x12, 0xbd, 0x03, 0x43, 0x75, 0xe1, - 0xd1, 0x30, 0x1d, 0x49, 0x26, 0x28, 0x12, 0x37, 0xbb, 0x5e, 0x60, 0x52, 0x28, 0x72, 0xe6, 0xac, - 0x61, 0xbf, 0x89, 0x1d, 0x9a, 0xf5, 0x71, 0x90, 0x9d, 0x39, 0x61, 0x49, 0x18, 0x11, 0x64, 0x28, - 0x2d, 0x22, 0xc8, 0xb0, 0x1e, 0x11, 0xc4, 0x78, 0xc6, 0xd2, 0x77, 0x44, 0x07, 0xc4, 0x17, 0xe9, - 0x93, 0x58, 0x92, 0x48, 0x76, 0x0e, 0x2c, 0x24, 0x8d, 0xec, 0xe0, 0x7e, 0x2c, 0xff, 0x63, 0x7a, - 0x08, 0xcb, 0x1a, 0xbc, 0xa9, 0xc1, 0x96, 0xdb, 0x6d, 0xf7, 0x39, 0x6e, 0xd5, 0x3c, 0xf7, 0xc4, - 0x0d, 0xb4, 0xe4, 0x09, 0x3c, 0x4b, 0x6a, 0x68, 0xf3, 0xe4, 0xbb, 0x32, 0x52, 0x6c, 0xfc, 0x0d, - 0xb8, 0xde, 0x83, 0x22, 0x1f, 0x54, 0x1d, 0x2e, 0x58, 0x91, 0x3a, 0x71, 0x35, 0x7d, 0x3d, 0x69, - 0x5c, 0x51, 0x42, 0xbe, 0x19, 0xc7, 0xbf, 0xb5, 0xa7, 0x25, 0x56, 0x44, 0x4b, 0x30, 0x57, 0x33, - 0x77, 0xd7, 0xf6, 0x57, 0xf7, 0x1a, 0x7b, 0x5f, 0xd4, 0xaa, 0x8d, 0xfd, 0x9d, 0x47, 0x3b, 0xbb, - 0x8f, 0x77, 0x58, 0x0c, 0x58, 0xad, 0x66, 0xaf, 0x5a, 0xde, 0x2e, 0xe4, 0xd0, 0x1c, 0x14, 0xb4, - 0xe2, 0xea, 0x7e, 0xa5, 0x90, 0xbf, 0xf5, 0x95, 0x96, 0x30, 0x10, 0x2d, 0xc3, 0x52, 0x7d, 0xbf, - 0x56, 0xdb, 0x35, 0x25, 0x55, 0x35, 0x02, 0xed, 0x3c, 0x5c, 0xd0, 0x6a, 0x1f, 0x98, 0xd5, 0x6a, - 0x21, 0x47, 0xba, 0xa2, 0x15, 0xd7, 0xcc, 0xea, 0xf6, 0xe6, 0xfe, 0x76, 0x21, 0x7f, 0xab, 0xa1, - 0xbe, 0xc3, 0x40, 0x97, 0x60, 0x71, 0xad, 0x7a, 0xb0, 0xb9, 0x5a, 0x4d, 0xa2, 0x3d, 0x07, 0x05, - 0xb5, 0x72, 0x6f, 0x77, 0xaf, 0xc6, 0x48, 0xab, 0xa5, 0x8f, 0xab, 0x95, 0xf2, 0xfe, 0xde, 0xc6, - 0x4e, 0x61, 0xd0, 0x18, 0x1a, 0xcb, 0x17, 0xf2, 0xb7, 0x7e, 0xa4, 0x3d, 0xd2, 0x20, 0xdd, 0xe7, - 0xe0, 0xfb, 0xf5, 0xf2, 0x7a, 0x7a, 0x13, 0xac, 0x76, 0xfb, 0x41, 0xb9, 0x90, 0x43, 0x97, 0xe1, - 0xa2, 0x56, 0x5a, 0x2b, 0xd7, 0xeb, 0x8f, 0x77, 0xcd, 0xb5, 0xad, 0x6a, 0xbd, 0x5e, 0xc8, 0xdf, - 0x3a, 0xd0, 0xa2, 0x20, 0x91, 0x16, 0xb6, 0x1f, 0x94, 0x1b, 0x66, 0xf5, 0xb3, 0xfd, 0x4d, 0xb3, - 0xba, 0x16, 0x6f, 0x41, 0xab, 0xfd, 0xa2, 0x5a, 0x2f, 0xe4, 0xd0, 0x2c, 0xcc, 0x68, 0xa5, 0x3b, - 0xbb, 0x85, 0xfc, 0xad, 0x1b, 0x3c, 0x50, 0x0e, 0x9a, 0x06, 0x58, 0xab, 0xd6, 0x57, 0xab, 0x3b, - 0x6b, 0x9b, 0x3b, 0xeb, 0x85, 0x01, 0x34, 0x05, 0xe3, 0x65, 0xf9, 0x33, 0x77, 0xeb, 0x23, 0x98, - 0x89, 0xe8, 0xc2, 0x04, 0x42, 0xaa, 0x91, 0x85, 0x01, 0x3a, 0xfd, 0xe2, 0x27, 0x35, 0x60, 0x30, - 0xb5, 0xb6, 0x90, 0xbb, 0x55, 0x11, 0x39, 0xfe, 0x94, 0xef, 0x1c, 0x4d, 0xc0, 0xe8, 0x5a, 0xf5, - 0x41, 0x79, 0x7f, 0x6b, 0xaf, 0x30, 0x40, 0x7e, 0xac, 0x9a, 0xd5, 0xf2, 0x5e, 0x75, 0xad, 0x90, - 0x43, 0xe3, 0x30, 0x5c, 0xdf, 0x2b, 0xef, 0x55, 0x0b, 0x79, 0x34, 0x06, 0x43, 0xfb, 0xf5, 0xaa, - 0x59, 0x18, 0x5c, 0xf9, 0xe3, 0x7f, 0x94, 0x83, 0x09, 0xc2, 0xfa, 0x85, 0xc3, 0xff, 0x57, 0x8a, - 0x32, 0xc9, 0x59, 0x1e, 0x4f, 0x68, 0x96, 0xaa, 0x39, 0x52, 0x29, 0xa0, 0x98, 0x61, 0xd6, 0xa4, - 0x00, 0x37, 0x73, 0x77, 0x73, 0xc8, 0xa4, 0x37, 0xb9, 0x11, 0xdd, 0x4a, 0x52, 0x4e, 0x56, 0x7f, - 0x8b, 0x97, 0x33, 0x55, 0x32, 0xf4, 0x6b, 0x60, 0xa8, 0x34, 0x53, 0x34, 0x90, 0x6f, 0xf7, 0xa7, - 0x69, 0x88, 0x36, 0x6f, 0xf4, 0x07, 0x8e, 0x1e, 0xc2, 0x14, 0x91, 0xcd, 0x25, 0x18, 0xba, 0x14, - 0x45, 0x54, 0xd4, 0x81, 0xe2, 0x72, 0x72, 0xa5, 0xcc, 0x78, 0x30, 0x49, 0x07, 0xc2, 0x14, 0x6b, - 0x1f, 0x89, 0x27, 0xd9, 0xa2, 0x84, 0x71, 0xfc, 0xe2, 0x85, 0x48, 0xf1, 0xc1, 0xbd, 0xbb, 0x39, - 0x54, 0xa7, 0x91, 0x8c, 0x34, 0x21, 0x1f, 0x89, 0x17, 0x28, 0x71, 0xe9, 0x9f, 0xf5, 0xa6, 0x24, - 0x33, 0x84, 0xa5, 0x68, 0x07, 0x3b, 0x80, 0xe2, 0xb2, 0x33, 0xba, 0x1a, 0xee, 0x83, 0x64, 0xb1, - 0xba, 0xb8, 0x10, 0x73, 0xd0, 0xa9, 0x12, 0xe9, 0x09, 0x55, 0x61, 0x9a, 0xbf, 0xb7, 0xe4, 0xd2, - 0x3c, 0xca, 0xd2, 0x07, 0x52, 0xc9, 0xac, 0xd3, 0x79, 0x92, 0x1a, 0x01, 0x2a, 0x86, 0xe3, 0x88, - 0xaa, 0x09, 0xc5, 0x4b, 0x89, 0x75, 0x7c, 0x7c, 0x0f, 0x60, 0x5a, 0x57, 0x2e, 0x90, 0x58, 0xa0, - 0x44, 0x9d, 0x23, 0xb5, 0x43, 0x0d, 0x58, 0xdc, 0xb6, 0x6c, 0x6a, 0x8c, 0xe4, 0x6e, 0x20, 0xc2, - 0x89, 0x03, 0x95, 0x32, 0xbc, 0x3a, 0xea, 0xd8, 0x69, 0xc9, 0x45, 0x48, 0x8b, 0x5e, 0x4c, 0x3f, - 0x9b, 0xba, 0x90, 0x91, 0x75, 0x27, 0x18, 0x64, 0xe8, 0x59, 0x1f, 0x93, 0xfc, 0x9a, 0x8a, 0x69, - 0xae, 0x78, 0x68, 0x9b, 0x0a, 0xe9, 0x11, 0x8a, 0xca, 0x9e, 0x38, 0x37, 0xb9, 0x25, 0xfa, 0xea, - 0x57, 0x49, 0x05, 0xcb, 0x2b, 0x7d, 0x94, 0x32, 0x71, 0xa9, 0xc4, 0xee, 0xe6, 0xd0, 0x57, 0xf4, - 0xab, 0x4e, 0x24, 0xf7, 0xd8, 0x0e, 0x8e, 0xb9, 0xf4, 0x73, 0x29, 0x91, 0x00, 0xff, 0x50, 0x32, - 0xa8, 0x9b, 0x30, 0x97, 0xe4, 0xfd, 0x27, 0x27, 0x34, 0xc3, 0x35, 0x30, 0x75, 0x17, 0x98, 0x44, - 0xd5, 0x68, 0xa5, 0x2f, 0x52, 0x86, 0xf3, 0x59, 0x2a, 0xcd, 0xef, 0xc2, 0x34, 0xd9, 0x25, 0x8f, - 0x30, 0xee, 0x94, 0xdb, 0xf6, 0x33, 0xec, 0x23, 0x11, 0x86, 0x52, 0x16, 0xa5, 0xe1, 0xde, 0xcc, - 0xa1, 0x6f, 0xc1, 0xc4, 0x63, 0x2b, 0x68, 0x1e, 0xf3, 0x70, 0x6c, 0x22, 0x5a, 0x1b, 0x2d, 0x2b, - 0x8a, 0x5f, 0xb4, 0xf2, 0x6e, 0x0e, 0x7d, 0x0f, 0x46, 0xd7, 0x71, 0x40, 0x5f, 0x00, 0x5e, 0x93, - 0x8e, 0x30, 0xcc, 0xe9, 0x74, 0xd3, 0x91, 0x6e, 0xee, 0xa2, 0xc3, 0x51, 0xd3, 0x27, 0xba, 0x03, - 0xc0, 0x18, 0x02, 0xa5, 0x10, 0xad, 0x2e, 0xc6, 0xba, 0x8d, 0xd6, 0x89, 0xf0, 0xd0, 0xc6, 0x01, - 0xee, 0xb7, 0xc9, 0xb4, 0x39, 0xda, 0x82, 0x69, 0x99, 0x24, 0x62, 0x87, 0xbe, 0xbd, 0x37, 0x22, - 0xc4, 0xfc, 0x73, 0x50, 0xfb, 0x88, 0x7c, 0x15, 0x2c, 0x47, 0x21, 0x7d, 0xa4, 0x4d, 0x39, 0xe9, - 0xa2, 0xfa, 0xd2, 0x5b, 0x65, 0xa1, 0x62, 0x12, 0x19, 0x98, 0x82, 0xbb, 0xe1, 0xfa, 0x81, 0x8e, - 0x2b, 0x4b, 0x92, 0x71, 0x7f, 0x15, 0x8a, 0x6a, 0xbb, 0x7a, 0x3c, 0xd0, 0x90, 0xe7, 0xa6, 0x85, - 0x19, 0x2d, 0x5e, 0xcb, 0x80, 0xe0, 0xfa, 0xdb, 0xe0, 0x6f, 0xe7, 0x73, 0x94, 0x9d, 0xac, 0xc1, - 0xac, 0x68, 0x6b, 0xb7, 0x83, 0x9d, 0x7a, 0x7d, 0x83, 0x26, 0x04, 0x10, 0xd7, 0xae, 0x4a, 0x99, - 0xa0, 0x8e, 0xe2, 0x55, 0xe4, 0xe8, 0xd3, 0x1e, 0x63, 0xa3, 0xac, 0x27, 0xda, 0xe1, 0xd1, 0x97, - 0x18, 0xa8, 0xf2, 0x11, 0x33, 0x2a, 0x69, 0xc2, 0xff, 0xc1, 0x0a, 0xca, 0x50, 0x80, 0x8a, 0x29, - 0x2a, 0xc4, 0xdd, 0x1c, 0xfa, 0x02, 0x50, 0x5c, 0x25, 0x91, 0x53, 0x98, 0xaa, 0x7e, 0xc9, 0x29, - 0xcc, 0xd0, 0x67, 0xaa, 0x30, 0x2b, 0x43, 0x31, 0x84, 0xf5, 0x28, 0xa5, 0x2f, 0x19, 0x27, 0xd8, - 0x7c, 0x02, 0x99, 0x83, 0x95, 0x0c, 0x42, 0x89, 0xe5, 0xe8, 0x53, 0x98, 0xe5, 0x7b, 0x5f, 0xeb, - 0x4f, 0x41, 0xb2, 0x31, 0xae, 0xdc, 0xa4, 0xf6, 0xe4, 0x21, 0xcc, 0xd7, 0x23, 0x13, 0xcf, 0x9c, - 0x4e, 0x2f, 0xea, 0x24, 0x68, 0x61, 0x1d, 0x07, 0x6c, 0xe6, 0x93, 0x69, 0x3d, 0x02, 0xc4, 0x6c, - 0x4b, 0x82, 0xdc, 0x33, 0x1b, 0x3f, 0x47, 0x97, 0x23, 0x5d, 0x27, 0x85, 0x14, 0x8c, 0xf2, 0xc1, - 0xd4, 0x91, 0xed, 0xb1, 0x44, 0x9d, 0xb4, 0x74, 0xd5, 0xea, 0x58, 0x87, 0x76, 0xdb, 0x0e, 0x6c, - 0x4c, 0xd6, 0x51, 0x45, 0x50, 0xab, 0xc4, 0x3a, 0x5e, 0x4c, 0x85, 0x40, 0xbf, 0x41, 0x83, 0x20, - 0x66, 0x6b, 0x67, 0xe8, 0x5b, 0x49, 0x4a, 0x74, 0x8a, 0x7e, 0x59, 0x7c, 0xa7, 0x3f, 0x60, 0xa9, - 0x0f, 0x4f, 0xad, 0xe3, 0xa0, 0xd6, 0xee, 0x1e, 0xd9, 0x34, 0x81, 0x1c, 0x92, 0xb6, 0x27, 0x59, - 0xc4, 0xb7, 0xb7, 0x4c, 0x83, 0x2f, 0x2b, 0xea, 0xf8, 0xc7, 0x68, 0x13, 0x0a, 0xec, 0x18, 0x51, - 0x48, 0x5c, 0x8e, 0x91, 0xe0, 0x20, 0x96, 0x67, 0x9d, 0xf8, 0xa9, 0xab, 0x75, 0x87, 0x39, 0x17, - 0x20, 0x99, 0xbc, 0x5f, 0x91, 0x53, 0x67, 0xb5, 0x32, 0x19, 0x18, 0x9a, 0xac, 0x88, 0x89, 0x7d, - 0x1c, 0x88, 0x98, 0x0d, 0x2c, 0x7d, 0xe0, 0x1b, 0xa1, 0xcc, 0x10, 0xaf, 0x0d, 0x39, 0x48, 0x24, - 0xbe, 0xd0, 0xc1, 0x7d, 0x24, 0x53, 0x2a, 0x26, 0x10, 0xbd, 0xa1, 0x89, 0x36, 0xe7, 0xa3, 0xfb, - 0x2e, 0x3d, 0xca, 0x68, 0x9c, 0x8a, 0xf9, 0xb0, 0x6f, 0x4a, 0x2e, 0xef, 0xe2, 0x94, 0x82, 0x75, - 0xb0, 0x42, 0x39, 0x23, 0x39, 0x6b, 0x89, 0x24, 0xdc, 0xf5, 0x3c, 0xec, 0x30, 0xe4, 0x34, 0xb1, - 0x25, 0x09, 0xfb, 0x13, 0xca, 0xc1, 0x14, 0x6c, 0xf6, 0x36, 0xa6, 0x17, 0x09, 0x96, 0xee, 0xe2, - 0x6e, 0x0e, 0x7d, 0x00, 0x63, 0xbc, 0x8f, 0x04, 0x49, 0xeb, 0xb4, 0x9f, 0xd1, 0x6b, 0x8a, 0x09, - 0x6c, 0x92, 0x68, 0x9f, 0x75, 0x98, 0xb4, 0xd5, 0x67, 0x7d, 0xfe, 0x80, 0x9c, 0xd9, 0xad, 0x97, - 0xc1, 0x5c, 0x15, 0x87, 0x37, 0xc5, 0x5c, 0x92, 0x61, 0x13, 0x22, 0x39, 0xd3, 0xb3, 0x89, 0x10, - 0xf1, 0x9b, 0x06, 0x08, 0x93, 0x71, 0x7e, 0xa4, 0xf8, 0xad, 0x15, 0xf7, 0x3a, 0xb2, 0x37, 0xa1, - 0x50, 0x6e, 0xd2, 0x03, 0x45, 0x66, 0x4f, 0x97, 0xba, 0x4f, 0xb4, 0x42, 0xd0, 0x9a, 0x8f, 0x26, - 0x63, 0xdf, 0xc2, 0x16, 0x8d, 0x7f, 0xba, 0x28, 0x25, 0x94, 0x48, 0x55, 0x32, 0x46, 0x86, 0xae, - 0x33, 0xb7, 0x4a, 0xb4, 0xb3, 0xf6, 0xab, 0x91, 0xf9, 0x88, 0x32, 0x0c, 0x25, 0xb3, 0xfc, 0x42, - 0x14, 0x5f, 0x6a, 0x85, 0xc2, 0x4d, 0x5e, 0x82, 0x96, 0x61, 0x86, 0x47, 0x5b, 0x94, 0xd3, 0x92, - 0x86, 0x9d, 0xd6, 0xfc, 0x77, 0x60, 0xba, 0x4a, 0x18, 0x7a, 0xb7, 0x65, 0xb3, 0x98, 0xcf, 0x48, - 0x0f, 0xe2, 0x9b, 0x8a, 0xb8, 0x21, 0x32, 0xcc, 0x28, 0x29, 0xd7, 0xe5, 0x99, 0x12, 0xcf, 0x6a, - 0x5f, 0x9c, 0x13, 0x64, 0xd5, 0xec, 0xec, 0xdc, 0x64, 0xb0, 0x98, 0x92, 0xe4, 0x1c, 0x5d, 0xd7, - 0x34, 0xd1, 0xb4, 0x4c, 0xe5, 0x09, 0xb2, 0xe7, 0xe7, 0x4a, 0xc6, 0xc7, 0x14, 0x9a, 0xd9, 0xd9, - 0xcf, 0x53, 0xc7, 0x2d, 0xa3, 0xb4, 0x26, 0x66, 0x29, 0x47, 0x6f, 0xeb, 0xd4, 0x33, 0x32, 0x99, - 0xa7, 0xb6, 0x40, 0x35, 0x7d, 0x3d, 0x89, 0x36, 0xba, 0x92, 0x9d, 0xeb, 0x5b, 0xd1, 0xf4, 0x53, - 0xb2, 0x6f, 0x3f, 0xa4, 0xdb, 0x2c, 0x4c, 0x0b, 0x89, 0x54, 0xbd, 0x39, 0x9a, 0x15, 0x53, 0xca, - 0x72, 0xc9, 0x99, 0xb4, 0x6b, 0x30, 0x13, 0xc9, 0x51, 0x2d, 0x0d, 0x3c, 0xc9, 0x59, 0xb2, 0x8b, - 0x57, 0xd2, 0xaa, 0xa5, 0xc1, 0xb5, 0x10, 0x4d, 0xbd, 0x2b, 0x87, 0x9c, 0x92, 0x54, 0x59, 0x0e, - 0x39, 0x35, 0x67, 0xef, 0x43, 0x28, 0x44, 0xb3, 0x7e, 0x4a, 0xa2, 0x29, 0xe9, 0x40, 0x53, 0xd7, - 0xe4, 0x01, 0xcc, 0xa9, 0x2b, 0x2a, 0xc7, 0x9d, 0xc6, 0xfd, 0xd3, 0xe8, 0xec, 0xc1, 0x7c, 0x62, - 0x92, 0x4e, 0x79, 0xc4, 0x66, 0xa5, 0xf0, 0x4c, 0xa5, 0x8a, 0x61, 0x21, 0x39, 0x4f, 0x2f, 0x7a, - 0x53, 0xb7, 0x1f, 0x24, 0x67, 0x2d, 0x2d, 0x5e, 0xef, 0x01, 0xc5, 0x27, 0xf4, 0x2b, 0x7a, 0x02, - 0xc6, 0xda, 0xb8, 0xa6, 0x58, 0x14, 0x52, 0x1a, 0x30, 0xb2, 0x40, 0xe4, 0x1e, 0x98, 0x4b, 0xca, - 0x42, 0x9e, 0x3a, 0xc5, 0x6f, 0xa4, 0xd3, 0x0c, 0x37, 0xd6, 0x81, 0x08, 0x69, 0x9a, 0x3a, 0x33, - 0x99, 0xf9, 0x5c, 0x33, 0x54, 0xd2, 0xa2, 0xdc, 0x0f, 0xfd, 0x77, 0x39, 0xdd, 0xbc, 0x34, 0x97, - 0x94, 0x45, 0x38, 0x6a, 0xfd, 0x49, 0x4a, 0x12, 0x2b, 0xa7, 0x21, 0x33, 0x0d, 0xf1, 0x01, 0xb3, - 0x04, 0xe9, 0xd4, 0x55, 0x4b, 0x50, 0x22, 0xe9, 0xab, 0xe9, 0x00, 0xe1, 0x8e, 0x48, 0x48, 0xb6, - 0x8e, 0x54, 0x3d, 0x2b, 0x39, 0x7f, 0xac, 0xdc, 0x11, 0x59, 0xb9, 0xda, 0x4d, 0xf1, 0xd1, 0xa5, - 0x4c, 0x4b, 0x46, 0xee, 0xdc, 0x0c, 0x75, 0x68, 0x29, 0x5c, 0xb8, 0x48, 0xb7, 0xcf, 0xbb, 0x6c, - 0x5f, 0xc1, 0xc5, 0xd4, 0x3c, 0xb9, 0xe8, 0xad, 0xd8, 0x07, 0x9d, 0x32, 0x13, 0xe9, 0x3d, 0x9d, - 0xd2, 0x52, 0xdc, 0x4a, 0x53, 0x58, 0x24, 0x9b, 0x6e, 0x8c, 0x63, 0x27, 0xa4, 0xda, 0x5d, 0xa7, - 0x92, 0xaf, 0x92, 0x2e, 0x37, 0x75, 0xac, 0x97, 0x93, 0xe8, 0xf8, 0x71, 0x9e, 0xaa, 0xf4, 0x4b, - 0x48, 0x62, 0xd1, 0x8a, 0xf3, 0xf0, 0xd4, 0x7e, 0xba, 0x96, 0x46, 0x67, 0x0d, 0x26, 0x94, 0x3c, - 0xbb, 0xe8, 0xa2, 0x36, 0x4d, 0xda, 0x29, 0x59, 0xd4, 0x06, 0xa7, 0x1f, 0x90, 0xab, 0xd4, 0xe6, - 0x2c, 0xb3, 0xf5, 0xa6, 0xf6, 0xe2, 0x52, 0x9c, 0x86, 0x66, 0x6f, 0x96, 0xb3, 0xc0, 0x7a, 0xb3, - 0x1c, 0x9d, 0x1c, 0xad, 0x43, 0xe9, 0x43, 0x42, 0xea, 0xd4, 0xf4, 0xe8, 0x52, 0xba, 0x84, 0x3a, - 0xcb, 0x93, 0xf9, 0xd1, 0x9c, 0x03, 0x22, 0x80, 0xd6, 0x82, 0x34, 0x9e, 0x29, 0xa5, 0x19, 0xb6, - 0x8c, 0x1a, 0x75, 0xe2, 0x4e, 0x48, 0x3c, 0x2c, 0x79, 0x68, 0x66, 0x5e, 0xe2, 0x04, 0xe9, 0x4c, - 0x72, 0xe5, 0x54, 0x8a, 0x99, 0x99, 0x88, 0x53, 0x7b, 0xfa, 0x43, 0x85, 0x2b, 0xc7, 0xd2, 0x0b, - 0xa3, 0x9b, 0x51, 0xd1, 0x2c, 0x2d, 0x03, 0x71, 0x06, 0xd7, 0x9f, 0x4b, 0xca, 0x4c, 0xac, 0x18, - 0x80, 0x53, 0xd3, 0x16, 0x27, 0xcc, 0x82, 0x64, 0x6f, 0x29, 0xd4, 0x32, 0xf2, 0x14, 0xa7, 0xf6, - 0xf0, 0x07, 0x0a, 0x7b, 0x8b, 0xe4, 0x13, 0x96, 0x0a, 0x77, 0x8f, 0x84, 0xc3, 0xa9, 0xb4, 0x77, - 0xa8, 0xdb, 0x7f, 0x3c, 0x19, 0xb0, 0x94, 0x5d, 0xb2, 0x52, 0x05, 0x27, 0xda, 0x87, 0xe7, 0xe3, - 0x43, 0x24, 0xf4, 0x16, 0x22, 0xd6, 0xdd, 0x5e, 0x1d, 0x93, 0x7c, 0x38, 0x21, 0x89, 0x70, 0x84, - 0x0f, 0xa7, 0xa7, 0x19, 0xce, 0x50, 0x74, 0x66, 0xea, 0xf6, 0x91, 0xa3, 0xe4, 0x00, 0x96, 0x6a, - 0x4e, 0x3c, 0x2d, 0xb1, 0x64, 0x31, 0x49, 0x29, 0x83, 0x77, 0x89, 0x84, 0xc3, 0xe4, 0x73, 0x35, - 0x9b, 0x2b, 0x2a, 0xa6, 0x27, 0xb1, 0x95, 0xec, 0x26, 0x31, 0xfd, 0xab, 0x42, 0x50, 0x4d, 0xa5, - 0x2a, 0x09, 0x26, 0x64, 0x75, 0x95, 0x04, 0x13, 0x73, 0xaf, 0xde, 0xa1, 0x76, 0x15, 0xd3, 0x6d, - 0x63, 0xd5, 0xae, 0xa2, 0xe4, 0xe6, 0x8c, 0x98, 0x35, 0xd0, 0xc7, 0xd4, 0xa8, 0x91, 0x6d, 0x09, - 0x59, 0xd4, 0x29, 0xa9, 0xbe, 0x23, 0xe3, 0x32, 0xf1, 0xa9, 0xb4, 0xa2, 0x47, 0x73, 0xaf, 0x16, - 0x97, 0xe2, 0x15, 0x32, 0x91, 0x3a, 0x84, 0x49, 0x4e, 0xa5, 0x8d, 0x22, 0x96, 0xf7, 0x34, 0xda, - 0xe7, 0xf7, 0x84, 0x51, 0x44, 0x43, 0x8b, 0xa5, 0x3d, 0x8d, 0xa2, 0x7d, 0x07, 0x26, 0xc3, 0x14, - 0xa7, 0x07, 0x2b, 0x0a, 0x62, 0x24, 0xef, 0x69, 0x14, 0xf1, 0x03, 0x71, 0x71, 0x42, 0xdb, 0xd3, - 0x2b, 0xb3, 0xed, 0x27, 0x9f, 0x08, 0x23, 0x8c, 0xd6, 0xd3, 0x58, 0xc2, 0xd4, 0x0c, 0xce, 0x3d, - 0xa9, 0xe6, 0x65, 0x93, 0xfb, 0x22, 0x21, 0xb3, 0xa2, 0xdc, 0x17, 0x49, 0x99, 0x11, 0xc3, 0x8b, - 0x85, 0x2f, 0x84, 0xc5, 0x21, 0x24, 0x7a, 0x59, 0xeb, 0x56, 0x8c, 0xee, 0x95, 0xb4, 0xea, 0x28, - 0xe9, 0x3a, 0x14, 0xa2, 0x49, 0xe4, 0xa4, 0xba, 0x96, 0x92, 0xed, 0x4f, 0xea, 0x80, 0xa9, 0xd9, - 0xe7, 0x6a, 0xc2, 0x7c, 0xae, 0xd3, 0xbd, 0x96, 0xdc, 0x29, 0x95, 0x74, 0xb6, 0x58, 0x16, 0xe6, - 0x93, 0x53, 0x15, 0xe9, 0x58, 0xbe, 0x3a, 0x55, 0x2c, 0x4b, 0x48, 0x41, 0x67, 0x8b, 0xd8, 0x2b, - 0xc9, 0x69, 0x6d, 0xdf, 0xd6, 0x35, 0xdc, 0x8c, 0x10, 0xc6, 0x3d, 0x2f, 0x99, 0xd1, 0xaf, 0xc0, - 0x62, 0x4a, 0xb4, 0x57, 0x74, 0x3d, 0x62, 0x88, 0x4d, 0x8e, 0x06, 0x2b, 0x37, 0x48, 0x62, 0xa2, - 0xd7, 0x6d, 0xea, 0x9d, 0xa0, 0xbd, 0xb2, 0x8e, 0xdd, 0xf8, 0x3d, 0xb6, 0x83, 0x63, 0x96, 0xcf, - 0x54, 0xe1, 0xb9, 0x89, 0xcf, 0xb3, 0x51, 0x9d, 0xea, 0x2b, 0x5a, 0x69, 0xc2, 0xa5, 0x5f, 0x02, - 0xc1, 0x62, 0x32, 0x41, 0x9a, 0x02, 0xbf, 0x26, 0xae, 0x76, 0xa2, 0xdd, 0x54, 0x87, 0x9f, 0xf4, - 0xb0, 0x3c, 0xb5, 0x9b, 0x35, 0x21, 0x60, 0x25, 0x53, 0x4c, 0x7f, 0x0d, 0x9f, 0x4a, 0xf1, 0x21, - 0xa1, 0x18, 0x7b, 0xe0, 0x8e, 0x52, 0xc0, 0xb3, 0xb9, 0x87, 0x29, 0xce, 0x6b, 0x1d, 0x6b, 0x45, - 0xe9, 0x5f, 0xda, 0x53, 0xfa, 0xd4, 0xfe, 0x55, 0xc5, 0xf7, 0x94, 0xdc, 0xbf, 0x7e, 0x4f, 0x6c, - 0x79, 0x3d, 0x16, 0x89, 0xb1, 0xa0, 0x0d, 0x54, 0x29, 0x2f, 0xa6, 0x94, 0xa3, 0x1d, 0xea, 0x6e, - 0x14, 0x2d, 0x55, 0x14, 0xd7, 0xe4, 0x20, 0x0e, 0xa9, 0xf4, 0xd8, 0x3e, 0xd6, 0x1e, 0xc1, 0x9f, - 0x67, 0x1f, 0x47, 0x5e, 0xcf, 0xf3, 0x7d, 0xac, 0x95, 0x9e, 0x6f, 0x1f, 0x47, 0x08, 0xea, 0xfb, - 0x38, 0xda, 0xcd, 0xa8, 0x21, 0x20, 0x75, 0x55, 0xa3, 0xdd, 0x94, 0xfb, 0x38, 0x99, 0x62, 0x7a, - 0xb0, 0x82, 0x54, 0x8a, 0x72, 0x1f, 0xeb, 0x14, 0x53, 0xc0, 0xfb, 0xdc, 0xc7, 0xd1, 0x46, 0xf4, - 0x7d, 0x7c, 0xae, 0xfe, 0xc9, 0x7d, 0x9c, 0xdc, 0xbf, 0x73, 0xef, 0xe3, 0x48, 0x74, 0x0f, 0x6d, - 0xa0, 0x49, 0xfb, 0x38, 0x0a, 0xcf, 0xf6, 0x71, 0xb4, 0x34, 0x62, 0x80, 0xc9, 0xd8, 0xc7, 0x51, - 0xcc, 0xcf, 0x28, 0xbd, 0x48, 0x64, 0x82, 0x7e, 0x76, 0x72, 0x6a, 0x50, 0x03, 0xf4, 0x98, 0x5a, - 0xff, 0x22, 0xe5, 0xfd, 0xed, 0xe6, 0xe5, 0x34, 0xa2, 0x74, 0x3f, 0x1f, 0x88, 0x49, 0x8c, 0x76, - 0x57, 0x37, 0x6d, 0x25, 0x07, 0x66, 0xc8, 0xe8, 0xf0, 0x01, 0xd9, 0x37, 0xad, 0x0c, 0xba, 0x59, - 0x71, 0x25, 0x32, 0xe8, 0x4a, 0x3d, 0x28, 0x4a, 0x37, 0x15, 0x25, 0x7b, 0x7f, 0x7f, 0x2e, 0xee, - 0x3f, 0xa2, 0x78, 0x2b, 0x11, 0xcd, 0xea, 0xdc, 0x3d, 0x95, 0x1a, 0x56, 0xb4, 0xa7, 0xe7, 0xdd, - 0xe7, 0xdb, 0x42, 0x7a, 0x88, 0x05, 0xa4, 0x89, 0x0c, 0x5a, 0xdd, 0xeb, 0xa9, 0x35, 0x68, 0x8f, - 0x9a, 0x7a, 0xe3, 0xe5, 0x8a, 0x99, 0x38, 0x2d, 0xf2, 0x4d, 0x4f, 0xaa, 0xb1, 0xd0, 0x1a, 0x2a, - 0xd5, 0xb4, 0xb8, 0x1b, 0x92, 0x6a, 0x1c, 0xfb, 0x53, 0x6a, 0x3a, 0xe3, 0x6f, 0xba, 0x9c, 0x27, - 0x6e, 0xba, 0x9e, 0x33, 0xab, 0xb9, 0x44, 0x11, 0x58, 0xea, 0x89, 0xf6, 0x5d, 0x7e, 0xc1, 0x27, - 0x0a, 0x53, 0x27, 0x3f, 0x09, 0x1f, 0x7d, 0x0a, 0x05, 0xce, 0xde, 0x42, 0x02, 0x49, 0x80, 0xa9, - 0x4b, 0x57, 0x11, 0x16, 0xbb, 0x3e, 0x7a, 0xd0, 0x8f, 0xa5, 0xae, 0x9f, 0x99, 0x48, 0x37, 0x6b, - 0x91, 0xe3, 0x70, 0xcf, 0xeb, 0xfa, 0x01, 0x6e, 0xc5, 0xcd, 0x51, 0x7a, 0x67, 0x84, 0xe3, 0x84, - 0x0e, 0x7e, 0xb0, 0x82, 0x36, 0x29, 0x6f, 0xd3, 0x8b, 0xb3, 0xec, 0x75, 0xc9, 0x64, 0x28, 0xeb, - 0xd9, 0x90, 0x8f, 0x87, 0xf4, 0x3e, 0xa5, 0xb5, 0x9d, 0xde, 0x29, 0x39, 0x45, 0x7d, 0x8e, 0x2e, - 0x6d, 0x8a, 0x98, 0x42, 0xcd, 0x6c, 0x87, 0xbd, 0x66, 0x26, 0xfa, 0x9c, 0x09, 0x7d, 0x1f, 0xc6, - 0x05, 0x72, 0xef, 0x09, 0x89, 0x62, 0xd3, 0x09, 0x59, 0x83, 0x29, 0xed, 0xad, 0x96, 0xd4, 0x6e, - 0x92, 0x5e, 0x70, 0x65, 0xac, 0xf3, 0x94, 0xf6, 0x26, 0x4b, 0x52, 0x49, 0x7a, 0xa9, 0x95, 0x4a, - 0xe5, 0x7b, 0x30, 0xc1, 0xa7, 0x34, 0x73, 0x36, 0xd2, 0x8d, 0x75, 0xf3, 0x8a, 0xdf, 0x73, 0xb7, - 0x65, 0x07, 0xab, 0xae, 0xf3, 0xc4, 0x3e, 0xea, 0x39, 0x31, 0x71, 0x94, 0x83, 0x15, 0xf4, 0x25, - 0xcd, 0xfe, 0x29, 0x72, 0xb2, 0xe2, 0xe0, 0xb9, 0xeb, 0x3d, 0xb5, 0x9d, 0xa3, 0x1e, 0x24, 0xaf, - 0xea, 0x24, 0xa3, 0x78, 0xc2, 0xb5, 0xe4, 0x4b, 0x28, 0xd6, 0xd3, 0x89, 0xf7, 0x24, 0x92, 0x7d, - 0xbc, 0xd4, 0x61, 0x99, 0x3a, 0xd7, 0x9c, 0xb7, 0xef, 0x99, 0x44, 0xbf, 0x60, 0x31, 0xcd, 0x84, - 0xa1, 0xbf, 0xe9, 0x7a, 0xad, 0xde, 0x14, 0x4b, 0xba, 0xbb, 0x6e, 0x04, 0x4d, 0x4c, 0xc6, 0x17, - 0x70, 0xb1, 0x9e, 0x4a, 0xba, 0x17, 0x89, 0x5e, 0x92, 0xe4, 0x25, 0x3a, 0x15, 0xe7, 0xec, 0x77, - 0x26, 0xcd, 0x4d, 0xca, 0xd3, 0xc8, 0x39, 0x54, 0xf3, 0xf0, 0x13, 0xec, 0x51, 0xa7, 0xf0, 0x5e, - 0xee, 0xd0, 0x3a, 0xb8, 0x18, 0xf9, 0x26, 0x5c, 0xa8, 0xc7, 0x48, 0xa5, 0xa1, 0x64, 0xf7, 0xea, - 0x21, 0xcc, 0xd2, 0x91, 0xf6, 0xd9, 0xaf, 0x1e, 0x4e, 0x44, 0x13, 0xeb, 0x38, 0xd8, 0xdf, 0xec, - 0x31, 0x4b, 0xe2, 0xd5, 0x82, 0x00, 0x3c, 0xb8, 0x47, 0x30, 0xeb, 0x0a, 0x66, 0x1c, 0x22, 0xf5, - 0xe3, 0xfd, 0xbe, 0xb8, 0x48, 0xe9, 0xd9, 0x6c, 0x1a, 0x85, 0xfb, 0x94, 0x17, 0x72, 0xc7, 0x68, - 0xc5, 0x04, 0xa9, 0x25, 0xe9, 0x2e, 0x4e, 0xa9, 0x3e, 0xd2, 0x3e, 0x2a, 0x33, 0xf5, 0x4f, 0x4d, - 0xe7, 0xad, 0xb8, 0x5e, 0x24, 0xe6, 0xf9, 0x8e, 0x92, 0x60, 0x26, 0xd4, 0x2d, 0xb7, 0xf9, 0x54, - 0x35, 0xa1, 0x2a, 0xf9, 0xa1, 0x8b, 0x7a, 0xf6, 0x66, 0xce, 0xf1, 0x69, 0x0a, 0x67, 0xd5, 0x2f, - 0x4c, 0xcd, 0x10, 0xad, 0x9a, 0x50, 0xf5, 0x5c, 0xd6, 0xf7, 0x85, 0x6d, 0x91, 0x36, 0xa8, 0x53, - 0x4e, 0x9d, 0x1a, 0x69, 0x56, 0xa4, 0x48, 0xba, 0x59, 0x51, 0xed, 0x68, 0xfa, 0x45, 0x00, 0x8a, - 0x27, 0xb3, 0x96, 0xca, 0x4a, 0x6a, 0x9e, 0xeb, 0x0c, 0xf7, 0xae, 0xd9, 0x84, 0x5c, 0xfc, 0x52, - 0xbd, 0x4b, 0xcf, 0xd3, 0x5f, 0xd4, 0x7d, 0x95, 0xee, 0xe6, 0xd0, 0x0e, 0x2c, 0xac, 0xe3, 0x80, - 0xf3, 0x38, 0x13, 0xfb, 0x81, 0x67, 0x37, 0x83, 0xcc, 0x5b, 0x45, 0xa1, 0x9b, 0x24, 0xe0, 0x1c, - 0xbc, 0x4b, 0xe8, 0xd5, 0x93, 0xe9, 0x65, 0xe2, 0x65, 0x78, 0xd0, 0xf2, 0xab, 0x8a, 0xf3, 0x74, - 0x31, 0x7d, 0x8b, 0x8f, 0x32, 0x07, 0x9d, 0x74, 0xd4, 0x42, 0x18, 0x91, 0x84, 0x6b, 0x5b, 0xb7, - 0x61, 0x84, 0x21, 0xa5, 0x1e, 0xa8, 0x93, 0x2a, 0x0e, 0xba, 0x07, 0xe3, 0xd2, 0xc3, 0x06, 0x69, - 0x55, 0xa9, 0xfd, 0xba, 0x07, 0xe3, 0x4c, 0xb5, 0xea, 0x1f, 0xe5, 0x63, 0x18, 0x97, 0x2e, 0x39, - 0xe7, 0x3e, 0xe9, 0x3f, 0x85, 0x29, 0xd5, 0x39, 0xe7, 0xfc, 0x13, 0xf9, 0x3d, 0x7a, 0xf7, 0x2b, - 0xae, 0x58, 0xd2, 0xf1, 0xe7, 0x23, 0x89, 0x77, 0xf8, 0x94, 0x32, 0x06, 0x29, 0x0a, 0x53, 0xbb, - 0x7f, 0x21, 0x86, 0x8d, 0x3e, 0x16, 0xef, 0xa5, 0x24, 0x72, 0x1c, 0x28, 0x63, 0xce, 0xa6, 0xd9, - 0x34, 0xbf, 0x0c, 0xb2, 0x64, 0xb0, 0x3d, 0xbb, 0xdd, 0xcf, 0x1d, 0x75, 0xef, 0xa9, 0x4b, 0xa3, - 0xb2, 0x4b, 0xa5, 0xb4, 0x58, 0x4a, 0xa8, 0x74, 0x42, 0x57, 0xd2, 0xb3, 0x48, 0xd1, 0xc5, 0x78, - 0x48, 0xb5, 0xc0, 0x58, 0x6d, 0xea, 0xf0, 0x32, 0xb2, 0x52, 0x85, 0x6a, 0x6f, 0x9c, 0x5c, 0x06, - 0x5a, 0x96, 0x16, 0xcd, 0x5f, 0x81, 0xbe, 0x16, 0x72, 0x9b, 0xc2, 0xc7, 0xb1, 0xff, 0xc1, 0xa6, - 0xf7, 0xec, 0x52, 0xc2, 0xad, 0x78, 0xcf, 0xb5, 0x48, 0x23, 0xf7, 0x2b, 0x54, 0x3a, 0x4c, 0xcc, - 0x6a, 0x95, 0x4e, 0xec, 0xa6, 0xe2, 0x58, 0x91, 0x88, 0x29, 0x0f, 0xbd, 0xa7, 0xf4, 0x21, 0x5a, - 0x72, 0xd2, 0xac, 0x1b, 0x3d, 0xa8, 0x88, 0x99, 0x78, 0xab, 0x27, 0x9c, 0xbc, 0x63, 0xbd, 0xc4, - 0x4e, 0xd8, 0xe4, 0xf6, 0x7a, 0x24, 0x01, 0x4b, 0xb8, 0xf6, 0x4e, 0x49, 0xf3, 0x2f, 0x08, 0xea, - 0x0e, 0xa4, 0x99, 0x63, 0x48, 0x9b, 0xfe, 0xcf, 0xa0, 0x14, 0x7a, 0x8f, 0x9c, 0x6f, 0x11, 0xd2, - 0xfd, 0x16, 0x51, 0x6c, 0xa6, 0x7c, 0x94, 0x95, 0x15, 0xa3, 0x78, 0x2d, 0x6d, 0x86, 0x7d, 0xc5, - 0x2d, 0x89, 0xfb, 0xbd, 0x45, 0xd2, 0xc7, 0xa5, 0x25, 0xa2, 0xcb, 0xb0, 0xc3, 0xf2, 0x97, 0x79, - 0xaf, 0x85, 0x50, 0x7c, 0xb5, 0xcf, 0x4f, 0x48, 0x3a, 0x77, 0x44, 0x08, 0x19, 0x19, 0xcb, 0x7b, - 0x1e, 0xdf, 0xb5, 0xe8, 0x52, 0x9c, 0x77, 0x41, 0xad, 0xf0, 0x35, 0x9a, 0x4e, 0x6a, 0x55, 0x7d, - 0x01, 0x1c, 0xaf, 0x8a, 0x3e, 0xa5, 0x4a, 0x82, 0x90, 0x1e, 0x55, 0x4b, 0xa2, 0x09, 0x2d, 0x3d, - 0xfc, 0xaa, 0xb9, 0x15, 0x9a, 0x15, 0x12, 0xf2, 0xc6, 0x17, 0x41, 0x54, 0x9a, 0x5b, 0xa8, 0x2e, - 0xc2, 0x31, 0x27, 0xc5, 0xc0, 0x91, 0x2f, 0x63, 0x92, 0x2a, 0x33, 0xb4, 0x8b, 0xba, 0x08, 0xc0, - 0xfc, 0x3a, 0x89, 0x36, 0x60, 0x31, 0x25, 0x72, 0x90, 0xbc, 0x61, 0xcd, 0x8e, 0x2c, 0x54, 0xcc, - 0x6e, 0x18, 0x7d, 0x09, 0xf3, 0x89, 0xa1, 0x85, 0xa4, 0x95, 0x38, 0x2b, 0xf0, 0x50, 0x2f, 0xe2, - 0x4f, 0x61, 0x29, 0x2d, 0x97, 0x7b, 0xf8, 0x52, 0x27, 0x3b, 0xc1, 0xbe, 0xe4, 0xa9, 0x3d, 0x93, - 0xc2, 0xef, 0xc0, 0x5c, 0x52, 0x7e, 0x74, 0xf9, 0x71, 0x64, 0x24, 0x4f, 0x4f, 0x7c, 0x0e, 0x54, - 0x83, 0xf9, 0xc4, 0x1c, 0xe5, 0x72, 0x66, 0xb2, 0x32, 0x98, 0x27, 0x52, 0xfc, 0x1c, 0x16, 0x53, - 0x12, 0x72, 0x87, 0xd7, 0xe5, 0x99, 0x09, 0xbb, 0x33, 0x9c, 0x95, 0x8a, 0xe9, 0xb9, 0x9e, 0xa5, - 0x8f, 0x5a, 0xcf, 0x74, 0xd0, 0xc5, 0xc4, 0x04, 0xf8, 0x68, 0x8f, 0x6e, 0xc2, 0xa4, 0xe4, 0xcf, - 0xea, 0x26, 0xcc, 0x48, 0x0e, 0x9d, 0xf2, 0x8c, 0x6b, 0x31, 0x25, 0xdf, 0x73, 0x06, 0xd5, 0x3e, - 0x7a, 0xbb, 0x23, 0xf8, 0xbf, 0x9e, 0x19, 0x37, 0xe2, 0xf7, 0x9c, 0x98, 0x36, 0x37, 0xb1, 0x9f, - 0x4a, 0x7c, 0x85, 0x76, 0x3b, 0x43, 0x0c, 0x42, 0x6a, 0x80, 0x05, 0x02, 0x49, 0x0d, 0xed, 0x53, - 0x2a, 0x6e, 0x16, 0x47, 0x8d, 0x21, 0x53, 0xc1, 0xf3, 0x23, 0x98, 0xac, 0xab, 0x8d, 0x27, 0x34, - 0x92, 0xba, 0x29, 0xe4, 0x43, 0x9e, 0xde, 0x7d, 0xcf, 0x70, 0xf6, 0x94, 0x87, 0x43, 0x5f, 0xa3, - 0x48, 0x75, 0x6f, 0xd1, 0xd2, 0x1c, 0x49, 0x4e, 0x9d, 0x94, 0x85, 0x4c, 0xba, 0xb7, 0x24, 0x67, - 0x46, 0x6a, 0xb0, 0xc4, 0x0c, 0xd1, 0x24, 0x73, 0xc8, 0xe8, 0x9d, 0xcd, 0x51, 0xba, 0xb5, 0x67, - 0x66, 0xa9, 0x63, 0xbe, 0x38, 0x61, 0x62, 0x27, 0xd5, 0x17, 0x27, 0x96, 0x2e, 0x4a, 0xf5, 0xc5, - 0x49, 0xc8, 0x05, 0x55, 0xa5, 0xb4, 0xc2, 0x8c, 0x16, 0x19, 0x06, 0x03, 0x49, 0x26, 0x21, 0x71, - 0xc6, 0x23, 0x35, 0x4c, 0x07, 0xcb, 0x83, 0x91, 0x61, 0x0f, 0x8d, 0x86, 0xe7, 0x88, 0x24, 0xce, - 0x78, 0x00, 0x05, 0x16, 0x12, 0x3c, 0x8c, 0x6c, 0x18, 0xfa, 0xf6, 0xc5, 0x23, 0x95, 0x67, 0x2c, - 0x6a, 0x21, 0x1a, 0x13, 0x4e, 0x9a, 0xb5, 0x52, 0x82, 0xc5, 0x65, 0x6c, 0x55, 0x08, 0x23, 0xbf, - 0x49, 0xe3, 0x51, 0x2c, 0x18, 0x5c, 0xf1, 0x62, 0x42, 0x8d, 0x14, 0xfb, 0x26, 0xd5, 0x38, 0x71, - 0x72, 0x48, 0x09, 0xc1, 0xe3, 0x8a, 0x97, 0x12, 0xeb, 0x38, 0xa1, 0x80, 0x25, 0x34, 0x4d, 0x4e, - 0xc3, 0x1a, 0xbe, 0xc5, 0xca, 0x80, 0x11, 0xcd, 0xdc, 0xea, 0x07, 0x94, 0xb7, 0x8a, 0x65, 0x3e, - 0x8f, 0x84, 0xdc, 0xaf, 0x6f, 0x25, 0xbc, 0x99, 0xd0, 0x20, 0x42, 0x8f, 0xad, 0xec, 0x44, 0xb4, - 0xe8, 0xb1, 0xc8, 0xaf, 0x90, 0xd2, 0x52, 0x2f, 0x02, 0xa9, 0x2b, 0xf8, 0x58, 0x64, 0x54, 0x78, - 0xdd, 0x84, 0x0f, 0x61, 0x39, 0xf2, 0x24, 0x43, 0x27, 0x7c, 0x2b, 0xf9, 0xdd, 0x46, 0xe2, 0xf4, - 0xa4, 0xcb, 0xd5, 0x57, 0xe3, 0xef, 0x37, 0x22, 0xeb, 0x7e, 0x5e, 0x9e, 0xb7, 0x0d, 0xd3, 0x94, - 0xcd, 0x88, 0x2c, 0xc6, 0x61, 0x94, 0x18, 0xbd, 0x38, 0x1a, 0xae, 0x28, 0x5a, 0x2b, 0xdd, 0x5a, - 0x27, 0xf9, 0xbb, 0x5e, 0x96, 0x13, 0xb9, 0xa8, 0x3f, 0xf6, 0xa5, 0x85, 0x49, 0xa7, 0x18, 0x4f, - 0xb5, 0x8c, 0xbe, 0x07, 0x33, 0xe1, 0x73, 0x5f, 0x46, 0x22, 0x01, 0x2c, 0xc3, 0x98, 0x35, 0x13, - 0xbe, 0xf9, 0x3d, 0x3f, 0xfa, 0x86, 0x38, 0x8a, 0x42, 0xf4, 0xcb, 0xb1, 0xa7, 0x2c, 0xda, 0x18, - 0xfa, 0x39, 0x91, 0x94, 0xb9, 0x3d, 0xef, 0xea, 0x34, 0xe9, 0xe7, 0x96, 0x1c, 0x00, 0x51, 0xfd, - 0xdc, 0x32, 0x83, 0x34, 0x4a, 0xf1, 0x37, 0x85, 0xce, 0x36, 0xbc, 0x41, 0x83, 0xa6, 0xd4, 0x58, - 0x98, 0xbc, 0x64, 0xa8, 0xf4, 0xbe, 0x47, 0x43, 0xad, 0xb4, 0xe1, 0x5a, 0xcf, 0x08, 0x90, 0xe8, - 0x8e, 0xe6, 0x86, 0xd2, 0x3b, 0x56, 0x64, 0xd6, 0xf3, 0xb1, 0xa4, 0x40, 0x8a, 0xf2, 0x9c, 0xcd, - 0x88, 0xe9, 0x28, 0xcf, 0xd9, 0xcc, 0x48, 0x8c, 0x9f, 0xd3, 0xa4, 0x25, 0xfc, 0x8c, 0xa2, 0x81, - 0x90, 0xb0, 0xc3, 0x42, 0x43, 0x67, 0x5e, 0xcd, 0x5c, 0xd3, 0x2f, 0x2e, 0x63, 0x88, 0x54, 0xa7, - 0xb9, 0xc2, 0x35, 0xb1, 0x34, 0xe2, 0xbd, 0x89, 0x64, 0xb8, 0x3f, 0x5f, 0x61, 0x1b, 0xf0, 0xdc, - 0x3d, 0x4f, 0x29, 0xaf, 0xac, 0xfd, 0xec, 0xbf, 0x5e, 0xc9, 0xfd, 0xec, 0xe7, 0x57, 0x72, 0xff, - 0xe9, 0xe7, 0x57, 0x72, 0xff, 0xe5, 0xe7, 0x57, 0x72, 0x3f, 0x58, 0xe9, 0x2f, 0x40, 0x71, 0xb3, - 0x6d, 0x63, 0x27, 0xb8, 0xc3, 0xc8, 0x8d, 0xd0, 0xff, 0xee, 0xff, 0xbf, 0x00, 0x00, 0x00, 0xff, - 0xff, 0xe8, 0xe9, 0xc7, 0x44, 0xe1, 0xdf, 0x00, 0x00, + // 14277 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x7d, 0x4b, 0x6c, 0x24, 0x49, + 0x76, 0x18, 0xab, 0xf8, 0x7f, 0xfc, 0x55, 0x07, 0xc9, 0x26, 0xbb, 0xfa, 0x53, 0xdd, 0x39, 0xbf, + 0x9e, 0xde, 0xd9, 0xfe, 0xb0, 0x67, 0x66, 0xe7, 0xb3, 0x3b, 0xb3, 0x55, 0x24, 0xbb, 0xc9, 0x6e, + 0x7e, 0x6a, 0xb2, 0x48, 0xf6, 0xcc, 0xec, 0x68, 0x6b, 0x93, 0x55, 0xd1, 0x64, 0xaa, 0x8b, 0x99, + 0xb5, 0x99, 0x59, 0xdd, 0xd3, 0x2b, 0x4b, 0x86, 0x56, 0x36, 0xac, 0x8b, 0x6d, 0x09, 0x90, 0x0c, + 0x19, 0x3a, 0x18, 0x06, 0x2c, 0xc0, 0xf0, 0x49, 0x17, 0x5b, 0x17, 0x03, 0x86, 0x4f, 0x5e, 0x0b, + 0x90, 0x6d, 0x40, 0xd2, 0xc5, 0x07, 0xca, 0x5e, 0xc0, 0x17, 0xc2, 0x3e, 0x18, 0x86, 0x0d, 0x78, + 0x01, 0x01, 0x46, 0x7c, 0x33, 0x22, 0x33, 0x32, 0x8b, 0xec, 0xee, 0x59, 0xf9, 0xd2, 0xcd, 0x8a, + 0x78, 0xef, 0x45, 0xc4, 0x8b, 0xc8, 0x17, 0x2f, 0x5e, 0xbc, 0x78, 0x0f, 0x6e, 0x46, 0xb8, 0x83, + 0xbb, 0x7e, 0x10, 0xdd, 0xea, 0xe0, 0x03, 0xa7, 0xf5, 0xfc, 0x56, 0xab, 0xe3, 0x62, 0x2f, 0xba, + 0xd5, 0x0d, 0xfc, 0xc8, 0xbf, 0xe5, 0xf4, 0xa2, 0xc3, 0x10, 0x07, 0x4f, 0xdd, 0x16, 0xbe, 0x49, + 0x4b, 0xd0, 0x30, 0xfd, 0xaf, 0x3c, 0x77, 0xe0, 0x1f, 0xf8, 0x0c, 0x86, 0xfc, 0xc5, 0x2a, 0xcb, + 0x17, 0x0f, 0x7c, 0xff, 0xa0, 0x83, 0x19, 0xf2, 0x7e, 0xef, 0xf1, 0x2d, 0x7c, 0xd4, 0x8d, 0x9e, + 0xf3, 0xca, 0x4a, 0xb2, 0x32, 0x72, 0x8f, 0x70, 0x18, 0x39, 0x47, 0x5d, 0x0e, 0xf0, 0xb6, 0xec, + 0x8a, 0x13, 0x45, 0xa4, 0x26, 0x72, 0x7d, 0xef, 0xd6, 0xd3, 0x3b, 0xea, 0x4f, 0x0e, 0x7a, 0x3d, + 0xb7, 0xd7, 0x2d, 0x1c, 0x44, 0xe1, 0xa9, 0x20, 0xf1, 0x53, 0xec, 0x45, 0xa9, 0xe6, 0x39, 0x64, + 0xf4, 0xbc, 0x8b, 0x43, 0x06, 0x22, 0xfe, 0xe3, 0xa0, 0xd7, 0xcc, 0xa0, 0xf4, 0x5f, 0x0e, 0xf2, + 0x6d, 0x33, 0xc8, 0x33, 0xbc, 0x4f, 0x78, 0xea, 0xc9, 0x3f, 0xfa, 0x80, 0x07, 0x4e, 0xb7, 0x8b, + 0x83, 0xf8, 0x0f, 0x0e, 0x7e, 0x41, 0x82, 0x1f, 0x3d, 0x76, 0x08, 0x8b, 0x8e, 0x1e, 0x3b, 0xa9, + 0x61, 0xf4, 0x42, 0xe7, 0x00, 0xf3, 0xee, 0x3f, 0xbd, 0xa3, 0xfe, 0x64, 0xa0, 0xd6, 0x3f, 0x29, + 0xc0, 0xf0, 0x23, 0x27, 0x6a, 0x1d, 0xa2, 0x4f, 0x61, 0xf8, 0xa1, 0xeb, 0xb5, 0xc3, 0xc5, 0xc2, + 0xd5, 0xc1, 0xeb, 0x13, 0x4b, 0xa5, 0x9b, 0x6c, 0x28, 0xb4, 0x92, 0x54, 0xd4, 0x16, 0x7e, 0x76, + 0x5c, 0x19, 0x38, 0x39, 0xae, 0xcc, 0x3c, 0x21, 0x60, 0xef, 0xf8, 0x47, 0x6e, 0x44, 0xe7, 0xd6, + 0x66, 0x78, 0x68, 0x17, 0x66, 0xab, 0x9d, 0x8e, 0xff, 0xac, 0xee, 0x04, 0x91, 0xeb, 0x74, 0x1a, + 0xbd, 0x56, 0x0b, 0x87, 0xe1, 0x62, 0xf1, 0x6a, 0xe1, 0xfa, 0x58, 0xed, 0xb5, 0x93, 0xe3, 0x4a, + 0xc5, 0x21, 0xd5, 0xcd, 0x2e, 0xab, 0x6f, 0x86, 0x0c, 0x40, 0x21, 0x64, 0xc2, 0xb7, 0xfe, 0x74, + 0x04, 0x4a, 0x6b, 0x7e, 0x18, 0x2d, 0x93, 0x19, 0xb5, 0xf1, 0x8f, 0x7b, 0x38, 0x8c, 0xd0, 0x6b, + 0x30, 0x42, 0xca, 0xd6, 0x57, 0x16, 0x0b, 0x57, 0x0b, 0xd7, 0xc7, 0x6b, 0x13, 0x27, 0xc7, 0x95, + 0xd1, 0x43, 0x3f, 0x8c, 0x9a, 0x6e, 0xdb, 0xe6, 0x55, 0xe8, 0x6d, 0x18, 0xdb, 0xf2, 0xdb, 0x78, + 0xcb, 0x39, 0xc2, 0xb4, 0x17, 0xe3, 0xb5, 0xa9, 0x93, 0xe3, 0xca, 0xb8, 0xe7, 0xb7, 0x71, 0xd3, + 0x73, 0x8e, 0xb0, 0x2d, 0xab, 0xd1, 0x1e, 0x0c, 0xd9, 0x7e, 0x07, 0x2f, 0x0e, 0x52, 0xb0, 0xda, + 0xc9, 0x71, 0x65, 0x28, 0xf0, 0x3b, 0xf8, 0x17, 0xc7, 0x95, 0xf7, 0x0f, 0xdc, 0xe8, 0xb0, 0xb7, + 0x7f, 0xb3, 0xe5, 0x1f, 0xdd, 0x3a, 0x08, 0x9c, 0xa7, 0x2e, 0x5b, 0x84, 0x4e, 0xe7, 0x56, 0xbc, + 0x54, 0xbb, 0x2e, 0x9f, 0xf7, 0xc6, 0xf3, 0x30, 0xc2, 0x47, 0x84, 0x92, 0x4d, 0xe9, 0xa1, 0x47, + 0x30, 0x57, 0x6d, 0xb7, 0x5d, 0x86, 0x51, 0x0f, 0x5c, 0xaf, 0xe5, 0x76, 0x9d, 0x4e, 0xb8, 0x38, + 0x74, 0x75, 0xf0, 0xfa, 0x38, 0x67, 0x8a, 0xac, 0x6f, 0x76, 0x25, 0x80, 0xc2, 0x14, 0x23, 0x01, + 0x74, 0x17, 0xc6, 0x56, 0xb6, 0x1a, 0xa4, 0xef, 0xe1, 0xe2, 0x30, 0x25, 0xb6, 0x70, 0x72, 0x5c, + 0x99, 0x6d, 0x7b, 0x21, 0x1d, 0x9a, 0x4a, 0x40, 0x02, 0xa2, 0xf7, 0x61, 0xb2, 0xde, 0xdb, 0xef, + 0xb8, 0xad, 0x9d, 0x8d, 0xc6, 0x43, 0xfc, 0x7c, 0x71, 0xe4, 0x6a, 0xe1, 0xfa, 0x64, 0x0d, 0x9d, + 0x1c, 0x57, 0xa6, 0xbb, 0xb4, 0xbc, 0x19, 0x75, 0xc2, 0xe6, 0x13, 0xfc, 0xdc, 0xd6, 0xe0, 0x62, + 0xbc, 0x46, 0x63, 0x8d, 0xe0, 0x8d, 0xa6, 0xf0, 0xc2, 0xf0, 0x50, 0xc5, 0x63, 0x70, 0xe8, 0x16, + 0x80, 0x8d, 0x8f, 0xfc, 0x08, 0x57, 0xdb, 0xed, 0x60, 0x71, 0x8c, 0xf2, 0x76, 0xe6, 0xe4, 0xb8, + 0x32, 0x11, 0xd0, 0xd2, 0xa6, 0xd3, 0x6e, 0x07, 0xb6, 0x02, 0x82, 0x96, 0x61, 0xcc, 0xf6, 0x19, + 0x83, 0x17, 0xc7, 0xaf, 0x16, 0xae, 0x4f, 0x2c, 0xcd, 0xf0, 0x65, 0x28, 0x8a, 0x6b, 0xe7, 0x4f, + 0x8e, 0x2b, 0x28, 0xe0, 0xbf, 0xd4, 0x51, 0x0a, 0x08, 0x54, 0x81, 0xd1, 0x2d, 0x7f, 0xd9, 0x69, + 0x1d, 0xe2, 0x45, 0xa0, 0x6b, 0x6f, 0xf8, 0xe4, 0xb8, 0x52, 0xf8, 0xb6, 0x2d, 0x4a, 0xd1, 0x53, + 0x98, 0x88, 0x27, 0x2a, 0x5c, 0x9c, 0xa0, 0xec, 0xdb, 0x39, 0x39, 0xae, 0x9c, 0x0f, 0x69, 0x71, + 0x93, 0x4c, 0xbd, 0xc2, 0xc1, 0x97, 0x58, 0x05, 0x6a, 0x43, 0xe8, 0x2b, 0x98, 0x8f, 0x7f, 0x56, + 0xc3, 0x10, 0x07, 0x84, 0xc6, 0xfa, 0xca, 0xe2, 0x14, 0xe5, 0xcc, 0x9b, 0x27, 0xc7, 0x15, 0x4b, + 0xe9, 0x41, 0xd3, 0x11, 0x20, 0x4d, 0xb7, 0xad, 0x8c, 0xd4, 0x4c, 0xe4, 0xc1, 0xd0, 0xd8, 0x64, + 0x69, 0xca, 0xbe, 0xbc, 0xeb, 0x85, 0x91, 0xb3, 0xdf, 0xc1, 0x46, 0x20, 0xeb, 0xaf, 0x0b, 0x80, + 0xb6, 0xbb, 0xd8, 0x6b, 0x34, 0xd6, 0xc8, 0xf7, 0x24, 0x3e, 0xa7, 0x77, 0x60, 0x9c, 0x4d, 0x1c, + 0x99, 0xdd, 0x22, 0x9d, 0xdd, 0xe9, 0x93, 0xe3, 0x0a, 0xf0, 0xd9, 0x25, 0x33, 0x1b, 0x03, 0xa0, + 0x37, 0x60, 0x70, 0x67, 0x67, 0x83, 0x7e, 0x2b, 0x83, 0xb5, 0xd9, 0x93, 0xe3, 0xca, 0x60, 0x14, + 0x75, 0x7e, 0x71, 0x5c, 0x19, 0x5b, 0xe9, 0x05, 0x94, 0x2d, 0x36, 0xa9, 0x47, 0x6f, 0xc0, 0xe8, + 0x72, 0xa7, 0x17, 0x46, 0x38, 0x58, 0x1c, 0x8a, 0x3f, 0xd2, 0x16, 0x2b, 0xb2, 0x45, 0x1d, 0xfa, + 0x16, 0x0c, 0xed, 0x86, 0x38, 0x58, 0x1c, 0xa6, 0xf3, 0x3d, 0xc5, 0xe7, 0x9b, 0x14, 0xed, 0x2d, + 0xd5, 0xc6, 0xc8, 0x97, 0xd8, 0x0b, 0x71, 0x60, 0x53, 0x20, 0x74, 0x13, 0x86, 0xd9, 0xa4, 0x8d, + 0x50, 0x21, 0x35, 0x25, 0x57, 0x47, 0x07, 0xef, 0xbd, 0x5f, 0x1b, 0x3f, 0x39, 0xae, 0x0c, 0xd3, + 0xc9, 0xb3, 0x19, 0xd8, 0x83, 0xa1, 0xb1, 0x42, 0xa9, 0x68, 0x8f, 0x11, 0x5c, 0xf2, 0x59, 0x58, + 0xdf, 0x82, 0x09, 0x65, 0xf8, 0xe8, 0x12, 0x0c, 0x91, 0xff, 0xa9, 0x10, 0x99, 0x64, 0x8d, 0x91, + 0x8d, 0xc3, 0xa6, 0xa5, 0xd6, 0xbf, 0x9a, 0x81, 0x12, 0xc1, 0xd4, 0x24, 0x8f, 0xc6, 0xaa, 0x42, + 0x3f, 0x56, 0x5d, 0x07, 0xd9, 0x36, 0x17, 0x41, 0x93, 0x27, 0xc7, 0x95, 0xb1, 0x1e, 0x2f, 0x8b, + 0x7b, 0x86, 0x1a, 0x30, 0xba, 0xfa, 0x75, 0xd7, 0x0d, 0x70, 0x48, 0x19, 0x3b, 0xb1, 0x54, 0xbe, + 0xc9, 0x36, 0xcb, 0x9b, 0x62, 0xb3, 0xbc, 0xb9, 0x23, 0x36, 0xcb, 0xda, 0x65, 0x2e, 0x8a, 0xcf, + 0x61, 0x86, 0x12, 0xaf, 0x8e, 0xdf, 0xf9, 0xab, 0x4a, 0xc1, 0x16, 0x94, 0xd0, 0x3b, 0x30, 0x72, + 0xcf, 0x0f, 0x8e, 0x9c, 0x88, 0xcf, 0xc0, 0xdc, 0xc9, 0x71, 0xa5, 0xf4, 0x98, 0x96, 0x28, 0x0b, + 0x8a, 0xc3, 0xa0, 0x7b, 0x30, 0x6d, 0xfb, 0xbd, 0x08, 0xef, 0xf8, 0x62, 0xde, 0x86, 0x29, 0xd6, + 0x95, 0x93, 0xe3, 0x4a, 0x39, 0x20, 0x35, 0xcd, 0xc8, 0x6f, 0xf2, 0x09, 0x54, 0xf0, 0x13, 0x58, + 0x68, 0x15, 0xa6, 0xab, 0x54, 0x76, 0x73, 0x9e, 0xb1, 0xd9, 0x1a, 0xaf, 0x5d, 0x3e, 0x39, 0xae, + 0x5c, 0x70, 0x68, 0x4d, 0x33, 0xe0, 0x55, 0x2a, 0x19, 0x1d, 0x09, 0x6d, 0xc1, 0xb9, 0x87, 0xbd, + 0x7d, 0x1c, 0x78, 0x38, 0xc2, 0xa1, 0xe8, 0xd1, 0x28, 0xed, 0xd1, 0xd5, 0x93, 0xe3, 0xca, 0xa5, + 0x27, 0xb2, 0xd2, 0xd0, 0xa7, 0x34, 0x2a, 0xc2, 0x30, 0xc3, 0x3b, 0xba, 0xe2, 0x44, 0xce, 0xbe, + 0x13, 0x62, 0x2a, 0x92, 0x26, 0x96, 0xce, 0x33, 0x16, 0xdf, 0x4c, 0xd4, 0xd6, 0x5e, 0xe3, 0x5c, + 0xbe, 0x28, 0xc7, 0xde, 0xe6, 0x55, 0x4a, 0x43, 0x49, 0x9a, 0x44, 0x32, 0xcb, 0x5d, 0x67, 0x9c, + 0xf6, 0x96, 0x4a, 0x66, 0xb9, 0xeb, 0xa8, 0x32, 0x4b, 0xee, 0x3f, 0x1b, 0x30, 0xbc, 0x4b, 0xf6, + 0x66, 0x2a, 0xb1, 0xa6, 0x97, 0xae, 0xf1, 0x1e, 0x25, 0x57, 0xdf, 0x4d, 0xf2, 0x83, 0x02, 0xd2, + 0xef, 0x6e, 0x86, 0xee, 0xe7, 0xea, 0x4e, 0x4c, 0xeb, 0xd0, 0x67, 0x00, 0xbc, 0x57, 0xd5, 0x6e, + 0x77, 0x71, 0x82, 0x0e, 0xf2, 0x9c, 0x3e, 0xc8, 0x6a, 0xb7, 0x5b, 0xbb, 0xc2, 0xc7, 0x77, 0x5e, + 0x8e, 0xcf, 0xe9, 0x76, 0x15, 0x6a, 0x0a, 0x11, 0xf4, 0x29, 0x4c, 0x52, 0x81, 0x26, 0x66, 0x74, + 0x92, 0xce, 0xe8, 0xc5, 0x93, 0xe3, 0xca, 0x02, 0x95, 0x55, 0x86, 0xf9, 0xd4, 0x10, 0xd0, 0x6f, + 0xc0, 0x3c, 0x27, 0xf7, 0xc8, 0xf5, 0xda, 0xfe, 0xb3, 0x70, 0x05, 0x87, 0x4f, 0x22, 0xbf, 0x4b, + 0x85, 0xdf, 0xc4, 0xd2, 0x25, 0xbd, 0x7b, 0x3a, 0x4c, 0xed, 0x06, 0xef, 0xa9, 0x25, 0x7b, 0xfa, + 0x8c, 0x01, 0x34, 0xdb, 0x0c, 0x42, 0x15, 0x8f, 0x46, 0x12, 0x68, 0x1d, 0x66, 0x76, 0x43, 0xac, + 0x8d, 0x61, 0x9a, 0xee, 0x0e, 0x15, 0x32, 0xc3, 0xbd, 0x10, 0x37, 0xb3, 0xc6, 0x91, 0xc4, 0x43, + 0x36, 0xa0, 0x95, 0xc0, 0xef, 0x26, 0xd6, 0xf8, 0x0c, 0xe5, 0x88, 0x75, 0x72, 0x5c, 0xb9, 0xd2, + 0x0e, 0xfc, 0x6e, 0x33, 0x7b, 0xa1, 0x1b, 0xb0, 0xd1, 0x0f, 0xe1, 0xfc, 0xb2, 0xef, 0x79, 0xb8, + 0x45, 0xe4, 0xe7, 0x8a, 0xeb, 0x1c, 0x78, 0x7e, 0x18, 0xb9, 0xad, 0xf5, 0x95, 0xc5, 0x52, 0xbc, + 0x39, 0xb4, 0x24, 0x44, 0xb3, 0x2d, 0x41, 0xf4, 0xcd, 0x21, 0x83, 0x0a, 0xfa, 0x01, 0x4c, 0xf1, + 0xb6, 0x70, 0x40, 0x97, 0xe6, 0xb9, 0xfc, 0x85, 0x26, 0x81, 0xd9, 0x36, 0x1f, 0x88, 0x9f, 0x4c, + 0x71, 0xd2, 0x69, 0xa1, 0xaf, 0x60, 0x62, 0xf3, 0x5e, 0xd5, 0xc6, 0x61, 0xd7, 0xf7, 0x42, 0xbc, + 0x88, 0xe8, 0x8c, 0x5e, 0xe1, 0xa4, 0x37, 0xef, 0x55, 0xab, 0xbd, 0xe8, 0x10, 0x7b, 0x91, 0xdb, + 0x72, 0x22, 0x2c, 0xa0, 0x6a, 0x65, 0xb2, 0xf2, 0x8e, 0x1e, 0x3b, 0xcd, 0x80, 0x97, 0x28, 0xa3, + 0x50, 0xc9, 0xa1, 0x32, 0x8c, 0x35, 0x1a, 0x6b, 0x1b, 0xfe, 0x81, 0xeb, 0x2d, 0xce, 0x12, 0x66, + 0xd8, 0xf2, 0x37, 0xda, 0x87, 0x79, 0xe5, 0x64, 0xd0, 0x24, 0xff, 0xe3, 0x23, 0xec, 0x45, 0x8b, + 0x73, 0xb4, 0x0f, 0xdf, 0x96, 0x47, 0x9b, 0x9b, 0xea, 0x01, 0xe2, 0xe9, 0x9d, 0x9b, 0xd5, 0xf8, + 0x67, 0x43, 0x20, 0xd9, 0x73, 0x8e, 0xa1, 0x14, 0xed, 0xc0, 0x68, 0xbd, 0x17, 0x74, 0xfd, 0x10, + 0x2f, 0xce, 0x53, 0xa6, 0xbd, 0x96, 0xf7, 0x75, 0x72, 0xd0, 0xda, 0x3c, 0x11, 0xcf, 0x5d, 0xf6, + 0x43, 0x19, 0x99, 0x20, 0x65, 0x7d, 0x0e, 0xe3, 0xf2, 0x63, 0x46, 0xa3, 0x30, 0x58, 0xed, 0x74, + 0x4a, 0x03, 0xe4, 0x8f, 0x46, 0x63, 0xad, 0x54, 0x40, 0xd3, 0x00, 0xb1, 0x04, 0x2b, 0x15, 0xd1, + 0x24, 0x8c, 0x09, 0x09, 0x53, 0x1a, 0xa4, 0xf0, 0xdd, 0x6e, 0x69, 0x08, 0x21, 0x98, 0xd6, 0xd7, + 0x79, 0x69, 0xd8, 0xfa, 0xdd, 0x02, 0x8c, 0xcb, 0xf9, 0x41, 0x33, 0x30, 0xb1, 0xbb, 0xd5, 0xa8, + 0xaf, 0x2e, 0xaf, 0xdf, 0x5b, 0x5f, 0x5d, 0x29, 0x0d, 0xa0, 0xcb, 0x70, 0x61, 0xa7, 0xb1, 0xd6, + 0x5c, 0xa9, 0x35, 0x37, 0xb6, 0x97, 0xab, 0x1b, 0xcd, 0xba, 0xbd, 0xfd, 0xf9, 0x17, 0xcd, 0x9d, + 0xdd, 0xad, 0xad, 0xd5, 0x8d, 0x52, 0x01, 0x2d, 0xc2, 0x1c, 0xa9, 0x7e, 0xb8, 0x5b, 0x5b, 0x55, + 0x01, 0x4a, 0x45, 0x74, 0x0d, 0x2e, 0x9b, 0x6a, 0x9a, 0x6b, 0xab, 0xd5, 0x95, 0x8d, 0xd5, 0x46, + 0xa3, 0x34, 0x88, 0x16, 0x60, 0x96, 0x80, 0x54, 0xeb, 0x75, 0x0d, 0x77, 0xc8, 0xea, 0xc0, 0x84, + 0xc2, 0x1c, 0x74, 0x09, 0x16, 0x97, 0x57, 0xed, 0x9d, 0x66, 0x7d, 0xd7, 0xae, 0x6f, 0x37, 0x56, + 0x9b, 0x7a, 0x0f, 0x93, 0xb5, 0x1b, 0xdb, 0xf7, 0xd7, 0xb7, 0x9a, 0xa4, 0xa8, 0x51, 0x2a, 0x90, + 0x6e, 0x68, 0xb5, 0x8d, 0xf5, 0xad, 0xfb, 0x1b, 0xab, 0xcd, 0xdd, 0xc6, 0x2a, 0x07, 0x29, 0x5a, + 0x3f, 0x2d, 0xa6, 0x44, 0x3d, 0x5a, 0x82, 0x89, 0x06, 0x3b, 0xc5, 0xd2, 0xe5, 0xcf, 0x8e, 0x0d, + 0xa5, 0x93, 0xe3, 0xca, 0x24, 0x3f, 0xdc, 0xb2, 0x95, 0xad, 0x02, 0x91, 0xdd, 0xbb, 0x4e, 0x66, + 0xba, 0xe5, 0x77, 0xd4, 0xdd, 0xbb, 0xcb, 0xcb, 0x6c, 0x59, 0x8b, 0x96, 0x94, 0x7d, 0x9e, 0x9d, + 0x21, 0xa8, 0x9e, 0x2a, 0xf6, 0x79, 0x55, 0xe6, 0xcb, 0x1d, 0x7f, 0x29, 0x9e, 0x52, 0xbe, 0x3d, + 0x53, 0x1c, 0xc3, 0x1e, 0x23, 0xe1, 0xd0, 0xdb, 0x42, 0xff, 0x61, 0x3a, 0x3f, 0xdd, 0x04, 0x12, + 0xda, 0x2a, 0x57, 0x7d, 0xac, 0x5e, 0x86, 0xc0, 0x45, 0x1f, 0x27, 0xd7, 0x0c, 0x67, 0x06, 0x25, + 0x96, 0x90, 0xab, 0x76, 0x02, 0x14, 0x55, 0x60, 0x98, 0x7d, 0x89, 0x8c, 0x1f, 0x54, 0xe3, 0xea, + 0x90, 0x02, 0x9b, 0x95, 0x5b, 0xbf, 0x33, 0xa8, 0x6e, 0x3e, 0x44, 0xc3, 0x52, 0xf8, 0x4d, 0x35, + 0x2c, 0xca, 0x67, 0x5a, 0x8a, 0x6e, 0xc2, 0x78, 0x03, 0x87, 0x21, 0xd3, 0x82, 0x8b, 0x72, 0x4a, + 0x20, 0x64, 0x85, 0x4d, 0xb7, 0xbd, 0x58, 0xb0, 0x63, 0x10, 0x72, 0xa0, 0x60, 0xba, 0x15, 0x3d, + 0x50, 0x0c, 0xc6, 0x07, 0x0a, 0xae, 0x7d, 0xb1, 0x03, 0x45, 0x0c, 0x42, 0x66, 0x9d, 0x6f, 0xff, + 0xb4, 0x17, 0x43, 0xf1, 0xac, 0x73, 0x95, 0x81, 0xcf, 0xba, 0x02, 0x84, 0x3e, 0x02, 0xa8, 0x3e, + 0x6a, 0x50, 0xcd, 0xd9, 0xde, 0xe2, 0x2a, 0x10, 0x15, 0x56, 0xce, 0xb3, 0x90, 0x2b, 0xe6, 0x81, + 0x7a, 0xf2, 0x50, 0xa0, 0x51, 0x0d, 0xa6, 0xaa, 0x3f, 0xe9, 0x05, 0x78, 0xbd, 0x4d, 0xe4, 0x5d, + 0xc4, 0x8e, 0x58, 0xe3, 0xb5, 0x4b, 0x27, 0xc7, 0x95, 0x45, 0x87, 0x54, 0x34, 0x5d, 0x5e, 0xa3, + 0x10, 0xd0, 0x51, 0xd0, 0x36, 0x9c, 0xbb, 0xbf, 0x5c, 0xe7, 0xeb, 0xb0, 0xda, 0x6a, 0xf9, 0x3d, + 0x2f, 0xe2, 0x7a, 0xcf, 0xb5, 0x93, 0xe3, 0xca, 0xe5, 0x83, 0x56, 0xb7, 0x29, 0xd6, 0xac, 0xc3, + 0xaa, 0x55, 0xc5, 0x27, 0x85, 0x6b, 0x75, 0x60, 0xfa, 0x3e, 0x8e, 0xc8, 0xba, 0x13, 0x4a, 0x6c, + 0xfe, 0xac, 0x7c, 0x17, 0x26, 0x1e, 0xb9, 0xd1, 0x61, 0x03, 0xb7, 0x02, 0x1c, 0x89, 0x03, 0x3c, + 0xe5, 0xc0, 0x33, 0x37, 0x3a, 0x6c, 0x86, 0xac, 0x5c, 0x15, 0xd7, 0x0a, 0xb8, 0xb5, 0x0a, 0x33, + 0xbc, 0x35, 0xa9, 0x33, 0x2f, 0xe9, 0x04, 0x0b, 0x94, 0x20, 0x9d, 0x05, 0x95, 0xa0, 0x4e, 0xe6, + 0x5f, 0x16, 0x61, 0x7e, 0xf9, 0xd0, 0xf1, 0x0e, 0x70, 0xdd, 0x09, 0xc3, 0x67, 0x7e, 0xd0, 0x56, + 0x3a, 0x4f, 0x0f, 0x0c, 0xa9, 0xce, 0xd3, 0x13, 0xc2, 0x12, 0x4c, 0x6c, 0x77, 0xda, 0x02, 0x87, + 0x1f, 0x66, 0x68, 0x5b, 0x7e, 0xa7, 0xdd, 0xec, 0x0a, 0x5a, 0x2a, 0x10, 0xc1, 0xd9, 0xc2, 0xcf, + 0x24, 0xce, 0x60, 0x8c, 0xe3, 0xe1, 0x67, 0x0a, 0x8e, 0x02, 0x84, 0x56, 0xe1, 0x5c, 0x03, 0xb7, + 0x7c, 0xaf, 0x7d, 0xcf, 0x69, 0x45, 0x7e, 0xb0, 0xe3, 0x3f, 0xc1, 0x1e, 0x5f, 0x5f, 0x54, 0xdf, + 0x0b, 0x69, 0x65, 0xf3, 0x31, 0xad, 0x6d, 0x46, 0xa4, 0xda, 0x4e, 0x63, 0xa0, 0x6d, 0x18, 0x7b, + 0xc4, 0xcd, 0x40, 0xfc, 0x04, 0xf4, 0xc6, 0x4d, 0x69, 0x17, 0x5a, 0x0e, 0x30, 0x5d, 0x14, 0x4e, + 0x47, 0x9e, 0xe1, 0xe4, 0xf6, 0x49, 0x25, 0x91, 0x80, 0xb4, 0x25, 0x11, 0x6b, 0x17, 0xa6, 0xea, + 0x9d, 0xde, 0x81, 0xeb, 0x11, 0x99, 0xd1, 0xc0, 0x3f, 0x46, 0x2b, 0x00, 0x71, 0x01, 0x37, 0xee, + 0xcc, 0xf2, 0x73, 0x53, 0x5c, 0xb1, 0x77, 0x97, 0x7f, 0x48, 0xb4, 0x84, 0x2a, 0xba, 0xb6, 0x82, + 0x67, 0xfd, 0xdf, 0x41, 0x40, 0x7c, 0x02, 0xe8, 0xce, 0xd8, 0xc0, 0x11, 0xd9, 0x5d, 0xce, 0x43, + 0x51, 0xda, 0x60, 0x46, 0x4e, 0x8e, 0x2b, 0x45, 0xb7, 0x6d, 0x17, 0xd7, 0x57, 0xd0, 0xbb, 0x30, + 0x4c, 0xc1, 0x28, 0xff, 0xa7, 0x65, 0x7b, 0x2a, 0x05, 0x26, 0x3b, 0xe8, 0x8e, 0x6d, 0x33, 0x60, + 0xf4, 0x1e, 0x8c, 0xaf, 0xe0, 0x0e, 0x3e, 0x70, 0x22, 0x5f, 0x7c, 0xdd, 0xcc, 0xaa, 0x21, 0x0a, + 0x95, 0x35, 0x17, 0x43, 0x92, 0x53, 0x8e, 0x8d, 0x9d, 0xd0, 0xf7, 0xd4, 0x53, 0x4e, 0x40, 0x4b, + 0xd4, 0x53, 0x0e, 0x83, 0x41, 0xbf, 0x5f, 0x80, 0x89, 0xaa, 0xe7, 0x71, 0x6b, 0x41, 0xc8, 0xb9, + 0x3e, 0x7f, 0x53, 0x9a, 0xd7, 0x36, 0x9c, 0x7d, 0xdc, 0xd9, 0x73, 0x3a, 0x3d, 0x1c, 0xd6, 0xbe, + 0x22, 0x8a, 0xe7, 0x7f, 0x3e, 0xae, 0x7c, 0x7c, 0x86, 0xf3, 0x7f, 0x6c, 0xa8, 0xdb, 0x09, 0x1c, + 0x37, 0x0a, 0x4f, 0x8e, 0x2b, 0xf3, 0x4e, 0xdc, 0xa0, 0xfa, 0xdd, 0x28, 0xfd, 0x88, 0x45, 0xfb, + 0x48, 0x3f, 0xd1, 0x8e, 0x8e, 0x60, 0xa6, 0x1a, 0x86, 0xbd, 0x23, 0xdc, 0x88, 0x9c, 0x20, 0x22, + 0xc7, 0x42, 0x2a, 0x1f, 0xf2, 0xcf, 0x8c, 0x6f, 0xfd, 0xec, 0xb8, 0x52, 0x20, 0xba, 0xae, 0x43, + 0x51, 0x89, 0xae, 0x14, 0x44, 0xcd, 0xc8, 0x55, 0x77, 0x27, 0x7a, 0x7a, 0x4c, 0xd2, 0xb6, 0x5e, + 0x93, 0xfa, 0xc4, 0xfa, 0x4a, 0xd6, 0x8c, 0x5b, 0xcb, 0x70, 0xe9, 0x3e, 0x8e, 0x6c, 0x1c, 0xe2, + 0x48, 0x7c, 0x23, 0x74, 0x85, 0xc7, 0x16, 0xbb, 0x51, 0xfa, 0x5b, 0x22, 0xd3, 0xe9, 0x67, 0xdf, + 0x85, 0xa8, 0xb1, 0xfe, 0x4e, 0x01, 0x2a, 0xcb, 0x01, 0x66, 0x6a, 0x62, 0x06, 0xa1, 0x7c, 0xd9, + 0x75, 0x09, 0x86, 0x76, 0x9e, 0x77, 0xc5, 0x61, 0x9b, 0xd6, 0x92, 0x49, 0xb1, 0x69, 0xe9, 0x29, + 0x2d, 0x17, 0xd6, 0x63, 0x98, 0xb7, 0xb1, 0x87, 0x9f, 0x39, 0xfb, 0x1d, 0xac, 0x1d, 0xfe, 0x2b, + 0x30, 0xcc, 0x3e, 0xf4, 0xd4, 0x10, 0x58, 0xf9, 0xd9, 0x0c, 0x29, 0xd6, 0x14, 0x4c, 0xd4, 0x5d, + 0xef, 0x80, 0x53, 0xb7, 0xfe, 0x78, 0x10, 0x26, 0xd9, 0x6f, 0xae, 0xf9, 0x26, 0x76, 0xaf, 0xc2, + 0x69, 0x76, 0xaf, 0x0f, 0x60, 0x8a, 0x88, 0x7f, 0x1c, 0xec, 0xe1, 0x80, 0xec, 0x9a, 0x9c, 0x13, + 0x54, 0x8b, 0x0f, 0x69, 0x45, 0xf3, 0x29, 0xab, 0xb1, 0x75, 0x40, 0xb4, 0x01, 0xd3, 0xac, 0xe0, + 0x1e, 0x76, 0xa2, 0x5e, 0x6c, 0x88, 0x98, 0xe1, 0xea, 0xae, 0x28, 0x66, 0x4b, 0x93, 0xd3, 0x7a, + 0xcc, 0x0b, 0xed, 0x04, 0x2e, 0xfa, 0x14, 0x66, 0xea, 0x81, 0xff, 0xf5, 0x73, 0x65, 0xbf, 0x66, + 0x5f, 0x27, 0x53, 0x8c, 0x49, 0x55, 0x53, 0xdd, 0xb5, 0x93, 0xd0, 0xe8, 0x6d, 0x18, 0x5b, 0x0f, + 0x6b, 0x7e, 0xe0, 0x7a, 0x07, 0xf4, 0x1b, 0x1d, 0x63, 0xd6, 0x5b, 0x37, 0x6c, 0xee, 0xd3, 0x42, + 0x5b, 0x56, 0x27, 0xec, 0x8c, 0xa3, 0xfd, 0xed, 0x8c, 0xb7, 0x01, 0x36, 0x7c, 0xa7, 0x5d, 0xed, + 0x74, 0x96, 0xab, 0x21, 0xb5, 0x02, 0xf0, 0xfd, 0xa8, 0xe3, 0x3b, 0xed, 0xa6, 0xd3, 0xe9, 0x34, + 0x5b, 0x4e, 0x68, 0x2b, 0x30, 0x0f, 0x86, 0xc6, 0x46, 0x4a, 0xa3, 0xf6, 0xcc, 0x86, 0xdb, 0xc2, + 0x5e, 0x88, 0x1f, 0x39, 0x81, 0xe7, 0x7a, 0x07, 0xa1, 0xf5, 0x1f, 0x66, 0x60, 0x4c, 0x0e, 0xf9, + 0xa6, 0xaa, 0xb3, 0xf3, 0x5d, 0x8e, 0xce, 0x7e, 0x6c, 0xa9, 0xb0, 0x15, 0x08, 0x74, 0x81, 0x6a, + 0xf1, 0x7c, 0x7f, 0x1d, 0x25, 0xab, 0xd1, 0xe9, 0x76, 0x6d, 0x52, 0x46, 0xbe, 0xb2, 0x95, 0x1a, + 0xe5, 0xff, 0x18, 0xfb, 0xca, 0xda, 0xfb, 0x76, 0x71, 0xa5, 0x46, 0x96, 0xf7, 0xf6, 0xfa, 0xca, + 0x32, 0x65, 0xe5, 0x18, 0x5b, 0xde, 0xbe, 0xdb, 0x6e, 0xd9, 0xb4, 0x94, 0xd4, 0x36, 0xaa, 0x9b, + 0x1b, 0x9c, 0x5d, 0xb4, 0x36, 0x74, 0x8e, 0x3a, 0x36, 0x2d, 0x25, 0x7a, 0x1f, 0x3b, 0x74, 0x2e, + 0xfb, 0x5e, 0x14, 0xf8, 0x9d, 0x90, 0x2a, 0x27, 0x63, 0x6c, 0x3a, 0xf9, 0x69, 0xb5, 0xc5, 0xab, + 0xec, 0x04, 0x28, 0x7a, 0x04, 0x0b, 0xd5, 0xf6, 0x53, 0xc7, 0x6b, 0xe1, 0x36, 0xab, 0x79, 0xe4, + 0x07, 0x4f, 0x1e, 0x77, 0xfc, 0x67, 0x21, 0xe5, 0xf7, 0x18, 0x37, 0xee, 0x70, 0x10, 0x71, 0xf8, + 0x7d, 0x26, 0x80, 0xec, 0x2c, 0x6c, 0xf2, 0x49, 0x2d, 0x77, 0xfc, 0x5e, 0x9b, 0xcf, 0x02, 0xfd, + 0xa4, 0x5a, 0xa4, 0xc0, 0x66, 0xe5, 0x84, 0x4b, 0x6b, 0x8d, 0x4d, 0x6a, 0x4a, 0xe1, 0x5c, 0x3a, + 0x0c, 0x8f, 0x6c, 0x52, 0x86, 0xde, 0x80, 0x51, 0xa1, 0xc2, 0x32, 0x4b, 0x2f, 0xb5, 0x30, 0x0a, + 0xd5, 0x55, 0xd4, 0x91, 0x4f, 0xc2, 0xc6, 0x2d, 0xff, 0x29, 0x0e, 0x9e, 0x2f, 0xfb, 0x6d, 0x2c, + 0x0e, 0xfe, 0xfc, 0x60, 0xcb, 0x2a, 0x9a, 0x2d, 0x52, 0x63, 0xeb, 0x80, 0xa4, 0x01, 0xb6, 0x07, + 0x92, 0xe3, 0xbd, 0x6c, 0x80, 0xed, 0x91, 0xa1, 0x2d, 0xea, 0xd0, 0x0a, 0x9c, 0xab, 0xf6, 0x22, + 0xff, 0xc8, 0x89, 0xdc, 0xd6, 0x6e, 0xf7, 0x20, 0x70, 0x48, 0x23, 0x25, 0x8a, 0x40, 0x55, 0x7a, + 0x47, 0x54, 0x36, 0x7b, 0xbc, 0xd6, 0x4e, 0x23, 0xa0, 0xf7, 0x61, 0x72, 0x3d, 0x64, 0xc6, 0x1d, + 0x27, 0xc4, 0x6d, 0x7a, 0x42, 0xe7, 0xbd, 0x74, 0xc3, 0x26, 0x35, 0xf5, 0x34, 0xc9, 0x21, 0xa0, + 0x6d, 0x6b, 0x70, 0xc8, 0x82, 0x91, 0x6a, 0x18, 0xba, 0x61, 0x44, 0x0f, 0xde, 0x63, 0x35, 0x38, + 0x39, 0xae, 0x8c, 0x38, 0xb4, 0xc4, 0xe6, 0x35, 0xe8, 0x11, 0x4c, 0xac, 0x60, 0xa2, 0x13, 0xee, + 0x04, 0xbd, 0x30, 0xa2, 0xc7, 0xe8, 0x89, 0xa5, 0x0b, 0xfc, 0xc3, 0x56, 0x6a, 0xf8, 0x5a, 0x66, + 0xda, 0x5e, 0x9b, 0x96, 0x37, 0x23, 0x52, 0xa1, 0xee, 0x5a, 0x0a, 0x3c, 0x51, 0x78, 0x39, 0xce, + 0x9a, 0xdb, 0x26, 0x9f, 0xea, 0x1c, 0xed, 0x03, 0x55, 0x78, 0xb9, 0x6c, 0x68, 0x1e, 0xd2, 0x1a, + 0x55, 0xe1, 0xd5, 0x50, 0x50, 0x2b, 0x65, 0x2f, 0x9c, 0xd7, 0x6c, 0x42, 0x7a, 0xa5, 0xe8, 0xe2, + 0x19, 0xad, 0x89, 0xdf, 0x85, 0x89, 0xe5, 0x5e, 0x18, 0xf9, 0x47, 0x3b, 0x87, 0xf8, 0x08, 0x2f, + 0x9e, 0x8f, 0xd5, 0xfa, 0x16, 0x2d, 0x6e, 0x46, 0xa4, 0x5c, 0x1d, 0xa6, 0x02, 0x8e, 0x3e, 0x03, + 0x24, 0xf4, 0xf3, 0xfb, 0x64, 0x7d, 0x78, 0x64, 0x2d, 0x2f, 0x2e, 0xd0, 0xb1, 0x52, 0xa5, 0x5c, + 0xa8, 0xf5, 0xcd, 0x03, 0x59, 0xad, 0x5a, 0x7c, 0xd2, 0xc8, 0xa4, 0x43, 0xac, 0x8b, 0xf7, 0x03, + 0xa7, 0x7b, 0xb8, 0xb8, 0x18, 0x6b, 0xd9, 0x7c, 0x50, 0x07, 0xa4, 0x5c, 0xd3, 0x16, 0x62, 0x70, + 0xd4, 0x00, 0x60, 0x3f, 0x37, 0xc8, 0xc4, 0x5f, 0xa0, 0xfc, 0x5a, 0xd4, 0xf8, 0x45, 0x2a, 0x04, + 0xaf, 0x2e, 0x50, 0x1d, 0x84, 0x91, 0xed, 0xb8, 0xda, 0x6c, 0x2a, 0x64, 0xd0, 0x13, 0x28, 0xb1, + 0x5f, 0x9b, 0xbe, 0xe7, 0x46, 0x4c, 0xf4, 0x96, 0x35, 0x63, 0x4e, 0xb2, 0x5a, 0x34, 0x40, 0x8d, + 0x68, 0xbc, 0x81, 0x23, 0x59, 0xab, 0x34, 0x93, 0x22, 0x8c, 0xea, 0x30, 0x51, 0x0f, 0xfc, 0x76, + 0xaf, 0x15, 0xd1, 0x0d, 0xfb, 0x22, 0x55, 0x14, 0x11, 0x6f, 0x47, 0xa9, 0x61, 0x3c, 0xe9, 0xb2, + 0x82, 0x26, 0xd9, 0xcc, 0x55, 0x9e, 0x28, 0x80, 0xa8, 0x06, 0x23, 0x75, 0xbf, 0xe3, 0xb6, 0x9e, + 0x2f, 0x5e, 0xa2, 0x9d, 0x9e, 0x13, 0xc4, 0x68, 0xa1, 0xe8, 0x2a, 0xd5, 0x0e, 0xbb, 0xb4, 0x48, + 0xd5, 0x0e, 0x19, 0x10, 0xaa, 0xc2, 0xd4, 0x67, 0x64, 0xc1, 0xb8, 0xbe, 0xe7, 0x39, 0x6e, 0x80, + 0x17, 0x2f, 0xd3, 0x79, 0xa1, 0x86, 0xce, 0x1f, 0xab, 0x15, 0xea, 0x72, 0xd6, 0x30, 0xd0, 0x3a, + 0xcc, 0xac, 0x87, 0x8d, 0x28, 0x70, 0xbb, 0x78, 0xd3, 0xf1, 0x9c, 0x03, 0xdc, 0x5e, 0xbc, 0x12, + 0x5b, 0x1a, 0xdd, 0xb0, 0x19, 0xd2, 0xba, 0xe6, 0x11, 0xab, 0x54, 0x2d, 0x8d, 0x09, 0x3c, 0xf4, + 0x39, 0xcc, 0xad, 0x7e, 0x1d, 0x91, 0x15, 0xd3, 0xa9, 0xf6, 0xda, 0x6e, 0xd4, 0x88, 0xfc, 0xc0, + 0x39, 0xc0, 0x8b, 0x15, 0x4a, 0xef, 0xf5, 0x93, 0xe3, 0xca, 0x55, 0xcc, 0xeb, 0x9b, 0x0e, 0x01, + 0x68, 0x86, 0x0c, 0x42, 0xbd, 0x3f, 0x34, 0x51, 0x20, 0xdc, 0x6f, 0xf4, 0xba, 0x44, 0x71, 0xa5, + 0xdc, 0xbf, 0xaa, 0x71, 0x5f, 0xa9, 0x61, 0xdc, 0x0f, 0x59, 0x41, 0x8a, 0xfb, 0x0a, 0x20, 0xb2, + 0x01, 0x3d, 0xf0, 0x5d, 0xaf, 0xda, 0x8a, 0xdc, 0xa7, 0x98, 0x1f, 0xd9, 0xc3, 0xc5, 0x6b, 0xb4, + 0xa7, 0xd4, 0x2a, 0xfa, 0xab, 0xbe, 0xeb, 0x35, 0x1d, 0x5a, 0xdd, 0xe4, 0x07, 0x7c, 0xcd, 0x2a, + 0x9a, 0xc6, 0x46, 0x3f, 0x84, 0xf3, 0x9b, 0xfe, 0xbe, 0xdb, 0xc1, 0x4c, 0xe4, 0x30, 0xb6, 0x50, + 0xfb, 0x9e, 0x45, 0xe9, 0x52, 0xab, 0xe8, 0x11, 0x85, 0x68, 0x72, 0x69, 0x75, 0x24, 0x61, 0x54, + 0xab, 0xa8, 0x99, 0xca, 0x83, 0xa1, 0xb1, 0x89, 0xd2, 0x24, 0xbb, 0x39, 0x7b, 0x30, 0x34, 0x36, + 0x55, 0x9a, 0xb6, 0xfe, 0xa0, 0x00, 0x28, 0x2d, 0x0f, 0xd1, 0x2d, 0x18, 0xc5, 0x1e, 0x51, 0x07, + 0xdb, 0x7c, 0x5f, 0xa7, 0x5a, 0x0c, 0x2f, 0x52, 0xcd, 0x7b, 0xbc, 0x08, 0x7d, 0x06, 0xb3, 0xac, + 0x43, 0x42, 0x72, 0x77, 0xdc, 0x23, 0x37, 0xa2, 0x7b, 0xfd, 0x30, 0x93, 0x18, 0x86, 0x6a, 0xf5, + 0x18, 0xcf, 0xab, 0xa9, 0x9c, 0xdf, 0x20, 0x95, 0x56, 0x0f, 0xe6, 0x8d, 0x92, 0x10, 0x6d, 0xc2, + 0xfc, 0x91, 0xef, 0x45, 0x87, 0x9d, 0xe7, 0x42, 0x10, 0xf2, 0xd6, 0x0a, 0xb4, 0x35, 0xfa, 0xf1, + 0x1b, 0x01, 0xec, 0x59, 0x5e, 0xcc, 0x29, 0xd2, 0x76, 0x1e, 0x0c, 0x8d, 0x15, 0x4b, 0x83, 0x72, + 0x24, 0x96, 0x0d, 0xe7, 0x52, 0x02, 0x05, 0x7d, 0x0f, 0x26, 0x5b, 0x54, 0x4f, 0xd7, 0x5a, 0x62, + 0xe2, 0x54, 0x29, 0x57, 0xd7, 0x0a, 0x2b, 0x67, 0x43, 0xf9, 0xa3, 0x02, 0x2c, 0x64, 0x88, 0x92, + 0xb3, 0xb3, 0xfa, 0x0b, 0x38, 0x7f, 0xe4, 0x7c, 0xdd, 0x0c, 0xe8, 0x31, 0xac, 0x19, 0x38, 0x5e, + 0x82, 0xdb, 0xf4, 0x33, 0x31, 0x43, 0xa8, 0xbe, 0x07, 0x47, 0xce, 0xd7, 0x36, 0x05, 0xb0, 0x49, + 0x3d, 0xeb, 0xe7, 0xf7, 0x61, 0x4a, 0x13, 0x1e, 0x67, 0xee, 0x9c, 0x75, 0x07, 0xce, 0x91, 0x83, + 0x6a, 0x84, 0x4f, 0x6d, 0x7e, 0xb1, 0xea, 0x00, 0x0d, 0x7c, 0xe4, 0x74, 0x0f, 0x7d, 0xa2, 0x54, + 0xd6, 0xd4, 0x5f, 0xfc, 0xf8, 0x8e, 0xf8, 0x71, 0x5a, 0x56, 0xec, 0xdd, 0x65, 0x8a, 0x66, 0x28, + 0x21, 0x6d, 0x05, 0xcb, 0xfa, 0xb3, 0x22, 0x20, 0xfe, 0xf5, 0x07, 0xd8, 0x39, 0x12, 0xdd, 0xf8, + 0x10, 0x26, 0xd9, 0x61, 0x8b, 0x15, 0xd3, 0xee, 0x4c, 0x2c, 0xcd, 0x72, 0x21, 0xa0, 0x56, 0xad, + 0x0d, 0xd8, 0x1a, 0x28, 0x41, 0xb5, 0x31, 0x3b, 0x25, 0x52, 0xd4, 0xa2, 0x86, 0xaa, 0x56, 0x11, + 0x54, 0xf5, 0x37, 0xfa, 0x14, 0xa6, 0x97, 0xfd, 0xa3, 0x2e, 0xe1, 0x09, 0x47, 0x1e, 0xe4, 0x27, + 0x70, 0xde, 0xae, 0x56, 0xb9, 0x36, 0x60, 0x27, 0xc0, 0xd1, 0x16, 0xcc, 0xde, 0xeb, 0xf4, 0xc2, + 0xc3, 0xaa, 0xd7, 0x5e, 0xee, 0xf8, 0xa1, 0xa0, 0x32, 0xc4, 0x4f, 0xc0, 0xfc, 0xb0, 0x92, 0x86, + 0x58, 0x1b, 0xb0, 0x4d, 0x88, 0xe8, 0x0d, 0x18, 0x5e, 0x7d, 0x4a, 0x64, 0x8a, 0xb8, 0x81, 0xe6, + 0x0e, 0x32, 0xdb, 0x1e, 0xde, 0x7e, 0xbc, 0x36, 0x60, 0xb3, 0xda, 0xda, 0x38, 0x8c, 0x8a, 0x83, + 0xda, 0x2d, 0xa2, 0xef, 0x49, 0x76, 0x36, 0x22, 0x27, 0xea, 0x85, 0xa8, 0x0c, 0x63, 0xbb, 0x5d, + 0x72, 0x7e, 0x10, 0x27, 0x5c, 0x5b, 0xfe, 0xb6, 0xde, 0xd1, 0x39, 0x8d, 0x2e, 0xa9, 0x76, 0x4f, + 0x06, 0x1c, 0x17, 0x58, 0x6b, 0x3a, 0x73, 0xf3, 0xa1, 0xb5, 0x76, 0x8b, 0x89, 0x76, 0x4b, 0x49, + 0x5e, 0x5b, 0xf3, 0x46, 0xe6, 0x59, 0x9f, 0xc3, 0x95, 0xdd, 0x6e, 0x88, 0x83, 0xa8, 0xda, 0xed, + 0x76, 0xdc, 0x16, 0xbb, 0x01, 0xa1, 0x07, 0x3a, 0xb1, 0x58, 0xde, 0x87, 0x11, 0x56, 0xc0, 0x97, + 0x89, 0x58, 0x83, 0xd5, 0x6e, 0x97, 0x1f, 0x23, 0xef, 0x32, 0xcd, 0x93, 0x1d, 0x0c, 0x6d, 0x0e, + 0x6d, 0xfd, 0x4e, 0x01, 0xae, 0xb0, 0x2f, 0x20, 0x93, 0xf4, 0xb7, 0x60, 0x9c, 0xfa, 0xa7, 0x74, + 0x9d, 0x96, 0xf8, 0x26, 0x98, 0xa3, 0x8e, 0x28, 0xb4, 0xe3, 0x7a, 0xc5, 0xf3, 0xa7, 0x98, 0xed, + 0xf9, 0x23, 0x3e, 0xb0, 0x41, 0xe3, 0x07, 0xf6, 0x19, 0x58, 0xbc, 0x47, 0x9d, 0x4e, 0xaa, 0x53, + 0xe1, 0x8b, 0xf4, 0xca, 0xfa, 0x1f, 0x45, 0x58, 0xb8, 0x8f, 0x3d, 0x1c, 0x38, 0x74, 0x9c, 0x9a, + 0xc1, 0x42, 0xf5, 0x01, 0x28, 0xe4, 0xfa, 0x00, 0x54, 0x84, 0x09, 0xa8, 0x48, 0x4d, 0x40, 0x29, + 0x77, 0x06, 0x72, 0x16, 0xda, 0xb5, 0xd7, 0xf9, 0xb0, 0xe8, 0x59, 0xa8, 0x17, 0xb8, 0x36, 0x29, + 0x43, 0xeb, 0xb1, 0xff, 0xc0, 0x50, 0x5f, 0x5b, 0xd0, 0x2c, 0xbf, 0x4f, 0x1d, 0xe5, 0xfe, 0x03, + 0xba, 0xd7, 0xc0, 0x16, 0x8c, 0x30, 0xcb, 0x15, 0xbd, 0x65, 0x98, 0x58, 0xba, 0xc1, 0xbf, 0xa9, + 0x8c, 0x01, 0x72, 0x33, 0xd7, 0xaa, 0x17, 0x05, 0xcf, 0xd9, 0x12, 0x88, 0x68, 0x81, 0xcd, 0xa9, + 0x94, 0x3f, 0x83, 0x09, 0x05, 0x04, 0x95, 0x60, 0xf0, 0x09, 0xf7, 0x9d, 0x18, 0xb7, 0xc9, 0x9f, + 0xe8, 0x1d, 0x18, 0x7e, 0xea, 0x74, 0x7a, 0x98, 0x8b, 0x91, 0xf3, 0xb1, 0x2d, 0x8e, 0xa8, 0x43, + 0xde, 0x01, 0x33, 0xc6, 0xd9, 0x0c, 0xe8, 0xa3, 0xe2, 0x07, 0x05, 0xeb, 0x63, 0x58, 0x4c, 0xf7, + 0x86, 0x5b, 0x4d, 0xfa, 0x19, 0x69, 0xac, 0x15, 0x98, 0xbb, 0x8f, 0x23, 0xba, 0x70, 0xe9, 0x47, + 0xa4, 0xb8, 0x76, 0x24, 0xbe, 0x33, 0x21, 0x55, 0xc5, 0x6d, 0x84, 0xfa, 0x95, 0x36, 0x60, 0x3e, + 0x41, 0x85, 0xb7, 0xff, 0x11, 0x8c, 0xf2, 0x22, 0x29, 0x51, 0xb9, 0x2b, 0x1d, 0xde, 0xe7, 0x15, + 0x7b, 0x4b, 0x6c, 0xdd, 0x72, 0xca, 0xb6, 0x40, 0xb0, 0x0e, 0xe1, 0x3c, 0xd9, 0x66, 0x63, 0xaa, + 0x72, 0x39, 0x5e, 0x84, 0xf1, 0x2e, 0x51, 0x14, 0x42, 0xf7, 0x27, 0x6c, 0x19, 0x0d, 0xdb, 0x63, + 0xa4, 0xa0, 0xe1, 0xfe, 0x04, 0xa3, 0xcb, 0x00, 0xb4, 0x92, 0x0e, 0x93, 0x4b, 0x01, 0x0a, 0xce, + 0xac, 0x52, 0x08, 0xa8, 0x0f, 0x0d, 0x5b, 0x37, 0x36, 0xfd, 0xdb, 0x0a, 0x60, 0x21, 0xd5, 0x12, + 0x1f, 0xc0, 0x2d, 0x18, 0x13, 0xfa, 0x59, 0xc2, 0x5e, 0xac, 0x8e, 0xc0, 0x96, 0x40, 0xe8, 0x4d, + 0x98, 0xf1, 0xf0, 0xd7, 0x51, 0x33, 0xd5, 0x87, 0x29, 0x52, 0x5c, 0x17, 0xfd, 0xb0, 0x7e, 0x85, + 0xda, 0x08, 0x1b, 0x9e, 0xff, 0xec, 0x71, 0xc7, 0x79, 0x82, 0x53, 0x0d, 0x7f, 0x0f, 0xc6, 0x1a, + 0xfd, 0x1b, 0x66, 0x9f, 0x8f, 0x68, 0xdc, 0x96, 0x28, 0x56, 0x07, 0xca, 0x64, 0x48, 0x8d, 0xea, + 0xe6, 0xc6, 0x7a, 0xbb, 0xfe, 0x4d, 0x33, 0xf0, 0x29, 0x5c, 0x34, 0xb6, 0xf6, 0x4d, 0x33, 0xf1, + 0xdf, 0x0c, 0xc2, 0x02, 0xdb, 0x4c, 0xd2, 0x2b, 0xf8, 0xf4, 0xa2, 0xe6, 0x97, 0x72, 0x93, 0x76, + 0xdb, 0x70, 0x93, 0x46, 0x51, 0xd4, 0x9b, 0x34, 0xed, 0xfe, 0xec, 0x03, 0xf3, 0xfd, 0x19, 0x35, + 0x82, 0xe8, 0xf7, 0x67, 0xc9, 0x5b, 0xb3, 0xd5, 0xec, 0x5b, 0x33, 0x7a, 0x87, 0x60, 0xb8, 0x35, + 0x33, 0xdc, 0x95, 0x25, 0x5d, 0x19, 0xc6, 0x5e, 0xa9, 0x2b, 0x03, 0x53, 0xad, 0xad, 0x3d, 0x58, + 0x4c, 0x4f, 0xe0, 0x2b, 0x10, 0x1e, 0x7f, 0x52, 0x80, 0xcb, 0x5c, 0xcd, 0x48, 0x7c, 0x62, 0x67, + 0x5f, 0x1f, 0xef, 0xc1, 0x24, 0xc7, 0xdd, 0x89, 0x97, 0x62, 0xed, 0xdc, 0xc9, 0x71, 0x65, 0x4a, + 0x88, 0x43, 0x26, 0x53, 0x35, 0x30, 0xf4, 0x1e, 0x8c, 0xd1, 0x3f, 0x62, 0x2b, 0x3b, 0x39, 0x7d, + 0x8c, 0x53, 0xd0, 0x66, 0xd2, 0xd6, 0x2e, 0x41, 0xad, 0xaf, 0xe0, 0x4a, 0x56, 0xc7, 0x5f, 0x01, + 0x5f, 0xfe, 0x6d, 0x01, 0x2e, 0x72, 0xf2, 0xda, 0xc7, 0xfa, 0x42, 0x72, 0xff, 0x0c, 0x2e, 0x7d, + 0x0f, 0x60, 0x82, 0x34, 0x28, 0xfa, 0x3d, 0xc8, 0x37, 0x37, 0xae, 0xbb, 0xc7, 0x35, 0x2b, 0x4e, + 0xe4, 0x70, 0x57, 0x04, 0xe7, 0xa8, 0x23, 0xce, 0xc6, 0xb6, 0x8a, 0x6c, 0x7d, 0x09, 0x97, 0xcc, + 0x43, 0x78, 0x05, 0xfc, 0x79, 0x00, 0x65, 0x83, 0x58, 0x7e, 0xb1, 0x5d, 0xf1, 0x0b, 0xb8, 0x68, + 0xa4, 0xf5, 0x0a, 0xba, 0xb9, 0x46, 0xf6, 0xfc, 0xe8, 0x15, 0x4c, 0xa1, 0xf5, 0x08, 0x2e, 0x18, + 0x28, 0xbd, 0x82, 0x2e, 0xde, 0x87, 0x05, 0xa9, 0xeb, 0xbe, 0x54, 0x0f, 0x37, 0xe1, 0x32, 0x23, + 0xf4, 0x6a, 0x66, 0xe5, 0x21, 0x5c, 0xe4, 0xe4, 0x5e, 0x01, 0xf7, 0xd6, 0xe0, 0x52, 0x7c, 0xa4, + 0x35, 0x68, 0x2a, 0xa7, 0x16, 0x32, 0xd6, 0x06, 0x5c, 0x8d, 0x29, 0x65, 0x6c, 0xdb, 0xa7, 0xa7, + 0xc6, 0x14, 0xb2, 0x78, 0x96, 0x5e, 0xc9, 0x8c, 0x3e, 0x82, 0xf3, 0x1a, 0xd1, 0x57, 0xa6, 0xac, + 0xac, 0xc3, 0x2c, 0x23, 0xac, 0x2b, 0xaf, 0x4b, 0xaa, 0xf2, 0x3a, 0xb1, 0x74, 0x2e, 0x26, 0x49, + 0x8b, 0xf7, 0xee, 0x1a, 0xf4, 0xd9, 0x4d, 0xaa, 0xcf, 0x0a, 0x90, 0xb8, 0x87, 0xef, 0xc1, 0x08, + 0x2b, 0xe1, 0xfd, 0x33, 0x10, 0x63, 0xea, 0x3a, 0x43, 0xe3, 0xc0, 0xd6, 0x0f, 0xe1, 0x32, 0x3b, + 0x0b, 0xc6, 0x57, 0x55, 0xfa, 0x79, 0xed, 0x7b, 0x89, 0xa3, 0xe0, 0x05, 0x4e, 0x37, 0x09, 0x9f, + 0x71, 0x22, 0xdc, 0x17, 0x6b, 0x3b, 0x8b, 0xfe, 0xa9, 0x1e, 0x77, 0x88, 0x23, 0x5e, 0xd1, 0x78, + 0xc4, 0x7b, 0x0d, 0xae, 0xc9, 0x23, 0x5e, 0xb2, 0x19, 0xb1, 0xb4, 0xac, 0x2f, 0xe1, 0x22, 0x1b, + 0xa8, 0x70, 0xaf, 0xd2, 0xbb, 0xf1, 0x71, 0x62, 0x98, 0x0b, 0x7c, 0x98, 0x3a, 0x74, 0xc6, 0x20, + 0xff, 0x7e, 0x41, 0x7c, 0x72, 0x66, 0xe2, 0xbf, 0xec, 0x33, 0xef, 0x16, 0x54, 0x24, 0x43, 0xf4, + 0x1e, 0xbd, 0xd8, 0x81, 0x77, 0x13, 0xe6, 0x55, 0x32, 0x6e, 0x0b, 0xef, 0xdd, 0xa1, 0x77, 0x08, + 0xef, 0x92, 0xcf, 0x82, 0x16, 0x88, 0x65, 0xb7, 0x68, 0xe0, 0x1b, 0x85, 0xb7, 0x25, 0xa4, 0xd5, + 0x84, 0x4b, 0xe9, 0xa9, 0x70, 0x5b, 0xc2, 0xe7, 0x16, 0x7d, 0x4a, 0x3e, 0x61, 0x5a, 0xc2, 0x27, + 0x23, 0x93, 0xa8, 0xf8, 0x8e, 0x19, 0xba, 0xc0, 0xb2, 0x2c, 0x21, 0x6a, 0x12, 0xe3, 0x27, 0xad, + 0x8b, 0xf5, 0xf0, 0xeb, 0x80, 0x44, 0xd5, 0x72, 0xc3, 0x16, 0x4d, 0x5f, 0x80, 0xc1, 0xe5, 0x86, + 0xcd, 0x5d, 0xfd, 0xe9, 0x99, 0xbb, 0x15, 0x06, 0x36, 0x29, 0x4b, 0xea, 0xc4, 0xc5, 0x53, 0xe8, + 0xc4, 0x0f, 0x86, 0xc6, 0x06, 0x4b, 0x43, 0x36, 0x6a, 0xb8, 0x07, 0xde, 0x23, 0x37, 0x3a, 0x94, + 0x0d, 0x56, 0xad, 0x1f, 0xc0, 0xac, 0xd6, 0x3c, 0xff, 0x8a, 0x73, 0xdf, 0x28, 0xa0, 0x37, 0x61, + 0x74, 0xb9, 0x4a, 0x7d, 0x14, 0xa8, 0xd1, 0x60, 0x92, 0xc9, 0x9b, 0x96, 0xd3, 0xa4, 0x0f, 0xe0, + 0x6c, 0x51, 0x69, 0xfd, 0xb3, 0x21, 0x85, 0xba, 0xf2, 0xf2, 0x23, 0x67, 0x74, 0x77, 0x00, 0xd8, + 0x0a, 0x51, 0x06, 0x47, 0x14, 0xc0, 0x09, 0x7e, 0xf5, 0xcf, 0x44, 0xb2, 0xad, 0x00, 0x9d, 0xf6, + 0x65, 0x08, 0xf7, 0xc5, 0x64, 0x48, 0xe2, 0x31, 0x94, 0xf4, 0xc5, 0xe4, 0xa4, 0x43, 0x5b, 0x05, + 0x42, 0x3f, 0x4c, 0x3a, 0x30, 0x0f, 0xd3, 0x2b, 0x8b, 0xd7, 0xc5, 0x1d, 0x66, 0x7a, 0x6c, 0x67, + 0xf3, 0x61, 0x7e, 0x06, 0xf3, 0x04, 0xd7, 0x7d, 0x4c, 0x55, 0xfb, 0xd5, 0xaf, 0x23, 0xec, 0x31, + 0xd9, 0x3e, 0x42, 0xdb, 0x79, 0x23, 0xa7, 0x9d, 0x18, 0x98, 0x5b, 0xc0, 0x63, 0x3a, 0x4d, 0x2c, + 0xeb, 0x6c, 0x33, 0x7d, 0xba, 0x88, 0xec, 0x8d, 0x55, 0xaf, 0xdd, 0xf5, 0x5d, 0x79, 0x64, 0x61, + 0x8b, 0x28, 0xe8, 0x34, 0x31, 0x2f, 0xb7, 0x55, 0x20, 0xeb, 0xcd, 0x5c, 0x0f, 0xdf, 0x31, 0x18, + 0xda, 0x59, 0xde, 0xd9, 0x28, 0x15, 0xac, 0x5b, 0x00, 0x4a, 0x4b, 0x00, 0x23, 0x5b, 0xdb, 0xf6, + 0x66, 0x75, 0xa3, 0x34, 0x80, 0xe6, 0xe1, 0xdc, 0xa3, 0xf5, 0xad, 0x95, 0xed, 0x47, 0x8d, 0x66, + 0x63, 0xb3, 0x6a, 0xef, 0x2c, 0x57, 0xed, 0x95, 0x52, 0xc1, 0xfa, 0x0a, 0xe6, 0xf4, 0x11, 0xbe, + 0xd2, 0x45, 0x18, 0xc1, 0xac, 0xd4, 0x67, 0x1e, 0x3c, 0xda, 0x51, 0xdc, 0x03, 0xf9, 0xf1, 0x2b, + 0xe9, 0xe6, 0xc2, 0x0f, 0x6a, 0xfc, 0x33, 0x52, 0x80, 0xd0, 0xdb, 0x4c, 0x2d, 0x48, 0xbe, 0xed, + 0x23, 0x6a, 0x41, 0x33, 0xd6, 0x0b, 0xa8, 0xe8, 0xfb, 0x0e, 0xcc, 0xe9, 0xad, 0x9e, 0xd6, 0x4e, + 0xf4, 0x3a, 0xf5, 0x9b, 0x54, 0x5c, 0xff, 0x11, 0x52, 0x0d, 0xf7, 0x5c, 0xb2, 0x7e, 0x07, 0x4a, + 0x1c, 0x2a, 0xde, 0x79, 0x5f, 0x13, 0x86, 0xbc, 0x82, 0xe1, 0x99, 0x92, 0x70, 0xd0, 0xf5, 0xa1, + 0x44, 0x24, 0x26, 0xc7, 0x64, 0x0d, 0xcc, 0xc1, 0xf0, 0x46, 0x7c, 0xa1, 0x62, 0xb3, 0x1f, 0xd4, + 0x03, 0x3e, 0x72, 0x82, 0x48, 0x38, 0x15, 0x8d, 0xdb, 0xf2, 0x37, 0x7a, 0x1b, 0x46, 0xee, 0xb9, + 0x9d, 0x88, 0x1b, 0x27, 0xe2, 0x4d, 0x9e, 0x90, 0x65, 0x15, 0x36, 0x07, 0xb0, 0x6c, 0x38, 0xa7, + 0x34, 0x78, 0x86, 0xae, 0xa2, 0x45, 0x18, 0xdd, 0xc2, 0x5f, 0x2b, 0xed, 0x8b, 0x9f, 0xd6, 0xfb, + 0x70, 0x8e, 0x3b, 0x6c, 0x29, 0x6c, 0xba, 0xc6, 0x5f, 0x53, 0x16, 0xb4, 0x27, 0x5d, 0x9c, 0x24, + 0xad, 0x22, 0x78, 0xbb, 0xdd, 0xf6, 0x0b, 0xe2, 0x91, 0x8d, 0xe2, 0x8c, 0x78, 0x6f, 0x89, 0x7b, + 0x98, 0x7e, 0xd3, 0xf9, 0x67, 0x05, 0x58, 0x4c, 0x9c, 0xf3, 0x97, 0x0f, 0x9d, 0x4e, 0x07, 0x7b, + 0x07, 0x18, 0x5d, 0x87, 0xa1, 0x9d, 0xed, 0x9d, 0x3a, 0xb7, 0x53, 0x8a, 0xfb, 0x65, 0x52, 0x24, + 0x61, 0x6c, 0x0a, 0x81, 0x1e, 0xc2, 0x39, 0xe1, 0x92, 0x29, 0xab, 0xf8, 0x0c, 0x5d, 0xce, 0x77, + 0xf0, 0x4c, 0xe3, 0xa1, 0x77, 0xb9, 0x51, 0xe2, 0xc7, 0x3d, 0x37, 0xc0, 0x6d, 0x6a, 0x7b, 0x89, + 0x2f, 0x6b, 0x95, 0x1a, 0x5b, 0x05, 0x63, 0x6f, 0xdf, 0xac, 0xdf, 0x2f, 0xc0, 0x42, 0x86, 0xdd, + 0x02, 0xbd, 0xad, 0x0d, 0x67, 0x56, 0x19, 0x8e, 0x00, 0x59, 0x1b, 0xe0, 0xe3, 0x59, 0x56, 0xfc, + 0x54, 0x07, 0xcf, 0xe0, 0xa7, 0xba, 0x36, 0x10, 0xfb, 0xa6, 0xd6, 0x00, 0xc6, 0x44, 0xb9, 0x35, + 0x03, 0x53, 0x1a, 0xdf, 0x2c, 0x0b, 0x26, 0xd5, 0x96, 0xc9, 0xe4, 0x2c, 0xfb, 0x6d, 0x39, 0x39, + 0xe4, 0x6f, 0xeb, 0x77, 0x0b, 0x30, 0x47, 0x87, 0x78, 0xe0, 0x12, 0xd1, 0x17, 0x73, 0x68, 0x49, + 0x1b, 0xc9, 0x25, 0x6d, 0x24, 0x09, 0x58, 0x39, 0xa4, 0x8f, 0x52, 0x43, 0xba, 0x64, 0x1a, 0x12, + 0x5d, 0xde, 0xae, 0xef, 0x69, 0x23, 0x51, 0x2e, 0x83, 0xfe, 0xa0, 0x00, 0xb3, 0x4a, 0x9f, 0x64, + 0xff, 0xef, 0x68, 0x5d, 0xba, 0x68, 0xe8, 0x52, 0x8a, 0xc9, 0xb5, 0x54, 0x8f, 0x5e, 0xcf, 0xeb, + 0x51, 0x5f, 0x1e, 0xff, 0xb7, 0x02, 0xcc, 0x1b, 0x79, 0x80, 0xce, 0x13, 0xdd, 0xb6, 0x15, 0xe0, + 0x88, 0xb3, 0x97, 0xff, 0x22, 0xe5, 0xeb, 0x61, 0xd8, 0xc3, 0x01, 0xff, 0xce, 0xf9, 0x2f, 0xf4, + 0x3a, 0x4c, 0xd5, 0x71, 0xe0, 0xfa, 0x6d, 0xe6, 0xc1, 0xcc, 0x5c, 0x03, 0xa7, 0x6c, 0xbd, 0x10, + 0x5d, 0x82, 0xf1, 0x6a, 0xe7, 0xc0, 0x0f, 0xdc, 0xe8, 0x90, 0xdd, 0xc7, 0x8d, 0xdb, 0x71, 0x01, + 0xa1, 0xbd, 0xe2, 0x1e, 0xb0, 0x6b, 0x05, 0x82, 0xcc, 0x7f, 0x11, 0xe1, 0x22, 0xec, 0x75, 0x23, + 0x4c, 0xb8, 0x08, 0x63, 0xdc, 0x79, 0x18, 0xf9, 0xcc, 0xa6, 0x8b, 0x80, 0xbe, 0x38, 0xb6, 0xf9, + 0x2f, 0x34, 0x4d, 0x7d, 0x50, 0xe9, 0x7b, 0x62, 0xea, 0x7b, 0xfa, 0x11, 0xcc, 0x99, 0xf8, 0x6a, + 0x5a, 0x42, 0x1c, 0xb7, 0x28, 0x71, 0xbf, 0x84, 0xd9, 0x6a, 0xbb, 0xbd, 0x79, 0xaf, 0xca, 0x6e, + 0xfd, 0xf9, 0xac, 0xb2, 0x8f, 0x87, 0xd9, 0xeb, 0xb8, 0xca, 0x36, 0xb4, 0xee, 0xb9, 0x91, 0x3d, + 0xbb, 0xfa, 0xb5, 0x1b, 0x46, 0xae, 0x77, 0xa0, 0x98, 0xf5, 0xec, 0xf3, 0x5b, 0xf8, 0x99, 0x61, + 0x09, 0x90, 0xdd, 0x54, 0xa7, 0x2d, 0xcd, 0x80, 0x49, 0xe2, 0x73, 0x0a, 0xd9, 0x58, 0x94, 0x2c, + 0xe8, 0x74, 0xe3, 0x8a, 0xc1, 0x6a, 0xeb, 0x89, 0xf5, 0x1d, 0x38, 0xcf, 0x44, 0x5a, 0x5e, 0xe7, + 0x79, 0xb7, 0x55, 0x2b, 0xa4, 0xf5, 0x81, 0xb0, 0x52, 0xe4, 0xf6, 0xcc, 0x9e, 0xd4, 0xfa, 0x42, + 0x9b, 0xfc, 0xef, 0x05, 0x28, 0x27, 0x50, 0x1b, 0xcf, 0xbd, 0x96, 0x90, 0xa7, 0x6f, 0x26, 0x7d, + 0x7c, 0xa9, 0x1e, 0xc0, 0x8c, 0x7f, 0x6e, 0x5b, 0xba, 0xf9, 0xa2, 0x5b, 0x00, 0x0c, 0x59, 0xd9, + 0xbe, 0xa9, 0xf1, 0x99, 0xfb, 0x70, 0xd0, 0x0d, 0x5c, 0x01, 0x41, 0x3d, 0x30, 0xf1, 0x9d, 0x7f, + 0x23, 0xfd, 0xac, 0xb3, 0xf4, 0x95, 0x3d, 0xe6, 0xe8, 0xcd, 0x0c, 0x33, 0xad, 0x89, 0xbe, 0xf5, + 0x0f, 0x06, 0x61, 0x41, 0x9d, 0xc0, 0x17, 0x19, 0x6b, 0x1d, 0x26, 0x96, 0x7d, 0x2f, 0xc2, 0x5f, + 0x47, 0xca, 0x2b, 0x67, 0x24, 0xef, 0xba, 0x65, 0x0d, 0x57, 0x1d, 0x59, 0x41, 0x93, 0xe8, 0x31, + 0x9a, 0x2f, 0x5a, 0x0c, 0x88, 0x96, 0x61, 0x6a, 0x0b, 0x3f, 0x4b, 0x31, 0x90, 0xfa, 0xc3, 0x79, + 0xf8, 0x59, 0x53, 0x61, 0xa2, 0xea, 0xa4, 0xa4, 0xe1, 0xa0, 0x7d, 0x98, 0x16, 0x8b, 0x4b, 0x63, + 0x66, 0x59, 0xdd, 0x55, 0xf4, 0xe5, 0xcc, 0xde, 0x01, 0x93, 0x16, 0x32, 0x78, 0x98, 0xa0, 0x48, + 0x86, 0xce, 0x5a, 0x64, 0x4f, 0x5b, 0xf5, 0x6d, 0x4b, 0xa9, 0xd1, 0xbc, 0x0d, 0x93, 0x4f, 0x5a, + 0x55, 0x12, 0x56, 0x1d, 0x16, 0xd3, 0xf3, 0xc1, 0x5b, 0x7b, 0x17, 0x46, 0x58, 0x29, 0x57, 0x03, + 0x44, 0x00, 0x0b, 0x09, 0xcd, 0xce, 0xe9, 0xac, 0x19, 0x9b, 0xc3, 0x5a, 0x6b, 0xd4, 0x76, 0x22, + 0x61, 0xa4, 0x22, 0x76, 0x3b, 0x39, 0xbd, 0xd4, 0x91, 0x53, 0x4c, 0xaf, 0xea, 0xe9, 0x21, 0x7c, + 0xd7, 0x97, 0xa9, 0xf9, 0x49, 0xa5, 0xc4, 0x3b, 0x76, 0x03, 0x46, 0x79, 0x51, 0x22, 0xb4, 0x46, + 0xfc, 0xf9, 0x09, 0x00, 0xeb, 0x23, 0xb8, 0x40, 0x6d, 0x61, 0xae, 0x77, 0xd0, 0xc1, 0xbb, 0xa1, + 0xe6, 0x7d, 0xde, 0xef, 0xb3, 0xfe, 0x2e, 0x94, 0x4d, 0xb8, 0x7d, 0xbf, 0x6c, 0xf6, 0xd8, 0xfd, + 0x2f, 0x8b, 0x30, 0xb7, 0x1e, 0xaa, 0xca, 0x04, 0xe7, 0xc4, 0x4d, 0xd3, 0x33, 0x6c, 0xca, 0x93, + 0xb5, 0x01, 0xd3, 0x33, 0xeb, 0x77, 0x95, 0x67, 0x6d, 0xc5, 0xbc, 0xf7, 0xd5, 0x64, 0xdb, 0x92, + 0x0f, 0xdb, 0xde, 0x84, 0xa1, 0x2d, 0x22, 0xaa, 0x07, 0xf9, 0xdc, 0x31, 0x0c, 0x52, 0x44, 0x9f, + 0x95, 0x91, 0x2d, 0x92, 0xfc, 0x40, 0xf7, 0x52, 0x8f, 0xd7, 0x86, 0xfa, 0xbf, 0x1f, 0x5e, 0x1b, + 0x48, 0xbd, 0x63, 0x7b, 0x1f, 0x26, 0xaa, 0xed, 0x23, 0xe6, 0x70, 0xe6, 0x7b, 0x89, 0xcf, 0x52, + 0xa9, 0x59, 0x1b, 0xb0, 0x55, 0x40, 0x72, 0xc2, 0xad, 0x76, 0xbb, 0x74, 0xa3, 0x32, 0xbd, 0xa9, + 0x5e, 0x1b, 0xa0, 0xfe, 0xdb, 0xb5, 0x31, 0x18, 0xd9, 0x71, 0x82, 0x03, 0x1c, 0x59, 0x5f, 0x42, + 0x99, 0xbb, 0x89, 0x30, 0xcb, 0x1f, 0x75, 0x26, 0x09, 0x63, 0x4f, 0xa0, 0x3c, 0xd7, 0x8e, 0x2b, + 0x00, 0x54, 0xcf, 0x5f, 0xf7, 0xda, 0xf8, 0x6b, 0xe6, 0xcd, 0x64, 0x2b, 0x25, 0xd6, 0x7b, 0x30, + 0x2e, 0x39, 0x44, 0x95, 0x59, 0x65, 0xb3, 0xa3, 0xdc, 0x9a, 0xd3, 0x5e, 0xeb, 0x89, 0x27, 0x7a, + 0x17, 0xb4, 0xb1, 0xf3, 0x18, 0x09, 0x4c, 0xfb, 0x75, 0x61, 0x3e, 0xb1, 0x08, 0xe2, 0x47, 0xb8, + 0x52, 0xff, 0xa4, 0x9e, 0x4f, 0xb6, 0xfc, 0x9d, 0x54, 0x4f, 0x8b, 0xa7, 0x52, 0x4f, 0xad, 0x7f, + 0x51, 0xa4, 0x07, 0xa7, 0x14, 0x3f, 0x12, 0x36, 0x28, 0xd5, 0x0e, 0x56, 0x83, 0x71, 0x3a, 0xfa, + 0x15, 0xf1, 0xb2, 0x28, 0xdf, 0xcb, 0x61, 0xec, 0x67, 0xc7, 0x95, 0x01, 0xea, 0xda, 0x10, 0xa3, + 0xa1, 0x4f, 0x60, 0x74, 0xd5, 0x6b, 0x53, 0x0a, 0x83, 0x67, 0xa0, 0x20, 0x90, 0xc8, 0x9c, 0xd0, + 0x2e, 0xef, 0x90, 0x4f, 0x98, 0x99, 0x2e, 0x6c, 0xa5, 0x24, 0x3e, 0xc1, 0x0d, 0x67, 0x9d, 0xe0, + 0x46, 0x12, 0x27, 0x38, 0x0b, 0x86, 0xb7, 0x83, 0x36, 0x8f, 0x6d, 0x30, 0xbd, 0x34, 0xc9, 0x19, + 0x47, 0xcb, 0x6c, 0x56, 0x65, 0xfd, 0xaf, 0x02, 0x2c, 0xdc, 0xc7, 0x91, 0x71, 0x0d, 0x69, 0x5c, + 0x29, 0xbc, 0x34, 0x57, 0x8a, 0x2f, 0xc2, 0x15, 0x39, 0xea, 0xc1, 0xac, 0x51, 0x0f, 0x65, 0x8d, + 0x7a, 0x38, 0x7b, 0xd4, 0xf7, 0x61, 0x84, 0x0d, 0x95, 0x9c, 0x52, 0xd7, 0x23, 0x7c, 0x14, 0x9f, + 0x52, 0x55, 0x1f, 0x2d, 0x9b, 0xd5, 0x11, 0x45, 0x72, 0xc3, 0x09, 0xd5, 0x53, 0x2a, 0xff, 0x69, + 0xfd, 0x88, 0xbe, 0x49, 0xdc, 0xf0, 0x5b, 0x4f, 0x14, 0x6b, 0xe7, 0x28, 0xfb, 0x42, 0x93, 0xd6, + 0x71, 0x02, 0xc5, 0x6a, 0x6c, 0x01, 0x81, 0xae, 0xc2, 0xc4, 0xba, 0x77, 0xcf, 0x0f, 0x5a, 0x78, + 0xdb, 0xeb, 0x30, 0xea, 0x63, 0xb6, 0x5a, 0xc4, 0xad, 0x00, 0xbc, 0x85, 0xf8, 0x68, 0x4d, 0x0b, + 0x12, 0x47, 0x6b, 0x52, 0xb6, 0xb7, 0x64, 0xb3, 0x3a, 0x6e, 0x64, 0x20, 0x7f, 0xe7, 0x9d, 0x4a, + 0xe5, 0xf1, 0xb5, 0x1f, 0xe0, 0x3e, 0x5c, 0xb0, 0x71, 0xb7, 0xe3, 0x10, 0x9d, 0xee, 0xc8, 0x67, + 0xf0, 0x72, 0xcc, 0x57, 0x0d, 0xef, 0x89, 0xf4, 0x1b, 0x7b, 0xd9, 0xe5, 0x62, 0x4e, 0x97, 0x8f, + 0xe0, 0xda, 0x7d, 0x1c, 0xe9, 0x02, 0x35, 0xb6, 0xa5, 0xf2, 0xc1, 0xaf, 0xc1, 0x58, 0xa8, 0xdb, + 0x81, 0xaf, 0x88, 0xeb, 0x07, 0x13, 0xe2, 0xde, 0x5d, 0x71, 0x53, 0xc2, 0xe9, 0xc8, 0xbf, 0xac, + 0x4f, 0xa1, 0x92, 0xd5, 0xdc, 0xe9, 0x1c, 0x2a, 0x5d, 0xb8, 0x9a, 0x4d, 0x80, 0x77, 0x77, 0x15, + 0x84, 0xcd, 0x98, 0x7f, 0x42, 0xfd, 0x7a, 0xab, 0x9b, 0x99, 0xf9, 0x1f, 0x56, 0x4d, 0xb8, 0x96, + 0xbd, 0x44, 0x77, 0x9b, 0xf4, 0x3a, 0x56, 0x27, 0x10, 0xf3, 0xb5, 0x0a, 0x63, 0xa2, 0x8c, 0xf3, + 0x75, 0xc1, 0xd8, 0x53, 0xc1, 0xd0, 0xb6, 0x20, 0x20, 0xd1, 0xac, 0x1f, 0x89, 0xab, 0x09, 0x1d, + 0xe3, 0x74, 0x0f, 0xec, 0x4e, 0x73, 0x17, 0x61, 0xf9, 0x70, 0x41, 0xa7, 0xad, 0x9a, 0x9c, 0x4b, + 0x8a, 0xc9, 0x99, 0x59, 0x9a, 0xaf, 0xea, 0x26, 0xd0, 0x22, 0x5f, 0x97, 0x71, 0x11, 0xba, 0xa2, + 0x1a, 0x96, 0x27, 0xd3, 0x2f, 0xf6, 0x6e, 0x43, 0xd9, 0xd4, 0xa0, 0x72, 0x0e, 0x94, 0xd6, 0x4b, + 0xae, 0xef, 0xac, 0xc0, 0x15, 0x11, 0x5d, 0xc4, 0xf7, 0xa3, 0x30, 0x0a, 0x9c, 0x6e, 0xa3, 0x15, + 0xb8, 0xdd, 0x18, 0xcb, 0x82, 0x11, 0x56, 0xc2, 0x39, 0xc1, 0xae, 0x79, 0x18, 0x0c, 0xaf, 0xb1, + 0x7e, 0xb3, 0x00, 0x96, 0xe6, 0x05, 0x44, 0xe7, 0xb9, 0x1e, 0xf8, 0x4f, 0xdd, 0xb6, 0x72, 0xb5, + 0xf2, 0xb6, 0x66, 0xd6, 0x63, 0x2f, 0xae, 0x92, 0x0e, 0xc8, 0x5c, 0x66, 0xde, 0x4e, 0x98, 0xda, + 0x98, 0xe2, 0x49, 0x3d, 0x83, 0x9e, 0x60, 0xf5, 0xc5, 0x82, 0x34, 0xc1, 0xfd, 0x9f, 0x02, 0xbc, + 0x96, 0xdb, 0x07, 0x3e, 0x9e, 0x7d, 0x28, 0x25, 0xeb, 0xf8, 0x0a, 0xaa, 0x28, 0x3e, 0x09, 0x69, + 0x0a, 0x7b, 0x77, 0x98, 0x97, 0xb3, 0xf0, 0x9e, 0xe9, 0x4a, 0xca, 0x29, 0x7a, 0x67, 0xef, 0x3d, + 0xfa, 0x10, 0x60, 0xc7, 0x8f, 0x9c, 0xce, 0x32, 0x35, 0x00, 0x0c, 0xc6, 0x1e, 0xeb, 0x11, 0x29, + 0x6d, 0x26, 0x9f, 0xb7, 0x2b, 0xc0, 0xd6, 0xf7, 0xe9, 0x77, 0x6d, 0xee, 0xf4, 0xe9, 0x3e, 0xb5, + 0x65, 0x78, 0x2d, 0x71, 0x2f, 0xfe, 0x02, 0x44, 0x22, 0x98, 0x27, 0xec, 0x27, 0xba, 0xf7, 0xfd, + 0xc0, 0xef, 0x75, 0x7f, 0x39, 0xb3, 0xfe, 0xa7, 0x05, 0xe6, 0x2a, 0xa8, 0x36, 0xcb, 0x27, 0x7a, + 0x19, 0x20, 0x2e, 0x4d, 0xb8, 0x8c, 0xcb, 0x8a, 0xbd, 0x3b, 0xec, 0xc8, 0x4d, 0x2d, 0xe6, 0x07, + 0x8c, 0x80, 0x82, 0xf6, 0xcb, 0x9d, 0xc9, 0xbb, 0xf4, 0x32, 0x5c, 0xb6, 0x7e, 0x3a, 0xbe, 0xbf, + 0x2f, 0xec, 0x1f, 0x67, 0xc4, 0x3b, 0x84, 0x39, 0x22, 0x01, 0xaa, 0xbd, 0xe8, 0xd0, 0x0f, 0xdc, + 0x48, 0x3c, 0x7e, 0x40, 0x75, 0xfe, 0x74, 0x98, 0x61, 0x7d, 0xf7, 0x17, 0xc7, 0x95, 0x0f, 0xce, + 0x12, 0xf5, 0x4d, 0xd0, 0xdc, 0x91, 0xcf, 0x8d, 0xad, 0x05, 0x18, 0x5c, 0xb6, 0x37, 0xa8, 0xc0, + 0xb3, 0x37, 0xa4, 0xc0, 0xb3, 0x37, 0xac, 0xff, 0x59, 0x84, 0x0a, 0x0b, 0x6e, 0x40, 0x7d, 0x28, + 0x62, 0xab, 0x85, 0xe2, 0x94, 0x71, 0x5a, 0x03, 0x43, 0x22, 0x78, 0x41, 0xf1, 0x34, 0xc1, 0x0b, + 0x7e, 0x0d, 0x32, 0x4c, 0x56, 0xa7, 0xb0, 0x02, 0xbc, 0x75, 0x72, 0x5c, 0x79, 0x2d, 0xb6, 0x02, + 0xb0, 0x5a, 0x93, 0x39, 0x20, 0xa3, 0x89, 0xb4, 0xfd, 0x62, 0xe8, 0x05, 0xec, 0x17, 0xb7, 0x61, + 0x94, 0x1e, 0x66, 0xd6, 0xeb, 0xdc, 0xaf, 0x90, 0x2e, 0x4f, 0x1a, 0x89, 0xa4, 0xe9, 0xaa, 0xe1, + 0xa0, 0x04, 0x98, 0xf5, 0x8f, 0x8a, 0x70, 0x35, 0x9b, 0xe7, 0xbc, 0x6f, 0x2b, 0x00, 0xb1, 0xf7, + 0x46, 0x9e, 0xb7, 0x08, 0xfd, 0x76, 0x9e, 0xe1, 0x7d, 0xe9, 0xad, 0xa5, 0xe0, 0x11, 0xdd, 0x47, + 0xbc, 0x23, 0x4d, 0x5c, 0x15, 0x68, 0xcf, 0x4b, 0x79, 0x2c, 0x43, 0x5e, 0xa4, 0xc5, 0x32, 0xe4, + 0x65, 0x68, 0x1f, 0x16, 0xea, 0x81, 0xfb, 0xd4, 0x89, 0xf0, 0x43, 0xfc, 0x9c, 0x3d, 0x45, 0x59, + 0xe5, 0xef, 0x4f, 0xd8, 0xe3, 0xe0, 0xeb, 0x27, 0xc7, 0x95, 0xd7, 0xbb, 0x0c, 0x84, 0x7c, 0x98, + 0x4d, 0xf6, 0xb2, 0xad, 0x99, 0x7e, 0x92, 0x92, 0x45, 0xc8, 0xfa, 0xf7, 0x05, 0xb8, 0x48, 0xd5, + 0x72, 0x6e, 0x76, 0x15, 0x8d, 0xbf, 0x90, 0xd3, 0xa0, 0x3a, 0x40, 0xbe, 0x16, 0xa9, 0xd3, 0xa0, + 0xf6, 0xce, 0xd6, 0xd6, 0xc0, 0xd0, 0x3a, 0x4c, 0xf0, 0xdf, 0xf4, 0xfb, 0x1b, 0xa4, 0x07, 0x82, + 0x79, 0x45, 0x60, 0xd1, 0xa5, 0xce, 0x4c, 0x45, 0x74, 0x61, 0x73, 0x62, 0xf4, 0x39, 0x9a, 0xad, + 0xe2, 0x5a, 0x3f, 0x2f, 0xc2, 0xa5, 0x3d, 0x1c, 0xb8, 0x8f, 0x9f, 0x67, 0x0c, 0x66, 0x1b, 0xe6, + 0x44, 0x11, 0x0b, 0x70, 0xa0, 0x7d, 0x62, 0x2c, 0x9e, 0x99, 0xe8, 0x2a, 0x8f, 0x90, 0x20, 0xbe, + 0x38, 0x23, 0xe2, 0x19, 0xdc, 0x01, 0xdf, 0x85, 0xb1, 0x44, 0x88, 0x11, 0x3a, 0xff, 0xe2, 0x0b, + 0x8d, 0xa7, 0x6a, 0x6d, 0xc0, 0x96, 0x90, 0xe8, 0xb7, 0xb2, 0xef, 0x6f, 0xb8, 0xe9, 0xa3, 0x9f, + 0xfd, 0x93, 0x7e, 0xb0, 0xe4, 0x63, 0x75, 0x94, 0x5a, 0xc3, 0x07, 0xbb, 0x36, 0x60, 0x67, 0xb5, + 0x54, 0x9b, 0x80, 0xf1, 0x2a, 0xbd, 0x93, 0x22, 0x27, 0xf7, 0xff, 0x5d, 0x84, 0x2b, 0xe2, 0x59, + 0x49, 0x06, 0x9b, 0x3f, 0x87, 0x05, 0x51, 0x54, 0xed, 0x12, 0x85, 0x01, 0xb7, 0x75, 0x4e, 0xb3, + 0x98, 0x82, 0x82, 0xd3, 0x0e, 0x87, 0x89, 0x99, 0x9d, 0x85, 0xfe, 0x6a, 0xac, 0x9f, 0x9f, 0x98, + 0x02, 0xbe, 0x50, 0x2b, 0xa4, 0x2a, 0x33, 0x35, 0xd6, 0x68, 0xf2, 0xb3, 0x9d, 0xb2, 0x9e, 0x0e, + 0xbd, 0xac, 0xf5, 0x74, 0x6d, 0x20, 0x69, 0x3f, 0xad, 0x4d, 0xc3, 0xe4, 0x16, 0x7e, 0x16, 0xf3, + 0xfd, 0xef, 0x16, 0x12, 0x0f, 0xd9, 0x89, 0x86, 0xc1, 0x5e, 0xb4, 0x17, 0xe2, 0x98, 0x21, 0xf4, + 0x21, 0xbb, 0xaa, 0x61, 0x30, 0xd0, 0x75, 0x18, 0x65, 0x17, 0xb5, 0xed, 0x53, 0x9c, 0xf0, 0xe5, + 0xfb, 0x10, 0xf6, 0x68, 0xaf, 0xcd, 0x0e, 0xfb, 0x1c, 0xdf, 0x7a, 0x08, 0xd7, 0xb8, 0xff, 0xb2, + 0x3e, 0xf9, 0xb4, 0xa1, 0x33, 0x6e, 0x5f, 0x96, 0x03, 0x57, 0xee, 0xe3, 0xa4, 0xe8, 0xd1, 0xde, + 0xcf, 0x7c, 0x0a, 0x33, 0x5a, 0xb9, 0xa4, 0x48, 0xb5, 0x52, 0xb9, 0x86, 0x24, 0xe9, 0x24, 0xb4, + 0x75, 0xd5, 0xd4, 0x84, 0xda, 0x59, 0x0b, 0xd3, 0xe0, 0x80, 0x41, 0x7c, 0xc5, 0x16, 0x9e, 0x41, + 0xea, 0x5d, 0x57, 0xbe, 0x6b, 0x26, 0xf1, 0x58, 0x94, 0x30, 0xb1, 0xf3, 0xca, 0x5a, 0x6b, 0x4a, + 0xbb, 0x0b, 0xb0, 0xa6, 0x61, 0x52, 0x54, 0x75, 0x70, 0x18, 0x5a, 0x3f, 0x1d, 0x06, 0x8b, 0x33, + 0xd6, 0x74, 0xfb, 0x2c, 0xf8, 0xb1, 0x9f, 0xea, 0x2c, 0xdf, 0xa8, 0xce, 0xab, 0x71, 0xe9, 0xe2, + 0x5a, 0xb6, 0xf2, 0xa8, 0x9e, 0xd7, 0x8a, 0x4b, 0xb5, 0x95, 0x97, 0x1a, 0xfd, 0x0f, 0x32, 0xc4, + 0x24, 0xfb, 0xd8, 0xde, 0x38, 0x39, 0xae, 0x5c, 0xcb, 0x10, 0x93, 0x1a, 0x5d, 0xb3, 0xc8, 0xb4, + 0xf5, 0x2b, 0x91, 0xc1, 0x17, 0xb9, 0x12, 0x21, 0x5f, 0xa4, 0x7a, 0x29, 0xb2, 0xab, 0xf3, 0x92, + 0x7f, 0x8f, 0xe2, 0x4a, 0x5b, 0xad, 0xe2, 0xef, 0xc9, 0x95, 0x12, 0x8d, 0xaa, 0x46, 0x06, 0xb9, + 0x50, 0x52, 0x6c, 0x96, 0xcb, 0x87, 0xb8, 0xf5, 0x84, 0xdb, 0x8a, 0xc5, 0x85, 0xae, 0xc9, 0x66, + 0xce, 0xe2, 0x93, 0xb2, 0xef, 0x9c, 0x55, 0x34, 0x5b, 0x04, 0x55, 0x7d, 0x0f, 0x9f, 0x24, 0x8b, + 0x7e, 0x02, 0xb3, 0x72, 0xaa, 0x13, 0xee, 0x47, 0x13, 0x4b, 0xaf, 0xc7, 0x81, 0x0c, 0x8f, 0x1e, + 0x3b, 0x37, 0x9f, 0xde, 0xb9, 0x69, 0x80, 0x65, 0xcf, 0xac, 0x5b, 0xa2, 0x42, 0xf1, 0x3d, 0x52, + 0x2f, 0xba, 0x4c, 0x88, 0xca, 0x75, 0xf6, 0xef, 0x49, 0x67, 0x79, 0xa2, 0x2f, 0xb8, 0x1d, 0xcc, + 0xdf, 0x9d, 0x88, 0xd5, 0x97, 0x71, 0x15, 0x57, 0xf8, 0x86, 0xaf, 0xe2, 0xfe, 0xb8, 0x28, 0x9e, + 0x08, 0xa4, 0x6f, 0x43, 0xcf, 0x7c, 0x23, 0x67, 0x1c, 0xc1, 0xa9, 0x36, 0x53, 0x63, 0xe7, 0x50, + 0x4d, 0xdc, 0x67, 0xca, 0xd0, 0x43, 0xd3, 0xf2, 0x6e, 0x20, 0xae, 0xd0, 0xae, 0x38, 0xa9, 0xea, + 0xa2, 0x60, 0x25, 0x2f, 0xcb, 0x06, 0x5f, 0xfe, 0xb2, 0xec, 0x5f, 0x8f, 0xc3, 0xb9, 0xba, 0x73, + 0xe0, 0x7a, 0x44, 0x68, 0xdb, 0x38, 0xf4, 0x7b, 0x41, 0x0b, 0xa3, 0x2a, 0x4c, 0xeb, 0xfe, 0x9f, + 0x7d, 0xbc, 0x5b, 0xc9, 0xbe, 0xa4, 0x97, 0xa1, 0x25, 0x18, 0x97, 0xaf, 0x3e, 0xf9, 0x66, 0x62, + 0x78, 0x0d, 0xba, 0x36, 0x60, 0xc7, 0x60, 0xe8, 0x43, 0xed, 0x7e, 0x67, 0x46, 0x3e, 0x60, 0xa6, + 0xb0, 0x4b, 0xcc, 0x41, 0xcf, 0xf3, 0xdb, 0xfa, 0x86, 0xc8, 0x2e, 0x31, 0x7e, 0x94, 0xba, 0xf2, + 0x19, 0xd6, 0x7a, 0x9c, 0xb2, 0x7b, 0x51, 0x5d, 0x20, 0x33, 0x40, 0xac, 0xe1, 0x32, 0xe8, 0x4b, + 0x98, 0x78, 0xd8, 0xdb, 0xc7, 0xe2, 0x72, 0x6b, 0x84, 0xef, 0x8f, 0x49, 0xaf, 0x66, 0x5e, 0xbf, + 0x77, 0x97, 0xcd, 0xc1, 0x93, 0xde, 0x3e, 0x4e, 0x47, 0x1e, 0x26, 0x82, 0x49, 0x21, 0x86, 0x0e, + 0xa1, 0x94, 0x74, 0x40, 0xe6, 0xc1, 0xba, 0x72, 0xdc, 0xa6, 0x69, 0xa4, 0x08, 0x25, 0xbe, 0x31, + 0x73, 0x8b, 0xd4, 0x1a, 0x49, 0x51, 0x45, 0xbf, 0x0e, 0xf3, 0x46, 0xab, 0xa3, 0x7c, 0xc4, 0x94, + 0x6f, 0xd0, 0xa4, 0x42, 0x3d, 0xc1, 0x35, 0xf1, 0x62, 0x4a, 0x6b, 0xd9, 0xdc, 0x0a, 0x6a, 0xc3, + 0x4c, 0xc2, 0xb1, 0x96, 0x87, 0x70, 0xcf, 0x76, 0xd5, 0xa5, 0x1b, 0x93, 0x88, 0x77, 0x69, 0x6c, + 0x2b, 0x49, 0x12, 0x6d, 0xc0, 0xb8, 0x3c, 0xee, 0xd3, 0xa0, 0x3f, 0x66, 0xd3, 0xc6, 0xe2, 0xc9, + 0x71, 0x65, 0x2e, 0x36, 0x6d, 0x68, 0x34, 0x63, 0x02, 0xe8, 0x37, 0xe0, 0x9a, 0x5c, 0xa2, 0xdb, + 0x81, 0xd9, 0x08, 0xc4, 0xe3, 0x27, 0xdf, 0x48, 0xae, 0xf0, 0x2c, 0xf8, 0xbd, 0x3b, 0xb5, 0xe2, + 0x62, 0x61, 0x6d, 0xc0, 0xee, 0x4f, 0x1a, 0xfd, 0xb4, 0x00, 0xe7, 0x33, 0x5a, 0x9d, 0xa4, 0xad, + 0xf6, 0xb5, 0xcc, 0x51, 0xe5, 0x9e, 0x3e, 0x1b, 0x72, 0xdb, 0xf1, 0x03, 0x37, 0x61, 0xa2, 0xd3, + 0xc6, 0x9d, 0xd1, 0x12, 0x7a, 0x07, 0x46, 0xe8, 0x19, 0x39, 0x5c, 0x9c, 0xa2, 0x5a, 0x24, 0x0d, + 0x90, 0x42, 0x4f, 0xd2, 0xea, 0xbe, 0xc1, 0x61, 0xd0, 0x1a, 0xd1, 0xc6, 0xe8, 0xbe, 0x25, 0xb4, + 0x27, 0x1e, 0x4e, 0x89, 0x6b, 0xf4, 0xac, 0x4a, 0xc4, 0x99, 0xd0, 0x02, 0x65, 0xeb, 0x68, 0x35, + 0x80, 0xb1, 0x80, 0x4b, 0xa5, 0x07, 0x43, 0x63, 0x43, 0xa5, 0x61, 0xf6, 0xe1, 0x08, 0x8f, 0xed, + 0xdf, 0x1e, 0x63, 0x0f, 0x2c, 0x77, 0x3d, 0xf7, 0xb1, 0x1b, 0x0b, 0x30, 0xd5, 0xba, 0x16, 0xe7, + 0xab, 0xe0, 0xba, 0x6f, 0x46, 0x66, 0x0a, 0x69, 0x88, 0x2b, 0xf6, 0x35, 0xc4, 0xdd, 0x55, 0xae, + 0xac, 0x94, 0x08, 0x84, 0x4c, 0xc7, 0xd1, 0x0d, 0x5f, 0xf1, 0x5d, 0xd6, 0x57, 0x30, 0x42, 0x83, + 0x06, 0xb2, 0xfb, 0xc0, 0x89, 0xa5, 0x9b, 0x5c, 0x6c, 0xe7, 0x74, 0x9f, 0x45, 0x19, 0xe4, 0x8f, + 0xa6, 0x19, 0xc7, 0x69, 0x81, 0xc6, 0x71, 0x5a, 0x82, 0x76, 0x60, 0xb6, 0x1e, 0xe0, 0x36, 0xf7, + 0x1b, 0xee, 0x06, 0xdc, 0x38, 0xc1, 0xcc, 0x1e, 0x74, 0xcb, 0xef, 0x8a, 0xea, 0x26, 0x96, 0xf5, + 0xea, 0x86, 0x6a, 0x40, 0x47, 0xab, 0x30, 0xdd, 0xc0, 0x4e, 0xd0, 0x3a, 0x7c, 0x88, 0x9f, 0x13, + 0x75, 0x47, 0x0b, 0xd2, 0x1e, 0xd2, 0x1a, 0x32, 0x5e, 0x5a, 0xa5, 0xfa, 0x78, 0xe8, 0x48, 0xe8, + 0xfb, 0x30, 0xd2, 0xf0, 0x83, 0xa8, 0xf6, 0x9c, 0x0b, 0x35, 0x71, 0x63, 0xc4, 0x0a, 0x6b, 0x17, + 0x44, 0xa0, 0xfa, 0xd0, 0x0f, 0xa2, 0xe6, 0xbe, 0x16, 0x71, 0x87, 0x81, 0xa0, 0xe7, 0x30, 0xa7, + 0x0b, 0x14, 0xee, 0xce, 0x3a, 0xc6, 0xd5, 0x2c, 0x93, 0xd4, 0x62, 0x20, 0xb5, 0xeb, 0x9c, 0xfa, + 0xd5, 0xa4, 0xd8, 0x7a, 0x4c, 0xeb, 0xd5, 0x20, 0x38, 0x26, 0x7c, 0xb4, 0x49, 0xe3, 0xfb, 0xb3, + 0x11, 0x55, 0x43, 0xe6, 0x06, 0x3b, 0x1e, 0xc7, 0x74, 0xea, 0x51, 0xa1, 0x44, 0x39, 0xe1, 0x84, + 0xc9, 0xa4, 0x10, 0x76, 0x0a, 0x15, 0xd5, 0xe1, 0xdc, 0x6e, 0x88, 0xeb, 0x01, 0x7e, 0xea, 0xe2, + 0x67, 0x82, 0x1e, 0xc4, 0x01, 0x70, 0x08, 0xbd, 0x2e, 0xab, 0x35, 0x11, 0x4c, 0x23, 0xa3, 0x0f, + 0x01, 0xea, 0xae, 0xe7, 0xe1, 0x36, 0xbd, 0x76, 0x9c, 0xa0, 0xa4, 0xa8, 0x49, 0xb5, 0x4b, 0x4b, + 0x9b, 0xbe, 0xd7, 0x51, 0x59, 0xaa, 0x00, 0xa3, 0x1a, 0x4c, 0xad, 0x7b, 0xad, 0x4e, 0x8f, 0xbb, + 0x07, 0x84, 0x54, 0xa0, 0xf0, 0xc0, 0x5c, 0x2e, 0xab, 0x68, 0xa6, 0x3e, 0x72, 0x1d, 0x05, 0x3d, + 0x04, 0xc4, 0x0b, 0xf8, 0xaa, 0x75, 0xf6, 0x3b, 0x98, 0x7f, 0xee, 0xd4, 0x54, 0x22, 0x08, 0xd1, + 0xe5, 0xae, 0xc5, 0xbb, 0x4a, 0xa1, 0x95, 0x3f, 0x84, 0x09, 0x65, 0xcd, 0x1b, 0xa2, 0x00, 0xcc, + 0xa9, 0x51, 0x00, 0xc6, 0xd5, 0xd7, 0xfe, 0xff, 0xb4, 0x00, 0x97, 0xcc, 0xdf, 0x12, 0x57, 0xc0, + 0xb6, 0x61, 0x5c, 0x16, 0xca, 0x57, 0x27, 0x42, 0xf5, 0x4f, 0x68, 0x40, 0xec, 0x83, 0x16, 0x92, + 0x47, 0x1d, 0x7d, 0x4c, 0xe3, 0x05, 0xec, 0xf1, 0x7f, 0x6f, 0x0c, 0xe6, 0xa8, 0x77, 0x75, 0x52, + 0x4e, 0x7d, 0x4a, 0xa3, 0x79, 0xd0, 0x32, 0xc5, 0xbc, 0xcc, 0x2d, 0x4d, 0xac, 0x3c, 0x19, 0x57, + 0x49, 0x43, 0x40, 0xef, 0xa9, 0x3e, 0x11, 0x45, 0x25, 0xa3, 0x80, 0x28, 0x54, 0x87, 0x10, 0x3b, + 0x4b, 0xbc, 0xad, 0x5d, 0xc9, 0x9f, 0x5a, 0xe8, 0x0d, 0x9d, 0x56, 0xe8, 0xed, 0x4a, 0xa1, 0xc7, + 0xa2, 0x44, 0xbc, 0xa5, 0x08, 0xbd, 0x57, 0x2f, 0xed, 0x46, 0x5e, 0xb5, 0xb4, 0x1b, 0x7d, 0x39, + 0x69, 0x37, 0xf6, 0x82, 0xd2, 0xee, 0x1e, 0x4c, 0x6f, 0x61, 0xdc, 0x56, 0x2e, 0x4a, 0xc6, 0xe3, + 0xdd, 0xd3, 0xc3, 0xd4, 0x04, 0x66, 0xba, 0x2d, 0x49, 0x60, 0x65, 0x4a, 0x4d, 0xf8, 0x9b, 0x91, + 0x9a, 0x13, 0xaf, 0x58, 0x6a, 0x4e, 0xbe, 0x8c, 0xd4, 0x4c, 0x89, 0xbe, 0xa9, 0x33, 0x8b, 0xbe, + 0x97, 0x91, 0x56, 0x9f, 0x50, 0x97, 0xc2, 0x46, 0x63, 0x8d, 0x7b, 0x8f, 0x28, 0xee, 0x1a, 0x6b, + 0x7e, 0x28, 0x3c, 0xae, 0xe9, 0xdf, 0xa4, 0xac, 0xee, 0x07, 0xe2, 0xca, 0x9b, 0xfe, 0x6d, 0xd5, + 0xa8, 0x23, 0xa1, 0x8a, 0x2f, 0xdd, 0xf5, 0x47, 0xf9, 0x93, 0x3d, 0x2e, 0xe3, 0x92, 0xc7, 0x28, + 0x5b, 0xd4, 0x5b, 0x7f, 0x59, 0x60, 0x97, 0x92, 0xff, 0x3f, 0x8a, 0xca, 0x97, 0xb9, 0x28, 0xfc, + 0xad, 0xf8, 0x29, 0x3f, 0x0f, 0x3b, 0x10, 0x38, 0xad, 0x27, 0xf1, 0x4d, 0xed, 0x0f, 0xc9, 0x77, + 0xae, 0x56, 0xd0, 0xb8, 0x9d, 0xf1, 0x59, 0x51, 0xaf, 0xdc, 0xbb, 0x23, 0x04, 0x00, 0x8f, 0x68, + 0xc0, 0x8a, 0x75, 0x01, 0xa0, 0x22, 0x50, 0x5f, 0xb9, 0x19, 0xcb, 0x66, 0x2f, 0xd1, 0x8d, 0x3d, + 0x78, 0x3f, 0xfd, 0x96, 0x9a, 0x1e, 0x46, 0xe2, 0xb7, 0xd4, 0x2a, 0x1b, 0xe3, 0x57, 0xd5, 0xbb, + 0x70, 0xd1, 0xc6, 0x47, 0xfe, 0x53, 0xfc, 0x6a, 0xc9, 0xfe, 0x00, 0x2e, 0xe8, 0x04, 0xd9, 0xab, + 0x1b, 0x16, 0x6f, 0xfb, 0x13, 0x73, 0x94, 0x6e, 0x8e, 0xc0, 0xa2, 0x74, 0xb3, 0x60, 0xbf, 0xe4, + 0x4f, 0x75, 0xdf, 0xa0, 0x75, 0x96, 0x0f, 0x97, 0x74, 0xe2, 0xd5, 0x76, 0x9b, 0x66, 0x6f, 0x6b, + 0xb9, 0x5d, 0xc7, 0x8b, 0xd0, 0x36, 0x4c, 0x28, 0x3f, 0x13, 0xa6, 0x02, 0xa5, 0x86, 0xeb, 0x34, + 0x71, 0x81, 0x16, 0xe1, 0x31, 0x2e, 0xb6, 0x30, 0x54, 0x92, 0xec, 0x21, 0x2c, 0x53, 0xdb, 0xac, + 0xc1, 0x94, 0xf2, 0x53, 0x9a, 0x2c, 0xe9, 0xc7, 0xaf, 0xb4, 0xa0, 0x33, 0x4c, 0x47, 0xb1, 0x5a, + 0x50, 0x36, 0x31, 0x8d, 0xc6, 0x47, 0x7a, 0x8e, 0x56, 0xe3, 0x48, 0x4b, 0xfd, 0xbd, 0xed, 0x66, + 0xb2, 0xa2, 0x2c, 0x59, 0xff, 0x70, 0x08, 0x2e, 0xf2, 0xc9, 0x78, 0x95, 0x33, 0x8e, 0x7e, 0x04, + 0x13, 0xca, 0x1c, 0x73, 0xa6, 0x5f, 0x15, 0x91, 0x1d, 0xb3, 0xd6, 0x02, 0x33, 0x69, 0xf4, 0x68, + 0x41, 0x33, 0x31, 0xdd, 0x6b, 0x03, 0xb6, 0x4a, 0x12, 0x75, 0x60, 0x5a, 0x9f, 0x68, 0x6e, 0xd5, + 0x79, 0xcd, 0xd8, 0x88, 0x0e, 0x2a, 0xe2, 0x04, 0xb7, 0x9b, 0xc6, 0xe9, 0x5e, 0x1b, 0xb0, 0x13, + 0xb4, 0xd1, 0xd7, 0x70, 0x2e, 0x35, 0xcb, 0xdc, 0x58, 0xf7, 0xa6, 0xb1, 0xc1, 0x14, 0x34, 0x33, + 0xc7, 0x06, 0xb4, 0x38, 0xb3, 0xd9, 0x74, 0x23, 0xa8, 0x0d, 0x93, 0xea, 0xc4, 0x73, 0xb3, 0xd3, + 0xb5, 0x1c, 0x56, 0x32, 0x40, 0xa6, 0xdc, 0x71, 0x5e, 0xd2, 0xb9, 0x7f, 0xae, 0x9b, 0x98, 0x35, + 0xe0, 0x31, 0x18, 0x61, 0xbf, 0x89, 0x08, 0xa8, 0x07, 0x38, 0xc4, 0x5e, 0x0b, 0x6b, 0x0e, 0xda, + 0x2f, 0x29, 0x02, 0xfe, 0x5d, 0x01, 0x16, 0x4d, 0x74, 0x1b, 0xd8, 0x6b, 0xa3, 0x3a, 0x94, 0x92, + 0x0d, 0xf1, 0x55, 0x6d, 0xc9, 0x50, 0xac, 0x99, 0x5d, 0x5a, 0x1b, 0xb0, 0x53, 0xd8, 0x68, 0x0b, + 0xce, 0x29, 0x65, 0xdc, 0xb8, 0x5a, 0x3c, 0x8d, 0x71, 0x95, 0xcc, 0x42, 0x0a, 0x55, 0xb5, 0x4d, + 0xaf, 0xd1, 0x9d, 0x71, 0xc5, 0x3f, 0x72, 0x5c, 0x8f, 0x28, 0xba, 0x4a, 0xb0, 0x25, 0x88, 0x4b, + 0x39, 0x6f, 0x98, 0xb5, 0x95, 0x96, 0x8a, 0x07, 0x25, 0x12, 0xc4, 0xfa, 0x2e, 0x95, 0xe0, 0xdc, + 0x46, 0xc7, 0x9e, 0xa7, 0x4a, 0x62, 0x57, 0x61, 0x78, 0x67, 0xa3, 0xb1, 0x5c, 0xe5, 0x8f, 0x5d, + 0x59, 0x88, 0x84, 0x4e, 0xd8, 0x6c, 0x39, 0x36, 0xab, 0xb0, 0x3e, 0x06, 0x74, 0x1f, 0x47, 0x3c, + 0x16, 0xb8, 0xc4, 0x7b, 0x03, 0x46, 0x79, 0x11, 0xc7, 0xa4, 0xae, 0x71, 0x1d, 0x0e, 0x25, 0xea, + 0xac, 0xba, 0x38, 0x27, 0x74, 0xb0, 0x13, 0x2a, 0x1b, 0xf3, 0x07, 0x30, 0x16, 0xf0, 0x32, 0xbe, + 0x2f, 0x4f, 0xcb, 0xac, 0x09, 0xb4, 0x98, 0xd9, 0xb3, 0x05, 0x8c, 0x2d, 0xff, 0xb2, 0x36, 0x68, + 0x38, 0x93, 0xed, 0xf5, 0x95, 0x65, 0xc2, 0x55, 0xce, 0x2c, 0x31, 0x1d, 0xb7, 0xa8, 0x0f, 0x79, + 0x84, 0xd5, 0xa7, 0xae, 0x94, 0x35, 0xf4, 0x23, 0xe7, 0x41, 0x7c, 0x14, 0x10, 0xeb, 0xae, 0x0c, + 0x8e, 0x62, 0xa0, 0x96, 0x15, 0xfd, 0x7f, 0x8b, 0x86, 0x7d, 0xb9, 0x4f, 0xdd, 0x65, 0x5e, 0x45, + 0x27, 0x1c, 0x28, 0xb3, 0x6d, 0x9e, 0x8c, 0x8a, 0xa7, 0xb4, 0xf2, 0xa5, 0x68, 0x5c, 0x86, 0x71, + 0x59, 0x26, 0xef, 0xbe, 0x18, 0xaf, 0x34, 0xf8, 0xbd, 0xbb, 0xec, 0x55, 0x70, 0x4b, 0x12, 0x88, + 0xf1, 0x48, 0x13, 0xec, 0xbb, 0xfb, 0x86, 0x9b, 0x08, 0x71, 0x10, 0x7d, 0xa3, 0x4d, 0xc4, 0x71, + 0x81, 0xce, 0xd2, 0x84, 0x06, 0xbf, 0xb7, 0x74, 0x1a, 0x46, 0x7d, 0xc3, 0x4d, 0x10, 0x46, 0x7d, + 0x73, 0x4d, 0x60, 0x11, 0x40, 0x89, 0x2d, 0xd2, 0x54, 0x23, 0xab, 0xe9, 0x46, 0x84, 0xe1, 0x3a, + 0x81, 0x91, 0x3b, 0x1f, 0x18, 0x2e, 0x31, 0x66, 0xfd, 0x12, 0x9a, 0x21, 0x0c, 0xfb, 0x66, 0x9b, + 0xf9, 0xc7, 0x05, 0x16, 0xce, 0xa9, 0xb1, 0xad, 0x24, 0x93, 0xf3, 0x1e, 0xfb, 0xca, 0xd5, 0xbc, + 0xf2, 0xb5, 0x3f, 0x74, 0xbd, 0xb6, 0x7a, 0x35, 0xef, 0xf4, 0xa2, 0x43, 0x19, 0x70, 0xf8, 0x89, + 0xeb, 0xb5, 0xed, 0x24, 0x34, 0xfa, 0x10, 0xa6, 0x94, 0x22, 0xa9, 0xad, 0xb1, 0x94, 0x04, 0x2a, + 0xba, 0xdb, 0xb6, 0x75, 0x48, 0xeb, 0xaf, 0x0b, 0x30, 0x6b, 0x48, 0x72, 0x4a, 0x8d, 0x19, 0xf4, + 0x14, 0x24, 0x05, 0x15, 0xcf, 0xc7, 0x43, 0x23, 0x4b, 0x68, 0x9b, 0xa4, 0x04, 0xa4, 0xc1, 0xd8, + 0x95, 0x84, 0xac, 0x45, 0x25, 0xe9, 0x93, 0x39, 0x09, 0xab, 0x0a, 0x8e, 0x42, 0x80, 0xb8, 0x27, + 0xdc, 0x6c, 0xdc, 0x20, 0x2a, 0xad, 0x92, 0xcd, 0xf5, 0x95, 0xa4, 0x93, 0x55, 0x9a, 0xb1, 0x7e, + 0xab, 0x08, 0xe7, 0x0d, 0xe3, 0x6f, 0xe0, 0xe8, 0x6f, 0x82, 0x05, 0x89, 0x9c, 0xba, 0x83, 0xbf, + 0xa4, 0x9c, 0xba, 0xd6, 0xef, 0x15, 0xe1, 0xfc, 0x6e, 0x37, 0xa4, 0x2f, 0xac, 0xd6, 0xbd, 0xa7, + 0xd8, 0x8b, 0xfc, 0xe0, 0x39, 0x7d, 0x15, 0x82, 0xde, 0x83, 0xe1, 0x35, 0xdc, 0xe9, 0xf8, 0x7c, + 0xfd, 0x5f, 0x16, 0xde, 0x11, 0x49, 0x68, 0x0a, 0xb4, 0x36, 0x60, 0x33, 0x68, 0xf4, 0x21, 0x8c, + 0xaf, 0x61, 0x27, 0x88, 0xf6, 0xb1, 0x23, 0x8e, 0x2c, 0x22, 0x51, 0x82, 0x82, 0xc2, 0x01, 0xd6, + 0x06, 0xec, 0x18, 0x1a, 0x2d, 0x91, 0xd3, 0xbc, 0x77, 0x20, 0x5f, 0x93, 0x67, 0x34, 0x48, 0x60, + 0xd6, 0x06, 0x6c, 0x0a, 0x8b, 0x36, 0x61, 0xaa, 0x7a, 0x80, 0xbd, 0x68, 0x13, 0x47, 0x4e, 0xdb, + 0x89, 0x1c, 0xae, 0xda, 0xbe, 0x91, 0x85, 0xac, 0x01, 0xaf, 0x0d, 0xd8, 0x3a, 0x76, 0x6d, 0x18, + 0x06, 0x37, 0xc3, 0x03, 0xeb, 0xb8, 0x00, 0x8b, 0x2b, 0xfe, 0x33, 0xcf, 0xc8, 0x98, 0xef, 0xe8, + 0x8c, 0xa9, 0x88, 0x4b, 0xe6, 0x34, 0x7c, 0x82, 0x35, 0xef, 0xc2, 0x50, 0xdd, 0xf5, 0x0e, 0x12, + 0xda, 0x9c, 0x01, 0x8f, 0x40, 0xd1, 0x11, 0xba, 0xde, 0x01, 0xda, 0x10, 0x6a, 0x34, 0x37, 0x17, + 0x0e, 0x6a, 0xba, 0xbb, 0x01, 0x5b, 0x85, 0x8e, 0xd5, 0x65, 0xf6, 0x5b, 0x0c, 0xf0, 0x6d, 0x58, + 0xc8, 0x68, 0x97, 0xbf, 0xf0, 0x26, 0x63, 0x1b, 0xa2, 0xba, 0xc9, 0x5b, 0x30, 0x6f, 0x9c, 0x82, + 0x14, 0xe0, 0x3f, 0x37, 0xad, 0x25, 0x36, 0xf2, 0x45, 0x18, 0x15, 0xf9, 0x74, 0x98, 0xf9, 0x46, + 0xfc, 0xa4, 0x6f, 0x9c, 0xc4, 0xb7, 0x26, 0x62, 0x73, 0x88, 0x4f, 0x6a, 0x4f, 0x89, 0x85, 0xc4, + 0xbe, 0x88, 0x8f, 0x5e, 0x62, 0xdd, 0x4b, 0x5a, 0xa4, 0xcd, 0x35, 0x3f, 0x8c, 0x3c, 0xe9, 0x3c, + 0x6b, 0xcb, 0xdf, 0xe8, 0x06, 0x94, 0x44, 0xc0, 0x7f, 0x9e, 0x59, 0x84, 0xa7, 0xf1, 0xb5, 0x53, + 0xe5, 0xe8, 0x03, 0x58, 0x48, 0x96, 0x89, 0x51, 0xb2, 0x47, 0x6a, 0x59, 0xd5, 0xd6, 0x5f, 0x14, + 0x69, 0xc0, 0xe8, 0x9c, 0xa5, 0x49, 0xb8, 0xbb, 0xdd, 0xe0, 0xdc, 0x2a, 0x6e, 0x37, 0xd0, 0x25, + 0x18, 0xdf, 0x6e, 0x68, 0x49, 0x89, 0xec, 0xb8, 0x80, 0x74, 0x9b, 0x0c, 0xa1, 0x1a, 0xb4, 0x0e, + 0xdd, 0x08, 0xb7, 0xa2, 0x5e, 0xc0, 0x05, 0xa9, 0x9d, 0x2a, 0x47, 0x16, 0x4c, 0xde, 0xef, 0xb8, + 0xfb, 0x2d, 0x41, 0x8c, 0xb1, 0x40, 0x2b, 0x43, 0x6f, 0xc2, 0xf4, 0xba, 0x17, 0x46, 0x4e, 0xa7, + 0xb3, 0x89, 0xa3, 0x43, 0xbf, 0xcd, 0x33, 0x26, 0xda, 0x89, 0x52, 0xd2, 0xee, 0xb2, 0xef, 0x45, + 0x8e, 0xeb, 0xe1, 0xc0, 0xee, 0x79, 0x91, 0x7b, 0x84, 0xf9, 0xd8, 0x53, 0xe5, 0xe8, 0x5d, 0x98, + 0x97, 0x65, 0xdb, 0x41, 0xeb, 0x10, 0x87, 0x51, 0x40, 0x53, 0x95, 0xd1, 0x98, 0x3d, 0xb6, 0xb9, + 0x92, 0xb6, 0xd0, 0xf1, 0x7b, 0xed, 0x55, 0xef, 0xa9, 0x1b, 0xf8, 0x1e, 0xcd, 0x5e, 0x30, 0xc6, + 0x5b, 0x48, 0x94, 0x5b, 0x75, 0xe3, 0x57, 0xfb, 0x12, 0x4b, 0xd0, 0x3a, 0x29, 0xc0, 0x25, 0xe3, + 0x87, 0x25, 0xb6, 0xf0, 0x72, 0x72, 0xaf, 0x50, 0xd6, 0xef, 0x0d, 0x18, 0xa2, 0x7b, 0x3a, 0x33, + 0x0f, 0x09, 0xf7, 0x32, 0x8a, 0xcf, 0x48, 0x91, 0x5a, 0x9b, 0xc2, 0xa0, 0xfb, 0xf2, 0x3a, 0x60, + 0x90, 0x1e, 0x5e, 0x6e, 0x25, 0x65, 0xa6, 0xa1, 0x71, 0xf5, 0x5a, 0x40, 0x5c, 0x00, 0xbc, 0x8c, + 0xe5, 0xf5, 0x2f, 0x0a, 0x50, 0xe9, 0x23, 0x4f, 0xe4, 0x98, 0x0a, 0xa7, 0x18, 0xd3, 0x03, 0x39, + 0x26, 0xf6, 0x1c, 0x6e, 0xe9, 0x74, 0x32, 0xeb, 0x55, 0x0f, 0xab, 0x07, 0x28, 0xbd, 0xf3, 0xa0, + 0x6f, 0xc3, 0x78, 0xa3, 0xb1, 0xa6, 0xf9, 0xf0, 0xa4, 0xec, 0xc1, 0x31, 0x04, 0xba, 0x7d, 0x2a, + 0xa7, 0x1d, 0xc5, 0x65, 0xc7, 0x7a, 0x1f, 0xce, 0xcb, 0x66, 0x59, 0x8c, 0x7b, 0xe5, 0x95, 0x2e, + 0xd7, 0x11, 0xe5, 0x6b, 0xe0, 0xb8, 0xc0, 0xfa, 0xf3, 0xa1, 0x14, 0x62, 0xa3, 0x77, 0x74, 0xe4, + 0x04, 0xcf, 0x51, 0x55, 0x47, 0x1c, 0xec, 0xbb, 0x2d, 0xd7, 0x86, 0x7e, 0x76, 0x5c, 0x19, 0x50, + 0xa8, 0xa3, 0xd7, 0x61, 0x8a, 0x7e, 0xc2, 0x5e, 0x0b, 0x33, 0xfb, 0x71, 0x91, 0x45, 0x22, 0xd1, + 0x0a, 0xd1, 0x1e, 0x4c, 0xf1, 0xaf, 0x83, 0xfe, 0x16, 0x8b, 0xf2, 0x76, 0x72, 0x51, 0x6a, 0xdd, + 0xbb, 0xa9, 0xa1, 0xb0, 0xe9, 0xd3, 0xc9, 0xa0, 0x2f, 0x60, 0x5a, 0x88, 0x42, 0x4e, 0x98, 0xdd, + 0xf8, 0xdf, 0xc9, 0x27, 0xac, 0xe3, 0x30, 0xca, 0x09, 0x42, 0xa4, 0xcb, 0x5c, 0xc0, 0x73, 0xca, + 0xc3, 0xa7, 0xe9, 0xb2, 0x86, 0xc2, 0xbb, 0xac, 0x95, 0x95, 0xbf, 0x0f, 0x28, 0x3d, 0xae, 0x7e, + 0xeb, 0x6f, 0x4a, 0x59, 0x7f, 0xe5, 0x2a, 0xcc, 0x1a, 0x06, 0x70, 0x26, 0x12, 0xdf, 0x07, 0x94, + 0xee, 0xe9, 0x59, 0x28, 0x58, 0xd7, 0xe1, 0x4d, 0xc9, 0x02, 0xb9, 0x1a, 0x34, 0x9a, 0xc2, 0x4a, + 0xf4, 0x9b, 0x45, 0xa8, 0xf4, 0x01, 0x45, 0x7f, 0x58, 0x48, 0x72, 0x9b, 0xad, 0xc6, 0x0f, 0x93, + 0xdc, 0x36, 0xe3, 0x1b, 0xd8, 0x5e, 0xfb, 0xe8, 0xa7, 0x7f, 0xf5, 0xc2, 0x5b, 0x7b, 0x7a, 0xca, + 0xce, 0xce, 0xad, 0x21, 0x95, 0x5b, 0x36, 0xcc, 0x69, 0x4a, 0xd1, 0x69, 0xa4, 0xfd, 0x15, 0x00, + 0x9e, 0xee, 0x6d, 0xc3, 0x3f, 0xe0, 0x6f, 0x9c, 0x95, 0x12, 0xeb, 0x1e, 0xcc, 0x27, 0x68, 0x72, + 0xcb, 0xd5, 0xb7, 0x41, 0xbe, 0xc6, 0xa4, 0x44, 0x07, 0x6b, 0xe7, 0x7e, 0x71, 0x5c, 0x99, 0x22, + 0x7b, 0xe6, 0xcd, 0x38, 0xd8, 0xb3, 0xf8, 0xcb, 0xda, 0x54, 0x6d, 0x6f, 0xd5, 0x8e, 0x1a, 0xa5, + 0x02, 0xdd, 0x81, 0x11, 0x56, 0x92, 0x08, 0xa9, 0xaa, 0x42, 0x73, 0x99, 0xc0, 0x01, 0xad, 0x79, + 0xfa, 0x76, 0x8c, 0xfe, 0xa8, 0xc6, 0x6f, 0x9d, 0xad, 0x5d, 0x16, 0xe4, 0x3f, 0x2e, 0x96, 0x61, + 0x5b, 0x87, 0xaa, 0xf1, 0x9b, 0x6c, 0x71, 0x51, 0x2a, 0xe0, 0x3c, 0xff, 0x59, 0x07, 0xb7, 0x59, + 0x76, 0xa0, 0xda, 0x24, 0xbf, 0x28, 0x1d, 0x72, 0x08, 0x01, 0x8a, 0x66, 0x7d, 0x0a, 0xf3, 0xcb, + 0x1d, 0xec, 0x04, 0xc9, 0xf6, 0xd0, 0x9b, 0x30, 0x4a, 0xcb, 0x74, 0xef, 0x53, 0x87, 0x14, 0x51, + 0xef, 0x53, 0x5e, 0x69, 0x6d, 0xc0, 0x05, 0x76, 0x72, 0x57, 0x87, 0x14, 0xdb, 0xc9, 0x86, 0xe9, + 0xef, 0xc4, 0xcb, 0x23, 0xc3, 0xe8, 0x19, 0x9c, 0xf5, 0x09, 0x75, 0x6d, 0x37, 0xe5, 0x7c, 0x3f, + 0xdd, 0x5b, 0xb8, 0xbf, 0x0d, 0x97, 0xaa, 0xdd, 0x2e, 0xf6, 0xda, 0x31, 0xe2, 0x4e, 0xe0, 0x9c, + 0xf2, 0xa5, 0x32, 0xaa, 0xc2, 0x30, 0x85, 0x96, 0x97, 0x0c, 0xbc, 0xbb, 0x86, 0xee, 0x50, 0x38, + 0x1e, 0x63, 0x8f, 0x36, 0xc0, 0x30, 0xad, 0x36, 0x2c, 0x34, 0x7a, 0xfb, 0x47, 0x2e, 0x4b, 0x84, + 0x4e, 0x5f, 0xfb, 0x8b, 0xb6, 0xd7, 0x45, 0x5e, 0x16, 0xc6, 0x8c, 0xeb, 0xb1, 0x0b, 0x34, 0x75, + 0x7b, 0xe5, 0x11, 0x00, 0x9e, 0xde, 0xb9, 0x19, 0xa3, 0xd2, 0xf3, 0x0d, 0x6b, 0x85, 0x56, 0xf3, + 0xdc, 0x2d, 0xd6, 0x2c, 0x9c, 0x53, 0x0d, 0xb6, 0x6c, 0x85, 0xcc, 0xc3, 0xac, 0x6e, 0x88, 0x65, + 0xc5, 0x5f, 0xc1, 0x1c, 0x33, 0x14, 0xb1, 0x18, 0xb9, 0x4b, 0x71, 0x38, 0xd8, 0xe2, 0xde, 0x52, + 0xc2, 0x59, 0x96, 0xfa, 0xd0, 0xc9, 0xe8, 0xe7, 0x7b, 0x4b, 0xec, 0x79, 0xd2, 0xd3, 0x25, 0xcd, + 0xdc, 0x5f, 0xdc, 0x5b, 0xaa, 0x8d, 0xf2, 0x58, 0x83, 0x84, 0x3a, 0x9b, 0xfe, 0x6f, 0x84, 0xfa, + 0x12, 0x7d, 0x11, 0xbb, 0x86, 0x1d, 0xea, 0xbd, 0x6e, 0x7e, 0x57, 0x38, 0x0d, 0x45, 0xb7, 0x2d, + 0xf4, 0x72, 0xb7, 0x6d, 0xfd, 0x49, 0x01, 0xae, 0x33, 0xed, 0xc5, 0x8c, 0x47, 0xad, 0xb2, 0x19, + 0xc8, 0xe8, 0x03, 0x60, 0x19, 0x7c, 0xb9, 0x8a, 0x68, 0xf1, 0x9e, 0xe7, 0x51, 0x62, 0x08, 0xa8, + 0x0a, 0x93, 0xaa, 0xff, 0xf7, 0xe9, 0x62, 0x39, 0xd9, 0x13, 0x47, 0x8f, 0x1d, 0xe9, 0x13, 0xfe, + 0x04, 0x2e, 0xae, 0x7e, 0x4d, 0x16, 0x04, 0xdf, 0x9d, 0xb8, 0xb7, 0x42, 0xfc, 0x6e, 0x6d, 0x66, + 0x87, 0xaf, 0x18, 0x5d, 0x71, 0x4e, 0x16, 0x93, 0x03, 0x85, 0xd8, 0xe0, 0xa4, 0xbe, 0x3b, 0x6e, + 0x6b, 0x65, 0xd6, 0x9f, 0x17, 0xe0, 0x92, 0xb9, 0x35, 0x2e, 0x58, 0xd6, 0xe1, 0xdc, 0xb2, 0xe3, + 0xf9, 0x9e, 0xdb, 0x72, 0x3a, 0x8d, 0xd6, 0x21, 0x6e, 0xf7, 0x64, 0x44, 0x42, 0x29, 0x65, 0xc8, + 0x01, 0x89, 0xa3, 0x0b, 0x10, 0x3b, 0x8d, 0x85, 0xde, 0x87, 0xf3, 0xd4, 0x85, 0x98, 0xc9, 0xde, + 0x0e, 0x0e, 0x24, 0x3d, 0xd6, 0xb3, 0x8c, 0x5a, 0x74, 0x5b, 0x58, 0xc4, 0xda, 0xbb, 0x9e, 0x1b, + 0x49, 0x24, 0x76, 0x8e, 0x32, 0x55, 0x59, 0xff, 0xb1, 0x00, 0x17, 0x68, 0x1a, 0x10, 0x2d, 0xb1, + 0x58, 0x1c, 0x98, 0x53, 0xc4, 0x96, 0x2c, 0x68, 0x2e, 0xd1, 0x1a, 0xb4, 0x1e, 0x64, 0x12, 0xbd, + 0x03, 0x43, 0x0d, 0xe1, 0xd1, 0x30, 0x9d, 0x48, 0x49, 0x28, 0xd2, 0x3f, 0xfb, 0x41, 0x64, 0x53, + 0x28, 0xb2, 0xe7, 0xac, 0xe0, 0xb0, 0x85, 0x3d, 0x9a, 0x3b, 0x72, 0x90, 0xed, 0x39, 0x71, 0x49, + 0x1c, 0x57, 0x64, 0x28, 0x2b, 0xae, 0xc8, 0xb0, 0x1e, 0x57, 0xc4, 0x7a, 0xca, 0x92, 0x80, 0x24, + 0x07, 0xc4, 0x27, 0xe9, 0x93, 0x54, 0xaa, 0x49, 0xb6, 0x0f, 0x9c, 0x37, 0x8d, 0x6c, 0xef, 0x6e, + 0x2a, 0x8b, 0x64, 0x76, 0x20, 0xcc, 0x3a, 0xbc, 0xae, 0xc1, 0x56, 0x3b, 0x1d, 0xff, 0x19, 0x6e, + 0xd7, 0x03, 0xff, 0xc8, 0x8f, 0xb4, 0x14, 0x0c, 0x3c, 0xd7, 0x6a, 0x6c, 0xf3, 0xe4, 0xab, 0x32, + 0x51, 0x6c, 0xfd, 0x2d, 0x78, 0xa3, 0x0f, 0x45, 0x3e, 0xa8, 0x06, 0x9c, 0x73, 0x12, 0x75, 0xe2, + 0x6a, 0xfa, 0x0d, 0xd3, 0xb8, 0x92, 0x84, 0x42, 0x3b, 0x8d, 0x7f, 0x63, 0x47, 0x4b, 0xcf, 0x88, + 0x16, 0x61, 0xae, 0x6e, 0x6f, 0xaf, 0xec, 0x2e, 0xef, 0x34, 0x77, 0xbe, 0xa8, 0xaf, 0x36, 0x77, + 0xb7, 0x1e, 0x6e, 0x6d, 0x3f, 0xda, 0x62, 0x91, 0x64, 0xb5, 0x9a, 0x9d, 0xd5, 0xea, 0x66, 0xa9, + 0x80, 0xe6, 0xa0, 0xa4, 0x15, 0xaf, 0xee, 0xd6, 0x4a, 0xc5, 0x1b, 0x5f, 0x69, 0x69, 0x07, 0xd1, + 0x25, 0x58, 0x6c, 0xec, 0xd6, 0xeb, 0xdb, 0xb6, 0xa4, 0xaa, 0xc6, 0xb1, 0x9d, 0x87, 0x73, 0x5a, + 0xed, 0x3d, 0x7b, 0x75, 0xb5, 0x54, 0x20, 0x5d, 0xd1, 0x8a, 0xeb, 0xf6, 0xea, 0xe6, 0xfa, 0xee, + 0x66, 0xa9, 0x78, 0xa3, 0xa9, 0xbe, 0xc3, 0x40, 0x17, 0x61, 0x61, 0x65, 0x75, 0x6f, 0x7d, 0x79, + 0xd5, 0x44, 0x7b, 0x0e, 0x4a, 0x6a, 0xe5, 0xce, 0xf6, 0x4e, 0x9d, 0x91, 0x56, 0x4b, 0x1f, 0xad, + 0xd6, 0xaa, 0xbb, 0x3b, 0x6b, 0x5b, 0xa5, 0x41, 0x6b, 0x68, 0xac, 0x58, 0x2a, 0xde, 0xf8, 0x91, + 0xf6, 0x48, 0x83, 0x74, 0x9f, 0x83, 0xef, 0x36, 0xaa, 0xf7, 0xb3, 0x9b, 0x60, 0xb5, 0x9b, 0xf7, + 0xaa, 0xa5, 0x02, 0xba, 0x0c, 0x17, 0xb4, 0xd2, 0x7a, 0xb5, 0xd1, 0x78, 0xb4, 0x6d, 0xaf, 0x6c, + 0xac, 0x36, 0x1a, 0xa5, 0xe2, 0x8d, 0x3d, 0x2d, 0x96, 0x12, 0x69, 0x61, 0xf3, 0x5e, 0xb5, 0x69, + 0xaf, 0x7e, 0xb6, 0xbb, 0x6e, 0xaf, 0xae, 0xa4, 0x5b, 0xd0, 0x6a, 0xbf, 0x58, 0x6d, 0x94, 0x0a, + 0x68, 0x16, 0x66, 0xb4, 0xd2, 0xad, 0xed, 0x52, 0xf1, 0xc6, 0x9b, 0x3c, 0xdc, 0x0e, 0x9a, 0x06, + 0x58, 0x59, 0x6d, 0x2c, 0xaf, 0x6e, 0xad, 0xac, 0x6f, 0xdd, 0x2f, 0x0d, 0xa0, 0x29, 0x18, 0xaf, + 0xca, 0x9f, 0x85, 0x1b, 0x1f, 0xc1, 0x4c, 0xe2, 0x2c, 0x4c, 0x20, 0xe4, 0x31, 0xb2, 0x34, 0x40, + 0xd9, 0x2f, 0x7e, 0x52, 0x03, 0x06, 0x3b, 0xd6, 0x96, 0x0a, 0x37, 0x6a, 0x22, 0x53, 0xa0, 0xf2, + 0x9d, 0xa3, 0x09, 0x18, 0x5d, 0x59, 0xbd, 0x57, 0xdd, 0xdd, 0xd8, 0x29, 0x0d, 0x90, 0x1f, 0xcb, + 0xf6, 0x6a, 0x75, 0x67, 0x75, 0xa5, 0x54, 0x40, 0xe3, 0x30, 0xdc, 0xd8, 0xa9, 0xee, 0xac, 0x96, + 0x8a, 0x68, 0x0c, 0x86, 0x76, 0x1b, 0xab, 0x76, 0x69, 0x70, 0xe9, 0x8f, 0xfe, 0xb0, 0x00, 0x13, + 0x44, 0xf4, 0x0b, 0x87, 0xff, 0xaf, 0x94, 0xc3, 0x24, 0x17, 0x79, 0x3c, 0x2d, 0x5a, 0xe6, 0xc9, + 0x91, 0x6a, 0x01, 0xe5, 0x1c, 0xb3, 0x26, 0x05, 0xb8, 0x5e, 0xb8, 0x5d, 0x40, 0x36, 0xbd, 0xc9, + 0x4d, 0x9c, 0xad, 0x24, 0x65, 0xf3, 0xf1, 0xb7, 0x7c, 0x39, 0xf7, 0x48, 0x86, 0x7e, 0x0d, 0x2c, + 0x95, 0x66, 0xc6, 0x09, 0xe4, 0xdb, 0xa7, 0x3b, 0x69, 0x88, 0x36, 0xdf, 0x3c, 0x1d, 0x38, 0x7a, + 0x00, 0x53, 0x44, 0x37, 0x97, 0x60, 0xe8, 0x62, 0x12, 0x51, 0x39, 0x0e, 0x94, 0x2f, 0x99, 0x2b, + 0x65, 0xde, 0x84, 0x49, 0x3a, 0x10, 0x76, 0xb0, 0x0e, 0x91, 0x78, 0x92, 0x2d, 0x4a, 0x98, 0xc4, + 0x2f, 0x9f, 0x4b, 0x14, 0xef, 0xdd, 0xb9, 0x5d, 0x40, 0x0d, 0x1a, 0x0f, 0x49, 0x53, 0xf2, 0x91, + 0x78, 0x81, 0x92, 0xd6, 0xfe, 0x59, 0x6f, 0x2a, 0x32, 0xcf, 0x58, 0xc6, 0xe9, 0x60, 0x0b, 0x50, + 0x5a, 0x77, 0x46, 0x57, 0xe3, 0x75, 0x60, 0x56, 0xab, 0xcb, 0xe7, 0x53, 0x0e, 0x3a, 0xab, 0x44, + 0x7b, 0x42, 0xab, 0x30, 0xcd, 0xdf, 0x5b, 0x72, 0x6d, 0x1e, 0xe5, 0x9d, 0x07, 0x32, 0xc9, 0xdc, + 0xa7, 0x7c, 0x92, 0x27, 0x02, 0x54, 0x8e, 0xc7, 0x91, 0x3c, 0x26, 0x94, 0x2f, 0x1a, 0xeb, 0xf8, + 0xf8, 0xee, 0xc1, 0xb4, 0x7e, 0xb8, 0x40, 0x62, 0x82, 0x8c, 0x67, 0x8e, 0xcc, 0x0e, 0x35, 0x61, + 0x61, 0xd3, 0x71, 0xa9, 0x31, 0x92, 0xbb, 0x81, 0x08, 0x27, 0x0e, 0x54, 0xc9, 0xf1, 0xea, 0x68, + 0x60, 0xaf, 0x2d, 0x27, 0x21, 0x2b, 0x06, 0x32, 0xfd, 0x6c, 0x1a, 0x42, 0x47, 0xd6, 0x9d, 0x60, + 0x90, 0xa5, 0xe7, 0x8e, 0x34, 0xf9, 0x35, 0x95, 0xb3, 0x5c, 0xf1, 0xd0, 0x26, 0x55, 0xd2, 0x13, + 0x14, 0x95, 0x35, 0x71, 0x66, 0x72, 0x8b, 0xf4, 0xd5, 0xaf, 0x92, 0x50, 0x96, 0x57, 0x86, 0x28, + 0x83, 0x71, 0x99, 0xc4, 0x6e, 0x17, 0xd0, 0x57, 0xf4, 0xab, 0x36, 0x92, 0x7b, 0xe4, 0x46, 0x87, + 0x5c, 0xfb, 0xb9, 0x68, 0x24, 0xc0, 0x3f, 0x94, 0x1c, 0xea, 0x36, 0xcc, 0x99, 0xbc, 0xff, 0x24, + 0x43, 0x73, 0x5c, 0x03, 0x33, 0x57, 0x81, 0x4d, 0x8e, 0x1a, 0xed, 0xec, 0x49, 0xca, 0x71, 0x3e, + 0xcb, 0xa4, 0xf9, 0x5d, 0x98, 0x26, 0xab, 0xe4, 0x21, 0xc6, 0xdd, 0x6a, 0xc7, 0x7d, 0x8a, 0x43, + 0x24, 0x82, 0x59, 0xca, 0xa2, 0x2c, 0xdc, 0xeb, 0x05, 0xf4, 0x2d, 0x98, 0x78, 0xe4, 0x44, 0xad, + 0x43, 0x1e, 0xd4, 0x4d, 0xc4, 0x7c, 0xa3, 0x65, 0x65, 0xf1, 0x8b, 0x56, 0xde, 0x2e, 0xa0, 0xef, + 0xc1, 0xe8, 0x7d, 0x1c, 0xd1, 0x17, 0x80, 0xd7, 0xa4, 0x23, 0x0c, 0x73, 0x3a, 0x5d, 0xf7, 0xa4, + 0x9b, 0xbb, 0xe8, 0x70, 0xd2, 0xf4, 0x89, 0x6e, 0x01, 0x30, 0x81, 0x40, 0x29, 0x24, 0xab, 0xcb, + 0xa9, 0x6e, 0xa3, 0xfb, 0x44, 0x79, 0xe8, 0xe0, 0x08, 0x9f, 0xb6, 0xc9, 0x2c, 0x1e, 0x6d, 0xc0, + 0xb4, 0x4c, 0x35, 0xb1, 0x45, 0xdf, 0xde, 0x5b, 0x09, 0x62, 0xe1, 0x19, 0xa8, 0x7d, 0x44, 0xbe, + 0x0a, 0x96, 0xe9, 0x90, 0x3e, 0xd2, 0xa6, 0x92, 0x74, 0x41, 0x7d, 0xe9, 0xad, 0x8a, 0x50, 0xc1, + 0x44, 0x06, 0xa6, 0xe0, 0xae, 0xf9, 0x61, 0xa4, 0xe3, 0xca, 0x12, 0x33, 0xee, 0xaf, 0x42, 0x59, + 0x6d, 0x57, 0x8f, 0x2a, 0x1a, 0xcb, 0xdc, 0xac, 0x60, 0xa5, 0xe5, 0x6b, 0x39, 0x10, 0xfc, 0xfc, + 0x36, 0xf8, 0xdb, 0xc5, 0x02, 0x15, 0x27, 0x2b, 0x30, 0x2b, 0xda, 0xda, 0xee, 0x62, 0xaf, 0xd1, + 0x58, 0xa3, 0x69, 0x05, 0xc4, 0xb5, 0xab, 0x52, 0x26, 0xa8, 0xa3, 0x74, 0x15, 0xd9, 0xfa, 0xb4, + 0xc7, 0xd8, 0x28, 0xef, 0x89, 0x76, 0xbc, 0xf5, 0x19, 0xc3, 0x5d, 0x3e, 0x64, 0x46, 0x25, 0x4d, + 0xf9, 0xdf, 0x5b, 0x42, 0x39, 0x07, 0xa0, 0x72, 0xc6, 0x11, 0xe2, 0x76, 0x01, 0x7d, 0x01, 0x28, + 0x7d, 0x24, 0x91, 0x2c, 0xcc, 0x3c, 0x7e, 0x49, 0x16, 0xe6, 0x9c, 0x67, 0x56, 0x61, 0x56, 0x86, + 0x62, 0x88, 0xeb, 0x51, 0x46, 0x5f, 0x72, 0x76, 0xb0, 0x79, 0x03, 0x99, 0xbd, 0xa5, 0x1c, 0x42, + 0xc6, 0x72, 0xf4, 0x29, 0xcc, 0xf2, 0xb5, 0xaf, 0xf5, 0xa7, 0x24, 0xc5, 0x18, 0x3f, 0xdc, 0x64, + 0xf6, 0xe4, 0x01, 0xcc, 0x37, 0x12, 0x8c, 0x67, 0x4e, 0xa7, 0x17, 0x74, 0x12, 0xb4, 0xb0, 0x81, + 0x23, 0xc6, 0x79, 0x33, 0xad, 0x87, 0x80, 0x98, 0x6d, 0x49, 0x90, 0x7b, 0xea, 0xe2, 0x67, 0xe8, + 0x72, 0xa2, 0xeb, 0xa4, 0x90, 0x82, 0x51, 0x39, 0x98, 0x39, 0xb2, 0x1d, 0x96, 0xee, 0x93, 0x96, + 0x2e, 0x3b, 0x5d, 0x67, 0xdf, 0xed, 0xb8, 0x91, 0x8b, 0xc9, 0x3c, 0xaa, 0x08, 0x6a, 0x95, 0x98, + 0xc7, 0x0b, 0x99, 0x10, 0xe8, 0x37, 0x68, 0x28, 0xc5, 0xfc, 0xd3, 0x19, 0xfa, 0x96, 0xe9, 0x10, + 0x9d, 0x71, 0xbe, 0x2c, 0xbf, 0x73, 0x3a, 0x60, 0x79, 0x1e, 0x9e, 0xba, 0x8f, 0xa3, 0x7a, 0xa7, + 0x77, 0xe0, 0xd2, 0x34, 0x74, 0x48, 0xda, 0x9e, 0x64, 0x11, 0x5f, 0xde, 0x32, 0x99, 0xbe, 0xac, + 0x68, 0xe0, 0x1f, 0xa3, 0x75, 0x28, 0xb1, 0x6d, 0x44, 0x21, 0x71, 0x39, 0x45, 0x82, 0x83, 0x38, + 0x81, 0x73, 0x14, 0x66, 0xce, 0xd6, 0x2d, 0xe6, 0x5c, 0x80, 0xc4, 0xa7, 0xad, 0xea, 0xa9, 0xb3, + 0x5a, 0x99, 0x0c, 0x2f, 0x4d, 0x66, 0xc4, 0xc6, 0x21, 0x8e, 0x44, 0xcc, 0x06, 0x96, 0x84, 0xf0, + 0xb5, 0x58, 0x67, 0x48, 0xd7, 0xc6, 0x12, 0x24, 0x11, 0x5f, 0x68, 0xef, 0x2e, 0x92, 0x89, 0x19, + 0x0d, 0x44, 0xdf, 0xd4, 0x54, 0x9b, 0xb3, 0xd1, 0x7d, 0x97, 0x6e, 0x65, 0x34, 0x4e, 0xc5, 0x7c, + 0xdc, 0x37, 0x25, 0x23, 0x78, 0x79, 0x4a, 0xc1, 0xda, 0x5b, 0xa2, 0x92, 0x91, 0xec, 0xb5, 0x44, + 0x13, 0xee, 0x05, 0x01, 0xf6, 0x18, 0x72, 0x96, 0xda, 0x62, 0xc2, 0xfe, 0x84, 0x4a, 0x30, 0x05, + 0x9b, 0xbd, 0x8d, 0xe9, 0x47, 0x82, 0x25, 0xcd, 0xb8, 0x5d, 0x40, 0x1f, 0xc0, 0x18, 0xef, 0x23, + 0x41, 0xd2, 0x3a, 0x1d, 0xe6, 0xf4, 0x9a, 0x62, 0x02, 0x63, 0x12, 0xed, 0xb3, 0x0e, 0x93, 0x35, + 0xfb, 0xac, 0xcf, 0x1f, 0x90, 0x3d, 0xbb, 0xfd, 0x22, 0x98, 0xcb, 0x62, 0xf3, 0xa6, 0x98, 0x8b, + 0x32, 0x6c, 0x42, 0x22, 0xf3, 0x7a, 0x3e, 0x11, 0xa2, 0x7e, 0xd3, 0x00, 0x61, 0x32, 0xce, 0x8f, + 0x54, 0xbf, 0xb5, 0xe2, 0x7e, 0x5b, 0xf6, 0x3a, 0x94, 0xaa, 0x2d, 0xba, 0xa1, 0xc8, 0x1c, 0xec, + 0xf2, 0xec, 0x93, 0xac, 0x10, 0xb4, 0xe6, 0x93, 0x29, 0xdd, 0x37, 0xb0, 0x43, 0xa3, 0xa8, 0x2e, + 0x48, 0x0d, 0x25, 0x51, 0x65, 0xc6, 0xc8, 0x39, 0xeb, 0xcc, 0x2d, 0x93, 0xd3, 0x59, 0xe7, 0xe5, + 0xc8, 0x7c, 0x44, 0x05, 0x86, 0x92, 0x9f, 0xfe, 0x7c, 0x12, 0x5f, 0x9e, 0x0a, 0x85, 0x9b, 0xbc, + 0x04, 0xad, 0xc2, 0x0c, 0x8f, 0xb6, 0x28, 0xd9, 0x92, 0x85, 0x9d, 0xd5, 0xfc, 0x77, 0x60, 0x7a, + 0x95, 0x08, 0xf4, 0x5e, 0xdb, 0x65, 0x91, 0xa3, 0x91, 0x1e, 0x0a, 0x38, 0x13, 0x71, 0x4d, 0xe4, + 0xa9, 0x51, 0x12, 0xb7, 0xcb, 0x3d, 0x25, 0x9d, 0x1b, 0xbf, 0x3c, 0x27, 0xc8, 0xaa, 0x39, 0xde, + 0xb9, 0xc9, 0x60, 0x21, 0x23, 0x55, 0x3a, 0x7a, 0x43, 0x3b, 0x89, 0x66, 0xe5, 0x3b, 0x37, 0xe8, + 0x9e, 0x9f, 0x2b, 0x79, 0x23, 0x33, 0x68, 0xe6, 0xe7, 0x50, 0xcf, 0x1c, 0xb7, 0x8c, 0xf5, 0x6a, + 0xcc, 0x75, 0x8e, 0xde, 0xd6, 0xa9, 0xe7, 0xe4, 0x43, 0xcf, 0x6c, 0x81, 0x9e, 0xf4, 0xf5, 0x54, + 0xdc, 0xe8, 0x4a, 0x7e, 0xc6, 0x70, 0xe5, 0xa4, 0x9f, 0x91, 0xc3, 0xfb, 0x01, 0x5d, 0x66, 0x71, + 0x72, 0x49, 0xa4, 0x9e, 0x9b, 0x93, 0xb9, 0x35, 0xa5, 0x2e, 0x67, 0xce, 0xc7, 0x5d, 0x87, 0x99, + 0x44, 0xa6, 0x6b, 0x69, 0xe0, 0x31, 0xe7, 0xda, 0x2e, 0x5f, 0xc9, 0xaa, 0x96, 0x06, 0xd7, 0x52, + 0x32, 0x81, 0xaf, 0x1c, 0x72, 0x46, 0x6a, 0x66, 0x39, 0xe4, 0xcc, 0xcc, 0xbf, 0x0f, 0xa0, 0x94, + 0xcc, 0x1d, 0x2a, 0x89, 0x66, 0x24, 0x15, 0xcd, 0x9c, 0x93, 0x7b, 0x30, 0xa7, 0xce, 0xa8, 0x1c, + 0x77, 0x96, 0xf4, 0xcf, 0xa2, 0xb3, 0x03, 0xf3, 0xc6, 0x54, 0x9f, 0x72, 0x8b, 0xcd, 0x4b, 0x04, + 0x9a, 0x49, 0x15, 0xc3, 0x79, 0x73, 0xb6, 0x5f, 0xf4, 0xba, 0x6e, 0x3f, 0x30, 0xe7, 0x3e, 0x2d, + 0xbf, 0xd1, 0x07, 0x8a, 0x33, 0xf4, 0x2b, 0xba, 0x03, 0xa6, 0xda, 0xb8, 0xa6, 0x58, 0x14, 0x32, + 0x1a, 0xb0, 0xf2, 0x40, 0xe4, 0x1a, 0x98, 0x33, 0xe5, 0x32, 0xcf, 0x64, 0xf1, 0x6b, 0xd9, 0x34, + 0xe3, 0x85, 0xb5, 0x27, 0x42, 0x9a, 0x66, 0x72, 0x26, 0x37, 0x2b, 0x6c, 0xce, 0x91, 0xb4, 0x2c, + 0xd7, 0xc3, 0xe9, 0xbb, 0x9c, 0x6d, 0x5e, 0x9a, 0x33, 0xe5, 0x22, 0x4e, 0x5a, 0x7f, 0x4c, 0xa9, + 0x66, 0x25, 0x1b, 0x72, 0x93, 0x19, 0xef, 0x31, 0x4b, 0x90, 0x4e, 0x5d, 0xb5, 0x04, 0x19, 0x49, + 0x5f, 0xcd, 0x06, 0x88, 0x57, 0x84, 0x21, 0x65, 0x3b, 0x52, 0xcf, 0x59, 0xe6, 0x2c, 0xb4, 0x72, + 0x45, 0xe4, 0x65, 0x7c, 0xb7, 0xc5, 0x47, 0x97, 0xc1, 0x96, 0x9c, 0x0c, 0xbc, 0x39, 0xc7, 0xa1, + 0xc5, 0x78, 0xe2, 0x12, 0xdd, 0x3e, 0xeb, 0xb4, 0x7d, 0x05, 0x17, 0x32, 0xb3, 0xed, 0xa2, 0xb7, + 0x52, 0x1f, 0x74, 0x06, 0x27, 0xb2, 0x7b, 0x3a, 0xa5, 0x25, 0xca, 0x95, 0xa6, 0xb0, 0x44, 0x4e, + 0xde, 0x94, 0xc4, 0x36, 0x24, 0xec, 0xbd, 0x4f, 0x35, 0x5f, 0x25, 0xe9, 0x6e, 0xe6, 0x58, 0x2f, + 0x9b, 0xe8, 0x84, 0x69, 0x99, 0xaa, 0xf4, 0x4b, 0x68, 0x62, 0xc9, 0x8a, 0xb3, 0xc8, 0xd4, 0xd3, + 0x74, 0x2d, 0x8b, 0xce, 0x0a, 0x4c, 0x28, 0xd9, 0x7a, 0xd1, 0x05, 0x8d, 0x4d, 0xda, 0x2e, 0x59, + 0xd6, 0x06, 0xa7, 0x6f, 0x90, 0xcb, 0xd4, 0xe6, 0x2c, 0x73, 0xfe, 0x66, 0xf6, 0xe2, 0x62, 0x9a, + 0x86, 0x66, 0x6f, 0x96, 0x5c, 0x60, 0xbd, 0xb9, 0x94, 0x64, 0x8e, 0xd6, 0xa1, 0xec, 0x21, 0x21, + 0x95, 0x35, 0x7d, 0xba, 0x94, 0xad, 0xa1, 0xce, 0xf2, 0x94, 0x80, 0x34, 0x73, 0x81, 0x08, 0xa0, + 0x75, 0x5e, 0x1a, 0xcf, 0x94, 0xd2, 0x1c, 0x5b, 0x46, 0x9d, 0x3a, 0x71, 0x1b, 0xd2, 0x17, 0x4b, + 0x19, 0x9a, 0x9b, 0xdd, 0xd8, 0xa0, 0x9d, 0x49, 0xa9, 0x9c, 0x49, 0x31, 0x37, 0x9f, 0x71, 0x66, + 0x4f, 0x7f, 0xa8, 0x48, 0xe5, 0x54, 0x92, 0x62, 0x74, 0x3d, 0xa9, 0x9a, 0x65, 0xe5, 0x31, 0xce, + 0x91, 0xfa, 0x73, 0xa6, 0xfc, 0xc6, 0x8a, 0x01, 0x38, 0x33, 0xf9, 0xb1, 0x81, 0x0b, 0x52, 0xbc, + 0x65, 0x50, 0xcb, 0xc9, 0x76, 0x9c, 0xd9, 0xc3, 0x2f, 0x15, 0xf1, 0x96, 0xc8, 0x4a, 0x2c, 0x0f, + 0xdc, 0x7d, 0xd2, 0x16, 0x67, 0xd2, 0xde, 0xa2, 0x6e, 0xff, 0xe9, 0x94, 0xc2, 0x52, 0x77, 0xc9, + 0x4b, 0x38, 0x6c, 0xb4, 0x0f, 0xcf, 0xa7, 0x87, 0x48, 0xe8, 0x9d, 0x4f, 0x58, 0x77, 0xfb, 0x75, + 0x4c, 0xca, 0x61, 0x43, 0x2a, 0xe2, 0x84, 0x1c, 0xce, 0x4e, 0x56, 0x9c, 0x73, 0xd0, 0x99, 0x69, + 0xb8, 0x07, 0x9e, 0x92, 0x49, 0x58, 0x1e, 0x73, 0xd2, 0xc9, 0x8d, 0xa5, 0x88, 0x31, 0x25, 0x1e, + 0xde, 0x26, 0x1a, 0x0e, 0xd3, 0xcf, 0xd5, 0x9c, 0xb0, 0xa8, 0x9c, 0x9d, 0x0a, 0x57, 0x8a, 0x1b, + 0x63, 0x12, 0x59, 0x85, 0xa0, 0x9a, 0x90, 0x55, 0x12, 0x34, 0xe4, 0x86, 0x95, 0x04, 0x8d, 0x19, + 0x5c, 0x6f, 0x51, 0xbb, 0x8a, 0xed, 0x77, 0xb0, 0x6a, 0x57, 0x51, 0x32, 0x7c, 0x26, 0xcc, 0x1a, + 0xe8, 0x63, 0x6a, 0xd4, 0xc8, 0xb7, 0x84, 0x2c, 0xe8, 0x94, 0x54, 0xdf, 0x91, 0x71, 0x99, 0x3e, + 0x55, 0x5a, 0xd1, 0x93, 0x19, 0x5c, 0xcb, 0x8b, 0xe9, 0x0a, 0x99, 0x8e, 0x1d, 0xe2, 0x54, 0xa9, + 0xd2, 0x46, 0x91, 0xca, 0x9e, 0x9a, 0xec, 0xf3, 0x7b, 0xc2, 0x28, 0xa2, 0xa1, 0xa5, 0x92, 0xa7, + 0x26, 0xd1, 0xbe, 0x03, 0x93, 0x71, 0xa2, 0xd4, 0xbd, 0x25, 0x05, 0x31, 0x91, 0x3d, 0x35, 0x89, + 0xf8, 0x81, 0xb8, 0x38, 0xa1, 0xed, 0xe9, 0x95, 0xf9, 0xf6, 0x93, 0x4f, 0x84, 0x11, 0x46, 0xeb, + 0x69, 0x2a, 0xed, 0x6a, 0x8e, 0xe4, 0x9e, 0x54, 0xb3, 0xbb, 0xc9, 0x75, 0x61, 0xc8, 0xcf, 0x28, + 0xd7, 0x85, 0x29, 0xbf, 0x62, 0x7c, 0xb1, 0xf0, 0x85, 0xb0, 0x38, 0xc4, 0x44, 0x2f, 0x6b, 0xdd, + 0x4a, 0xd1, 0xbd, 0x92, 0x55, 0x9d, 0x24, 0xdd, 0x80, 0x52, 0x32, 0x15, 0x9d, 0x3c, 0xae, 0x65, + 0xe4, 0x0c, 0x94, 0x67, 0xc0, 0xcc, 0x1c, 0x76, 0x75, 0x61, 0x3e, 0xd7, 0xe9, 0x5e, 0x33, 0x77, + 0x4a, 0x25, 0x9d, 0xaf, 0x96, 0xc5, 0x59, 0xe9, 0xd4, 0x83, 0x74, 0x2a, 0xeb, 0x9d, 0xaa, 0x96, + 0x19, 0x12, 0xd9, 0xb9, 0x22, 0xf6, 0x8a, 0x39, 0x39, 0xee, 0xdb, 0xfa, 0x09, 0x37, 0x27, 0x84, + 0x71, 0xdf, 0x4b, 0x66, 0xf4, 0x2b, 0xb0, 0x90, 0x11, 0xed, 0x15, 0xbd, 0x91, 0x30, 0xc4, 0x9a, + 0xa3, 0xc1, 0xca, 0x05, 0x62, 0x4c, 0x17, 0xbb, 0x49, 0xbd, 0x13, 0xb4, 0x57, 0xd6, 0xa9, 0x1b, + 0xbf, 0x47, 0x6e, 0x74, 0xc8, 0xb2, 0xa2, 0x2a, 0x32, 0xd7, 0xf8, 0x3c, 0x1b, 0x35, 0xe8, 0x79, + 0x45, 0x2b, 0x35, 0x5c, 0xfa, 0x19, 0x08, 0x96, 0xcd, 0x04, 0x69, 0x22, 0xfd, 0xba, 0xb8, 0xda, + 0x49, 0x76, 0x53, 0x1d, 0xbe, 0xe9, 0x61, 0x79, 0x66, 0x37, 0xeb, 0x42, 0xc1, 0x32, 0x53, 0xcc, + 0x7e, 0x0d, 0x9f, 0x49, 0xf1, 0x01, 0xa1, 0x98, 0x7a, 0xe0, 0x8e, 0x32, 0xc0, 0xf3, 0xa5, 0x87, + 0x2d, 0xf6, 0x6b, 0x1d, 0x6b, 0x49, 0xe9, 0x5f, 0xd6, 0x53, 0xfa, 0xcc, 0xfe, 0xad, 0x8a, 0xef, + 0xc9, 0xdc, 0xbf, 0xd3, 0xee, 0xd8, 0xf2, 0x7a, 0x2c, 0x11, 0x63, 0x41, 0x1b, 0xa8, 0x52, 0x5e, + 0xce, 0x28, 0x47, 0x5b, 0xd4, 0xdd, 0x28, 0x59, 0xaa, 0x1c, 0x5c, 0xcd, 0x41, 0x1c, 0x32, 0xe9, + 0xb1, 0x75, 0xac, 0x3d, 0x82, 0x3f, 0xcb, 0x3a, 0x4e, 0xbc, 0x9e, 0xe7, 0xeb, 0x58, 0x2b, 0x3d, + 0xdb, 0x3a, 0x4e, 0x10, 0xd4, 0xd7, 0x71, 0xb2, 0x9b, 0x49, 0x43, 0x40, 0xe6, 0xac, 0x26, 0xbb, + 0x29, 0xd7, 0xb1, 0x99, 0x62, 0x76, 0xb0, 0x82, 0x4c, 0x8a, 0x72, 0x1d, 0xeb, 0x14, 0x33, 0xc0, + 0x4f, 0xb9, 0x8e, 0x93, 0x8d, 0xe8, 0xeb, 0xf8, 0x4c, 0xfd, 0x93, 0xeb, 0xd8, 0xdc, 0xbf, 0x33, + 0xaf, 0xe3, 0x44, 0x74, 0x0f, 0x6d, 0xa0, 0xa6, 0x75, 0x9c, 0x84, 0x67, 0xeb, 0x38, 0x59, 0x9a, + 0x30, 0xc0, 0xe4, 0xac, 0xe3, 0x24, 0xe6, 0x67, 0x94, 0x5e, 0x22, 0x32, 0xc1, 0x69, 0x56, 0x72, + 0x66, 0x50, 0x03, 0xf4, 0x88, 0x5a, 0xff, 0x12, 0xe5, 0xa7, 0x5b, 0xcd, 0x97, 0xb2, 0x88, 0xd2, + 0xf5, 0xbc, 0x27, 0x98, 0x98, 0xec, 0xae, 0x6e, 0xda, 0x32, 0x07, 0x66, 0xc8, 0xe9, 0xf0, 0x1e, + 0x59, 0x37, 0xed, 0x1c, 0xba, 0x79, 0x71, 0x25, 0x72, 0xe8, 0xca, 0x73, 0x50, 0x92, 0x6e, 0x26, + 0x4a, 0xfe, 0xfa, 0xfe, 0x5c, 0xdc, 0x7f, 0x24, 0xf1, 0x96, 0x12, 0x27, 0xab, 0x33, 0xf7, 0x54, + 0x9e, 0xb0, 0x92, 0x3d, 0x3d, 0xeb, 0x3a, 0xdf, 0x14, 0xda, 0x43, 0x2a, 0x20, 0x4d, 0x62, 0xd0, + 0xea, 0x5a, 0xcf, 0xac, 0x41, 0x3b, 0xd4, 0xd4, 0x9b, 0x2e, 0x57, 0xcc, 0xc4, 0x59, 0x91, 0x6f, + 0xfa, 0x52, 0x4d, 0x85, 0xd6, 0x50, 0xa9, 0x66, 0xc5, 0xdd, 0x90, 0x54, 0xd3, 0xd8, 0x9f, 0x52, + 0xd3, 0x19, 0x7f, 0xd3, 0xe5, 0x3d, 0xf6, 0xb3, 0xcf, 0x39, 0xb3, 0x9a, 0x4b, 0x14, 0x81, 0xa5, + 0x9e, 0x68, 0xdf, 0xe5, 0x17, 0x7c, 0xa2, 0x30, 0x93, 0xf9, 0x26, 0x7c, 0xf4, 0x29, 0x94, 0xb8, + 0x78, 0x8b, 0x09, 0x98, 0x00, 0x33, 0xa7, 0xae, 0x26, 0x2c, 0x76, 0xa7, 0xe8, 0xc1, 0x69, 0x2c, + 0x75, 0xa7, 0xe1, 0x44, 0xb6, 0x59, 0x8b, 0x6c, 0x87, 0x3b, 0x41, 0x2f, 0x8c, 0x70, 0x3b, 0x6d, + 0x8e, 0xd2, 0x3b, 0x23, 0x1c, 0x27, 0x74, 0xf0, 0xbd, 0x25, 0xb4, 0x4e, 0x65, 0x9b, 0x5e, 0x9c, + 0x67, 0xaf, 0x33, 0x93, 0xa1, 0xa2, 0x67, 0x4d, 0x3e, 0x1e, 0xd2, 0xfb, 0x94, 0xd5, 0x76, 0x76, + 0xa7, 0x24, 0x8b, 0x4e, 0x39, 0xba, 0x2c, 0x16, 0xb1, 0x03, 0x35, 0xb3, 0x1d, 0xf6, 0xe3, 0x4c, + 0xf2, 0x39, 0x13, 0xfa, 0x3e, 0x8c, 0x0b, 0xe4, 0xfe, 0x0c, 0x49, 0x62, 0x53, 0x86, 0xac, 0xc0, + 0x94, 0xf6, 0x56, 0x4b, 0x9e, 0x6e, 0x4c, 0x2f, 0xb8, 0x72, 0xe6, 0x79, 0x4a, 0x7b, 0x93, 0x25, + 0xa9, 0x98, 0x5e, 0x6a, 0x65, 0x52, 0xf9, 0x1e, 0x4c, 0x70, 0x96, 0xe6, 0x72, 0x23, 0xdb, 0x58, + 0x37, 0xaf, 0xf8, 0x3d, 0xf7, 0xda, 0x6e, 0xb4, 0xec, 0x7b, 0x8f, 0xdd, 0x83, 0xbe, 0x8c, 0x49, + 0xa3, 0xec, 0x2d, 0xa1, 0x1f, 0xd0, 0x1c, 0xa2, 0x22, 0xb3, 0x2b, 0x8e, 0x9e, 0xf9, 0xc1, 0x13, + 0xd7, 0x3b, 0xe8, 0x43, 0xf2, 0xaa, 0x4e, 0x32, 0x89, 0x27, 0x5c, 0x4b, 0x7e, 0x00, 0xe5, 0x46, + 0x36, 0xf1, 0xbe, 0x44, 0xf2, 0xb7, 0x97, 0x06, 0x5c, 0xa2, 0xce, 0x35, 0x67, 0xed, 0x7b, 0x2e, + 0xd1, 0x2f, 0x58, 0x4c, 0x33, 0x61, 0xe8, 0x6f, 0xf9, 0x41, 0xbb, 0x3f, 0xc5, 0x8a, 0xee, 0xae, + 0x9b, 0x40, 0x13, 0xcc, 0xf8, 0x02, 0x2e, 0x34, 0x32, 0x49, 0xf7, 0x23, 0xd1, 0x4f, 0x93, 0xbc, + 0x48, 0x59, 0x71, 0xc6, 0x7e, 0xe7, 0xd2, 0x5c, 0xa7, 0x32, 0x8d, 0xec, 0x43, 0xf5, 0x00, 0x3f, + 0xc6, 0x01, 0x75, 0x0a, 0xef, 0xe7, 0x0e, 0xad, 0x83, 0x8b, 0x91, 0xaf, 0xc3, 0xb9, 0x46, 0x8a, + 0x54, 0x16, 0x4a, 0x7e, 0xaf, 0x1e, 0xc0, 0x2c, 0x1d, 0xe9, 0x29, 0xfb, 0xd5, 0xc7, 0x89, 0x68, + 0xe2, 0x3e, 0x8e, 0x76, 0xd7, 0xfb, 0x70, 0x49, 0xbc, 0x5a, 0x10, 0x80, 0x7b, 0x77, 0x08, 0x66, + 0x43, 0xc1, 0x4c, 0x43, 0x64, 0x7e, 0xbc, 0xdf, 0x17, 0x17, 0x29, 0x7d, 0x9b, 0xcd, 0xa2, 0x70, + 0x97, 0xca, 0x42, 0xee, 0x18, 0xad, 0x98, 0x20, 0xb5, 0x54, 0xdf, 0xe5, 0x29, 0xd5, 0x47, 0x3a, + 0x44, 0x55, 0x76, 0xfc, 0x53, 0x93, 0x82, 0x2b, 0xae, 0x17, 0xc6, 0x6c, 0xe1, 0x49, 0x12, 0xcc, + 0x84, 0xba, 0xe1, 0xb7, 0x9e, 0xa8, 0x26, 0x54, 0x25, 0xcb, 0x74, 0x59, 0xcf, 0x01, 0xcd, 0x25, + 0x3e, 0x4d, 0x04, 0xad, 0xfa, 0x85, 0xa9, 0x79, 0xa6, 0x55, 0x13, 0xaa, 0x9e, 0x11, 0xfb, 0xae, + 0xb0, 0x2d, 0xd2, 0x06, 0x75, 0xca, 0x99, 0xac, 0x91, 0x66, 0x45, 0x8a, 0xa4, 0x9b, 0x15, 0xd5, + 0x8e, 0x66, 0x5f, 0x04, 0xa0, 0x74, 0x4a, 0x6c, 0x79, 0x58, 0xc9, 0xcc, 0x96, 0x9d, 0xe3, 0xde, + 0x35, 0x6b, 0xc8, 0xe8, 0x2f, 0x8f, 0x77, 0xd9, 0xd9, 0xfe, 0xcb, 0xba, 0xaf, 0xd2, 0xed, 0x02, + 0xda, 0x82, 0xf3, 0xf7, 0x71, 0xc4, 0x65, 0x9c, 0x8d, 0xc3, 0x28, 0x70, 0x5b, 0x51, 0xee, 0xad, + 0xa2, 0x38, 0x9b, 0x18, 0x70, 0xf6, 0xde, 0x25, 0xf4, 0x1a, 0x66, 0x7a, 0xb9, 0x78, 0x39, 0x1e, + 0xb4, 0xfc, 0xaa, 0xe2, 0x2c, 0x5d, 0xcc, 0x5e, 0xe2, 0xa3, 0xcc, 0x41, 0x27, 0x1b, 0xb5, 0x14, + 0x47, 0x24, 0xe1, 0xa7, 0xad, 0x9b, 0x30, 0xc2, 0x90, 0x32, 0x37, 0xd4, 0x49, 0x15, 0x07, 0xdd, + 0x81, 0x71, 0xe9, 0x61, 0x83, 0xb4, 0xaa, 0xcc, 0x7e, 0xdd, 0x81, 0x71, 0x76, 0xb4, 0x3a, 0x3d, + 0xca, 0xc7, 0x30, 0x2e, 0x5d, 0x72, 0xce, 0xbc, 0xd3, 0x7f, 0x0a, 0x53, 0xaa, 0x73, 0xce, 0xd9, + 0x19, 0xf9, 0x3d, 0x7a, 0xf7, 0x2b, 0xae, 0x58, 0xb2, 0xf1, 0xe7, 0x13, 0x89, 0x77, 0x38, 0x4b, + 0x99, 0x80, 0x14, 0x85, 0x99, 0xdd, 0x3f, 0x97, 0xc2, 0x46, 0x1f, 0x8b, 0xf7, 0x52, 0x12, 0x39, + 0x0d, 0x94, 0xc3, 0xb3, 0x69, 0xc6, 0xe6, 0x17, 0x41, 0x96, 0x02, 0xb6, 0x6f, 0xb7, 0x4f, 0x73, + 0x47, 0xdd, 0x9f, 0x75, 0x59, 0x54, 0xb6, 0xa9, 0x96, 0x96, 0x4a, 0x09, 0x95, 0x4d, 0xe8, 0x4a, + 0x76, 0x16, 0x29, 0x3a, 0x19, 0x0f, 0xe8, 0x29, 0x30, 0x55, 0x9b, 0x39, 0xbc, 0x9c, 0xac, 0x54, + 0xf1, 0xb1, 0x37, 0x4d, 0x2e, 0x07, 0x2d, 0xef, 0x14, 0xcd, 0x5f, 0x81, 0xbe, 0x12, 0x72, 0xeb, + 0xc2, 0xc7, 0xf1, 0xf4, 0x83, 0xcd, 0xee, 0xd9, 0x45, 0xc3, 0xad, 0x78, 0xdf, 0xb9, 0xc8, 0x22, + 0xf7, 0x2b, 0x54, 0x3b, 0x34, 0x66, 0xb5, 0xca, 0x26, 0x76, 0x5d, 0x71, 0xac, 0x30, 0x62, 0xca, + 0x4d, 0xef, 0x09, 0x7d, 0x88, 0x66, 0x4e, 0x9a, 0xf5, 0x66, 0x1f, 0x2a, 0x82, 0x13, 0x6f, 0xf5, + 0x85, 0x93, 0x77, 0xac, 0x17, 0xd9, 0x0e, 0x6b, 0x6e, 0xaf, 0x4f, 0x12, 0x30, 0xc3, 0xb5, 0xb7, + 0x74, 0x20, 0x35, 0x13, 0xd4, 0x1d, 0x48, 0x73, 0xc7, 0x90, 0xc5, 0xfe, 0xcf, 0xa0, 0x12, 0x7b, + 0x8f, 0x9c, 0x6d, 0x12, 0xb2, 0xfd, 0x16, 0x51, 0x8a, 0x53, 0x21, 0xca, 0xcb, 0x8a, 0x51, 0xbe, + 0x96, 0xc5, 0xe1, 0x50, 0x71, 0x4b, 0xe2, 0x7e, 0x6f, 0x89, 0xf4, 0x71, 0x59, 0x89, 0xe8, 0x72, + 0xec, 0xb0, 0xfc, 0x65, 0xde, 0x2b, 0x21, 0x94, 0x9e, 0xed, 0xb3, 0x13, 0x92, 0xce, 0x1d, 0x09, + 0x42, 0x56, 0xce, 0xf4, 0x9e, 0xc5, 0x77, 0x2d, 0x39, 0x15, 0x67, 0x9d, 0x50, 0x27, 0x7e, 0x8d, + 0xa6, 0x93, 0x5a, 0x56, 0x5f, 0x00, 0xa7, 0xab, 0x92, 0x4f, 0xa9, 0x4c, 0x10, 0xd2, 0xa3, 0x6a, + 0x51, 0x34, 0xa1, 0xa5, 0x87, 0x5f, 0xb6, 0x37, 0x62, 0xb3, 0x82, 0x21, 0x6f, 0x7c, 0x19, 0x44, + 0xa5, 0xbd, 0x81, 0xbe, 0xa4, 0xa2, 0x84, 0x93, 0xaf, 0xf9, 0x7e, 0x14, 0x46, 0x81, 0xd3, 0x6d, + 0xb4, 0x02, 0xb7, 0x1b, 0x65, 0x0e, 0x3a, 0x76, 0xf1, 0x36, 0xa1, 0x29, 0x1e, 0xa7, 0x3c, 0xd4, + 0xb3, 0x29, 0xbe, 0x8e, 0x7c, 0x75, 0x63, 0xaa, 0xcc, 0x39, 0xb9, 0x34, 0x44, 0x70, 0xe7, 0x57, + 0x49, 0xb4, 0x09, 0x0b, 0x19, 0x51, 0x89, 0xe4, 0xed, 0x6d, 0x7e, 0xd4, 0xa2, 0x72, 0x7e, 0xc3, + 0xe8, 0x07, 0x30, 0x6f, 0x0c, 0x5b, 0x24, 0x2d, 0xd0, 0x79, 0x41, 0x8d, 0xfa, 0x11, 0x7f, 0x02, + 0x8b, 0x59, 0x79, 0xe2, 0xe3, 0x57, 0x40, 0xf9, 0xc9, 0xfb, 0xa5, 0xbc, 0xee, 0x9b, 0x70, 0x7e, + 0x0b, 0xe6, 0x4c, 0xb9, 0xd7, 0xe5, 0x87, 0x97, 0x93, 0x98, 0xdd, 0xf8, 0xd4, 0xa8, 0x0e, 0xf3, + 0xc6, 0xfc, 0xe7, 0x92, 0x33, 0x79, 0xd9, 0xd1, 0x8d, 0x14, 0x3f, 0x87, 0x85, 0x8c, 0x64, 0xdf, + 0xf1, 0x55, 0x7c, 0x6e, 0x32, 0xf0, 0x1c, 0x47, 0xa8, 0x72, 0x76, 0x1e, 0x69, 0xe9, 0xff, 0xd6, + 0x37, 0xd5, 0x74, 0xd9, 0x98, 0x5c, 0x1f, 0xed, 0xd0, 0x45, 0x68, 0x4a, 0x2c, 0xad, 0x2e, 0xc2, + 0x9c, 0xc4, 0xd3, 0x19, 0x4f, 0xc4, 0x16, 0x32, 0x72, 0x49, 0xe7, 0x50, 0x3d, 0x45, 0x6f, 0xb7, + 0xc4, 0xde, 0xa2, 0x67, 0xdd, 0x4d, 0xf8, 0x54, 0x1b, 0x53, 0xf2, 0x1a, 0xfb, 0xa9, 0xc4, 0x6e, + 0xe8, 0x74, 0x72, 0x54, 0x2c, 0xa4, 0x06, 0x6f, 0x20, 0x90, 0xd4, 0x88, 0x3f, 0xa5, 0xe2, 0xe6, + 0x49, 0xeb, 0x14, 0x32, 0x55, 0x6a, 0x3f, 0x82, 0xc9, 0x86, 0xda, 0xb8, 0xa1, 0x91, 0xcc, 0x45, + 0x21, 0x1f, 0x09, 0xf5, 0xef, 0x7b, 0x8e, 0x23, 0xa9, 0xdc, 0x78, 0x4e, 0x35, 0x8a, 0x4c, 0xd7, + 0x19, 0x2d, 0x85, 0x92, 0xdc, 0x05, 0x4c, 0x19, 0xce, 0xa4, 0xeb, 0x8c, 0x39, 0xeb, 0x52, 0x93, + 0x25, 0x7d, 0x48, 0x26, 0xb0, 0x43, 0x56, 0xff, 0x4c, 0x91, 0xd2, 0x65, 0x3e, 0x37, 0x03, 0x1e, + 0xf3, 0xf3, 0x89, 0x93, 0x46, 0xa9, 0x7e, 0x3e, 0xa9, 0x54, 0x54, 0xaa, 0x9f, 0x8f, 0x21, 0xcf, + 0xd4, 0x2a, 0xa5, 0x15, 0x67, 0xcb, 0xc8, 0x31, 0x46, 0x48, 0x32, 0x86, 0xa4, 0x1c, 0x0f, 0xd5, + 0x10, 0x20, 0x2c, 0xc7, 0x46, 0x8e, 0xad, 0x35, 0x19, 0xfa, 0x23, 0x91, 0x94, 0xe3, 0x1e, 0x94, + 0x58, 0xb8, 0xf1, 0x38, 0x6a, 0x62, 0xec, 0x37, 0x98, 0x8e, 0x82, 0x9e, 0x33, 0xa9, 0xa5, 0x64, + 0xbc, 0x39, 0x69, 0x32, 0xcb, 0x08, 0x44, 0x97, 0xb3, 0x54, 0x21, 0x8e, 0x2a, 0x27, 0x0d, 0x53, + 0xa9, 0x40, 0x73, 0xe5, 0x0b, 0x86, 0x1a, 0xa9, 0x52, 0x4e, 0xaa, 0x31, 0xe8, 0xe4, 0x90, 0x0c, + 0x81, 0xe9, 0xca, 0x17, 0x8d, 0x75, 0x9c, 0x50, 0xc4, 0x92, 0xa5, 0x9a, 0x53, 0xbc, 0xc6, 0xef, + 0xbc, 0x72, 0x60, 0x44, 0x33, 0x37, 0x4e, 0x03, 0xca, 0x5b, 0xc5, 0x32, 0x57, 0x88, 0x21, 0xaf, + 0xec, 0x5b, 0x86, 0xf7, 0x18, 0x1a, 0x44, 0xec, 0x0d, 0x96, 0x9f, 0xe4, 0x16, 0x3d, 0x12, 0xb9, + 0x1b, 0x32, 0x5a, 0xea, 0x47, 0x20, 0x73, 0x06, 0x1f, 0x89, 0x6c, 0x0d, 0xaf, 0x9a, 0xf0, 0x3e, + 0x5c, 0x4a, 0x3c, 0xf7, 0xd0, 0x09, 0xdf, 0x30, 0xbf, 0x09, 0x31, 0xb2, 0x27, 0x5b, 0x67, 0xbf, + 0x9a, 0x7e, 0x1b, 0x92, 0x98, 0xf7, 0xb3, 0xca, 0xbc, 0x4d, 0x98, 0xa6, 0x62, 0x46, 0x64, 0x48, + 0x8e, 0x23, 0xd0, 0xe8, 0xc5, 0xc9, 0x50, 0x48, 0xc9, 0x5a, 0xe9, 0x32, 0x3b, 0xc9, 0xdf, 0x0c, + 0xb3, 0x7c, 0xcb, 0x65, 0xfd, 0x21, 0x31, 0x2d, 0x34, 0xed, 0x62, 0x3c, 0x8d, 0x33, 0xfa, 0x1e, + 0xcc, 0xc4, 0x4f, 0x89, 0x19, 0x09, 0x03, 0x58, 0x8e, 0xa1, 0x6c, 0x26, 0x7e, 0x4f, 0x7c, 0x76, + 0xf4, 0x35, 0xb1, 0x15, 0xc5, 0xe8, 0x97, 0x53, 0xcf, 0x64, 0xb4, 0x31, 0x9c, 0x66, 0x47, 0x52, + 0x78, 0x7b, 0xd6, 0xd9, 0x69, 0xd1, 0xcf, 0xcd, 0x1c, 0x5c, 0x51, 0xfd, 0xdc, 0x72, 0x03, 0x40, + 0x4a, 0xf5, 0x37, 0x83, 0xce, 0x26, 0xbc, 0x46, 0x03, 0xb2, 0xd4, 0x59, 0x08, 0x3e, 0x33, 0x54, + 0x76, 0xdf, 0x93, 0x61, 0x5c, 0x3a, 0x70, 0xad, 0x6f, 0x74, 0x49, 0x74, 0x4b, 0x73, 0x71, 0xe9, + 0x1f, 0x87, 0x32, 0xef, 0x69, 0x9a, 0x29, 0x48, 0xa3, 0xdc, 0x67, 0x73, 0xe2, 0x45, 0xca, 0x7d, + 0x36, 0x37, 0xca, 0xe3, 0xe7, 0x34, 0x21, 0x0a, 0xdf, 0xa3, 0x68, 0x90, 0x25, 0xec, 0xb1, 0xb0, + 0xd3, 0xb9, 0xd7, 0x3e, 0xd7, 0xf4, 0x4b, 0xd1, 0x14, 0x22, 0x3d, 0xd3, 0x5c, 0xe1, 0x27, 0xb1, + 0x2c, 0xe2, 0xfd, 0x89, 0xe4, 0xb8, 0x56, 0x5f, 0x61, 0x0b, 0xf0, 0xcc, 0x3d, 0xcf, 0x28, 0xaf, + 0xad, 0xfc, 0xec, 0xbf, 0x5e, 0x29, 0xfc, 0xec, 0xe7, 0x57, 0x0a, 0xff, 0xe9, 0xe7, 0x57, 0x0a, + 0xff, 0xe5, 0xe7, 0x57, 0x0a, 0x5f, 0x2e, 0x9d, 0x2e, 0xf8, 0x71, 0xab, 0xe3, 0x62, 0x2f, 0xba, + 0xc5, 0xc8, 0x8d, 0xd0, 0xff, 0xee, 0xfe, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x91, 0x30, 0x1a, + 0xea, 0x83, 0xe0, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -16524,6 +16578,8 @@ type AuthServiceClient interface { GenerateWindowsDesktopCert(ctx context.Context, in *WindowsDesktopCertRequest, opts ...grpc.CallOption) (*WindowsDesktopCertResponse, error) // GenerateCertAuthorityCRL creates an empty CRL for the specified CA. GenerateCertAuthorityCRL(ctx context.Context, in *CertAuthorityRequest, opts ...grpc.CallOption) (*CRL, error) + // GetDesktopBootstrapScript returns a PowerShell script to bootstrap Active Directory. + GetDesktopBootstrapScript(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*DesktopBootstrapScriptResponse, error) // CreateConnectionDiagnostic creates a new connection diagnostic. CreateConnectionDiagnostic(ctx context.Context, in *types.ConnectionDiagnosticV1, opts ...grpc.CallOption) (*emptypb.Empty, error) // UpdateConnectionDiagnostic updates a connection diagnostic. @@ -18968,6 +19024,15 @@ func (c *authServiceClient) GenerateCertAuthorityCRL(ctx context.Context, in *Ce return out, nil } +func (c *authServiceClient) GetDesktopBootstrapScript(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*DesktopBootstrapScriptResponse, error) { + out := new(DesktopBootstrapScriptResponse) + err := c.cc.Invoke(ctx, "/proto.AuthService/GetDesktopBootstrapScript", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *authServiceClient) CreateConnectionDiagnostic(ctx context.Context, in *types.ConnectionDiagnosticV1, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) err := c.cc.Invoke(ctx, "/proto.AuthService/CreateConnectionDiagnostic", in, out, opts...) @@ -19911,6 +19976,8 @@ type AuthServiceServer interface { GenerateWindowsDesktopCert(context.Context, *WindowsDesktopCertRequest) (*WindowsDesktopCertResponse, error) // GenerateCertAuthorityCRL creates an empty CRL for the specified CA. GenerateCertAuthorityCRL(context.Context, *CertAuthorityRequest) (*CRL, error) + // GetDesktopBootstrapScript returns a PowerShell script to bootstrap Active Directory. + GetDesktopBootstrapScript(context.Context, *emptypb.Empty) (*DesktopBootstrapScriptResponse, error) // CreateConnectionDiagnostic creates a new connection diagnostic. CreateConnectionDiagnostic(context.Context, *types.ConnectionDiagnosticV1) (*emptypb.Empty, error) // UpdateConnectionDiagnostic updates a connection diagnostic. @@ -20699,6 +20766,9 @@ func (*UnimplementedAuthServiceServer) GenerateWindowsDesktopCert(ctx context.Co func (*UnimplementedAuthServiceServer) GenerateCertAuthorityCRL(ctx context.Context, req *CertAuthorityRequest) (*CRL, error) { return nil, status.Errorf(codes.Unimplemented, "method GenerateCertAuthorityCRL not implemented") } +func (*UnimplementedAuthServiceServer) GetDesktopBootstrapScript(ctx context.Context, req *emptypb.Empty) (*DesktopBootstrapScriptResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetDesktopBootstrapScript not implemented") +} func (*UnimplementedAuthServiceServer) CreateConnectionDiagnostic(ctx context.Context, req *types.ConnectionDiagnosticV1) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateConnectionDiagnostic not implemented") } @@ -24720,6 +24790,24 @@ func _AuthService_GenerateCertAuthorityCRL_Handler(srv interface{}, ctx context. return interceptor(ctx, in, info, handler) } +func _AuthService_GetDesktopBootstrapScript_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthServiceServer).GetDesktopBootstrapScript(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/proto.AuthService/GetDesktopBootstrapScript", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthServiceServer).GetDesktopBootstrapScript(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + func _AuthService_CreateConnectionDiagnostic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(types.ConnectionDiagnosticV1) if err := dec(in); err != nil { @@ -26317,6 +26405,10 @@ var _AuthService_serviceDesc = grpc.ServiceDesc{ MethodName: "GenerateCertAuthorityCRL", Handler: _AuthService_GenerateCertAuthorityCRL_Handler, }, + { + MethodName: "GetDesktopBootstrapScript", + Handler: _AuthService_GetDesktopBootstrapScript_Handler, + }, { MethodName: "CreateConnectionDiagnostic", Handler: _AuthService_CreateConnectionDiagnostic_Handler, @@ -32862,6 +32954,40 @@ func (m *WindowsDesktopCertResponse) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } +func (m *DesktopBootstrapScriptResponse) 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 *DesktopBootstrapScriptResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *DesktopBootstrapScriptResponse) 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.Script) > 0 { + i -= len(m.Script) + copy(dAtA[i:], m.Script) + i = encodeVarintAuthservice(dAtA, i, uint64(len(m.Script))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *ListSAMLIdPServiceProvidersRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -40679,6 +40805,22 @@ func (m *WindowsDesktopCertResponse) Size() (n int) { return n } +func (m *DesktopBootstrapScriptResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Script) + if l > 0 { + n += 1 + l + sovAuthservice(uint64(l)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + func (m *ListSAMLIdPServiceProvidersRequest) Size() (n int) { if m == nil { return 0 @@ -58609,6 +58751,89 @@ func (m *WindowsDesktopCertResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *DesktopBootstrapScriptResponse) 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 ErrIntOverflowAuthservice + } + 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: DesktopBootstrapScriptResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DesktopBootstrapScriptResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Script", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAuthservice + } + 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 ErrInvalidLengthAuthservice + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthAuthservice + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Script = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipAuthservice(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthAuthservice + } + 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 *ListSAMLIdPServiceProvidersRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/api/proto/teleport/legacy/client/proto/authservice.proto b/api/proto/teleport/legacy/client/proto/authservice.proto index be3263226a898..5a5bd5f725ea5 100644 --- a/api/proto/teleport/legacy/client/proto/authservice.proto +++ b/api/proto/teleport/legacy/client/proto/authservice.proto @@ -1551,6 +1551,12 @@ message WindowsDesktopCertResponse { bytes Cert = 1; } +// Response message for GetDesktopBootstrapScript. +message DesktopBootstrapScriptResponse { + // The PowerShell script content. + string Script = 1 [(gogoproto.jsontag) = "script"]; +} + // ListSAMLIdPServiceProvidersRequest is a request for a paginated list of SAML IdP service providers. message ListSAMLIdPServiceProvidersRequest { // Limit is the maximum amount of resources to retrieve. @@ -3220,6 +3226,8 @@ service AuthService { rpc GenerateWindowsDesktopCert(WindowsDesktopCertRequest) returns (WindowsDesktopCertResponse); // GenerateCertAuthorityCRL creates an empty CRL for the specified CA. rpc GenerateCertAuthorityCRL(CertAuthorityRequest) returns (CRL); + // GetDesktopBootstrapScript returns a PowerShell script to bootstrap Active Directory. + rpc GetDesktopBootstrapScript(google.protobuf.Empty) returns (DesktopBootstrapScriptResponse); // CreateConnectionDiagnostic creates a new connection diagnostic. rpc CreateConnectionDiagnostic(types.ConnectionDiagnosticV1) returns (google.protobuf.Empty); diff --git a/docs/config.json b/docs/config.json index c3a29218b5a55..f060f1d2d10a5 100644 --- a/docs/config.json +++ b/docs/config.json @@ -1765,8 +1765,8 @@ "slug": "/desktop-access/getting-started/" }, { - "title": "Active Directory (Manual)", - "slug": "/desktop-access/active-directory-manual/" + "title": "Active Directory", + "slug": "/desktop-access/active-directory/" }, { "title": "Access Controls", @@ -2303,6 +2303,11 @@ "destination": "/access-controls/sso/", "permanent": true }, + { + "source": "/desktop-access/active-directory-manual/", + "destination": "/desktop-access/active-directory/", + "permanent": true + }, { "source": "/aws-terraform/", "destination": "/deploy-a-cluster/deployments/aws-ha-autoscale-cluster-terraform/", diff --git a/docs/pages/desktop-access/active-directory-manual.mdx b/docs/pages/desktop-access/active-directory.mdx similarity index 92% rename from docs/pages/desktop-access/active-directory-manual.mdx rename to docs/pages/desktop-access/active-directory.mdx index 4472639b50d05..58ff6ee6a5ec6 100644 --- a/docs/pages/desktop-access/active-directory-manual.mdx +++ b/docs/pages/desktop-access/active-directory.mdx @@ -45,7 +45,36 @@ To complete the steps in this guide, verify your environment meets the following - (!docs/pages/includes/tctl.mdx!) -## Step 1/7. Create a restrictive service account +## Option 1: Automated configuration + +For relatively simple Active Directory environments, you can use the `tctl` generated configuration script +to bootstrap your Active Directory domain for use with Teleport. At a high level, the script does the following: + +1. Create a restrictive service account named `Teleport Service Account` with the SAM account name `svc-teleport` and create the necessary LDAP containers. +1. Prevent the service account from performing interactive logins by creating and linking a Group Policy Object (GPO) named `Block teleport-svc Interactive Login`. +1. Configure a GPO named `Teleport Access Policy` to allow Teleport connections, including: + - Importing the Teleport CA certificate. + - Configuring firewall rules. + - Allowing remote RDP connections. + - Enabling RemoteFX for improved remote desktop performance. +1. Read the LDAP CA certificate (required for secure LDAPS connections). +1. Generate a Teleport configuration file for the Windows Desktop Service. + +For more complex Active Directory environments, you may need to modify the generated script to meet your specific requirements. +It may also be easier to comprehend what the script does by following the manual configuration steps below. + +To use the `tctl` generated configuration script, run the following command: + +```bash +# Generate the script and save it to a file named configure-ad.ps1. +tctl desktop bootstrap > configure-ad.ps1 +``` + +After generating the script, transfer it to a Windows domain controller and run it in a PowerShell console. + +## Option 2: Manual configuration + +### Step 1/7. Create a restrictive service account Teleport requires a service account to connect to your Active Directory domain. You should create a dedicated service account with restrictive permissions @@ -130,7 +159,7 @@ To create the service account: You'll use this value for the `sid` field when you configure the `ldap` settings in a later step. -## Step 2/7. Prevent the service account from performing interactive logins +### Step 2/7. Prevent the service account from performing interactive logins The next steps modify group policy objects (GPOs). Changes to group policies can take time to propagate to all hosts. You can force changes to take effect @@ -144,7 +173,7 @@ You can prevent the service account from being used to log on by creating a new Group Policy Object (GPO) linked to your entire domain, and then denying interactive logins. -### Create a GPO +#### Create a GPO 1. Open PowerShell and specify a name for the new group policy object with the `$GPOName` variable: @@ -158,7 +187,7 @@ logins. New-GPO -Name $GPOName | New-GPLink -Target $((Get-ADDomain).DistinguishedName) ``` -### Deny interactive login +#### Deny interactive login 1. Open **Group Policy Management** and expand **`Forest > Domains > $YOUR_DOMAIN > Group Policy Objects`** to locate the group policy object you just created. @@ -185,7 +214,7 @@ logins. If you disable username and password authentication, only the Teleport virtual smart card can be used to access Windows computers in the domain. -## Step 3/7. Configure a GPO to allow Teleport connections +### Step 3/7. Configure a GPO to allow Teleport connections To enable access to Windows desktop sessions through Teleport, you must configure a group policy object that allows Windows computers to trust the Teleport certificate @@ -203,7 +232,7 @@ You need to do the following to configure the group policy object: You must repeat these steps if you rotate the Teleport user certificate authority. -### Export the Teleport certificate +#### Export the Teleport certificate To export the Teleport user CA certificate: @@ -218,7 +247,7 @@ To export the Teleport user CA certificate: 1. Take note of the path to the `user-ca.cer` file for use in a later step. -### Create the GPO for the Teleport certificate +#### Create the GPO for the Teleport certificate To configure the group policy object: @@ -266,7 +295,7 @@ To configure the group policy object: gpupdate.exe /force ``` -### Publish the Teleport CA to the Active Directory domain +#### Publish the Teleport CA to the Active Directory domain To publish the Teleport certificate in the Active Directory domain: @@ -284,7 +313,7 @@ To publish the Teleport certificate in the Active Directory domain: This command enables the domain controllers to trust the Teleport CA so that certificate-based smart card authentication through Teleport can succeed. -### Publish the Teleport CA to the NTAuth Store +#### Publish the Teleport CA to the NTAuth Store For authentication with Teleport-issued certificates to succeed, the Teleport CA also must be published to the enterprise NTAuth store. @@ -310,7 +339,7 @@ To publish the Teleport CA to LDAP: This step isn't strictly required. However, it allows you to proceed to the next steps without waiting for the certificate to propagate. -### Enable smart card authentication +#### Enable smart card authentication Teleport performs certificate-based authentication by emulating a smart card. @@ -336,7 +365,7 @@ To add smart card authentication to your group policy object: gpupdate.exe /force ``` -### Allow remote desktop connections +#### Allow remote desktop connections Next you need to configure policies that allow remote connections to domain computers. @@ -386,7 +415,7 @@ Next you need to configure policies that allow remote connections to domain comp gpupdate.exe /force ``` -### Enable RemoteFX +#### Enable RemoteFX To finish configuring the `Teleport Access Policy` group policy object, you must enable RemoteFX. RemoteFX is a compression technology that significantly improves @@ -416,7 +445,7 @@ the performance of remote desktop connections. gpupdate.exe /force ``` -## Step 4/7. Configure a certificate for RDP connections +### Step 4/7. Configure a certificate for RDP connections The Teleport RDP client requires secure cryptographic algorithms to make TLS connections. However, Windows Server 2012 R2 doesn't support these algorithms @@ -432,7 +461,7 @@ required algorithms by doing the following: If your hosts support the required algorithms, you can skip this step and go to [Export your LDAP CA certificate](#step-57-export-your-ldap-ca-certificate). -### Create a certificate template +#### Create a certificate template To create a certificate template that uses elliptic curve P-384 and SHA384 as the signature algorithm: @@ -476,7 +505,7 @@ signature algorithm: 1. Click **OK**. -### Update GPO to use a new certificate template +#### Update GPO to use a new certificate template To update the Teleport group policy object to use the new certificate template: @@ -504,7 +533,7 @@ To update the Teleport group policy object to use the new certificate template: gpupdate.exe /force ``` -## Step 5/7. Export your LDAP CA certificate +### Step 5/7. Export your LDAP CA certificate Teleport connects to your domain controller using LDAPS. This means that you must let Teleport know that the certificate sent by your domain controller during the @@ -531,7 +560,7 @@ To export a CA certificate: can either add this certificate to your system's trusted repository or provide the file path to the `der_ca_file` configuration variable. -## Step 6/7. Configure Teleport +### Step 6/7. Configure Teleport To configure Teleport to protect access to Windows desktops: @@ -586,7 +615,7 @@ To configure Teleport to protect access to Windows desktops: 1. (!docs/pages/includes/start-teleport.mdx service="the Teleport Desktop Service"!) -## Step 7/7. Log in using Teleport +### Step 7/7. Log in using Teleport Teleport users must have appropriate permissions to access remote Windows desktops. For example, you can create a role that gives its users access to all Windows diff --git a/docs/pages/desktop-access/introduction.mdx b/docs/pages/desktop-access/introduction.mdx index bb40a24422d79..5b8d585b6bcc9 100644 --- a/docs/pages/desktop-access/introduction.mdx +++ b/docs/pages/desktop-access/introduction.mdx @@ -66,7 +66,7 @@ For more information about configuring basic access using Teleport Windows Desktop Service, see the following topics: - [Configure access for local Windows users](./getting-started.mdx) -- [Configure access for Active Directory](./active-directory-manual.mdx) +- [Configure access for Active Directory](./active-directory.mdx) ## Further reading diff --git a/docs/pages/desktop-access/troubleshooting.mdx b/docs/pages/desktop-access/troubleshooting.mdx index 6fe2d29d3cba0..cc1b8581c7ce1 100644 --- a/docs/pages/desktop-access/troubleshooting.mdx +++ b/docs/pages/desktop-access/troubleshooting.mdx @@ -22,7 +22,7 @@ Usually, this means that the Smart Card service is not running on the target host. First, make sure that you [enable the Smart Card service in Group -Policy](./active-directory-manual.mdx#enable-smart-card-authentication). +Policy](./active-directory.mdx#enable-smart-card-authentication). If that doesn't help, log into the target host directly, open the "Services" program from the "Start" menu and check that the "Smart Card" service is in the @@ -99,7 +99,7 @@ authentication was not trusted"** (or similar). This means that the host does not trust the Teleport CA. First, make sure that you [import the Teleport CA into Group -Policy](./active-directory-manual.mdx#create-the-GPO-for-the-Teleport-certificate). +Policy](./active-directory.mdx#create-the-GPO-for-the-Teleport-certificate). Note that if you have rotated the Teleport CA since the last import, you need to fetch the new CA using the following command, replacing with the address of your Teleport cluster: @@ -125,7 +125,7 @@ Windows host. **Solution:** Modify firewall rules to allow inbound RDP traffic First, make sure that you open the RDP port and [allow remote desktop -connections](./active-directory-manual.mdx#allow-remote-desktop-connections) +connections](./active-directory.mdx#allow-remote-desktop-connections) in the group policy object you have configured for Teleport connections. If that does not help, check if the target host is online and try to `ping` it @@ -352,7 +352,7 @@ This means that the desktop does not support secure cipher suites for TLS connections. Make sure that you [configure a certificate for RDP -connections](./active-directory-manual.mdx#step-47-configure-a-certificate-for-rdp-connections). +connections](./active-directory.mdx#step-47-configure-a-certificate-for-rdp-connections). ### Expired smartcard certificate @@ -384,7 +384,7 @@ Teleport currently requires that NLA is disabled in order to perform its certificate-based passwordless login. To disable NLA, follow the instructions to [allow remote -desktop connections](./active-directory-manual.mdx#allow-remote-desktop-connections) +desktop connections](./active-directory.mdx#allow-remote-desktop-connections) in the group policy object you have configured for Teleport connections. If you are still encountering this error after disabling NLA in Active Directory, run the following command from the Windows Command prompt as an administrator diff --git a/lib/auth/auth_with_roles.go b/lib/auth/auth_with_roles.go index d339815776e29..66711ac7a9ee7 100644 --- a/lib/auth/auth_with_roles.go +++ b/lib/auth/auth_with_roles.go @@ -6571,6 +6571,11 @@ func (a *ServerWithRoles) GenerateWindowsDesktopCert(ctx context.Context, req *p return a.authServer.GenerateWindowsDesktopCert(ctx, req) } +func (a *ServerWithRoles) GetDesktopBootstrapScript(ctx context.Context) (*proto.DesktopBootstrapScriptResponse, error) { + // No sensitive information is returned in the bootstrap script. + return a.authServer.GetDesktopBootstrapScript(ctx) +} + // GetConnectionDiagnostic returns the connection diagnostic with the matching name func (a *ServerWithRoles) GetConnectionDiagnostic(ctx context.Context, name string) (types.ConnectionDiagnostic, error) { if err := a.action(apidefaults.Namespace, types.KindConnectionDiagnostic, types.VerbRead); err != nil { diff --git a/lib/auth/desktop.go b/lib/auth/desktop.go index f730c3e7c3610..835c97b6a93f5 100644 --- a/lib/auth/desktop.go +++ b/lib/auth/desktop.go @@ -19,10 +19,17 @@ package auth import ( + "bytes" "context" + "crypto/sha1" "crypto/x509" "crypto/x509/pkix" + _ "embed" + "encoding/base64" + "encoding/pem" + "fmt" "strconv" + "text/template" "github.com/gravitational/trace" @@ -30,6 +37,7 @@ import ( "github.com/gravitational/teleport/api/types" "github.com/gravitational/teleport/lib/modules" "github.com/gravitational/teleport/lib/tlsca" + "github.com/gravitational/teleport/lib/utils" ) // GenerateWindowsDesktopCert generates client certificate for Windows RDP @@ -94,3 +102,50 @@ func (a *Server) GenerateWindowsDesktopCert(ctx context.Context, req *proto.Wind Cert: cert, }, nil } + +// desktopAccessConfigureScript is the script that will run on the windows +// machine and configure Active Directory +// +//go:embed windows/configure-ad.ps1 +var desktopAccessScriptConfigure string +var DesktopAccessScriptConfigure = template.Must(template.New("desktop-access-configure-ad").Parse(desktopAccessScriptConfigure)) + +func (a *Server) GetDesktopBootstrapScript(ctx context.Context) (*proto.DesktopBootstrapScriptResponse, error) { + clusterName, err := a.GetDomainName() + if err != nil { + return nil, trace.Wrap(err) + } + + certAuthority, err := a.GetCertAuthority( + ctx, + types.CertAuthID{Type: types.UserCA, DomainName: clusterName}, + false, + ) + if err != nil { + return nil, trace.Wrap(err) + } + + if len(certAuthority.GetActiveKeys().TLS) != 1 { + return nil, trace.BadParameter("expected one TLS key pair, got %v", len(certAuthority.GetActiveKeys().TLS)) + } + + keyPair := certAuthority.GetActiveKeys().TLS[0] + block, _ := pem.Decode(keyPair.Cert) + if block == nil { + return nil, trace.BadParameter("no PEM data in CA data") + } + + var buf bytes.Buffer + err = DesktopAccessScriptConfigure.Execute(&buf, map[string]string{ + "caCertPEM": string(keyPair.Cert), + "caCertSHA1": fmt.Sprintf("%X", sha1.Sum(block.Bytes)), + "caCertBase64": base64.StdEncoding.EncodeToString(utils.CreateCertificateBLOB(block.Bytes)), + }) + if err != nil { + return nil, trace.Wrap(err) + } + + return &proto.DesktopBootstrapScriptResponse{ + Script: buf.String(), + }, nil +} diff --git a/lib/auth/grpcserver.go b/lib/auth/grpcserver.go index 2042723debb2b..c0cff2dc61bba 100644 --- a/lib/auth/grpcserver.go +++ b/lib/auth/grpcserver.go @@ -4011,6 +4011,16 @@ func (g *GRPCServer) GenerateWindowsDesktopCert(ctx context.Context, req *authpb return response, nil } +func (g *GRPCServer) GetDesktopBootstrapScript(ctx context.Context, _ *emptypb.Empty) (*authpb.DesktopBootstrapScriptResponse, error) { + auth, err := g.authenticate(ctx) + if err != nil { + return nil, trace.Wrap(err) + } + + res, err := auth.GetDesktopBootstrapScript(ctx) + return res, trace.Wrap(err) +} + // ChangeUserAuthentication implements AuthService.ChangeUserAuthentication. func (g *GRPCServer) ChangeUserAuthentication(ctx context.Context, req *authpb.ChangeUserAuthenticationRequest) (*authpb.ChangeUserAuthenticationResponse, error) { auth, err := g.authenticate(ctx) diff --git a/lib/auth/windows/configure-ad.ps1 b/lib/auth/windows/configure-ad.ps1 new file mode 100644 index 0000000000000..aceac25d6b43c --- /dev/null +++ b/lib/auth/windows/configure-ad.ps1 @@ -0,0 +1,250 @@ +$ErrorActionPreference = "Stop" + +$AD_USER_NAME="Teleport Service Account" +$SAM_ACCOUNT_NAME="svc-teleport" +$BLOCK_GPO_NAME="Block teleport-svc Interactive Login" +$ACCESS_GPO_NAME="Teleport Access Policy" + +# Display a high-level summary of the script's actions and require user acknowledgment before proceeding +$summary = @" +This script will configure your Active Directory system to integrate with Teleport for secure access to Windows desktops. The following actions will be performed: + +1. Create a restrictive service account named $AD_USER_NAME with the SAM account name $SAM_ACCOUNT_NAME and create the necessary LDAP containers. +2. Prevent the service account from performing interactive logins by creating and linking a Group Policy Object (GPO) named $BLOCK_GPO_NAME. +3. Configure a GPO named $ACCESS_GPO_NAME to allow Teleport connections, including: + - Importing the Teleport CA certificate. + - Configuring firewall rules. + - Allowing remote RDP connections. + - Enabling RemoteFX for improved remote desktop performance. + +Ensure you've reviewed this script itself and/or the equivalent manual documentation before proceeding. +For the manual documentation, see: https://goteleport.com/docs/desktop-access/active-directory + +Press 'Y' to acknowledge and continue, or any other key to exit. +"@ + +Write-Output $summary +$acknowledge = Read-Host "Acknowledge (Y/N)" +if ($acknowledge -ne 'Y') { + Write-Output "Script execution aborted by user." + exit +} + +$TELEPORT_CA_CERT_PEM = "{{.caCertPEM}}" +$TELEPORT_CA_CERT_SHA1 = "{{.caCertSHA1}}" +$TELEPORT_CA_CERT_BLOB_BASE64 = "{{.caCertBase64}}" +$TELEPORT_PROXY_PUBLIC_ADDR = "{{.proxyPublicAddr}}" +$TELEPORT_PROVISION_TOKEN = "{{.provisionToken}}" + +$DOMAIN_NAME=(Get-ADDomain).DNSRoot +$DOMAIN_DN=$((Get-ADDomain).DistinguishedName) + +try { + Get-ADUser -Identity $SAM_ACCOUNT_NAME +} +catch [Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException] +{ + Add-Type -AssemblyName 'System.Web' + do { + $PASSWORD=[System.Web.Security.Membership]::GeneratePassword(15,1) + } until ($PASSWORD -match '\d') + $SECURE_STRING_PASSWORD=ConvertTo-SecureString $PASSWORD -AsPlainText -Force + New-ADUser -Name $AD_USER_NAME -SamAccountName $SAM_ACCOUNT_NAME -AccountPassword $SECURE_STRING_PASSWORD -Enabled $true +} + +# Create the CDP/Teleport container. +try { + Get-ADObject -Identity "CN=Teleport,CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,$DOMAIN_DN" +} +catch [Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException] +{ + New-ADObject -Name "Teleport" -Type "container" -Path "CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,$DOMAIN_DN" +} + +# Gives Teleport the ability to create LDAP containers in the CDP container. +dsacls "CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,$DOMAIN_DN" /I:T /G "$($SAM_ACCOUNT_NAME):CC;container;" +# Gives Teleport the ability to create and delete cRLDistributionPoint objects in the CDP/Teleport container. +dsacls "CN=Teleport,CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,$DOMAIN_DN" /I:T /G "$($SAM_ACCOUNT_NAME):CCDC;cRLDistributionPoint;" +# Gives Teleport the ability to write the certificateRevocationList property in the CDP/Teleport container. +dsacls "CN=Teleport,CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,$DOMAIN_DN " /I:T /G "$($SAM_ACCOUNT_NAME):WP;certificateRevocationList;" +# Gives Teleport the ability to read the cACertificate property in the NTAuthCertificates container. +dsacls "CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,$DOMAIN_DN" /I:T /G "$($SAM_ACCOUNT_NAME):RP;cACertificate;" + +$SAM_ACCOUNT_SID=(Get-ADUser -Identity $SAM_ACCOUNT_NAME).SID.Value + + +# Step 2/7. Prevent the service account from performing interactive logins +try { + $BLOCK_GPO = Get-GPO -Name $BLOCK_GPO_NAME +} +catch [System.ArgumentException] +{ + $BLOCK_GPO = New-GPO -Name $BLOCK_GPO_NAME + $BLOCK_GPO | New-GPLink -Target $DOMAIN_DN +} + +$DENY_SECURITY_TEMPLATE=@' +[Unicode] +Unicode=yes +[Version] +signature="$CHICAGO$" +[Privilege Rights] +SeDenyRemoteInteractiveLogonRight=*{0} +SeDenyInteractiveLogonRight=*{0} +'@ -f $SAM_ACCOUNT_SID + + +$BLOCK_POLICY_GUID=$BLOCK_GPO.Id.Guid.ToUpper() +$BLOCK_GPO_PATH="$env:SystemRoot\SYSVOL\sysvol\$DOMAIN_NAME\Policies\{$BLOCK_POLICY_GUID}\Machine\Microsoft\Windows NT\SecEdit" +New-Item -Force -Type Directory -Path $BLOCK_GPO_PATH +New-Item -Force -Path $BLOCK_GPO_PATH -Name "GptTmpl.inf" -ItemType "file" -Value $DENY_SECURITY_TEMPLATE + + +# Step 3/7. Configure a GPO to allow Teleport connections +try { + $ACCESS_GPO = Get-GPO -Name $ACCESS_GPO_NAME +} +catch [System.ArgumentException] +{ + $ACCESS_GPO = New-GPO -Name $ACCESS_GPO_NAME + $ACCESS_GPO | New-GPLink -Target $DOMAIN_DN +} + +$CERT = [System.Convert]::FromBase64String($TELEPORT_CA_CERT_BLOB_BASE64) +Set-GPRegistryValue -Name $ACCESS_GPO_NAME -Key "HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates\Root\Certificates\$TELEPORT_CA_CERT_SHA1" -ValueName "Blob" -Type Binary -Value $CERT + +$TeleportPEMFile = $env:TEMP + "\teleport.pem" +Write-Output $TELEPORT_CA_CERT_PEM | Out-File -FilePath $TeleportPEMFile + +certutil -dspublish -f $TeleportPEMFile RootCA +certutil -dspublish -f $TeleportPEMFile NTAuthCA +certutil -pulse + +$ACCESS_SECURITY_TEMPLATE=@' +[Unicode] +Unicode=yes +[Version] +signature="$CHICAGO$" +[Service General Setting] +"SCardSvr",2,"" +'@ + +$COMMENT_XML=@' + + + + + + + + + + + + +'@ + + +$ACCESS_POLICY_GUID=$ACCESS_GPO.Id.Guid.ToUpper() +$ACCESS_GPO_PATH="$env:SystemRoot\SYSVOL\sysvol\$DOMAIN_NAME\Policies\{$ACCESS_POLICY_GUID}\Machine\Microsoft\Windows NT\SecEdit" + +New-Item -Force -Type Directory -Path $ACCESS_GPO_PATH +New-Item -Force -Path $ACCESS_GPO_PATH -Name "GptTmpl.inf" -ItemType "file" -Value $ACCESS_SECURITY_TEMPLATE +New-Item -Force -Path "$env:SystemRoot\SYSVOL\sysvol\$DOMAIN_NAME\Policies\{$ACCESS_POLICY_GUID}\Machine" -Name "comment.cmtx" -ItemType "file" -Value $COMMENT_XML + +# Firewall +$FIREWALL_USER_MODE_IN_TCP = "v2.31|Action=Allow|Active=TRUE|Dir=In|Protocol=6|LPort=3389|App=%SystemRoot%\system32\svchost.exe|Svc=termservice|Name=@FirewallAPI.dll,-28775|Desc=@FirewallAPI.dll,-28756|EmbedCtxt=@FirewallAPI.dll,-28752|" +Set-GPRegistryValue -Name $ACCESS_GPO_NAME -Key "HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\WindowsFirewall" -ValueName "PolicyVersion" -Type DWORD -Value 543 +Set-GPRegistryValue -Name $ACCESS_GPO_NAME -Type String -Key "HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\WindowsFirewall\FirewallRules" -ValueName "RemoteDesktop-UserMode-In-TCP" -Value $FIREWALL_USER_MODE_IN_TCP + + +# Allow remote RDP connections +Set-GPRegistryValue -Name $ACCESS_GPO_NAME -Key "HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Terminal Services" -ValueName "fDenyTSConnections" -Type DWORD -Value 0 +Set-GPRegistryValue -Name $ACCESS_GPO_NAME -Key "HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Terminal Services" -ValueName "UserAuthentication" -Type DWORD -Value 0 + +# Disable "Always prompt for password upon connection" +Set-GPRegistryValue -Name $ACCESS_GPO_NAME -Key "HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Terminal Services" -ValueName "fPromptForPassword" -Type DWORD -Value 0 + +# Enable RemoteFX +# As described here: https://github.com/Devolutions/IronRDP/blob/55d11a5000ebd474c2ddc294b8b3935554443112/README.md?plain=1#L17-L24 +Set-GPRegistryValue -Name $ACCESS_GPO_NAME -Key "HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Terminal Services" -ValueName "ColorDepth" -Type DWORD -Value 5 +Set-GPRegistryValue -Name $ACCESS_GPO_NAME -Key "HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Terminal Services" -ValueName "fEnableVirtualizedGraphics" -Type DWORD -Value 1 + +# # Step 5/7. Export your LDAP CA certificate +$WindowsDERFile = $env:TEMP + "\windows.der" +$WindowsPEMFile = $env:TEMP + "\windows.pem" +certutil "-ca.cert" $WindowsDERFile +certutil -encode $WindowsDERFile $WindowsPEMFile + +gpupdate.exe /force + +$CA_CERT_PEM = Get-Content -Path $WindowsPEMFile +$CA_CERT_YAML = $CA_CERT_PEM | ForEach-Object { " " + $_ } | Out-String + + +$NET_BIOS_NAME = (Get-ADDomain).NetBIOSName +$LDAP_USERNAME = "$NET_BIOS_NAME\$SAM_ACCOUNT_NAME" +$LDAP_USER_SID=(Get-ADUser -Identity $SAM_ACCOUNT_NAME).SID.Value + +$COMPUTER_NAME = (Resolve-DnsName -Type A $Env:COMPUTERNAME).Name +$COMPUTER_IP = (Resolve-DnsName -Type A $Env:COMPUTERNAME).Address +$LDAP_ADDR="$COMPUTER_IP" + ":636" + +$LDAP_CONFIG_YAML=@" + ldap: + # Ensure this is a public IP address or DNS name. + addr: '$LDAP_ADDR' + # The Active Directory domain name. + domain: '$DOMAIN_NAME' + # The service account username, prefixed with the NetBIOS name of the domain. + username: '$LDAP_USERNAME' + # The security identifier of the service account specified by the username + # field above. + sid: '$LDAP_USER_SID' + # The server name to use when validating the LDAP server's + # certificate. Useful in cases where addr is an IP but the server + # presents a cert with some other hostname. + server_name: '$COMPUTER_NAME' + insecure_skip_verify: false + # The PEM encoded LDAP CA certificate of this AD's LDAP server. + ldap_ca_cert: | +$CA_CERT_YAML +"@ + +$OUTPUT=@" +Your Teleport Desktop Access configuration is complete. A restrictive service account +named $AD_USER_NAME has been created with the SAM account name $SAM_ACCOUNT_NAME. +That account has been prevented from performing interactive logins by creating and +linking a Group Policy Object (GPO) named $BLOCK_GPO_NAME. Finally a GPO named +$ACCESS_GPO_NAME has been configured and applied to your domain to allow Teleport +connections. + +`n{0} + +The next step is to connect a Windows Desktop Service to your Teleport cluster and configure +it to connect to the LDAP server of this domain. Instructions for this can be found starting at +https://goteleport.com/docs/desktop-access/active-directory/#step-67-configure-teleport. You may +use the `ldap` section printed above as the basis for your Windows Desktop Service configuration, +which contains values derived from the configuration of this domain.`n +"@ -f $LDAP_CONFIG_YAML + +Write-Output $OUTPUT + +if ($host.name -match 'ISE') +{ + $WHITESPACE_WARNING=@' +# WARNING: +# If you'r copying and pasting the ldap config from above, PowerShell ISE will add whitespace to the start - delete this before you save the config. +'@ + + Write-Output $WHITESPACE_WARNING +} + +# cleanup files that were created during execution of this script +Remove-Item $TeleportPEMFile -Recurse +Remove-Item $WindowsDERFile -Recurse +Remove-Item $WindowsPEMFile -Recurse + +# Prompt the user to press any key to exit +Write-Output "Press any key to exit, which will close this window." +$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") diff --git a/lib/utils/certs.go b/lib/utils/certs.go index d39988b051a44..53c9f2049ac0a 100644 --- a/lib/utils/certs.go +++ b/lib/utils/certs.go @@ -22,6 +22,7 @@ import ( "crypto/tls" "crypto/x509" "crypto/x509/pkix" + "encoding/binary" "encoding/pem" "fmt" "math/big" @@ -317,3 +318,31 @@ func InitCertLeaf(cert *tls.Certificate) error { } const pemBlockCertificate = "CERTIFICATE" + +// CreateCertificateBLOB creates Certificate BLOB +// It has following structure: +// +// CertificateBlob { +// PropertyID: u32, little endian, +// Reserved: u32, little endian, must be set to 0x01 0x00 0x00 0x00 +// Length: u32, little endian +// Value: certificate data +// } +// +// Documentation on this structure is a little thin, but one with the structure +// exists in [MS-GPEF]. This doesn't list the `PropertyID` we use below, however +// some references can be found scattered about the internet such as [here]. +// +// [MS-GPEF]: https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-gpef/e051aba9-c9df-4f82-a42a-c13012c9d381 +// [here]: https://github.com/diyinfosec/010-Editor/blob/master/WINDOWS_CERTIFICATE_BLOB.bt +func CreateCertificateBLOB(certData []byte) []byte { + buf := new(bytes.Buffer) + buf.Grow(len(certData) + 12) + // PropertyID for certificate is 32 + binary.Write(buf, binary.LittleEndian, int32(32)) + binary.Write(buf, binary.LittleEndian, int32(1)) + binary.Write(buf, binary.LittleEndian, int32(len(certData))) + buf.Write(certData) + + return buf.Bytes() +} diff --git a/lib/web/databases.go b/lib/web/databases.go index 8efe75e0e79c6..1d84f5c476937 100644 --- a/lib/web/databases.go +++ b/lib/web/databases.go @@ -40,6 +40,7 @@ import ( "github.com/gravitational/teleport/lib/reversetunnelclient" "github.com/gravitational/teleport/lib/services" dbiam "github.com/gravitational/teleport/lib/srv/db/common/iam" + "github.com/gravitational/teleport/lib/utils" "github.com/gravitational/teleport/lib/web/scripts" "github.com/gravitational/teleport/lib/web/ui" ) @@ -361,7 +362,7 @@ func (h *Handler) sqlServerConfigureADScriptHandle(w http.ResponseWriter, r *htt err = scripts.DatabaseAccessSQLServerConfigureScript.Execute(w, scripts.DatabaseAccessSQLServerConfigureParams{ CACertPEM: string(keyPair.Cert), CACertSHA1: fmt.Sprintf("%X", sha1.Sum(block.Bytes)), - CACertBase64: base64.StdEncoding.EncodeToString(createCertificateBlob(block.Bytes)), + CACertBase64: base64.StdEncoding.EncodeToString(utils.CreateCertificateBLOB(block.Bytes)), CRLPEM: string(encodeCRLPEM(caCRL)), ProxyPublicAddr: proxyServers[0].GetPublicAddr(), ProvisionToken: tokenStr, diff --git a/lib/web/desktop.go b/lib/web/desktop.go index 858c6a020a613..9001ce437b3dd 100644 --- a/lib/web/desktop.go +++ b/lib/web/desktop.go @@ -24,7 +24,6 @@ import ( "crypto/sha1" "crypto/tls" "encoding/base64" - "encoding/binary" "encoding/pem" "errors" "fmt" @@ -665,27 +664,6 @@ func handleProxyWebsocketConnErr(proxyWsConnErr error, log *logrus.Entry) { log.WithError(proxyWsConnErr).Warning("Error proxying a desktop protocol websocket to windows_desktop_service") } -// createCertificateBlob creates Certificate BLOB -// It has following structure: -// -// CertificateBlob { -// PropertyID: u32, little endian, -// Reserved: u32, little endian, must be set to 0x01 0x00 0x00 0x00 -// Length: u32, little endian -// Value: certificate data -// } -func createCertificateBlob(certData []byte) []byte { - buf := new(bytes.Buffer) - buf.Grow(len(certData) + 12) - // PropertyID for certificate is 32 - binary.Write(buf, binary.LittleEndian, int32(32)) - binary.Write(buf, binary.LittleEndian, int32(1)) - binary.Write(buf, binary.LittleEndian, int32(len(certData))) - buf.Write(certData) - - return buf.Bytes() -} - // Deprecated: AD discovery flow is deprecated and will be removed in v17.0.0. // TODO(isaiah): Delete in v17.0.0. func (h *Handler) desktopAccessScriptConfigureHandle(w http.ResponseWriter, r *http.Request, p httprouter.Params) (interface{}, error) { @@ -748,7 +726,7 @@ func (h *Handler) desktopAccessScriptConfigureHandle(w http.ResponseWriter, r *h err = scripts.DesktopAccessScriptConfigure.Execute(w, map[string]string{ "caCertPEM": string(keyPair.Cert), "caCertSHA1": fmt.Sprintf("%X", sha1.Sum(block.Bytes)), - "caCertBase64": base64.StdEncoding.EncodeToString(createCertificateBlob(block.Bytes)), + "caCertBase64": base64.StdEncoding.EncodeToString(utils.CreateCertificateBLOB(block.Bytes)), "proxyPublicAddr": proxyServers[0].GetPublicAddr(), "provisionToken": tokenStr, "internalResourceID": internalResourceID, diff --git a/tool/tctl/common/desktop_command.go b/tool/tctl/common/desktop_command.go index a0fc2c5500319..464d27bd27c14 100644 --- a/tool/tctl/common/desktop_command.go +++ b/tool/tctl/common/desktop_command.go @@ -44,16 +44,22 @@ type DesktopCommand struct { // desktopList implements the "tctl desktop ls" subcommand. desktopList *kingpin.CmdClause + + // desktopBootstrap implements the "tctl desktop bootstrap" subcommand. + desktopBootstrap *kingpin.CmdClause } // Initialize allows DesktopCommand to plug itself into the CLI parser func (c *DesktopCommand) Initialize(app *kingpin.Application, config *servicecfg.Config) { c.config = config - desktop := app.Command("windows_desktops", "Operate on registered desktops.").Alias("desktops") + desktop := app.Command("desktop", "Operate on registered desktops.").Alias("desktops").Alias("windows_desktop").Alias("windows_desktops") + c.desktopList = desktop.Command("ls", "List all desktops registered with the cluster.") c.desktopList.Flag("format", "Output format, 'text', 'json' or 'yaml'").Default(teleport.Text).StringVar(&c.format) c.desktopList.Flag("verbose", "Verbose table output, shows full label output").Short('v').BoolVar(&c.verbose) + + c.desktopBootstrap = desktop.Command("bootstrap", "Generate a PowerShell script to bootstrap Active Directory.") } // TryRun attempts to run subcommands like "desktop ls". @@ -61,6 +67,8 @@ func (c *DesktopCommand) TryRun(ctx context.Context, cmd string, client *authcli switch cmd { case c.desktopList.FullCommand(): err = c.ListDesktop(ctx, client) + case c.desktopBootstrap.FullCommand(): + err = c.BootstrapAD(ctx, client) default: return false, nil } @@ -89,6 +97,16 @@ func (c *DesktopCommand) ListDesktop(ctx context.Context, client *authclient.Cli } } +// BootstrapAD generates a PowerShell script that can be used to bootstrap Active Directory. +func (c *DesktopCommand) BootstrapAD(ctx context.Context, client *authclient.Client) error { + script, err := client.GetDesktopBootstrapScript(ctx) + if err != nil { + return trace.Wrap(err) + } + _, err = os.Stdout.Write([]byte(script)) + return trace.Wrap(err) +} + var desktopMessageTemplate = template.Must(template.New("desktop").Parse(`The invite token: {{.token}} This token will expire in {{.minutes}} minutes. diff --git a/web/packages/teleport/src/Discover/SelectResource/__snapshots__/SelectResource.story.test.tsx.snap b/web/packages/teleport/src/Discover/SelectResource/__snapshots__/SelectResource.story.test.tsx.snap index f4ecf2f4f6c8a..0469ca350eb2d 100644 --- a/web/packages/teleport/src/Discover/SelectResource/__snapshots__/SelectResource.story.test.tsx.snap +++ b/web/packages/teleport/src/Discover/SelectResource/__snapshots__/SelectResource.story.test.tsx.snap @@ -1626,7 +1626,7 @@ exports[`render with all access 1`] = ` Err(JsValue::from_str(concat!( "Teleport requires the RemoteFX codec for Windows desktop sessions, ", "but it is not currently enabled. For detailed instructions, see:\n", - "https://goteleport.com/docs/desktop-access/active-directory-manual/#enable-remotefx" + "https://goteleport.com/docs/desktop-access/active-directory/#enable-remotefx" ))), _ => Ok(()), }