MZ@ !L!This program cannot be run in DOS mode. $=\\\$u\\\\\Y\\\Ě\\\Rich\PELպf! ,6 @@AnH@ةE8# @.text `.data @.idataP%&@@.didat0@.rsrcة@@@.relocEF@B(`$0<$` @ $@C@ <%@C@ :<,:<-/ÿ(8Gaqji_#sM)93yx^KyhMWOlIM`66ٓ>@p/*@*pEpFEF EHpEpFE0G EHBBBKKKKKpBPB0BBBBBKKKKKpBPB0BB@D`2@`Cp2H[[[pDH[@IpDpDpDpDpDpDpDpD@U[[[SH[@IN R`RRRS@SSPN0^__`^^0^pDpD`^^^0^ _0_`^^^0^p__`^^^pDpDpDpDpDpDp0`0ggPh`hiPjpj`kl``P0`PPjpБpDpDpDpDpDpDpDpD`\]0]p]]] ^`^P_^___`0```@c`ddd@efg  Z0`Z@Z'@000p0hZp[[Ph0@`\]0]p]]] ^`^P_^___`0```@c`ddd ef Z`ZpP'@00hZp[[ `Ph@`` `\]0]p]]] ^`^P_^___`0```@c`dddpef  Z`Z@Z'@000Ph0hP#0[gPhPh0'pe`\]0]p]]] ^`^P_^___`0```@c`ddd'ef)**`ZP+0'@0,p,0,0hpjpU[-gPhP-1(и0e`\]0]p]]] ^`^P_^___`0```@c`ddd5ef808@8`Z:0'@;00;0hpjpU[@<<g<<=@6`\]0]p]]] ^`^P_^___`0```@c`dddCef0FPF`F`ZP+0'@PHPI0I0hpjpU[@JgPhJLC`\]0]p]]] ^`^P_^___`0```@c`dddPefR Z@S`ZpP'@0U0hZpU[ UU@ Q`` `\]0]p]]] ^`^P_^___`0```@c`dddYefg  Z`Z@Z'@000Ph0hZp[[pDgPhpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDppDpDиpD`pDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDmpe`\]0]p]]] ^`^P_^___`0```@c`ddd`\efg pD0g@0'@000Ph0hpjpUjpDgPhpDpD`\]0]p]]] ^`^P_^___`0```@c`dddefg `Z@0'@000Ph0hpjpU[pDgPhpDpDpD[[[SH[@I0 R`RRRS@SSжPP0``P0`  `` `PhPj@pp`0` `Pj@0`0@` @ @ pDpDPj@pD`pp0P0p_p"##@g @@0'@000&pUPh P `$`pp0P0p_p"##`g  5`@0'@000`&pjpU0`pp0P0p_p"##$%g @0'@000Ph&pUpDPhpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpD pDP@0pD`ppDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpDpD*`pp0P0p_p"##$%g pD%@0'@000Ph&pjpU(pDPhpDpDP@0 $`pp0P0p_p"##4$%g  5@0'@000Ph&pjpUpDPhpDpDpDPpDpD0N0Nz jN0Nz jXN0N jPPP0@ `` @ JIJIIIIII32@ %5pt$$$p@t$$$$@$%% %$@%P%`%p% %$@P%` P@@33` P@ @ ` &&P'@**+, ,P,, :`@p@@AB0BPBpBBBB`C@D EpEEpFF0GHH@IKKKKKN0NPNN R`RRRS@SSS@U[[[[0^`^^^ _0_p____`0ggPh`hiPjpj`klly0`p`PpБP`@0@p0@pи pP `@`` p0P#''()**P+0,p,,-P-15@6808@8:;;@<<<<=CC0FPF`FPHPII@JJLP QR@SUpUUUY Z`ZZZp[[`\\]0]p]]] ^`^^_P___`0```@c`ddd0epeeefg0g0hpjjmж0 `` P`Pp ``p@`0@p @@P  0@P`0```Pp0P0pp"## $`$$%%&(*4 5PPP0` +23@333670<p@@BB C@CpDFFFFGG G0G@GPGGGG@HPHHI0I@IPI`IpIIIIIIIIIJJ{|P|`|p||bad allocationbad array new lengthext-ms-win-storage-sense-l1-1-0.dllext-ms-win-ntuser-draw-l1-1-1ext-ms-win-ntuser-draw-l1-1-2ext-ms-win-ntuser-draw-l1-1-1.dllcryptngc.dllDeviceLockHelpers.dllngckeyenum.dllext-ms-win-security-credui-l1-1-0ext-ms-win-security-credui-l1-1-1ext-ms-win-security-credui-l1-1-0.dllwkscli.dllnetutils.dllext-ms-win-devmgmt-policy-l1-1-0ext-ms-win-devmgmt-policy-l1-1-0.dllext-ms-win-session-usertoken-l1-1-0ext-ms-onecore-phoneinfo-l1-1-0\Unknown exceptionExceptionReturnHrLogHrFailFast%hs(%d)\%hs!%p: %hs!%p: (caller: %p) %hs(%d) tid(%x) %08X %ws Msg:[%ws] CallContext:[%hs] [%hs(%hs)] [%hs] ntdll.dllRtlDllShutdownInProgress%wswilstd::exception: %hsinternal\sdk\inc\wil\ResultMacros.hinternal\sdk\inc\wil\Resource.h_p0WilError_01Local\SM0:%d:%d:%hs4|ZE"\ CmPaFFABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/AVF3nf/Ngqkonecore\ds\security\ngc\inc\ec_HResult.hSOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UpdatePasswordStuffergenericiostreamiostream stream errorsystemunknown errorinvalid string positionstring too longAVF3nf/Ngqku8# AQR9G\0dvector too longTJӨF̰}dcCA8\ ڼT,g@nMIϱP{ד:c@H@rp0CIEW>o9Dji͉nAI6f=͈xM^{,ESinternal\sdk\inc\wil\resource.hNegotiateNgcDomainNameNgcTenantDomainNameMicrosoft Passport Key Storage ProviderNgcDeviceWipeRetryCountNgcGestureRetryCountNgcGestureCharacteristicsSQsEMZ^Q"mjnq$mjnq$mo^mr_m^`m[am`m`m`mbm4cmmmdmemfmm!gmhmimjmkmlm om ommmqmm$mmpnm ompmkmlm hmqm<mnmrmmm<,mn-mr.mmSOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\NgcPinPinBlockProtectionValidated/SƣF?槆PߩD Ihn[AllowPrebootAuthSOFTWARE\Policies\Microsoft\PassportForWorkSOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\PreBoot\AccountInfoProvisioningRequiredSOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\PreBoot\MailboxMailboxAlreadyCheckedINMessageMicrosoft Platform Crypto ProviderRSAPCP_KEY_USAGE_POLICYSmartCardPinOpaqueKeyBlobOUTUserNameDomainAzureADlsC ӧ}KD;J|)3onecore\ds\security\ngc\inc\ec_Void.h<,n-r.o^r_^`[a```b4cdef!ghijkl o omqm$mpn opkl hqNegotiateDsrFreeJoinInfo%s startedDsrFreeJoinInfoEx%s: The specified level "%lu" is not supported.ppJoinInfoDsrGetJoinInfo%s: "%s" should not be null.DsrGetJoinInfoEx%s: %s failed with error code: 0x%08x.%s: Out of memory. Allocation failed.pInputArgDeviceRegistrationStateApi::GetDeviceJoinInfo%s: No device cert is found. Checking workplace cert...DeviceRegistrationStateApi::GetWorkplaceJoinInfo%s: No device cert or workplace cert is found.%s - hr: 0x%08xDeviceRegistrationStateApi::IsJoinedDsrIsDeviceJoinedpJoinedpCertContextDeviceRegistrationStateApi::CompareTenantIdtenantIdequalRegistrationCertStatus::GetTenantIdCompareStringDeviceRegistrationStateApi::GetJoinCertificate%s: DeviceRegistrationStateApi::GetJoinCertificate returned NULL certificate.%s: DeviceRegistrationStateApi::PopulateJoinInfo failed with error code: 0x%08xDeviceRegistrationStateApi::PopulateJoinInfoppCertContext%s: Invalid join type %d. Only DEVICE and WORKPLACE are allowed.%s: RegistrationCertStatus::GetDeviceCertificate returned CRYPT_E_NOT_FOUND. Returning S_FALSE.RegistrationCertStatus::GetDeviceCertificate%s: RegistrationCertStatus::GetWorkplaceCertificate returned CRYPT_E_NOT_FOUND. Returning S_FALSE.RegistrationCertStatus::GetWorkplaceCertificate%s: The returned join certificate is NULL. Returning S_FALSE.%s: The specified tenant ID is empty. Returning the default account certificate...%s: There is no device join account that matches the specified tenant ID "%s". Returning S_FALSE.%s: There is no workplace join account that matches the specified tenant ID "%s". Returning S_FALSE.RegistrationCertStatus::GetDeviceIdJoinStatusStorage::ReadDeviceJoinStatusJoinStatusStorage::ReadWorkplaceJoinStatusRegistrationCertStatus::GetCertificate%s: CertDuplicateCertificateContext failed with error code: 0x%08x383a3889-5bc9-47a3-846c-2b70f0b7fe0eCopyStringWNgcStatusStorage::LoadCopyStringNullSafeW%s: UuidToStringW failed with RPC_STATUS error code: 0x%08xNULLEventWriteNullOrEmptyParameterFailureEventLogger::WriteNullOrEmptyParameterFailureEvent%s: %s failed with win32 error code: 0x%08x.EventWriteRegistryFailureEventLogger::WriteRegistryFailureEvent@@@@@destStringDupStringCchLengthWStringCchCopyWStringLenStringCatStringCchCatWCompareStringWCompareStringExppszOutBufferpszSourceCopyStringSafeWppszOut%s: wmemcpy_s failed with error code: 0x%08x.GetDomainFromEmailpszEmail@%s: The email does not contain the @ sign.%s: The email does not have any characters after the @ sign.pDataRegReadDwordValue%s: The registry key value "%s@%s" does not exist. Using default value 0. Error code: 0x%08x.%s: The registry key value "%s@%s" is not of type DWORD. Using default value 0. Error code: 0x%08x.%s: Cannot read registry key value "%s@%s". Error code: 0x%08x.RegReadStringValue%s: The registry key value "%s@%s" does not exist. Using default value NULL. Error code: 0x%08x.%s: The registry key value "%s@%s" is not of type DWORD. Using default value NULL. Error code: 0x%08x.%s: Failed to set registry value "%s@%s". Error code: 0x%08x.RegSaveStringValueRegOpenCurrentUserKey%s: RegOpenCurrentUser failed with win32 error code: 0x%08x. samDesired = %lu.SYSTEM\CurrentControlSet\Control\MiniNTHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MiniNTIsWinPEHost%s: Cannot open reg key %s. Assuming the host is NOT WinPE. RegOpenKeyExW error code: 0x%08x.SOFTWARE\Microsoft\RecoveryEnvironmentHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\RecoveryEnvironmentGetWindowsDirectoryWinPE%s: Cannot open registry key %s. Error code: 0x%08x.TargetOSGetwinDirectoryWinPERegLoadKeyWinPE%s: GetWindowsDirectoryWinPE returns an empty path.%s: Cannot load file "%s" into registry key "%s". RegLoadKeyW error code: 0x%08x.%s: File "%s" loaded into registry key "%s".SYSTEM\CurrentControlSet\Control\CloudDomainJoin\JoinInfo\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CloudDomainJoin\JoinInfo\SYSTEM\CurrentControlSet\Control\CloudDomainJoin\TenantInfo\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CloudDomainJoin\TenantInfo\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WorkplaceJoin\JoinInfo\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WorkplaceJoin\JoinInfo\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WorkplaceJoin\TenantInfo\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WorkplaceJoin\TenantInfo\%s: Failed to create or open registry key "%s". Error code: 0x%08x.IdpDomainTenantIdUserEmailAttestationLevelAikCertStatusTransportKeyStatusJoinStatusStorage::ReadDeviceKey%s: Failed to open registry key "%s". Error code: 0x%08x.%s failed to read one or more join status entries from the registry.JoinStatusStorage::SaveTenantKeyDisplayNameMdmEnrollmentUrlMdmTermsOfUseUrlMdmComplianceUrlUserSettingSyncUrlDrsServiceVersionDrsEndpointDrsResourceIdAuthCodeUrlAccessTokenUrlIdpAuthUrlCdjServiceVersionCdjEndpointCdjResourceIdNgcServiceVersionNgcEndpointNgcResourceIdJoinStatusStorage::ReadTenantKey%s: Reading registry key %s@%s failed with win32 error code: 0x%08x.%s: JoinStatusStorage::SetDefaultDiscoveryMetadata failed with error code: 0x%08x.pJoinStatushRootKeypRegkeyInfo%s: "%s" should not be null or empty.JoinStatusStorage::ReadJoinStatusdeviceIdReadDeviceKey%s: Tenant ID is empty.ReadTenantKeyGetWorkplaceRootKeyJoinStatusStorage::SetDefaultDiscoveryMetadatahttps://login.microsoftonline.com/%s/oauth2/authorizeStringCchPrintfWhttps://login.microsoftonline.com/%s/oauth2/token1.0https://enterpriseregistration.windows.net/EnrollmentServer/DeviceEnrollmentWebService.svcurn:ms-drs:enterpriseregistration.windows.nethttps://enterpriseregistration.windows.net/EnrollmentServer/device/https://enterpriseregistration.windows.net/EnrollmentServer/key/%s: Registry key %s@%s does not have a value. Using default value...%s: Registry key %s@%s does not have a value. Default value is also NULL. Returning NULL...%s: JoinStatusStorage::SaveTenantKeyfailed with error code: 0x%08x. Cannot save default discovery metadata into registry.1.2.840.113556.1.5.284.21.2.840.113556.1.5.284.51.2.840.113556.1.5.284.710CertificateUtil::FindCertificateByOidValue%s: CertificateUtil::FindCertificateByOidValue didn't find any certificate so returning CRYPT_E_NOT_FOUND.CertificateUtil::DoesExtensionWithValueExistOpenRootKeyhUserRegistrySOFTWARE\Microsoft\Windows NT\CurrentVersion\WorkplaceJoin\AADNGCHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WorkplaceJoin\AADNGC%s: The registry key "%s" does not exist. Noting to read.%s: Cannot open registry key "%s". Win32 error code: 0x%08x.%s: Cannot query values of registry key "%s". Win32 error code: 0x%08x.%s: There is no valid key registry.%s: Cannot enumerate keys under registry key "%s". Win32 error code: 0x%08x.%s: The registry key "%s" is not a valid NGC key ID. Error code: 0x%08x.%s: Failed to read registry key "%s\%s". Error code: 0x%08x.NgcStatusStorage::ReadKey%s: Cannot open NGC key registry. Key name: %s. Error code: 0x%08x.NgcKeyStatusNgcKeyNameTenantDomainUserIdMypcszOidpcszOidValue%s: System is WinPE.TargetSoftware\Microsoft\SystemCertificates\MYHKEY_LOCAL_MACHINE\TargetSoftware\Microsoft\SystemCertificates\MY%s: Cannot open registry key "%s". RegOpenKeyExW error code: 0x%08x. Try loading the registry key...TargetSoftwareHKEY_LOCAL_MACHINE\TargetSoftware%s: Always try unloading reg key "%s" first before loading it. RegUnLoadKeyW failed with error code: 0x%08x. Failure ignored. Continue to load the key...system32\config\software%s: Cannot open registry key "%s". RegOpenKeyExW error code: 0x%08x.%s: CertOpenStore failed with error code: 0x%08x%s: Will try to find the OID: '%hs' and value: '%s'%s: Certificate found.%s: CertCloseStore failed with error code: 0x%08x%s: Cannot close reg key %s. RegCloseKey failed with error code: 0x%08x.%s: Cannot unload reg key %s. RegUnLoadKeyW failed with error code: 0x%08x.%s: reg key "%s" unloaded.CertificateUtil::FindExtensionByOid%s: FindExtensionByOid: pcszOid is NULL.%s: FindExtensionByOid: pCertContext is NULL.pbResult%s: INPUTS - pcszOid: %hs ; pcszOidValue: %s%s: Extension string was not found; returning S_OK.%s: CertificateUtil::FindExtensionStrValueByOid failed with error code: 0x%08x%s: Extension value was found.CertificateUtil::FindExtensionStrValueByOid%s: Extension was not found in the certificate. OID: %hs.%s: FindExtensionByOid failed with error code: 0x%08x. OID: %hs.%s: CryptDecodeObjectEx with error code: 0x%08x%s: CryptBinaryToStringW with error code: 0x%08x%s: Extension value: %sCertificateUtil::FindExtensionGuidValueByOid%s: CertificateUtil::FindExtensionByOid failed with error code: 0x%08x. OID: %hs.%s: CryptDecodeObjectEx failed with error code: 0x%08xCertificateUtil::GuidStringFromByteArray%s: cbInputCount size is not the size of Guid: %d.0123456789abcdef--- - SOFTWARE\Microsoft\Policies\PassportForWork\Policies\Device\PoliciesSOFTWARE\Microsoft\Windows\CurrentVersion\WinBio\Credential ProviderPINComplexityRemoteBiometricsRequireSecurityDeviceMinimumPINLengthMaximumPINLengthUppercaseLettersLowercaseLettersSpecialCharactersDigitsHistoryExpirationUseRemotePassport%uEnabledD:(A;;GR;;;SY)H 2PPFE  , 0 ,0HpH2GG 4 R~HpH2D,FE  P! pH2HPFA ,0 ,0pH2$GC ,H P!pD־p+W"M9D]+H`[  6[ %\ \ K\F\%\[\[) K\HI%\[L[) [[L[ \ )T[ \D:(A;;GR;;;SY)%\) [ )T [ \%\D:uHps}#]+H`H2F   H pH 2F pH2$G  P! pH2$G  P! pH2$F P!p H2$G  .P! pD:(A;;GR;;;SY)D4/,DO]*\]+H`H2>D P!p H2"EHH      pH 2>G H  2 P!  pH2"DHH  pH2$DHP!p H 2DHpH2DHHp  \ \%\%\[ [K\F\ F\ [\[Software\Microsoft\IdentityStore\ProvidersNameCA00CFA8-EB0F-42BA-A707-A3A43CDA5BD99DDC52DB-DC02-4A8C-B892-38DEF4FA748F*bad conversionMicrosoft-Windows-Security-NGC-AllowRemoteNGC{92383B0E-F90E-4AC9-8D44-8C2D0D0EBDA2}{0850302A-B344-4FDA-9BE9-90576B8D46F0}nQnKAͅmoH";8JD- *0PDOWkFnQnKAͅmoH"պf(pp պf ( p@KL9LcLLLL M6M`MMMMN2NdNNNNO9OyOPPPPQEQoQQQRCRRSS6TcTTTUtUUU(VVV8WuWWX/XOXvXXXY8YrYY$Z`ZZZZ&[c[[[\b\\\]+]U]]]]]'^Q^{^^^^#_M_w____`I`s```aDanaaabbb%cRcrccc-dZdzdddeeftttt0uuu6v{vvwCwmwwww+xUxxxxyAyyyyyGzqzzzz{+{U{{{ETW0+ /Error:ModuleGetClassObjectErrorresultCode @ ActivityStoppedAutomatically @ANgcPinProvider.SetUsageScenarioretValusageScenarioflags ,Warning:InvalidUsageScenarioresultCode @ANgcPinProvider.SetUsageScenarioretValusageScenarioflags FError:WrlMakeAndInitializeNgcPinCredentialPrebootErrorresultCode 1Error:ConvertStringSidToSidWErrorresultCode 6Error:NgcPreboot::GetPrebootCredentialresultCode 3Error:DeviceLockGetLockSettingErrorresultCode bError:WrlMakeAndInitializeNgcPinCredentialLogonUILocalPolicyContainerCreationErrorresultCode 5Error:NgcUtilsGetUserAccountTypeErrorresultCode KError:WrlMakeAndInitializeNgcPinCredentialLogonUILocalErrorresultCode NCritical:WrlMakeAndInitializeNgcPinCredentialLogonUIErrorErrorresultCode @$DeviceBlockedMustBeResetretVal ;Warning:ContainerCreationCredentialsChangedresultCode <Warning:CredProvNotAdvisedDuringNotificationresultCode 'Error:ComPtrCopyToErrorresultCode ;Warning:UnsubscribeFromContainerCreationWnfresultCode 7Warning:SubscribeToContainerCreationWnfresultCode <Warning:QueryCredentialsRefreshedChangeStampresultCode FError:ICredentialProviderEventsCredentialsChangedErrorresultCode HError:WrlMakeAndInitializeNgcPinCredentialNegotiateErrorresultCode 6Error:KeyEnumManagerEnumerateKeysErrorresultCode ,Error:ConvertStringSidToSidWresultCode 7Error:NgcUtilsGetUserNameAndDomainErrorresultCode >Warning:InputSerializationBufferNotCurrentUserresultCode /Error:NgcUtilsGetCallerSidErrorresultCode -Error:NgcUtilsGetUserSidErrorresultCode JError:NgcUtilsUnpackNegotiateInputSerializationBufferErrorresultCode 1Warning:NotEnumeratingCredentialsresultCode 9Error:InvalidSerializationresultCodeauthPackageId /Error:WrlMakeAndInitializeErrorresultCode RError:NgcUtilsUnpackGestureCollectionInputSerializationBufferErrorresultCode 4Error:InvalidFlagsCombinationresultCodeflags ,Error:UserGetProviderIDErrorresultCode 9Error:UserGetStringQualifiedUserNameErrorresultCode %Error:UserGetSidErrorresultCode )Error:UserArrayGetAtErrorresultCode ,Error:UserArrayGetCountErrorresultCode @ResetPhoneErrorretVal  ActivityStoppedAutomatically BError:NCryptGetGestureCharacteristicsPropertyErrorresultCode 9Error:NCryptGetPinRetryCountPropertyErrorresultCode (Error:NCryptOpenKeyErrorresultCode 4Error:NCryptOpenStorageProviderErrorresultCode @Error:NCryptGetDeviceWipeRetryCountPropertyErrorresultCode MError:ICredentialProviderCredentialUIModeEventsSetUIModeErrorresultCode YError:ICredentialProviderCredentialEventsSetPinPolicyLinkFieldStringErrorresultCode [Error:ICredentialProviderCredentialEventsSetPinTypeCheckboxFieldStringErrorresultCode ZError:ICredentialProviderCredentialEventsSetPinTypeCheckboxFieldStateErrorresultCode `Error:ICredentialProviderCredentialEventsSetConfirmPinFieldInteractiveStateErrorresultCode UError:ICredentialProviderCredentialEventsSetConfirmPinFieldStateErrorresultCode TError:ICredentialProviderCredentialEvents2SetNewPinFieldOptionsErrorresultCode \Error:ICredentialProviderCredentialEventsSetNewPinFieldInteractiveStateErrorresultCode QError:ICredentialProviderCredentialEventsSetNewPinFieldStateErrorresultCode XError:ICredentialProviderCredentialEventsSetForgotPinLinkFieldStateErrorresultCode RError:ICredentialProviderCredentialEventsSetFieldSubmitButtonErrorresultCode WError:ICredentialProviderCredentialEventsSetSubmitButtonFieldStateErrorresultCode eError:ICredentialProviderCredentialEventsSetChallengePhraseFieldInteractiveStateErrorresultCode ZError:ICredentialProviderCredentialEventsSetChallengePhraseFieldStateErrorresultCode PError:ICredentialProviderCredentialEventsSetTextFieldLengthErrorresultCode MError:ICredentialProviderCredentialEvents5QueryInterfaceErrorresultCode QError:ICredentialProviderCredentialEvents2SetPinFieldOptionsErrorresultCode YError:ICredentialProviderCredentialEventsSetPinFieldInteractiveStateErrorresultCode NError:ICredentialProviderCredentialEventsSetPinFieldStateErrorresultCode ZError:ICredentialProviderCredentialEventsSetContextMessageFieldStringErrorresultCode YError:ICredentialProviderCredentialEventsSetContextMessageFieldStateErrorresultCode XError:ICredentialProviderCredentialEventsSetTitleMessageFieldStringErrorresultCode WError:ICredentialProviderCredentialEventsSetTitleMessageFieldStateErrorresultCode BError:NgcTicketCreateForMultipleKeyOperationsErrorresultCode 9Error:NgcUtilsBuildDecryptionKeyNameErrorresultCode 2Error:NgcUtilsParseNgcKeyNameErrorresultCode @TNgcPinCredentialLogonUILocal.HandlePinChangeErrorretValisValidhrPinChange @TNgcPinCredentialLogonUILocal.HandlePinChangeErrorretValisValidhrPinChange .Error:NgcPolicyInitializeErrorresultCode 'Error:NgcGetPolicyErrorresultCode =Error:NCryptGetTenantDomainNamePropertyFailedresultCode HError:NCryptGetTenantDomainNamePropertySizeRequestFailedresultCode 7Error:NCryptGetDomainNamePropertyFailedresultCode BError:NCryptGetDomainNamePropertySizeRequestFailedresultCode @^NgcPinCredentialLogonUILocal.HandleTicketCreationErrorretValisValidhrTicketCreation @^NgcPinCredentialLogonUILocal.HandleTicketCreationErrorretValisValidhrTicketCreation 9Error:NgcGetDefaultDecryptionKeyNameErrorresultCode +Error:DeviceLockSetPinErrorresultCode -Error:NgcChangePinSilentErrorresultCode ,Error:NgcPackAuthBufferErrorresultCode -Error:GetTicketsForLogonErrorresultCode .Error:GetKeyNamesForLogonErrorresultCode >Warning:DomainNameIdentityProviderNameMismatchresultCode WWarning:NgcUtilsGetCloudIdentityProviderNameWarningresultCodeacccountProviderId BError:PrepareKerberosLogonUnlockSerializationErrorresultCode KWarning:NgcLocalAccountVaultGetDefaultUserCredentialWarningresultCode @IncorrectConveniencePin SError:PrepareKerberosLogonUnlockSerializationForInvalidLassPINErrorresultCode @NgcPinCredentialLogonUILocalSerializeResponseInternalretValisValid uiDispositionisConvenienceCredential accountType @NgcPinCredentialLogonUILocalSerializeResponseInternalretValisValid uiDispositionisConvenienceCredential accountType ?Error:PolicyManagerValidateSequencesPolicyErrorresultCode ;Error:PinPolicyRulesValidateNumericPinErrorresultCode 5Warning:SetPinBlockProtectionRegValueresultCode ;Warning:GetDeviceWipeAttemptsRemainingErrorresultCode IWarning:ClearPinBlockProtectionRegValueAfterSuccessfulPinresultCode 6Error:RegSetKeyValueForPasswordStufferresultCode ENgcPinCredentialLogonUILocal::SerializeResponseretValisValid ENgcPinCredentialLogonUILocal::SerializeResponseretValisValid OWarning:ClearPinBlockProtectionRegValueAfterChangingDispositionresultCode 8Error:PolicyManagerGetManagedPolicyErrorresultCode BError:InvalidLogonUIInitializationContextParameterresultCode CWarning:NgcPrebootSetCachedUserNameAndDomainWarningresultCode @Error:NgcLocalAccountVaultProtectCredentialErrorresultCode 8Error:NgcDecryptWithUserIdKeySilentErrorresultCode <Error:NgcLocalAccountVaultGetCredentialErrorresultCode :Error:NgcTicketCreateForKeyOperationsErrorresultCode @Error:NgcUtilsBuildDefaultDecryptionKeyNameErrorresultCode @NgcPinCredentialPreboot::SerializeResponseretValisValid @NgcPinCredentialPreboot::SerializeResponseretValisValid JWarning:NgcPinCredentialPreboot::SerializeNgcResponseErrorresultCode RWarning:NgcPinCredentialPreboot::SerializeConvenienceResponseErrorresultCode 1Error:ConvertSidToStringSidWErrorresultCode ?Error:NgcPrebootGetCachedUserNameAndDomainErrorresultCode ;Warning:NgcUtilsGetUserNameAndDomainWarningresultCode QError:NgcUtilsPackContainerCreationOutputSerializationBufferErrorresultCode 4Error:PinPolicyRulesValidatePinErrorresultCode @NgcPinCredentialContainerCreation.ValidateCredentialretValisValiddisplayPinTypeCheckboxinNumericPinModepinPolicyType @NgcPinCredentialContainerCreation.ValidateCredentialretValisValiddisplayPinTypeCheckboxinNumericPinModepinPolicyType <Warning:InvalidPinTypeCheckboxRequestIgnoredresultCode RError:NgcUtilsUnpackContainerCreationInputSerializationBufferErrorresultCode @FNgcPinCredentialPinCollection.RespondToUseAltCredLinkClickretVal @FNgcPinCredentialPinCollection.RespondToUseAltCredLinkClickretVal MError:NgcUtilsPackPinCollectionOutputSerializationBufferErrorresultCode PError:ICredentialProviderCredentialEvents4::RequestSerializationresultCode 7Error:PinLengthRequiredForAutoSubmitPinresultCode ,Warning:PinGestureNotAllowedresultCode PWarning:ICredentialProviderCredentialEventsSetFieldStringWarningresultCode IError:NgcUtilsPackPinChangeOutputSerializationBufferErrorresultCode JError:ICredentialProviderCredentialEventsSetPinStringErrorresultCode JError:NgcUtilsUnpackPinChangeInputSerializationBufferErrorresultCode ?Error:NgcUtilsCoMemResourceStringAllocCopyErrorresultCode 1Error:NgcUtilsCoMemAllocCopyErrorresultCode )Error:SizeofResourceErrorresultCode 'Error:LockResourceErrorresultCode 'Error:LoadResourceErrorresultCode *Error:FindResourceExWErrorresultCode 3Error:NgcUtilsGetAuthPackageIdErrorresultCode &Error:LoadBitmapWErrorresultCode /Error:ComPtrAsUIModeEventsErrorresultCode *Error:ComPtrAsEvents4ErrorresultCode \Warning:ReportResultStatusFailureresultCodestatussubStatusstatusTextstatusIcon YWarning:GetSerializationResponseFailureresultCoderesponsestatusTextstatusIcon @7NgcPinCredential.GetSerializationretValcredType @7NgcPinCredential.GetSerializationretValcredType LError:ICredentialProviderCredentialEventsSetFieldStringErrorresultCode @*ShowForgotPinDetailsretValcredType @*ShowForgotPinDetailsretValcredType XError:ICredentialProviderCredentialEventsSetPinPolicyLinkFieldStateErrorresultCode [Error:ICredentialProviderCredentialEventsSetPinPolicyDetailsFieldStateErrorresultCode XError:ICredentialProviderCredentialEvents2SetConfirmPinFieldOptionsErrorresultCode TError:ICredentialProviderCredentialEvents2SetFieldNewPinOptionsErrorresultCode .Error:PinPolicyInitializeErrorresultCode EError:NgcUtilsCoMemResourceFormatStringAllocCopyErrorresultCode KError:ICredentialProviderCredentialEventsSetFieldStateErrorresultCode ,Error:ConvertSidToStringSidWresultCode (Error:RegGetValueWFailedresultCode (Error:RegOpenKeyExWErrorresultCode +Warning:RegDeleteValueErrorresultCode *Warning:RegOpenKeyExWErrorresultCode *Error:RegCreateKeyExWErrorresultCode 2Error:memcpy_sPrebootAuthBlobErrorresultCode -Error:memcpy_sRsaKeyBlobErrorresultCode "Error:CopySidErrorresultCode 4Error:NCryptExportKeyTpmVersionErrorresultCode 4Error:memcpy_sTpmPrivateKeyBlobErrorresultCode 3Error:memcpy_sTpmPublicKeyBlobErrorresultCode :Error:NCryptExportKeyType2ConsistencyErrorresultCode -Error:memcpy_sTpmKeyBlobErrorresultCode :Error:NCryptExportKeyType1ConsistencyErrorresultCode 2Error:NCryptExportKeyBlobDataErrorresultCode 0Error:NCryptExportKeyActualErrorresultCode 1Error:NCryptExportKeyGetSizeErrorresultCode .Error:NCryptEncryptActualErrorresultCode /Error:NCryptEncryptGetSizeErrorresultCode ,Error:NCryptFinalizeKeyErrorresultCode /Error:NCryptSetPropertyPinErrorresultCode =Error:NCryptSetPropertyPcpKeyUsagePolicyErrorresultCode 3Error:NCryptCreatePersistedKeyErrorresultCode *Error:BCryptGenRandomErrorresultCode #Error:EqualSidErrorresultCode 'Error:RegGetValueWErrorresultCode )Error:RegSetValueExWErrorresultCode )Error:RegOpenKeyExWFailedresultCode @DRemoteNgcProvider.SetUsageScenarioretValusageScenarioflags @DRemoteNgcProvider.SetUsageScenarioretValusageScenarioflags  ActivityStoppedAutomatically @Error:PolicyManagerQueryIsRemoteNgcEnabledFailedresultCode *Error:DsrGetJoinInfoFailedresultCode -Error:DsrIsDeviceJoinedFailedresultCode KError:ICredentialProviderCancelBioFeedbackVisualStateFailedresultCode aError:ICredentialProviderBioEventsBioFeedbackVisualStateChangedWithPriorityFailedresultCode <Error:IGreetingFormatterFormatGreetingFailedresultCode 7Error:UserSidRequiredForDefaultGreetingresultCode  IRemoteNgcScenarioLogonUI.RequestDisplayUserGreetingretValpriority  IRemoteNgcScenarioLogonUI.RequestDisplayUserGreetingretValpriority LError:WrlMakeAndInitializeRemoteNgcCredentialLogonUIV1FailedresultCode -Warning:IsRemoteEnabledFailedresultCode %Error:InvalidCredTyperesultCode PError:WrlMakeAndInitializeRemoteNgcCredentialInformationalFailedresultCode )Error:InvalidFlagsresultCodeflags 8Error:CreateThreadpoolCleanupGroupFailedresultCode GError:ICredentialProviderEventsCredentialsChangedFailedresultCode 7Error:TrySubmitThreadpoolCallbackFailedresultCode -Error:UserGetProviderIDFailedresultCode :Error:UserGetStringQualifiedUserNameFailedresultCode &Error:UserGetSidFailedresultCode *Error:UserArrayGetAtFailedresultCode -Error:UserArrayGetCountFailedresultCode (Error:ComPtrCopyToFailedresultCode >Error:NgcUtilsBluetoothRadioObserverStopFailedresultCode ?Error:NgcUtilsBluetoothRadioObserverStartFailedresultCode 5Error:ComPtrAsGreetingFormatterFailedresultCode -Error:ComPtrAsBioEventsFailedresultCode DError:NgcUtilsBluetoothRadioObserverInitializeFailedresultCode ]Error:ICredentialProviderCredentialEventsSetDescriptionMessageFieldStateErrorresultCode @ARemoteNgcCredentialLogonUIV1.RespondToDescriptionLinkretVal @ARemoteNgcCredentialLogonUIV1.RespondToDescriptionLinkretVal @>RemoteNgcCredentialLogonUIV1.RespondToTryAgainLinkretVal @>RemoteNgcCredentialLogonUIV1.RespondToTryAgainLinkretVal .Error:GetComputerNameExWFailedresultCode 8Error:GetComputerNameExWBufferSizeFailedresultCode RWarning:ICredentialProviderCredentialEvents2EndFieldUpdatesWarningresultCode ZError:ICredentialProviderCredentialEventsSetDescriptionLinkFieldStateErrorresultCode @6Error:UnknownRemoteAuthenticationErrorresultCode @2Error:UnknownRemoteConnectionErrorresultCode FError:NgcUtilsCoMemResourceFormatStringAllocCopyFailedresultCode $Warning:NoEvents4CannotAutologon AError:NgcUtilsBuildDefaultDecryptionKeyNameFailedresultCode 3Error:NgcUtilsParseNgcKeyNameFailedresultCode @SRemoteNgcCredentialLogonUIV1.RemoteKeyAuthenticateAndSubmitForAutoLogonretVal DError:NgcRemotePairingGetLogonKeyRequestStatusFailedresultCode @SRemoteNgcCredentialLogonUIV1.RemoteKeyAuthenticateAndSubmitForAutoLogonretVal 3Error:CoInitializerInitializeFailedresultCode AError:NgcRemotePairingCreateLogonKeyRequestFailedresultCode @Error:NgcUtilsCoMemResourceStringAllocCopyFailedresultCode TWarning:ICredentialProviderCredentialEvents2BeginFieldUpdatesWarningresultCode @BRemoteNgcCredentialInformational.RespondToTryAgainLinkretVal @BRemoteNgcCredentialInformational.RespondToTryAgainLinkretVal ;Error:NgcRemotePairingGetRequestErrorFailedresultCode WError:ICredentialProviderCredentialEventsSetTryAgainLinkFieldStateErrorresultCode TError:ICredentialProviderCredentialEvents4RequestSerializationFailedresultCode GError:NgcRemotePairingGetSpecificKeyRequestStatusFailedresultCode TError:NgcUtilsPackRemoteInformationalOutputSerializationBufferFailedresultCode CWarning:SerializeResponseUnexpectedRequestStatusrequestStatus IRemoteNgcCredentialInformational::SerializeResponseretValisValid IRemoteNgcCredentialInformational::SerializeResponseretValisValid ;Warning:NgcRemotePairingCancelRequestFailedresultCode UError:NgcUtilsUnPackRemoteInformationalInputSerializationBufferFailedresultCode  ActivityStoppedAutomatically 2Error:NgcUtilsCoMemAllocCopyFailedresultCode -Error:NgcPackAuthBufferFailedresultCode CRemoteNgcCredentialLogonUI::SerializeResponseretValisValid CRemoteNgcCredentialLogonUI::SerializeResponseretValisValid =Warning:NgcRemotePairingCompleteRequestFailedresultCode _RemoteNgcCredentialLogonUI.ReportResultInternalretValntStatusntSubStatusaccountType _RemoteNgcCredentialLogonUI.ReportResultInternalretValntStatusntSubStatusaccountType *Error:SizeofResourceFailedresultCode (Error:LockResourceFailedresultCode (Error:LoadResourceFailedresultCode +Error:FindResourceExWFailedresultCode 4Error:NgcUtilsGetAuthPackageIdFailedresultCode 'Error:LoadBitmapWFailedresultCode 0Info:LoadBitmapWIsNotPresentInforesultCode +Error:ComPtrAsEvents4FailedresultCode @0RemoteNgcCredential.GetSerializationretVal @0RemoteNgcCredential.GetSerializationretVal 4Error:CannotMergeUninitializedPolicyresultCode @Error:InvalidSerializationPinPolicyLengthOverrunresultCode @Error:InvalidSerializationInvalidPinPolicyOffsetresultCode <Error:InvalidSerializationArithmeticOverflowresultCode 2Error:InvalidSerializationTooSmallresultCode 1Error:NgcPolicyAlreadyInitializedresultCode GError:NgcPolicyValidationFailedInvalidAttestationPolicyresultCode EError:NgcPolicyValidationFailedInvalidSmartCardPolicyresultCode FError:NgcPolicyValidationFailedInvalidbiometricsPolicyresultCode =Error:NgcPolicyValidationFailedInvalidVersionresultCode KError:ConversionFromSmartCardPolicyOptionFailedInvalidValueresultCode 9Warning:InvalidPinDigitSequenceNotAllowedresultCode :Warning:InvalidPinOtherCharacterNotAllowedresultCode <Warning:InvalidPinSpecialCharacterNotAllowedresultCode 1Warning:InvalidPinDigitNotAllowedresultCode ;Warning:InvalidPinLowercaseLetterNotAllowedresultCode ;Warning:InvalidPinUppercaseLetterNotAllowedresultCode 8Warning:InvalidPinOtherCharacterRequiredresultCode :Warning:InvalidPinSpecialCharacterRequiredresultCode /Warning:InvalidPinDigitRequiredresultCode 9Warning:InvalidPinLowercaseLetterRequiredresultCode 9Warning:InvalidPinUppercaseLetterRequiredresultCode 7Warning:InvalidPinUnknownCharacterClassresultCode 3Warning:InvalidPinTooManyCharactersresultCode 2Warning:InvalidPinTooFewCharactersresultCode BError:PinPolicyRulesNotInitializedBeforeValidationresultCode @9PinPolicyRules.ValidatePinretValresultValidatePin @9PinPolicyRules.ValidatePinretValresultValidatePin EError:InvalidPinPolicySerializationUnsupportedVersionresultCode >Error:InvalidPinPolicySerializationWrongSizeV3resultCode >Error:InvalidPinPolicySerializationWrongSizeV2resultCode >Error:InvalidPinPolicySerializationWrongSizeV1resultCode ;Error:InvalidPinPolicySerializationTooSmallresultCode 6Error:PinPolicyRulesAlreadyInitializedresultCode 7Error:ValidationFailedInvalidExpirationresultCode <Error:ValidationFailedInvalidPinHistoryCountresultCode CError:ValidationFailedAllCharacterClassesDisallowedresultCode BError:ValidationFailedInvalidCharacterPolicyOptionresultCode ;Error:ValidationFailedInvalidMinOrMaxLengthresultCode :Error:InvalidPinPolicySerializationVersionresultCode 8Error:InvalidOtherCharactersPolicyOptionresultCode :Error:InvalidSpecialCharactersPolicyOptionresultCode /Error:InvalidDigitsPolicyOptionresultCode ;Error:InvalidLowercaseCharacterPolicyOptionresultCode ;Error:InvalidUppercaseCharacterPolicyOptionresultCode QError:PolicyManager_GetDeviceLockPolicy_AllowSimpleDevicePasswordresultCode 0Error:InitializeDefaultProPolicyresultCode 3Error:InitializeDefaultProPinPolicyresultCode 5Error:InitializeDefaultConsumerPolicyresultCode +Info:NgcPolicyUsingDefaultsresultCode 3Info:NgcPolicyUsingDeviceLockPolicyresultCode 4Info:NgcPolicyUsingMergedPassportCspresultCode .Info:NgcPolicyUsingPassportCspresultCode .Info:NgcPolicyUsingGroupPolicyresultCode 6Error:GetManagedPolicyInvalidParameterresultCode @wPolicyManager.GetManagedPolicyretValuserSidProvided idpDomainNametenantIdpolicyTypeisSupportedDeviceLockPolicy biometricsPolicysmartCardPolicyhardWarePolicypinPolicyMinLengthpinPolicyMaxLengthpinPolicyUpperCasepinPolicyLowerCasepinPolicyDigitspinPolicySpecialCharacterspinPolicyOtherCharactersallowSequences historyexpiration__TlgCV__ @wPolicyManager.GetManagedPolicyretValuserSidProvided idpDomainNametenantIdpolicyTypeisSupportedDeviceLockPolicy biometricsPolicysmartCardPolicyhardWarePolicypinPolicyMinLengthpinPolicyMaxLengthpinPolicyUpperCasepinPolicyLowerCasepinPolicyDigitspinPolicySpecialCharacterspinPolicyOtherCharactersallowSequences historyexpiration__TlgCV__ ;Info:MergedPoliciesresultCodeNumberOfPoliciesMerged 'Error:MergePolicyFailedresultCode 6Info:MergingPolicyFromTenantresultCodeTenantId (Warning:EnumTenantIdKeysresultCode "Error:QueryKeyInforesultCode &Error:OpenNgcPolicyKeyresultCode 9Error:DevicePolicyRootExistsButReadFailedresultCode <Error:ReadProContainerDevicePolicyRootFailedresultCode 7Error:UserPolicyRootExistsButReadFailedresultCode 9Info:ReadProContainerUserPolicyRootFailedresultCode @Info:FailedToReadAllowSimpleDevicePasswordPolicyresultCode :Warning:InvalidExpirationValueresultCodeexpiration ?Info:FailedToReadDevicePasswordExpirationPolicyresultCode 4Warning:InvalidHistoryValueresultCodehistory <Info:FailedToReadDevicePasswordHistoryPolicyresultCode FWarning:InvalidMinDevicePasswordComplexCharactersValueresultCode IInfo:FailedToReadMinDevicePasswordComplexCharactersPolicyresultCode IInfo:FailedToReadAlphanumericDevicePasswordRequiredPolicyresultCode KWarning:InvalidDevicePasswordLengthValueresultCodeminPasswordLength >Info:FailedToReadMinDevicePasswordLengthPolicyresultCode 3Error:InitializeDefaultPolicyFailedresultCode <Info:FailedToReadDevicePasswordEnabledPolicyresultCode 6Info:DeviceLockPolicyNotSupportedBySkuresultCode Info:GpKeyEmptyresultCode  Error:IsKeyEmptyresultCode /Error:ReadGroupPolicyRootFailedresultCode /Error:InitializeNgcPolicyFailedresultCode /Error:InitializePinPolicyFailedresultCode .Warning:OpenBioPolicyKeyFailedresultCode FError:ReadPolicyValueDataOutOfRangeresultCodesubKeyvalueName &Error:InvalidParameterresultCode @]PolicyManager.QueryIsRemoteNgcEnabledretValtenantIdremoteNgcEnabledState__TlgCV__ @]PolicyManager.QueryIsRemoteNgcEnabledretValtenantIdremoteNgcEnabledState__TlgCV__ "Error:RegGetValueWresultCode =Error:c_NgcTicketCreateForRemoteKeyOperationsresultCode 0Error:NgcUtilsRpcClientBindErrorresultCode ?Error:c_NgcTicketCreateForMultipleKeyOperationsresultCode <Error:c_NgcTicketCreateForKeyOperationsErrorresultCode =Error:c_NgcLocalAccountVaultProtectCredentialresultCode  .Info:ClientRpcRecoverableErrorresultCode DError:c_NgcLocalAccountVaultGetDefaultUserCredentialresultCode 4Error:StringCchLengthStringSidFailedresultCode /Error:NgcUtils::RpcClient::BindresultCode ;Error:I_c_NgcLocalAccountVaultGetCredentialresultCode 9Error:NgcRemotePairingCompleteRequestBindresultCode 7Error:c_NgcRemotePairingCompleteRequestresultCode 7Error:NgcRemotePairingCancelRequestBindresultCode 5Error:c_NgcRemotePairingCancelRequestresultCode 9Error:NgcRemotePairingGetRequestErrorBindresultCode BError:RemotePairingGetRequestErrorInvalidParameterresultCode 7Error:c_NgcRemotePairingGetRequestErrorresultCode EError:NgcRemotePairingGetSpecificKeyRequestStatusBindresultCode NError:RemotePairingGetSpecificKeyRequestStatusInvalidParameterresultCode CError:c_NgcRemotePairingGetSpecificKeyRequestStatusresultCode BError:NgcRemotePairingGetLogonKeyRequestStatusBindresultCode KError:RemotePairingGetLogonKeyRequestStatusInvalidParameterresultCode @Error:c_NgcRemotePairingGetLogonKeyRequestStatusresultCode ?Error:NgcRemotePairingCreateLogonKeyRequestBindresultCode HError:RemotePairingCreateLogonKeyRequestInvalidParameterresultCode =Error:c_NgcRemotePairingCreateLogonKeyRequestresultCode 'Critical:memcpy_sFailedresultCode *Error:FormatMessageWFailedresultCode 'Error:LoadStringWFailedresultCode 1Error:StringFromGUID2FailedresultCodeguid 4Error:NgcCredProvEnumLogonKeysFailedresultCode 1Error:NetGetJoinInformationFailedresultCode (Error:RegOpenKeyExWErrorresultCode .Error:LsaLookupUserAccountTyperesultCode 9Error:LsaLookupAuthenticationPackageErrorresultCode 7Error:RtlUnicodeStringToAnsiStringErrorresultCode .Error:LsaConnectUntrustedErrorresultCode 3Error:InvalidSidNameUseresultCodesidNameUse $Error:LsaLookupSids2resultCode ,Error:LookupAccountSidLocalWresultCode 0Warning:FallBackToLocalSidLookupresultCode #Error:LsaOpenPolicyresultCode )Error:GetTokenInformationresultCode )Error:GetTokenInformationresultCode 3Error:LookupAccountNameLocalWFailedresultCode KError:LookupAccountNameLocalWSizeQuerySucceededUnexpectedlyresultCode <Error:LookupAccountNameLocalWSizeQueryFailedresultCode 4Error:ParseNgcKeyNameStringAccountIdresultCode 1Error:ParseNgcKeyNameStringTenantresultCode 1Error:ParseNgcKeyNameStringDomainresultCode =Error:BuildNgcKeyNameStringConvertContainerIdresultCode 6Error:ParseNgcKeyNameStringContainerIdresultCode .Error:ParseNgcKeyNameStringSidresultCode 8Error:ParseNgcKeyNameStringInvalidLengthresultCode 8Error:BuildNgcKeyNameStringInvalidLengthresultCode 5Error:BuildNgcKeyNameStringConvertSidresultCode ?Error:InvalidSerializationBufferUserSidTooLargeresultCode 8Error:InvalidSerializationBufferTooSmallresultCode ;Error:CredUnPackAuthenticationBufferWFailedresultCode SError:CredUnPackAuthenticationBufferWSizeQuerySucceededUnexpectedlyresultCode DError:CredUnPackAuthenticationBufferWSizeQueryFailedresultCode =Error:InvalidSerializationBufferBadSubmitTyperesultCode AError:CredUnPackAuthenticationBufferWIsNotPresentresultCode 5Error:NgcPolicyInitializeDefaultErrorresultCode NError:InvalidSerializationBufferNgcPolicySerializationTooLargeresultCode NError:InvalidSerializationBufferRemoteDeviceNameLengthMismatchresultCode ;Error:StringCbLengthWRemoteDeviceNameFailedresultCode HError:InvalidSerializationBufferRemoteDeviceNameTooLargeresultCode FError:InvalidSerializationBufferRemoteDeviceNameLengthresultCode )Info:RemoteNgcDisabledDueToSkuLicense )Error:NtQueryLicenseValueresultCode *Info:RemoteNgcDisabledForNonDesktopSku &Warning:AlreadyStoppedresultCode )Error:InvalidStateForStopresultCode 0Error:DevCreateObjectQueryFailedresultCode &Warning:AlreadyStartedresultCode *Error:InvalidStateForStartresultCode /Error:InvalidStateForInitializeresultCode  (Error:RpcClientBindErrorresultCode 7Error:RpcClientCreateBindingHandleErrorresultCode !Warning:RpcClientAlreadyBound >Error:RpcClientCreateSecurityDescriptorFailureresultCode 2Error:RpcClientCannotCopyServerSidresultCode /Error:RpcClientInvalidServerSidresultCodea{k[_Gv=Microsoft.Windows.Security.NGC.CredProvsPOωGvRSDS]e.BFyFngccredprov.pdbGCTL`.rdata$brc`$,.rdata$r$brc%.CRT$XCA%8.CRT$XCU%.CRT$XCZ%.CRT$XIA%.CRT$XIC%.CRT$XIZ%.CRT$XPA%.CRT$XPZ%.CRT$XTA%.CRT$XTZ%.cfguard,e.rdata `.rdata$sxdata.rdata$zETW0.rdata$zETW1!N.rdata$zETW2o.rdata$zETW9pP.rdata$zzzdbg.rtc$IAA.rtc$IZZ.rtc$TAA.rtc$TZZ.textS.text$diph,.text$mnK0.text$x{.text$yd|hR.xdata$xminATL$__aminATL$__fminATL$__mminATL$__z  .didat$2, .didat$3L.didat$4@.didat$6 .didat$7n.edatap.data$brcp.data$r$brc@.dataL.bss.idata$5.00cfg4.idata$2P.idata$3d.idata$4| .idata$60.didat$5@.rsrc$01AX.rsrc$02UQ@3ʼnEE(tkM US]W} t*u(tAMHMH Xx MVp tp$u$WSQuRu u^_[M3]$̋U@3ʼnEV5EW}hvhhP% %$t ~* PQj55M_3^]̋UoVWM j^EBQuu EuEBEGaGaAq QAEPAww_^]̋UE E t*QA #U#E tAQ#E#U ;Au;Qt2]̋SV3ۋW5tVff;u+9u_^YY A[̋V3W/tVFu+aFa 9_A^&P', ,,h{PYh|@Y :P4&h|Yhp|Yh`|Y̋VW-𥥥 (D`|$_^̋VW-$𥥥@\x <_^̋VW-|𥥥$@\x_^̋VW-𥥥_^̋VW-\𥥥x_^̋UVu Wu3iuj^0$QS]t;rVSQ, 35WjQ$ u j ;sj"^0x$jX[_^]̋UVF `PEPYY^]̋Au/̋UVFPEYt j VYY^]̋UV3tvWx83t*S]W++ٍt tAu_[u Izt^]̋U3tvWx QuQ t3f]̋US3VtvWx=ʋWtf9tut+W_xQu+Q CX^[]̋UE 3Ʌt=vWxMQuQMi tE3f]̋UW3t+E SV+tft fNu^[uz3f_] ̋USVWuru 3VW"x;wu z3fw_^[] ̋UE Vu+t=wMQuQ t3f9u t΍Qffu+4N^]̋U @3ʼnESً‰VuW=3f t 8 tPSV3f9 Dž/+t3t"tu.Dž/"Dž/Dž/ Dž/Q3hfPhvQh$~vHvD^_^[]̋Vtu 6DY&f^̋USVu مu AFWPhYu2*'}tVuOYY;s_^[]3 @@3 x@@3 @,@̋UE 3@]̋U @3ʼnES]3VuW} tPVju2kt +#7tOhPQtˍQAu+ʍx\t H;wUPM_^3[*]̀=Vuj@Vjh& ^̡uhPh0̋UQ@3ʼnEV5uh1P5t M3^`]̋UVWuhju֋PPu _^]̋UE V3t=vWx5S]MWQux3WPSx;wu z_[ tM^]̅u3@ÍQAu+ʍA̅ujXÍQffu+M̋UQS]VWjYEK@K4K K<|K0rK(hK^KTKJKD@3ɋExPt :u9pTsVj 3ɋWtH} #G Ps OQsqOQsaOQsQO(Qs(AODQsD1O+ËETø+jj̋UlMuhEP̋UQS]VWSuV jC YPPJPZuCdPNdK_^[]j$LVEMEMt3f53҈tQu PRR9UEMtU tuF PuFE:-ËE;u UMS-ø U M.Ey:-øx-3 EvEMtU tu܍F P-u܋FE:-u UMpS-u UM\-ø>댸x-̋U(@3ʼnEEEE EEEES]EE(Vu8WM3M0f8}E3EÉM3ɉU+tIt;t uFW9xM࿜WjuuuuG&3ɉE3C~(@FE tf9uF 8F~8E3ɉFE܉F EF$EFEFEFHEFL3N(3~,=t =FDthu؋V׋=t V39F|}F8|u;=9ut/tӄu =3 3C3=}$uut\8uTPPVEt=uhuV׋E3f9uVEtPM_^3[]4l̋Ud?@3ĉ$`ES]Vu\$]\$ W} uE$u 95t2ۍt$\$ VQt$pVQ$xVt$ uu uVt$4t$t6<^̋UESVWj@3j8PD$u;WQM[|$|$WPQVL$(2yWQM>!D$\$t$fD$j0^Vx H#3ۋL$HL$ H 3QW\$$L$ L$(a f7G33j YM3D$D$tP7tS-tVjP_^[]̋UQMA(W}E;t:SVt#[VjPuE;u^[_]̋UVW93VjW=tt ;ut;uE_0^]QM+̋UQQS3VfEEWuEE+E;r6Pu?YYM t 3@;#É;us t3fDs_s^[]̋U S]EVWu]F+Eu;sUVSSYYM t 3@;#lj;us tD>>_^[]̋̋UH@3ʼnEeSVuW} }&7t.X3ҋ};}uBuV1UEWs rEy8=v/3EEMEMEĺPjQQEM_^3[] j 3ɄjcLo E 3+tKEPThuY PWjA3H55T55559uuPt hPYY3@ ̋Vj@V^̋Vj@V^̋Vj@V^ ̋Vj@V^̃<H3@<@jD, %8̋UVEt jV YY^]̋ Vu$58hP| Y^̋UQQ@3ʼnEeVWh1jYYSVFxF׋Vx׋]uuFV8txt <3f[tVpM_3^]̋UQQ@3ʼnEeVWh1j.YYSVFxF׋Vx׋]uuFV8txt <3f[tVpM_3^]̋U=8uVj@V^} t < <3]̋UQ@3ʼnEM 2VuW3>u"1t MQp@UR q֋M_3^!] ̋UQQ@3ʼnEW}OEuBWSVjrË^[t <EM3_]Guu <̋UVuNNF^u u<]̋UQQ@3ʼnES]3V9E tPVAWMEuxSu8V׋tVq֋_M^3[]̋UQQ@3ʼnES]3V9E tPVAWMEuxSu8V׋tVq֋_M^3[S]̋VWh1j'YYt27 Wh2xFhfVt V;_^̋VWh1j'fYYt2 Wh2FfVYt V_^̋UEVFt jVyYY^]̋UQ@3ʼnEM 2VuW3>u51tE1t EP@UR q֋M_3^] ̋UQ@3ʼnESW}O ؅u)tVjr,^=8t <M_3[f]̋;uA;BuA;Bu A ;B u3@3̋V1W;tV;t1;uF;u_^̋VW V;t1;u_F^̋VWV7_^̋U@3ʼnES] VuW3U}>C 98tW4MC 98t50 EVuP1֋9}t u9}t u3EPuSuօEuz4MC uuK P Wqփ}t ut(EPq֋EPq}E83M_^3[] ̸̸̸̋VWV7_^̸4̡<̋UQQ@3ʼnESVW]?ts=<v@ 8tX4Mk@ 0u9ut;u!u- }t ueV Pqփy<M_^3[<]2̋UQQSVW}3EJ$ UĀӀ? 2>v Em 2D>‹U 2D>Ê 2D>u>_^[]̋U$@3ʼnEe3SVW}٫ǃ@EPuǃ}ܥhjSǃǃ MSM_^fC.3[]̋UujP]̋UujP]̋UVEt jVYY^]̋VNFF ^̋U@3ĉ$S3ۍL$4V\$ \$8\$=vjSh@3۹SLtRFE̋FjY]ЉMԉ]؋EEE܋F ]M]E]M]E}PjSGPe[M_3^M]juV_ ^̋UQQ} u@EMEE E]̋U } u@EMEE EEE8] ̋UQEME]̋UQQ} u@EMEE E+]̋UE u@ MEEE EEE] ̋U} t.}t(}t"EMEE EEEEE@]̋UE u@ MEEE EEEP] ̋UQQ} u@EMEE E]̋V~t FPj^̃=SVWv9h@jSt$sVjCPjCc_^[38QtA9u9Pu 9Pu9P űUjhLdPQ@3ʼnEVWPEd9tetj0֋Md Y_^M3]̃=8A At<̋UEVF t jVYY^]̋Qyt AY̋VWfA_^jL*eEE[EUEUًE@ ~ EU뼋E@ E츸UËMh2j*Zj Me9uE@EËA0r։EEtVEV뻋E@ ~ E踠V랋E@ E@VËMh2j*ZQj6M?e9uE@E]ËA0A0r ։EEWE.W붋E@ ~ EKW뙋E@ EVËMh2j*Zj`Me9uE@EËp։EEWEWE@ ~ EW룋E@ E踑WËMh2j*ZjMe9uE@EËA0r։EEfXEuX뻋E@ ~ E踒X랋E@ E2XËMh2j*Z_jMMe9uE@EkËA0A0r։EEYE Y붋E@ ~ E=Y뙋E@ EXËMh2j*ZjMe9uE@EËA 0A70AN0VEEYEY벋E@ ~ EY땋E@ E踃YËMh2j*ZjNe9uE@EËA0A0r ։EEkZEzZ붋E@ ~ E踗Z뙋E@ E2ZËMh2j*ZZj2NHe9uE@EfËA0r$։EE[E [뻋E@ ~ E=[랋E@ EZËMh2j*Z̋U,@3ĉD$(9Vv$h@jtD$̕PjjVeL$,^3N]̃l$ṽl$̃l$̋UMI ]̋U@3ʼnESVUUM3ɊW]~ff;u+ Mt!EP+PrPU]Uu>3@tjXMPRUWjujjuM_^3[M] ̋U@3ʼnEEVuWQQ3fWQPQQVM_3^]̋UQQQuQQuY]̋U}tuRQ ȋ]̋U}tuRQ ȋ]̋Vu3L3;sx΁r%A#;vPYȅu0A#H QYt^̋UV3u;v0u^ruA;s+ȃrڃ#wՋQGY]̋UEV4t jVYY^]̋UEU H]̋U @3ʼnEVWuMQp ֋u HVI;Ju ;u2M_3^)]̋UAVuV;Bu ;E u3@3^]̸`3̋UQeVu uYP΃fF^]̸h3̋UQ3} Eu!Vuht3FF^u usE]̸3j dNuM3ESh]ԉ]]}EsEhSPE؃ }MsE؈]}EsEQPu  uFΉ^h3E;Ew}M؉EsM؈ +EQPMMEF^PSjM_̋UjhNdPV@3PEdu VYȋEt @` 0@XMd Y^]jNJF;Fs_^]̋US]VW;u3OGu+St~rW+SVE3QWt(~rW~~Yr8_^[]̋UE S]VW{;r|+9}s};u& 9NrfN~rP Q?QWit4{r~r΋U W~~Yr8_^[] ̋UVW}N+;v=t1S9QStQWv,^~r[_^]p̋UVuW~sF@PvY t&FGFGFf~r6_^]h3h3̋UUt+yr;ryVr1A^;v2]̋UVuw/9qs qVQu!qyr 3;^]k̋U} uyr Eyr u EjP ] ̋US]VWr"{r  VCӋ7@P3C{s+;t:G3+;#t'+ߊ; ;GF;uG׋3@P7Y_^[]̋UE VW~;wf~r+t'~r+W~~Yr8_^]jNu}v}*3ENj^u;vjX+;w<j_e3QOB3)M3҉eBMQAEEgfËu}E] Et~rSYjjFtE~^~r6aMjjjj ̋S3VSS^F ^^ ^^^Pf^^8Ɖ^<^@^D^H^L^[̋UV~Lt vLN@YN8F Pk?Et jPVYY^]̋UT@3ʼnE3VU9U tJ=@EvpEUjE؍E YMUEUMUEPQRR[4}FF FVuMU&}tFEM3^]̸@̋UD@3ʼnESVuEċWPK #VK8#}E CAD+A@;wW_A@ 99u@NVEąy8=v8Eĉ}EE}EȺPjWW腮E 9>uM_3^`]j@9Ou3}u 3EPN }N8u8=v*E}EE}EPjWWMRvlt\x;t jS6M;t jSPM0;t jSP\P3+LfE؋XE]@PWEPRAHPWEPEPxPxSWME Q`xK lt `PLxs3ۍ@ 0Edt d;,XLPI@t3MVjVjMVjx`LxÃ=v;3EtMEMEPjQQ蕦tlH=v9t]EE]EڗPjSSKtlx9R=vIH=v9t]E]EEPjSStl@0l_=؉hv53EhMEMEPjQQ|h~ ہtdEd4̋UH@3ʼnEESVWj_83ۍE]P]0ȉMy4=vAE]E}]EĺPjSSפME%=uM_^3[]hP"}3ۉ]tx|]\`dEEP\]tuyK=wE]EE]EYPjSSuEw]fU]H yr PQ@Htu9Et uj[;uL]EEEEy]E3hlp}}MErE8h1hpEYYu}Ewui=uv/3EEMEMEPjQQ覢u~ }uuh3ɍEXPu\}PtP*xuhL4W EtW uy73=vME}EE}EʖPjWWEPh#hPK@uMhXM\bt j@9OE3PN }}F8vw,+>;FuQwNt5!;t)" ;FuQPNt!;t'F_^]̋UVW};tGFGF3GG_^]̋UQ@3ʼnEWtVRp^E_3M3迺]̋UQ@3ʼnEWt'VQp^M3_y]["̋VW7t0S_ E;uW+j3GG[_^̋QVq+s7+1W?+ƃr'+F+;_s3;sR^̋VW7t5S_Nt;uW+jY3GG[_^̋USWtVSV^E_[]̋Vt)VSW+j[t@uj^_^[^̋UU Mj]̋UU Mj]h4j P}QMjZe؋V]uQQSsN>+MEt$;tk;}uV+j EFEFHuu@jj̋UQ@3ʼnESW{$t ;VrPփc$^M_3[ɷ]̋UU MVt @ujv^]j Puee>EuQM 4nj QڋE 3h1h$E谼YYuIeS<GGG um3؅xuhL4W)؅tṼaA̋US] +]WGG+;sVS"ϋVA^Su7 ÉG_[]j EQك#3h1h,E读YYuB#8eWu׋xShL4V8׋MtVq֋̃9t j1貺YY̋t !P̋VWjx>tjY3_^̋UQ++;s3;UsU]̋UV3W}FFu2w3QBrFωN_^]̋U}|t 3jB]̍A̸p̋UQ@3ʼnEEVW0wO ֋M_3^K]̋UUVtFBNJN J ^]̋UVu;tt&;t!^]̋I̋UQ@3ʼnESWGu+V0_Kup^M_3[r]̋UV\4Mt E 03.l4u|4t E NӸ@^] ̋UV4Mu*,4u<4uL4ut E 03 Qu QNM^] ̋UQQ@3ʼnEM 2SVu3ۈ]uQVQMX؅x"}uPUR q֋M^3[1] ̋Uh3PuPPh4d]̋UQ@3ʼnESW}O؅u)tVjr\^=8t <M_3[覱]̋UVuW~sF@P9Y t&FGFGFf~r63_f^]̋UVu3fFf^]̋USVWuu KuK0u{LEK`u CHEC\E$CxE(CyE,_Cz^[](̋VtVj+n3FF^̋UE9ArAyrV3f4B^]c̋UEtPRQ ȋ]̋UUSVW~;rc] +;wV~r3f P8t4~rƍ P++YP~~Yr3f x_^[]joQgu}v})3ENj^u;v+;w<eQjOZ)MeQjMAZEEËu}E] Et~rSxYjjtE~^~r63f^Mjj_jj荼̋UVuwO9qs qV2} tsA;sPju!qyr 3f3;^]p̋UE S]VW{;rp+9}s};uPE PjBjWQt6{r~r΋E WCY~~Yr3f x_^[] ̋UV3jPufFfK^]̋UEtPRQ; ȋ]̋U}VW} t$~rSt WYVjB[F~~r63f~_^]jj̋USVWuى]-3ҍ}S(ujYK,3fCKDS@fC0SHS\3{LKtSpfC`_^fSxSz[]̸;W;jt^@tLt:t(tT:J4@6, "pt:zt({t~53#~;NtEt6Ft$GtruHsca|Yu thOtYtJtBtI%uɅ~3+ u~"Ɂ 3 +̋VWV7_^̋V>t 6&^̋UыME]̋Q̋UVN<N0NVEt jLVKYY^]̋UP@3ʼnEU VW30ωM<0uT=WEE}jE؍M XE}M}E}܍MQPWW趍E5t$t=@E[t F$ t F$ tF$9~$taV,F8F F]ȉMy8=v;E}EE}EȺPjWWM U V(M_3^Ȩ]̋UX@3ʼnESV3ۍUW}]]]Ey<=E]EE]EĺPjSSS9?t}?t^?t?=@EjYE]؉EԉM܉]}]M]EPQFF FCFF F,FF FF8F FN0F,GGPwEM_^3[c]̋UVuNE F 3^]̋VNf 3^jLQ莺] 3E};9A w W9kquy,uvQ4E+Q0PQI0EWPE}P}}_Ey?=E}EE}E2PjWWlEE@tjj_~3EPME TEP)R}yI=v/3EEME܉MEePjQQ}}tAu6M=EEN HMEA} E}ϸ̋UV38VHu ЅxA@+A<;wW_A< 99u@NVEąy8=v8Eĉ}EE}EȺPjWW赈E 9>uM_3^萤]hQ3ۉ]hlp]]E||Xuy?=kE]EE]EPjSS u9lEEEE}EG,E88O88tN=@uM]jMYM؉]܉E]M]EPQSSlG4M+G0|G0xEP|Pxuy-=HE]EE]EPj넍EPh6G4M+G0xG0|EPxP|$uy=E]EE]EPjG4M+G0xG0|EPxP|*u<=v[E]EE]EPjO4h+O0PG(PQw0CuxhPO=v53EMEMEPjQQy_=؉v53EMEMEPjQQhy~ ہ1 ̋U@@3ʼnESVW3ۉ]Gw Pr ։Ey8=v3E]EE]EĺPjSSxEGHM_^3[螔]̋SWtVSV^'_[̋UQWM +MGG+;sVQϋV^uU Q7MG_]j S_ك#3h1h8EpYYu5؃u eEΉu07xShL4VtV触̋UQSVW3h1h3YYu.輑u E07}xShL4VtV_^[Y]j Seك#3h1hXEvYYu5+u eEΉu07WxShL4VtV譥j QߥڋE 3h1h,EYYuI_eS4GGG u:؅xuhL4Wf؅tV̋UVu +uWVtVu7 ƉG_^] ̸̋UUVtFBNJN J ^]̋UVMW3+;#t+tAG;u_^] ̋UUt,yr;ryVr1AF^;v2]̋UVW}Wt~ru +WV=S] jSt*~rS^~Yr3f X[_^]3f9tVqff;u+^̋UVEt jVKYY^]h6T蛣$]w$+>;FuQVt&$;FuQNt'F_^]̋V1t-jjN0jjNjjjXV1YY^̋VW7t0S_ ;uW+j軰3GG[_^̋QVq+s7+1W?+ƃr'+F+;_s3;sR^j cT?QMjZӯe؋V]uQQSN>+MEt$;t;}uV+jEFEF uujj贖̋UVWVrF ArƋ} +9}ur+QPk!r+}+WuQPC_^]̋UVM+ƃW3;#t+t $G;u_^]̋US]VWV;}MG;+;} }}s ]] ]+M;sȉM+E E+;ExE+E EEE;s jPMj;th_9~r9~rEuE uÍB M A YM9yr 9~rEuEPEAE XU ;w\_9~r9~rEuEQBE XY9~r9~r΋E uÍBEÍ A]E;wb_9~rEu9~rEuuUB M A5Y9~r9~r΋E YPEB<};_wf9~r9~rEuEuB M AY9~r9~rEuME+M PEJ X9~rMu9~rRU YBrY9~r9~r΋UuPEÍ AEY9~r9~rދE+E PEEBE CYMN9~r3_fH^[]YC̋UQQS]VSt%~ru+SVu uNU; W} +;s++E;M+;s>~rEu~rEu:USBEM A4YMuF+jPEtuM;s:~rփ~rEuS];B M AYM]~rƋUQ XuEF~Yr3fA_^[]̋UV<FFF DEt h$V蝈YY^]̋UD@3ʼnEVW}3u9wu@=WEvSEuEEuEĺPjVVgE$cA;t jVWuƋM_3^߂]̋UD@3ʼnEES] V3W3}r WHuă i $VM TEPe.}y=eEĉ'VM TEP.}yЃ=eVM TEPjoZ-}y=enVMQ TEPjmZ-}Y=vee6VM TEPjwZs-}!=v-eEuEEuEȹPjVV>e}u 3W}tVNjM_^3[]Iյ~Ŵ:rٵ̋UM3҃} tW E 3] ̋U}tWS]̋U}rWE 3]̋UE3]̋UE @]̋UE3ɉE E@]̸@̋UE @] 3A(3Q,@Q0Q4A8QjM胼 TEP!؉]yʃ=eujM@ TEP!؉]y=e?<zrMPPMoGMPE]:Tr?U}M&KE;t 7誻'}t uEjM艻 TEPjoZ ؉]=eB7jM3 TEPjmZ ؉]x=ve7jM TEPjwZT ؉]?=vFe3EEME܉MEPjQQX]&eeW]MEeO}t u IݿALW̋UP@3ʼnEE S]V3M} WEu3t WVMu TEPjtZ:}y;=v-EuEEuEĺePjVV W}uM38MEtVNjM_^3[r] ̋U}tW&$ujY3ɃIE 3]̋U<@3ʼnEESV3ۋ]W} tHt-tt WWEPWToW<}E8)t[,;LuMF PqD։Eąy3=v*Eĉ]EE]EȺ1PjSSUEċM_^3[rq]̋U3҃} VtW.39M ;u9U s<Ѕx^]̋U}t} tW <@]̋U쀹)t}uE ,3@]̋UEt-jZ;tE w  #E E 0t 3]̋UE3҃$B3]̋UU "$u Ru"tt RuH Ru ]hTKEu ]|ExEt3pEEEMEz@=vKEE3҉E̋|jYUЉMԉU؉E܉UUEPQM趌PElP)SEddEhT|l4Et3PxE| VS uyMρ1 uj8j\,ux)p3ɉ |xMtTAM茁̋UD@3ʼnE=vFAE܋AW3E}}E}E}EPjBWPQ_M3m]̋V>uVE^̋UD@3ʼnEeS] VW}(Ɔ21nuqt$urƆ2|uxmtjuhExrjMQjPh2h=Ev.eEeEEEȺ*PjjjPeEjPjh9hp8hEt5=v,3EEMEMEȺճPjQQWP<yr zrr(PQGȉMąx Ɔ(exrzrr?P'ME3_^[k]̋UH@3ʼnEU3USVJEWttu)08j<8(u78(u `6j!j81t 0616Zt*΋];u E ;AjXt G ;rk \1;u3zPMEm TEPuy==v/EEE3EEMĺeQjPPNuE ME3tPƋM_^3[^j] 3AHjXA(Q,Q0Q4Q8Q}=h@3۹SZEFN D$@F\$DjZT$H\$LD$D$D$P\$TT$X\$\$D$D$D$`\$dT$h\$l(D$D$D$p\$tT$x\$|D$D$$$$$D$ 0PjSGPD$_^[3_]htUlsًu3ҋE MDM@MH3(n=vvh@j5tatE3ɉETjZEЍEMĉUȉM̉MԉM܉EMUMEPjx-nPEP4xDDtHTLEPn3E uit 2t3 7 8(t QlpPQQh4lptS=v53EpMEMEKPjQQ3ptYlX jEl\X+QPSh4pt7=3EpMEMEPjQQ;\upPS3ۍlSPSSh4ptY u ÉlM=v3p]EE]EPjSSs2ptlPHEHL;kjl+QPSh4pt_=v53EpMEMEkPjQQ1pHtXkuPS苼HŜX躜3ɉdE9K@t{r9Nt~r6dHZyr @RPSVQ0Ptt1HLl;t8t0ltyG=3EtMEME8PjQQq0td3ҋ@<ȉXQPX\`9XEPTty@=vP3EtMEMEPjQQ/t藚ty)Xdd:fLJuƇX赚Edt djt84 Tty:=vZ3EtMEMEePjQQ.#03ɉ T<txve]̋U\@3ĉD$XSVW>`g=vsh@3۹S.t]FD$0FjY\$4L$8\$<D$@F \$DD$H\$LD$P\$TL$X\$\D$PjSGP-L$d_^[3I]hVR]lE} ]hEpEd3tx|xEf=vph@j-t^tE3ɉEpjZEЍEMĉUȉM̉MԉM܉EMUMEPjxfPE>P,xTTtX@p\E`7gE'#uit t TSty:=v^3EtMEMEePjQQI,'lGh3ɉpdt@exb'[̋U\@3ĉD$XSVW>d=vsh@3۹SG,t]FD$0FjY\$4L$8\$<D$@F \$DD$H\$LD$P\$TL$X\$\D$PjSGPU+L$d_^[3tdt WE] QME8EPh5TEE= e QEEPQM3M}3H VE脇UE TPEEy2= EuEEuEePjVVz EQMU TE384P jEEy=; e 3EVMˆ TEP#EEy2=EuEEuEePjVVEE DžtDžpDžhldtaVMDž` TEPjtZkEEy2=<EuEEuEePjVVVMDž\谅 TEPjmZ EEyA=v0EuEEuEePjVV"EE]]EQME4 TEPEEy=]e&uEMQMEEPo}EEeMj趄 TEPuEEy=voe;jM{VWEPh5T7EEyZ=v23EEMMEEPjQQ!EEtV^WRtVEtW}Dž|DžxEEEI0)EUMEE3E3HEG Pq4։Ey9=v,3EEMEMEjPjQQ eG uj0jPN V EEy=> G uj0jPNVEEy=G uj0jPN V EEy=AG uj0jPNVEEy=ۨYG uj0jPN V EEy=VG uj0jPNVEEy=G uj0WPN<V=3EEMEMEĺPjQQUus3EMxrQQPEPuutO=v/3EEMEMEĺѠPjQQuMMEP7McM3jEuPjEuPhX5Et8=v6EuEEuEĺEPjVVPEE3M_^3[,2]̋Ul@3ʼnEESVu3WEE EEuE]9Sh5EE P]uąt<=Eĉ]EE]EȺPjSSuoEx]rSSPEPuuątM=v-Eĉ]EE]EȺѠPjSS(učMMEPwMMujE]PjE]Ph5Eąt<=Eĉ]E]EEȹPjSSE{U]u uMt=jEPjEPh5Eąt=v9>덋]MU}Et$t$t3M_^3[/]3̋Q1Y̋Q;ỲytVqW9;7t?t77_^̋Atȅt AuPF̀ytV1Wy;>t >_^̋V1tV΅t AuV^̋QY̋QỸ=VvFPjf^̃9t1̋USV3W}W^^vytWS6I< ~_^[]̋UV~t vfMAFƃa^]̋V~t vf^q̋V~ t vf^̋UEV;tW8 ;>tE >_^]jjyjj̋Qyt AY̋Qyt AY̋Qyt ATY̋Qy t A Y̋U}VW} t5~r/St WESYVÃt @ujS[F~~r6>_^]̋U}VW} t6~r0St W-YVB t @ujfS[F~~r63f~_^]̋USVW}ޛW΋t~r+SWVG5QSt*~rS~^~Yr3f X_^[]̋UE S]VW{;+9}s};u( 9NrjN~r3Pfu}v})3ENj^u;v+;w<eQjOZQ)MeQjMAZEPE下 Ëu}E] Et~rS|YjjotE~^~r63f^;=Mjj>jj7j PW=uee>EuQM w<̋VWfA _^j P<ue5Ve>EuQM =ww<jvX<zzrq;rǃyr PYȅu;s3;3<̋UEQ]j X:<ue]e>EuQM v;̃!a̋UEQ]̋UQ@3ʼnEEWtVRp^M3_:(]̋U(@3ĉD$$9v$PjjR L$$3']̋UQQ@3ʼnEEPj|x@EVuPqփtMt AuEPq^uM3y']̋UQVMi u^]̋UVu 9qsq;urEyr UPYu;us3;u^]̋UVWw&Vjt 0t@;u_^]QM ^jXt:uE +EPeqteuU Q6MF9 M,mjj44̋Uhjujjh4 ]̋UVuff;uu3^]f;@jjjQ̋UjhNdPV@3PEd;utjjQxutƋMd Y^]̋UQS]VWU]Sxt'EtKQP YY3fE3f F7_^[]̋VWNffu+V_^̋UQVM }t u^]j Y!8uee>EuQMnr7̋UQQ@3ʼnEW9EPj|x=EVWPqփtυt AuEPq^WM3_$]̋VE3f$FFF (,048<@Dl^̋UVHFFF Rk@tPe4j(rEEt hpV:(YY^]j\8Y6}E ]GEEE3G,G0G4G8G#=h@jF3ɉE3ҋFBSj[MM]MMȋN 3EUĉuЍUԉE̍E܉u؉uUu苁EEEu]uEPjVGPn[M_3^V]̋Ux@3ʼnEE US]VWEM3MMMM30EM1MuuuE8NEt.Mt'09wuWE}EMEE8@ME}y;=v-EuEEuEĺϹPjVVs}u$EMEuEEE0tVEM_^3[#]̋V33jZ@q,q0q4q8q}EuI=WE3ɺнEMEMEEPjQQE1 Uˆ$$$$t!39 u=WEvTK38tNHNL tF@t džtNPNjM_^3[] ̋UE 3]3jDZNM] 3E}!; r W_3u!u!uET8tZPMD TEP7}y{=3EE]E]EePjSStAjM{D TEP ө}y=\e(u3RjM3D TEPE38ƒi}=ezrMyPMRME}tXvL vB uBjMC TEPjrZ}=eP#W}}jMVC TEPE38ƒo袨}y==v/e3EEMMEEPjQQo}u E3!uuMEtVf̋UM3҃} tW E 3] ̋U@@3ʼnEE VW3}}tWsPQt[;uMF PqD։Eąy6=v-Eĉ}EE}EȺ1PjWW`EċM_3^F]jX}t} tWAy44F 8u@#QPMreMVMM> ̋U쀹t}uE 3@]̋U}E t t 3]̋UE3]̋U<@3ʼnESVu 3W}]ĉ889uT TVͥEąy8=vweEĉ]E]EEȹPjSSEHDP.u( TViEąyԃ=ve뚋E3M_^3[9]h&[ E3ҋ}] EEEEE3UEUfEU8t. ,t1 E;t jRQ3҉UdUUAMuM3ɍP҉UE@ t@2"EppEtExE|4dEiuy?=v1eEeEEEؼPjjjuE#M3M MEMM!tPjjM ̋V3A8jZ3q,@q0q4qO=vCh@3۹St-FD$0\$4D$8\$] ̋U EMEE EEE] ̋UQQEMEE E]̋U@3ʼnEE lSV3ۉ`EWdhlp=uj_vhh@SԺtTh]؉EԋF\\}܉]E]}]EPWl{PtmPlTLLh4P`9]9d9]DdD`HELdPET?h`=dh\\MMԉ]}]Eĉ]ȉ}̉]Ћ趹EXXE]}]EPjSS诸h @h4q ldM_^3[l]̋UH@3ʼnEVW>H=vVSh@3۹S¸t>FE܋FjZ]U]@EEE]U]EPRSGP[M_3^]̋U@3ʼnEEVW3|}9}8dEdE hEl|pEtE9} =v~|EEMԍE }j^EEu}}u}Eĉ}ȉủ}ЋַExxE}u}EPjWW϶E@M_3^]̋UQQE u@ MEEE E]̋UEt1}t+ ME EEE EEEEE@]̋U }u@EMEE EEEd] ̋U }u@EMEE EEE] ̋UQQ} u@EMEE E ]̋UQQ} u@EMEE Ew]̋UH@3ʼnEeS]VW}tSp֍w DVhH9S0֋}y=vjj9u$ Vh89S0֋}y8=v//3EEMMEEPjQQN} Sq֋M_^3[!]̋VN vN$n3^̋UE 3]̋UD@3ĉD$@SVW} 3ۋ\$uXjY@D$9 v0D$\$cD$#=v23D$hD$t$dD$`t$lD$@PjVV虚t$PL$D$ S D$3PAT|$D$y`3L$Vt$SD$PjY!D$y!VL$,t$,SD$(PjYD$yVL$$t$$~SD$ PjYD$y9s t D$$5 L$$gD$$D$8L$[V@D$<+t$$D$t$$t$0t$WSt$PPh5Ta(D$y~=v0D$t$dD$`D$ht$lD$@PjVV3\$9t$ t t$ 9t$(t t$(9t$t t$tWt$Q9t$ t t$ 9t$(t t$(9t$t t$t W3L$z}p9]~}ajDžx[ DžxtWtE TtP Wt}y4=3EEMEMEePjQQc|Py4׉Ey9=v,3EEMEMEjPjQQTe|VxjP8OW}y4==3EEMEMEPjQQ|jxjP8O W }y1=3EEMEMEPjQQS|jS3ۋSP8O W }y<=E]EE]EPjSS;}Y|Py8׋}y8=v*E]EE]E2PjSS}tV@}XMؼ̋UL@3ĉD$HSVW>=v^h@3۹StHFD$0FjZ\$4T$8\$<D$ D$ D$@\$DT$H\$LD$PRSGPL$T_^[3]̋QY̋Qy t A =Y̋VjhF(jPFFF Y ^̋UVEt hVxYY^]AAA ̋UUV rWE L(EL,3^] ̋UD@3ʼnESV3Wu @j_EPEĉ]PSjhX9h9h}hEu 9]tMHtC=v)E]E}]EȺ`PjSS_E ؁ËM_^3[1]̋UT$L$t5t1}t+L$ ED$D$ D$D$ED$@]̋U@@3ʼnEVW3Mĉ}P0DuP=uv-E}EE}EȺ(PjWWgu~FVM0'9}t uM_3^]̋UT$L$t5t1}t+L$ ED$D$ D$D$ED$@]jdDaCh9M3!}/PVM0PVM!}}uEdsuMPjjVh`3EubCEPEuPVjht:VuEhEu9utkCat\=vM`At<=v-EuEuE܍EPjVV裈EMWVjM!誷q\̋Vq>t 6\&^̋V~dt v\f^̋Q7YjnaƷe2EEE2EAًE@ ~ E^뼋E@ EËMh2j*Z̋UV3MfFfPu`^]jxaҶڋE}3ɉMZRJEdMMMPh?jh:h`tO~ =u3EEME܉MEPjQQ蠆ueEeMuPEd P3Ph?jPPh4;VX]}SM 3ɍEPQQjhh;h`;uMh}hu|EE|PVjjhh;h`;uh}hh`;u|VEEPUEiExz}tt}unu3MEEEFDPVv3EuNDEEEA PQMzMEPEPFdMuMgu|(uh`;u|MuM@̋UVW};tGFGF3GG_^]̋UVW};t/GFGF3GG_^]jau]3S>~~t}uQQ$^M3WW­̅t tAu ̋U T$ L$tPtL}tFL$D$y35|$t.D$D$L$E D$D$ D$ED$\@]hb۲3\TTE0mP0@0'ud=Pv53EPMEMEPjQQÂP~ \TVH3P<@D<3Tt T̋UX@3ʼnEESVWE3E PEEEEhx;PEuy>=i3EEMMEEPjQQ=}5}t uej jjh;EPuuy=|j@jEEPh;uuy=3OGr?j@EPWh;uuy=v}j@uEy5=v,3EEMEMEĺPjQQ,|{t scEMeCEP{iuMiMiM_^3[֗]jHbYًFM+3ҋ}jQRRRP6UsUEyA=3EEMEMEPjQQa{EuMeUM+MF+ejRQujP6sEy5=v,3EEMEMEKPjQQzuMEPMuMj\b:ڋ3EWPWWWh<Wv}}Ey?=E}EE}EPjWWJzEuMW}ME+EQPu}Wh<WvEy=Q"uMUu+փ>PCPM~FN;v=E NAPMDMUj_9+A+׋FAϋFvEP}YY$~ =u~%4NNF;APMU}jY +B+FBFB NVR׉EEMPI$}YYt~ =Evz?N+EUvEʋP|YYtD~ =Ev9P3EEME܉MEPjQQ1x EPuMm= uv\-= uvD=E v*E}EE}EPjWWwuMbŦ̋UT@3ʼnEEeSVEM ډMWK+@+ PMP }MPC+GA+GG 6PjDu)~ =EGGuE+C++P3E{YYtH~ =E3EEĉMMEEPjQQvsUK+ +MB+P2 zYYtB~ =Ev,3EEĉMEMEȺkPjQQ&vMEPučMM_^3[]h%cuك\Mh:He/=PVM,<'PVMT}uDžPdsujPP3Ph?jPPVhXt#~ 3\=vx5CG+P73jWhh;Tdtj~ =\v3S\}E}EEPjWWt\P{WjMEbP^MM3WFV"h9Mu/PVMȰPSM跰}uDžHdLsu؍HPh?WVh`Xt[t6=v-X}EE}EPjWWsH\WjMP3pht:LLXt9=v0X}EE}`PjWW^sHWjM\gjRcuN+ȋ};v ljFsF+F+;s!+;sPP<e׋Nu+QQ++FF뢋Mmjjujrc]3QMBeV}uQQW^+مtV+щUt @mujEljF;F>>uuUjjjcСeEEE(E7ًE@ ~ ET뼋E@ EËMh2j*Z蝳̋UVMW3+;#t+tAG;u_^]̋UT$L$t>t:}t4QuW'D$D$ L$ D$D$ED$? @]̋U@@3ʼnEVW3Mĉ}0P0DuP=uv-E}EE}EȺ(PjWWpu~FVM0'9}t uM_3^4]̋U d$T$ L$tUtQ}tKL$D$ D$y36|$t/D$D$L$D$ D$D$D$ED$~ @]j|c83UMEP0@؍Mtf=uv/3EEMEMEPjQQ6ou~ }t u}t uލU3EEE P y3}h9M=3Ҿ/ΉU1PVM0PVM3EdEE}usuMPh?3PVh`EtQ=v/3EEMEMEPjQQnEC3ҋ0Nff;u+UUUFEPMCqPQM 3MfEEPE+EPu3jPh4<udEtM =C3ۉE]E]ESPjSSw+>;FujNt!fx;FujNtffF_^]̋US]3VSFFttW>3f_F^[]̋VtV+j٩3FF^̋UVMFV+;s"++;r PP^]̋USVWQjMZN+Q6W ^+tV+j5EGF_F>_^[]̋UV3W}FFu2"w QjZ腨FxF_^]/̋UQ++;s3;UsU]̋QY̋US] +]VWGG+;sSϋaV34Vu7 ƉG_^[]̋AjZdeEE9EEًE@ ~ E뼋E@ EڵËMh2j*Zզjzd臔eHEE踓EqEًE@ ~ E츝뼋E@ E[ËMh2j*ZT̋UVEt jV+YY^]̋VNxFh薝F ^̋U@3ĉ$S3ۍL$4V\$ \$8\$<Ŝ=h@SdD$ $$E D$ D$ jY$E$$$$$$$$$D$`PjL$@PD$LPbD$8D$T$D$ D$L$$E D$ED$BE D$L$ED$ED$5L$$t$ L$8q$^[3v~] ̋UX@3ʼnEVW>R=vjSh@3۹SbtRFE̋FjY]ЉMԉ]؋EEE܋F ]M]E]M]E PjSGPa[M_3^}]ju%~t FPjV^̋In̋VNt Of^̋Qy t A Yj uQVQMTxPUR q֋M_3^m] ̋UQ@3ʼnESW}Ou؅u)tVjrX^=8t <M_3[6m]jdf蹀}g$EeX$tW0։G$"̋UV8蒳Et hVqYY^]̋UP@3ʼnEE 5tO=@EvNE3jE؍E YU܉MUEUMUEPQRR[EPEA3A M3l]̋UP@3ʼnEUV3u:tG=@EvXjYEu؉EԉM܉uUuMuEPQVVOǁBBPr%EM3^yk]j|f~3ۉ]]]]]]EEEEEE E`}EEHtA=@uE]E]EEPjSSNrM+|xEP|Px\uy=v%낍EPM軮EPuM=MQMk}j =3EEĉMEMEPjQQJEgwVhh<P1։Eąy=v6S뜋E O GWEąy=vt% M_^3[=f]̋U<@3ʼnESV3W]č. 9tN YEąy5=vvEĉ]EE]EȺPjSSIGN"NN^ 蓩;uFyEċM_^3[`e]jDOx] 3ҋEU;A r WkUyRMU觫WE TPuyI=v/3EEME܉MEPjQQHu}tAu6MEw EOHMEA} Euw̋UQQ@3ʼnESW3ۍESPS]}t@MVp(֋^x4+t͋+EE E‹M_3[c] ̋U@@3ʼnEUVu W3}ĉ>+;rWb 99u@NVmEąy8=v8Eĉ}EE}EȺPjWWuM_3^c]h6Tv$]f3ۉ]9]|3U]M]Ey8=v{E]EE]EPjSSQ6ELEUG8MEG<}9]uVh }xt jVWYY%e̋UQQE L$D$ ]jDFhIe3ۉ]]QM]*Ey5=vKE]EE]EPjSSj566uE$jVEVVYY}tbdh(hdىs8K< P ƅPV  V3} :E>t?P6k9t gM3ۉ]]Mim=vKh@S4t5]EE]EPjMmPEP3E[-@ 3jYDf0\XfHtpf`MM؋V٫`EPHP0P PM SjM؉E趡ye3EfxxE P ؉jj0Sx3}sxPVQP-3ۍxSj۠Sj`͠SjH迠Sj0豠VMh9t  eMrgPE 7PW谼#PV蜼xP'tPK耢E K4QXDӋ؉t3ۉ3SjxfSj`XSjHJSj0=v53EMEMEPjQQ/jjx+>=v53EMEMEEPjQQW/jj`ܝjjH͝jj0辝cMetW!btVb>=v53EMEMEPjQQ.]̋U<@3ĉD$8SVW>|g=vCh@3۹S.t-FD$0\$4D$8\$u3u0jVS tV}]"EM}t uVZjDuiZE 3ۉE]]]}@}6 =v4h@Sc+t%E]EE]EPjSS*SM)uEPh5Tuy<=eE]EE]EvPjSSF*3EPO苛E4u M袵PuƇIjuuy}uXxr3f}t u]SME, TEPuyG=v-E]EE]EPjSSS)u}t?u4u0jVS tV Xt Eu}t uX̋U<@3ʼnEeS]VWG4Pr4։Eąy9=v,3EEĉMEMEȺjPjQQ(eG4Sj3ۋ0SPNVEąy?=Eĉ]EE]EȺۨPjSS&(EY] tPG4jjj0PN V Eąy1=&3EEĉMEMEȺPjQQ뗋G4jjj0PN V Eąy4=3EEĉMEMEȺPjQQDG4jjj0PN V Eąy4=3EEĉMEMEȺPjQQG4Pq8։Eąy7=v,3EEĉMEMEȺ2PjQQ&3tƇM_^3[B]̋UP@3ʼnESVW}EP3Vj[S7uuuWE=tG=v)EuE]uEĺPjVV9&E EuPUM EPuSuO=}v)EuE]uEĺPjVV%}~ u EutVNjM_^3[A]hiT}3ۉ]]]M]t^=vCh@S%t2E]EE]EPjM^PE P%ExxEl|LEUM]]"؉]y>=3EEMEMEPjQQ$]^EUG8|EG<}oE|Vh E؉] 3X|!uVME覆 TEP}؉]y>=3EEMEMEPjQQ#|]EPKEC4PY4ӉEy9=v,3EEMEMEjPjQQ]#eEWjj@4PKS؉]y=vcۨ2Ejjj@4PK S ؉]yM=v/3EEMMEEPjQQ"]}uuE@4PY8Ӌ؉]y:=v,3EEMEME2PjQQa"3ۉ]}Eƀt u]tWt jV4CYYlMX7Q̋U<@3ĉD$8SVW>Z=vCh@3۹SY"t-FD$0\$4D$8\$EG4Pq4։Ey6=v*E]EE]EjPjSS ]G4SjS0PN V uy=v].G4jjS0PN V uyG=v-E]E]EEPjSS u}tqufG4Pq8֋uy8=v*E]EE]E2PjSSu}t uuMLMfVN̋U<@3ĉD$8SVW>RX=vCh@3۹St-FD$0\$4D$8\$YE_^]j?jLeKøemu}ڸҋMh<j$Z{^̉jxjKuEe0e>EuQM .K̃l$f̃l$F̃l$̃l$6̃l$̃l$̋UMI_J]̋VWj3~@Y!F!F!džf_^̋UVjjF!F誉4Et hV<YY^]̋U`@3ʼnEeEeS]VEE WEENu3=v-E]EE]EpPjSSEBjLkcB}E uE3E~t طEPMEuEPVu} }EPO贃EG4Py4׉Ey9=v,3EEME܉MEjPjQQ eEVjj@4P8OW}y=viۨ8EH439PjjQO W }yY=v/3EEMME܍EPjQQu}}t utVE@4Py8׋ȉMy:=v,3EEME܉ME2PjQQ3ɉM}t uMt VMU"LjW?̋UL@3ʼnEE SV3E0EuĉuWHt WjI3EEEMEG3=vCh@W/t2E}EE}EPjMGPEPhEEUE|E5EPKEC4Pq4։Ey6=v*E}EE}EjPjWW }}WMEgp TEPu}y=_C4Vjj8POW}y=v`A/C4jjj8PO W }y[=v/3EEMEMEPjQQ$ }tV}uC4Py8׉Ey9=v,3EEMEME2PjQQ etVE}t uU]MEK`uVhPb}x3t jV^-YY|MCa;̋U<@3ĉD$8SVW>E=vCh@3۹S t-FD$0\$4D$8\$\Euy5=vnE]EE]EPjSS|?T||PtpLhu9|t |-l<M)*1̋UD@3ʼnE=vFAE܋AW3E}}E}E}EPjBWP_M3z]̋UD@3ʼnEAxS] V3]ĉuWtt W<j<j!Zƅt];t@;r|]VMĉuc TEP}y;=v-EuEEuEȺPjVV}uEĉtVNjM_^3[]̋QRY̋Q\Y̋V>u%~t FPjV\^̋Qy t A $Y̋Qyt AY̋VWjY_f@^̋U,@3ĉD$(9Vv$hjFtD$PjjVL$,^3]̃=8VW F Ft Fd t<3 WWFF!PF~F~4Ɖ~8~<_^̋UVEt j@VYY^]̋VN4 F!F)^FPF^̋UQQ} u@EMEE E]̋UQEME]̋UQQ} u@EMEE EO]̋UQEME]̋U}t(}t"EMEE EEEEE@]̋UE u@ MEEE EEET] ̋U }u@EMEE EEER] ̋U}t,Et% MEEE EEEEEh@]̋U }u@EMEE EEE] ̋U}t(}t"EMEE EEEEE@]̋UEu@# MEEE EEEEES]̋U }u@EMEE EEE] ̋U EMEE EEEU] ̋UQQEMEE EX]̋U@3ʼnEE lSV3ۉ`EWdhlp4=vLh@Sht;h]EE]EPjl%4PtPlXXh4\!` 9]9d9]@dE@`DEHdLEPh`=dhjTT^MMԉ]u]Eĉ]ȉủ]ЋcE\\E]u]EPjSS_h @h4A l0M_^3[]̋U4@3ʼnEVW>1=v@Sh@3۹Srt(FE]E]E̺PjSGP[M_3^]̋U@3ʼnEEVW3|}9}8dEdE hEl|pEtTE9} =v~|EEMԍE }j^EEu}}u}Eĉ}ȉủ}ЋExxE}u}EPjWWE@M_3^~]̋UQQE u@ MEEE E]̋UEt1}t+ ME EEE EEEEE@]̋U }u@EMEE EEE6] ̋UQQ} u@EMEE E]̋UD@3ĉD$@d$S]VWtSp֍D$PO}gw4UVhH9S0֋|$yR=v63D$@D$L$U9Ѕx.MU(Ѕx}u38E j HYE_^[] ̅t+S3f9t"Vrff;u+^tAu[̋USVWEP3ۉ}Q*E]]PSt }t3Qff;u+3RUAMEQRPSR t ~ x @zEPx}t3ɍUA?}x]3EVPWuSV u xE33ҋfLGE8}3҅tE Džt@uWS_^[]̋U@3ʼnESVW}ڃ'tqh@jjjEP,u cx)EPju(t3Aju$3fEx%PjEPjStMˋM_^3[]̋UV3=TWuoSEPdP~ xHh=EPEPEPu\P~ x M Tu`[ TƉ_^]̋U,}SVUUEu 3!EWjYEPY؅x`U EԋMPuu2؅x=FPVM\؅x(M؅xE~3EM^u_@^[]̋UfVufffFPVqR ^]̋SV33rt3Wf91tut+Z?ffB _V^[~ ̋UQSVu3WNff;u] +F;rKMQSx=uxt 3x V Vu_^[]̋UVjY3ɋ;wrwE0 E^]̋U3Vt-S]W} +tft fKFu_[jXu zN3fMt1^] ̋UQSVW3ҸWuuvx M rt3f_^[]Eu5ʋutf9t؋#WQPEUP׋M+xv?vAPjKP ~  x@̋3@b JBB̋U@@3ʼnE3@;tF=WEEEE3EEMQjPP-Ekt;t=WEvR봃}t9Et=WEv/E둃} t 9E t=WEv k3M3]̋U@@3ʼnESVW3}>t@=@EvfE}EE}EĺPjWWLE73CWSӋEx"WWSWWWWjjN^^~ 5xM_^3[] ̋U<@3ʼnES3VWM8 t@=@Ev`EĉMEEMEȺPjQQE1u3ɋ} AUVWxMK{{s uj YM_^3[O]jXnJ MU3ۉU]8tF=@Ev-E]E]܉E؍EPjSSE. J+ȉEs=WEvغw멋px]7;Ms=WEvq;v=WEvRp PpE_EMVEhuMWuY]]]EMuVm?]EPKuyM@EUJKJKJ K =EWv,3EE]܉E؉]E/PjSS@̋UD@3ʼnE9UVWt=:t83@9B uA 39BuA9BuAyrW7tj Y3@=@Ev/EEE3EEMĺWQjPPEM_3^]̋UVEE=w)EEQPM$M0EPL^]̋UV΁wrw E0^]M̋UE V13əʅwrw E0^]̋UE]̋UQjMhP3AA AAAA$A(AAA ̋U<@3ʼnESV3WMă>tG=WE4EĉMEMEEPjQQOEjY3}FUN j_E܋F}؉E Eąy9=3ɺ됋NUh Eąy9=3ɺ?fNU> Eąy9=vb3ɺ@NU Eąy9=v<3ɺNU Eąy9=v3ɺzjYu؋M_^3[F]̋U<@3ʼnESVWڃ?tF=WE3EEĉuEuEȺ4PjVVE[j,3EVPG EЋGEԋG E؋GE܋GEGEGuuuj E3YEEM_^3[q]3Bt;t "Њ̋U@@3ʼnEVWj_9~~F;9FN NNrNbNRtwjZ9V u.9Vu)9Vu$9Vu;uWE9Po~$2vWE9vR~(vWE9v_23T=WEvC=WEv+Eĉ}E3EEMQjPPEċM_3^]̋U@@3ʼnEV3ɉM8t@=@EvzEMEEMEĺPjQQEKEΉFE FEF EFEFEFE F E$F$E(FF(xM3^"]$̋Uh@3ʼnEESىE3VWM8 t=@E\p8+ s=WEc<1j,QEPS ?u] t=WE+jY3}MU EMUEybjY9u' tWE9 뾃?uv,tWE9 ^kj }YE̋ˉCEЉCEԉC E؉CE܉CECECEC EC$EC(KxD?WE9 v/ 3ɍEMEMEEPjQQ\EM_^3[A]̋V3ɋW%3f;uj_VHYtXVdYt3GGVTYtj6VPYtj&V\YuV`YtVLYuj__^̋U@3ĉ$E L$MVD$3L$L$=v`h@3۹StJFD$0FjZ\$4T$8\$<D$ D$ D$@\$DT$H\$LD$PRSGP5L$T_^[3]̋U S33VCEyWEEr1yrыAfu7Eft +y }uM];MuE;u2_^[]̋U<@3ʼnEV3+tZtMt@=WEvAEĉuEEuEȺ1PjVV1E 2M3^]̋UVuF;Asov2iqkqaqWq Mv39A 9v/v%v 39F ;^]̋UEttu@jX3]̋Qy t A zY̋Vh=h>YYW39~t v~vXv ~Mv~ Bv~7v~,v~!v ~v$~ v(~$F,$~(t10F,8F,pF,xF,pF, xv,V~,YY_^̋SVW,>Sh>YY83+btQShP> 9~t v~v FYv~ :Yv~.Yv~"Yv~Yv ~ Yv$~ Yv(~$Yv,~(Yv0~,Yv4~0Yv8~4Yv<~8Yv@~<YvD~@YvH~DYvL~HYvP~LzYvT~PnYvX~TbF\Y~Xt10PF\Y8F\p?F\YxF\p-F\Yxv\~\9~t v~v Yv~ Yv~Yv~Yv~Yv ~Yv$~ Yv(~$Yv,~(F0~,Yt10F0Y8F0pzF0YxF0phF0Yxv0Y~0YVOY_^[̋U eSV3uWu.h>>WSh>s >!3EPUy Wh$?h>hH?6uuj0Yȉ uh>h?YYF FA F A FA FA FA FA F A F$A F(A$ F,A( F\A,3FF FFFFF F$F(F,F\e_^[]̋UQQSVW3}u.h?$?WVh>3? Eu!h>$?WVh>>!8UEؾ$?ySh?VhH?}J}uxN~mN ~bN~ WN~LN~AN~6N ~+N$~ N(~$N,~( N0~,N4~0N8~4N<~8N@~<ND~@NH~DNL~HNP~L~P_^̋UQQS3ۋ‰E]VWu.h0BPBWWh> 0B u!hBPBWWh> B̋}u!hBPBWWh> B뤍U/yVhBhPBhH?V ]*]UWQyVhChPBhH?' SY_^[]̋U e‰ESVWu,>?SWh>W Ӌ 3ҍEBP3]?yVh0CQu?WhC> Y3YFOu3ɋA;uPWh0Dc 3 FyVhDWhH?F tSVWhA _^[]̋U e‰ESVWu,>@SWh>W Ӌ EPjZ]@yVh0CQu@WhCN Y3YFOujY;uPWh0Ds 3 FyVhDWhH?V tSVWhA _^[]̋UESM3ɉMMVWu.,EWWh0Ch> ׹0C LtLtSh0ChHEW #M* u h0ChF(yTVhG8MC* uh0ChE Y3YF}yVhFh0ChH?D ڋ}uh0ChH Y3YFEta3f9tZMQyVhPBh0ChH? G}u8MQh0Cuh@IhJo 3 Fh0ChHX YYE83tWVh0ChA2 _^[]̋UQeS]VWu) BASVh>W@ Ӌ K#E33PBAyWh0CVhH?  39E}t uj~YWVhA _^[]̋U@3ʼnEESVWE3U!E3j,E3E3ۉEĉẺEEQPuM^E u0h0BhDh>WM0B D Mu h>hDh>W>ǃt$tuWhDhHE !PEu(~ PhDhL뻋MUH)y#VhBhDhH?EăEEĉEȅu.EĹLPj$Z yVhL뺋EEE!]MU~(y#VhJhDhH?EEj`YȉE؅uhDh?YYŋEȃtQtPhDhHEW 뜋EӋȉEy:VhpKhDhH?EӋȉEyVh KjYȉEE!8!x(yVhM뤋MtPa-j Y}jdYjd3VW uhDh? YYjdVW3ɍW3A 9M@GEGẺG EȉGEG`Kuủu yVh4MhDhH?$K W xҋKWo xKW ^ xKW$M xKW(< xK W,+ yK$W0 dK(W4 OK,W8 :K0W< %K4W@ KW% Ӌ!7t!uEPyVhPDu uVuhPh?YY)SVy"VhI O!7u!u3ۉ]t"EPy VhPEtMQx؋]E@ÉE AuhpPh?YYP3f9MvuUxt+uUy&VhPhpPhH?dy '_^[]̋UQS] VW3u)BPSVh>W ӋdWWWjRjQjh5ȅu+uOVhPhPhN 3t _^[Y]̋UQeSVWu)PSQWWh>c ӋSu0Qу'EPyVhPUWyVhLhQhH?_^[]̋SV3Wu)0Q4MSWh>W Ӌ{)2t#"yVhQh4MhH?_^[̋UQQESVW3Mމ}u.h0QLWWh>U0Q 0u!hPLWWh>!P3ɍGjZ QYuhLh?YYJWuWS)t&WhLh@Q E3f CES2Y_^[]̋UQQS]3EVWtu,0QSQWWh>J ӋuQhQQYYȅuhQhQ YYWXWff;Eu+w hQh8RVWByVhLhQhH?t;_^[]̋U S] VWE3҉UUuhRhRh>a jWX_EPEPEPRWQxuPWuhRhR!t u/}tVWuhRhS3E_^[]VWuhRhpT̋U S] VWE3҉UUuhRhTh> jWXMQRMQRWPxuPWuhThUB3tu}tVWuhThUفu!MMQPEPjWuxt, VWuhThpT ts#_^[]̋U SVW} 33MEڅt3EP`yVhPh,WhH?OEEPWjjSudt/bWSuh,WhVI _^[]̋Q"VWRWltWVhTWhW_^Y̋UQVEPhjh Xh`u u\VhpXhXhYL3^]̋UQSVWE3PhS]hYh`tVhZhZhZ)M$[WhZetVhThZhN9]t u\t _^[]̋U SVW3M}}}B؅t Sh8[hd[hNEE]]f9;EP9y9VhPh\PhH?byVh\Phd[hH?FEtNf|C\tFE/Py VhpPhd[hH?}]]}EzPZx}WhTyhp؅tShxyWhd[h[hxyWhd[h\9t#hd[h[mYYj[]_^[]̋UQeESVWPhjuR`tVu hbh0cw~] @bM&VSt VhTwNMTb&VSuӍw ,Mhb&VSuMG\PSbu0MGTPS|buMGXPSbtVhRhbhN)}t u\e tt tuhbhcYY_^[]̋U SVW3EVPVhVVVuuRX؉]tSu h8dhaxT] 9wt4wM|dSyVh,Wh8dhH??.twMdSNxƃtwMdS1xtwMdSx tw MeSk$tw$M(eSJ(tw(MLeS),tw,MdeS0tw0MeSs4tw4MeSR8tw8MeS1<tw} V|dWtPVWhfhfas&MVdWttPVWhfhf*s&MVdW=tPVWhfhfst&MVdWtPVWhfhfs =&MVeWtPVWhfhfs$&MV(eWtPVWhfhfNs(&MVLeWatPVWhfhfs,&MVdeW*tPVWhfhfs0a&MVeWtPVWhfhfs4*&MVeWtPVWhfhfrs8&MVeWtPVWhfhf;s<&MVeWNtPVWhfhfs@&MVeWtPVWhfhfsDN&MV fWtPVWhfhfsH&MV(fWtPVWhfhf_sL&MVLfWrtPVWhfhf(sP&MVdfW;tPVWhfhfUWuyPhfhXg }t u\_^3[]̋USV3ۋWE]]]]u$hhhWWh>lh9]u$hhhWWh>ChnM u$h,hhWWh>,hCf9 URqyVhpPhhhH? M EUPIn ׋)h@hyVhhShH?:VShA _^[̋U SV3M!uW3u+hWShpKh> ӹpKPUtWhXihpKhN(Mh0uyVhhhpKhH?}t u\et VhpKhA _^[]hoU3ۍEj0SP P]]]]9^$t29^(t-9^,t(9^0t#9^4t9^ ׋0Q3hoA tyVhKShH?VShA _^[̋SGVWu$,EWWSh> ׋M/Qho3< tyVhKShH?fVShA _^[̋UQSVW} Ku$,EWWSh> ׋ ׋?RѹToQ VShA _^[̋SBVWu$0BWWSh>7 ׋Rѹpo VShA _^[̋VW39~vS3ۋt G,;~r[b&f_^̋VWNEN 3~8N$~ -N(~$"~(_^̋UQQeUVWM~ y VhW TqMa MQhjhpqP`uhqhMhr3 t$aVhqhMhsG3ɍEQQQQQQPEPQQQuttVhqhMhs븋EԅN9]E;vk,ȉENuhMh?M܅t@uE!_ EȉMt3҉U9UME@E3PPPPEPQRuPEPu@tPuhMhu*UMu襥}kG,PuGUBU;UgJVuhqhMhu-VhqhMhpt_hMh(tLYY}t u\eM t ށyaM_^3[航]̋UQQSVW}EP3hRVQUWW W$W(`؅t SVh$vhXvMGPV|bE؅tShRh$vhNɋMGPVb؅uыMGPVv؅uMGPVv؅tShT럋MG PV@b؅uMG$PVwz؅uȋMG(PV0wb؅uu }}t u\et,OO O$}O(uj,XGu_^[]̋U,yVWv1uj,EjP薶 uԋEj Y_^]̋U@3ʼnEu3@eEVW}PEP8_^M3}]̋U3ҋM EUUUUSVoWu',ESVh>W Ӌ$9UuXwЃVhtwYYEPhjhwh`؅ShxVhxghTyhTtPhxyVhy QQfy Whd[EEPhjhwh`؅tShxVh({uhjjj!E3عh@w# PRRj EuSVh{ uhoVh |I3PPhP8Vh|/UEeYYPubx5}u#ujhjhuEu#M E3WhpVhH?Et tPEt.jPu!~ PVh| }t!u\tPhxVh }}t=hTyhTtPhxyVh}XhxyVhP~ _^[]̋Quh~h~5YY3YÅu h~h(B plphQ Y̋U eʉMSVWu,XwpSVh>W Ӌ}u0B̋E pu뾃 QhoVh@UEPp] uVh37yWVh`U $uSuE VhYYtSY_^[]̋UMSV3EuމuuWu,PS@WWh> Ӌ}zu0BΉ1o]uDho uh@h0 Wh@hhMQMQVhpp Ej0uWh@h#EPEVh@0puWh@hŋE3j@Z QbYuh@h?YqEEPVS蓰 EPESh@0ptE3Sh@h\f CEރ t tSY}t u_^[]̋USV3UuEމu]Wu,HwSWVh> ӋMuP˅u0B1gu?u uhh< Vhht~MQMQVhpp Ej0uVhh2 蜸=h@3۹SV$F$$DŽ$$F tf PfD$D$$$DŽ$$t D$P \$T$$$PjSGP~$_^[3覚]̋Ud@3ʼnEeEMS]VuWPEEPjjSWqht ~o eE;E r ;EwQ= EvCEE3Eȋ׉u̍M؉u~ӍM~EPjVV}EM_^3[ؙ]̋U@3ʼnEMSVU3EdWM]]FPhShh`Ej_t2=v&E]E}]EȺPjSSP}]3ɍEA3PQSMMhxEĉEMEPjShx3҉]Ή]axEĉEE}Pj_Wjh4]6E}PWjhȇ4Eĉ]PjS]h4}ċxEĉEEĉ}PjSh4]Ή]xEĉEEĉ}PjShX4]Ή]xEĉEEĉ}PjSh44]Ή]vxEĉEEĉ}Pj2jhh4]Mx]ăeEP}ĺ4h3Whx"Ex}čMͣWS3Vuuuuuu軧؉]y=vxU9TϝEPuTjui؉]y8=v=EuEuEEȹPjVV%{]}TjYMM_^3[]̋Ud@3ʼnESVWEd3ۍM]]jPhSh9h`EtQ=v-E]EE]EPjSSszE~ :ESSSSE]PSSE]PSSSutul9]u9]tÉ]uMkUM1؉]y1=3EEMEMEPjQQ`jYuc~ Ey=vFEjYE 9 v&M躈E]]EEPjSSey]MM_^3[@]̋U@3ʼnESVW3]}赦訦蛦莦聦tgrHEEP40Eyxj_j^95v$3ɉuEMEMEȺPWQQkx H赛Ey=23}jYH9}t7 HoEy=Ej^EuP,0Ej_y.95vo3ɉuEMEMEȺuPWQQwI9ur}v>9=v3Eu3ɉE؍EM܉MEMuMEPVQQ[wu3EEEEEEP<0Ey,95v$3ɉuEMEMEȺPWQQw3@9EujEXEE}EEPD0Ey,95v$3ɉuEMEMEȺtPWQQvEtYtKt>t.9=vB3ɉuEMEMEȺ"PWQQ`v3@EE 3@E3@EEeEP@0Ey.95vq3ɉuEMEMEȺPWQQvK}|}2v?9=v3Eu3ɉE؍EM܉MEMuMEPVQQueeEP00Ey.95vt3ɉuEMEMEȺOPWQQsuN}| }v?9=v3Eu3ɉE؍EM܉MEMuME PVQQ'ueEEP80Ey,95v$3ɉuEMEMEȺPWQQtMuuuuuuujuנEy=U.EPjjjH萘E@=v]3ɉuEMEMEPWQQ4j^) E95v)uFE}}EEȹPjWWtEM_^3[]ho聣ڋ}Ph`uQMacujjM7듍M}UsUԋ EPw8y 895vR`8h}Uԉ\dsUԍln<PVjj nEPs8x3,MjjxEj^G;$%b=v53E8MEMEPjQQm8jjM E|895vCe8eeeE,uEu|XPVjjm,u  jY󥋵8h)pRE 3ۉ8<8]蟥=j^Xh@Sl@39llRt@It7@t.7t%.t%tDžuAAA  A||Axx $(,Att048j_95v(]Eu]E\PWSS?gx<95v)]Eu]EPjSSf95v)]Eu]EPjSSfDž8S蘕̋U4@3ĉ$0SVW>7=h@3۹SfmF3ɉ$FjZ$$$9D$$V L$$$$ $fV$(vfFD$D$$8$<DŽ$@$D t>t5t,t#tޒtՒD$u\$ND$$H$L$TjZ$P@D$D$$X$\$`$d@D$ D$ $h$l$p$t@ D$$D$$$x$|$$@D$(D$($$$$@D$,D$,$$$$@D$0D$0$$$$@ D$4D$4$$$$@$D$8D$8$$$$@(D$]Mz uuuuWVPhh"4$EE}}3=v*EẺ]E]؍EPjSS]EEEPPËeMMM  E3ۈ]Ubq=v9h S]t%EẺ]E]؍EPjSS ]8]tMqEhEE@EMu|jlp>ڋEeeEE EEj4E}ueM$Ԉh0hȈEEPEQoEM3PuuVjMEMpuy:=vM3EEME܉MEPjQQ[uu׍MuuuSouMtՊjhh蜀Mu} }UU3ۉ]jYMÉ];s;]MuuWuVPh@h"4 EE}}3=v*EEЉ]E]܍EPjSSZEAEEPPËeMMM  E3ۈ]Uq=v9h S$[t%EEЉ]E]܍EPjSSjZ8]tM7oEhEE@EMu}jhp袉ًEeeEE j4E@{ueM$ԈVh0hȈEEPElEM3Puu,VjME)M2nuy:=vJ3EEME܉MEPjQQIYuuӍMuuWuMtKB jlh` ~Mu}}U UUU3ۉ]jYMÉ];s8]MN?uuWVPhh"4EE}}3=v*EEЉ]E]܍EPjSSNeXE} EEPPËeMMM  E3ۈ]U-q=v9h SXt%EEЉ]E]܍EPjSSW8]tMJlEhEE@EMu}jd4q ڋEeeEE j4ExueM$Ԉh0hȈEEPE%jEM3PuuVjMEMkuy:=vG3EEMEMEPjQQVuu׍MuSuMt踾诅̋j^q4ejw]3@YFFd"^ Otdw>MtQjj̋V~0F,#t v0f0N 2N#Xmj4VvYY^̋UQ@3ʼnEWtVjp^M3_yq]̋I tQ_̋UEVt"t jVJvYY^]̋UEVt"t j VvYY^]3t;t3t+t#tttt2̋UыM豃E]̋UQVEP}vt u^]jhh NyMu}}U U3ۉ]jYMÉ];s5]MuWVPh^h"4EE}}3=v*EEЉ]E]܍EPjSSSExEEPPËeMMM  E3ۈ]U{q=v9h SSt%EEЉ]E]܍EPjSS"S8]tMgEhEE@EMu}jPqZ‰EM}3ۉ]]ttj4su]M$X3C]EhhLP]oeEMEREMԉ]]1Mfuy:=vE3EEME܉MEyPjQQQuUMWuuMM̋UUMtF}t@3ɉ UEMMy `!EEMEEEE۸' ]jhhNvMu}}U U3ۉ]jYMÉ];s5]MuWVPhh"4EE}}3=v*EEЉ]E]܍EPjSSPEuEEPPËeMMM  E3ۈ]U{q=v9h SPt%EEЉ]E]܍EPjSS"P8]tMdEhEE@EMu}jPqZ‰EM}3ۉ]]ttj4pu]M$X3C]EhhLP]obEMBREMԉ]]1Mcuy:=vE3EEME܉MEyPjQQNuUMWuuMM}̋UUMt6t2}t,"ME EEEEEET' ]jhh^sM}uuU U3ۉ]jYMÉ];s5]MuVWPhh"4EE}}3=v*EEЉ]E]܍EPjSSfMEsEEPPËeMMM  E3ۈ]Uq=v9h SMt%EEЉ]E]܍EPjSS0M8]tMaEhEE@EM}ujPqh|‰EM}3ۉ]]ttj4mu]M$X3C]EhhLP]}_EM?REMԉ]]?M`uy:=vE3EEME܉MEyPjQQKuUMWuuMMz̋UUMt6t2}t,"ME EEEEEE@b' ]jq1{eA0Q  xEMEPzEEՋE@ ~ E븋E@ E츿h2j*ZMjqzeA0Q  EMEyElE{ՋE@ ~ E츘븋E@ ERh2j*ZMYjr zeA0Q  DEME*yEEՋE@ ~ E+븋E@ Eh2j*ZMƋ̋U@@3ʼnEVW3}ątat]E>P}ȉMąy:=v-Eĉ}EE}EȺ9PjWWGIMċ E@M_3^e]jdhnMu}}3ۉ]jYMÉ];s2]MiZWVPhh(#4EE}}3=v*EEЉ]E]܍EPjSSgHEmEEPPËeMMM  E3ۈ]UNq=v9h SHt%EEЉ]E]܍EPjSSG8]tMk\EhEE@EMu}j\dr-w3ɉMMj4hueM$8ݿhXh,EEPEBZEM3PuuVjME谵M[uy:=vA3EEMEMEPjQQFuWӍMuMtۮ>=' Ev-EMEEMEPjQQpFEujph[kuM} }UUUU3ۉ]jYMÉ];s;]MuuWuVPhЍh(#4 EE}}3=v*EẺ]E]؍EPjSS|EEjEEPPËeMMM  E3ۈ]U|q=v9h SEt%EẺ]E]؍EPjSS#E8]tMYEhEE@EuM}jhr[tUME3ɋ} ]MEMj4eueM$8hXh,EEPEZWEM3PuuVjMEȲMXuy:=vI3EEMEMEPjQQCuUMSWuunuMt>=' Ev-EMEEME%PjQQCEr jhh`ihuM} }3ۉ]jYMÉ];s5]MWuVPhVh(#4EE}}3=v*EẺ]E]؍EPjSSBEhEEPPËeMMM  E3ۈ]Uq=v9h SBt%EẺ]E]؍EPjSSCB8]tMWEhEE@EuM}jxs{qډ|}3ɉMMuG=' E EMEEME.PjQQAEj4bueM$8hXh,EEPENTEM3PuuVjME輯MUuy:=vF3EEMEMEPjQQ@u|MWSWuMtojdhȾeuM}}3ۉ]jYMÉ];s2]MWVPhh(#4EE}}3=v*EEЉ]E]܍EPjSS@ETeEEPPËeMMM  E3ۈ]Uq=v9h S7@t%EEЉ]E]܍EPjSS}?8]tMJTEhEE@EuM}jtosn3ɉMMuG=' EEMEEMELPjQQ>Ej4`ueM$8*hXh,EEPEQEM3PuuVjMEMSuy:=vA3EEMEMEPjQQ>uWӍMfuMt(mj`h0buM3ۉ]jYMÉ];s1]M?0VPhh(#4EE}}3=v*EEЉ]E]܍EPjSS]=EbËEEPPËeMMM  E3ۈ]U's=v9h S=t%EEЉ]E]܍EPjSS<8]tMDQEhEE@EuMj\dr l3ۉ]j4]]u]M$8̴hXh,ECP]Ή]5OEM3PuuVSME褪MPuy:=v@3EEMEMEPjQQ;u׍MuMtУjjdhP`uM3ۉ]jYMÉ];s4]MuVPhh(#4EE}}3=v*EẺ]E]؍EPjSS@;EH`EEPPËeMMM  E3ۈ]Uq=v9h S+;t%EẺ]E]؍EPjSSq:8]tM>OEhEE@EuMj\driكeej4V[ueM$8lhXh,EEPELEM3PuuBVjME?MHNuy:=vA3EEMEMEPjQQ_9uWӍMuMtjah̋UL@3ʼnE=zVEv=3MjEuZE؉UuuEuEPRVVL8EM3^T]̋UD@3ʼnEVW}E3VPRQ7uuM=Ev-EuEEuEĺPjVVQ8E~( UMP.EuƋM_3^ T]̋UQQSVW}ډMu@;3MV7ugMEP؅xMutV_^[]̋UH@3ʼnEESVuWu @3ۍMS]U EPSuE]EMEPS蝾PSSVh$]uP=}v-E]EE]EĺPjSS6}~)UM-EuM9]t utVNjM_^3[R]̋UH@3ʼnES]MVWu@}#MuuZtRWu׋:EYYt<=v/3EEMEMEĺPjQQ5E)33jƋM_^3[Q]̋UVWw$Vxt 0t@;u_^]QMA *+̋UL$D$L$T$D$ ]jlsdى]3E#}}}}}}E#}E;MEu6uMP6}}}EE]PEptAPVK 轿Ept&PVK8袿E@{C uvE@ CPE@$CTE@%CUEM;U;+;MuQMMUtDA$dMuMMUt,}#]t ul03]}E]MQMQ0p0u* u}}}E#t ul0C0E;t!ǕEEFEF}}}u~;Mu QMM3Ee3AMu=v-E}EE}EPjWW3u}E#t ul0M"}E#t ul0aql0̋V~#t vl0f^̋V~#t vl0f^̋QVq+s7+1W+ƃr'+F+;_s3;sR^>j saQMjZZte؋V]uQQSN>+MEt+t OڙM;uV+jbtEÉFEÉF`uugjj4[̋UeSjd]R3Y@UJ BBx#tCVW3}uAAA j3ya0^q4fA !AHqLfA8_APfAT^SÉ []jt`ekEE_EeEtًE@ ~ E츑뼋E@ EOËMh2j*Z`r̋Vq jjN8ӞjjN Ǟ^őUEVt"t jdV QYY^]̋UVu;ttAF!aߋ^]̋UVuWV4#F G _^]j\>t_u @F3E#]]E]Pduy=vqBh4E]P]jE]PE]PuyA=v-E]E]EEPjSS.uEUEM,EEMPEPu\uy>=v-E]EE]EtPjSSd.uEMM}E#t u`S]̋U@@3ʼnEVWu @E3PQ}$Eąy==v-Eĉ}EE}EȺ:PjWW-E 0E3B;t ~jY;~jY;t ;v jYʉ3M_3^dI]ht\ڋu @jNEjPV Ej'PVtu 3Zhp@ye/nPW@HiMYPEP@0i4Dž0dE<T@s@04PjjWh`3=Ev-E]EE]E PjSS&EUjL0uV3EPVVjjuuuYEztK=v-EuEEuE} PjVV)&E uM@Eu}PuWjjuO=v,3EEMEMEH PjQQ%~ u 7V^73VuM轐ThuTى]E3ɉ|E EME#MjMHY3E3PhHPW0uyD=v-E}EE}E PjWW$uu[`}}UEpUdՉȍFPAP`Pjh@u4lEtdhtR,xtpttR,E=tK=tD=v*E}EE}Eu PjWW#uuG=j[v&E}E܉]}E PjWW#E}PE}PWEEPW}WIuztJ=v+3ɉ]EME܉ME PjQQ'#uM?ud蕻Epu胻E]PEPpEPdWuT=v1E3ɍEME܉]ME PjQQ"~ u:d|Pd\p˭MPpBup dFE8t=8t88t38t.HQp|EHPqM׬M=WuvBj[M}ЉM̉]ԉ}؋EEE܉}]}E6 PSWW!uEtP,}t u,}E#t u8pP̃9t1,̋UVW}V+;v9GsH+NF+FS9;sA;r6P臇Pm+FPjv}J [F_^]q8̋V~#t v8f^̋USVW3ҋQMBbN+Q6W ^+مt Vj+cEljF;F>_^[]jtuOE ]EEEEE3EEEE1M?PVDuB~ =Evx3EEMEME PjQQJE3PWuHtH~ =Ev*EuEEuEJ PjVV;uEUEMEU}uJff;Eu+ыMAEff;Eu+M ;K;F;O;jEMPMPF3EEfEEMuZMPuMZj/jMBMݩPuMZj/jM"j3MPSB[j/jMj3MPV([j/jMj3MPW[MQff;Eu+wFMQff;Eu+$w+9Cw!9Fw9Gw}3wMEP==Wuv/3EEMEMES PjQQcu3MPjM}t u_LEh6vL E3~3E EE4vP=W4 4}E}EEPjWW4j/Xjf00WP؉,u=W4Q 3E}fE}(E$SWE؋PIPMWjM蔊(M1}MsMPQ@؍Mzt,~ =4 x(,$C;^r=Dž4Wvo @j/Xjf0S0Pȉ,uK=Dž4Wv- 4}EE}EPjWW43E}fEE8;+PSEPPM3ۍMSj8}EsE8QP@tS~ =4v-J 4]E]EEPjSS:34,3A,;Nr=Dž4Wvʺ j/Xjf00QPouG=Dž4Wv3E4}E}E PjWW\3Dž\XfH,E;t(+PQE؋PPHdSjM߇G;~r3Dž4W=vk t ^̋V>tjjx^j`w:E3]EE EEEEEusG=WEEuEEuE#PjVV ER`Euuuuwtew @VȉE59Es?=Wuvo3EEME܉ME PjQQ >PuMnMMGMtGt EP譄MGuMt}8̋U,eUMtF}t@} t:}t4EE؍M؍EE܍EEE EEEEEEE^@]j<+xb8ډMEM M3ɉE9KMMȄME׉Mj^tUEMM؍UEM؋9usU؋E9usMPQMl}ȍM+}jjE_;ruӍM}MEEЉ@tWuċȉpVx P8 33҉PP MERUЉEUMj36/1̋UQuMM.]jUxR7eAQ0A0A0A 0A 0 EEa6EEًE@ ~ E뼋E@ E츲ËMh2j*ZH̋UQU SًVu+΋CC+;sWQbmˋ|iWmU _uQ3+^C[]j x5uee>EuQMo*pd5̋UEM=w&EEQPM-M0EP-].jx5уeB 0BR 0EE4EDESًE@ ~ Ep뼋E@ E.ËMh2j*ZG̋UQVM u^]hx4ڋTu X@1u==@X3EXME܉MEGMs==WX<3EXME܉ME#Ht[jZ+t>t9=WX3ɉU䍅XME܉ME]f~r63f3LPPRHHPRPLPRSTWT0DztS=v53EDME܉ME PjQQD l3j^pf\!E\Pe3ufEEMHue3uftELu3ɉEfEt QPt}tst}MsMԃp\s\LVRHRQPQPSTWT0@uz3ۃ=Tv3T]EE]EgPjSSQT~ SjtXLSjMpFPt H\PG3ۍtSjSjMp\PXSj\cpI=Xv53EXMEMEPjQQX0jy.1eA Q0A  PEEJ0EEًE@ ~ E 뼋E@ EËMh2j*ZBjhAy\0ًE3EE EEE}sG=WE;E}؉EE}E#PjWWpE RME"ssV9Es9=WE3EEM؉EԉME4PjQQu3PMMMMWE3PM}$uyB=v-E}؉EE}EPjWWuMj'MjUMu}jYMC . M"ЉUyȃ=vٍE}؉EE}EPjWWUj8y.‰EU3ۉỦE]]ԍUԉ]}MԋsUԋEƒ}sMủ]PQM]ĉ]E}+}j^_;rbӍMEMWuV1yP./M E3uЉEVEPMaVjM3X-&jy-eAQ0A 0A 0 EE,E1E@ًE@ ~ E]뼋E@ EËMh2j*Z?jyF-eAQ 0`EEk,EEًE@ ~ E뼋E@ E츨ËMh2j*Z?jly},ًE3EE EEEEE}sG=WECE}؉EE}E#PjWWERMEs sV9Es9=WE3EEM؉EԉME4PjQQu3PMMMMWE3PM} uyB=v-E}؉EE}EPjWWuMf/MfUMu}jMCYMC* MЉUy=vٍE}؉EE}EPjWW#UjpGz*MEMEE M3ɉEM9NMMEMىMMMME}j_}ЉM̈MUEMj^9usUE9usMPQM]+]e]}EMUEMԋ9usUԋE9usMPQMA}M+}jj}jjMEj^;rl;E;rbЍM[}EE}tKEwG;r9Pu_ ϋ]V_lP{* Suw UPd* 3!3҉WWW WMERUMEEnM\M\3y( jqz)eAQ0A0A 0A 0 EE(E"E"ًE@ ~ E;"뼋E@ E!ËMh2j*Z:jzh(уeB 0B 0rReEE'E"E"ًE@ ~ E"뼋E@ E츐"ËMh2j*Z:jlz'E3ۉEE EEEEE]sG=WEiE]EE]E#PjSSE7RE3E]fE]wƃt=EWcwV;Ev3EW=/*eEPEy;3ۃ=E]E]E܍EPjSST;ut3EW=v=뻋"PSM螁3ۋUMEPMG MGuMSje%jz&eAQ0A0A 0A 0 EE*%E$E%ًE@ ~ E+%뼋E@ E$ËMh2j*Z7j{x%eAjZ8A0M&E3ۋES]z]Ew$E%E%ًE@ ~ E%뼋E@ E츜%ËMh2j*Z7̋UW3Džt)Vf9:tuu W+^WUt x:_]̋UT@3ʼnESVW3EVPVu}t=Eغ?PjhEuPuuuuEPj_WEPEPEPEx29}u-9uÄu9=vEغPjVV1=v&EuE}uEȺ PjVV2M_^3[]̃9t1̋V~0t v0N^W~t jvtYY^̋UH@3ʼnESV3W}]8t==EvwE]EE]EĺPjSSHUuMV;t t jPYY9]t juYYWNEM_^3[]̋UD@3ʼnESV3E8WuuG=EEĉuEEuEȺJPjVV:EX093t==v-EĉuEEuEȺPjVVuċtjYjZjđ3 Yđj Y  @jY483Tj Yd5L5PX\ؑ` VMuPEPEph+hXjVVjj}ąyW=v-EĉuEEuEȺPjVV}ċutVNjM_^3[b ]ÍE;tu}ĉűU@@3ʼnESV3ۉ]8uA=EEĉ]EE]EȺPjSSQN09u:=v-Eĉ]EE]EȺuPjSS]ċS ^4f^8^:EċM^3[ ]̋U E EMEE] j0+{}ȋMMċt H.qMge}]ԋuԋ΃}EAs]ԃe+A;#Et$+ދ3PtfvE@EY;u}Ⱦ(zP3ۍMSV)tOEă8G4u#t@G48_:t0u+jn[tHG48_:t;u jOhG8 @yPSVMtG9SjM\&yu 38G8t 8G9@POG:3̋UQ@3ʼnEVWy$uMQp֋M_3^ ]̋USWtVSV^E_[]jU{#уeB0Mø----ڸ-ҋMh<j$Z /jP{}u]W}u3G#OM3@G GGE GGO O$O(G,#O0EVuX=Ev/3EEMEMEPjQQFEPMhXEPVO Vuw Vu6=Ev3EEMEMEPjQQ39Kthw0>t 63ɉ{rQVjSHu==EH3EEMEME_PjQQ̋UQVEPY[}t u^]̋UQVEP#N}t u^]̋U@3ʼnESV3W9st'=vEغ2PjVV3C }E33uBuUuuujY@MKPTCDCHCLC XC0`@\dhDžlDžp txUuuĉucCPEPdPEPLutG~ =v,3EEMEMEȺPjQQU]|$essj<u tk=vDh jt/3EEMEMEȺPjQQuUtE@Em M|xNjM_^3[]̋V~#t vf^̋UQVFtEEPTf^]#̀ytA q̋UQAEEPT]̋UыME]HHHH3̸̸HHHH3̋UE t3t tt3@0VuuY}P Y] jhX jYu3E߳]e=tj tM & C h%h%KYYu)jt h%h%!YY2ۈ]EEd >tVYtu ju63@b Ê]ubYj hx 3YHEe=tjqO %EjuYY3Ʉu \uYj h e} t t]1]SWuuSWuuSWuh uu"uSPuP SVuSVuetuHSWu~ut5SWu?$MQ0h3uu uËe3uEx ̋UQ@3ʼnEV5,u3@uu u֋M3^>] ̋U} u uu u ] ; @uX̋UjYju=ujYh 4P,]̋U$jtjY) 5=ff fff%f-EEE( jXkǀjXk @LjX DLh]̋UEVH<AQAk(;tM ;J r BB ;r (;u3^]Ë u2dVP;t3u2^ð^b tI P Yt22 jYu2uԣϣ̋UQ@3ʼnEu} uuMPuUuu YYM3N]t hp YK= jFY@̋U}uu2]u jY]̋U Vutu|t*u&h Yt2Wh  YD@uWj Y+ȃ3@EEE EEuE_^]jjheMZf9u`<PEuO f9uAE+PQJYYt*@$u!EE3Ɂ8ËeE2̋Ut}u 3]̋U=t} uu苡u胡YY]̋U@3uȃuV hYY#E]̋UuYH]̋UuEY]̋UEV tVY^]̋UuYu}uuYt]̋Ujh{dPQSVW@3PEdeueY<3Md Y_^[]̋Uee@VWN@;t t УDfEPE3EE81E<1EEPDME3M3M3;uO@u G ȉ @щ D_^]h h 6YHHHH̸̋U$SVj6tM)3hVP5( |xffftfpflfhEEDž@jPEVPE E@EEVXۍEEۉEEPu !(^[]̃%(̋UQ@3ʼnESV;sW>t ׃;r_M^3[]̋UQ@3ʼnESV;sW>t ׃;r_M^3[b]hp@d5D$l$l$+SVW@1E3PeuEEEEdËMd Y__^[]Qhp@d5D$l$l$+SVW@1E3ʼnEPeuEEEEdËM3̋Uuuu uh7h@@]̋U%,,S3C Hj `te3 H3VW,}S[wOW EԋMEineIE5ntel ȋE5Genu jXjYS[wOW tCE%?=t#=`t=pt=Pt=`t=pu=0=0=0}EEE܉EE|2jX3S[]ԉsKS EةEEt =0_^tm H,tUtN3ЉEUEM3Ƀu3u/H,E Ht ,H3[]3@39L'̋UQVuul ^]̃aaA, ̋UQVuu,^]̃aaA,,̍APY̋UVFP{EYtVY^]̋U M'h,EPM̋U MShdEP)%%%%%%%%%%%% %$%(%,%4%8%<%D%h%l%p%x%|%̋Uuuuu udpQy]̋Uujuu u]̋Uuuuu u p0y]̋Uuuuuu up0O y]̋Uujuuu u]̋UEPjuu uW]̸\0QRPh PZY%0UQ 8u0u2'EEPh4GxE3ɄA 8]̸L0QRPh,SPZY%l̸ 0QRPhLPZY̸0̸ 0̸$0̸0̸0̸0̸0QRPhlOZY̸0̸l0QRPhCOZY̸p0UQ Pu0u2'EEPhxE3ɄA P]QRPhNZY̸T0̸x0QRPhNZY̸d0QRPhSNZYUQ du0u2'EEPhxE3ɄA d]̸40QRPh MZY̸,0̸<0̸D0̸@0̸00̸80%%%%p%l%h%d%X%̋Md Y__^[]Q̋M3̋M3Pd5D$ +d$ SVW(@3PuEEdPd5D$ +d$ SVW(@3PEuEEdPd5D$ +d$ SVW(@3PeuEEdPd5D$ +d$ SVW(@3PEeuEEd̋D$L$ ȋL$ u D$S؋D$d$؋D$[QL$+#ȋ%;r Y$-%@̋T$B J3J3|̋T$B J3J3|̍MT$B J3J3}f̋T$B J3~FËT$B J3^J3T\~ËT$B J3-J3#~̋T$B J3~̋T$B J3J3X̋T$B J3J3i̋T$B J3J3?̋T$B J3eJ3[ ̋T$B J3;J31̋T$B J3J3P̋T$B J3J3̋T$B J3J3m̍M@T$B J3J3;̋T$B J3aDËT$B J3:J30h̋T$B J3̍MY+T$B J3J3 ̍M =T$B J3J3Lf̍@8+T$B ,3sJ3ix#̍L+`P+x7:M/:M':dk*06@, xT$B 3J3̍t76\S,M7,h*M*M0X0T$B D3mJ3c(̋T$B J3C̋E eM|)ËT$B J3 ܆̍M_0MA0T$B J3̍M)M0T$B J3J3<Z̋T$B J3p:̍M(T$B J3XJ3N̍h~)M8)M*T$B d3J3(̍M9)T$B J3J3d̍M)T$B J3f̍x7x4l30o7Hd7P)\(Q(`87|'M%77!T$B D3J3̍#('@3R)'M6&x6M6T$B 3hJ3^P̍M-M-T$B J3.ȉ̍0XX@'M5HV&t5\5H5&H{XT$B 3J3f̋T$B J3hF̍M%MbM%T$B J3TJ3J̍M`tT!T$B P3J3 ̍(ϲT$B 3J30̍x4l邲TT$B 3xJ3nd(̍MU4Í|C4T$B 031J3'ËT$B J3J3ÍM%$T$B J3J3w̍xϰX 0H/d#X/T$B 3XJ3ND̍x@QT$B <3J3 ̍]<鉮T$B 83J3\̋T$B J3J3x̋T$B J3J3(N̋T$B J3tJ3j$̋T$B J3JJ3@X̋T$B J3 J3̋T$B J3J3̋T$B J3J3 |̋T$B J3J3R̋T$B J3xJ3nP(̋T$B J3NJ3D̋T$B J3$J3̋T$B J3J3̋T$B J3J3̋T$B J3J3HV̋T$B J3|J3r,̋T$B J3RJ3Hx̍MT$B J3 J3̍PT$B L3p̍8|MK`xT$B x3J3I̍Mvx=#McT$B 83QJ3G̍"ZCMT$B 3J3̍8IT$B 3J3Xsj4uYYËE eMÍMT$B J3kJ3aj4u^YYËE eM+ÍMJT$B J3J3 j4uYYËE eMÍMT$B J3J3|k̋T$B J3ȺKj4uYYËE eM[ÍMzT$B J3CJ39<̋T$B J3Ȼ̋T$B J3`̋T$B J3j4uYYËE eMÍMT$B J3J3;j4u~YYËE eMKÍMjT$B J33J3)j4u&YYËE eMÍMT$B x3J3|j4uYYËE eMÍMT$B |3}J3s-̍MtMMtMjMT$B J3+J3!l̋T$B J3̋T$B J3̍M }M|T$B J3J3a̍@0RXuT$B ,3cJ3Y̍MG|T$B J31J3'̍pMT$B l3J3D̍MMT$B J3J3xo̍MMcM[d=p=T$B D3dJ3Z̍MMwM1T$B |3J3̍M(@MH`xT$B 3J3,f̍MMMT$B J3tJ3j$̍M3ËT$B J3;J31ËMʘMHM(Lj4uYYËT$B J3ܿ̍MMT$B J3謿J3袿<\̋T$B J3肿p<̋T$B J3bJ3XD̋T$B J38J3.D̍MT$B J3J3̍MM M!T$B J3ľJ3躾(t̋T$B J3蚾hT̋E eM鿚ËT$B J3a̋T$B J3A0̍\%MtfT$B <3J3̋T$B J3ֽ̍M< T$B J3讽J3褽^̍MЏM)MəT$B J3lJ3b̋T$B J3B̋T$B J3"̍M T$B J3J38̍M}MuM MMT$B J3証J3螼dX̋T$B J3~8̋T$B J3^H̍MET$B J36J3,̋T$B J3 ̋T$B J3̍MT$B J3ĻJ3躻@t̋T$B J3蚻pT̋M4M M,ζT$B J3YJ3O ̋T$B J3/̋ T̋UQSEVu;t&W>WjPu>;u_^[]̹jX4h4`4"|||+@+"}<}d}}  - ?-@Z- - --@-"}1L"(~8~L~ A"~LL"~L"~~ U LU ,U U@ V"| gV LvV ,V V@V"$8 W L!W ,0W MW@\W"Ѐ W LW ,W W@W"DTh YX LhX ,wX X@X"܁ Y LY ,"Y ?Y@NY"t Y LY ,Y Y@Y" 0 ^Z LmZ ,|Z Z@Z"ȃ [ L[ ,"[ ?[@N["<\N""N"؄@f@Gf"DN"p1O"cOnO" ؅OOOOOOOOOP"L;PFPQPYPdPlPtP"̆@~"P",Q Q"`5Q=Q"܇@:@‡" Q"LQQQ" R";R" cRnRyRRRRRRRRR R R" xS'S2S=SHSSS[SfSqSyS"SS"(SSSS TT T+T"@"TTT" TT"TUU"HUSU^UiU"̋UUU"U"4V V"hRV]VhVsV~VV"VV"WWW%W0W"<eWmW"pWWWWWW"čW"'X"<dt@ @k "oX"ԎX"$@"XX"(Y0Y"bYjY"YYYYYYY"H ZZZ"QZYZ"Ȑܐ@e&"ZZ"DZZ"x["S[[["ؑ[[" [["@\\\\"I\"\"ܒ\\\"\"DTh 8n LGn ,Vn sn@n"ܓ n Ln ,n o@o"t [o Ljo ,yo o@o" 0 o Lo ,p %p@4p"ȕ p Lp ,p p@p"<L`  q L/q ,>q [q@jq"Ԗ q Lq ,q q@r"l| Vr Ler ,tr r@r"( r Ls ,s 2s@As" s Ls ,s s@s"4DX 4t LCt ,Rt ot@~t"̙ܙ t Lt ,t  u@u"dt lu L{u ,u u@u"   v Lv ,&v Cv@Rv" v Lv ,v v@v",<P Ew LTw ,cw w@w"ĜԜ w Lw , x &x@5x"\l x Lx ,x x@x" #y L2y ,Ay ^y@my" y Ly ,y y@ z"$4H [z Ljz ,yz z@z"̟ z L{ ,{ -{@<{"Tdx { L{ ,{ {@{"``a"(h" pph{hhhhhhhhh h h"i#i+i"0]ieimi"liiiii"ij j" _ Lg ,o w @"_j"Ȭj"j" jj"T,k4k?kGkOk"ȭ  L ,  @"Lkk"kk"Įخ X+ Lg+ ,v+ +@+"L\p + L+ ,, ",@1," {, L, ,, ,@,"|  - L- ,(- E-@T-"$8 - L- ,- -@-"б @. LO. ,^. {.@."DTh . L. ,. /@'/"ܲ v/ L/ ,/ /@/"t 0 L&0 ,50 R0@a0" 0 0 L0 ,0 0@0"ȴ J1 LY1 ,h1 1@1"<L` 1 L1 ,2 +2@:2"Ե 2 L2 ,2 2@2"l| (3 L73 ,F3 c3@r3"( 3 L3 ,3 3@4" [4 Lj4 ,y4 4@4"4Ln`L;A"n"'o2o=oHo"ooo"@ooo"|ppl|"йVpcpcp|p|px-"8pppppt"qqq,q,q"@xcu"`~qqqqqxcuxUg"  L , " _ Ln ,} ",@  L , -<|"н6rCrCr\r\rpbt"8rrrrrxBT"rrr s s|"AsNsNsgsgs|&"sssss"ܿ@"4DX X Lg ,v @".t6t"htst~t"<t"htt"(u"Zubujuru}u"uuu"Puv vv v+v"cvkvsv"vv"vvvvw"`3w;w"@ @n " w"Lxx#x"  L , @"$ux"Tdx 7 LF ,U r@"xxx",<P  L ,  @"9y"kysy{y",<P $ L3 ,B _@n"  L , @"\y"z'z/z7z?z" " L" , " ="@L""l| " L" ," "@""z"4DX $ L% ,% -%@<%" % L% ,% %@%"d#{" - L- ,- - -@-"<u{{{45I6h6;;N;@<" C<H B CtH B+ lP,  p,Pp pL<ht,4\0 P-@L0-D 0X-H0L<-Ll0H`.XT0T.\x0\.`d0d/h,0xl fV4NT :"ResetPhoneExLoadBitmapWNgcDecryptWithUserIdKeySilentNgcPackAuthBufferNgcChangePinSilentNgcGetDefaultDecryptionKeyNameNgcGetPolicyNgcRemovePrebootProtectorNgcAddPrebootProtectorDeviceLockGetLockSettingDeviceLockSetPinNgcCredProvFreeBufferNgcCredProvEnumLogonKeysCredUnPackAuthenticationBufferWNetGetJoinInformationNetApiBufferFreePolicyManager_GetDeviceLockPolicy_DevicePasswordEnabledPolicyManager_GetDeviceLockPolicy_MinDevicePasswordLengthPolicyManager_GetDeviceLockPolicy_AlphanumericDevicePasswordRequiredPolicyManager_GetDeviceLockPolicy_MinDevicePasswordComplexCharactersPolicyManager_GetDeviceLockPolicy_DevicePasswordHistoryPolicyManager_GetDeviceLockPolicy_DevicePasswordExpirationPolicyManager_GetDeviceLockPolicy_AllowSimpleDevicePassword-Ϻf@Ap@ngccredprov.dllDllCanUnloadNowDllGetClassObject2`@0__p`a\p]^^1Ld .?AVtype_info@@ .?AVbad_array_new_length@std@@ .?AVbad_alloc@std@@ .?AVResultException@wil@@ .?AVexception@std@@ .?AVhresult_exception@@ .?AVwin32_exception@@ .?AVSafeIntException@@ .?AV?$_Binder@U_Unforced@std@@P8NgcPinScenarioLogonUI@@AEJJ@ZQAV3@ABU?$_Ph@$00@2@@std@@ .?AV?$_Binder@U_Unforced@std@@P8NgcPinScenarioCredUI@@AEJK@ZQAV3@ABU?$_Ph@$00@2@@std@@ .?AV?$_Binder@U_Unforced@std@@P8RemoteNgcScenario@@AEJP6GXPAU_TP_CALLBACK_INSTANCE@@PAX@Z1@ZQAVRemoteNgcScenarioLogonUI@@ABU?$_Ph@$00@2@ABU?$_Ph@$01@2@@std@@ .?AV?$_Binder@U_Unforced@std@@P8RemoteNgcScenarioLogonUI@@AEJPAXPBGW4_BIO_FEEDBACK_PRIORITY@@@ZQAV3@ABU?$_Ph@$00@2@ABU?$_Ph@$01@2@ABU?$_Ph@$02@2@@std@@ .?AV?$_Binder@U_Unforced@std@@P8RemoteNgcScenarioLogonUI@@AEJXZQAV3@@std@@ .?AV?$_Binder@U_Unforced@std@@P8RemoteNgcScenario@@AEJP6GXPAU_TP_CALLBACK_INSTANCE@@PAX@Z1@ZQAVRemoteNgcScenarioCredUI@@ABU?$_Ph@$00@2@ABU?$_Ph@$01@2@@std@@ .?AV?$_Binder@U_Unforced@std@@P8RemoteNgcScenario@@AEJW4BluetoothRadioState@NgcUtils@@@ZQAV3@ABU?$_Ph@$00@2@@std@@ .?AVruntime_error@std@@ .?AVrange_error@std@@N@D0euw-NFEH/дtek(ԺCy&|=Hghiu soq k l t m nweuw-NFEH/дtek(ԺCy&|=Hghiu soq k l t m nweuw-NFEH/дtek(ԺCy&|=Hghioqkl t m n rfuw-NFEH/дtfk(ԺCy&|=Hghvxfuw-NFEH/дtfk(ԺCy&|=Hhv.F2~lr `P  @& jT8 D~\>"4n |t"p\ \^ ZR:"J rH"v    $ D l |  F%      ,8FR`v   p R 2     tj`N | T<dD. v, z^  ##j$`#,#""$`$$$"%#zD"!!!t!vbN8H2^!>!&!!Dv@$   \$h\\ 00,Z$(< tx l 6VDL zT @X @.$ R^L PX p  dLL 2<l @Xj $|  ,0  4 .F2~lr `P  @& jT8 D~\>"4n |t"p\ \^ ZR:"J rH"v    $ D l |  F%      ,8FR`v   p R 2     tj`N | T<dD. v, z^  ##j$`#,#""$`$$$"%#zD"!!!t!vbN8H2^!>!&!!Dv8_initterm9_initterm_eapi-ms-win-crt-runtime-l1-1-0.dll_o___std_exception_copy_o___std_exception_destroy_o___std_type_info_destroy_list_o___stdio_common_vsnprintf_s_o___stdio_common_vsprintf_s_o___stdio_common_vswprintf_o__callnewh_o__cexit_o__configure_narrow_argv_o__crt_atexit_o__errno_o__execute_onexit_tablec_o__initialize_narrow_environmentd_o__initialize_onexit_tablef_o__invalid_parameter_noinfog_o__invalid_parameter_noinfo_noreturns_o__purecall_o__register_onexit_function_o__seh_filter_dll_o_free_o_iswascii_o_iswcntrl_o_iswdigit_o_iswlower_o_iswprint_o_iswpunct_o_iswspace_o_iswupper_o_malloc_o_memcpy_s_o_memsetY_o_toupper__CxxFrameHandler32_except_handler4_common_CxxThrowExceptionapi-ms-win-crt-private-l1-1-0.dllCryptAcquireContextWCryptGenRandomCryptReleaseContext#LsaConnectUntrusted)LsaLookupAuthenticationPackage$LsaDeregisterLogonProcessCRYPTSP.dllSspiCli.dllGetModuleFileNameA CreateSemaphoreExWHeapFree SetLastError&ReleaseSemaphoreGetModuleHandleExW6WaitForSingleObjectGetCurrentThreadId#ReleaseMutexFormatMessageWGetLastErrorOutputDebugStringW7WaitForSingleObjectEx!OpenSemaphoreWCloseHandleHeapAllocGetProcAddress CreateMutexExW GetCurrentProcessIdGetProcessHeapLoadLibraryExW EventWriteTransferDisableThreadLibraryCallsEventSetInformationEventRegisterCoCreateGuidEventUnregister RoOriginateErrorDecodePointer$ReleaseSRWLockExclusiveAcquireSRWLockExclusiveEncodePointer%ReleaseSRWLockSharedAcquireSRWLockSharedIsDebuggerPresentUnhandledExceptionFilterSetUnhandledExceptionFilter GetCurrentProcessMTerminateProcess/IsProcessorFeaturePresentQueryPerformanceCounterGetSystemTimeAsFileTimeInitializeSListHeadEventActivityIdControlInitializeCriticalSectionExDeleteCriticalSectionLeaveCriticalSectionEnterCriticalSection?CoTaskMemFreeConvertStringSidToSidW4GetLengthSid+EqualSidLocalFree>CoTaskMemAllocConvertSidToStringSidW*RegSetKeyValueWCoGetMallocLNCryptGetPropertyUNCryptOpenStorageProviderSNCryptOpenKeyKNCryptFreeObjectRaiseExceptionLocalAlloc FindResourceExWLoadResourceLockResource SizeofResourceRegGetValueWRegOpenKeyExWRegCloseKeyRegCreateKeyExW RegDeleteTreeWLIsValidSidBCryptGenRandom>NCryptCreatePersistedKey\NCryptSetPropertyINCryptFinalizeKeyDNCryptEncryptHNCryptExportKeyCopySid,RegSetValueExW RegDeleteValueW TrySubmitThreadpoolCallback CreateThreadpoolCleanupGroupCloseThreadpoolCleanupGroupCloseThreadpoolCleanupGroupMembersGetComputerNameExWCompareStringOrdinal CredIsProtectedWCredProtectWapi-ms-win-core-libraryloader-l1-2-0.dllapi-ms-win-core-synch-l1-2-0.dllapi-ms-win-core-heap-l1-2-0.dllapi-ms-win-core-errorhandling-l1-1-1.dllapi-ms-win-core-processthreads-l1-1-2.dllapi-ms-win-core-localization-l1-2-1.dllapi-ms-win-core-debug-l1-1-1.dllapi-ms-win-core-handle-l1-1-0.dllapi-ms-win-eventing-provider-l1-1-0.dllapi-ms-win-core-com-l1-1-1.dllapi-ms-win-core-winrt-error-l1-1-1.dllapi-ms-win-core-util-l1-1-0.dllapi-ms-win-core-profile-l1-1-0.dllapi-ms-win-core-sysinfo-l1-2-1.dllapi-ms-win-core-interlocked-l1-2-0.dllapi-ms-win-security-sddl-l1-1-0.dllapi-ms-win-security-base-l1-2-0.dllapi-ms-win-core-heap-l2-1-0.dllapi-ms-win-core-registry-l1-1-1.dllncrypt.dllapi-ms-win-core-registry-l1-1-0.dllbcrypt.dllapi-ms-win-core-threadpool-l1-2-0.dllapi-ms-win-core-string-l1-1-0.dllapi-ms-win-security-credentials-l1-1-0.dllCRYPT32.dll LocalSizeapi-ms-win-core-heap-obsolete-l1-1-0.dllRtlUnsubscribeWnfNotificationWaitForCompletionRtlQueryWnfStateDataeRtlSubscribeWnfStateChangeNotificationRtlGetDeviceFamilyInfoEnum[RtlIsMultiSessionSkuRtlNtStatusToDosErrorRtlInitStringApiSetQueryApiSetPresencentdll.dllapi-ms-win-core-apiquery-l1-1-0.dll?_Xbad_alloc@std@@YAXXZ?_Winerror_message@std@@YAKKPADK@Z?_Xout_of_range@std@@YAXPBD@Z?_Winerror_map@std@@YAHH@Z?_Xlength_error@std@@YAXPBD@Zs?_Syserror_map@std@@YAPBDH@Z?_Xbad_function_call@std@@YAXXZmsvcp_win.dll&__std_terminatememmovewcschrwcsstrResolveDelayLoadedAPIDelayLoadFailureHookLsaLookupUserAccountTypeLookupAccountNameLocalWLsaOpenPolicy LsaLookupSids2LookupAccountSidLocalWLsaCloseLsaFreeMemoryDevCreateObjectQueryDevCloseObjectQueryapi-ms-win-core-delayload-l1-1-1.dllapi-ms-win-security-lsalookup-l1-1-2.dllapi-ms-win-security-lsalookup-l1-1-1.dllapi-ms-win-security-lsapolicy-l1-1-0.dllapi-ms-win-devices-query-l1-1-1.dll@CertFreeCertificateContextUuidToStringW RpcStringFreeW%CertDuplicateCertificateContextEventWrite#RegQueryValueExWRegLoadKeyWCompareStringExRegOpenCurrentUserUuidFromStringWUuidIsNilRegEnumKeyExW!RegQueryInfoKeyWCryptBinaryToStringWCryptDecodeObjectEx.RegUnLoadKeyWCertCloseStore5CertFindCertificateInStoreYCertOpenStore7CertFindExtensionRpcExceptionFilter-SleepNdrClientCall4PStringFromGUID2LoadStringWAGetTokenInformation&CoInitializeExBCoUninitializeInitializeSRWLockConvertStringSecurityDescriptorToSecurityDescriptorWlRpcBindingCreateWiRpcBindingBindmRpcBindingFreeRPCRT4.dlllstrcmpiWapi-ms-win-core-string-obsolete-l1-1-0.dllRtlFreeAnsiStringRtlInitUnicodeStringRtlUnicodeStringToAnsiStringNtQueryLicenseValue?_Decref@facet@locale@std@@UAEPAV_Facet_base@3@XZ?_Init@locale@std@@CAPAV_Locimp@12@_N@Z9??0?$codecvt@GDU_Mbstatet@@@std@@QAE@I@Z?do_length@?$codecvt@GDU_Mbstatet@@@std@@MBEHAAU_Mbstatet@@PBD1I@ZC?do_unshift@?$codecvt@GDU_Mbstatet@@@std@@MBEHAAU_Mbstatet@@PAD1AAPAD@Z?do_out@?$codecvt@GDU_Mbstatet@@@std@@MBEHAAU_Mbstatet@@PBG1AAPBGPAD3AAPAD@Z?do_in@?$codecvt@GDU_Mbstatet@@@std@@MBEHAAU_Mbstatet@@PBD1AAPBDPAG3AAPAG@Z?do_encoding@?$codecvt@GDU_Mbstatet@@@std@@MBEHXZ?do_max_length@?$codecvt@GDU_Mbstatet@@@std@@MBEHXZ?do_always_noconv@?$codecvt@GDU_Mbstatet@@@std@@MBE_NXZ?_Incref@facet@locale@std@@UAEXXZ??1?$codecvt@GDU_Mbstatet@@@std@@MAE@XZ4?out@?$codecvt@GDU_Mbstatet@@@std@@QBEHAAU_Mbstatet@@PBG1AAPBGPAD3AAPAD@ZB?_New_Locimp@_Locimp@locale@std@@CAPAV123@ABV123@@Z?_Addfac@_Locimp@locale@std@@AAEXPAVfacet@23@I@Z1??Bid@locale@std@@QAEIXZ?id@?$codecvt@GDU_Mbstatet@@@std@@2V0locale@2@A??4?$_Yarn@D@std@@QAEAAV01@PBD@ZmemcpyGPGFF0G@G GGG0IpIII@I`IPIF@HFHGGPHx(@p  ( 8 H X hPE*Q*Q*Q8*AMUI4VS_VERSION_INFO 98 98?$StringFileInfo040904B0LCompanyNameMicrosoft Corporationv'FileDescriptionMicrosoft Passport Credential Providert*FileVersion10.0.14393.7330 (rs1_release.240812-1801)8 InternalNamengccredprov.LegalCopyright Microsoft Corporation. All rights reserved.HOriginalFilenamengccredprov.dllj%ProductNameMicrosoft Windows Operating SystemDProductVersion10.0.14393.7330DVarFileInfo$Translation (HH Q  GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG(HH Q  GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG(HH Q  GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG^^^GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGjjjGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGSSSGGGGGGGGGGGGGGGGGGGGGSSSSSSGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGuuuGGGGGGGGGGGGGGGjjjGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGjjjGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGjjjSSSGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGuuuGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGSSSGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGSSSSSSGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGuuuGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGSSSSSSGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGjjjjjjGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGuuuGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGSSSGGGGGGSSSGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGSSSGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG^^^GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGSSSGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG(  FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF#O}M i9Fl1 MUIMUIen-US000 00000 0$0(0,00080@000000000000000111 11111 1$1(1,1014181<1@1D1H1L1P1T1X1\1`1d1h1l1p1t1x111111111111111111111111111111222 22222 2$2(2,2024282<2@2D2H2L2P2T2X2\2`2d2h2l2p2t2x2|222222222222222222222222222222222333 33333 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|333333333333333333333333333333333444 44444 4$4(4,4044484<4@4D4H4L4P4T4X4\4`4d4h4l4p4t4x4|444444444444444444444444444444444555 55555 5$5(5,5054585<5@5D5H5L5P5T5X5\5`5d5h5l5p5t5x5|555555555555555555555555555555555666 66666 6$6(6,6064686<6@6D6H6L6P6T6X6\6`6d6h6l6p6t6x6|666666666666666666666666666666666777 77777 7$7(7,7074787<7@7D7H7L7P7T7X7\7`7d7h7l7p7t7x7|777777777777777777777777777777777888 88888 8$8(8,8084888<8@8D8H8L8P8T8X8\8`8d8h8l8p8t8x8|888888888888888888888888888888888999 99999 9$9(9,9094989<9@9D9H9L9P9T9X9\9`9d9h9l9p9t9x9|999999999999999999999999999999999::: ::::: :$:(:,:0:4:8:<:@:D:H:L:P:T:X:\:`:d:h:l:p:t:x:|:::::::::::::::::::::::::::::::::;;; ;;;;; ;$;(;,;0;4;8;<;@;D;H;L;P;T;X;\;`;d;h;l;p;t;x;|;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<< <<<<< <$<(<,<0<4<8<<<@>> >>>>> >$>(>,>0>4>8><>@>D>H>L>P>T>X>\>`>d>h>l>p>t>x>|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>??? ????? ?$?(?,?0?4?8?>>$>/>:>U>Z>g>r>}>>>>>>>>>>>>???(?E?J?W????  0"0H0m0t02 33&3?3\3h3t3333334 4D4\4t444425e5555555 6%6R6666777.74797W7c7l7x7777:P::*;1;D;a;k;;;;;;4>>?'?3?K?S?`???????????00-0b000111"13111>222243d333+4C4M4k4444505L5X5j5R6Y6k6r66677J7Q77588;9W9a99995:;:H:S:l:w:::::;/;5;c;;<<<<==@=G===>>>>)?@y000011^1~11111111111112=2]2}2222223!3/343:3@3D3h3x3333334H4X4q444444'595K5T5w55555-6>6d66666787X77777778<8B8I888889G9s9~996:O:s::::::: ;;);:;O;b;;;;;;;<<<,#><>C>>>>>>?P060F0000 1v1111114,4@4U4g44445#5*535555566$6Z6o6~6666677)7F7W7`7u77777788L8a8p888888 9989I9R9g999999::Q:f:u:::::: ;;8;I;R;p;;>>>!?@?q????`Z0r000 11)1G14 4+4145b667:7I7c777778i88888888899 9,979=9D9Q9o9y999999&:s::::: ; =\=f======5>>>>Q??p01^23@4c4m444444445K5Q5|555556!6+6o6667F7j777778'8-8R8\8888 9999999:?:V:i:z::::;0; <&C>P>>?q???0 000-0000 11)1C11;2q2222>3`3y33333 44'4h4u444535>5H56f775>Y>>>>>??6?M?d?0j000001 1#11%2C2M2222233X33334c4444b5555A66j777788_8k8888829W9a9999_::<<>?040>0}00000 1,161_1e11111 2292C2|2222 3W33334Q4y444444445Q5q566-7A7h7r77!8b8888F9m98:::: ;-;7;W;{;;;;;;<4<=J3Q3X3_3333394s4z4444444 5(545E5d5l5}5555566 666667788B8'949=9F9[:i:p:w::;;<5>??"?/?K?U???(0H0P0m00000000101<1V1s111 2,282c22222223034383<3@3D3H3L3P3T3X3\3`3d3y33333)44>5M5k5u5F77778899A9i99 ::2:>:d:i:t::::i;;;;;;)=>`>x>>>>>>????G>L>>>>+?P?Z????001 1h111 2222333$414S4]44444B5y5555\6b67!737V7`7777748@8d88888 9-979:H:`:::;#;-;w;;;;<)<<<< ==?===>o>>>>"?9F9h9~99994:C:c:m:::::::;;;:;M;Y;t;;;;;;;;<)<4> >>>Q>]>{>>>>>>>??-?@?L?f?y??????0%010R0e0q00000000121:1\122.2=2S2283\3f3p333333344q4}44444"5,565E5g5q55555526>6K6W6r6666677 88888889<<=c=v==>>>>>?,?E?m?y??!0Y001'1411$27222222 33"3)333333444455Q5u5555556-666K7S777788:9@99 :@:K:p::; ;Q;z;;T[>>>>??? 50U0_0000011111#2B2b2l223 3Y333334"4P45)5<5o5556667)7077777778888C9h9r9::::;9;Y;;;;; <\===M>>>>> ??)?H?T?y???00#0x00001111g222Z3}333333334(44 5#545z5555556 6I666666777C8888989D9c9999::@:i:q:::;k;z;;;;<$=<=D=_=====>???@00$0H0R0000041E1c11111i2v2}22$3+323933Y4g4445Y5~55c6666667Z7b77777888 8$8(8,8084888<8@8D8Y888 999:::;;;;;<#<9A>K>5?X?e?v???????Px00#040X0b00000)1222C3333H4|4444456688888e99999::";P;;;< <<<$<,<6<=6O6W6n6y66666<7k77777777838888%99:.:::::::;?;E;O;Y;`;i;w;;;;;;;;; <*$>@>O>l>}>>>>>>> ??*?G?c?r???????pT00/080M0r0000000 1(171T1e1n111111122A2^2m22222223+3<3E3Z33333333 4<4K4h4y44444455535X5t555555566<6M6V6k6666666717M7\7y777777880898N8n88888889+9:9W9h9q999999: :":G:c:r::::::: ;&;7;@;U;u;;;;;;;q<<<<<<<<==<=^=p=x=======>>>?!?K??090_0i0>111111122)292I2T2u22222233#3L3t333333 434N4r444455'5/5I5Q5q5555555555555555596666661777 8868G8S8{888888949E9m999999 :-:y:: ;1;U;u;;;;;; <2>H>O>V>>>>>?P?U?c????=0^0h0n0000N1Z1l111112272?2Z222223-3<3Y3j3s3334414X4b444444455&5=5F5M5666778 858?8o899: :H:X:{::::Q;;;3=M=f=z========= >>+>4>C>O>o>x>>>>>>>>8?f?s?????00W0o000000011W1j111c2n22222333&353P333334B4Q4s4444545B5X5555555 666666667&707Z7f7v7777p88#929O9`9i99#:D:N:T:w:::Y;~;;;;;;<<Q>m>>>>>8????? 00>0H0^0000000011)1s1}11111111&202?2]2g222455556(616F6l6{66667 7?7g7x7 888899?999 :-:9:[:e::::::;*;i;z;;;;<^}>>>d??0+0@0V0\00000V111111122O2n2z2222393H3f3p33333344?4_44444:5H5z555626Y6666607Q7g77778%8a88888899Q9w99999:0:i:~:::::;F;O;;;;; <&<<<<<1=a===== >>U>\>{>>>>$?H?d?z????000A0]0j0y00000141>111 2*242K2222I33334=4Q4x44415r5555V6}6H778 88@8J8j888888 99G9i9999999T:::::::X;;;;;;>N>h>q>z>>>>)?? 00C0001;1E11112 2C222223"333R3^3o33333S44444H5p5555566 7N799!:::::;';/;R;\;~;;;'>>>J>e>>?4?Q?o?y?????"0(0T0y0000$1T1j111111 2'2I2X2x2222223393U3e3333334&404g44444455555?5n55555J6n666747>7l7{7777777 8858P8f8w888889*999c999994:C:a:k::::::::;;+;I;S;l;;;;;s<<<<<< ==3=U=G>`>h>p>x>>>>??????90000c1112,262c22223G333 44j44435S5]555$6/6x66666 77777777 88.888889)919Q9c9k9999999::,:`::::;0;<;s;;;;;;;>)>I>S>g>z>>>??9???????? 00 0U0 111l12B2R2j2222S3b3344144455-5556V666777778^8|889/9e9p9999: :>:H:e:::8;_;;;;;;;;;;;3<:=O=X=m======= >,>H>W>t>>>>>>>?"?+?@?b?~??????000.0K0\0e0z0000001161R1a1~1111112$252>2S2s2222222303?3\3m3v333333 44'4G4c4r4444445]5|555 6t77775888888 9#9c9t9{99999999::H;; >3>C>l>>>>?5?[?e????@010A0f0v000=1d1n1x111223c3333344(4E4N4k4t44444555o6z666666666 737J7p7z778%8<8P8t8888 99}99999::#:/:;:`::: ;&;1;|;;;;;<<<<<<=0=R=h====== >*>@>a>w>>>>>?U?o?~??P 00001122223\4>5C5N5[555555~666666666667-7<7Z788889 99!9/949?9I9a9f9k9999999:":-:3:^:u:{::::::;;;#;N;e;k;~;;;;;;;;(<-<9e>j>o>~>>>>>>>>>> ???/?4?9?^?s??????` 00/04090a00000151:122 333k3333#44 50595E5j555556'6E6K6T6a6 7 77888"8,848>8J8T888888888G9N9e9l9999999: :%:h:m:x:::; ;S;X;];;;;;;;;;;Mf>l>w>>>>>>>>? ??V?[?`????????p 0%0*0N0_0d000000.13181\1s1x11111222 2%2]2j2v2{222222223 33U3Z3_3q3v3{33333334444-43484O4T444444505M5e5}5555555+6D6I6f6x6}666666797Z7{77777 8A8b88888899"9G9[9`9~9999999::#:7:<:Z:n:s::::::::;;6;J;O;m;;;;;;;;;<&<+F>>>>>>>>>>>s>>>>>??)?9???L?W?a?g????????@0 0"0(0B0000000011 131>1H1N1]1c111111111 22 2+212X2l22222233(3/3<3A3T3Y33333333334<4K4P444444 550555H5M5x555555564696n6s6666667 77)7W7u7777 88n888@9Z9w999):V::;;O;l;;;3>8>=>Y>^>>>>>>>??)?8?z?????"030O0Z0g0000 111Y1h1z1111^2p2v222223)313>3Y3w3333314>4Y4444445D5a5n5555566\6h666666707A7L7j7u7777788.888c88888859S9]9999#:<:c:n::::::;;;;;?>>111122222F3b3l33333 44*4F4P44447M8Y888889#9+9B9|99999<<=!='=@=c=h=====(>S>>>>>?#?k?????00(0a0o0000&101511111Q2V2\2u222223.3]33333%4E4O44455(5W5s55566777'7J7O7p7777878t8888999:::':J:O:p::::;7;t;;;;<<<<<==<=A=b====>)>f>y>~>>>????000/0g0v000000 1&171=1[111110252;2T2w2|2222 3<3d33334(424b444455 5&5I5N5o5555666666677R7x7777778)8.8O88888989b9l99999:&:g:::::::;N;\;;;;;!<+4>c>>>>>?4?>?w??????0!0Z0h0000111y11111&2/2X2v22222R3o333344^4i4445 5$5U5555 677?7b7m77778808;8U8l8w88899::`:o:::::d;~;;;;;;;;< <%N>>>>>>>>??????f000000151L1W1t1222223'33333304V4`4z4444445#5)5K5U5t55555 6)6366667 7*7F7c7m777777;8E8N8j8t88=9v9999999e:|::::2;<;N;q;;;;;m=====2>I>g>>>2?K?]?o?}?????|000000121_1i1112 2>223334N4445J667$727777778`8h8899==>>>>>>>??5?f?s????? 0@0e0|0000+1S1]1/2{33334 4{45?5N5k5|55555*6=6o6667)7:7]7g7f8v8888H9v99999:: :5:^::::;E;c;m;;;;<<,=;=X=i=r=======>C>m>w>>>*?H?R????? 01 2262G2P2e2222222+3U3_33333 4434S4[444 5&575@5U555555k6666666677787B7l777778w888889 9969;9@9J9T9Y9^9c9i9o9s9y99999999999999999:: :+:0:>:M:k:u:::: ;;);G;Q;;=->6>i>>>>>>>>>? ?-?K?b?l?r???0 060M0X0b0;1U1u111112 2o2z22223e3p3 4<4L4m4r444444 55%575V55R666677$727;7A7W7^77777777777777777788 88 808@8P8Y88p999:X:k:~:::::::: ;;|;;;;;><<<<<="=1=:=G=v=~===== >>>>>???#?6?`?l?q????@0.0000000p1y1111122*252>2[222223 3%3M333333333444(444@4L4X4d4r4~44444444466(676V6p666666677!717A7Q7c777777788A8Q8c8888889919A9Q9a9q999999999::y:::*;;;#N>>>>>>#?U??P-0000'1a1111-2U2333U4u444:55555 66D666W7778A8a8q88889T9999C:[:|:::;E;;;;;C>m>>>>???i????`0;0e0000.1`1111223D3d3333L4l444445556N666777(8b8 9O9991:Q::::;v;;;;>e>>>>?r??p0H000P1p1112(22233334 4Z4445L555U66666%7_77778G8g888 9+9]9999:c:::::;G;g;;;; <<( >>H>P>X>d>>>>>>>? ???$?,?4?>L>`>p>>>>>>>> ?0?>$>,>4><>D>L>T>d>p>x>>>>>>>>>>>??D?L?T?\?d?l?t?|??????????T0 000,080@0t0|0000000000001 1,181@1t1|1111111111112 22H2X2h2222222222222223 3,3L3X3x33333333 404@4H4|4444444444445555<5D5L5T5\5h5p5555555555566<6D6L6T6\6d6l6t6|6666666667$7,747<7D7L7T7\7l7x77777777777778 8(848T8`8888888889$9,949<9D9L9T9\9d9l9t9|99999999::<:D:P:t:|:::::::::::::;;;4;<;D;P;p;x;;;;;;;;;;<<$<,<4<< >>$>0>P>X>d>>>>>>>>>>>? ??$?0?8?l?t?|??????????x0 000$0,040<0D0T0`0h000000000000141<1D1L1T1\1d1l1t111111111112 22(202d2l2t2|22222222223 333$3,343<3L3X3`3333333333333,444<4D4L4T4\4d4l4|4444444444455 5(5\5d5l5t5|55555555556 666$6,646D6P6X6666666666666$7,747<7D7L7T7\7d7t777777777777 88 8H8\8d8l8x88888888999$9D9L9T9`99999999999 :::<:D:L:T:\:t:x::::::::: ;;4;8;D;d;l;t;|;;;;;;;; <<<$<,<4<<>><>D>L>T>\>t>x>>>>>>>>>> ???$?,?D?H?d?h?t?????????< 00 0T0\0d0l0t0|0000000001 11 1@1L1l1t11111111112 2(242T2\2d2l2t2|2222222223 3(30383D3d3l3x3333334$404P4X4`4p4x444444444445(585@5t5|555555555555666L6T6\6d6l6t6|666666666777L7T7\7d7l7t7|77777777778 888$848@8`8l88888888889 999$9,949D9P9X999999999999:: :T:\:d:l:t:|::::::::::; ;;;$;,;<;H;h;x;;;;;;;;;;;;<< <@>(>0>8>@>T>\>d>l>>>>>>>>>>>>>>>>>?H0(0004080<0@0D0H0L0P0X0`0h0p00000 1,1L1p11022x33x445 40800 00000 0$0,0004080<0@0D0L0T0\0d0l0p0x0x

Windows NT KPTV 6.2 build 9200 (Windows Server 2012 Datacenter Edition) i586