+
    4SsiÃ„  ã            
       ó¾  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	t	^ RI
HtHt ^ RIHt ^ RIHtHt ^ RIHtHtHt ^ RIHt ^ RIHtHt ^ R	IHt ^ R
IHtHt ^ RI H!t! ^ RI"H#t# R t$R t%Rt&]&'       g    ^ RI't']$t&]&'       g    ^ RI)t)]%t&]&'       d   Rt*MRt*/ t+RR]	PX                  /RR]	PX                  /RR]	PX                  /RR]	PX                  /R/ /t-R%R lt./ ]-R&   R& F  w  t/t0 ].! ]/R4       / ]-]0&   K  	  ]3! ^^4       F  t4/ ]-R]4,          &   K  	  / ]-R&   Rt5]5R R!Pm                  ]7! ]-Pq                  4       4      4      ,          ,          t5]9! ]+4      ^ 8w  d4   ]5R"R!Pm                  ]7! ]+Pq                  4       4      4      ,          ,          t5 ! R# R$]4      t:R#   ]( d     EL,i ; i  ]( d     EL+i ; i  ]1]23 d    RR]/ R2/]+]0&    Kï  i ; i)'é    N)Úsha1)ÚcredentialsÚnttime2float)Úsystem_session)Ú	get_bytesÚ
get_string)ÚdrsblobsÚsecurityÚgmsa)Ú
ndr_unpack)ÚCommandÚCommandError)ÚSamDB)Útimedelta_from_nt_time_deltaÚnt_time_from_datetime)ÚMAX_CLOCK_SKEW)Úcryptc                óÐ   € \         P                  ! 4       pRVn        \        P                  ! 4       pVP                  \        P                  ! V 4      V4       VP                  4       # )z%
Use python[3]-gpgme to decrypt GPG.
T)ÚgpgmeÚContextÚarmorÚioÚBytesIOÚdecryptÚgetvalue)Úencrypted_bytesÚctxÚouts   &  ÚH/usr/lib/python3/dist-packages/samba/netcmd/user/readpasswords/common.pyÚ_gpgme_decryptr    /   sD   € ô �-Š-‹/€CØ€C„IÜ
�*Š*‹,€CØ‡K�K”—
’
˜?Ó+¨SÔ1Ø�<‰<‹>Ðó    c                óŒ   € \         P                  ! V R7      p\         P                  ! RR7      pVP                  V4      w  p pV# )z#
Use python[3]-gpg to decrypt GPG.
)ÚstringT)r   )ÚgpgÚDatar   r   )r   Ú
ciphertextr   Ú	plaintextÚ_s   &    r   Ú_gpg_decryptr)   :   s:   € ô —’ Ô1€JÜ
�+Š+˜DÔ
!€Cà—k‘k *Ó-�O€Iˆq�!ØÐr!   z1Decrypt the SambaGPG password as cleartext sourcezVDecrypt the SambaGPG password not supported, python[3]-gpgme or python[3]-gpg requiredÚvirtualClearTextUTF8ÚflagsÚvirtualClearTextUTF16ÚvirtualSambaGPGÚ
unicodePwdÚvirtualManagedPasswordQueryTimec           	      ó   € R R^+/RR^V//pW9  d0   \        RV  RRP                  VP                  4       4       R24      h\        P                  ! ^4      p\
        P                  ! V4      R,          P                  RR	4      P                  R
