+
    4SsiJ ã                   ó  € ^ RI t ^ RIt^ RIt^ RIHtHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RIH
t
 ^ RIHtHt ^ RIHt ^ R	IHt ^ R
IHt ^ RIHtHtHt ^ RIHtHt ^ RIHt ^ RIHt ^ RIHtHtH t H!t! R t" ! R R]#4      t$R# )é    N)Ú	b64decodeÚ	b64encode)Údsdb)Úcommon)Úmisc)Údrsuapi)Ú
ndr_unpackÚndr_pack)Údrsblobs)Údsdb_Dn)Úsecurity)Úget_wellknown_sdsÚget_deletedobjects_descriptorÚget_diff_sds)Úsystem_sessionÚadmin_session)ÚCommandError)Úget_fsmo_roleowner)Úc_REDÚc_DARK_YELLOWÚc_DARK_CYANÚc_DARK_GREENc                óÔ   € . pV  F$  p VP                  VP                  R4      4       K&  	  RP	                  V4      #   \         d    TP                  \        T4      4        Ka  i ; i)z Stringify a value list, using utf-8 if possible (which some tests
want), or the python bytes representation otherwise (with leading
'b' and escapes like b' ').
zutf-8Ú,)ÚappendÚdecodeÚUnicodeDecodeErrorÚreprÚjoin)ÚvalsÚresultÚvalues   &  Ú1/usr/lib/python3/dist-packages/samba/dbchecker.pyÚdump_attr_valuesr$   *   s_   € ð
 €FÛˆð	'Ø�M‰M˜%Ÿ,™, wÓ/Ö0ñ ð
 �8‰8�FÓÐøô "ô 	'Ø�M‰Mœ$˜u›+×&ð	'ús   ‰ >¾%A'Á&A'c                   ó  a € ] tR t^8t o Rt/ tRMR ltR tR]P                  RR3R lt
R tR tRNR ltR	 tR
 tROR ltR tR tR tR tR tR tR tR tRPR ltR tR tR tR tR tR tR t R t!R t"R t#ROR lt$R  t%R! t&R" t'R# t(R$ t)R% t*R& t+R' t,R( t-R) t.R* t/R+ t0R, t1R- t2R. t3R/ t4R0 t5R1 t6R2 t7R3 t8R4 t9R5 t:R6 t;R7 t<R8 t=R9 t>R: t?R; t@R< tAR= tBR> tCR? tDR@ tERA tFRB tGRC tHRD tIRE tJRF tKRG tLRQRH ltMRI tNRJ tORK tPRLtQV tRR# )RÚdbcheckzcheck a SAM database for errorsNc           
     ó®  € Wn         R V n        T;'       g    TV n        W0n        W@n        WPn        W`n        W°n        RV n        RV n	        RV n
        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        \7        4       V n        RV n        RV n        RV n        RV n         RV n!        RV n"        RV n#        RV n$        RV n%        RV n&        RV n'        RV n(        RV n)        RV n*        RV n+        RV n,        RV n-        W€n.        W�n/        W n0        ^ V n1        RV n2        Wpn3        \h        Pj                  ! VRVPm                  4       ,           4      V n7        \h        Pj                  ! VRVPq                  4       ,          4      V n9        VPu                  4       V n;        \h        Pj                  ! VRVPm                  4       ,           4      V n<        \h        Pj                  ! WP{                  4       4      V n>        / V n?        \�        V P                   4      V nA        RV nB        RV nC        RV nD        RV nE        RV nF        \�        4       V nH        / V nI        / V nJ         RV P—                  VP™                  4       \š        Pœ                  4      ,          pVPŸ                  V\h        P                   R.R7      p\£        \¤        P¦                  V^ ,          R,          ^ ,          4      p\©        V4      V P”                  R&   \±        4       V nY        \µ        R VP·                  4       4      V n\        V P                   PŸ                  V P|                  \h        P                   R	R
.R7      pR	V^ ,          9   d   V^ ,          R	,          V n]        M+R
V^ ,          9   d   V^ ,          R
,          V n]        MR V n]        V P                   PŸ                  R\h        P                   R.R7      p. V n^        . V n_        . V n`         V^ ,          R,          V na        V PÂ                   Fm  p V P—                  \h        Pj                  ! V P                   VPÉ                  R4      4      \š        PÊ                  4      pV P¼                  PÍ                  V4       Ko  	  RV P                   P™                  4       ,          pRV P                   PÏ                  4       ,          pV P                   PŸ                  \h        PÐ                  RR.V P                   PÓ                  4       RV,          R7      p\Õ        V4      ^8X  dD   V PÀ                  PÍ                  \h        Pj                  ! V P                   V4      V^ ,          34       V P                   PŸ                  \h        PÐ                  RR.V P                   PÓ                  4       RV,          R7      p\Õ        V4      ^8X  dD   V PÀ                  PÍ                  \h        Pj                  ! V P                   V4      V^ ,          34       \h        Pj                  ! V P                   RV P                   Pm                  4       ,           4      p\×        V P                   VR4      p\h        Pj                  ! V P                   V P                   P{                  4       4      V8X  d	   RV nl        MRV nl        V P                   PŸ                  \h        Pj                  ! V P                   V P                   PÛ                  4       4      \h        P                   R.R7      p\h        Pj                  ! V P                   V^ ,          R,          ^ ,          PÉ                  R4      4      V nn        V P                   PŸ                  V PÜ                  \h        P                   R.R7      pRV^ ,          9   dL   \h        Pj                  ! V P                   V^ ,          R,          ^ ,          PÉ                  R4      4      V no        MR V no        RV P                   Pq                  4       Pá                  4       ,          pVPŸ                  V\h        P                   RR.R7      pRV^ ,          9   d'   \ã        V^ ,          R,          ^ ,          4      V nr        M^´V nr        . V ns        . V nt         V P                   PŸ                  \h        P                   RRR.R7      pRV^ ,          9   d   V^ ,          R,          V ns        RV^ ,          9   d   V^ ,          R,          V nt        R # R #   \h        Pª                   d1   pTP¬                  w  ppT\h        P®                  8w  d   h  R p?ELLR p?ii ; i  \Ä         d     ELU\Æ         d     ELbi ; i  \Ä         dO    T P¾                  PÍ                  \h        Pj                  ! T P                   TPÉ                  R4      4      4        EK²  i ; i  \h        Pª                   d1   pTP¬                  w  ppT\h        P®                  8w  d   h  R p?R # R p?ii ; i) NFzCN=Infrastructure,zCN=Partitions,%szCN=RID Manager$,CN=System,zCN=DnsAdmins,%sÚ	objectSid©ÚbaseÚscopeÚattrsÚ	DnsAdminszmsDS-hasMasterNCsÚhasMasterNCsÚ ÚnamingContextsÚutf8zDC=DomainDnsZones,%szDC=ForestDnsZones,%súmsDS-NC-Replica-LocationsúmsDS-NC-RO-Replica-Locationsz$(&(objectClass=crossRef)(ncName=%s)))r+   r,   r*   Ú
expressionÚridTÚserverReferenceÚrIDSetReferencesz1CN=Directory Service,CN=Windows NT,CN=Services,%sz(objectClass=nTDSService)ÚtombstoneLifetime)r*   r+   r4   r,   z@SAMBA_DSDBÚcompatibleFeaturesÚrequiredFeatures)r+   r*   r,   )uÚsamdbÚdict_oid_nameÚsamdb_schemaÚverboseÚfixÚyesÚquietÚcolourÚremove_all_unknown_attributesÚremove_all_empty_attributesÚfix_all_normalisationÚfix_all_duplicatesÚfix_all_DN_GUIDsÚfix_all_binary_dnÚ#remove_implausible_deleted_DN_linksÚ!remove_plausible_deleted_DN_linksÚ$fix_all_string_dn_component_mismatchÚ"fix_all_GUID_dn_component_mismatchÚ!fix_all_SID_dn_component_mismatchÚ fix_all_SID_dn_component_missingÚ(fix_all_old_dn_string_component_mismatchÚfix_all_metadataÚfix_time_metadataÚfix_undead_linked_attributesÚfix_all_missing_backlinksÚfix_all_orphaned_backlinksÚfix_all_missing_forward_linksÚdictÚduplicate_link_cacheÚrecover_all_forward_linksÚfix_rmd_flagsÚfix_ntsecuritydescriptorÚ$fix_ntsecuritydescriptor_owner_groupÚseize_fsmo_roleÚmove_to_lost_and_foundÚfix_instancetypeÚ"fix_replmetadata_zero_invocationidÚ fix_replmetadata_duplicate_attidÚfix_replmetadata_wrong_attidÚfix_replmetadata_unsorted_attidÚfix_deleted_deleted_objectsÚfix_dnÚfix_base64_userparametersÚfix_utf8_userparametersÚfix_doubled_userparametersÚfix_sid_rid_set_conflictÚquick_membership_checksÚreset_well_known_aclsÚcheck_expired_tombstonesÚexpired_tombstonesÚreset_all_well_known_aclsÚin_transactionÚldbÚDnÚ	domain_dnÚinfrastructure_dnÚget_config_basednÚ	naming_dnÚget_schema_basednÚ	schema_dnÚrid_dnÚget_dsServiceNameÚntds_dsaÚclass_schemaIDGUIDr   Úwellknown_sdsÚfix_all_missing_objectclassÚfix_missing_deleted_objectsÚfix_replica_locationsÚfix_missing_rid_set_masterÚfix_changes_after_deletion_bugÚsetÚdn_setÚlink_id_cacheÚname_mapÚget_wellknown_dn_cachedÚget_default_basednr   ÚDS_GUID_USERS_CONTAINERÚsearchÚ
SCOPE_BASEr	   r   Údom_sidÚstrÚLdbErrorÚargsÚERR_NO_SUCH_OBJECTr   Úsystem_session_infor   Úget_domain_sidÚadmin_session_infoÚ	write_ncsÚdeleted_objects_containersÚncs_lacking_deleted_containersÚdns_partitionsÚncsÚKeyErrorÚ
IndexErrorr   Ú!DS_GUID_DELETED_OBJECTS_CONTAINERr   Úget_root_basednÚSCOPE_ONELEVELÚget_partitions_dnÚlenr   Úis_rid_masterÚget_serverNameÚserver_ref_dnÚ
rid_set_dnÚget_linearizedÚintr8   r9   r:   )Úselfr;   r=   r>   r?   r@   rA   rn   ri   rj   rk   rB   Úbase_dnÚresÚdnsadmins_sidÚe5ÚenumÚestrÚncÚdnÚdomaindns_zoneÚforestdns_zoneÚdomainÚforestÚfsmo_dnÚ
rid_masterÚntds_service_dnÚe6s   &&&&&&&&&&&&                r#   Ú__init__Údbcheck.__init__=   s’  € ð Œ
Ø!ˆÔØ)×2Ð2¨UˆÔØŒØŒØŒØŒ
ØŒØ-2ˆÔ*Ø+0ˆÔ(Ø%*ˆÔ"Ø"'ˆÔØ %ˆÔØ!&ˆÔØ38ˆÔ0Ø16ˆÔ.Ø49ˆÔ1Ø27ˆÔ/Ø16ˆÔ.Ø05ˆÔ-Ø8=ˆÔ5Ø %ˆÔØ!&ˆÔØ,1ˆÔ)Ø).ˆÔ&Ø*/ˆÔ'Ø-2ˆÔ*Ü$(£FˆÔ!Ø).ˆÔ&Ø"ˆÔØ(-ˆÔ%Ø49ˆÔ1Ø$ˆÔØ&+ˆÔ#Ø %ˆÔØ27ˆÔ/Ø05ˆÔ-Ø,1ˆÔ)Ø/4ˆÔ,Ø+0ˆÔ(ØˆŒØ).ˆÔ&Ø',ˆÔ$Ø*/ˆÔ'Ø(-ˆÔ%Ø'>Ô$Ø%:Ô"Ø(@Ô%Ø"#ˆÔØ).ˆÔ&Ø,ÔÜ!$§¢¨Ð/CÀeÇoÁoÓFWÕ/WÓ!XˆÔÜŸš Ð'9¸E×<SÑ<SÓ<UÕ'UÓVˆŒØ×0Ñ0Ó2ˆŒÜ—f’f˜UÐ$@À5Ç?Á?ÓCTÕ$TÓUˆŒÜŸš˜u×&=Ñ&=Ó&?Ó@ˆŒØ"$ˆÔÜ.¨t¯z©zÓ:ˆÔØ+0ˆÔ(Ø+0ˆÔ(Ø%*ˆÔ"Ø*/ˆÔ'Ø.3ˆÔ+ä“eˆŒØˆÔØˆŒð	Ø'¨$×*FÑ*FØ×(Ñ(Ó*Ü×,Ñ,ó+.õ .ˆGð —,‘, G´3·>±>Ø&1 ]ð ó 4ˆCä&¤x×'7Ñ'7¸¸Q½ÀÕ9LÈQÕ9OÓPˆMÜ),¨]Ó);ˆD�M‰M˜+Ñ&ô $2Ó#3ˆÔ Ü"/°°e×6JÑ6JÓ6LÓ"MˆÔà�j‰j×Ñ T§]¡]¼#¿.¹.ÐQdÐftÐPuÐÓvˆØ # a¥&Ô(Ø  �VÐ$7Õ8ˆD�Nð   Q¥Ô'Ø!$ Q¥¨Õ!7�•à!%�”à�j‰j×Ñ R¬s¯~©~ÐFVÐEWÐÓXˆØ*,ˆÔ'Ø.0ˆÔ+Ø ˆÔð	Ø˜1•vÐ.Õ/ˆDŒHð —(”(ˆBðbØ×1Ñ1´#·&²&¸¿¹ÀRÇYÁYÈvÓEVÓ2WÜ26×2XÑ2XóZ�à×/Ñ/×6Ñ6°rÖ:ñ	 ð 0°$·*±*×2OÑ2OÓ2QÕQˆØ/°$·*±*×2LÑ2LÓ2NÕNˆØ—‘×"Ñ"¬×);Ñ);Ø*EÐGeÐ)fØ(,¯
©
×(DÑ(DÓ(FØ.TÐWeÕ.eð #ó gˆô ˆv‹;˜!ÔØ×Ñ×&Ñ&¬¯ª¨t¯z©z¸>Ó(JÈFÐSTÍIÐ'VÔWà—‘×"Ñ"¬×);Ñ);Ø*EÐGeÐ)fØ(,¯
©
×(DÑ(DÓ(FØ.TÐWeÕ.eð #ó gˆô ˆv‹;˜!ÔØ×Ñ×&Ñ&¬¯ª¨t¯z©z¸>Ó(JÈFÐSTÍIÐ'VÔWä—&’&˜Ÿ™Ð%AÀDÇJÁJ×DXÑDXÓDZÕ%ZÓ[ˆÜ'¨¯
©
°G¸UÓCˆ
Ü�6Š6�$—*‘*˜dŸj™j×:Ñ:Ó<Ó=ÀÔKØ!%ˆDÕà!&ˆDÔð �j‰j×Ñ¤S§V¢V¨D¯J©J¸¿
¹
×8QÑ8QÓ8SÓ%TÜ&)§n¡nÐ=NÐ<Oð  ó Qˆô !ŸVšV D§J¡J°°AµÐ7HÕ0IÈ!Õ0L×0SÑ0SÐTZÓ0[Ó\ˆÔð �j‰j×Ñ T×%7Ñ%7Ü&)§n¡nÐ=OÐ<Pð  ó Rˆà  Q¥Ô'Ü!Ÿfšf T§Z¡Z°°QµÐ8JÕ1KÈAÕ1N×1UÑ1UÐV\Ó1]Ó^ˆD�Oà"ˆDŒOàMØŸ*™*×6Ñ6Ó8×GÑGÓIõJˆà�l‰l Ü!$§¡Ø&AØ"5Ð!6ð ó 8ˆð  # a¥&Ô(Ü%(¨¨Q­Ð0CÕ)DÀQÕ)GÓ%HˆDÕ"à%(ˆDÔ"à"$ˆÔØ "ˆÔð	Ø—*‘*×#Ñ#¬#¯.©.Ø)6Ø+?Ø+=ð+?ð $ó @ˆCð $ s¨1¥vÔ-Ø*-¨a­&Ð1EÕ*F�Ô'Ø! S¨¥VÔ+Ø(+¨A­Ð/AÕ(B�Ö%ñ ,øôG �|‰|ô 	ØŸ7™7‰LˆT�4Ø”s×-Ñ-Ô-Øõ .ûð	ûô6 ô 	ÚÜô 	Úð	ûô ô bØ×3Ñ3×:Ñ:¼3¿6º6À$Ç*Á*ÈbÏiÉiÐX^ÓN_Ó;`×aÐaðbûô@ �|‰|ô 	ØŸ7™7‰LˆT�4Ø”s×-Ñ-Ô-Øõ .ûð	úsd   Ê!Be Ð8f ÑA)f3ãA4h åfå!%fæfæf0æ"f0æ+f0æ/f0æ3Ahèhèiè$%iéic                ó>  € V P                   P                  \        V4      4      pR pVe   VP                  V4      pVf^   V P                  P	                  W4      pVf   V# Vf5   / V P                   \        V4      &   V P                   \        V4      ,          pWCV&   V# ©N)Úhash_well_knownÚgetr‹   r;   Úget_wellknown_dn)r¤   Únc_rootÚwkguidÚh_ncr¬   s   &&&  r#   r…   Údbcheck.get_wellknown_dn_cachedø   s‘   € Ø×#Ñ#×'Ñ'¬¨G«Ó5ˆØˆØÒØ—‘˜&Ó!ˆBØŠ:Ø—‘×,Ñ,¨WÓ=ˆBØŠzØ�	ØŠ|Ø57�×$Ñ$¤S¨£\Ñ2Ø×+Ñ+¬C°«LÕ9�Ø�‰LØˆ	ó    c                óR  € V P                   P                  WR.VR7      pV P                  R\        V4      ,          4       ^ p^ V n        W`P                  4       ,          p\        4       V n        V FT  pV P                  P                  \        VP                  4      4       W`P                  VP                  VR7      ,          pKV  	  Vf   W`P                  4       ,          pV P                  ^ 8”  d#   V P                  RV P                  ,          4       V P                  R\        V4      W`P                  ,           3,          4       V P                  ^ 8w  d    V P                  RV P                   R24       V^ 8w  d(   V P                  '       g   V P                  R	V R
24       V# )z>perform a database check, returning the number of errors foundr¬   ©r*   r+   r,   ÚcontrolszChecking %u objects)Úrequested_attrsz†NOTICE: found %d expired tombstones, 'samba' will remove them daily, 'samba-tool domain tombstones expunge' would do that immediately.zChecked %u objects (%u errors)z	WARNING: z/ of these errors cannot be automatically fixed.z-Please use 'samba-tool dbcheck --fix' to fix z errors)r;   rˆ   Úreportr�   Úunfixable_errorsÚ check_deleted_objects_containersr�   Úattribute_or_class_idsr‚   Úaddr‹   r¬   Úcheck_objectÚcheck_rootdserl   r?   )r¤   ÚDNr+   rÃ   r,   r¦   Úerror_countÚobjects   &&&&&   r#   Úcheck_databaseÚdbcheck.check_database  s|  € ð �j‰j×Ñ R¸T¸FÈXÐÓVˆØ�‰Ð)¬C°«HÕ4Ô5ØˆØ !ˆÔà×<Ñ<Ó>Õ>ˆä&)£eˆÔ#ãˆFØ�K‰K�O‰OœC §	¡	›NÔ+Ø×,Ñ,¨V¯Y©YÈÐ,ÓNÕNŠKñ ð Š:Ø×-Ñ-Ó/Õ/ˆKà×"Ñ" QÔ&Ø�K‰Kð 5ð ×/Ñ/õ	1ô 2ð 	�‰Ð4Ü˜“X˜{×-BÑ-BÕBÐCõDô 	Eð × Ñ  AÔ%Ø�K‰K˜) D×$9Ñ$9Ð#:ð ;Ið Iô Jð ˜!Ô D§H§H HØ�K‰KÐGØ&˜- wð0ô 1ð ÐrÀ   c           
     óð	  € ^ pV P                    EF.  pW P                  8X  d   K  V^,          pV P                  RV,          4       V P                  RV,          R4      '       g   KX  \        P
                  ! V P                  R4      pVP                  V4       Rp V P                  P                  V\        P                  . . R!OR7      p\        V4      ^ 8w  dy   V^ ,          P                  P                  R4      p\        P
                  ! V P                  R\        \        P                  ! V4      4      ,          4      pVP                  V4       Te     T P                  P'                  Y4. R"O4       T P                  P                  T\        P                  R.. R#OR7      p\        T4      ^8w  d   T P                  RT,          4        ^# T^ ,          R,          p. pRpT F›  p\)        T P                  TP+                  R4      \,        P.                  4      pT P1                  T4      '       d4   T P                  RT,          4       TP                  P                  R4      pTP3                  \        T4      4       K�  	  Te(   R\        \        P                  ! T4      4      ,          pM1R\,        P4                  ,          pTP3                  T: RT: 24       Rp\6        P8                  ! T P                  P;                  4       4      p\=        TT P>                  R7      p\A        T4      P+                  R4      pT P                  PC                  RT: RT: RT: 2R
R.R7       \        PD                  ! 4       p\        P
                  ! T P                  \        T^ ,          R,          4      4      Tn        \        PF                  ! T\        PH                  R4      TR&   T PK                  TR
.RT,          RR7      '       d   T P                  R T,          4       T PL                  P3                  T4       EK1  	  V#   \        P                    dN   pTP"                  w  r‰T\        P$                  8X  d    Rp?EL/T P                  R	T	,          4        Rp? ^# Rp?ii ; i  \        P                    d8   p
T
P"                  w  r‰T P                  RT: RT: RT	: 24        Rp
?
 ^# Rp
?
ii ; i)$zXThis function only fixes conflicts on the Deleted Objects
containers, not the attributesz=ERROR: NC %s lacks a reference to a Deleted Objects containerz-Fix missing Deleted Objects container for %s?r}   zCN=Deleted ObjectsNrÂ   ÚGUIDzCN=Deleted Objects\0ACNF:%sz<Couldn't check for conflicting Deleted Objects container: %súrelax:0z/Couldn't move old Deleted Objects placeholder: ú to z: ÚwellKnownObjectsz(wellKnownObjects was not found for NC %sr1   z7wellKnownObjects had duplicate Deleted Objects value %sz
objectGUID: %szB:32:%sÚ:r/   ©r„   údn: zµ
objectClass: top
objectClass: container
description: Container for deleted objects
isDeleted: TRUE
isCriticalSystemObject: TRUE
showInAdvancedViewOnly: TRUE
nTSecurityDescriptor:: z
systemFlags: -1946157056úprovision:0©rÃ   r¬   z"NC %s lacks Deleted Objects WKGUIDF©ÚvalidatezAdded %s well known guid link)úshow_deleted:1úextended_dn:1:1úshow_recycled:1úreveal_internals:0)rÝ   rÓ   rß   )rÝ   úextended_dn:0rß   rà   )'r”   rv   rÅ   Úconfirm_allro   rp   r;   Úadd_baserˆ   r‰   r�   r¬   Úget_extended_componentr‹   r   rÒ   rŒ   r�   rŽ   Úrenamer   r   r   ÚDSDB_SYNTAX_BINARY_DNÚis_deleted_objects_dnr   r™   r   rŠ   r�   r   r„   r   Úadd_ldifÚMessageÚMessageElementÚFLAG_MOD_REPLACEÚ	do_modifyr“   )r¤   rÍ   r«   r¬   Úconflict_dnr¦   ÚguidÚe2r©   rª   Úe1ÚwkoÚlistwkoÚproposed_objectguidÚoÚdsdb_dnÚguid_suffixÚ
wko_prefixÚ
domain_sidÚsec_descÚsec_desc_b64Údeltas   &                     r#   rÇ   Ú(dbcheck.check_deleted_objects_containers.  s  € ð ˆØ×5Õ5ˆBØ—^‘^Ô#ÙØ˜1ÕˆKØ�K‰KÐWÐZ\Õ\Ô]Ø×#Ñ#Ð$SÐWYÕ$ZÐ\y×zÒzÙä—’˜Ÿ
™
Ð$8Ó9ˆBØ�K‰K˜ŒOàˆKðà—j‘j×'Ñ'¨R´s·~±~ÈRò2[ð (ó \�ô �s“8˜q”=Ø˜q�6Ÿ9™9×;Ñ;¸FÓC�DÜ"%§&¢&¨¯©Ø)GÌ#ÌdÏiÊiÐX\ËoÓJ^Õ)^ó#`�Kà×(Ñ(¨Ô,ð Ò&ðØ—J‘J×%Ñ% bÒ7gÔhð —*‘*×#Ñ#¨´3·>±>Ø+=Ð*>ò.Wð $ó XˆCô �3‹x˜1Œ}Ø—‘ÐFÈÕKÔLÚð �a•&Ð+Õ,ˆCØˆGØ"&ÐÛ�Ü! $§*¡*¨a¯h©h°vÓ.>Ä×@ZÑ@ZÓ[�Ø×-Ñ-¨g×6Ò6Ø—K‘KÐ YÐ\]Õ ]Ô^ð +2¯*©*×*KÑ*KÈFÓ*SÐ'Ø—‘œs 1›vÖ&ñ ð #Ò.Ø0´3´t·y²yÐATÓ7UÓ3VÕV‘à&¬×)OÑ)OÕO�
Ø—‘«*²bÐ9Ô:Ø �ô "×)Ò)¨$¯*©*×*CÑ*CÓ*EÓFˆJÜ4°ZØ>B¿m¹môMˆHä$ XÓ.×5Ñ5°fÓ=ˆLð �J‰J×Òó "$£\²;ð!@ð +4°]Ð)Cð  ô 	Eô —K’K“MˆEÜ—v’v˜dŸj™j¬#¨c°!­f°T­lÓ*;Ó<ˆEŒHÜ(+×(:Ò(:¸7Ü;>×;OÑ;OØ;Mó)OˆEÐ$Ñ%ð
 �~‰~˜e i [ØBÀRÕGØ',ð ÷ .ò .ð —‘Ð;¸bÕ@ÔAà×+Ñ+×2Ñ2°2×6ñG 6ðJ Ðøô] —<‘<ô Ø!Ÿw™w‘�Øœ3×1Ñ1Ô1Ýà—K‘KÐ ^ÐaeÕ eÔfÞûðûô —|‘|ô Ø#%§7¡7‘L�TØ—K’KÓacÓepÒrvÐ wÔxÞûðús7   ÂB7QÅR)ÑR&Ñ#R!ÒR!Ò!R&Ò)S5Ò>+S0Ó0S5c                ó´  € V P                   '       d   R# V P                  '       Ed&   VP                  R4      '       d   \        R4      VR,          ,           pMôVP                  R4      '       d   \	        R4      VR,          ,           pMÃVP                  R4      '       d   \        R4      VR,          ,           pM’VP                  R4      '       d   \        R4      VR	,          ,           pMaVP                  R
4      '       d   \        R
4      VR,          ,           pM0VP                  R4      '       d   \        R4      VR,          ,           p\        V4       R# )z#print a message unless quiet is setNÚERROR:é   NNÚWARNING:é   NNÚINFO:é   NNÚNOTICE:é   NNÚNOTEÚSKIPPING:é   NN)rA   rB   Ú
startswithr   r   r   r   Úprint)r¤   Úmsgs   &&r#   rÅ   Údbcheck.report™  sé   € à�:�:ˆ:ÙØ�;�;‰;Ø�~‰~˜g×&Ò&Ü˜G“n s¨2¥wÕ.‘Ø—‘ 	×*Ò*Ü# IÓ.°°RµÕ8‘Ø—‘ ×'Ò'Ü! &Ó)¨C°­GÕ3‘Ø—‘ ×)Ò)Ü! (Ó+¨c°"­gÕ5‘Ø—‘ ×'Ò'Ü! &Ó)¨C°­GÕ3‘Ø—‘ 
×+Ò+Ü" :Ó.°°RµÕ8�äˆcŽ
rÀ   c                ó¾   € V P                   '       g   R# V P                  '       d   V P                  # V P                  '       d   Rp\        P                  ! WVR7      # )zconfirm a changeFT©ÚforcedÚ	allow_all)r?   rA   r@   r   Úconfirm)r¤   r  r  r  s   &&&&r#   r  Údbcheck.confirm­  s?   € à�x�xˆxÙØ�:�:ˆ:Ø—8‘8ˆOØ�8�8ˆ8ØˆFÜ�~Š~˜c¸IÔFÐFrÀ   c                ó<  € V P                   '       g   R# \        W4      R8X  d   R# \        W4      R8X  d   RpMV P                  pV P                  '       d   V# \        P
                  ! WRR7      pVR8X  d   \        WR4       R# VR8X  d   \        WR4       R# V# )z(confirm a change with support for "all" FÚNONEÚALLTr  )r?   Úgetattrr@   rA   r   r  Úsetattr)r¤   r  Úall_attrr  Úcs   &&&  r#   râ   Údbcheck.confirm_all¹  s„   € à�x�xˆxÙÜ�4Ó" fÔ,ÙÜ�4Ó" eÔ+Ø‰Fà—X‘XˆFØ�:�:ˆ:ØˆMÜ�NŠN˜3¸Ô>ˆØ�Œ:Ü�D EÔ*ÙØ�Œ;Ü�D FÔ+ÙØˆrÀ   c                ó|  € V P                   '       d   V P                  RV,          4        VR\        P                  ,          .,           pV P                  P                  WR7       R#   \         dH   pT P                  '       d   \        T: RT: 24      hT P                  T: RT: 24        Rp?R# Rp?ii ; i)z&delete dn with optional verbose outputzdelete DN %súlocal_oid:%s:0rÚ   ú : NFT)	r>   rÅ   r   ÚDSDB_CONTROL_DBCHECKr;   ÚdeleteÚ	Exceptionrn   r   )r¤   r¬   rÃ   r  Úerrs   &&&& r#   Ú	do_deleteÚdbcheck.do_deleteÎ  s–   € à�<�<ˆ<Ø�K‰K˜¨Õ+Ô,ð	ØÐ#3´d×6OÑ6OÕ#OÐ"PÕPˆHØ�J‰J×Ñ˜bÐÔ4ñ øô ô 	Ø×"×"Ð"Ü"³²SÐ#9Ó:Ð:Ø�K‰K£Sª#Ð.Ô/Ýûð		ús   ¬;A) Á)B;Á4<B6Â6B;c                óð  € VR\         P                  ,          .,           pV P                  '       dR   V P                  V P                  P                  V\        P                  4      4       V P                  RV,          4        V P                  P                  WVR7       R#   \         dH   pT P                  '       d   \        T: RT: 24      hT P                  T: RT: 24        Rp?R# Rp?ii ; i)z-perform a modify with optional verbose outputr  zcontrols: %r)rÃ   rÜ   r  NFT)r   r  r>   rÅ   r;   Ú
