ó
    öÞ jIF  ã                   ó<  • S SK r S SKrS SKrS SKJr  S SKJr  S SKJrJrJrJ	r	J
r
JrJrJrJrJr  S SKJrJrJrJrJrJrJrJrJrJr  S SKJrJr  SSKJr  \r\r \r! " S	 S
\5      r"\" \"5      r#\" \#5      r$ " S S\5      r%\" \%5      r& " S S\5      r' " S S\5      r(\(       a  \\(   r)O\" \(5      r) " S S\5      r* " S S\5      r+\" \+5      r, " S S\5      r-\" \-5      r. " S S\5      r/\" \/5      r0\" \05      r1 " S S\5      r2 " S S\5      r3\" \35      r4 " S S\5      r5\" \55      r6 " S S \5      r7\" \75      r8\" \5      r9Sr:S!r;S"r<S#r=Sr>\" S$5      r?S%r@S&rAS'rBS(rCS)rDS*rES+rFS,rGS-rHS.rIS/rJS0rKS#rLS1rMS0rNS2rO\B\C-  \D-  \E-  \F-  \G-  \H-  \I-  \J-  rP\" S35      rQ\" S45      rRS5\SS6\S7\S8\4S9 jrT\QRª                  rU\8\94\UlV        \T\UlW        \QR°                  rX\\\!\\
4\XlV        \ \XlY        \T\XlW        \QR´                  rZ\ \\\\\$4\ZlV        \\ZlY        \QR¶                  r[\\\4\[lV        \#\[lY        \T\[lW        \QR¸                  r\\\#\\ \)\\
\14\\lV        \\\lY        \T\\lW        \QRº                  r]\	\0\4\64\]lV        \\]lY        \QR¼                  r^\ \4\^lV        \\^lY        \T\^lW        \QR¾                  r_\04\_lV        \QRÀ                  r`\#4\`lV        \QRÂ                  ra\4\alV        \RRÄ                  rb\\\\\\\
4\blV        \\blY         SHS:\RÆ                  S;\d\e   S<\fS-  S8S4S= jjrgS:\RÆ                  S>\S-  S?\ S@\
SA\)S<\fS-  SB\hS8S4SC jriS:\RÆ                  SD\d\e   S?\ S@\
SA\)S<\fS-  SB\hS8S4SE jrj\ RÖ                  SF\RÆ                  S8\RØ                  S   4SG j5       rmg)Ié    N)ÚWinDLL©ÚWinError)
ÚPOINTERÚ	StructureÚc_char_pÚc_ulongÚc_void_pÚ	c_wchar_pÚcastÚcreate_unicode_bufferÚpointerÚsizeof)
ÚBOOLÚDWORDÚHANDLEÚLONGÚLPCSTRÚLPCVOIDÚLPCWSTRÚ
LPFILETIMEÚLPSTRÚLPWSTR)ÚTYPE_CHECKINGÚAnyé   )Ú_set_ssl_context_verify_modec                   ó6   • \ rS rSrS\4S\4S\4S\4S\44rSrg)	ÚCERT_CONTEXTé'   ÚdwCertEncodingTypeÚpbCertEncodedÚcbCertEncodedÚ	pCertInfoÚ
hCertStore© N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r
   Ú
HCERTSTOREÚ_fields_Ú__static_attributes__r&   ó    ÚM/var/www/html/gaurav/venv/lib/python3.13/site-packages/truststore/_windows.pyr   r   '   s1   † à	˜uÐ%Ø	˜(Ð#Ø	˜%Ð Ø	�hÐØ	�zÐ"ðƒHr.   r   c                   ó0   • \ rS rSrS\4S\" \5      44rSrg)ÚCERT_ENHKEY_USAGEé5   ÚcUsageIdentifierÚrgpszUsageIdentifierr&   N)	r'   r(   r)   r*   r   r   r   r,   r-   r&   r.   r/   r1   r1   5   s   † à	˜UÐ#Ø	¡¨£Ð0ðƒHr.   r1   c                   ó$   • \ rS rSrS\4S\44rSrg)ÚCERT_USAGE_MATCHé?   ÚdwTypeÚUsager&   N)r'   r(   r)   r*   r   r1   r,   r-   r&   r.   r/   r6   r6   ?   s   † à	�5ÐØ	Ð#Ð$ðƒHr.   r6   c            
       óN   • \ rS rSrS\4S\4S\4S\4S\4S\4S\4S	\4S
\44	r	Sr
g)ÚCERT_CHAIN_PARAéF   ÚcbSizeÚRequestedUsageÚRequestedIssuancePolicyÚdwUrlRetrievalTimeoutÚfCheckRevocationFreshnessTimeÚdwRevocationFreshnessTimeÚpftCacheResyncÚpStrongSignParaÚdwStrongSignFlagsr&   N)r'   r(   r)   r*   r   r6   r   r   r
   r,   r-   r&   r.   r/   r;   r;   F   sS   † à	�5ÐØ	Ð+Ð,Ø	"Ð$4Ð5Ø	  %Ð(Ø	(¨$Ð/Ø	$ eÐ,Ø	˜:Ð&Ø	˜HÐ%Ø	˜eÐ$ð
ƒHr.   r;   c                   ó$   • \ rS rSrS\4S\44rSrg)ÚCERT_TRUST_STATUSéZ   ÚdwErrorStatusÚdwInfoStatusr&   N)r'   r(   r)   r*   r   r,   r-   r&   r.   r/   rG   rG   Z   s   † à	˜%Ð Ø	˜ÐðƒHr.   rG   c                   óB   • \ rS rSrS\4S\4S\4S\4S\4S\4S\	44r
S	rg
)ÚCERT_CHAIN_ELEMENTéa   r=   ÚpCertContextÚTrustStatusÚpRevocationInfoÚpIssuanceUsageÚpApplicationUsageÚpwszExtendedErrorInfor&   N)r'   r(   r)   r*   r   ÚPCERT_CONTEXTrG   r
   ÚPCERT_ENHKEY_USAGEr   r,   r-   r&   r.   r/   rL   rL   a   sD   † à	�5ÐØ	˜Ð'Ø	Ð)Ð*Ø	˜HÐ%Ø	Ð-Ð.Ø	Ð0Ð1Ø	  'Ð*ðƒHr.   rL   c                   óN   • \ rS rSrS\4S\4S\4S\" \5      4S\4S\	4S\44r
S	rg
)ÚCERT_SIMPLE_CHAINép   r=   rO   ÚcElementÚ
rgpElementÚpTrustListInfoÚfHasRevocationFreshnessTimerB   r&   N)r'   r(   r)   r*   r   rG   r   ÚPCERT_CHAIN_ELEMENTr
   r   r,   r-   r&   r.   r/   rW   rW   p   sH   † à	�5ÐØ	Ð)Ð*Ø	�UÐØ	‘wÐ2Ó3Ð4Ø	˜8Ð$Ø	&¨Ð-Ø	$ eÐ,ðƒHr.   rW   c            	       óT   • \ rS rSrS\4S\4S\4S\" \5      4S\4S\4S\	4S	\44r
S
rg)ÚCERT_CHAIN_CONTEXTé   r=   rO   ÚcChainÚrgpChainÚcLowerQualityChainContextÚrgpLowerQualityChainContextr\   rB   r&   N)r'   r(   r)   r*   r   rG   r   ÚPCERT_SIMPLE_CHAINr
   r   r,   r-   r&   r.   r/   r_   r_      sP   † à	�5ÐØ	Ð)Ð*Ø	�5ÐØ	‘WÐ/Ó0Ð1Ø	$ eÐ,Ø	&¨Ð1Ø	&¨Ð-Ø	$ eÐ,ð	ƒHr.   r_   c                   ó0   • \ rS rSrS\4S\4S\4S\44rSrg)Ú SSL_EXTRA_CERT_CHAIN_POLICY_PARAé�   r=   Ú
dwAuthTypeÚ	fdwChecksÚpwszServerNamer&   N)r'   r(   r)   r*   r   r   r,   r-   r&   r.   r/   rg   rg   �   s)   † à	�5ÐØ	�uÐØ	�eÐØ	˜7Ð#ð	ƒHr.   rg   c                   ó*   • \ rS rSrS\4S\4S\44rSrg)ÚCERT_CHAIN_POLICY_PARAé™   r=   ÚdwFlagsÚpvExtraPolicyParar&   N)r'   r(   r)   r*   r   r
   r,   r-   r&   r.   r/   rm   rm   ™   s!   † à	�5ÐØ	�EÐØ	˜hÐ'ðƒHr.   rm   c                   ó6   • \ rS rSrS\4S\4S\4S\4S\44rSrg)	ÚCERT_CHAIN_POLICY_STATUSé¤   r=   ÚdwErrorÚlChainIndexÚlElementIndexÚpvExtraPolicyStatusr&   N)	r'   r(   r)   r*   r   r   r
   r,   r-   r&   r.   r/   rr   rr   ¤   s1   † à	�5ÐØ	�EÐØ	˜ÐØ	˜$ÐØ	 Ð)ðƒHr.   rr   c                   óf   • \ rS rSrS\4S\4S\4S\4S\4S\4S\4S	\4S
\4S\4S\4S\4S\44rSrg)ÚCERT_CHAIN_ENGINE_CONFIGé±   r=   ÚhRestrictedRootÚhRestrictedTrustÚhRestrictedOtherÚcAdditionalStoreÚrghAdditionalStorero   r@   ÚMaximumCachedCertificatesÚCycleDetectionModulusÚhExclusiveRootÚhExclusiveTrustedPeopleÚdwExclusiveFlagsr&   N)	r'   r(   r)   r*   r   r+   r
   r,   r-   r&   r.   r/   ry   ry   ±   sq   † à	�5ÐØ	˜JÐ'Ø	˜ZÐ(Ø	˜ZÐ(Ø	˜UÐ#Ø	˜xÐ(Ø	�EÐØ	  %Ð(Ø	$ eÐ,Ø	  %Ð(Ø	˜:Ð&Ø	" JÐ/Ø	˜UÐ#ðƒHr.   ry   i   s   Memoryé   s   1.3.6.1.5.5.7.3.1i   i    é   é   é   é@   é    é€   i   i €  i @  i   é   i   zcrypt32.dllzkernel32.dllÚresultÚ_ÚargsÚreturnc                 ó(   • U (       d
  [        5       eU$ ©Nr   )r�   rŽ   r�   s      r/   Ú_handle_win_errorr“   î   s   € Þä‹jÐØ€Kr.   Ússl_contextÚ
cert_chainÚserver_hostnamec                 óú  • U(       d  [         R                  " S5      eSn[        [        SSSS5      n USS  H+  n[	        U[
        [        -  U[        U5      [        S5        M-     US   n[        [
        [        -  U[        U5      5      n[        5       nSUl        [        S-  " [        5      Ul        [        5       nXxl        [#        5       n	X‰l        ['        U	5      U	l        [+        U	5      n
U R,                  [         R.                  -  (       a  [0        nO+U R,                  [         R2                  -  (       a  [4        nOSn [7        U SUUU
UUS9  [=        US5        U(       a  [?        U5        gg! [         R                   aL  nU R9                  SS9nU(       a0   [;        U UUUU
UUS9   SnAN_! [         R                   a    USef = fe SnAff = f! [=        US5        U(       a  [?        U5        f f = f)z9Verify the cert_chain from the server using Windows APIs.z#Peer sent no certificates to verifyNr   r   )Úchain_flagsT)Úbinary_form) ÚsslÚSSLCertVerificationErrorÚCertOpenStoreÚCERT_STORE_PROV_MEMORYÚ CertAddEncodedCertificateToStoreÚX509_ASN_ENCODINGÚPKCS_7_ASN_ENCODINGÚlenÚCERT_STORE_ADD_USE_EXISTINGÚCertCreateCertificateContextr1   r3   r   ÚOID_PKIX_KP_SERVER_AUTHr4   r6   r9   r;   r>   r   r=   r   Úverify_flagsÚVERIFY_CRL_CHECK_CHAINÚ!CERT_CHAIN_REVOCATION_CHECK_CHAINÚVERIFY_CRL_CHECK_LEAFÚ$CERT_CHAIN_REVOCATION_CHECK_END_CERTÚ_get_and_verify_cert_chainÚget_ca_certsÚ_verify_using_custom_ca_certsÚCertCloseStoreÚCertFreeCertificateContext)r”   r•   r–   rN   ÚhIntermediateCertStoreÚ
cert_bytesÚ	leaf_certÚcert_enhkey_usageÚcert_usage_matchÚchain_paramsÚ
pChainParar˜   ÚeÚcustom_ca_certss                 r/   Ú_verify_peercerts_implr¸   C  s  € ö Ü×*Ò*Ð+PÓQÐQà€LÜ*Ô+AÀ1ÀdÈAÈtÓTÐðK5à$ Q R›.ˆJÜ,Ø&Ü!Ô$7Ñ7ØÜ�J“Ü+Øöñ )ð ˜q‘Mˆ	Ü3ÜÔ 3Ñ3°YÄÀIÃó
ˆô
 .Ó/ÐØ-.ÐÔ*Ü2:¸Q²,Ô@WÓ1XÐÔ.Ü+Ó-ÐØ!2ÔÜ&Ó(ˆØ&6Ô#Ü$ \Ó2ˆÔÜ˜\Ó*ˆ
à×#Ñ#¤c×&@Ñ&@×@Ü;‰KØ×%Ñ%¬×(AÑ(A×AÜ>‰KàˆKð#	ô 'ØØØ&ØØØØ'òôD 	Ð-¨qÔ1ÞÜ& |Õ4ð øô5 ×+Ñ+ó 	ð
 3>×2JÑ2JØ ð 3Kð 3ˆOö ð&Ü1Ø#Ø'Ø.Ø$Ø"Ø'Ø$/÷øô ×3Ñ3ó &Ø Ð%ð&úð ûð/	ûô2 	Ð-¨qÔ1ÞÜ& |Õ4ð úsB   ´DG ÅE6 Å6GÆ
GÆ!F5Æ0G Æ5GÇGÇGÇG Ç!G:ÚhChainEnginer¯   ÚpPeerCertContextrµ   r˜   c           
      óF  • S n [        [        5       5      n[        UUS UUUS U5        UR                  n[	        5       n	[        U	5      U	l        [        U	l        SU	l	        U R                  SL a  [        U	l	        U(       a  [        U5      U	l        [        5       n
[        [        U	5      [         5      U
l        U R$                  [&        R(                  :X  a  U
=R*                  [,        -  sl        [        U
5      U
l        [        U
5      n[/        5       n[        U5      Ul        [        U5      n[1        [2        UUU5        UR4                  nU(       aŒ  [7        S5      n[9        [:        [<        -  S USU[        U5      S 5      nUS::  a  SUS SUR>                   S3nOUR@                  RC                  5       n[&        RD                  " U5      nUUl#        UUl$        US e U(       a  [K        UR                  5        g g ! U(       a  [K        UR                  5        f f = f)Nr   Fi   zCertificate chain policy error z#xz [Ú])&r   ÚPCERT_CHAIN_CONTEXTÚCertGetCertificateChainÚcontentsrg   r   r=   ÚAUTHTYPE_SERVERri   rj   Úcheck_hostnameÚ$SECURITY_FLAG_IGNORE_CERT_CN_INVALIDr   rk   rm   r   r
   rp   Úverify_moderš   Ú	CERT_NONEro   Ú(CERT_CHAIN_POLICY_VERIFY_MODE_NONE_FLAGSrr   Ú CertVerifyCertificateChainPolicyÚCERT_CHAIN_POLICY_SSLrt   r   ÚFormatMessageWÚFORMAT_MESSAGE_FROM_SYSTEMÚFORMAT_MESSAGE_IGNORE_INSERTSrv   ÚvalueÚstripr›   Úverify_messageÚverify_codeÚCertFreeCertificateChain)r”   r¹   r¯   rº   rµ   r–   r˜   ÚppChainContextÚpChainContextÚ ssl_extra_cert_chain_policy_paraÚchain_policyÚpPolicyParaÚpolicy_statusÚpPolicyStatusÚ
error_codeÚerror_message_bufÚerror_message_charsÚerror_messageÚerrs                      r/   rª   rª   Ÿ  s  € ð €NðM>ä Ô!4Ó!6Ó7ˆÜØØØØ"ØØØØô		
ð '×/Ñ/ˆô ,LÓ+MÐ(Ü28Ø,ó3
Ð(Ô/ô 7FÐ(Ô3Ø56Ð(Ô2Ø×%Ñ%¨Ò.ä4ð -Ô6ö Ü>GÈÓ>XÐ,Ô;ä-Ó/ˆÜ)-ÜÐ4Ó5´xó*
ˆÔ&ð ×"Ñ"¤c§m¡mÓ3Ø× Ò Ô$LÑLÕ Ü$ \Ó2ˆÔä˜lÓ+ˆÜ0Ó2ˆÜ% mÓ4ˆÔÜ Ó.ˆÜ(Ü!ØØØô		
ð #×*Ñ*ˆ
Þä 5°dÓ ;ÐÜ"0Ü*Ô-JÑJØØØØ!ÜÐ(Ó)Øó#Ðð # aÓ'Ø"AÀ*ÈRÀÐPRÐS`×SnÑSnÐRoÐopÐ q‘à 1× 7Ñ 7× =Ñ =Ó ?�ä×.Ò.¨}Ó=ˆCØ!.ˆCÔØ(ˆCŒOØ˜4Ðð1 ö4 Ü$ ^×%<Ñ%<Õ=ð øŽ>Ü$ ^×%<Ñ%<Õ=ð ús   „GH ÈH r·   c           	      óâ  • S n[        [        SS SS 5      n U H+  n	[        U[        [        -  U	[        U	5      [        S 5        M-     [        5       n
[        U
5      U
l	        XŠl
        [        U
5      n[        [        5       5      n[        UU5        UR                  n[        U UUUUUU5        U(       a  [!        U5        [#        US5        g ! U(       a  [!        U5        [#        US5        f = f)Nr   )rœ   r�   rž   rŸ   r    r¡   r¢   ry   r   r=   r‚   r   ÚHCERTCHAINENGINEÚ CertCreateCertificateChainEnginer¿   rª   ÚCertFreeCertificateChainEnginer­   )r”   r·   r¯   rº   rµ   r–   r˜   r¹   ÚhRootCertStorer°   Úcert_chain_engine_configÚpConfigÚphChainEngines                r/   r¬   r¬   ù  sò   € ð €LÜ"Ô#9¸1¸dÀAÀtÓL€Nð&*ã)ˆJÜ,ØÜ!Ô$7Ñ7ØÜ�J“Ü+Øöñ *ô $<Ó#=Ð Ü*0Ð1IÓ*JÐ Ô'Ø2@Ô/ÜÐ2Ó3ˆÜÔ 0Ó 2Ó3ˆÜ(ØØô	
ð %×-Ñ-ˆô 	#ØØØ"ØØØØô	
ö Ü*¨<Ô8Ü�~ qÕ)øö Ü*¨<Ô8Ü�~ qÕ)ús   —BC Ã C.Úctxc              #   óÖ   #   • U R                   nU R                  nSU l         [        U [        R                  5         S v •  Xl         [        X5        g ! Xl         [        X5        f = f7f)NF)rÁ   rÃ   r   rš   rÄ   )rä   rÁ   rÃ   s      r/   Ú_configure_contextræ   -  sV   é € à×'Ñ'€NØ—/‘/€KØ€CÔÜ  ¤c§m¡mÔ4ð7Ûà+ÔÜ$ SÕ6øð ,ÔÜ$ SÕ6üs   ‚:A)½A ÁA)ÁA&Á&A)r’   )nÚ
contextlibrš   ÚtypingÚctypesr   r   r   r   r   r	   r
   r   r   r   r   r   Úctypes.wintypesr   r   r   r   r   r   r   r   r   r   r   r   Ú_ssl_constantsr   rÝ   r+   ÚHCRYPTPROV_LEGACYr   rT   ÚPCCERT_CONTEXTr1   rU   r6   r;   ÚPCERT_CHAIN_PARArG   rL   r]   rW   re   r_   r½   ÚPCCERT_CHAIN_CONTEXTrg   rm   ÚPCERT_CHAIN_POLICY_PARArr   ÚPCERT_CHAIN_POLICY_STATUSry   ÚPCERT_CHAIN_ENGINE_CONFIGÚPHCERTCHAINENGINErŸ   r    r�   r¢   ÚUSAGE_MATCH_TYPE_ORr¤   r©   r§   Ú1CERT_CHAIN_POLICY_IGNORE_ALL_NOT_TIME_VALID_FLAGSÚ7CERT_CHAIN_POLICY_IGNORE_INVALID_BASIC_CONSTRAINTS_FLAGÚ'CERT_CHAIN_POLICY_ALLOW_UNKNOWN_CA_FLAGÚ*CERT_CHAIN_POLICY_IGNORE_INVALID_NAME_FLAGÚ)CERT_CHAIN_POLICY_IGNORE_WRONG_USAGE_FLAGÚ,CERT_CHAIN_POLICY_IGNORE_INVALID_POLICY_FLAGÚ.CERT_CHAIN_POLICY_IGNORE_ALL_REV_UNKNOWN_FLAGSÚ%CERT_CHAIN_POLICY_ALLOW_TESTROOT_FLAGÚ%CERT_CHAIN_POLICY_TRUST_TESTROOT_FLAGrÂ   rÀ   rÇ   rÉ   rÊ   rÅ   ÚwincryptÚkernel32Úboolr“   rÞ   ÚargtypesÚerrcheckrœ   Úrestyperž   r£   r¾   rÆ   r­   rÏ   r®   rß   rÈ   Ú
SSLContextÚlistÚbytesÚstrr¸   Úintrª   r¬   ÚcontextmanagerÚIteratorræ   r&   r.   r/   Ú<module>r     s§  ðÛ Û 
Û Ý Ý ÷÷ ÷ ÷÷ ÷ ÷ &å 8àÐ Ø€
ØÐ ô�9ô ñ ˜Ó%€Ù˜Ó'€ô˜	ô ñ Ð.Ó/Ð ô�yô ô�iô ö Ø˜Ñ/Ñá˜Ó/Ðô˜	ô ô	˜ô 	ñ Ð0Ó1Ð ô	˜	ô 	ñ Ð.Ó/Ð ô
˜ô 
ñ Ð0Ó1Ð ÙÐ2Ó3Ð ô yô ô˜Yô ñ "Ð"8Ó9Ð ô˜yô ñ $Ð$<Ó=Ð ô˜yô ñ$ $Ð$<Ó=Ð ÙÐ,Ó-Ð àÐ Ø Ð Ø"Ð ØÐ ØÐ Ù"Ð#7Ó8Ð Ø'1Ð $Ø$.Ð !Ø4>Ð 1Ø:DÐ 7Ø*4Ð 'Ø-7Ð *Ø,6Ð )Ø/9Ð ,Ø1;Ð .Ø(2Ð %Ø(2Ð %Ø'1Ð $Ø€ØÐ Ø'Ð Ø *Ð ð 6Ø=ñ>à-ñ.ð 1ñ1ð 0ñ	0ð
 3ñ3ð 5ñ5ð ,ñ,ð ,ñ,ð )ñ �-Ó €Ù�.Ó!€ð˜dð  sð °#ð ¸#ô ð $,×#LÑ#LÐ  àØð-Ð  Ô )ð ->Ð  Ô )à×&Ñ&€Ø  %Ð):¸EÀ8ÐL€Ô Ø"€Ô Ø*€Ô à#+×#LÑ#LÐ  àØ	ØØ	Ø	Øð-Ð  Ô )ð ,0Ð  Ô (à'×DÑDÐ Ø).°¸%Ð(@Ð Ô %Ø'4Ð Ô $Ø(9Ð Ô %à"×:Ñ:Ð àØØØØØ	ØØð	$Ð Ô  ð #'Ð Ô Ø#4Ð Ô  à#+×#LÑ#LÐ  àØØØð	-Ð  Ô )ð ,0Ð  Ô (à×(Ñ(€Ø% uÐ-€Ô Ø€Ô Ø+€Ô à#×<Ñ<Ð Ø%8Ð$:Ð Ô !à%×@Ñ@Ð Ø'4Ð&6Ð Ô #à!)×!HÑ!HÐ Ø+;Ð*=Ð Ô 'à×(Ñ(€à	ØØ	Ø	Ø
Ø	Øð€Ô ð €Ô ð #'ñY5Ø—‘ðY5à�U‘ðY5ð ˜4‘ZðY5ð 
õ	Y5ðxW>Ø—‘ðW>à" TÑ)ðW>ð 'ðW>ð ð	W>ð
 !ðW>ð ˜4‘ZðW>ð ðW>ð 
ôW>ðt1*Ø—‘ð1*à˜%‘[ð1*ð 'ð1*ð ð	1*ð
 !ð1*ð ˜4‘Zð1*ð ð1*ð 
ô1*ðh ×Ñð	7˜CŸN™Nð 	7¨v¯©¸tÑ/Dó 	7ó ñ	7r.   