4      pRpV^ 8w  d   RV : RV: RV: R2pMRV : RV: R2p\        W4      p\        V4      W0,          R,          ,           p\        V4      V8w  d   \        RV\        V4      V3,          4      hV# )Ú5ÚlengthÚ6zinvalid algorithm code: z(expected one of Ú,Ú):r   é   Nó   +ó   .Úutf8Ú Ú$z$rounds=zFcrypt.crypt(%s) returned a value with length %d, expected length is %d)Ú
ValueErrorÚjoinÚkeysÚosÚurandomÚbase64Ú	b64encodeÚreplaceÚdecoder   ÚlenÚNotImplementedError)	ÚalgÚutf8pwÚroundsÚalgsÚsaltÚb64saltÚ
crypt_saltÚcrypt_valueÚexpected_lens	   &&&      r   Úget_crypt_valuerP   r   s  € àˆh˜ˆ^Øˆh˜ˆ^ð€Dð „ÜÐ3°C°5Ø,¨S¯X©X°d·i±i³kÓ-BÐ,CÀ1ðFó Gð 	Gô �:Š:�b‹>€Dô ×Ò˜tÓ$ TÕ*×2Ñ2°4¸Ó>×EÑEÀfÓM€GØ€JØ�…{Û,/³»ÐA‰
ð ó #&£wÐ/ˆ
ä˜Ó+€KÜ�z“? T¥Y¨xÕ%8Õ8€LÜ
ˆ;Ó˜<Ô'Ü!Ð"jØœ˜KÓ(¨,ðn8õ #8ó 9ð 	9àÐr!   ÚvirtualSSHAr:   Úreasonz	modern '$z$' salt in crypt(3) requiredzvirtualWDigest%02dÚvirtualKerberosSaltz-The attributes to display (comma separated). z)Possible supported virtual attributes: %sz, z"Unsupported virtual attributes: %sc                   óR   a a€ ] tR t^«t oV 3R ltR tRR ltRR ltR tRt	Vt
V ;t# )	ÚGetPasswordCommandc                ó2   <€ \         SV `  4        R V n        R # ©N)ÚsuperÚ__init__Úlp)ÚselfÚ	__class__s   &€r   rY   ÚGetPasswordCommand.__init__­   s   ø€ Ü‰ÑÔØˆŽr!   c                óò   € \        \        P                  4       4       FU  p\        P                  \        V,          P                  R ^ 4      ,          pVP                  W#\        P                  4       KW  	  R# )r+   N)ÚsortedÚvirtual_attributesr>   ÚldbÚATTR_FLAG_HIDDENÚgetÚschema_attribute_addÚSYNTAX_OCTET_STRING)r[   ÚsamdbÚar+   s   &&  r   Úinject_virtual_attributesÚ,GetPasswordCommand.inject_virtual_attributes±   sV   € ô Ô*×/Ñ/Ó1Ö2ˆAÜ×(Ñ(Ô+=¸aÕ+@×+DÑ+DÀWÈaÓ+PÕPˆEØ×&Ñ& q´×1HÑ1HÖIó 3r!   c                óX  € \         P                  ! 4       pVP                  4        Vf
   V'       g   M;VP                  4       P	                  R4      '       d   TpMV'       d   \        R4      hV'       d#   V P                  P                  RV,          4       \        V\        4       W P                  R7      pV'       g   Vf£    VP                  R\        P                  R.R7      p\        V4      ^8X  g   Q hV^ ,          P                  R4      p\        V4      ^8X  g   Q h\!        \"        P$                  V^ ,          4      p	\'        V	4      \"        P(                  8X  g   Q h V P-                  V4       V#   \*         d&   p
\        R\"        P(                  ,          4      hR p
?
ii ; i)	Nzldapi://z/--url requires an ldapi:// url for this commandzConnecting to '%s'
)ÚurlÚsession_infor   rZ   r:   ÚtokenGroups)ÚbaseÚscopeÚattrszEYou need to specify an URL that gives privileges as SID_NT_SYSTEM(%s))r   ÚCredentialsÚset_anonymousÚlowerÚ
startswithr   ÚoutfÚwriter   r   rZ   Úsearchra   Ú
SCOPE_BASErE   rc   r   r
   Údom_sidÚstrÚSID_NT_SYSTEMÚ	Exceptionrh   )r[   rk   ÚcredsÚrequire_ldapiÚverboseÚ
anon_credsrf   ÚresÚsidsÚsidÚmsgs   &&&&&      r   Úconnect_for_passwordsÚ(GetPasswordCommand.connect_for_passwords¸   sV  € ô !×,Ò,Ó.ˆ
Ø× Ñ Ô"àŠ;Ÿ}ØØ�Y‰Y‹[×#Ñ# J×/Ò/ØˆEØßÜÐPÓQÐQçØ�I‰I�O‰OÐ2°SÕ8Ô9ä˜#¬NÓ,<Ø"'¯G©Gô5ˆ÷ ˜CšKð=ð —l‘l¨´#·.±.ÈÈ�lÓX�Ü˜3“x 1”}Ð$�}Ø˜1•v—z‘z -Ó0�Ü˜4“y A”~Ð%�~Ü ¤×!1Ñ!1°4¸µ7Ó;�Ü˜3“x¤8×#9Ñ#9Ô9Ð9Ñ9ð
 	×&Ñ& uÔ-àˆøô ô =Ü"Ð#jÜ$,×$:Ñ$:õ$<ó =ð =ûð=ús   ÃB E9 Å9F)Æ F$Æ$F)c	           	     óä  aJaKaLaMaNaOaPaQaRaSaTaUaVaWaXaY€ R  oPR oU. RHOoNVNVP3R loVRIVUVV3R llp	VR,          p
R	V
9   pRp. p. pV
 F  pV	! V4      pVP                  V4       K  	  . pRpV FX  pVR
,          e   RpK  VR,          e   VP                  V4       K0  VR,          V9   d   K@  VP                  VR,          4       KZ  	  V'       g'   RR.pV F  pV	! V4      pVP                  V4       K  	  V'       d1   V'       d)   . RJOpV F  pV	! VRR7      pVP                  V4       K   	  V F+  pVR,          V9   d   K  VP                  VR,          4       K-  	  V\        P                  8X  d   RR.pM. p VP                  W4VVVR7      p\	        V4      ^ 8X  d   \        RT;'       g    T,          4      h\	        V4      ^8”  d   \        R\	        V4      V3,          4      h T^ ,          oW/ oMRoXRoYRSW9   d+   SWR,          ^ ,          p\        \        P                  T4      oXRSW9   d   SWR,          ^ ,          oYRSW9   dü   SWR,          ^ ,          p\        \        P                  T4      pTP                  P                  SMR&   TP                  P                  pTSMR&   \        T4      \         P                   P#                  \         P$                  P&                  R7      ,           p\)        T4      pTSMR &   SMR,          \*        8:  d   TP                  P                  SMR!&   MTP                  P,                  SMR!&   \/        SWR,          ^ ,          4      pRSW9   d   \/        SWR,          ^ ,          4      pM'TP1                  4       pT: R"TP3                  4       : 2pRKTMTX3R# lloQTMTPTQ3R$ loOTQ3R% lp RoKRp!T ! 4       w  p"p#T"RL9   dW   T#P4                  P6                  p!T#P8                  '       d/   R& p$\;        \<        P>                  ! T$T#P8                  4      R4      oKT'       dÀ   SQ! R'RMR(7      p%T%e²    \A        T%4      p&\B        PD                  ! 4       p'T'PG                  4        T'PI                  T&4       Rp(Rp)SYe   T'PK                  4       p(SYp)MDSKeA   T!e=   T'PM                  T!4       T'PO                  \B        PP                  4      p(SKPR                  p)T)e   T)T(8X  d   T&SMR!&   R, oTR-oJTJ3R. lp,TLTOTQTSTT3R/ lp-TKTY3R0 loSTP3R1 lp.R2 p/\[        \\        P9                  4       4       EFö  pRp0T F>  p1T1R
,          f   K  T1R,          P3                  4       TP3                  4       8w  d   K<  T1p0 M	  T0f   KP  T0R3,          oLTR48X  d-   SO! SL4      p2T2f   Kn  ST! TT2T;'       g    T4      p3T3f   Kˆ  T3p4EM:TR58X  d   SO! SL4      p4T4f   K¡  EM#TR68X  d°   SO! SL4      p2T2f   K¸  ST! TT2T;'       g    T4      p3T3f   KÒ  \^        P`                  ! ^4      p5\c        4       p6T6Pe                  T34       T6Pe                  T54       T6Pg                  4       T5,           p7R7\h        Pj                  ! T74      Pm                  R84      ,           p4EMmTR98X  d    T.! SL4      p8T-! T^T8TT4      p9T9f   EK{  T9p4EMGTR:8X  d    T.! SL4      p8T-! T^T8TT4      p9T9f   EK¡  T9p4EM!TR;8X  d   SQ! R'RMR(7      p4T4f   EK½  EMTR<8X  d   T!p4T4f   EKÏ  MöTR8X  dT   SYfP   R!SM9   d    SP! SLR=4      '       g   T/! SMR!,          4      p4MÅRSM9   d    SP! SLR=4      '       d   T/! SMR,          4      p4MŸEK*  TPo                  R>4      '       d_   SQ! R?4      p:T:f   EKP  T\	        R>4      R p9 \q        T94      p;TPu                  4       p<TP1                  4       p=T,! T;T:TTT<T=4      p4T4f   EKž  M'TR@8X  d   R SM9  d   EK°  \/        SMR ,          4      p4MEKÆ  \        Pv                  ! T4\        Px                  T0R,          4      SWT&   EKù  	  TW3RA lp>TW3RB loRTR3RC lp?TR3RD lp@TR3RE lpA/ pBSN FË  pCT FÂ  p1T1R,          f   K  T1R,          XC8w  d   K   T>! T1R,          4      pDTDe   XD: RFXC: 2pEMT>! T1R,          4      ;pDpEXDf   KT  XEXB9   d   K]  XCXBXE&   Rp4TCR8X  d
   T?! XD4      p4MXCR8X  d
   X@! XD4      p4MXCR8X  d	   XA! XD4      p4T4f   K™  \        Pv                  ! T4\        Px                  XE4      SWTE&   KÄ  	  KÍ  	  SWP9                  4        F¡  pFRpGT F1  p1XFP3                  4       T1R,          P3                  4       8w  d   K/  RpG M	  XG'       d   KF  RpHT F1  pIXFP3                  4       TIR,          P3                  4       8w  d   K/  XIpH M	  XHf   K…  T'       d   XHRG,          '       g   Kž  SWXF K£  	  SW#   \
         d#   p\        RT;'       g    T: RT: 24      hRp?ii ; i  \
         dT   p*\@        f   \T        p+M\/        T*4      p+T PV                  PY                  R)T;'       g    T: R*T+: R+24        Rp*?*ELnRp*?*ii ; i  \r         d     EKC  i ; i)Nc                 óÐ   € V '       g   R # V  FU  pVP                  4       P                  RVP                  4       ,          4      '       g   K?  VP                  R4      w  r4pVu # 	  R # )Nz%s=Ú=)rs   rt   Ú	partition)ÚoptsÚnameÚoÚkeyr(   Úvals   &&    r   Ú
get_optionÚ=GetPasswordCommand.get_account_attributes.<locals>.get_optionç   sP   € ßÙÛ�Ø—7‘7“9×'Ñ'¨°·
±
³Õ(<×=Ô=Ø$%§K¡K°Ó$4‘M�S˜SØ’Jñ ñ r!   c                 ó²   € \        \        P                  4       4       F5  pVP                  4       V P                  4       8w  d   K(  \        V,          u # 	  R # rW   )r_   r`   r>   rs   )ÚattrÚvans   & r   Úget_virtual_attr_definitionÚNGetPasswordCommand.get_account_attributes.<locals>.get_virtual_attr_definitionð   sB   € ÜÔ0×5Ñ5Ó7Ö8�Ø—9‘9“; $§*¡*£,Ô.ÙÜ)¨#Õ.Ò.ñ 9ñ r!   ÚGeneralizedTimeÚUnixTimeÚTimeSpecc                 ó†   <€ S! V R 4      pVf   R# S F*  pVP                  4       VP                  4       8w  d   K(  Vu # 	  R# )ÚformatN)rs   )r‹   Ú
formatnameÚfmÚformatsr�   s   &  €€r   Úget_virtual_format_definitionÚPGetPasswordCommand.get_account_attributes.<locals>.get_virtual_format_definitioný   sF   ø€ Ù# D¨(Ó3ˆJØÒ!ÙÛ�Ø—8‘8“: ×!1Ñ!1Ó!3Ô3ÙØ’	ñ ñ r!   Fc                 ó¸   <€ V P                  R 4      w  r#pV'       d   VP                  R 4      pM. p/ pWR&   W&R&   WVR&   S! V4      VR&   S! V4      VR&   WR&   V# )Ú;Úraw_attrr“   r‹   ÚvattrÚvformatÚ	is_hidden)rŠ   Úsplit)	r£   r¦   r“   r(   Úfulloptsr‹   rg   r•   rŸ   s	   &&     €€r   Úparse_raw_attrÚAGetPasswordCommand.get_account_attributes.<locals>.parse_raw_attr  sp   ø€ Ø"*×"4Ñ"4°SÓ"9ÑˆT�hßØ—~‘~ cÓ*‘à�ØˆAØ$ˆj‰MØˆf‰IØˆf‰IÙ4°TÓ:ˆAˆg‰JÙ8¸Ó>ˆAˆi‰LØ&ˆk‰NØˆHr!   :NNNÚ*r¤   NTr¥   r£   ÚsAMAccountNameÚuserPrincipalNameÚsupplementalCredentialsr.   úmsDS-ManagedPassword)r¦   r“   zshow_deleted:1zshow_recycled:1)rn   Ú
expressionro   rp   ÚcontrolszUnable to find user "%s"z*Matched %u multiple users with filter "%s"z!Failed to get password for user 'z': ÚOLDCLEARTEXTzGMSA:query_interval)ÚtzzGMSA:query_timeúPrimary:CLEARTEXTÚ@c                 óR  <€ V S9   d
   SV ,          # Sf   R # V^ 8  d'   \        SP                  P                  4      V,           p^ pSP                  P                   FF  pV^,          pW!8:  d   K  WP                  8w  d   K&  \        P
                  ! VP                  4      u # 	  R # rW   )rE   ÚsubÚpackagesrŒ   ÚbinasciiÚa2b_hexÚdata)rŒ   Úmin_idxÚidxÚpÚ