write_ldifro   ÚCHANGETYPE_MODIFYÚmodifyr   rn   r   )r¤   ÚmrÃ   r  rÜ   r!  s   &&&&& r#   rì   Údbcheck.do_modifyÜ  s»   € àÐ/´$×2KÑ2KÕKÐLÕLˆØ�<�<ˆ<Ø�K‰K˜Ÿ
™
×-Ñ-¨a´×1FÑ1FÓGÔHØ�K‰K˜¨Õ1Ô2ð	Ø�J‰J×Ñ˜a¸XÐÔFñ øô ô 	Ø×"×"Ð"Ü"³²SÐ#9Ó:Ð:Ø�K‰K£Sª#Ð.Ô/Ýûð		ús   ÂB# Â#C5Â.<C0Ã0C5c           
     óÎ  € V P                   '       d9   V P                  R\        V4      : R\        V4      : R\        V4      : 24        W#,           pVR\        P                  ,          .,           pV P
                  P                  WVR7       R	#   \         dH   pT P                  '       d   \        T: RT: 24      hT P                  T: RT: 24        Rp?R# Rp?ii ; i)
z-perform a rename with optional verbose outputrØ   z
changeType: modrdn
newrdn: z
deleteOldRdn: 1
newSuperior: r  rÚ   r  NFT)
r>   rÅ   r‹   r   r  r;   rå   r   rn   r   )r¤   Úfrom_dnÚto_rdnÚto_baserÃ   r  Úto_dnr!  s   &&&&&&  r#   Ú	do_renameÚdbcheck.do_renameë  s¶   € à�<�<ˆ<Ø�KŠKô ˜'–l¤C¨¦K´°Wµð	?ô @ð
	ØÕ$ˆEØÐ#3´d×6OÑ6OÕ#OÐ"PÕPˆHØ�J‰J×Ñ˜g°xÐÔ@ñ øô ô 	Ø×"×"Ð"Ü"³²SÐ#9Ó:Ð:Ø�K‰K£Sª#Ð.Ô/Ýûð		ús   ÁAB ÂC$Â<CÃC$c                óð   € WP                   9   d   V P                   V,          # V P                  P                  V4      pV'       d   V P                  P                  V4      pMR pW#3V P                   V&   W#3# r¸   )rƒ   r=   Úget_linkId_from_lDAPDisplayNameÚ!get_backlink_from_lDAPDisplayName)r¤   ÚattrnameÚlinkIDÚrevnames   &&  r#   Ú get_attr_linkID_and_reverse_nameÚ(dbcheck.get_attr_linkID_and_reverse_nameþ  sn   € Ø×)Ñ)Ô)Ø×%Ñ% hÕ/Ð/Ø×"Ñ"×BÑBÀ8ÓLˆßØ×'Ñ'×IÑIÈ(ÓS‰GàˆGØ(.Ð'8ˆ×Ñ˜8Ñ$ØˆÐrÀ   c                ó°  € V P                  RV: RV: 24       V P                  RV: RV: R2R4      '       g   V P                  RV,          4       R# \        P                  ! 4       pWn        \        P
                  ! R	\        P                  V4      W2&   V P                  VR
R.RV,          RR7      '       d   V P                  RV,          4       R# R# )zfix empty attributeszERROR: Empty attribute ú in zRemove empty attribute ú from Ú?rD   zNot fixing empty attribute %sNr/   rÓ   rß   z#Failed to remove empty attribute %sFrÛ   zRemoved empty attribute %s)rÅ   râ   ro   ré   r¬   rê   ÚFLAG_MOD_DELETErì   )r¤   r¬   r4  r(  s   &&& r#   Úerr_empty_attributeÚdbcheck.err_empty_attribute	  s³   € à�Š»Â2ÐFÔGØ×ÒËÓRTÐ UÐWt×uÒuØ�K‰KÐ7¸(ÕBÔCÙä�KŠK‹MˆØŒÜ×(Ò(¨¬S×-@Ñ-@À(ÓKˆ‰Ø�>‰>˜!˜iÐ):Ð;Ø?À(ÕJÐUZð ÷ \ò \à�K‰KÐ4°xÕ?Ö@ñ\rÀ   c                óð  € V P                  RV: RV: 24       . pV F±  pV P                  P                  V P                  W%.4      p\	        V4      ^8w  d.   V P                  RV,          4       VP                  VR34       Kg  V^ ,          V8w  g   Kw  V P                  RV: RV^ ,          : R24       VP                  WV^ ,          34       K³  	  V P                  RV: R	V: R
2R4      '       g   V P                  RV,          4       R# \        P                  ! 4       pWn	        \        ^ \	        V4      4       Fv  pWH,          w  rY\        P                  ! V\        P                  V4      VRV,          &   V	R8w  g   KF  \        P                  ! V	\        P                  V4      VRV,          &   Kx  	  V P                  VRR.RV,          RR7      '       d   V P                  RV,          4       R# R# )z?fix attribute normalisation errors, without altering sort orderz)ERROR: Normalisation error for attribute r:  zUnable to normalise value '%s'r/   zvalue 'z' should be 'Ú'zFix normalisation for r;  r<  rE   zNot fixing attribute %sNzvalue_%uznormv_%urÓ   rß   ú Failed to normalise attribute %sFrÛ   úNormalised attribute %s)rÅ   r;   Údsdb_normalise_attributesr=   r�   r   râ   ro   ré   r¬   Úrangerê   r=  ÚFLAG_MOD_ADDrì   )
r¤   r¬   r4  ÚvaluesÚmod_listÚvalÚ
normalisedr(  ÚiÚnvals
   &&&&      r#   Úerr_normalise_mismatchÚdbcheck.err_normalise_mismatch  sž  € à�ŠË8ÒUWÐXÔYØˆÛˆCØŸ™×=Ñ=Ø×!Ñ! 8¨Uó4ˆJä�:‹ !Ô#Ø—‘Ð<¸sÕBÔCØ—‘  b 	Ö*Ø˜Q•- 3Ö&Ø—’»3À
È1ÇÀÐNÔOØ—‘ °¥mÐ 4Ö5ñ ð ×ÒÃxÓQSÐ TÐVm×nÒnØ�K‰KÐ1°HÕ<Ô=Ùä�KŠK‹MˆØŒÜ�qœ#˜h›-Ö(ˆAØ"�+‰KˆSÜ #× 2Ò 2°3¼×8KÑ8KÈXÓ VˆAˆj˜1�nÑØ�rŽzÜ$'×$6Ò$6°t¼S×=MÑ=MØ7?ó%A��*˜q•.Ó!ñ	 )ð �>‰>˜!˜iÐ):Ð;Ø<¸xÕGØ#(ð ÷ *ò *ð �K‰KÐ1°HÕ<Ö=ñ*rÀ   c                óh  € V P                   P                  V P                  W#4      p\        V4      V8X  d   R# V P	                  RV: RV: R24       V P	                  RV: R\        V4      : R24       V P                  RV: R	V: R
2R4      '       g   V P	                  RV,          4       R# \        P                  ! 4       pWn        \        P                  ! V\        P                  V4      WR&   V P                  VRR.RV,          RR7      '       d   V P	                  RV,          4       R# R# )z.fix attribute normalisation and/or sort errorsNz*ERROR: Normalisation error for attribute 'ú' in 'rA  z*Values/Order of values do/does not match: Ú/Ú!zFix normalisation for 'ú' from 'ú'?rE   úNot fixing attribute '%s'rÓ   rß   rB  FrÛ   rC  )r;   rD  r=   ÚlistrÅ   râ   ro   ré   r¬   rê   rë   rì   )r¤   r¬   r4  rG  rJ  r(  s   &&&&  r#   Úerr_normalise_mismatch_replaceÚ&dbcheck.err_normalise_mismatch_replace6  s÷   € à—Z‘Z×9Ñ9¸$×:KÑ:KÈXÓ^ˆ
Ü�
Ó˜vÔ%áØ�ŠËxÓY[Ð\Ô]Ø�ŠË&ÔRVÐWaÖRbÐcÔdØ×ÒË8ÓUWÐ XÐZq×rÒrØ�K‰KÐ3°hÕ>Ô?Ùä�KŠK‹MˆØŒÜ×(Ò(¨´S×5IÑ5IÈ8ÓTˆ‰à�>‰>˜!˜iÐ):Ð;Ø<¸xÕGØ#(ð ÷ *ò *ð �K‰KÐ1°HÕ<Ö=ñ*rÀ   c                ó
  € V P                  RV: RV: R24       V P                  R\        V4      : R\        V4      : R24       V P                  RV: RV: R	2R
4      '       g   V P                  RV,          4       R# \        P                  ! 4       pWn        \        P                  ! V\        P                  V4      WR&   V P                  VRR.RV,          RR7      '       d   V P                  RV,          4       R# R# )zfix duplicate attribute valuesz'ERROR: Duplicate values for attribute 'rP  rA  zValues contain a duplicate: [z]/[z]!zFix duplicates for 'rS  rT  rF   rU  NrÓ   rß   z0Failed to remove duplicate value on attribute %sFrÛ   z'Removed duplicate value on attribute %s)	rÅ   r$   râ   ro   ré   r¬   rê   rë   rì   )r¤   r¬   r4  Ú
dup_valuesrG  r(  s   &&&&& r#   Úerr_duplicate_valuesÚdbcheck.err_duplicate_valuesK  sÖ   € à�ŠËHÓVXÐYÔZØ�ŠÜ% jÖ1Ô3CÀFÖ3KðMô 	Nà×ÒËÓRTÐ UÐWk×lÒlØ�K‰KÐ3°hÕ>Ô?Ùä�KŠK‹MˆØŒÜ×(Ò(¨´×1EÑ1EÀxÓPˆ‰à�>‰>˜!˜iÐ):Ð;ØLÈxÕWØ#(ð ÷ *ò *ð �K‰KÐAÀHÕLÖMñ*rÀ   c                óJ   € VP                   R\        P                  ,          8H  # )z2see if a dsdb_Dn is the special Deleted Objects DNzB:32:%s:)Úprefixr   r™   )r¤   rõ   s   &&r#   rç   Údbcheck.is_deleted_objects_dn]  s   € à�~‰~ ¬d×.TÑ.TÕ!TÑTÐTrÀ   c                óT  € V P                  RV: RV P                  P                  V4      : R24       V P                  RV,          R4      '       g   V P                  RV,          4       R# V P	                  VR.R	V,          4      '       d   V P                  R
V,          4       R# R# )z!handle object without objectclassz%ERROR: missing objectclass in object zw.  If you have another working DC, please run 'samba-tool drs replicate --full-sync --local <destinationDC> <sourceDC> rA  zIIf you cannot re-sync from another DC, do you wish to delete object '%s'?r|   z1Not deleting object with missing objectclass '%s'NrÓ   úFailed to remove DN %súRemoved DN %s)rÅ   r;   Úget_nc_rootrâ   r"  ©r¤   r¬   s   &&r#   Úerr_missing_objectclassÚdbcheck.err_missing_objectclassa  s¼   € à�Šó  |~ð  @D÷  @Jñ  @J÷  @Vñ  @Vð  WYö  @Zð  [ô  	\Ø×ÑÐ kÐnpÕ pð  sP÷  Qò  QØ�K‰KÐKÈbÕPÔQÙØ�>‰>˜"˜y˜kØ2°RÕ7÷9ò 9à�K‰K˜¨"Õ,Ö-ñ9rÀ   c                óæ  € V'       gk   V P                  RV: RV: RV: 24       V P                  R\        V4      ,          4       V P                  RR4      '       g   V P                  R4       R# MiV P                  R	V: RV: RV: 24       V P                  R\        V4      ,          4       V P                  R
R4      '       g   V P                  R4       R# \        P                  ! 4       pWn        \        P                  ! V\        P                  V4      VR&   V P                  VRR\        P                  ,          .RV,          4      '       d   V P                  RV,          4       R# R# )z(handle a DN pointing to a deleted objectz ERROR: target DN is deleted for ú in object ú - z#Target GUID points at deleted DN %rzRemove DN link?rI   zNot removingNz"WARNING: target DN is deleted for zRemove stale DN link?rJ   Ú	old_valuerß   r  z(Failed to remove deleted DN attribute %sz"Removed deleted DN on attribute %s)rÅ   r‹   râ   ro   ré   r¬   rê   r=  rì   r   Ú DSDB_CONTROL_REPLMD_VANISH_LINKS)r¤   r¬   r4  rI  rõ   Ú
correct_dnÚremove_plausibler(  s   &&&&&&& r#   Úerr_deleted_dnÚdbcheck.err_deleted_dnk  s)  € çØ�KŠKÓRZÓ\^Ò`cÐdÔeØ�K‰KÐ=ÄÀJÃÕOÔPØ×#Ñ#Ð$5Ð7\×]Ò]Ø—‘˜NÔ+Ùð ^ð �KŠKÓT\Ó^`ÒbeÐfÔgØ�K‰KÐ=ÄÀJÃÕOÔPØ×#Ñ#Ð$;Ð=`×aÒaØ—‘˜NÔ+Ùä�KŠK‹MˆØŒÜ×+Ò+¨C´×1DÑ1DÀhÓOˆˆ+‰Ø�>‰>˜!Ð/Ø.´×1VÑ1VÕVðXàDÀxÕO÷Qò Qð �K‰KÐ<¸xÕGÖHñQrÀ   c           
     ó‚  € \        V4      P                  R4      R8w  d1   V P                  RV: RV: RV: 24       V P                  R4       ^ # V P                  V4      w  rVV^,          ^ 8X  EdT   \        V4      P                  R4      R8X  Ed4   V P                  V4      w  rWVe1   V P                  RV: RV: RV: 24       V P                  R	4       ^ # V P                  P                  V4      p V P                  P                  VP                  4      p	V	f?   V P                  R
V: RVP                  : RV: RV: 24       V P                  R4       ^ # W‰8w  d1   V P                  RV: RV: RV: 24       V P                  R4       ^ # V P                  RV: RV: RV: 24       V P                  WVWDR4       ^ # V P                  RV: RV: RV: 24       V P                  WW4VR4       ^#   \        P                   d2   p
T
P                  w  r¼T\        P                  8w  d   h Rp	 Rp
?
ELRp
?
ii ; i)zphandle a missing target DN (if specified, GUID form can't be found,
and otherwise DN string form can't be found)z\0ADELz8WARNING: no target object found for GUID component link z in deleted object ri  z`Not removing dangling one-way link on deleted object (tombstone garbage collection in progress?)NzLWARNING: no target object found for GUID component for one-way forward link rh  z"Not removing dangling forward linkz<WARNING: no target object found for GUID component for link z in object to z outside our NCszhNot removing dangling one-way left-over link outside our NCs (we might be building a renamed/lab domain)zLWARNING: no target object found for GUID component for cross-partition link zPNot removing dangling one-way cross-partition link (we might be mid-replication)z@WARNING: no target object found for GUID component for DN value Tz:ERROR: no target object found for GUID component for link Féÿÿÿÿ)r‹   ÚfindrÅ   r7  r;   rc  r¬   ro   rŒ   r�   rŽ   rn  )r¤   r¬   r4  rI  rõ   r5  Ú_Úreverse_link_namer¼   Útarget_nc_rootÚer©   rª   s   &&&&&        r#   Úerr_missing_target_dn_or_GUIDÚ%dbcheck.err_missing_target_dn_or_GUID‚  s  € ô
 ˆr‹7�<‰<˜	Ó" bÔ(ð �KŠKã%-«r²3ð8ô 9ð �K‰Kð Fô Gñ ð ×9Ñ9¸(ÓC‰	ˆØ�Q�J˜!�O¤ W£×!2Ñ!2°9Ó!=ÀÕ!Cð ×7Ñ7¸ÓAñ &ˆFà Ò,Ø—’ó *2³2²sð<ô =ð —‘Ð@ÔAÙà—j‘j×,Ñ,¨RÓ0ˆGð&Ø!%§¡×!7Ñ!7¸¿
¹
Ó!C�ð Ò%ð —’ó *2°7·:´:»rÂ3ðHô Ið —‘ð Jô Kñ àÔ(ð —’ó *2³2²sð<ô =ð —‘ð <ô =ñ ð �KŠKã%-«r²3ð8ô 9ð ×Ñ ¨cØ '°$ô8áð 	�Šã!)«2ªsð4ô 	5ð 	×Ñ˜B¨#¸ÀÔGÙøôe —<‘<ô &Ø Ÿv™v‘�Øœ3×1Ñ1Ô1ØØ!%–ûð	&ús   Ã5%G8 Ç8H>È&H9È9H>c           
     ór  € V P                  RV: RV: RV: RV: 24       RR.p V P                  P                  \        VP                  4      \
        P                  . VR7      p\        T4      ^ 8X  d7   T P                  RTP                  ,          4       T P                  YY44       R# T^ ,          P                  Tn        T P                  R\        T4      ,          R4      '       g   T P                  RT,          4       R# \
        P                  ! 4       pYn        \
        P                  ! T\
        P                  T4      TR&   \
        P                  ! \        T4      \
        P                   T4      TR&   T P#                  TR.RT: RT: 24      '       d   T P                  RT: RT: 24       R# R#   \
        P                   df   pTP                  w  ršT P                  RTP                  : R	T
: R
24       T	\
        P                  8w  d   h T P                  YY44        Rp?R# Rp?ii ; i)z+handle a missing GUID extended DN componentúERROR: ú component for rh  ri  rÞ   rß   rÂ   zunable to find object for DN z - (Ú)Nzunable to find object for DN %súChange DN to %s?rG   úNot fixing %srj  Ú	new_valueúFailed to fix ú on attribute úFixed )rÅ   r;   rˆ   r‹   r¬   ro   r‰   rŒ   r�   rŽ   rw  r�   râ   ré   rê   r=  rF  rì   )r¤   r¬   r4  rI  rõ   ÚerrstrrÃ   r¦   Úe7r©   rª   r(  s   &&&&&&      r#   Úerr_missing_dn_GUID_componentÚ%dbcheck.err_missing_dn_GUID_component×  s´  € à�ŠÃfËhÓXZÒ\_Ð`ÔaØ%Ð'8Ð9ˆð		Ø—*‘*×#Ñ#¬¨W¯Z©Z«ÄÇÁØ*,°xð $ó AˆCô ˆs‹8�qŒ=Ø�K‰KÐ9¸G¿J¹JÕFÔGØ×.Ñ.¨r¸SÔJÙØ˜•V—Y‘YˆŒ
à×ÑÐ 2´S¸³\Õ AÐCU×VÒVØ�K‰K˜¨&Õ0Ô1ÙÜ�KŠK‹MˆØŒÜ×+Ò+¨C´×1DÑ1DÀhÓOˆˆ+‰Ü×+Ò+¬C°«L¼#×:JÑ:JÈHÓUˆˆ+‰à�>‰>˜!Ð/Ñ0Û@FÊÐQ÷Sò Sà�KŠK³fºhÐGÖHñSøô+ �|‰|ô 	ØŸ7™7‰LˆTØ�KŠKÀGÇJÄJÓPTÐUÔVØ”s×-Ñ-Ô-ØØ×.Ñ.¨r¸SÔJÝûð	ús   §A F< Æ<H6ÇAH1È1H6c           
     ó2  € V P                  RV: RV: RV: RV: 24       V P                  R\        V4      ,          R4      '       g   V P                  RV,          4       R# \        P                  ! 4       pWn        \        P                  ! V\        P                  V4      VR	&   \        P                  ! \        V4      \        P                  V4      VR
&   V P                  VR.RV: RV: 24      '       d   V P                  RV: RV: 24       R# R# )z'handle an incorrect binary DN componentrz  z binary component for rh  ri  r}  rH   r~  Nrj  r  rß   r€  r�  r‚  )
rÅ   râ   r‹   ro   ré   r¬   rê   r=  rF  rì   )r¤   r¬   r4  rI  rõ   rƒ  r(  s   &&&&&& r#   Úerr_incorrect_binary_dnÚdbcheck.err_incorrect_binary_dn÷  sÖ   € à�ŠËVÓU]Ó_aÒcfÐgÔhà×ÑÐ 2´S¸³\Õ AÐCV×WÒWØ�K‰K˜¨&Õ0Ô1ÙÜ�KŠK‹MˆØŒÜ×+Ò+¨C´×1DÑ1DÀhÓOˆˆ+‰Ü×+Ò+¬C°«L¼#×:JÑ:JÈHÓUˆˆ+‰à�>‰>˜!Ð/Ñ0Û@FÊÐQ÷Sò Sà�KŠK³fºhÐGÖHñSrÀ   c                óP  € V P                  RV: RV: RV: 24       WTn        V P                  R\        V4      ,          R4      '       g   V P                  R4       R# \        P
                  ! 4       pWn        \        P                  ! V\        P                  V4      VR&   \        P                  ! \        V4      \        P                  V4      VR	&   V P                  VR
R\        P                  ,          .RV,          4      '       d   V P                  RV,          4       R# R# )z<handle a DN string being incorrect due to a rename or deletez<NOTE: old (due to rename or delete) DN string component for rh  ri  r}  rO   zNot fixing old string componentNrj  r  rß   úlocal_oid:%s:1z+Failed to fix old DN string on attribute %sz#Fixed old DN string on attribute %s)rÅ   r¬   râ   r‹   ro   ré   rê   r=  rF  rì   r   Ú%DSDB_CONTROL_DBCHECK_FIX_LINK_DN_NAME)r¤   r¬   r4  rI  rõ   rl  r(  s   &&&&&& r#   Úerr_dn_string_component_oldÚ#dbcheck.err_dn_string_component_old  sï   € à�ŠÓjrÓtvÒx{Ð|Ô}ØŒ
à×ÑÐ 2´S¸³\Õ AØ J÷Lò Là�K‰KÐ9Ô:ÙÜ�KŠK‹MˆØŒÜ×+Ò+¨C´×1DÑ1DÀhÓOˆˆ+‰Ü×+Ò+¬C°«L¼#×:JÑ:JÈHÓUˆˆ+‰Ø�>‰>˜!Ð/Ø.´×1[Ñ1[Õ[ð]àGÈ8ÕT÷Vò Vð �K‰KÐ=ÀÕJÖKñVrÀ   c           
     óL  € V P                  RV: RV: RV: RV: 24       WTn        V P                  R\        V4      ,          RV,          4      '       g   V P                  RV,          4       R# \        P
                  ! 4       pWn        \        P                  ! V\        P                  V4      VR	&   \        P                  ! \        V4      \        P                  V4      VR
&   V P                  VR.RV: RV: 24      '       d   V P                  RV: RV: 24       R# R# )z"handle a DN string being incorrectzERROR: incorrect DN r{  rh  ri  r}  z fix_all_%s_dn_component_mismatchz Not fixing %s component mismatchNrj  r  rß   zFailed to fix incorrect DN r�  zFixed incorrect DN )
rÅ   r¬   râ   r‹   ro   ré   rê   r=  rF  rì   )r¤   r¬   r4  rI  rõ   rl  Úmismatch_typer(  s   &&&&&&& r#   Ú err_dn_component_target_mismatchÚ(dbcheck.err_dn_component_target_mismatch  sê   € à�ŠÓS`ÓbjÓlnÒpsÐtÔuØŒ
à×ÑÐ 2´S¸³\Õ AØ BÀ]Õ R÷Tò Tà�K‰KÐ:¸]ÕJÔKÙÜ�KŠK‹MˆØŒÜ×+Ò+¨C´×1DÑ1DÀhÓOˆˆ+‰Ü×+Ò+¬C°«L¼#×:JÑ:JÈHÓUˆˆ+‰Ø�>‰>˜!Ð/Ñ0ÛMZÒ\dÐe÷gò gà�KŠKÃ=ÒRZÐ[Ö\ñgrÀ   c                ó¤  € V P                  RV: RV: RV: 24       \        VP                  4      ^ 8w  d   V P                  R4       R# \        P                  ! V P
                  VP                  P                  4       4      pVP                  RV4       V P                  RVP                  4       ,          R4      '       g   V P                  R	4       R# VP                  R
4      p\        P                  ! V P
                  R4      pVP                  R
V4       VP                  RV4       \        P                  ! 4       p	Wn        \        P                  ! VP                  4       \        P                  V4      V	R&   RR\        P                  ,          .p
V P!                  WšRV,          4      '       d   V P                  RV,          4       R# R# )z*fix missing <SID=...> on linked attributesz$ERROR: missing DN SID component for rh  ri  z3Not fixing missing DN SID on DN+BINARY or DN+STRINGNÚSIDr}  rN   z#Not fixing missing DN SID componentrÒ   r/   r  rß   r‹  z,Failed to ADD missing DN SID on attribute %sz$Fixed missing DN SID on attribute %s)rÅ   r�   r^  ro   rp   r;   r¬   Úextended_strÚset_extended_componentrâ   rä   ré   rê   rF  r   Ú$DSDB_CONTROL_DBCHECK_FIX_LINK_DN_SIDrì   )r¤   r¬   r4  rI  rõ   Útarget_sid_blobrl  Útarget_guid_blobÚguid_sid_dnr(  rÃ   s   &&&&&&     r#   Ú#err_dn_component_missing_target_sidÚ+dbcheck.err_dn_component_missing_target_sid*  sp  € à�ŠÓRZÓ\^Ò`cÐdÔeäˆw�~‰~Ó !Ô#Ø�K‰KÐMÔNÙä—V’V˜DŸJ™J¨¯
©
×(?Ñ(?Ó(AÓBˆ
Ø×)Ñ)¨%°ÔAà×ÑÐ 2°Z×5LÑ5LÓ5NÕ NØ B÷Dò Dà�K‰KÐ=Ô>Ùà%×<Ñ<¸VÓDÐÜ—f’f˜TŸZ™Z¨Ó,ˆØ×*Ñ*¨6Ð3CÔDØ×*Ñ*¨5°/ÔBä�KŠK‹MˆØŒÜ×+Ò+¨K×,DÑ,DÓ,FÌ×HXÑHXÐZbÓcˆˆ+‰àØœt×HÑHÕHð
ˆð �>‰>˜!ØHÈHÕU÷Wò Wà�K‰KÐ>À(ÕKÖLñWrÀ   c                óÔ  € V P                  RV: RVP                  : 24       V P                  RV,          R4      '       g   V P                  RV,          4       R# \        P                  ! 4       pVP                  Vn        \        P
                  ! . \        P                  V4      VR&   V P                  VRR	.R
V,          4      '       d   V P                  RV,          4       R# R# )z!handle an unknown attribute errorzERROR: unknown attribute 'ú' in zRemove unknown attribute %srC   zNot removing %sNrj  rÓ   rß   z%Failed to remove unknown attribute %szRemoved unknown attribute %s)rÅ   r¬   râ   ro   ré   rê   r=  rì   )r¤   Úobjr4  r(  s   &&& r#   Úerr_unknown_attributeÚdbcheck.err_unknown_attributeJ  s·   € à�Š»XÀsÇvÃvÐNÔOØ×ÑÐ =ÀÕ HÐJi×jÒjØ�K‰KÐ)¨HÕ4Ô5ÙÜ�KŠK‹MˆØ�v‰vˆŒÜ×+Ò+¨B´×0CÑ0CÀXÓNˆˆ+‰Ø�>‰>˜!˜iÐ):Ð;ØAÀHÕL÷Nò Nà�K‰KÐ6¸(ÕCÖDñNrÀ   c                ó
  € V P                  RV: RV: RVP                  : 24       V P                  RV,          R4      '       g   V P                  RV,          4       R# \        P                  ! 4       pVP                  Vn        \        P
                  ! V\        P                  V4      VR&   V P                  VR	R
RR\        P                  ,          .RV,          4      '       d   V P                  RV,          4       R# R# )z:handle a link that should not be there on a deleted objectzERROR: linked attribute 'z' to 'z' is present on deleted object zRemove linked attribute %srR   z Not removing linked attribute %sNrj  rß   rÝ   rà   r  z Failed to delete forward link %szFixed undead forward link %s)
rÅ   r¬   râ   ro   ré   rê   r=  rì   r   rk  )r¤   rŸ  r4  rI  r(  s   &&&& r#   Úerr_undead_linked_attributeÚ#dbcheck.err_undead_linked_attributeW  s×   € à�ŠÛ+3³S¸#¿&»&ðBô 	Cà×ÑÐ <¸xÕ GÐIg×hÒhØ�K‰KÐ:¸XÕEÔFÙÜ�KŠK‹MˆØ�v‰vˆŒÜ×+Ò+¨C´×1DÑ1DÀhÓOˆˆ+‰à�>‰>˜!Ð/Ð1AÐCWØ.´×1VÑ1VÕVðXà<¸xÕG÷Iò Ið �K‰KÐ6¸(ÕCÖDñIrÀ   c           
     óÎ  € V P                  RV: RV: RV: RVP                  : 24       V P                  RV,          R4      '       g   V P                  RV,          4       R# \        P                  ! 4       pWVn        \        P
                  ! V\        P                  V4      VR	&   V P                  VR
R.RV,          4      '       d   V P                  RV,          4       R# R# )zhandle a missing backlink valuez#ERROR: missing backlink attribute 'rž  ú
 for link r:  zFix missing backlink %srS   zNot fixing missing backlink %sNr  rß   rÓ   z!Failed to fix missing backlink %szFixed missing backlink %s)rÅ   r¬   râ   ro   ré   rê   rF  rì   )r¤   rŸ  r4  rI  Úbacklink_nameÚ	target_dnr(  s   &&&&&& r#   Úerr_missing_backlinkÚdbcheck.err_missing_backlinkg  sÉ   € à�ŠÓXeÓgpÓrzÐ|÷  }Có  }Cð  Dô  	EØ×ÑÐ 9¸MÕ IÐKf×gÒgØ�K‰KÐ8¸=ÕHÔIÙÜ�KŠK‹MˆØŒÜ×+Ò+¨C´×1AÑ1AÀ=ÓQˆˆ+‰Ø�>‰>˜!Ð/°Ð;Ø=ÀÕM÷Oò Oà�K‰KÐ3°}ÕEÖFñOrÀ   c                ób  € \        VP                  P                  R4      4      pV P                  RWBVP                  VP                  P	                  4       3,          4       V P                  RV,          R4      '       g   V P                  RV,          4       R# \        P                  ! 4       pVP                  Vn        \        P                  ! \        V4      \        P                  V4      VR&   V P                  V. R
ORV,          4      '       d   V P                  R	V,          4       R# R# )z"handle a incorrect RMD_FLAGS valueÚ	RMD_FLAGSzHERROR: incorrect RMD_FLAGS value %u for attribute '%s' in %s for link %szFix incorrect RMD_FLAGS %urY   z!Not fixing incorrect RMD_FLAGS %uNrj  z$Failed to fix incorrect RMD_FLAGS %uzFixed incorrect RMD_FLAGS %u)rß   rà   úshow_deleted:0)r£   r¬   rä   rÅ   r•  râ   ro   ré   rê   r‹   r=  rì   )r¤   rŸ  r4  Úrevealed_dnÚ	rmd_flagsr(  s   &&&&  r#   Úerr_incorrect_rmd_flagsÚdbcheck.err_incorrect_rmd_flagst  s  € ä˜Ÿ™×=Ñ=¸kÓJÓKˆ	Ø�‰Ð^ÐbkÐwz×w}Ñw}ð  @K÷  @Nñ  @N÷  @[ñ  @[ó  @]ð  b^õ  ^ô  	_Ø×ÑÐ <¸yÕ HÈ/×ZÒZØ�K‰KÐ;¸iÕGÔHÙÜ�KŠK‹MˆØ�v‰vˆŒÜ×+Ò+¬C°Ó,<¼c×>QÑ>QÐS[Ó\ˆˆ+‰Ø�>‰>˜!ÒXØ@À9ÕL÷Nò Nà�K‰KÐ6¸)ÕDÖEñNrÀ   c                óL  € VRJ dD   V P                  WEV4      '       d,   V P                  RRV: RV: RV: RV: R2	,           4       R# V P                  RV: RV: R	V: R
V: 24       V P                  RV,          R4      '       g   V P                  RV,          4       R# \        P                  ! 4       pWn        \        P                  ! V\        P                  V4      VR&   V P                  VRR.RV,          4      '       d   V P                  RV,          4       R# R# )z handle a orphaned backlink valueTz*WARNING: Keep orphaned backlink attribute rA  rP  z' for link 'Nz$ERROR: orphaned backlink attribute 'rž  r¦  r:  zRemove orphaned backlink %srT   z!Not removing orphaned backlink %sr"   rß   rÓ   z"Failed to fix orphaned backlink %szFixed orphaned backlink %s)	Úhas_duplicate_linksrÅ   râ   ro   ré   r¬   rê   r=  rì   )	r¤   Úobj_dnÚbacklink_attrÚbacklink_valr¨  Úforward_attrÚforward_syntaxÚcheck_duplicatesr(  s	   &&&&&&&& r#   Úerr_orphaned_backlinkÚdbcheck.err_orphaned_backlink‚  s  € ð ˜tÓ#¨×(@Ñ(@ÀÐZh×(iÒ(iØ�K‰KÑDã)«6³<ÃðLõLô Mñ Ø�ŠÓYfÓhnÓp|ò  Hð  Iô  	JØ×ÑÐ =ÀÕ MÐOk×lÒlØ�K‰KÐ;¸mÕKÔLÙÜ�KŠK‹MˆØŒÜ×'Ò'¨´c×6IÑ6IÈ=ÓYˆˆ'‰
Ø�>‰>˜!Ð/°Ð;Ø>ÀÕN÷Pò Pà�K‰KÐ4¸ÕFÖGñPrÀ   c                ó�  € V P                  RV: RVP                  : R24       V P                  RV,          R4      '       g'   V P                  RV: RVP                  : R24       R# \        P                  ! 4       pVP                  Vn        \        P
                  ! V\        P                  V4      VR	&   V P                  VR
\        P                  ,          .RV,          4      '       dX   V P                  RV,          4       \        VP                  4      : RV: 2pWPP                  9   g   Q hRV P                  V&   R# R# )zhandle a duplicate links valuezERECHECK: 'Missing/Duplicate/Correct link' lines above for attribute 'rP  rA  zDCommit fixes for (missing/duplicate) forward links in attribute '%s'rX   zENot fixing corrupted (missing/duplicate) forward links in attribute 'ú' of 'Nr"   r‹  z/Failed to fix duplicate links in attribute '%s'z'Fixed duplicate links in attribute '%s'rÖ   F)rÅ   r¬   râ   ro   ré   rê   rë   rì   r   Ú(DSDB_CONTROL_DBCHECK_FIX_DUPLICATE_LINKSr‹   rW   )r¤   rŸ  r·  Úforward_valsr(  Úduplicate_cache_keys   &&&&  r#   Úerr_recover_forward_linksÚ!dbcheck.err_recover_forward_links–  s  € ð 	�ŠÓjvÐx{×x~Ôx~Ðô  	Aà×ÑÐ fÐiuÕ uð  xS÷  Tò  TØ�KŠKÛ$ c§f¤fð.ô /áÜ�KŠK‹MˆØ�v‰vˆŒÜ×'Ò'¨´c×6JÑ6JÈLÓYˆˆ'‰
Ø�>‰>˜!Ð.´×1^Ñ1^Õ^Ð_ØKÈlÕZ÷\ò \à�K‰KÐAÀ\ÕRÔSÜ-0°·±®[º,Ð"GÐØ&×*CÑ*CÔCÐCÐCØ=BˆD×%Ñ%Ð&9Ó:ñ\rÀ   c                óä  € V P                  RVP                  ,          4       V P                  P                  R\        P
                  R.R7      p\        V4      ^8X  g   Q h\        V^ ,          R,          ^ ,          4      pV P                  RVP                  : RV: 2R4      '       g&   V P                  RVP                  : RV: 24       R	# \        P                  ! 4       pVP                  Vn        \        P                  ! V\        P                  R
4      VR&   V P                  V. RVP                  : RV: 24      '       d&   V P                  RVP                  : RV: 24       R	# R	# )zhandle a missing fSMORoleOwnerz*ERROR: fSMORoleOwner not found for role %sr/   ÚdsServiceName)r+   r,   zSeize role z) onto current DC by adding fSMORoleOwner=r\   zNot Seizing role NÚfSMORoleOwnerr"   zFailed to seize role zSeized role )rÅ   r¬   r;   rˆ   ro   r‰   r�   r‹   râ   ré   rê   rF  rì   )r¤   rŸ  r¦   ÚserviceNamer(  s   &&   r#   Úerr_no_fsmoRoleOwnerÚdbcheck.err_no_fsmoRoleOwner©  s(  € à�‰Ð@ÀCÇFÁFÕKÔLØ�j‰j×Ñ Ü&)§n¡n¸_Ð<Mð  ó Oˆä�3‹x˜1Œ}Ðˆ}Ü˜#˜a�& Õ1°!Õ4Ó5ˆØ×ÒÐ^a×^dÔ^dÒfqÐ rð  uF÷  Gò  GØ�KŠKÐ\_×\bÔ\bÒdoÐpÔqÙÜ�KŠK‹MˆØ�v‰vˆŒÜ×'Ò'¨´S×5EÑ5EÀÓWˆˆ'‰
Ø�>‰>˜!™RØbe×bhÔbhÒjuÐv÷xò xà�KŠKÐWZ×W]ÔW]Ò_jÐkÖlñxrÀ   c                óH  € V P                  RVP                  ,          4       V P                  RVP                  ,          R4      '       g%   V P                  RVP                  ,          4       R# RpV P                  P	                  4         V P                  P                  VP                  4      pV P                  V\        P                  4      p\        P                  ! V P                  \        VP                  4      4      pVP                  \        V4      ^,
          4       V P                  VP                  WTRR.R	VP                  : R
WT,           : 24      '       dà   V P                  RVP                  : R
WT,           : 24       \        P                  ! 4       pVP                  Vn        \        P                   ! \        VP                  P#                  4       4      \        P$                  R4      VR&   V P'                  V. RWT,           ,          4      '       d!   V P                  RWT,           ,          4       RpT'       d   T P                  P+                  4        R# T P                  P)                  4        R#    T P                  P)                  4        h ; i)zhandle a missing parentz%ERROR: parent object not found for %sz!Move object %s into LostAndFound?r]   z&Not moving object %s into LostAndFoundNFr­  rÓ   úFailed to rename object z into lostAndFound at zRenamed object ÚlastKnownParentz:Failed to set lastKnownParent on lostAndFound object at %sz0Set lastKnownParent on lostAndFound object at %sT)rÅ   r¬   râ   r;   Útransaction_startrc  r…   r   ÚDS_GUID_LOSTANDFOUND_CONTAINERro   rp   r‹   Úremove_base_componentsr�   r/  ré   rê   Úparentrë   rì   Útransaction_cancelÚtransaction_commit)r¤   rŸ  Úkeep_transactionr¼   Úlost_and_foundÚnew_dnr(  s   &&     r#   Úerr_missing_parentÚdbcheck.err_missing_parentº  sà  € à�‰Ð;¸s¿v¹vÕFÔGØ×ÑÐ CÀsÇvÁvÕ NÐPh×iÒiØ�K‰KÐ@ÀCÇFÁFÕKÔLÙà ÐØ�
‰
×$Ñ$Ô&ð	Ø—j‘j×,Ñ,¨S¯V©VÓ4ˆGØ!×9Ñ9¸'Ä4×CfÑCfÓgˆNÜ—V’V˜DŸJ™J¬¨C¯F©F«Ó4ˆFØ×)Ñ)¬#¨f«+¸­/Ô:Ø�~‰~˜cŸf™f fÐ?OÐQZÑ>[ØVY×V\ÔV\Ð^d×^uÐv÷xò xà—’È3Ï6Ì6ÐSY×SjÐkÔlä—K’K“M�Ø—v‘v�”Ü'*×'9Ò'9¼#¸c¿f¹f¿m¹m»oÓ:NÔPS×PdÑPdÐfwÓ'x�Ð#Ñ$à—>‘> ! RØ"^ÐbhÕbyÕ"z÷|ò |à—K‘KÐ RÐV\ÕVmÕ nÔoØ'+Ð$÷
 Ø�J‰J×)Ñ)Ö+à�J‰J×)Ñ)Ö+øð	Ø�J‰J×)Ñ)Ô+Øús   ÂF7J ÊJ!c           
     ó²  € \         P                  ! V P                  \        V4      4      pVP	                  \        V4      ^,
          4       VP                  4       pRp	WE8w  d   W“: RV: R2,          p	V	RV,          ,          p	V P                  RVP                  : RV	: RV: R24       V P                  R	VP                  : R