calculatedÚscs   &&  €€r   Úget_packageÚ>GetPasswordCommand.get_account_attributes.<locals>.get_packageˆ  sŠ   ø€ Ø�zÔ!Ø! $Õ'Ð'ØŠzÙØ˜Œ{Ü˜bŸf™fŸo™oÓ.°Õ8�ØˆCØ—V‘V—_”_�Ø�q•�Ø”>ÙØŸ6™6”>Ùä×'Ò'¨¯©Ó/Ò/ñ %ñ r!   c                 ó„   <€ S! V R 4      pV'       d(   VR8w  d   \        RV R24      hSP                  R4      # S! R4      # )ÚpreviousÚ1z&Invalid attribute parameter ;previous=z$, only supported value is previous=1r²   r´   )r   rc   )Ú	attr_optsÚparamr¿   r�   rÁ   s   & €€€r   Úget_cleartextÚ@GetPasswordCommand.get_account_attributes.<locals>.get_cleartextš  sU   ø€ Ù˜y¨*Ó5ˆEßØ˜C”<Ü&Ø@ÀÀð H=ð =ó>ð >ð "—~‘~ nÓ5Ð5á"Ð#6Ó7Ð7r!   c                  óœ   <€ S! R 4      p V f	   S! R4      p V f   R# \        \        P                  V 4      pVP                  VP                  3# )zPrimary:Kerberos-Newer-KeyszPrimary:Kerberos)r   N)r   r	   Úpackage_PrimaryKerberosBlobÚversionÚctr)Úprimary_krb5Ú	krb5_blobrÁ   s     €r   Úget_kerberos_ctrÚCGetPasswordCommand.get_account_attributes.<locals>.get_kerberos_ctr¥  sU   ø€ Ù&Ð'DÓEˆLØÒ#Ù*Ð+=Ó>�ØÒ#Ø Ð Ü"¤8×#GÑ#GØ#/ó1ˆIà×%Ñ% y§}¡}Ð5Ð5r!   c                 ó    € V P                   ^8H  # )é   )Úkeytype)Úks   &r   Ú	is_aes256Ú<GetPasswordCommand.get_account_attributes.<locals>.is_aes256·  s   € ØŸ9™9¨™?Ð*r!   zPrimary:SambaGPG)r¼   z
WARNING: 'z/': SambaGPG can't be decrypted into CLEARTEXT: Ú
c                 ó¼   € \         P                  ! 4       pVP                  4        VP                  \	        V4      4       VP                  4       P                  4       # rW   )r   rq   rr   Úset_utf16_passwordr   Úget_passwordÚencode)rg   ÚbÚusernameÚcreds_for_charcnvs   &&& r   Úget_utf8Ú;GetPasswordCommand.get_account_attributes.<locals>.get_utf8ï  sI   € Ü +× 7Ò 7Ó 9ÐØ×+Ñ+Ô-Ø×0Ñ0´¸1³Ô>ð
 %×1Ñ1Ó3×:Ñ:Ó<Ð<r!   ÚDigestc                 ó  <€ V ^8X  d   TpTpEMxV ^8X  d#   VP                  4       pVP                  4       pEMOV ^8X  d#   VP                  4       pVP                  4       pEM&V ^8X  d   TpVP                  4       pEMV ^8X  d   TpVP                  4       pEMðV ^8X  d#   VP                  4       pVP                  4       pEMÇV ^8X  d#   VP                  4       pVP                  4       pEMžV ^8X  d   TpVP                  4       pEMƒV ^	8X  d#   VP                  4       pVP                  4       pEMZV ^
8X  d#   VP                  4       pVP                  4       pEM1V ^8X  d   TpVP                  4       pEMV ^8X  d   TpVP                  4       pEMûV ^8X  d#   VP                  4       pVP                  4       pEMÒV ^8X  d#   VP                  4       pVP                  4       pEM©V ^8X  d   TpRpEMœV ^8X  d   VP                  4       pRpEM�V ^8X  d   VP                  4       pRpEMfV ^8X  d   V: RV: 2pRpEMRV ^8X  d*   VP                  4       : RVP                  4       : 2pRpEM"V ^8X  d)   VP                  4       : RVP                  4       : 2pRpMóV ^8X  d   TpS
pMçV ^8X  d   VP                  4       pS
pMÍV ^8X  d   VP                  4       pS
pM³V ^8X  d   TpS
pM§V ^8X  d   VP                  4       pS
pM�V ^8X  d   VP                  4       pS
pMsV ^8X  d   V: RV: 2pS
pM`V ^8X  d)   VP                  4       : RVP                  4       : 2pS
pM1V ^8X  d)   VP                  4       : RVP                  4       : 2pS
pMRp\        \        P                  V4      p \
        P                  ! \        VP                  V ^,
          ,          P                  4      4      p	V: RX: R\        V	4      : 2#   \         d     R# i ; i)é   r:   Ú\Ú:N)rs   Úupperr   r	   Úpackage_PrimaryWDigestBlobr¹   ÚhexlifyÚ	bytearrayÚhashesÚhashr   Ú
IndexError)ÚiÚprimary_wdigestÚaccount_nameÚaccount_upnÚdomainÚ
dns_domainÚuserÚrealmÚdigestsÚdigestÚDIGESTs   &&&&&&    €r   Úget_wDigestÚ>GetPasswordCommand.get_account_attributes.<locals>.get_wDigestý  s–  ø€ à�AŒvØ#�Ø’Ø�a”Ø#×)Ñ)Ó+�ØŸ™›’Ø�a”Ø#×)Ñ)Ó+�ØŸ™›’Ø�a”Ø#�ØŸ™›’Ø�a”Ø#�ØŸ™›’Ø�a”Ø#×)Ñ)Ó+�ØŸ™›’Ø�a”Ø#×)Ñ)Ó+�ØŸ™›’Ø�a”Ø#�Ø"×(Ñ(Ó*’Ø�a”Ø#×)Ñ)Ó+�Ø"×(Ñ(Ó*’Ø�b”Ø#×)Ñ)Ó+�Ø"×(Ñ(Ó*’Ø�b”Ø#�Ø"×(Ñ(Ó*’Ø�b”Ø#�Ø"×(Ñ(Ó*’Ø�b”Ø#×)Ñ)Ó+�Ø"×(Ñ(Ó*’Ø�b”Ø#×)Ñ)Ó+�Ø"×(Ñ(Ó*’Ø�b”Ø"�Ø’Ø�b”Ø"×(Ñ(Ó*�Ø’Ø�b”Ø"×(Ñ(Ó*�Ø’Ø�b”Û#)ª<Ð8�Ø’Ø�b”Ø#)§<¡<¦>°<×3EÑ3EÕ3GÐH�Ø’Ø�b”Ø#)§<¡<¦>°<×3EÑ3EÕ3GÐH�Ø‘Ø�b”Ø#�Ø‘Ø�b”Ø#×)Ñ)Ó+�Ø‘Ø�b”Ø#×)Ñ)Ó+�Ø‘Ø�b”Ø"�Ø‘Ø�b”Ø"×(Ñ(Ó*�Ø‘Ø�b”Ø"×(Ñ(Ó*�Ø‘Ø�b”Û#)ª<Ð8�Ø‘Ø�b”à#)§<¡<¦>°<×3EÑ3EÕ3GÐH�Ø‘Ø�b”à#)§<¡<¦>°<×3EÑ3EÕ3GÐH�Ø‘à�ä ¤×!DÑ!DØ!0ó2ˆGðÜ!×)Ò)¬)°G·N±NÀ1ÀqÅ5Õ4I×4NÑ4NÓ*OÓP�Û%)«5´*¸VÕ2DÐEÐEøÜô Úðús   Î"AO9 Ï9PÐPc                 óð   <€ R pR pS! R4      pVe   S! WqV4      w  rVVfI   S
! S	4      pVe7   S! YT;'       g    T4      pVe    \        \        V4      \        V4      V4      pVf   TpVf   R # RV,           # )NzPrimary:userPasswordú{CRYPT})rP   rz   r   )rg   Ú	algorithmrI   rÞ   rð   ÚsvÚfbrÝ   Úu8rÆ   rÈ   rÁ   Úget_userPassword_hashrà   s   &&&&&    €€€€€r   Úget_virtual_crypt_valueÚJGetPasswordCommand.get_account_attributes.<locals>.get_virtual_crypt_valueh  s�   ø€ ØˆBØˆBÙÐ2Ó3ˆAØŠ}Ù0°¸vÓF‘�ØŠzñ " )Ó,�Ø’=Ù! !¨×(@Ð(@°LÓA�BØ’~ô -¬S°«^¼ZÈ»^ÈVÓT˜Ø’:ð �BØŠzÙØ˜r•>Ð!r!   c                 ó  <€ \        \        P                  V 4      pR pSe   SpMSe   SP                  R,          pMR# V\	        VP
                  P                  4      8w  d   R# RV,          pTpV^ 8”  d   RW3,          pRpVP                   Fu  p	\        V	P                  4      p
Vf+   V	P                  V8X  d   V
P                  V4      '       d   T
pV	P                  V8X  g   KY  V
P                  V4      '       g   Kr  W¨3u # 	  RV3# )rü   N:Nr6   Nz$%d$z$%d$rounds=%d)NN)r   r	   Úpackage_PrimaryUserPasswordBlobÚvaluerê   Úcurrent_nt_hashrì   rë   r   Úschemert   )Úblobrý   rI   ÚupÚSCHEMEÚcurrent_hashÚscheme_prefixÚprefixÚscheme_matchÚhÚh_valueÚ
aes256_keyr.   s   &&&        €€r   r  ÚHGetPasswordCommand.get_account_attributes.<locals>.get_userPassword_hash�  s  ø€ ÜœH×DÑDÀdÓKˆBØˆFð Ò%Ø)‘ØÒ'Ø)×/Ñ/°Õ4‘à!Ð!àœy¨×);Ñ);×)@Ñ)@ÓAÔAØ!Ð!à" YÕ.ˆMØ"ˆFØ˜ŒzØ(¨IÐ+>Õ>�ØˆLà—Y”Y�ô % Q§W¡WÓ-�Ø Ò(Ø—H‘H Ô&Ø×*Ñ*¨=×9Ò9Ø#*�LØ—8‘8˜vÖ%¨'×*<Ñ*<¸V×*DÔ*DØ#Ð2Ò2ñ ð ˜,Ð'Ð'r!   c                 ó^   <€ S! V R 4      pVf   ^ #  \        V4      #   \         d     ^ # i ; i)rI   )Úintr<   )r‹   r�   r�   s   & €r   Ú
get_roundsÚ=GetPasswordCommand.get_account_attributes.<locals>.get_rounds¬  s7   ø€ Ù˜T 8Ó,ˆCØŠ{ÙðÜ˜3“x�øÜô Úðús   ’
 �,«,c                 óŽ   € \         P                  ! 4       pVP                  4        VP                  V 4       VP	                  4       # rW   )r   rq   rr   rÚ   Úget_nt_hash)ÚpwdÚtmps   & r   Úget_unicode_pwd_hashÚGGetPasswordCommand.get_account_attributes.<locals>.get_unicode_pwd_hashµ  s9   € ô ×)Ò)Ó+ˆCØ×ÑÔØ×"Ñ" 3Ô'Ø—?‘?Ó$Ð$r!   r‹   r*   r,   rQ   z{SSHA}r9   ÚvirtualCryptSHA256ÚvirtualCryptSHA512r-   rS   rÄ   ÚvirtualWDigestzPrimary:WDigestr/   c                 óŒ   <€ V P                  4       pR pSP                  4        F  pWP                  4       8w  d   K  Tp V# 	  V# rW   )rs   r>   )ÚsrcattrgÚsrcattrlÚsrcattrrÕ   Úobjs   &   €r   Úget_src_attrnameÚCGetPasswordCommand.get_account_attributes.<locals>.get_src_attrname  sG   ø€ Ø—~‘~Ó'ˆHØˆGØ—X‘X–Z�ØŸw™w›yÔ(ÙØ�ØØˆNñ  ð
 ˆNr!   c                 óD  <€ V S9  d   R # \        SV ,          ^ ,          4      pVP                  R4      '       d$   \        P                  ! V4      p\	        V4      pV#  \        V4      pT^ 8X  d   R # TR8¼  d   R # \        T4      pT#   \         d   p R p?R # R p?ii ; i)Nz.0Zl   ÿÿÿÿ )rz   Úendswithra   Ústring_to_timeÚfloatr  r<   r   )r$  ÚvstrÚvutÚvflÚvntÚer%  s   &     €r   Úget_src_time_floatÚEGetPasswordCommand.get_account_attributes.<locals>.get_src_time_float$  s—   ø€ Ø˜cÔ!ÙÜ�s˜7•| A•Ó'ˆDØ�}‰}˜U×#Ò#Ü×(Ò(¨Ó.�Ü˜C“j�Ø�
ðÜ˜$“i�ð �aŒxÙØÐ(Ô(ÙÜ˜sÓ#ˆCØˆJøô ô Ýûðús   ÁB	 Â	BÂBc                 óè   <€ S! V 4      pVf   R # \        V4      p R\        P                  ! V4      ,          pV#   \         d,   pTP                  \        P
                  8X  d    R p?R # h R p?ii ; i)Nz%s)r  ra   Ú
timestringÚOSErrorÚerrnoÚ	EOVERFLOW)r$  r.  r-  Úvr0  r1  s   &    €r   Úget_generalizedtimeÚFGetPasswordCommand.get_account_attributes.<locals>.get_generalizedtime9  se   ø€ Ù$ WÓ-ˆCØŠ{ÙÜ�c“(ˆCðØœ3Ÿ>š>¨#Ó.Õ.�ð
 ˆHøô	 ô Ø—7‘7œeŸo™oÔ-ÝØûðús   œ; »A1ÁA,Á+A,Á,A1c                 óL   <€ S! V 4      pVf   R # \        V4      pRV,          pV# )Nz%d)r  )r$  r.  r-  r8  r1  s   &   €r   Úget_unixepochÚ@GetPasswordCommand.get_account_attributes.<locals>.get_unixepochF  s,   ø€ Ù$ WÓ-ˆCØŠ{ÙÜ�c“(ˆCØ�s•
ˆAØˆHr!   c                 ó6   <€ S! V 4      pVf   R # RV,          pV# )Nz%.9f© )r$  r.  r8  r1  s   &  €r   Úget_timespecÚ?GetPasswordCommand.get_account_attributes.<locals>.get_timespecN  s#   ø€ Ù$ WÓ-ˆCØŠ{ÙØ˜•ˆAØˆHr!   z;format=r¦   )r—   r˜   r™   )F)r®   r.   r¯   ©r   )é   é   éÿÿÿÿ)=Úappendra   rx   rw   rE   r|   r   r   r	   ÚsupplementalCredentialsBlobr   ÚMANAGEDPASSWORD_BLOBÚ	passwordsrÄ   Úquery_intervalr   ÚdatetimeÚnowÚtimezoneÚutcr   r   Úcurrentrz   Údomain_dns_namers   rK   r#   r>   ÚnextÚbuiltinsÚfilterÚgpg_decryptr   rq   rr   rÚ   r  Úset_kerberos_salt_principalÚget_kerberos_keyÚENCTYPE_AES256_CTS_HMAC_SHA1_96r  Údecrypt_samba_gpg_helpru   rv   r_   r`   r?   r@   r   Úupdater÷   rA   rB   rD   rt   r  r<   Údomain_netbios_nameÚMessageElementÚFLAG_MOD_REPLACE)Zr[   rf   rÞ   ÚbasednrS  ro   rp   r   Úsupport_pw_attrsr©   Ú	raw_attrsÚhas_wildcard_attrÚhas_virtual_attrsÚrequested_attrsÚimplicit_attrsr£   rg   Úsearch_attrsÚrequired_attrsÚrequired_attrÚsearch_controlsr�   r„   Úsc_blobÚmanaged_passwordÚunpacked_managed_passwordrJ  Úquery_time_datetimeÚquery_time_nttimerð   rñ   rõ   rÐ   Úkerberos_saltÚkrb5_vÚkrb5_ctrrÖ   ÚsgvÚcvr  Ú	decryptedr  r0  Úmessagerù   r  r  r  r¤   ÚrarÝ   r   r8  rK   r  ÚbvrI   Úxrï   rî   rò   ró   r&  r9  r<  r@  Úgenerated_formatsr�   r$  ÚanÚdelnameÚkeepÚdattrÚiarø   r  rÆ   r¿   rž   rÈ   r�   rÁ   r1  r  rà   r•   rŸ   r%  rÀ   r.   sZ   &&&&&&&&&                                                                 @@@@@@@@@@@@@@@@r   Úget_account_attributesÚ)GetPasswordCommand.get_account_attributesä   s‰
  ÿÿ€ ò	ò	ò