V: R2R4      '       g&   V P                  RVP                  : R
V: 24       R# V P                  VP                  WxVRVP                  : RV: 24      '       d&   V P                  RVP                  : RV: 24       R# R# )zhandle a wrong dnr/   Ú=Ú zname=%rzERROR: wrong dn[z] z new_dn[Ú]zRename rÔ   r<  rd   zNot renaming NrÊ  z into zRenamed )ro   rp   r;   r‹   rÎ  r�   rÏ  rÅ   r¬   râ   r/  )
r¤   rŸ  rÔ  Úrdn_attrÚrdn_valÚname_valrÃ   Únew_rdnÚ
new_parentÚ
attributess
   &&&&&&&   r#   Úerr_wrong_dnÚdbcheck.err_wrong_dnÝ  sö   € ô —&’&˜Ÿ™¤S¨£[Ó1ˆØ×&Ñ&¤s¨7£|°aÕ'7Ô8Ø—]‘]“_ˆ
àˆ
ØÔØ¢h³Ð8Õ8ˆJØ�i 8Õ,Õ,ˆ
à�Š¸3¿6¼6Ã:ËvÐVÔWØ×Ò°c·f´f»fÐ EÀx×PÒPØ�KŠK°3·6´6º6ÐBÔCÙà�>‰>˜#Ÿ&™& '±xØBEÇ&Ä&Ê&ÐQ÷Sò Sà�KŠK°·´ºÐ?Ö@ñSrÀ   c                óœ  € V P                  RVR,          VP                  V3,          4       V P                  RVR,          W!P                  3,          R4      '       g.   V P                  RVR,          W!P                  3,          4       R# \        P                  ! 4       pVP                  Vn        \        P
                  ! \        V4      \        P                  R4      VR&   V P                  VR\        P                  ,          .R	VP                  V3,          4      '       d'   V P                  R
VP                  V3,          4       R# R# )zhandle a wrong instanceTypez0ERROR: wrong instanceType %s on %s, should be %dÚinstanceTypez(Change instanceType from %s to %d on %s?r^   z-Not changing instanceType from %s to %d on %sNr"   r  zGFailed to correct missing instanceType on %s by setting instanceType=%dz7Corrected instancetype on %s by setting instanceType=%d)rÅ   r¬   râ   ro   ré   rê   r‹   rë   rì   r   Ú&DSDB_CONTROL_DBCHECK_MODIFY_RO_REPLICA)r¤   rŸ  Úcalculated_instancetyper(  s   &&& r#   Úerr_wrong_instancetypeÚdbcheck.err_wrong_instancetypeò  sF  € à�‰ÐFÈ#ÈnÕJ]Ð_b×_eÑ_eÐg~ÐIÕô  	AØ×ÑÐ JÈcÐR`ÕNaÐcz÷  }Cñ  }Cð  NDõ  !Dð  FX÷  Yò  YØ�K‰KÐGÈ3È~ÕK^Ð`w×yÑyð  KAõ  Aô  BÙä�KŠK‹MˆØ�v‰vˆŒÜ×'Ò'¬Ð,CÓ(DÄc×FZÑFZÐ\jÓkˆˆ'‰
Ø�>‰>˜!Ð.´×1\Ñ1\Õ\Ð]ØcÐgj×gmÑgmð  pGð  gHõ  H÷Iò Ià�K‰KÐQÐUX×U[ÑU[Ð]tÐTuÕuÖvñIrÀ   c                ó”   € V P                  R VP                  : RV P                  P                  VP                  4      : R24       R# )ú0ERROR: incorrect userParameters value on object z—.  If you have another working DC that does not give this warning, please run 'samba-tool drs replicate --full-sync --local <destinationDC> <sourceDC> rA  N©rÅ   r¬   r;   rc  )r¤   rŸ  r4  r"   s   &&&&r#   Úerr_short_userParametersÚ dbcheck.err_short_userParameters   si   € à�Šð  gj÷  gmô  gmð  os÷  oyñ  oy÷  oEñ  oEð  FI÷  FLñ  FLö  oMð  Nö  	OrÀ   c                óN  € V P                  RV: RVP                  : R24       V P                  RVP                  ,          R4      '       g%   V P                  RVP                  ,          4       R# \        P                  ! 4       pVP                  Vn        \        P
                  ! \        W,          ^ ,          4      \        P                  R4      VR	&   V P                  V. R
VP                  ,          4      '       d%   V P                  RVP                  ,          4       R# R# )z6handle a userParameters that is wrongly base64 encodedz(ERROR: wrongly formatted userParameters ú on z, should not be base64-encodedz2Convert userParameters from base64 encoding on %s?re   z6Not changing userParameters from base64 encoding on %sNÚuserParametersr"   zOFailed to correct base64-encoded userParameters on %s by converting from base64zGCorrected base64-encoded userParameters on %s by converting from base64)	rÅ   r¬   râ   ro   ré   rê   r   rë   rì   ©r¤   rŸ  r4  r"   r(  s   &&&& r#   Úerr_base64_userParametersÚ!dbcheck.err_base64_userParameters  sÞ   € à�ŠÓhmÐor×ouÔouÐvÔwØ×ÑÐ TÐX[×X^ÑX^Õ _Ða|×}Ò}Ø�K‰KÐPÐTW×TZÑTZÕ[Ô\Ùä�KŠK‹MˆØ�v‰vˆŒÜ×'Ò'¬	°#µ-ÀÕ2BÓ(CÄS×EYÑEYÐ[kÓlˆˆ'‰
Ø�>‰>˜!˜RØkÐor×ouÑouÕv÷xò xà�K‰KÐaÐeh×ekÑekÕlÖmñxrÀ   c                ót  € V P                  RVP                  ,          4       V P                  RVP                  ,          R4      '       g%   V P                  RVP                  ,          4       R# \        P                  ! 4       pVP                  Vn        \        P
                  ! W,          ^ ,          P                  R4      P                  R4      \        P                  R4      VR	&   V P                  V. R
VP                  ,          4      '       d%   V P                  RVP                  ,          4       R# R# )z5handle a userParameters that is wrongly utf-8 encodedzPERROR: wrongly formatted userParameters on %s, should not be pseudo-UTF8 encodedz0Convert userParameters from UTF8 encoding on %s?rf   z4Not changing userParameters from UTF8 encoding on %sNr1   ú	utf-16-lerð  r"   zQFailed to correct psudo-UTF8 encoded userParameters on %s by converting from UTF8zICorrected psudo-UTF8 encoded userParameters on %s by converting from UTF8©
rÅ   r¬   râ   ro   ré   rê   r   Úencoderë   rì   rñ  s   &&&& r#   Úerr_utf8_userParametersÚdbcheck.err_utf8_userParameters  sù   € à�‰ð 8Ø;>¿6¹6õCô 	Dà×ÑÐ RÐVY×V\ÑV\Õ ]Ð_x×yÒyØ�K‰KÐNÐRU×RXÑRXÕYÔZÙä�KŠK‹MˆØ�v‰vˆŒÜ×'Ò'¨­°aÕ(8×(?Ñ(?ÀÓ(G×(NÑ(NÈ{Ó([Ü(+×(<Ñ(<Ð>NóPˆˆ'‰
à�>‰>˜!˜RØmÐqt×qwÑqwÕx÷zò zà�K‰KÐcÐgj×gmÑgmÕnÖoñzrÀ   c                ót  € V P                  RVP                  ,          4       V P                  RVP                  ,          R4      '       g%   V P                  RVP                  ,          4       R# \        P                  ! 4       pVP                  Vn        \        P
                  ! W,          ^ ,          P                  R4      P                  R4      \        P                  R4      VR	&   V P                  V. R
VP                  ,          4      '       d%   V P                  RVP                  ,          4       R# R# )z:handle a userParameters that has been utf-16 encoded twicezQERROR: wrongly formatted userParameters on %s, should not be double UTF16 encodedz:Convert userParameters from doubled UTF-16 encoding on %s?rg   z>Not changing userParameters from doubled UTF-16 encoding on %sNrõ  r1   rð  r"   zJFailed to correct doubled-UTF16 encoded userParameters on %s by convertingzBCorrected doubled-UTF16 encoded userParameters on %s by convertingrö  rñ  s   &&&& r#   Úerr_doubled_userParametersÚ"dbcheck.err_doubled_userParameters"  s  € à�‰ÐgÐkn×kqÑkqÕrÔsØ×ÑÐ \Ð`c×`fÑ`fÕ gð  jF÷  Gò  GØ�K‰KÐXÐ\_×\bÑ\bÕcÔdÙä�KŠK‹MˆØ�v‰vˆŒô ×'Ò'¨­°aÕ(8×(?Ñ(?ÀÓ(L×(SÑ(SÐTZÓ([Ü(+×(<Ñ(<Ð>NóPˆˆ'‰
ð �>‰>˜!˜RØfÐjm×jpÑjpÕq÷sò sà�K‰KÐ\Ð`c×`fÑ`fÕgÖhñsrÀ   c                ó”   € V P                  RVP                  : RV P                  P                  VP                  4      : R24       R# )z?Fix a truncated userParameters due to a pre 4.1 replication bugrê  z¤ (odd length).  If you have another working DC that does not give this warning, please run 'samba-tool drs replicate --full-sync --local <destinationDC> <sourceDC> rA  Nrë  )r¤   rŸ  r4  s   &&&r#   Úerr_odd_userParametersÚdbcheck.err_odd_userParameters<  si   € à�Šð  tw÷  tzô  tzð  |@÷  |Fñ  |F÷  |Rñ  |Rð  SV÷  SYñ  SYö  |Zð  [ö  	\rÀ   c                ó`  € V P                   P                  V\        P                  V.. ROR7      pV P                  P                  V4      pV^ ,          V,           FN  p\        V P                   VP                  R4      V4      pVP                  P                  R4      pW88X  g   KL  Vu # 	  R# )z#return a revealed link in an objectrÂ   r1   rÒ   N)r­  rá   rà   )
r;   rˆ   ro   r‰   r=   Ú#get_syntax_oid_from_lDAPDisplayNamer   r   r¬   rä   )	r¤   r¬   r4  rî   r¦   Ú
syntax_oidrI  rõ   Úguid2s	   &&&&     r#   Úfind_revealed_linkÚdbcheck.find_revealed_link@  s•   € à�j‰j×Ñ R¬s¯~©~ÀhÀZÚ)bð  ó dˆà×&Ñ&×JÑJÈ8ÓTˆ
Ø�q•6˜(×#Ð#ˆCÜ˜dŸj™j¨#¯*©*°VÓ*<¸jÓIˆGØ—J‘J×5Ñ5°fÓ=ˆEØŽ}Ø’ñ	 $ñ
 rÀ   c                ó¦  € ^ p\        4       p\        4       pV^,          '       d   WgV3# Vf   WgV3# \        VP                  4      : RV: 2p	W�P                  9  d   RV P                  V	&   W,           EF?  p
\	        V P
                  V
P                  R4      V4      pVP                  P                  R4      pVf   KK  \        \        P                  ! V4      4      pWÛP                  ,           pWè9  d   W¸V&   Kˆ  V^,          pWç9  d+   \        4       W~&   RW~,          R&   \        4       W~,          R&   \        WŽ,          P                  P                  R4      4      p\        VP                  P                  R4      4      pVV8”  d3   WŽ,          W~,          R&   W~,          R,          P                  V4       EKH  VV8  d7   W·V,          R&   W~,          R,          P                  WŽ,          4       W¸V&   EK…  \        WŽ,          P                  P                  R	4      4      p\        VP                  P                  R	4      4      pVV8¼  d3   WŽ,          W~,          R&   W~,          R,          P                  V4       EK  W·V,          R&   W~,          R,          P                  WŽ,          4       W¸V&   EKB  	  V^ 8w  d   R
V P                  V	&   WgV3# )ú1check a linked values for duplicate forward linksNrÖ   Fr1   rÒ   Úkeepr  ÚRMD_VERSIONÚRMD_LOCAL_USNT)rV   r‹   r¬   rW   r   r;   r   rä   r   rÒ   r^  rV  r£   r   )r¤   rŸ  r·  r¸  Úforward_linkIDrµ  rÍ   Úduplicate_dictÚunique_dictrÀ  rI  rõ   rî   ÚguidstrÚkeystrÚv1Úv2Úu1Úu2s   &&&&&&             r#   Úcheck_duplicate_linksÚdbcheck.check_duplicate_linksL  sz  € àˆä›ˆÜ“fˆð ˜A×Ôà°Ð=Ð=àÒ Ø°Ð=Ð=ä),¨S¯V©V®²lÐCÐØ×&?Ñ&?Ô?Ø=BˆD×%Ñ%Ð&9Ñ:à×$Ñ$ˆCÜ˜dŸj™j¨#¯*©*°VÓ*<¸nÓMˆGð —:‘:×4Ñ4°VÓ<ˆDØŠ|ÙÜœ$Ÿ)š) D›/Ó*ˆGØŸ~™~Õ-ˆFØÔ(Ø&-˜FÑ#ÙØ˜1ÕˆKØÔ+Ü)-«�Ñ&Ø15�Õ& vÑ.Ü37³6�Õ& xÑ0ô �[Õ(×+Ñ+×BÑBÀ=ÓQÓRˆBÜ�W—Z‘Z×6Ñ6°}ÓEÓFˆBØ�BŒwØ1<Õ1D�Õ& vÑ.ØÕ& xÕ0×7Ñ7¸Ô@ÚØ�BŒwØ18˜vÕ& vÑ.ØÕ& xÕ0×7Ñ7¸Õ8KÔLØ&-˜FÑ#Úä�[Õ(×+Ñ+×BÑBÀ?ÓSÓTˆBÜ�W—Z‘Z×6Ñ6°ÓGÓHˆBØ�RŒxØ1<Õ1D�Õ& vÑ.ØÕ& xÕ0×7Ñ7¸Ô@ÚØ-4˜6Õ" 6Ñ*ØÕ" 8Õ,×3Ñ3°KÕ4GÔHØ")˜ÔñO %ðR ˜!ÔØ=AˆD×%Ñ%Ð&9Ñ:à¨[Ð9Ð9rÀ   c                ó&  € ^ p\        V4      : RV: 2pWPP                  9   d   V P                  V,          # V P                  V4      w  rgV.pRR.p	 V P                  P	                  \        V4      \
        P                  W‰R7      p
T
^ ,          pT P                  YâY6T4      w  rOpYPP                  9   d   T P                  T,          # R#   \
        P                   d0   pTP                  w  rÍT\
        P                  8w  d   h  Rp?R# Rp?ii ; i)r  rÖ   rÞ   rà   rÂ   NF)r‹   rW   r7  r;   rˆ   ro   r‰   rŒ   r�   rŽ   r  )r¤   r¬   r·  r¸  rÍ   rÀ  r  rµ  r,   rÃ   r¦   Úe8r©   rª   rŸ  r  r  s   &&&&             r#   r³  Údbcheck.has_duplicate_links�  s  € àˆä),¨R®²,Ð?ÐØ×";Ñ";Ô;Ø×,Ñ,Ð-@ÕAÐAà(,×(MÑ(MÈlÓ([Ñ%ˆà�ˆØ%Ð';Ð<ˆð	Ø—*‘*×#Ñ#¬¨R«¼¿¹Ø*/ð $ó DˆCð �!�fˆà×&Ñ& s¸.ÐZgÓhñ 	1ˆ [ð ×";Ñ";Ô;Ø×,Ñ,Ð-@ÕAÐAáøô �|‰|ô 	ØŸ7™7‰LˆTØ”s×-Ñ-Ô-Øåûð	ús   Á5C ÃDÃ!$DÄDc                óz  € . p^ pVf   Wg3# V\         P                  8w  d   V P                  RV,          4       Wg3# RV P                  9   d   V P                  R4       Wg3#  VR,          ^ ,          p\	        \        \        P                  V4      4      p	RV: RV	: R2p
V P                  P                  V
\         P                  R.. ROR7      pT EF7  p\        T P                  TP                  P                  4       T4      pTP                  P!                  R	4      p\	        \        P                  ! T4      4      pTT9   d   Kv  \        \"        P$                  TR
,          ^ ,          4      pTP&                  P(                   F<  pTP*                  pTP,                  pTP.                  \0        P2                  8X  g   K<   M	  \        P                  ! R4      p^pXpTp^ pTpTpXp^ pTP                  P5                  R\	        T4      4       TP                  P5                  R\	        T4      4       TP                  P5                  R\	        T4      4       TP                  P5                  R\7        T4      4       TP                  P5                  R\	        T4      4       TP                  P5                  R\	        T4      4       TP                  P5                  R\	        T4      4       T^,          pTP9                  T4       EK:  	  Yg3#   \         P                   d   pTP                  w  rÞh Rp?ii ; i)zMFind all backlinks linking to obj_guid_str not already in forward_unique_dictNz5Not checking for missing forward links for syntax: %sÚsortedLinksÚ
objectGUIDÚ(z=<GUID=z>))r4   r+   r,   rÃ   rÒ   ÚreplPropertyMetadataz$ffffffff-4700-4700-4700-000000b13228ÚRMD_ADDTIMEÚRMD_CHANGETIMEr¬  ÚRMD_INVOCIDÚRMD_ORIGINATING_USNr
  r	  zQNot checking for missing forward links because the db has the sortedLinks feature)rÞ   úsearch_options:1:2zpaged_results:1:1000)ro   Ú	SYNTAX_DNrÅ   r9   r‹   r	   r   rÒ   r;   rˆ   ÚSCOPE_SUBTREErŒ   r�   r   r¬   r•  rä   r   ÚreplPropertyMetaDataBlobÚctrÚarrayÚ	local_usnÚoriginating_change_timeÚattidr   ÚDRSUAPI_ATTID_objectClassr–  r
   r   ) r¤   rŸ  r·  r¸  rµ  Úforward_unique_dictÚmissing_forward_linksrÍ   Úobj_guidÚobj_guid_strÚfilterr¦   Úe9r©   rª   Úrr¨  rî   r  Úreplrô   r(  ÚtÚoriginating_invocidÚoriginating_usnÚrmd_addtimeÚrmd_changetimer¯  Úrmd_invocidÚrmd_originating_usnÚrmd_local_usnÚrmd_versions    &&&&&&                          r#   Ú)find_missing_forward_links_from_backlinksÚ1dbcheck.find_missing_forward_links_from_backlinks®  sÄ  € ð !#ÐØˆàÒ Ø)Ð7Ð7àœSŸ]™]Ô*Ø�K‰KÐOØ&õ'ô (à)Ð7Ð7à˜D×3Ñ3Ô3Ø�K‰Kð 6ô 7à)Ð7Ð7ð	Ø˜<Õ(¨Õ+ˆHÜœz¬$¯)©)°XÓ>Ó?‰LÛ)6»ÐEˆFà—*‘*×#Ñ#¨vÜ*-×*;Ñ*;ÀLÀ>ò.Fð $ó GˆCô ˆAÜ §
¡
¨A¯D©D×,=Ñ,=Ó,?ÀÓPˆIà—<‘<×6Ñ6°vÓ>ˆDÜœ$Ÿ)š) D›/Ó*ˆGØÐ-Ô-Ùô( œh×?Ñ?Ø!Ð"8Õ9¸!Õ<ó>ˆDà—X‘X—^”^�ØŸK™K�	Ø×-Ñ-�Ø—7‘7œg×?Ñ?Ö?Ùñ	 $ô #'§)¢)Ð,RÓ"SÐØˆOàˆKØˆNØˆIØ-ˆKØ"1ÐØ%ˆMØˆKà�L‰L×/Ñ/°¼sÀ;Ó?OÔPØ�L‰L×/Ñ/Ð0@Ä#ÀnÓBUÔVØ�L‰L×/Ñ/°¼SÀ»^ÔLØ�L‰L×/Ñ/°¼xÈÓ?TÔUØ�L‰L×/Ñ/Ð0EÄsÐK^ÓG_Ô`Ø�L‰L×/Ñ/°ÄÀ]ÓASÔTØ�L‰L×/Ñ/°¼sÀ;Ó?OÔPà˜1ÕˆKØ!×(Ñ(¨×3ñ} ð@ &Ð3Ð3øôI �|‰|ô 	ØŸ7™7‰LˆTØûð	ús   Á"A.L ÌL:Ì&L5Ì5L:c                ó¸  € ^ pVR,          ^ ,          pV P                  V4      w  rgVe   V P                  P                  V4      pMRpVR&9   p	V	'       d   V P                  '       d   / p
MV P	                  WVWg4      w  rJp\        V
4      ^ 8w  EdÒ   V P                  VW#VX4      w  rÍWM,          pVP                  4        Uu. uF  qîNK  	  ppV^ 8w  d&   V P                  RV: RVP                  : R24       M$V P                  RV: RVP                  : R24       V F‰  pV P                  RV,          4       V P                  RV,          R	4      '       gF   V P                  VP                  VVP                  P                  4       VP                  W#R
R7       K  VV.,          pK‹  	  V
P                  4        FS  pV
V,          pVR,           F  pV P                  RV,          4       K  	  V P                  RVR,          ,          4       KU  	  \        V4       Uu. uF  p\        V4      NK  	  ppV P!                  WV4       \"        P$                  ! V^ V4      W&   W,           E
Ft  p\'        V P(                  VP+                  R4      V4      pVP                  P-                  R4      pVf+   V^,          pV P/                  VP                  VVVR4       Ks  \        \0        P2                  ! V4      4      pRR.p\        V4      P5                  4       R8X  d0   VP                  V P6                  8X  d   RpVP9                  R4       MR
pVe   VP9                  V4        V P(                  P;                  RV,          \"        P<                  V. R'OR7      pT'       d�   R\G        T^ ,          R,          ^ ,          4      ,          Tn$        R\G        T^ ,          R,          ^ ,          4      ,          Tn%        \        T4      \        T4      8w  d,   T^,          pT PM                  TP                  TTTR4       EKÕ  RT9   ;'       d+    \        TR,          ^ ,          4      PO                  4       R8H  pRT^ ,          9   ;'       d2    \        T^ ,          R,          ^ ,          4      PO                  4       R8H  p T'       dB   TP                  T PP                  9  d'   T'       d   T PS                  YT4       T^,          pEKš  T '       Ed[   T PU                  T4      '       EgC   T'       Ed:   T^,          pTP                  P-                  R4      p!T!'       dÚ   RT^ ,          9   dÌ   \W        \X        PZ                  T^ ,          R,          ^ ,          4      p"R
p#T"P\                  P^                   FD  p$T$P`                  \b        Pd                  8X  g   K$  T$Pf                  p%T%\G        T!4      8¼  g   KB  Rp# M	  T#'       d5   T Pi                  TP                  TTTT^ ,          P                  R4       EKÉ  T Pi                  TP                  TTTT^ ,          P                  R
4       EKý  TP                  P-                  R 4      p&^ p'T&e   \G        T&4      p'T'^,          '       gv   Ter   \        T^ ,          P                  4      \        TP                  4      8w  d>   T^,          pT Pk                  TP                  TTTT^ ,          P                  R!4       EK­  T^ ,          P                  P-                  R4      TP                  P-                  R4      8w  d>   T^,          pT Pk                  TP                  TTTT^ ,          P                  R4       EK*  T^ ,          P                  P-                  R"4      p(TP                  P-                  R"4      p)T)f0   T(e,   T^,          pT Pm                  TP                  TTTT(4       EKš  T)T(8w  d>   T^,          pT Pk                  TP                  TTTT^ ,          P                  R"4       EKÞ  Tfš   T^ 8X  d�   \        T^ ,          P                  4      \        TP                  4      8w  d\   TPH                  TP                  Po                  4       ,           p*T Pq                  TP                  TT*TT^ ,          P                  4       EK{  T	'       d   T P                  '       d   EK˜  ^ p+TT^ ,          9   d§   T^ ,          T,           F’  p,\'        T P(                  T,P+                  R4      4      p-T-P                  P-                  R4      p.T-P                  P-                  R 4      p/^ p0T/e   \G        T/4      p0T0^,          '       d   K€  T.T8X  g   K‰  T+^,          p+K”  	  T+^8w  d¥   T\r        Pt                  8X  g   T\r        Pt                  8X  d{   T^,          '       gl   ^ p1Y,           FS  p2\'        T P(                  T2P+                  R4      4      P                  P-                  R4      p3T3T8X  g   KJ  T1^,          p1KU  	  T+T18X  d   EKù  ^ p4Y,           F’  p,\'        T P(                  T,P+                  R4      4      p-T-P                  P-                  R4      p.T-P                  P-                  R 4      p/^ p0T/e   \G        T/4      p0T0^,          '       d   K€  T.T8X  g   K‰  T4^,          p4K”  	  T+T48X  d   EK£  T4T+,
          p5T^,          '       d…   T+^ 8X  d7   T^,          pT P                  TP                  TTTP                  TT4       EKø  T P                  R#TT4\        TP                  4      TT+\        TP                  4      3,          4       E	K?  T '       d   Q hT P                  R$TT4\        TP                  4      TT+\        TP                  4      3,          4       T5^ 8w  g   E	K—  T^,          pT5^ 8”  d~   T+^ 8”  g   T5^8”  d/   T P                  R%\        TP                  4      ,          4       E	Kã  T Pw                  YTP                  P                  4       TTP                  4       T5^,          p5K—  T P                  T^ ,          P                  TTP                  P                  4       TP                  Y#4       T5^,          p5Kê  	  V# u upi u upi   \"        P>                   dV   pTP@                  w  ppT\"        PB                  8w  d   h Y@PE                  TP                  TTT4      ,          p Rp?E
Kê  Rp?ii ; i)(z$check a DN attribute for correctnessr  Nz@ERROR: Missing and duplicate forward link values for attribute 'rP  rA  z4ERROR: Duplicate forward link values for attribute 'zMissing   link '%s'z8Schedule re-adding missing forward link for attribute %srU   F)r¹  r  zDuplicate link '%s'zCorrect   link '%s'r  r1   rÒ   zmissing GUIDÚ	isDeletedÚreplPropertyMetaDatazmsds-hasinstantiatedncsTrä  ú	<GUID=%s>rÂ   z	B:8:%08X:z%08Xz(incorrect instanceType part of Binary DNÚTRUEr
  r  r¬  Ústringr”  zHWARNING: Link (back) mismatch for '%s' (%d) on '%s' to '%s' (%d) on '%s'zIERROR: Link (forward) mismatch for '%s' (%d) on '%s' to '%s' (%d) on '%s'z5ERROR: Can't fix missing multi-valued backlinks on %s)ÚmemberÚmemberOf)rÞ   rß   rà   )<r7  r=   r  ri   r  r�   r=  rG  rÅ   r¬   râ   rº  r•  ÚkeysÚsortedr‹   rÁ  ro   rê   r   r;   r   rä   r…  r   rÒ   Úlowerry   r   rˆ   r‰   rŒ   r�   rŽ   rw  r£   r^  Úbinaryrˆ  Úupperr“   r£  rç   r	   r   r%  r&  r'  r*  r   ÚDRSUAPI_ATTID_isDeletedr(  rn  r‘  r›  r¢   r�  r   ræ   r©  )6r¤   rŸ  r4  r  rÍ   r.  r5  rt  Úreverse_syntax_oidÚis_member_linkr  r  r-  Úmissing_error_countr¬   Úforward_linksr(  r  ÚdÚddr    rI  rõ   rî   r  r,   Úfixing_msDS_HasInstantiatedNCsr¦   Úe3r©   rª   Ú
is_deletedÚtarget_is_deletedr(  r3  Ú
found_datarô   Údeleted_usnÚrmd_blobr¯  Ú
target_sidÚlink_sidÚbad_dnÚmatch_countÚvÚv_dnÚv_guidÚv_blobÚv_rmd_flagsÚforward_countÚwÚw_guidÚexpected_countÚ
diff_counts6   &&&&                                                  r#   Úcheck_dnÚdbcheck.check_dn  sc  € àˆØ�|Õ$ QÕ'ˆà$(×$IÑ$IÈ(Ó$SÑ!ˆØÒ(Ø!%×!2Ñ!2×!VÑ!VÐWhÓ!iÑà!%Ðà!Ð%;Ñ;ˆß˜d×:×:Ð:Ø‰Nð ×*Ñ*¨3¸*Ø+1óFñ 5ˆK¨ô ˆ~Ó !Õ#ð ×>Ñ>¸sØ?GØ?PØ?JóLñ 7Ð!ð
 Õ.ˆKà*5×*<Ñ*<Ô*>Ó?Ñ*> BšRÑ*>ˆMÐ?à" aÔ'Ø—’Û$ c§f¤fð.õ /ð —’ÓaiÐkn×kqÔkqÐrÔsÛ*�Ø—‘Ð1°QÕ7Ô8Ø×'Ñ'Ð(bÐemÕ(mØ(G÷Iò Ià×.Ñ.¨q¯t©tÐ5FØ/2¯v©v×/BÑ/BÓ/DÀcÇfÁfØ/7Ø@Eð /ô Gñ Ø ! Õ$’ñ +ð )×-Ñ-Ö/�Ø" 6Õ*�Ø˜HŸ+˜+�BØ—K‘KÐ 5¸Õ :Ö;ñ &à—‘Ð1°A°fµIÕ=Ö>ñ	 0ô '-¨]Ô&;Ó<Ñ&; ”C˜–GÑ&;ˆDÐ<Ø×*Ñ*¨3¸$Ô?ä×.Ò.¨t°Q¸ÓAˆC‰Mà—=‘=ˆCÜ˜dŸj™j¨#¯*©*°VÓ*<¸jÓIˆGð —:‘:×4Ñ4°VÓ<ˆDØŠ|Ø˜qÕ �Ø×2Ñ2°3·6±6¸8ÀSÈ'Ø3AôCáäœ$Ÿ)š) D›/Ó*ˆGØ Ð"8Ð9ˆEä�H“×#Ñ#Ó%Ð)BÔBÈÏÉÐSW×S`ÑS`ÔI`Ø15Ð.Ø—‘˜^Õ,à16Ð.à Ò,Ø—‘Ð.Ô/ðØ—j‘j×'Ñ'¨[¸7Õ-BÌ#Ï.É.Ø.3ò ?Að (ó B�÷  .Ø!,¬s°3°qµ6¸.Õ3IÈ!Õ3LÓ/MÕ!M�”Ø!'¬#¨c°!­f°^Õ.DÀQÕ.GÓ*HÕ!H�”ä�w“<¤3 s£8Ô+Ø 1Õ$�KØ×0Ñ0°·±¸À3ÈÐQ{Ô|Úð %¨Ñ+×ZÐZ´°C¸Õ4DÀQÕ4GÓ0H×0NÑ0NÓ0PÐTZÑ0ZˆJØ +¨s°1­vÑ 5× gÐ g¼#¸cÀ!½fÀ[Õ>QÐRSÕ>TÓ:U×:[Ñ:[Ó:]ÐagÑ:gÐç˜cŸf™f¨D×,KÑ,KÔK×PVð
 ×0Ñ0°ÀÔDØ˜qÕ �Úß"Ð"¨4×+EÑ+EÀg×+NÓ+N×SYÐSYð ˜qÕ �Ø#ŸJ™J×=Ñ=¸oÓN�	ßØ-°°QµÔ7Ü)¬(×*KÑ*KØ*-¨a­&Ð1GÕ*HÈÕ*Kó M˜à%*˜
Ø!%§¡§¤˜AØ Ÿw™w¬'×*IÑ*IÖIØ./¯k©k Ø#.´#°i³.Ö#@ð 26 JÙ$)ñ "0÷ &Ø ×/Ñ/°·±¸Ø03°W¸cÀ!½f¿i¹iÈôOâ$à×#Ñ# C§F¡F¨H°c¸7ÀCÈÅFÇIÁIÈuÔUÚð
 —z‘z×8Ñ8¸ÓEˆHØˆIØÒ#Ü ›M�	ð ˜q—=”=Ð%6Ò%BÜ�s˜1•v—y‘y“>¤S¨¯©£_Ô4Ø 1Õ$�KØ×9Ñ9¸#¿&¹&À(ÈCÐQXØ:=¸a½&¿)¹)ÀXôOâà�1�v�y‰y×/Ñ/°Ó7¸7¿:¹:×;\Ñ;\Ð]cÓ;dÔdØ˜qÕ �Ø×5Ñ5°c·f±f¸hÈÈWØ69¸!µf·i±iÀôIâà˜Q�Ÿ™×9Ñ9¸%Ó@ˆJØ—z‘z×8Ñ8¸Ó?ˆHØÒ JÒ$:Ø˜qÕ �Ø×8Ñ8¸¿¹ÀÈ3Ø9@À*ôNâØ˜:Ô%Ø˜qÕ �Ø×5Ñ5°c·f±f¸hÈÈWØ69¸!µf·i±iÀôHâð !Ò(Ø˜Q”;¤3 s¨1¥v§y¡y£>´S¸¿¹³_Ô#Dð
 %Ÿ^™^¨g¯j©j×.GÑ.GÓ.IÕI�FØ×4Ñ4°S·V±V¸XÀvØ5<¸cÀ!½f¿i¹iôIâç $×">×">Ð">Úð ˆKØ  C¨¥FÔ*Ø˜Q�Ð 1×2Ð2�AÜ" 4§:¡:¨q¯x©x¸Ó/?Ó@�DØ!ŸW™W×;Ñ;¸FÓC�FØ!ŸW™W×;Ñ;¸KÓH�FØ"#�KØÒ)Ü&)¨&£k˜Ø" Q—”Ù Ø Ö)Ø# qÕ(šñ 3ð ˜aÔØ¤×!;Ñ!;Ô;Ð?QÔUY×UoÑUoÔ?oØ! AŸ:œ:à()˜Ø!$§ ˜AÜ%,¨T¯Z©Z¸¿¹À&Ó9IÓ%J×%MÑ%M×%dÑ%dÐekÓ%l˜FØ%¨ž~Ø -°Õ 2¢ñ "/ð
 '¨-Ô7Ú$ØˆNØ—]�]�Ü˜tŸz™z¨1¯8©8°FÓ+;Ó<�ØŸ™×7Ñ7¸Ó?�ØŸ™×7Ñ7¸ÓD�Ø�ØÒ%Ü"% f£+�KØ —?”?ÙØ˜T–>Ø" aÕ'’Nñ #ð ˜nÔ,Úà'¨+Õ5ˆJà˜�zŒzð  !Ô#Ø 1Õ$�KØ×.Ñ.¨s¯v©v°xØ/2°G·J±JØ/@Ø/AôCò à—‘ÐfØ$ n´c¸#¿&¹&³kØ-¨{¼CÀÇ
Á
»OðjMõ Mô Nò ç(Ð(Ð(à�K‰KÐcØ  .´#°c·f±f³+Ø)¨;¼¸G¿J¹J»ðgIõ Iô Jð  —/Ø˜qÕ �Ø ”>Ø" Q”¨*°q¬.àŸ™ð %CÜEHÈÏÉÃ_õ%Uô VâØ×-Ñ-¨cØ.1¯f©f×.AÑ.AÓ.CØ.?Ø.5¯j©jô:ð  !•O’Jà×.Ñ.¨s°1­v¯y©yÐ:KØ/2¯v©v×/BÑ/BÓ/DÀcÇfÁfØ/7ôEð  !•O’JñW !ðZ ÐùòY @ùò4 =øôD —<‘<ô 
Ø!Ÿw™w‘��tØœ3×1Ñ1Ô1Øð ×AÑAÀ#Ç&Á&ØBJØBEØBIó Kõ K�ö ûð
ús%   Ã
s%È s*Í%6s/ó/uôA	uõuc                ój   € VP                   P                   F  pVP                  V8X  g   K  Vu # 	  R # r¸   )r&  r'  r*  )r¤   r3  r*  rô   s   &&& r#   Úfind_repl_attidÚdbcheck.find_repl_attid>  s*   € Ø—‘—”ˆAØ�w‰w˜%ÖØ’ñ  ñ rÀ   c                ó|   € \        \        P                  V4      pV P                  W24      pVe   VP                  # ^ # )zƒRead metadata properties and return the originating time for
a given attributeId.

:return: the originating time or 0 if not found
)r	   r   r%  rk  r)  )r¤   rI  r*  r3  rô   s   &&&  r#   Úget_originating_timeÚdbcheck.get_originating_timeE  s:   € ô œ(×;Ñ;¸SÓAˆØ× Ñ  Ó-ˆØŠ=Ø×,Ñ,Ð,ÙrÀ   c                ó,  € \        4       p\        4       p. pVP                  V P                  4      p\        \        P
                  V4      pVP                  P                   F¬  pV P                  P                  VP                  4      p	VP                  V	P                  4       4       VP                  VP                  4       V P                  P                  V	VR7      p
W¨P                  8w  g   K‘  VP                  VP                  4       K®  	  W5V3# )z\Read metadata properties and list attributes in it.
raises KeyError if the attid is unknown.©Úis_schema_nc)r�   Úis_child_ofrv   r	   r   r%  r&  r'  r=   Úget_lDAPDisplayName_by_attidr*  rÉ   rI  r   Úget_attid_from_lDAPDisplayName)r¤   r¬   rI  Úset_attÚwrong_attidsÚ
list_attidÚin_schema_ncr3  rô   ÚattÚcorrect_attids   &&&        r#   Úprocess_metadataÚdbcheck.process_metadataR  sÖ   € ô “%ˆÜ“uˆØˆ
Ø—~‘~ d§n¡nÓ5ˆäœ(×;Ñ;¸SÓAˆà—‘—”ˆAØ×#Ñ#×@Ñ@ÀÇÁÓIˆCØ�K‰K˜Ÿ	™	›Ô$Ø×Ñ˜aŸg™gÔ&Ø ×-Ñ-×LÑLÈSØZfð Mó hˆMà§¡Ö'Ø× Ñ  §¡Ö)ñ  ð  \Ð2Ð2rÀ   c                ó4  € \        \        \        P                  VR,          ^ ,          4      4      p\        P
                  ! V P                  RV,          4      pV P                  P                  V\        P                  V.RR.R7      pV^ ,          p\        P                  ! 4       pWGn
        \        P                  ! Wb,          \        P                  V4      Wr&   V P                  V. R	ORV,          4      '       d   V P                  RV,          4       R# R# )
z…re-write replPropertyMetaData elements for a single attribute for a
object. This is used to fix missing replPropertyMetaData elementsr  rB  r"  rß   rÂ   ú'Failed to fix metadata for attribute %szFixed metadata for attribute %sN)rÓ   rÙ   rß   )r‹   r	   r   rÒ   ro   rp   r;   rˆ   r‰   ré   r¬   rê   rë   rì   rÅ   )r¤   rŸ  ÚattrÚguid_strr¬   r¦   r  Únmsgs   &&&     r#   Úfix_metadataÚdbcheck.fix_metadatah  sÝ   € ô ”z¤$§)¡)¨S°Õ->¸qÕ-AÓBÓCˆÜ�VŠV�D—J‘J ¨hÕ 6Ó7ˆØ�j‰j×Ñ R¬s¯~©~ÀdÀVØ*>Ø*;ð*=ð  ó >ˆð �!�fˆÜ�{Š{‹}ˆØŒÜ×'Ò'¨­	´3×3GÑ3GÈÓNˆ‰
Ø�>‰>˜$Ò MØCÀdÕJ÷Lò Là�K‰KÐ9¸DÕ@ÖAñLrÀ   c                ó  € VP                   \        P                  ,          '       d   R # RpVP                  \        P                  8X  d   RpMeVP                  \        P
                  8X  d   RpMCVP                  \        P                  8X  d   RpM!VP                  \        P                  8X  d   RpV'       g   R # VP                  P                   \        P                  ,          '       g   R # \        VP                  P                  4      # )NFT)Úflagsr   ÚSEC_ACE_FLAG_INHERIT_ONLYÚtypeÚ"SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECTÚ!SEC_ACE_TYPE_ACCESS_DENIED_OBJECTÚ SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECTÚ SEC_ACE_TYPE_SYSTEM_ALARM_OBJECTrÎ   Ú%SEC_ACE_INHERITED_OBJECT_TYPE_PRESENTr‹   Úinherited_type)r¤   ÚaceÚchecks   && r#   Ú ace_get_effective_inherited_typeÚ(dbcheck.ace_get_effective_inherited_typex  s´   € Ø�9‰9”x×9Ñ9×9Ô9ÙàˆØ�8‰8”x×BÑBÔBØ‰EØ�X‰Xœ×CÑCÔCØ‰EØ�X‰Xœ×BÑBÔBØ‰EØ�X‰Xœ×BÑBÔBØˆEçÙà�z‰z×Ñ¤(×"PÑ"P×PÔPÙä�3—:‘:×,Ñ,Ó-Ð-rÀ   c                ó<  € WP                   9   d   V P                   V,          # R V,          pV P                  P                  V P                  VR.R7      p\	        \        \        P                  V^ ,          R,          ^ ,          4      4      pW@P                   V&   V# )z0(&(ldapDisplayName=%s)(objectClass=classSchema))ÚschemaIDGUID)r*   r4   r,   )rz   r;   rˆ   rv   r‹   r	   r   rÒ   )r¤   ÚclsÚfltr¦   r4  s   &&   r#   Úlookup_class_schemaIDGUIDÚ!dbcheck.lookup_class_schemaIDGUIDŽ  s‰   € Ø×)Ñ)Ô)Ø×*Ñ*¨3Õ/Ð/à@À3ÕFˆØ�j‰j×Ñ T§^¡^Ø+.Ø'5Ð&6ð  ó 8ˆô ”
œ4Ÿ9™9 c¨!¥f¨^Õ&<¸QÕ&?Ó@ÓAˆà'(×Ñ Ñ$ØˆrÀ   c                ó  € R pW#,          p\        \        P                  V^ ,          4      pRV9   ;'       d+    \        VR,          ^ ,          4      P	                  4       R8H  pV'       d   VR3# \        P                  ! 4       pVP
                  Vn        VP                  Vn        VP                  Vn        VP                  Vn        RpRp	. p
VP                  e   VP                  P                  p
\        ^ \        V
4      4       Fl  pW«,          pVP                  \        P                  ,          '       g   VP                  V4       KE  V P!                  V4      pVf   K\  V	e   WÙ8w  d   RpKj  Tp	Kn  	  . p
VP"                  e   VP"                  P                  p
\        ^ \        V
4      4       Fl  pW«,          pVP                  \        P                  ,          '       g   VP%                  V4       KE  V P!                  V4      pVf   K\  V	e   WÙ8w  d   RpKj  Tp	Kn  	  V'       d   Wu3# V	f   VR3# Rp VR,          R	,          pVf�   V P(                  P+                  V\,        P.                  RR.R.R7      pV^ ,          pRV9   ;'       d+    \        VR,          ^ ,          4      P	                  4       R8H  pV'       d   VR3# VR,          R	,          pV P1                  V4      pWÙ8w  d   Wu3# VR3#   \&         d   p Rp?L¾Rp?ii ; i)
ÚnTSecurityDescriptorr@  rC  NFTÚobjectClassrß   rÂ   rq  )r	   r   Ú
descriptorr‹   rK  Ú	owner_sidÚ	group_sidrˆ  ÚrevisionÚsaclÚacesrE  r�   r†  ÚSEC_ACE_FLAG_INHERITED_ACEÚsacl_addr‘  ÚdaclÚdacl_addr—   r;   rˆ   ro   r‰   r—  )r¤   r¬   rŸ  Úsd_attrÚsd_valÚsdrU  Úsd_cleanÚbrokenÚlast_inherited_typer¡  rK  r�  r4  r•  rv  r¦   rô   s   &&&               r#   Ú
process_sdÚdbcheck.process_sd›  sÑ  € Ø(ˆØ•ˆäœ×+Ñ+¨V°A­YÓ7ˆà  CÑ'×VÐV¬C°°KÕ0@ÀÕ0CÓ,D×,JÑ,JÓ,LÐPVÑ,Vˆ
ßà˜�:Ðä×&Ò&Ó(ˆØŸ\™\ˆÔØŸ\™\ˆÔØŸ™ˆŒØŸK™KˆÔàˆØ"ÐàˆØ�7‰7ÒØ—7‘7—<‘<ˆDÜ�qœ#˜d›)Ö$ˆAØ•'ˆCà—9‘9œx×BÑB×BÔBØ×!Ñ! #Ô&Ùà×5Ñ5°cÓ:ˆAØŠyÙà"Ò.ØÔ+ð "�FÙà"#Òñ+ %ð. ˆØ�7‰7ÒØ—7‘7—<‘<ˆDÜ�qœ#˜d›)Ö$ˆAØ•'ˆCà—9‘9œx×BÑB×BÔBØ×!Ñ! #Ô&Ùà×5Ñ5°cÓ:ˆAØŠyÙà"Ò.ØÔ+ð "�FÙà"#Òñ+ %÷. Ø�>Ð!àÒ&à˜�:Ðàˆð	Ø�mÕ$ RÕ(ˆCð Š;Ø—*‘*×#Ñ#¨´3·>±>Ø+6¸Ð*FØ.?Ð-@ð $ó BˆCð �A•ˆAØ$¨Ñ)×VÐV¬c°!°Kµ.ÀÕ2CÓ.D×.JÑ.JÓ.LÐPVÑ.VˆJßà˜D�zÐ!Ø�MÕ" 2Õ&ˆCà×*Ñ*¨3Ó/ˆàÔ#à�>Ð!ð �DˆzÐøô+ ô 	Üûð	ús   È8K6 Ë6LÌLc                óò  € Rp\        V4      p\        P                  \        P                  ,          pV P	                  RV: RV: R2R4      '       g   V P                  RV: RV: R24       R# \        P                  ! 4       pWn        \        P                  ! V\        P                  V4      Wt&   V P                  VR	V,          .R
V,          4      '       d   V P                  RV: RV: R24       R# R# )z/re-write the SD due to incorrect inherited ACEsrš  úFix rï  r<  rZ   úNot fixing Ú
Núsd_flags:1:%dúFailed to fix attribute %súFixed attribute 'r½  ú'
)r
   r   ÚSECINFO_DACLÚSECINFO_SACLrâ   rÅ   ro   ré   r¬   rê   rë   rì   )r¤   r¬   r¨  Ú	sd_brokenr¦  r§  Úsd_flagsr‚  s   &&&&    r#   Úerr_wrong_sdÚdbcheck.err_wrong_sd  s½   € à(ˆÜ˜"“ˆÜ×(Ñ(¬8×+@Ñ+@Õ@ˆà×Ò³7»BÐ ?ÐA[×\Ò\Ø�KŠK³7»BÐ?Ô@Ùä�{Š{‹}ˆØŒÜ×*Ò*¨6´3×3GÑ3GÈÓQˆ‰Ø�>‰>˜$ °8Õ!;Ð <Ø6¸Õ@÷Bò Bà�KŠK»GÃRÐHÖIñBrÀ   c                óŒ  € Rp\        V4      p\        P                  \        P                  ,          pVP                  e   V\        P
                  ,          pVP                  e   V\        P                  ,          pV P                  RV: RV: RV: 2R4      '       g   V P                  RV: RV: R24       R# \        P                  ! 4       pWn        \        P                  ! V\        P                  V4      Wt&   V P                  VR	V,          .R