ˆö	÷	ð 	ð ˜!•Hˆ	Ø 9Ñ,ÐØ!ÐØˆØˆã!ˆHÙ˜xÓ(ˆAØ×"Ñ" 1Ö%ñ "ð ˆØ!ÐÛ ˆAØ��zÒ%Ø$(Ð!ÙØ��|Ò'ð
 ×%Ñ% aÔ(ÙØ��} Ô,ÙØ×Ñ  *¥Ö.ñ !÷ !à Ø#ðˆNó "0�Ù" =Ó1�Ø×%Ñ% aÖ(ñ "0÷ ßò"�ó
 &4�MÙ& }ÀÔE�AØ"×)Ñ)¨!Ö,ñ &4ó  ˆAØ��y˜LÔ(ÙØ×Ñ  &¥	Ö*ñ  ð
 ”C—N‘NÔ"Ø/Ð1BÐC‰Oà ˆOð
	gØ—,‘, FØ%*°,Ø(7ð ó 9ˆCô �3‹x˜1Œ}ÜÐ :¸h×>PÐ>PÈ&Õ QÓRÐRÜ�3‹x˜!Œ|ÜÐ LÔPSÐTWÓPXÐZ`ÐOaÕ aÓbÐbð ð
 �!�fˆàˆ
àˆØˆ
Ø$¨Ô+ØÐ3Õ4°QÕ7ˆGÜœH×@Ñ@À'ÓJˆBØ˜3ÔØ˜\Õ*¨1Õ-ˆJØ! SÔ(ð  #Ð#9Õ:¸1Õ=ÐÜ(2´4×3LÑ3LØ3Có)EÐ%ð *×3Ñ3×<Ñ<ð �~Ñ&à6×@Ñ@×OÑOˆNàð Ð,Ñ-ô -¨^Ó<¼x×?PÑ?P×?TÑ?TÔX`×XiÑXi×XmÑXmÐ?TÓ?nÕnð  ô !6Ð6IÓ JÐà,=ˆJÐ(Ñ)ð
 Ð/Õ0´NÔBà-×7Ñ7×@Ñ@ð Ð.Ò/ð .×7Ñ7×?Ñ?ð Ð.Ñ/ô ˜3Ð/Õ0°Õ3Ó4ˆØ #Ô%Ü˜cÐ"5Õ6°qÕ9Ó:‰Kà×)Ñ)Ó+ˆEÛ%1°5·;±;µ=ÐAˆK÷	ð 	÷$		8õ	6ð ˆ