V,          4      '       d   V P                  RV: RV: R24       R# R# )zare-write the SD due to not matching the default (optional mode for fixing an incorrect provision)rš  NzReset rï  z back to provision default?
rm   zNot resetting r±  r²  zFailed to reset attribute %sr´  r½  rµ  )r
   r   r¶  r·  r�  ÚSECINFO_OWNERrž  ÚSECINFO_GROUPrâ   rÅ   ro   ré   r¬   rê   rë   rì   )r¤   r¬   r¨  Údiffr¦  r§  r¹  r(  s   &&&&    r#   Úerr_wrong_default_sdÚdbcheck.err_wrong_default_sd  s   € à(ˆÜ˜"“ˆÜ×(Ñ(¬8×+@Ñ+@Õ@ˆØ�<‰<Ò#Øœ×.Ñ.Õ.ˆHØ�<‰<Ò#Øœ×.Ñ.Õ.ˆHà×ÒÓSZÓ\^Ò`dÐ eð  hC÷  Dò  DØ�KŠK³g»rÐBÔCÙä�KŠK‹MˆØŒÜ×'Ò'¨´×0DÑ0DÀgÓNˆ‰
Ø�>‰>˜!˜o°Õ8Ð9Ø8¸7ÕB÷Dò Dà�KŠK»GÃRÐHÖIñDrÀ   c                ó‚  € Rp\        V4      p\        P                  \        P                  ,          pV P	                  RV: RV: R2R4      '       g   V P                  RV: RV: R24       R# \        P                  ! 4       pWn        \        P                  ! V\        P                  V4      Wc&   V P                  P                  V P                  4       V P                  VR	V,          .R
V,          4      '       d   V P                  RV: RV: R24       V P                  P                  V P                  4       R# )z/re-write the SD due to a missing owner or grouprš  zFix missing owner or group in rï  r<  r[   z"Not fixing missing owner or group r±  Nr²  r  r´  r½  rµ  )r
   r   r½  r¾  râ   rÅ   ro   ré   r¬   rê   rë   r;   Úset_session_infor‘   rì   r�   )r¤   r¬   r¨  r¦  r§  r¹  r‚  s   &&&    r#   Úerr_missing_sd_ownerÚdbcheck.err_missing_sd_owner*  sõ   € à(ˆÜ˜"“ˆÜ×)Ñ)¬H×,BÑ,BÕBˆà×ÒËWÓVXÐ Yð  \B÷  Cò  CØ�KŠKË'ÓSUÐVÔWÙä�{Š{‹}ˆØŒÜ×*Ò*¨6´3×3GÑ3GÈÓQˆ‰ð 	�
‰
×#Ñ# D×$;Ñ$;Ô<Ø�>‰>˜$ °8Õ!;Ð <ØCÀgÕM÷Oò Oà�KŠK»GÃRÐHÔIØ�
‰
×#Ñ# D×$<Ñ$<Ö=rÀ   c                ó  € V P                   '       d   R # WP                  9   d   R # \        \        P                  V4      pV P                  V\        P                  4      p\        P                  ! VP                  4      p\        P                  ! 4       pV P                  R,          pWe,
          pW‡8:  d   R # WW,           p	VR,          p
V
^8:  dO   V P                  RV,          4       V P                  R\        P                  ! V	4      VR,          3,          4       MFV P                  RV,          4       V P                  R\        P                  ! V	4      V
3,          4       V P                  RVP                  VP                   VP"                  VP$                  VP&                  \        P                  ! \        P                  ! VP                  4      4      3,          4       V ;P(                  ^,          un        R# )	Fz`SKIPPING additional checks on object %s which very recently became an expired tombstone (normal)zbINFO: it is expected this will be expunged by the next daily task some time after %s, %d hours agoz+SKIPPING: object %s is an expired tombstonezTINFO: it was expected this object would have been expunged soon after%s, %d days agozHisDeleted: attid=0x%08x version=%d invocation=%s usn=%s (local=%s) at %sTé€Q i  )rk   r“   r	   r   r%  rk  r   rL  ÚsambaÚnttime2unixr)  Útimer8   rÅ   Úctimer*  ÚversionÚoriginating_invocation_idr6  r(  rl   )r¤   r¬   Úrepl_valr3  r@  Údelete_timeÚcurrent_timeÚtombstone_deltarû   Úexpunge_timeÚ
delta_dayss   &&&        r#   Úis_expired_tombstoneÚdbcheck.is_expired_tombstoneI  s²  € Ø×(×(Ð(ñ à×0Ñ0Ô0ñ äœ(×;Ñ;¸XÓFˆà×(Ñ(¨¬w×/NÑ/NÓOˆ	ä×'Ò'¨	×(IÑ(IÓJˆÜ—y’y“{ˆà×0Ñ0°LÕAˆàÕ*ˆØÔ#Ùà"Õ4ˆà˜lÕ+ˆ
à˜Œ?Ø�K‰Kð ?àACõDô Eð �K‰Kð 'ô  Ÿ:š: lÓ3°U¸wÕ5GÐHõIõ Jð
 �K‰KÐEÈÕJÔKØ�K‰Kð *ô  Ÿ:š: lÓ3°ZÐ@õAô Bð
 	�‰Ð^Ø—O‘OØ×%Ñ%Ø×7Ñ7Ø×-Ñ-Ø×'Ñ'Ü—J’Jœu×0Ò0°×1RÑ1RÓSÓTðbVõ Vô 	Wð 	×Ò 1Õ$ÕÙrÀ   c                óX  € \        \        P                  V4      pV P                  V\        P
                  4      p\        P                  ! VP                  4      pV P                  R,          p. pVP                  P                   FŸ  pVP                  \        P
                  8X  d   K$  VP                  VP                  8:  d   KA  VP                  VP                  8:  d   K^  \        P                  ! VP                  4      pW„,
          p	W•8:  d   KŽ  VP                  V4       K¡  	  Wc3# )é   rÇ  )r	   r   r%  rk  r   rL  rÈ  rÉ  r)  r8   r&  r'  r*  r(  r   )
r¤   rÎ  r3  r@  rÏ  rÑ  Úfoundrô   Úchange_timerû   s
   &&        r#   Úfind_changes_after_deletionÚ#dbcheck.find_changes_after_deletion  sé   € Üœ(×;Ñ;¸XÓFˆà×(Ñ(¨¬w×/NÑ/NÓOˆ	ä×'Ò'¨	×(IÑ(IÓJˆà×0Ñ0°LÕAˆàˆØ—‘—”ˆAØ�w‰wœ'×9Ñ9Ô9Ùà�{‰{˜i×1Ñ1Ô1Ùà×(Ñ(¨I×,MÑ,MÔMÙä×+Ò+¨A×,EÑ,EÓFˆKàÕ-ˆEØÔ'Ùð �L‰L˜ŽOñ)  ð, ÐÐrÀ   c                óÀ   a € S P                  V4      w  r4\        V4      ^ 8X  d   R# V 3R lpS P                  RV,          4       V! V4       V F  pV! V4       K  	  R# )r   Fc                 ó   <€  SP                   P                  V P                  4      pSP	                  RWP                  V P
                  V P                  V P                  V P                  \        P                  ! \        P                  ! V P                  4      4      3,          4       R#   \         d    R T P                  ,          p L¤i ; i)ú<unknown:0x%x08x>zA%s: attid=0x%08x version=%d invocation=%s usn=%s (local=%s) at %sN)r=   rt  r*  r—   rÅ   rÌ  rÍ  r6  r(  rÊ  rË  rÈ  rÉ  r)  )rô   Úattnamer¤   s   & €r#   Úreport_attidÚ8dbcheck.has_changes_after_deletion.<locals>.report_attid¦  s£   ø€ ð8Ø×+Ñ+×HÑHÈÏÉÓQ�ð �K‰KÐ[Ø§¡¨!¯)©)Ø×3Ñ3Ø×)Ñ)ØŸ™ÜŸ
š
¤5×#4Ò#4°Q×5NÑ5NÓ#OÓPð_Rõ Rö Søô ô 8Ø-°·±Õ7’ð8ús   ƒ%B, Â,CÃCz,ERROR: object %s, has changes after deletionT)rÚ  r�   rÅ   )r¤   r¬   rÎ  rØ  r@  rà  rô   s   f&&    r#   Úhas_changes_after_deletionÚ"dbcheck.has_changes_after_deletion¡  s\   ø€ Ø×;Ñ;¸HÓEÑˆÜˆu‹:˜Œ?Ùõ	Sð 	�‰ÐBÀRÕGÔHÙ�YÔÛˆAÙ˜ŽOñ ñ rÀ   c                ó¸  € V P                  V4      w  r4VP                  V P                  4      pVP                  4       pV P                  P                  VVR 7      p. pV F�  p	V	P                  V8X  d   K  V	P                  \        P                  8X  d   K7  V	P                  \        P                  8X  d   KX   V P                  P                  V	P                  4      p
VP                  V
4       K‘  	  \        V4      ^ 8”  d;   V P                  RRP                  V4      ,          4       V P                  R4       R# V P!                  RV: RV P"                  : R2R	4      '       g   V P                  R4       R# V P%                  VR
.RV,          4      '       d   V P                  RV,          4       R# R#   \         d    RT	P                  ,          p
 Lúi ; i)rq  rÞ  zUnexpeted attributes: %sr   z%Not fixing changes after deletion bugNzDelete broken tombstone object z	 deleted z
 days ago?r€   rÓ   ra  rb  )rÚ  rs  rv   Úget_rdn_namer=   ru  r*  r   ÚDRSUAPI_ATTID_nameÚDRSUAPI_ATTID_lastKnownParentrt  r—   r   r�   rÅ   r   râ   r8   r"  )r¤   r¬   rÎ  rØ  r@  ry  rÛ  Ú	rdn_attidÚ
unexpectedrô   rß  s   &&&        r#   Úerr_changes_after_deletionÚ"dbcheck.err_changes_after_deletionº  s“  € Ø×;Ñ;¸HÓEÑˆà—~‘~ d§n¡nÓ5ˆØ—?‘?Ó$ˆØ×%Ñ%×DÑDÀXØBNð Eó Pˆ	ð ˆ
ÛˆAØ�w‰w˜)Ô#ÙØ�w‰wœ'×4Ñ4Ô4ÙØ�w‰wœ'×?Ñ?Ô?Ùð8Ø×+Ñ+×HÑHÈÏÉÓQ�ð ×Ñ˜gÖ&ñ ô ˆz‹?˜QÔØ�K‰KÐ2°S·X±X¸jÓ5IÕIÔJØ�K‰KÐ?Ô@Ùà×ÒÛ " D×$:Ô$:ð!<Ø=]÷_ò _à�K‰KÐ?Ô@Ùà�>‰>˜"˜y˜kØ2°RÕ7÷9ò 9à�K‰K˜¨"Õ,Ö-ñ9øô ô 8Ø-°·±Õ7’ð8ús   Â9%F8Æ8GÇGc                óÂ  € \        \        P                  V4      pVP                  pR pVP                   F¦  pVP
                  \        P                  ! R4      8w  d   K*  RpV P                  RWP                  VP                  \        P                  ! \        P                  ! VP                  4      4      V P                   P#                  4       3,          4       K¨  	  V# )Fú$00000000-0000-0000-0000-000000000000Ta  ERROR: on replPropertyMetaData of %s, the instanceType on attribute 0x%08x,
                           version %d changed at %s is 00000000-0000-0000-0000-000000000000,
                           but should be non-zero.  Proposed fix is to set to our invocationID (%s).)r	   r   r%  r&  r'  rÍ  r   rÒ   rÅ   r*  rÌ  rÊ  rË  rÈ  rÉ  r)  r;   Úget_invocation_id)r¤   r¬   Úrepl_meta_datar3  r&  rØ  rô   s   &&&    r#   Ú"has_replmetadata_zero_invocationidÚ*dbcheck.has_replmetadata_zero_invocationidÞ  s²   € Üœ(×;Ñ;Ø(ó*ˆà�h‰hˆØˆØ—”ˆAà×*Ñ*¬d¯iªiÐ8^Ó._Ô_ÙàˆEØ�K‰Kð hð Ÿw™w¨¯	©	ÜŸ:š:¤e×&7Ò&7¸×8QÑ8QÓ&RÓSØŸ:™:×7Ñ7Ó9ð;õ;ö <ñ ð ˆrÀ   c           	     ó~  € \        \        P                  V4      pVP                  p\        P
                  ! \        \        P                  ! 4       4      4      pR pVP                   F²  pVP                  \        P                  ! R4      8w  d   K*  RpV P                  P                  \        P                  4      p	VP                   ^,           Vn        Whn        \        P                  ! V P                  P%                  4       4      Vn	        W˜n        W˜n        K´  	  V'       Ed   \+        V4      p
\        P,                  ! 4       pWn        V P1                  RV: RV: RV P                  P%                  4       : R2R4      '       g   V P3                  RV: RV: R	24       R
# \        P,                  ! 4       pWn        \        P4                  ! V
\        P6                  V4      WÂ&   V P9                  VR\:        P<                  ,          R.RV,          4      '       d   V P3                  RV: RV: R24       R
# R
# R
# )Frí  Tr¯  rï  zK by setting originating_invocation_id on some elements to our invocationID r<  r_   z-Not fixing zero originating_invocation_id in r±  Nr  ú#local_oid:1.3.6.1.4.1.7165.4.3.14:0r³  r´  r½  rµ  )r	   r   r%  r&  rÈ  Úunix2nttimer£   rÊ  r'  rÍ  r   rÒ   r;   Úsequence_numberro   ÚSEQ_NEXTrÌ  r)  rî  r6  r(  r
   ré   r¬   râ   rÅ   rê   rë   rì   r   rå  )r¤   r¬   r€  rï  r3  r&  ÚnowrØ  rô   ÚseqÚreplBlobr  r‚  s   &&&&         r#   Ú"err_replmetadata_zero_invocationidÚ*dbcheck.err_replmetadata_zero_invocationidò  sª  € Üœ(×;Ñ;Ø(ó*ˆà�h‰hˆÜ×Ò¤¤D§I¢I£KÓ 0Ó1ˆØˆØ—”ˆAà×*Ñ*¬d¯iªiÐ8^Ó._Ô_ÙàˆEØ—*‘*×,Ñ,¬S¯\©\Ó:ˆCØŸ	™	 A�ˆAŒIØ(+Ô%Ü*.¯)ª)°D·J±J×4PÑ4PÓ4RÓ*SˆAÔ'Ø #ÔØŽKñ ÷ ˆ5Ü “~ˆHÜ—+’+“-ˆCØŒFà×#Ò#Û'+«R°·±×1MÑ1MÖ1Oð%QØRv÷xò xà—’ÓY]Ó_aÐbÔcÙä—;’;“=ˆDØŒGÜ×+Ò+¨H´c×6JÑ6JÈDÓQˆD‰JØ�~‰~˜dÐ%5¼×8cÑ8cÕ%cØ%Jð%Là:¸TÕA÷Cò Cð —’ÃÃbÐIÖJñCñ rÀ   c                ó2  € \        \        P                  V4      pVP                  pVP                   F)  p V P
                  P                  VP                  4      pK+  	  R#   \         d*    T P                  R TP                  Y!3,          4         R# i ; i)zIERROR: attributeID 0X%0X is not known in our schema, not fixing %s on %s
N)
r	   r   r%  r&  r'  r=   rt  r*  r—   rÅ   )r¤   r¬   r€  rï  r3  r&  rô   rz  s   &&&&    r#   Úerr_replmetadata_unknown_attidÚ&dbcheck.err_replmetadata_unknown_attid  s€   € Üœ(×;Ñ;Ø(ó*ˆà�h‰hˆØ—”ˆAðØ×'Ñ'×DÑDÀQÇWÁWÓM’ó øô ô Ø—‘ÐhÐlm×lsÑlsÐuyÐk~Õ~ÔÛðús   ·%A"Á"/BÂBc           
     ó`	  € \        \        P                  V4      pR p\        4       p\        4       p/ p	VP	                  V P
                  4      p
VP                  p\        VP                  R,          R R7      Vn        \        VP                  4       EF¶  p\        RWP                  3,          4       V P                  P                  VP                  4      pVP                  4       V9   Ed8   V P                  RV: RV: RV: R24       V P!                  R	W!VP                  WÙV,          P                  3,          R
4      '       g)   V P                  RVP                  WÒV3,          4        R# RpVP#                  VP                  4       VP$                  W�,          P$                  8”  dt   VP&                  W�,          n        VP(                  W�,          n        VP*                  W�,          n        VP,                  W�,          n        VP$                  W�,          n        EK“  WÉV&   VP#                  VP                  4       4       EK¹  	  VP                   Uu. uF  qÌP                  V9  g   K  VNK  	  pp\/        V4      ^ 8”  Ed   V FÞ  pVP                  V9   g   K  V P                  P                  VP                  4      pV P                  P1                  WÚR7      pV P                  RV: RV: R24       V P!                  RW!VP                  WÙV,          P                  3,          R4      '       g)   V P                  RVP                  WýW!3,          4        R# RpWün        Kà  	  V'       d   \        VR,          R R7      VR&   V'       gX   V P                  RV: RV: R24       V P!                  RV: RV: R2R4      '       g   V P                  RV: RV: R24       R# \/        V4      Vn        Wën        \5        V4      p\6        P8                  ! 4       pVVn        \6        P<                  ! V\6        P>                  V4      VV&   V PA                  VR\B        PD                  ,          RR.RV,          4      '       d   V P                  RV: RV: R24       R# R# u upi ) F:NNNc                 ó   € V P                   # r¸   ©r*  ©rô   s   &r#   Ú<lambda>Ú:dbcheck.err_replmetadata_incorrect_attid.<locals>.<lambda>2  s   € °q·w²wrÀ   )Úkeyz
%s: 0x%08xz(ERROR: duplicate attributeID values for r:  rï  r±  zLFix %s on %s by removing the duplicate value 0x%08x for %s (keeping 0x%08x)?r`   z5Not fixing duplicate value 0x%08x for %s in %s on %s
NTrq  z'ERROR: incorrect attributeID values in zEFix %s on %s by replacing incorrect value 0x%08x for %s (new 0x%08x)?ra   zANot fixing incorrect value 0x%08x with 0x%08x for %s in %s on %s
c                 ó   € V P                   # r¸   r  r  s   &r#   r  r  i  s   € ÀÇÂrÀ   z&ERROR: unsorted attributeID values in r¯  z by sorting the attribute list?rb   r°  r  ró  z#local_oid:1.3.6.1.4.1.7165.4.3.25:0r³  r´  r½  rµ  )#r	   r   r%  r�   rs  rv   r&  rH  r'  Úreversedr
  r*  r=   rt  rI  rÅ   râ   rÉ   r(  rÌ  r)  rÍ  r6  r�   ru  Úcountr
   ro   ré   r¬   rê   rë   rì   r   rå  )r¤   r¬   r€  rï  rw  r3  r?   rv  Úremove_attidÚhash_attry  r&  rô   rz  Únew_listr{  rù  r‚  s   &&&&&             r#   Ú err_replmetadata_incorrect_attidÚ(dbcheck.err_replmetadata_incorrect_attid#  sÅ  € Üœ(×;Ñ;Ø(ó*ˆàˆä“%ˆÜ“uˆØˆà—~‘~ d§n¡nÓ5ˆà�h‰hˆô ˜3Ÿ9™9 Q�<Ñ->Ô?ˆŒ	ô ˜#Ÿ)™)×$ˆAÜ�, "§g¡g Õ.Ô/Ø×#Ñ#×@Ñ@ÀÇÁÓIˆCØ�y‰y‹{˜gÕ%Ø—’ÓZ]Ó_cÓegÐhÔiØ×'Ñ'Ð(vØ+/°Q·W±W¸cÈCÅ=×CVÑCVÐ*Wõ)Xà(J÷Lò Lð —K‘KÐ XØ#$§7¡7¨C°rÐ":õ!;ô <âØ�Ø× Ñ  §¡Ô)ð —;‘; ¥×!8Ñ!8Ô8ð
 -.¯I©I�H•MÔ)Ø<=×<UÑ<U�H•MÔ9Ø>?×>YÑ>Y�H•MÔ;Ø45×4EÑ4E�H•MÔ1Ø./¯k©k�H•MÔ+ò à�S‰MØ�K‰K˜Ÿ	™	›×$ñ? %ðD  #ŸyšyÓH™y˜!¯G©G¸<Ñ,G—A�A™yˆÐHä�Ó Õ!Û�Ø—7‘7˜lÖ*Ø×+Ñ+×HÑHÈÏÉÓQ�CØ$(×$5Ñ$5×$TÑ$TÐUXÐ$TÓ$t�MØ—K’KÓW[Ó]_Ð `ÔaØ×+Ñ+Ð,sØ/3¸¿¹À#ÐPSÅ}×GZÑGZÐ.[õ-\Ø]{÷}ò }àŸ™Ð$hØ'(§w¡w°ÀDÐ&Mõ%Nô OâØ�CØ+–Gñ ÷ ä$ X¨a¥[Ñ6GÔH�˜‘÷ Ø�KŠKËdÓTVÐWÔXØ×#Ò#Û'+«Rð%1Ø2S÷Uò Uà—’³t»RÐ@ÔAÙô ˜“MˆŒ	ØŒ	Ü˜D“>ˆä�{Š{‹}ˆØˆŒÜ×'Ò'¨´#×2FÑ2FÈÓMˆˆT‰
Ø�>‰>˜$Ð!1´D×4_Ñ4_Õ!_Ø!FØ!Fð!Hð 7¸Õ=÷?ò ?ð �KŠK»DÃ"ÐEÖFñ	?ùòI Is   ÉR+É3R+c                ó¤  € R pRV9  d%   V P                  RVP                  ,          4       RpRV9  g-   \        VR,          ^ ,          4      P                  4       R8X  d%   V P                  RVP                  ,          4       RpRV9  d%   V P                  RVP                  ,          4       RpR	V9  g-   \        VR	,          ^ ,          4      P                  4       R8X  d%   V P                  R
VP                  ,          4       RpRV9   d%   V P                  RVP                  ,          4       RpRV9   dQ   \        VR,          ^ ,          4      P                  4       R8X  d%   V P                  RVP                  ,          4       RpRV9  gT   \	        VR,          4      ^8w  g=   \        VR,          ^ ,          4      R8w  g   \        VR,          ^,          4      R8w  d%   V P                  RVP                  ,          4       RpRV9  g   \        VR,          ^ ,          4      R8w  d%   V P                  RVP                  ,          4       RpV# )FÚdescriptionz>ERROR: description not present on Deleted Objects container %sTÚshowInAdvancedViewOnlyÚFALSEzIERROR: showInAdvancedViewOnly not present on Deleted Objects container %sÚobjectCategoryzAERROR: objectCategory not present on Deleted Objects container %sÚisCriticalSystemObjectzIERROR: isCriticalSystemObject not present on Deleted Objects container %sÚ
isRecycledz9ERROR: isRecycled present on Deleted Objects container %sr@  z8ERROR: isDeleted not set on Deleted Objects container %sr›  ÚtopÚ	containerzBERROR: objectClass incorrectly set on Deleted Objects container %sÚsystemFlagsú-1946157056zBERROR: systemFlags incorrectly set on Deleted Objects container %s)rÅ   r¬   r‹   rK  r�   )r¤   rŸ  Úfaultys   && r#   Úis_deleted_deleted_objectsÚ"dbcheck.is_deleted_deleted_objects‚  sô  € ØˆØ Ô#Ø�K‰KÐXÐ[^×[aÑ[aÕaÔbØˆFØ#¨3Ô.´#°cÐ:RÕ6SÐTUÕ6VÓ2W×2]Ñ2]Ó2_ÐcjÔ2jØ�K‰KÐcÐfi×flÑflÕlÔmØˆFØ 3Ô&Ø�K‰KÐ[Ð^a×^dÑ^dÕdÔeØˆFØ#¨3Ô.´#°cÐ:RÕ6SÐTUÕ6VÓ2W×2]Ñ2]Ó2_ÐcjÔ2jØ�K‰KÐcÐfi×flÑflÕlÔmØˆFØ˜3ÔØ�K‰KÐSÐVY×V\ÑV\Õ\Ô]ØˆFØ˜#Ô¤# c¨+Õ&6°qÕ&9Ó":×"@Ñ"@Ó"BÀgÔ"MØ�K‰KÐRÐUX×U[ÑU[Õ[Ô\ØˆFØ Ô#¬¨C°Õ,>Ó(?À1Ô(DÜ(+¨C°Õ,>¸qÕ,AÓ(BÀeÔ(KÜ(+¨C°Õ,>¸qÕ,AÓ(BÀkÔ(QØ�K‰KÐ\Ð_b×_eÑ_eÕeÔfØˆFØ Ô#¤s¨3¨}Õ+=¸aÕ+@Ó'AÀ]Ô'RØ�K‰KÐ\Ð_b×_eÑ_eÕeÔfØˆFØˆrÀ   c                ó:  € \         P                  ! 4       pVP                  ;Vn        pR V9  d*   \         P                  ! R\         P                  R 4      VR &   RV9  d*   \         P                  ! R\         P                  R4      VR&   RV9  d;   \         P                  ! RV P
                  ,          \         P                  R4      VR&   RV9  d*   \         P                  ! R\         P                  R4      VR&   RV9   d*   \         P                  ! R\         P                  R4      VR&   \         P                  ! R\         P                  R4      VR&   \         P                  ! R	\         P                  R
4      VR
&   \         P                  ! RR.\         P                  R4      VR&   V P                  RV,          R4      '       g   V P                  RV,          4       R# V P                  VR.RV,          4      '       d   V P                  RV,          4       R# R# )r  zContainer for deleted objectsr  rC  r  zCN=Container,%sr  r  r@  r  r  r  r  r›  zAFix Deleted Objects container %s by restoring default attributes?rc   ú.Not fixing missing/incorrect attributes on %s
NrÓ   z+Failed to fix Deleted Objects container  %sz%Fixed Deleted Objects container '%s'
)
ro   ré   r¬   rê   rë   rv   r=  râ   rÅ   rì   )r¤   rŸ  r‚  r¬   s   &&  r#   Úerr_deleted_deleted_objectsÚ#dbcheck.err_deleted_deleted_objects   sÑ  € Ü�{Š{‹}ˆØ—v‘vÐˆŒ�"à Ô#Ü"%×"4Ò"4Ð5TÔVY×VjÑVjÐlyÓ"zˆD�ÑØ#¨3Ô.Ü-0×-?Ò-?ÀÌ×H\ÑH\Ð^vÓ-wˆDÐ)Ñ*Ø 3Ô&Ü%(×%7Ò%7Ð8IÈDÏNÉNÕ8ZÔ\_×\pÑ\pð  sCó  &DˆDÐ!Ñ"Ø#¨3Ô.Ü-0×-?Ò-?ÀÌ×H\ÑH\Ð^vÓ-wˆDÐ)Ñ*Ø˜3ÔÜ!$×!3Ò!3°F¼C×<OÑ<OÐQ]Ó!^ˆD�Ñä×.Ò.¨v´s×7KÑ7KÈ[ÓYˆˆ[ÑÜ!×0Ò0°Ä×@TÑ@TÐVcÓdˆˆ]ÑÜ!×0Ò0°%¸Ð1EÄs×G[ÑG[Ð]jÓkˆˆ]Ñà×ÑÐ cØ#%õ!'Ø(E÷Gò Gà�K‰KÐIÈRÕPÔQÙà�>‰>˜$  ØGÈ"ÕL÷Nò Nà�K‰KÐ@ÀBÕGÖHñNrÀ   c                ó†  € \         P                  ! 4       pW$n        V P                  P	                  4       pV P                  P                  4       '       d'   V P                  R V: RVP                  : R24       R# V P                  RVP                  ,          R4      '       g%   V P                  RVP                  ,          4       R# \         P                  ! V\         P                  V4      WC&   V P                  V. RV: RVP                  : 24      '       d&   V P                  R	V: RVP                  : 24       R# R# )
r°  rÙ  z for the RODCNz-Add yourself to the replica locations for %s?r~   r  zFailed to add ú for r‚  )ro   ré   r¬   r;   rx   Úam_rodcrÅ   râ   rê   rF  rì   )r¤   rŸ  Ú	cross_refr€  r‚  Útargets   &&&&  r#   Úerr_replica_locationsÚdbcheck.err_replica_locations¼  sâ   € Ü�{Š{‹}ˆØŒØ—‘×-Ñ-Ó/ˆà�:‰:×Ñ×ÒØ�KŠK»4ÀÇÄÐHÔIÙà×ÑÐ OØ#&§6¡6õ!+Ø,C÷Eò Eà�K‰KÐIÈSÏVÉVÕTÔUÙä×'Ò'¨´×0@Ñ0@À$ÓGˆ‰
Ø�>‰>˜$¡ÃÀsÇvÃvÐ$N×OÒOØ�KŠK«T°3·6³6Ð:Ö;ñ PrÀ   c                óÎ   € WP                   P                  8X  d   R # WP                  8X  d   R # WP                  8X  d   R # WP                  8X  d   R # WP
                  8X  d   R # R# )TF)r;   rq   rr   rt   rv   rw   rd  s   &&r#   Úis_fsmo_roleÚdbcheck.is_fsmo_roleÎ  sN   € Ø—‘×%Ñ%Ô%ÙØ×'Ñ'Ô'ÙØ—‘ÔÙØ—‘ÔÙØ—‘ÔÙárÀ   c                óh  € ^ pV P                   P                  V4      pW8X  dl   V\        P                  ,          p V P                   P	                  VP                  4       \        P                  . R.R7       V\        P                  ,          pV P                  eK   \        V4      V P                   Uu. uF  p\        V4      NK  	  up9   d   V\        P                  ,          pV#   \        P                   d/   pTP                  w  rVT\        P                  8w  d   h  Rp?L˜Rp?ii ; iu upi )r   rß   rÂ   N)r;   rc  r   ÚINSTANCE_TYPE_IS_NC_HEADrˆ   rÏ  ro   r‰   ÚINSTANCE_TYPE_NC_ABOVErŒ   r�   rŽ   r’   r‹   ÚINSTANCE_TYPE_WRITE)r¤   r¬   Úinstancetyper¼   Úe4r©   rª   Úxs   &&      r#   Úcalculate_instancetypeÚdbcheck.calculate_instancetypeÜ  sï   € ØˆØ—*‘*×(Ñ(¨Ó,ˆØŒ=ØœD×9Ñ9Õ9ˆLð<Ø—