Øˆá-Ó/Ñˆ�Ø�VÔØ$ŸM™M×0Ñ0ˆMà�}�}ˆ}ò+ä!¤(§/¢/°)¸X¿]¹]Ó"KØ"&ó(�
÷ ñ Ð0¸"Ô=ˆCØŠð!@Ü$ SÓ)�Bô &×1Ò1Ó3�CØ×%Ñ%Ô'Ø×*Ñ*¨2Ô.à $�IØ#'�Là!Ò-Ø$'§O¡OÓ$5˜	Ø'1™Ø#Ò/°MÒ4MØ×7Ñ7¸ÔFØ$'×$8Ñ$8¼×9dÑ9dÓ$e˜	Ø'1×'7Ñ'7˜à#Ò/°LÀIÔ4MØ:<˜
Ð#6Ñ7ò	=ð ˆõd	÷V	"ñ 	"ö2%	(õV	ò	%ô Ô*×/Ñ/Ó1×2ˆAØˆEÛ%�Ø�g•;Ò&ÙØ�f•:×#Ñ#Ó%¨¯©«Ô2ÙØ�Ùñ &ð Š}ÙØ˜f�ˆIàÐ*Ô*Ù! )Ó,�Ø’9ÙÙ˜a  H×$<Ð$<°Ó=�Ø’:ÙØ’ØÐ-Ô-Ù! )Ó,�Ø’9Ùñ à�mÔ#Ù! )Ó,�Ø’9ÙÙ˜a  H×$<Ð$<°Ó=�Ø’:ÙÜ—z’z !“}�Ü“F�Ø—‘˜”Ø—‘˜”Ø—X‘X“Z $Õ&�Øœv×/Ò/°Ó3×:Ñ:¸6ÓBÕB’ØÐ*Ô*Ù# IÓ.�Ù+¨A¨q°&¸(ÀLÓQ�Ø’9ÚØ’ØÐ*Ô*Ù# IÓ.�Ù+¨A¨q°&¸(ÀLÓQ�Ø’9ÚØ’ØÐ'Ô'ñ  Ð 2¸BÔ?�Ø’9Úñ àÐ+Ô+Ø!�Ø’9Úð à�lÔ" zÒ'9Ø&¨*Ô4¹ZÈ	ÐS]×=^Ò=^Ù,¨ZÐ8KÕ-LÓM‘AØ# zÔ1±jÀÈJ×6WÒ6WÙ,¨Z¸Õ-GÓH‘AâØ—‘Ð.×/Ò/Ù"-Ð.?Ó"@�Ø"Ò*ÚØ”cÐ*Ó+Ð,Ð-�ðÜ˜A›�Að ×2Ñ2Ó4�Ø"×2Ñ2Ó4�
Ù  ?°LÀ+ÈvÐWaÓb�Ø’9Úð àÐ7Ô7Ø$¨JÔ6ÚÜ˜
Ð#4Õ5Ó6‘âÜ×'Ò'¨¬3×+?Ñ+?ÀÀzÕARÓSˆC�ŒFñu 3õx	õ	õ*	õ	õ	ð ÐÛˆBÛ%�Ø�i•=Ò(ÙØ�i•= BÔ&Ùá*¨2¨f­:Ó6�ØÒ&Û+2²BÐ7‘Bá#3°B°zµNÓ#CÐC�G˜bØ’?ÙØÐ*Ô*ÙØ(*Ð! "Ñ%à�ØÐ*Ô*Ù+¨GÓ4‘AØ˜:Ô%Ù% gÓ.‘AØ˜:Ô%Ù$ WÓ-�AØ’9ÙÜ×,Ò,¨Q´×0DÑ0DÀbÓI��B“ó5 &ñ ð< —x‘x–zˆGØˆDÛ%�Ø—=‘=“? b¨¥n×&:Ñ&:Ó&<Ô<ÙØ�Ùñ	 &÷
 ÙàˆEÛ$�Ø—=‘=“? b¨¥j×&6Ñ&6Ó&8Ô8ÙØ�Ùñ	 %ð
 Š}Ùç ¨¨{×);Ô);ÙØ�G’ñ+ "ð, ˆ
øôi ô 	gåÈX×M_ÐM_ÐY_ÒM_ÒadÐeÓfÐfûð	gûô^ !ô @Ü"Ò*Ü"8™ä"% a£&˜Ø—I‘I—O’Oð %×4Ð4¨Ò4³gð?÷@ò @ûð@ûôL	 "ô ÛðúsO   Å73g Æ+:g Ð9B0g> Þ
içg;çg6ç6g;ç>iè	8iéiéiéi/é.i/c                óø  € Vf   \        R4      hVP                  R4      p. pV FÑ  pVP                  4       P                  4       p\        P                  4        FM  pVP                  4       VP                  4       8X  g   K(  \        V,          R,          p\        RV: RV: 24      h	  \        P                  4        F*  pVP                  4       VP                  4       8X  g   K(  Tp M	  W4.,          pKÓ  	  V# )NzPlease specify --attributesr4   rR   zVirtual attribute 'z' not supported: )r   r§   ÚlstripÚrstripÚdisabled_virtual_attributesr>   rs   r`   )r[   Ú
attributesrp   Úpassword_attrsÚpaÚdaÚrÚvas   &&      r   Úparse_attributesÚ#GetPasswordCommand.parse_attributesŒ  sÙ   € àÒÜÐ<Ó=Ð=Ø× Ñ  Ó%ˆØˆÛˆBØ—‘“×#Ñ#Ó%ˆBÜ1×6Ñ6Ö8�Ø—8‘8“: §¡£Ö+Ü3°BÕ7¸ÕA�AÝ&Û')ª1ð(.ó /ð /ñ 9ô
 )×-Ñ-Ö/�Ø—8‘8“: §¡£Ö+à�BÙñ	 0ð
 ˜dÕ"ŠNñ ð Ðr!   )rZ   )NTF)T)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rY   rh   r…   r}  r‰  Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r\   Ú__classdict__s   @@r   rU   rU   «   s'   ù‡ € õòJô*ôXf
÷Pò r!   rU   rB  ))r1   r  )r3   r  );rA   rR  r¹   rK  r6  r   r?   Úhashlibr   ra   Úsambar   r   Ú
samba.authr   Úsamba.commonr   r   Úsamba.dcerpcr	   r
   r   Ú	samba.ndrr   Úsamba.netcmdr   r   Úsamba.samdbr   Úsamba.nt_timer   r   Ú