‘
×!Ñ! r§y¡y£{¼#¿.¹.ÐPRÐ^oÐ]pÐ!Ôqð ¤× ;Ñ ;Õ;�Ø�>‰>Ò%¬#¨g«,È4Ï>Ê>Ó:ZÉ>Àa¼3¸q¾6É>Ñ:ZÔ*ZØœD×4Ñ4Õ4ˆLàÐøô —<‘<ô Ø!Ÿw™w‘�Øœ3×1Ñ1Ô1Øô 2ûðüò ;[s   ¼<C) Â5D/Ã)D,Ã>$D'Ä'D,c           	     óü   € V P                    Fg  w  r#W8X  g   K  \        P                  ! V P                  P	                  4       4      p\        \        P                  V! VV P                  R 7      4      u # 	  \        h)r×   )	r{   r   rŠ   r;   r�   r	   rœ  r„   r—   )r¤   r¬   Úsd_dnÚdescriptor_fnrø   s   &&   r#   Úget_wellknown_sdÚdbcheck.get_wellknown_sdî  sg   € Ø&*×&8Ô&8Ñ"ˆUØŽ{Ü%×-Ò-¨d¯j©j×.GÑ.GÓ.IÓJ�
Ü!¤(×"5Ñ"5Ù"/°
Ø9=¿¹ô#HóIò Iñ '9ô ˆrÀ   c                ó  aa	€ Vf   R.oM\        V4      o\        R S 4       4      o	VV	3R lpRS	9   g+   RS	9   g$   VP                  4       P                  4       S	9   d#   SP	                  R4       S	P                  R4       RS	9   d#   VP                  4       RR3 F  pV! V4       K  	  R	pRS	9   d   R
pM8S F2  pV P                  V4      w  rgV^ 8X  d   K  V^,          '       d   K0  R
p M	  V'       d	   V! R4       V! R4       SS	3# )zÕA helper function for check_object() that calculates the list of
attributes that need to be checked, and returns that as a list
in the original case, and a set normalised to lowercase (for
easy existence checks).
Ú*c              3   ó@   "  € T F  qP                  4       x € K  	  R # 5ir¸   )rI  )Ú.0r0  s   & r#   Ú	<genexpr>Ú/dbcheck.find_checkable_attrs.<locals>.<genexpr>	  s   é € Ð0©% Q—w‘w—y�y«%ùs   ‚c                 ó–   <€ V P                  4       S9  d3   SP                  V 4       SP                  V P                  4       4       R # R # r¸   )rI  r   rÉ   )Úar,   Úlc_attrss   &€€r#   Úadd_attrÚ.dbcheck.find_checkable_attrs.<locals>.add_attr	  s3   ø€ Ø�w‰w‹y Ô(Ø—‘˜Q”Ø—‘˜QŸW™W›YÖ'ñ )rÀ   r¬   ÚdistinguishednameÚnamer@  r  FTrA  r  )rV  r�   rå  rI  r   rÉ   r7  )
r¤   r¬   rÄ   rA  r?  Úneed_replPropertyMetaDatar5  rs  r,   r@  s
   &&&     @@r#   Úfind_checkable_attrsÚdbcheck.find_checkable_attrsø  s  ù€ ð Ò"Ø�E‰Eä˜Ó)ˆEäÑ0©%Ó0Ó0ˆö	(ð
 �HÔØ 8Ô+Ø�O‰OÓ×#Ñ#Ó%¨Ô1Ø�L‰L˜Ô Ø�L‰L˜Ô à�XÔØ—o‘oÓ'Ø!Ø#ó%�ñ ˜–ñ%ð
 %*Ð!Ø�(Œ?Ø(,Ñ%ã�Ø ×AÑAÀ!ÓD‘	�Ø˜Q”;ÙØ˜A—:”:ÙØ,0Ð)Ùñ ÷ %ÙÐ+Ô,á�Ôà�hˆÐrÀ   c           
     ó1  € V P                   '       d   V P                  RV,          4       V P                  W4      w  r4 ^ pV\        P                  ,          pV\        P
                  ,          pV\        P                  ,          pV\        P                  ,          pV P                  P                  V\        P                  RRRRV,          R.VR7      p\!        T4      ^8w  d   T P                  R
T,          4       ^# T^ ,          p
^ p\#        4       p\#        4       pRpT P                  P%                  T
P&                  4      p T P)                  T\*        P,                  P.                  4      pR	pR	pR	pRp^ pR	pT
 F�  pTP3                  4       R8X  d!   \5        T
T,          ^ ,          4      R8w  d   RpTP3                  4       R8X  d   \7        T
T,          ^ ,          4      pTP3                  4       R8X  g   K}  T
T,          ^ ,          pK�  	  T'       dX   T'       dP   T P9                  TT4      '       d   T^,          pT P;                  TT4       T# T P=                  TT4      '       d   T# T
 E	Fô  pTR8X  g   TR8X  d   K  TP3                  4       R8X  d   RpTP3                  4       R8X  d‰   \!        T
T,          4      ^8w  dY   T ;P>                  ^,          un        T P                  R\!        T
T,          4      T\5        T
P&                  4      3,          4       M\5        T
T,          ^ ,          4      pTP3                  4       \5        T
P&                  PA                  4       4      P3                  4       8X  d‹   Tp\!        T
T,          4      ^8w  dY   T ;P>                  ^,          un        T P                  R\!        T
T,          4      T\5        T
P&                  4      3,          4       M\5        T
T,          ^ ,          4      pTP3                  4       R8X  Ed&   T PC                  YT,          ^ ,          4      '       d+   T^,          pT PE                  TTT
T,          ^ ,          4        T PG                  YT,          ^ ,          4      w  ppp\!        T4      \!        T4      8  g!   \!        T4      ^ 8”  g   \K        T4      T8w  d-   T^,          pT PM                  TTT
T,          ^ ,          T4       MJT^ ,          ^ 8w  d=   T ;P>                  ^,          un        T P                  RT: R\5        T4      : R24       EKÑ  TP3                  4       R8X  Ed?   T PO                  Y4      w  ppTe    T PQ                  TTT4       T^,          pEK  TPR                  e   TPT                  f   T PW                  TT4       T^,          pEKX  TT8X  g   T PX                  '       d²    T P[                  T4      p\]        \        P^                  T
T,          ^ ,          4      pRpT PX                  '       g   Rp\a        TT\        Pb                  ! T P                  Pe                  4       4      TR7      pTR8w  d    T Pg                  TTT4       T^,          pEK"  EK%  TP3                  4       R8X  d¶   T P                  Pi                  T Pj                  TT
T,          4      p \K        T 4      \K        T
T,          4      8w  g9   T ^ ,          T
T,          ^ ,          8w  g   T Ra,          T
T,          Ra,          8w  d-   T Pm                  TT\o        T
T,          4      4       T^,          pEKï  TP3                  4       R8X  Ed�   T
T,          ^ ,          p!T!R8X  d'   T^,          pT Pq                  T
TT
T,          4       EKB  T!R,          Rb8X  d   EKS  T!R,          R 8X  d'   T^,          pT Ps                  T
TT
T,          4       EK‡  T!^,          ^ 8w  d_   T!^,          ^ 8w  dQ   T!^,          ^ 8w  dC   T!^,          ^ 8w  d5   T!^	,          ^ 8w  d'   T^,          pT Pu                  T
TT
T,          4       EKó  \!        T!4      ^,          ^ 8w  d   T^,          pT Pw                  T
T4       EK(  T!^,          ^ 8X  d_   T!^,          ^ 8X  dQ   T!^,          ^ 8X  dC   T!^,          ^ 8w  d5   T!^,          ^ 8X  d'   T^,          pT Py                  T
TT
T,          4       EK”  TP3                  4       R!8X  g   TP3                  4       R"8X  d™   T
T,          ^ ,          T Pz                  9   dQ   T ;P>                  ^,          un        T P                  R#T: R$T
P&                  : R%T
T,          ^ ,          : R&24       M)T Pz                  P}                  T
T,          ^ ,          4       T
T,           F'  p"T"R'8X  g   K  T P                  TT4       T^,          pK)  	   T Pj                  P�                  T4      p#T P‡                  T4      w  p%p&T Pj                  P‰                  T4      p'T'\,        PŠ                  ,          '       gE   T'\,        PŒ                  ,          '       g(   T%'       g    TP}                  TP3                  4       4       T#\,        PŽ                  \,        P�                  \,        P’                  \        P”                  39   d   Y°P—                  T
TT#4      ,          pMå\#        4       p(T
T,           F  p"T(P}                  T"4       T P                  Pi                  T Pj                  TT".4      p \!        T 4      ^8w  g   T ^ ,          T"8w  g   K\  T P™                  TTT
T,          4       T^,          p M	  \!        T
T,          4      \!        T(4      8w  d0   T P›                  TTT
T,          \o        T(4      4       T^,          p M�TP3                  4       R(8X  g   E	K�  T P�                  T4      p)\!        T
R),          4      ^8w  g"   \7        T
R),          ^ ,          4      T)8w  g   E	KÙ  T^,          pT PŸ                  T
T)4       E	K÷  	  T'       g)   R*T9   g   RT9   d   T^,          pT P¡                  T4       R*T9   g   RT9   d«   TfE   T ;P>                  ^,          un        T P                  R+\5        T
P&                  4      ,          4       Tf_   T ;P>                  ^,          un        T P                  R,T
P&                  PA                  4       : R\5        T
P&                  4      : R-24       TEew   R	p*RR..p+T'       dI   T\*        P,                  P¢                  ,          '       g   Tp*T+R/\,        P¤                  ,          .,          p+T*f   T
P&                  P§                  4       p* \        P¨                  ! T P                  R0T*,          4      p,T,P«                  ^ T
P&                  PA                  4       T4       T
P&                  T8X  d   T
P&                  p,T,T
P&                  8w  d!   T^,          pT P­                  T
T,TTTT+4       M`T
P&                  P¯                  4       T8w  dB   T ;P>                  ^,          un        T P                  R1T: R2T: R3T
P&                  : R-24       Rp.T'       Ed‹   T
P&                  T8X  dÔ   R6p/R7p0T P³                  TT/4      p1T1T08w  d·   T Pµ                  R8\5        T4      ,          R94      '       dn   \        P¶                  ! 4       p2TT2n        \        P¸                  ! R:\        Pº                  R;4      T2R;&   T^,          pT P                  P½                  T2R<.R=7       M!T P                  R>\5        T4      ,          4       TP¿                  T4       F‘  p3T.'       d   T P                  R?T,          4       Rp.T^,          pT P                  R@T3,          4       T Pµ                  RAT3,          RB4      '       g   T P                  RCT3,          4       K  T PÁ                  T
T34       K“  	  T PÃ                  T4      '       d0   RDT
9  d)   R*T9   g   RET9   d   T PÅ                  T
4       T^,          p YP                  PÇ                  4       8w  de   \5        TP§                  4       4      T PÈ                  9  d=   T P                  P                  TP§                  4       \        P                  RR.RF7      pYPÌ                  9   d9   R*T9   d2   T PÏ                  T
4      '       d   T PÑ                  T
4       T^,          pT PÒ                   FÙ  w  p5p$TT58X  g   K  RIT
9   g   K  RJp6T P                  PÕ                  4       '       d   RKp6T6T$9  d)   T P×                  T
T$P&                  T64       T^,          pKk  Rp7T$T6,           F/  p8\5        T84      T P                  PÙ                  4       8X  g   K-  Rp7K1  	  T7'       d   K³  T P×                  T
T$P&                  T64       T^,          pKÛ  	  YPÚ                  8X  dÑ   R*T9   g   RLT9   dÃ   RMT
9  d¼   T^,          pT PÜ                  '       di   T Pµ                  RNRO4      '       dP   T P                  Pß                  4         T P                  Pá                  4        T P                  På                  4        M8T P                  PÕ                  4       '       g   T P                  RPT,          4       YPæ                  8X  Ed_   RQRR.p9T P                  P                  T Pæ                  \        P                  T9RS7      pT9 FŒ  p:T:T^ ,          9  d   K  \7        T^ ,          T:,          ^ ,          4      p;T;^ ,	          p<RTT;,          p=T;^ 8w  g   KN  T=T<8¼  g   KW  T P                  RUT=T<T=T<3,          4       T ;P>                  ^,          un        KŽ  	  RQT^ ,          9  d2   T P                  RVT,          4       T ;P>                  ^,          un         T P                  Pé                  4       w  p>p<T P                  Pe                  4       p?T>T<8:  Ed   RWT?T>3,          p@ T P                  P                  RXT@,          \        P                  . RS7      pTeÂ   T P                  RYX@: RZT^ ,          P&                  : R[T: 24       T^,          pT Pµ                  R\T@: R]T: R^2R_4      '       dg   T P                  Pß                  4          T P                  Pë                  4       pATAT>8¼  g   K$  XA^,           p> T P                  På                  4        EK	   T# T>^,          p>EK   T# T#   \        P                   d`   pTP                  w  r‰T\        P                  8X  d7   T P                  '       d   T P                  RT,          4        R	p?^#  R	p?^ # h R	p?ii ; i  \0         d    R	p ELÃi ; i  \0         d)    T^,          pT PI                  TTT
T,          4        EKù  i ; i  \0         d     EK  i ; i  \‚         d(   p$T P…                  T
T4       T^,          p R	p$?$EK=  R	p$?$ii ; i  \°         d:   p-T ;P>                  ^,          un        T P                  R4T* R524        R	p-?-EL(R	p-?-ii ; i  \        P                   d‹   p4T4P                  w  r‰T\        P                  8X  db   T'       d:   T P                  RGT
P&                  ,          4       T P                  RH4        R	p4?4ELKT PË                  T
4       T^,          p R	p4?4ELkh R	p4?4ii ; i   T P                  Pã                  4        h ; i  \        P                   d2   p-T-P                  w  r‰T\        P                  8w  d   h R	p R	p-?-EL)R	p-?-ii ; i   T P                  Pã                  4        h ; i  \        P                   dK   pBTBP                  w  r‰T P                  R`T	,          4       T ;P>                  ^,          un         R	pB?BT# R	pB?Bii ; i)czcheck one objectúChecking object %srÞ   rß   rÝ   r²  rà   )r*   r+   rÃ   r,   z)ERROR: Object %s disappeared during checkNz,ERROR: Object %s failed to load during checkFÚ	isdeletedr  TÚsystemflagsÚreplpropertymetadatar¬   ÚdistinguishedNameÚobjectclassrD  z1ERROR: Not fixing num_values(%d) for '%s' on '%s'z4ERROR: Not fixing incorrect initial attributeID in 'z' on 'z', it should be objectClassÚntsecuritydescriptor)ÚignoreAdditionalACEsr/   Úuserparametersó    :Né   N:Né   Ns   IAAgACAAIAAgACAAIAAgÚattributeidÚ	governsidzError: rÙ  rï  z. already exists as an attributeId or governsIdrÀ   r.  rä  r9  z(ERROR: Not fixing missing 'name' on '%s'zERROR: Not fixing missing 'rA  rÓ   r‹  z
RDN=RDN,%szERROR: Not fixing rØ  z on 'z#ERROR: could not handle parent DN 'z': skipping RDN checksi0  l   €)¨x1cB& z-Fix isDeleted originating_change_time on '%s'rQ   rC  r@  rÙ   rÚ   z4Not fixing isDeleted originating_change_time on '%s'zOn object %sz7ERROR: Attribute %s not present in replication metadataz-Fix missing replPropertyMetaData element '%s'rP   z4Not fixing missing replPropertyMetaData element '%s'rÅ  Úfsmoroleowner)r*   r+   rÃ   z'WARNING: parent object not found for %szFNot moving to LostAndFound (tombstone garbage collection in progress?)ÚrepsFromr2   r3   Úridsetreferencesr7   z,Allocate the missing RID set for RID master?r   z^No RID Set found for this server: %s, and we are not the RID Master (so can not self-allocate)ÚrIDAllocationPoolÚrIDPreviousAllocationPoolr)   l   ÿÿ z!Invalid RID pool %d-%d, %d >= %d!z No rIDAllocationPool found in %sz%s-%dz<SID=%s>zSID r!  z' conflicts with our current RID set in zFix conflict between SID z and RID pool in z by allocating a new RID?rh   zCouldn't get available RIDs: %srq  s                   )vr>   rÅ   rF  r   r½  r¾  r¶  r·  r;   rˆ   ro   r‰   rŒ   r�   rŽ   rn   r�   r�   rc  r¬   r…   rÈ  r   r™   r—   rI  r‹   r£   râ  rê  rÔ  rÆ   rå  rð  rú  r|  rý  rH  r  r¬  rº  r�  rž  rÄ  rj   r6  r	   rœ  r   rŠ   r�   rÀ  rD  r=   rW  rV  rì  rò  rø  rþ  rû  rÈ   rÉ   r>  r  r   r   r7  Ú$get_systemFlags_from_lDAPDisplayNameÚDS_FLAG_ATTR_NOT_REPLICATEDÚDS_FLAG_ATTR_IS_CONSTRUCTEDræ   ÚDSDB_SYNTAX_OR_NAMEÚDSDB_SYNTAX_STRING_DNr#  rh  rM  r[  r1  rç  re  Ú#SYSTEM_FLAG_DISALLOW_MOVE_ON_DELETErŒ  rÏ  rp   Úset_componentrá  Úget_rdn_valueÚ
ValueErrorrn  râ   ré   rê   rë   r'  Ú
differencerƒ  r(  rÇ  rš   r‚   rÕ  r“   r  r  r•   r"  r%  rx   r    rž   rÌ  Úcreate_own_rid_setrÐ  rÑ  r¡   Úfree_rid_boundsÚallocate_rid)Cr¤   r¬   rÄ   Úsearch_attrsr@  r¹  r¦   Úe10r©   rª   rŸ  rÍ   Úset_attrs_from_mdÚset_attrs_seenÚgot_objectclassÚnc_dnÚdeleted_objects_dnÚobject_rdn_attrÚobject_rdn_valrÝ  r@  r  Úrepl_meta_data_valr4  Úlist_attid_from_mdrw  r¨  r¸  Úwell_known_sdÚ
current_sdrP  r¿  rJ  Ú
userparamsrI  r  r  r5  rt  ÚflagrG  ræ  Ú	parent_dnrÃ   Úexpected_dnrv  Úshow_dnÚisDeletedAttIdÚexpectedTimeDoÚoriginatingr‚  rz  Úe11Údns_partÚlocationrØ  ÚlocÚ
pool_attrsÚ	pool_attrÚpoolÚhighÚlowÚnext_free_ridrø   ÚsidÚallocated_ridr!  sC   &&&                                                                r#   rÊ   Údbcheck.check_object)	  s½  € à�<�<ˆ<Ø�K‰KÐ,¨rÕ1Ô2ð "&×!:Ñ!:¸2Ó!OÑˆð	ØˆHØœ×.Ñ.Õ.ˆHØœ×.Ñ.Õ.ˆHØœ×-Ñ-Õ-ˆHØœ×-Ñ-Õ-ˆHà—*‘*×#Ñ#¨´3·>±>à(9Ø(9Ø(8Ø(7¸(Õ(BØ(<ð.&ð +7ð $ó 8ˆCô" ˆs‹8�qŒ=Ø�K‰KÐFÈÕKÔLÙØ�!�fˆØˆÜ›EÐÜ›ˆØˆà—
‘
×&Ñ& s§v¡vÓ.ˆð	&Ø!%×!=Ñ!=¸eÜ>C¿j¹j×>jÑ>jó"lÐð ˆØˆØˆØˆ	ØˆØ!ÐãˆHØ�~‰~Ó ;Ô.Ü�s˜8•} QÕ'Ó(¨GÔ3Ø $�Ià�~‰~Ó =Ô0Ü! # h¥-°Õ"2Ó3�à�~‰~ÓÐ#9Ö9Ø%(¨¥]°1Õ%5Ò"ñ ÷ ×+Ø×.Ñ.¨rÐ3E×FÒFØ˜qÕ �Ø×/Ñ/°Ð4FÔGØ"Ð"Ø×(Ñ(¨Ð-?×@Ò@Ø"Ð"äˆHØ˜4Ô 8Ð/BÔ#BÙà�~‰~Ó =Ô0Ø"&�à�~‰~Ó 6Ô)Ü�s˜8•}Ó%¨Ô*Ø×)Ò)¨QÕ.Õ)Ø—K‘KÐ SÜ!$ S¨¥]Ó!3°X¼sÀ3Ç6Á6»{Ð Kõ!Lõ Mô  # 3 x¥=°Õ#3Ó4�Hà�~‰~Ó¤3 s§v¡v×':Ñ':Ó'<Ó#=×#CÑ#CÓ#EÔEØ"*�Ü�s˜8•}Ó%¨Ô*Ø×)Ò)¨QÕ.Õ)Ø—K‘KÐ SÜ!$ S¨¥]Ó!3°X¼sÀ3Ç6Á6»{Ð Kõ!Lõ Mô &)¨¨X­°qÕ)9Ó%:�Nà�~‰~ÓÐ#9Õ9Ø×:Ñ:¸2À8½}ÈQÕ?O×PÒPØ 1Õ$�KØ×;Ñ;¸BÀÈ#ÈhÍ-ÐXYÕJZÔ[ðà×/Ñ/°¸µMÀ!Õ4DÓEñ JÐ&Ð(:¸Lô Ð(Ó)¬CÐ0BÓ,CÔCÜ˜,Ó'¨!Ô+ÜÐ/Ó0Ð4FÔFØ 1Õ$�KØ×9Ñ9¸"¸hÈÈHÍÐVWÕHXÐZfÕgð
 *¨!Õ,°Ô1Ø×-Ò-°Õ2Õ-ØŸšÛ%-¬s°2®wð%8ô 9ò à�~‰~ÓÐ#9Õ9Ø"&§/¡/°"Ó":‘��YØÒ(Ø×%Ñ% b¨"¨iÔ8Ø 1Õ$�KÚà—<‘<Ò'¨2¯<©<Ò+?Ø×-Ñ-¨b°"Ô5Ø 1Õ$�KÚàÐ+Ô+¨t×/I×/IÐ/Ið!Ø(,×(=Ñ(=¸bÓ(A˜ô ",¬H×,?Ñ,?Ø,/°­M¸!Õ,<ó">�Jð ,1Ð(Ø×5×5Ð5Ø/3Ð,ä'¨°zÜ(0×(8Ò(8¸¿¹×9RÑ9RÓ9TÓ(UØ=QôS�Dð ˜r”zØ×1Ñ1°"°mÀTÔJØ# qÕ(˜Ú Úà�~‰~Ó =Ô0Ø!ŸZ™Z×AÑAÀ$×BSÑBSÐU]Ð_bÐckÕ_lÓm�
ô ˜*Ó%¬°°HµÓ)>Ô>Ø  •m s¨8¥}°QÕ'7Ô7Ø  •n¨¨H­°bÕ(9Ô9Ø×7Ñ7¸¸HÄdÈ3ÈxÍ=ÓFYÔZØ 1Õ$�KÚà�~‰~ÓÐ#3Õ3Ø  �]¨1Õ-�
Ø Ô%Ø 1Õ$�KØ×1Ñ1°#°xÀÀXÅÔOÚà •_¨Ô7âà •_Ð(?Ô?à 1Õ$�KØ×2Ñ2°3¸À#ÀhÅ-ÔPÚð ! •m qÔ(Ø  •m qÔ(Ø  •m qÔ(Ø  •m qÔ(Ø  •m qÔ(ð   1Õ$�KØ×0Ñ0°°hÀÀHÅÔNÚä˜“_ qÕ(¨AÔ-à 1Õ$�KØ×/Ñ/°°XÔ>Úà  •m qÔ(Ø  •m qÔ(Ø  •m qÔ(Ø  •m qÔ(Ø  •m qÔ(ð   1Õ$�KØ×3Ñ3°C¸À3ÀxÅ=ÔQÚà�~‰~Ó =Ô0°H·N±NÓ4DÈÔ4SØ�x•= Õ# t×'BÑ'BÔBØ×)Ò)¨QÕ.Õ)Ø—K’KÛ#+¨S¯V¬V°S¸µ]À1×5EÐ5Eð!Gõ Hð ×/Ñ/×3Ñ3°C¸µMÀ!Õ4DÔEð ˜8—}�}�Ø˜#–:Ø×,Ñ,¨R°Ô:Ø 1Õ$�KÙñ	 %ðØ!×.Ñ.×RÑRÐS[Ó\�
ð )-×(MÑ(MÈhÓ(WÑ%ˆFÐ%à×$Ñ$×IÑIÈ(ÓSˆDØœ4×;Ñ;×;Ô;Øœt×?Ñ?×?Ô?ßØ×"Ñ" 8§>¡>Ó#3Ô4àœd×8Ñ8¼$×:RÑ:RÜ"×8Ñ8¼#¿-¹-ðIô Ið Ÿ}™}¨S°(¸JÓGÕG‘ô ›�à˜xŸ=˜=�CØ—J‘J˜s”Oà!%§¡×!EÑ!EÀd×FWÑFWÐYaÐdgÐchÓ!i�JÜ˜:“¨!Ô+¨z¸!­}ÀÖ/CØ×3Ñ3°B¸À#ÀhÅ-ÔPØ# qÕ(˜Ùñ )ô �s˜8•}Ó%¬¨V«Ô4Ø×-Ñ-¨b°(¸CÀ½MÌ4ÐPVË<ÔXØ 1Õ$�KÙà�~‰~Ó >×1Ø*.×*EÑ*EÀbÓ*IÐ'Ü�s˜>Õ*Ó+¨qÔ0´C¸¸NÕ8KÈAÕ8NÓ4OÐSj×4jØ 1Õ$�KØ×/Ñ/°Ð5L×Mñk ÷n  C¨8¤O°}ÈÔ7PØ˜1ÕˆKØ×(Ñ(¨Ô,à�8ŒO˜v¨Ô1ØÒØ×%Ò%¨Õ*Õ%Ø—‘ÐFÌ#ÈcÏfÉfË+ÕVÔWØÒ&Ø×%Ò%¨Õ*Õ%Ø—’ÈÏÉ×H[ÑH[ÖH]Ô_bÐcf×ciÑciÖ_jÐkÔlàÓØˆIØ)¨9Ð5ˆHßØ#¤e§j¡j×&TÑ&T×TÔTØ 2�IØÐ-´×0ZÑ0ZÕZÐ[Õ[�ØÒ ØŸF™FŸM™M›O�	ðNÜ!Ÿfšf T§Z¡Z°ÀÕ1KÓL�ð ×)Ñ)¨!¨S¯V©V×-@Ñ-@Ó-BÀHÔMà—6‘6Ð/Ô/Ø"%§&¡&�Kà #§&¡&Ô(Ø 1Õ$�KØ×%Ñ% c¨;¸Ø*¨H°hõ@à—V‘V×)Ñ)Ó+¨~Ô=Ø×)Ò)¨QÕ.Õ)Ø—K’KÃ_ÛESØEHÇVÄVð!Mô Nð ˆßÐØ�v‰vÐ+Ô+Ø!'�ð "5�Ø"×7Ñ7Ð8JÈNÓ[�Ø .Ô0Ø×'Ñ'Ð(WÔZ]Ð^`ÓZaÕ(aÐcv×wÒwÜ"Ÿ{š{›}˜Ø"$˜œÜ,/×,>Ò,>¸vÄs×G[ÑG[Ð]hÓ,i˜˜[Ñ)Ø# qÕ(˜ØŸ
™
×)Ñ)¨$¸-¸Ð)ÕIð Ÿ™Ð$ZÔ]`ÐacÓ]dÕ$dÔeà%×0Ñ0Ð1BÖC�ßØ—K‘K °Õ 3Ô4Ø#�GØ˜qÕ �Ø—‘ÐUÐX[Õ[Ô\Ø×'Ñ'Ð(WÐZ]Õ(]Ð_q×rÒrØ—K‘KÐ VÐY\Õ \Ô]ÙØ×!Ñ! # sÖ+ñ Dð ×Ñ˜R× Ò Ø cÔ)¨s°h¬À/ÐU]ÔB]Ø×)Ñ)¨#Ô.Ø˜qÕ �ð	Ø—Z‘Z×/Ñ/Ó1Ô1´c¸"¿)¹)»+Ó6FÈdÏkÉkÔ6YØ—j‘j×'Ñ'¨R¯Y©Y«[ÄÇÁØ2CÐEUÐ1Vð (ó X�ð ×0Ñ0Ô0°S¸H´_Ø×.Ñ.¨s×3Ò3Ø×0Ñ0°Ô5Ø˜qÕ �à#×2Ô2‰OˆX�sØ�XŽ~ *°Ö"3Ø6�Ø—:‘:×%Ñ%×'Ò'Ø=�Hà 3Ô&à×.Ñ.¨s°C·F±F¸HÔEØ 1Õ$�KÙà�Ø˜xŸ=˜=�CÜ˜3“x 4§:¡:×#?Ñ#?Ó#AÖAØ $šñ )÷ ‘uà×.Ñ.¨s°C·F±F¸HÔEØ 1Õ$’Kñ'  3ð* ×#Ñ#Ô#à�hŒÐ"4¸Ô"@Ø%¨SÔ0ð   1Õ$�Kà×)×)Ð)à×+Ñ+ð -:à,H÷Jò Jð !ŸJ™J×8Ñ8Ô:ð&Ø $§
¡
× =Ñ =Ô ?ð !ŸJ™J×9Ñ9Ô;øà!ŸZ™Z×/Ñ/×1Ò1ØŸ™ð %9à;=õ%>ô ?ð6 —‘Õ Ø-Ð/JÐKˆJà—*‘*×#Ñ#¨¯©ÄÇÁØ*4ð $ó 6ˆCó (�	Ø C¨¥FÔ*Ùä˜3˜q�6 )Õ,¨QÕ/Ó0�à˜r•z�Ø  4Õ'�à˜1–9 ¨¦Ø—K‘KÐ CØ!$ d¨C°Ð 6õ!7ô 8à×)Ò)¨QÕ.×)ñ (ð #¨#¨a­&Ô0Ø—‘Ð>ÀÕCÔDØ×%Ò%¨Õ*Õ%ð7+Ø&*§j¡j×&@Ñ&@Ó&BÑ#�˜tð "ŸZ™Z×6Ñ6Ó8�
Ø# tÕ+Ø! Z°Ð$?Õ?�Cð#Ø"Ÿj™j×/Ñ/°ZÀ#Õ5EÜ69·n±nØ68ð 0ó :˜ð ’ØŸšÛ7:¸CÀ½F¿I¼IÂrð%Kô Là# qÕ(˜à×+Ò+ó 03³Bð-8ð -G÷	Hò Hð
 !ŸJ™J×8Ñ8Ô:ð&Ø&*Ø48·J±J×4KÑ4KÓ4M MØ'4¸Ö'EØ8EÈÕ8I¨Ø(-ð
 !ŸJ™J×9Ñ9×;à!ð Ðð &¨Õ*›ðY ,ð\ Ðˆ{Ðøô_ �|‰|ô 	ØŸ8™8‰LˆTØ”s×-Ñ-Ô-Ø×&×&Ð&Ø—K‘KÐ KÈbÕ PÔQÝÝØûð	ûô* ô 	&ð "&Óð	&ûôB  ô Ø 1Õ$�KØ×7Ñ7¸¸HÀcÈ(ÅmÔTÛðûôH $ô !Û ð!ûôP ô Ø×*Ñ*¨3°Ô9Ø˜qÕ �ÞûðûôB ô 3Ø×%Ò%¨Õ*Õ%Ø—‘ÐAÀ)Àð M2ð 2÷ 3ò 3ûð3ûôv �|‰|ô 	ØŸ8™8‰LˆTØ”s×-Ñ-Ô-ßØ—K‘KÐ IÈSÏVÉVÕ TÔUØ—K‘Kð !N÷ Oò Oð ×+Ñ+¨CÔ0Ø 1Õ$–Kàûð	ûð|&Ø $§
¡
× =Ñ =Ô ?Ø %ûôR Ÿ<™<ô #Ø'(§v¡v™˜Ø¤3×#9Ñ#9Ô9Ø!Ø"žûð	#ûð<&Ø $§
¡
× =Ñ =Ô ?Ø %ûô_ —<‘<ô +Ø ŸX™X‘
�Ø—‘Ð=ÀÕDÔEØ×%Ò%¨Õ*×%Ñ%ðh Ðûðo+úsS  ¿BAV- Å*AX$ Ñ-#AX8×#AY.ç<AZ÷(AZ6 ÁB)BA[= ÁKA^ ÁQA`( ÁR$3A^? ÁUA` ÁU2	A` ÁV-AX!ÁW4AXÁW7AXÁXAXÁXAX!ÁX$AX5ÁX4AX5ÁX8.AY+ÁY*AY+ÁY.AY>ÁY=AY>ÁZAZ3ÁZAZ.ÁZ.AZ3ÁZ6A[:Á[.A[5Á[5A[:Á[=A^Á\*A^Á\=3A^Á]6A^Á^A^Á^A^Á^A^<Á^?A`Á_&A` Á` A`Á`A`%Á`(AbÁ`=?AbÁbAbc                ó’  € \         P                  ! V P                  R4      pV P                  '       d   V P	                  RV,          4       V P                  P                  V\         P                  R7      p\        V4      ^8w  d   V P	                  RV,          4       ^# V^ ,          p^ pRV9  d   V P	                  R4       V^,           # \        VR,          ^ ,          4      P                  R4      '       EgL   V P	                  R4       V^,          pV P                  R	4      '       g   V# V P                  P                  \         P                  ! V P                  VR,          ^ ,          P                  R
4      4      \         P                  R.R7      p\        \        \        P                  V^ ,          R,          ^ ,          4      4      p\         P                  ! 4       pWn        \         P"                  ! RV,          \         P$                  R4      VR&   V P'                  V. RRR7      '       d   V P	                  R4       V# )z!check the @ROOTDSE special objectz@ROOTDSErI  )r*   r+   z"Object %s disappeared during checkrÄ  z(ERROR: dsServiceName missing in @ROOTDSEz<GUID=z1ERROR: dsServiceName not in GUID form in @ROOTDSEz"Change dsServiceName to GUID form?r1   r  r)   rB  z+Failed to change dsServiceName to GUID formFrÛ   z"Changed dsServiceName to GUID form)ro   rp   r;   r>   rÅ   rˆ   r‰   r�   r‹   r	  r  r   r	   r   rÒ   ré   r¬   rê   rë   rì   )r¤   r¬   r¦   rŸ  rÍ   r�  r(  s   &      r#   rË   Údbcheck.check_rootdseU  s¾  € ä�VŠV�D—J‘J 
Ó+ˆØ�<�<ˆ<Ø�K‰KÐ,¨rÕ1Ô2Ø�j‰j×Ñ R¬s¯~©~ÐÓ>ˆÜˆs‹8�qŒ=Ø�K‰KÐ<¸rÕAÔBÙØ�!�fˆØˆð  #Ô%Ø�K‰KÐBÔCØ •?Ð"ä�3�Õ'¨Õ*Ó+×6Ñ6°x×@Ó@Ø�K‰KÐKÔLØ˜1ÕˆKØ—<‘<Ð D×EÒEØ"Ð"Ø—*‘*×#Ñ#¬¯ª°·
±
¸CÀÕ<PÐQRÕ<S×<ZÑ<ZÐ[aÓ<bÓ)cÜ*-¯.©.ÀÀð $ó PˆCäœ:¤d§i¡i°°Qµ¸Õ1EÀaÕ1HÓIÓJˆHÜ—’“ˆAØŒDÜ!$×!3Ò!3°KÀ(Õ4JÜ47×4HÑ4HÈ/ó"[ˆAˆoÑà�~‰~˜a Ð%RÐ]bˆ~×cÒcØ—‘Ð@ÔAØÐrÀ   c                óF  € \         P                  ! 4       p\         P                  ! V P                  R4      Vn        \         P
                  ! R\         P                  R4      VR&   \         P
                  ! R\         P                  R4      VR&   V P                  V. RRR7      # )	zre-index the whole databasez@ATTRIBUTESr  Úforce_reindexrÉ   r  zre-indexed databaseFrÛ   )	ro   ré   rp   r;   r¬   rê   rF  r=  rì   ©r¤   r(  s   & r#   Úreindex_databaseÚdbcheck.reindex_databasey  sw   € ä�KŠK‹MˆÜ�vŠv�d—j‘j -Ó0ˆŒÜ×(Ò(¨´×1AÑ1AÀ?ÓSˆˆ%‰Ü×(Ò(¨´×1DÑ1DÀoÓVˆˆ(‰Ø�~‰~˜a Ð%:ÀUˆ~ÓKÐKrÀ   c                óô   € \         P                  ! 4       p\         P                  ! V P                  R4      Vn        \         P
                  ! R\         P                  R4      VR&   V P                  V. RRR7      # )zOreset @MODULES to that needed for current sam.ldb (to read a very old database)z@MODULESÚ
samba_dsdbz@LISTzreset @MODULES on databaseFrÛ   )ro   ré   rp   r;   r¬   rê   rë   rì   r�  s   & r#   Úreset_modulesÚdbcheck.reset_modulesƒ  sY   € ä�KŠK‹MˆÜ�vŠv�d—j‘j *Ó-ˆŒÜ×'Ò'¨´c×6JÑ6JÈGÓTˆˆ'‰
Ø�~‰~˜a Ð%AÈEˆ~ÓRÐRrÀ   )Qr‘   rÈ   rk   rz   rB   r9   r“   r<   r‚   r•   rW   rl   r?   rG   rL   rM   rN   rH   rF   rP   rS   rU   r|   rE   rO   rT   rK   re   r€   rc   rd   rg   r^   r}   r   rZ   r[   r~   r`   rb   ra   r_   rY   rh   rQ   rR   rf   rn   rr   rž   rƒ   r]   r„   rt   r–   r”   ry   ri   rA   rX   rD   rC   rI   rJ   r:   rm   rj   rw   r¡   r;   r=   rv   r\   r    r�   r8   rÆ   r>   r{   r’   r@   )
NFFFFFFFFF)FF)T)Fr¸   )SÚ__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r¹   rµ   r…   ro   r$  rÏ   rÇ   rÅ   r  râ   r"  rì   r/  r7  r>  rM  rW  r[  rç   re  rn  rw  r…  rˆ  r�  r‘  r›  r   r£  r©  r°  rº  rÁ  rÇ  rÕ  rá  rç  rì  rò  rø  rû  rþ  r  r  r³  r=  rh  rk  rn  r|  rƒ  r‘  r—  r¬  rº  rÀ  rÄ  rÔ  rÚ  râ  rê  rð  rú  rý  r  r  r  r%  r(  r1  r6  rF  rÊ   rË   r�  r”  Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r#   r&   r&   8   sÎ  ø‡ € Ù)à€Oôyòvð !%¨C×,=Ñ,=ÈØ!ô%òNiòVô(Gòò*ôòò&	òAò>ò>>ò*Nò$Uò.ôIò.SòjIò@Iò Lò$]ò"Mò@EòEò GòFôHò(Cò&mò"!,òFAò*wòOònòpò iò4\ò
ò?:òBòBd4òLhòT	òò3ò,Bò .ò,ògòRJò"Jò*>ò>4òl  òDò2".òHò(#KòJ
ò]Gò~ò<Iò8<ò$òò$ò/ôbhòXòHL÷Sð SrÀ   r&   )%ro   rÈ  rÊ  Úbase64r   r   r   r   Úsamba.dcerpcr   r   Ú	samba.ndrr	   r
   r   Úsamba.samdbr   r   Úsamba.descriptorr   r   r   Ú
samba.authr   r   Úsamba.netcmdr   Úsamba.netcmd.fsmor   Úsamba.colourr   r   r   r   r$   rÎ   r&   © rÀ   r#   Ú<module>r¨     s[   ðó( Û Û ß 'Ý Ý Ý Ý  ß *Ý !Ý Ý !÷ñ ÷
 5Ý %Ý 0ß HÓ HòôP-Sˆfö P-SrÀ   