samba.gkdir   Úsamba._gluer   r    r)   rT  r   ÚImportErrorr$   rX  r‚  ÚATTR_FLAG_FORCE_BASE64_LDIFr`   rP   rG   r“   r<   r5  Úrangerv  Úvirtual_attributes_helpr=   r_   r>   rE   rU   r?  r!   r   Ú<module>r¢     s>  ðó, Û Û Û Û Û 	Û 	Ý ã 
ß +Ý %ß .ß 1Ñ 1Ý  ß .Ý ß MÝ %Ý òòð €çðÛØ$ˆ÷ ðÛØ"ˆ÷ ð1ÑðJÐðÐ ð Ø�×0Ñ0ðð Ø�×0Ñ0ðð Ø�×0Ñ0ðð Ø�×0Ñ0ðð &ð (ðÐ ô$ð@ %'Ð �=Ñ !ãM�K€Sˆ$ðÙ˜˜RÔ ð  "Ð�tÓñ Nñ 
ˆq�"Ž€AØ35ÐÐ+¨aÕ/Ó0ñ 
ð -/Ð Ð(Ñ )àIÐ Ø ÐFÈÏÉÑSYÐZl×ZqÑZqÓZsÓStÓIuÕuÕ uÐ ÙÐ"Ó# qÔ(ØÐCÀdÇiÁiÑPVÐWr×WwÑWwÓWyÓPzÓF{Õ{Õ{Ðôu˜ö uøðA ô Úðûð ô ÚðûðJ ˜Ð ô à˜	 # Ð&BÐCð-
Ð# DÑ)ò 	ð	ús6   Â F( ÂF6 Ã3	GÆ(F3Æ2F3Æ6GÇ GÇGÇG