+
    -i;                     &   R t ^ RIt^ RIt^ RIt^ RIt ! R R]P                  4      t ! R R]P                  4      t ! R R]P                  4      t	 ! R R	4      t
 ! R
 R]	4      t ! R R]P                  4      t ! R R]P                  4      tR# )z!Resolution ordering utility testsNc                   >   a  ] tR t^t o R tR tR tR tR tRt	V t
R# )Test__mergeOrderingsc                    ^ RI Hp V! V4      # )    )_legacy_mergeOrderings)zope.interface.ror   )self	orderingsr   s   && >/usr/lib/python3/dist-packages/zope/interface/tests/test_ro.py_callFUTTest__mergeOrderings._callFUT   s    <%i00    c                H    V P                  V P                  . 4      . 4       R # NassertEqualr   r   s   &r
   
test_emptyTest__mergeOrderings.test_empty    s    r*B/r   c                P    V P                  V P                  . RO4      . RO4       R# )aN)r   bcr   r   s   &r
   test_single Test__mergeOrderings.test_single#   s    7Ir   c                V    V P                  V P                  R .RR ..4      RR .4       R# )r   r   Nr   r   s   &r
   test_w_duplicates&Test__mergeOrderings.test_w_duplicates&   s*    Sz':;c3ZHr   c                n    . ROpRR.p. ROpR.pV P                  V P                  WW4.4      . RO4       R# )xzqN)r   yr    )         )r   r"   r!   r#   r$   r%   r    r   )r   O1O2O3O4s   &    r
   &test_suffix_across_multiple_duplicates;Test__mergeOrderings.test_suffix_across_multiple_duplicates)   s=    3ZU'786	8r    N)__name__
__module____qualname____firstlineno__r   r   r   r   r*   __static_attributes____classdictcell____classdict__s   @r
   r   r      s%     10JI8 8r   r   c                   >   a  ] tR t^2t o R tR tR tR tR tRt	V t
R# )Test__flattenc                    ^ RI Hp V! V4      # )r   )_legacy_flatten)r   r8   )r   obr8   s   && r
   r   Test__flatten._callFUT4   s    5r""r   c                z     ! R  R4      pV! 4       pRVn         V P                  V P                  V4      V.4       R# )c                       ] tR t^:tRtR# )-Test__flatten.test_w_empty_bases.<locals>.Foor,   Nr-   r.   r/   r0   r1   r,   r   r
   Foor=   :       r   r?   Nr,   	__bases__r   r   r   r?   foos   &  r
   test_w_empty_bases Test__flatten.test_w_empty_bases8   7    	 	 es+cU3r   c                h     ! R  R4      pV P                  V P                  V4      V\        .4       R# )c                       ] tR t^CtRtR# )-Test__flatten.test_w_single_base.<locals>.Foor,   Nr>   r,   r   r
   r?   rJ   C   r@   r   r?   Nr   r   objectr   r?   s   & r
   test_w_single_base Test__flatten.test_w_single_baseA   +    	 	 	s+c6];r   c                ~     ! R  R4      p ! R RV4      pV P                  V P                  V4      W!\        .4       R# )c                       ] tR t^JtRtR# )'Test__flatten.test_w_bases.<locals>.Foor,   Nr>   r,   r   r
   r?   rS   J   r@   r   r?   c                       ] tR t^MtRtR# )'Test__flatten.test_w_bases.<locals>.Barr,   Nr>   r,   r   r
   BarrU   M   r@   r   rV   NrK   r   r?   rV   s   &  r
   test_w_basesTest__flatten.test_w_basesH   8    	 		# 	 	s+c-?@r   c           
          ! R  R4      p ! R RV4      p ! R RV4      p ! R RW#4      pV P                  V P                  V4      WBV\        W1\        .4       R# )	c                       ] tR t^TtRtR# ))Test__flatten.test_w_diamond.<locals>.Foor,   Nr>   r,   r   r
   r?   r]   T   r@   r   r?   c                       ] tR t^WtRtR# ))Test__flatten.test_w_diamond.<locals>.Barr,   Nr>   r,   r   r
   rV   r_   W   r@   r   rV   c                       ] tR t^ZtRtR# ))Test__flatten.test_w_diamond.<locals>.Bazr,   Nr>   r,   r   r
   Bazra   Z   r@   r   rb   c                       ] tR t^]tRtR# ))Test__flatten.test_w_diamond.<locals>.Quxr,   Nr>   r,   r   r
   Quxrd   ]   r@   r   re   NrK   r   r?   rV   rb   re   s   &    r
   test_w_diamondTest__flatten.test_w_diamondR   sZ    	 		# 		# 		# 	 	s+C6B	Dr   r,   N)r-   r.   r/   r0   r   rE   rN   rX   rg   r1   r2   r3   s   @r
   r6   r6   2   s&     #4<AD Dr   r6   c                   T   a  ] tR t^dt o RtR tR tR tR tR t	R t
R tR	 tR
tV tR# )Test_roNc                     ^ RI Hp V! V3/ VB # )r   )
_legacy_ro)r   rl   )r   r9   kwargsrl   s   &&, r
   r   Test_ro._callFUTg   s    0"'''r   c                z     ! R  R4      pV! 4       pRVn         V P                  V P                  V4      V.4       R# )c                       ] tR t^mtRtR# )'Test_ro.test_w_empty_bases.<locals>.Foor,   Nr>   r,   r   r
   r?   rq   m   r@   r   r?   Nr,   rA   rC   s   &  r
   rE   Test_ro.test_w_empty_basesk   rG   r   c                h     ! R  R4      pV P                  V P                  V4      V\        .4       R# )c                       ] tR t^vtRtR# )'Test_ro.test_w_single_base.<locals>.Foor,   Nr>   r,   r   r
   r?   ru   v   r@   r   r?   NrK   rM   s   & r
   rN   Test_ro.test_w_single_baset   rP   r   c                ~     ! R  R4      p ! R RV4      pV P                  V P                  V4      W!\        .4       R# )c                       ] tR t^}tRtR# )!Test_ro.test_w_bases.<locals>.Foor,   Nr>   r,   r   r
   r?   ry   }   r@   r   r?   c                       ] tR t^tRtR# )!Test_ro.test_w_bases.<locals>.Barr,   Nr>   r,   r   r
   rV   r{      r@   r   rV   NrK   rW   s   &  r
   rX   Test_ro.test_w_bases{   rZ   r   c                     ! R  R4      p ! R RV4      p ! R RV4      p ! R RW#4      pV P                  V P                  V4      WBW1\        .4       R# )	c                       ] tR t^tRtR# )#Test_ro.test_w_diamond.<locals>.Foor,   Nr>   r,   r   r
   r?   r      r@   r   r?   c                       ] tR t^tRtR# )#Test_ro.test_w_diamond.<locals>.Barr,   Nr>   r,   r   r
   rV   r      r@   r   rV   c                       ] tR t^tRtR# )#Test_ro.test_w_diamond.<locals>.Bazr,   Nr>   r,   r   r
   rb   r      r@   r   rb   c                       ] tR t^tRtR# )#Test_ro.test_w_diamond.<locals>.Quxr,   Nr>   r,   r   r
   re   r      r@   r   re   NrK   rf   s   &    r
   rg   Test_ro.test_w_diamond   sU    	 		# 		# 		# 	 	s+Cf5	7r   c                     ! R  R4      pV! R4      pV! RV4      pV! RV4      pV! RV4      pV! RV4      pV! RWEV4      pWwWVWCV.3# )c                   ,   a  ] tR t^t o R tR tRtV tR# ) Test_ro._make_IOErr.<locals>.Fooc                    Wn         W n        R # r   r-   rB   )r   namebasess   &&*r
   __init__)Test_ro._make_IOErr.<locals>.Foo.__init__        $!&r   c                    V P                   # r   r-   r   s   &r
   __repr__)Test_ro._make_IOErr.<locals>.Foo.__repr__       }}$r   rB   r-   N)r-   r.   r/   r0   r   r   r1   r2   r3   s   @r
   r?   r      s     '% %r   r?   IExIStdErrIEnvErrIIOErrIOSErrIOErrr,   )r   r?   r   r   r   r   r   r   s   &       r
   _make_IOErrTest_ro._make_IOErr   sg    	% 	% %ji%i)Xw'Xw'GWf5fgDDDr   c                l    V P                  4       w  rV P                  V P                  V4      V4       R # r   )r   r   r   )r   r   r   s   &  r
   test_non_orderableTest_ro.test_non_orderable   s+    '')u-u5r   c                `   ^ RI Hp ^ RI Hp ^ RI Hp ^ RI Hp  ! R RV4      pV! V4       ! R R4      4       p ! R	 R
V4      p ! R R4      p ! R RWx4      p	V P                  V P                  V! V	! 4       4      4      V! V	4      V! V4      V! V4      VVV! V4      V! \        4      .4       R# )r   	Interface)implementedBy)implementer
providedByc                       ] tR t^tRtR# )?Test_ro.test_mixed_inheritance_and_implementation.<locals>.IFoor,   Nr>   r,   r   r
   IFoor      r@   r   r   c                       ] tR t^tRtR# )HTest_ro.test_mixed_inheritance_and_implementation.<locals>.ImplementsFoor,   Nr>   r,   r   r
   ImplementsFoor      s    r   r   c                       ] tR t^tRtR# )ETest_ro.test_mixed_inheritance_and_implementation.<locals>.ExtendsFoor,   Nr>   r,   r   r
   
ExtendsFoor      r@   r   r   c                       ] tR t^tRtR# )LTest_ro.test_mixed_inheritance_and_implementation.<locals>.ImplementsNothingr,   Nr>   r,   r   r
   ImplementsNothingr      r@   r   r   c                       ] tR t^tRtR# )VTest_ro.test_mixed_inheritance_and_implementation.<locals>.ExtendsFooImplementsNothingr,   Nr>   r,   r   r
   ExtendsFooImplementsNothingr      r@   r   r   N)zope.interfacer   r   r   r   r   r   rL   )
r   r   r   r   r   r   r   r   r   r   s
   &         r
   )test_mixed_inheritance_and_implementation1Test_ro.test_mixed_inheritance_and_implementation   s     	-0.-	9 	 
T		 	 
		 		 		* 	 	MM*%@%BCD67:&=),-6"$	%r   r,   )r-   r.   r/   r0   maxDiffr   rE   rN   rX   rg   r   r   r   r1   r2   r3   s   @r
   rj   rj   d   s9     G(4<A7"E,6
!% !%r   rj   c                   2   a  ] tR t^t o R tR tR tRtV tR# )	C3Settingc                    Wn         W n        R # r   _setting_value)r   settingvalues   &&&r
   r   C3Setting.__init__   s    r   c                |    ^ RI Hp \        VP                  V P                  P
                  V P                  4       R# r   roN)r   r   setattrC3r   r-   r   )r   r   s   & r
   	__enter__C3Setting.__enter__   s#    %t}}--t{{;r   c                |    ^ RI Hp \        VP                  V P                  P
                  V P                  4       R# r   )r   r   r   r   r   r-   )r   tvtbr   s   &&&& r
   __exit__C3Setting.__exit__   s#    %t}}--t}}=r   r   N)	r-   r.   r/   r0   r   r   r   r1   r2   r3   s   @r
   r   r      s     <> >r   r   c                   n   a a ] tR t^t oR tR tR tR tR tR t	R t
R tR	 tR
 tV 3R ltRtVtV ;t# )
Test_c3_roc                    \         P                  V 4       ^ RIHp V! R4      ;V n        pV P                  VP                  4       R# )r   )InstalledHandlerzzope.interface.roN)rj   setUpzope.testing.loggingsupportr   log_handler
addCleanup	uninstall)r   r   handlers   &  r
   r   Test_c3_ro.setUp   s6    d@%56I%JJ7))*r   c                     ^ RI Hp V! V3/ VB # )r   r   )r   r   )r   r9   rm   r   s   &&, r
   r   Test_c3_ro._callFUT   s    ("r   c                    ! R  RV4      p ! R RV4      p ! R RV4      p ! R RWB4      p ! R R	WC4      p ! R
 RWe4      p\        VR4      '       d0   V P                  VP                  4       V P                  V4      4       V# )c                       ] tR t^tRtR# )+Test_c3_ro._make_complex_diamond.<locals>.Fr,   Nr>   r,   r   r
   Fr      r@   r   r   c                       ] tR t^tRtR# )+Test_c3_ro._make_complex_diamond.<locals>.Er,   Nr>   r,   r   r
   Er      r@   r   r   c                       ] tR t^tRtR# )+Test_c3_ro._make_complex_diamond.<locals>.Dr,   Nr>   r,   r   r
   Dr      r@   r   r   c                       ] tR t^tRtR# )+Test_c3_ro._make_complex_diamond.<locals>.Cr,   Nr>   r,   r   r
   Cr      r@   r   r   c                       ] tR t^tRtR# )+Test_c3_ro._make_complex_diamond.<locals>.Br,   Nr>   r,   r   r
   Br      r@   r   r   c                       ] tR tRtRtR# )+Test_c3_ro._make_complex_diamond.<locals>.Ai  r,   Nr>   r,   r   r
   Ar     r@   r   r   mro)hasattrr   r   r   )r   baser   r   r   r   r   r   s   &&      r
   _make_complex_diamond Test_c3_ro._make_complex_diamond   s}    	 		 		 		 		 		 	 1eQUUWdmmA&67r   c                0    V P                  \        4       R # r   )r   rL   r   s   &r
   test_complex_diamond_object&Test_c3_ro.test_complex_diamond_object
  s    ""6*r   c                    ^ RI Hp V P                  V4      pT P                  VP                   Uu. uF  q3P
                  NK  	  up. RO4       R# u upi )r   r   N)r   r   r   r   r   r   r   )r   r   r   r   __iro__r-   )r   r   IAr   s   &   r
   test_complex_diamond_interface)Test_c3_ro.test_complex_diamond_interface  sA    ,''	2!#,AZZ,7	
,s   Ac                    ^ RI Hp V P                  V4      pV P                  VRR7      pV P	                  VP
                  V4       V P                  4        R# )r   r   T)use_legacy_roN)r   r   r   r   assertNotEqualr   _check_handler_complex_diamond)r   r   r   legacy_A_iros   &   r
   (test_complex_diamond_use_legacy_argument3Test_c3_ro.test_complex_diamond_use_legacy_argument  sI    ,&&y1}}Qd};AII|4 	++-r   c                    ^ RI Hp V P                  V4      pV P                  VRR7      pV P	                  \        V4      VP                  4       V P                  4        R# )r   r   T)log_changed_roN)r   r   r   r   r   tupler   r  )r   r   r   computed_A_iros   &   r
   ,test_complex_diamond_compare_legacy_argument7Test_c3_ro.test_complex_diamond_compare_legacy_argument!  sL    ,&&y1q>~.		:++-r   c           	        V P                   pV P                  ^\        VP                  4      4       VP                  ^ ,          pRP	                  RR7      p\
        P                  P                  P                  \        P                  ! R4      R3\        P                  ! R4      R3\        P                  ! R4      R3\        P                  ! R	4      R
3\        P                  ! R4      R3.4      pRP                  R VP                  4       P                  4        4       4      pV P                  VP                  W5^ 4      VP!                  \"        P$                  ! WS4      V^ 4      4       R# )r#   an  Object <InterfaceClass {name}> has different legacy and C3 MROs:
  Legacy RO (len=7)            C3 RO (len=7; inconsistent=no)
  ========================================================
    interface.tests.test_ro.A    interface.tests.test_ro.A
    interface.tests.test_ro.B    interface.tests.test_ro.B
  - interface.tests.test_ro.E
    interface.tests.test_ro.C    interface.tests.test_ro.C
    interface.tests.test_ro.D    interface.tests.test_ro.D
                               + interface.tests.test_ro.E
    interface.tests.test_ro.F    interface.tests.test_ro.F
    interface.Interface          interface.Interfacezinterface.tests.test_ro.A)r   zzope\. z5Legacy RO \(len=7\) +C3 RO \(len=7; inconsistent=no\)z1Legacy RO (len=7)  C3 RO (len=7; inconsistent=no)z=+z +\+z    +z*interface\.Interface +interface\.Interfacez(interface.Interface  interface.Interface
c              3   @   "   T F  qP                  4       x  K  	  R # 5ir   )rstrip).0lns   & r
   	<genexpr><Test_c3_ro._check_handler_complex_diamond.<locals>.<genexpr>K  s     O.N		.Ns   N)r   r   lenrecordsformatzopetestingrenormalizingOutputCheckerrecompilejoin
getMessage
splitlines
assertTruecheck_outputoutput_differencedoctestExample)r   r   recordexpectedcheckergots   &     r
   r  )Test_c3_ro._check_handler_complex_diamond*  s?   ""C01#8 9?, 9? 9
 	 ,,,,::ZZ	"B'ZZHJ@B ZZ#ZZ '*ZZEF79<
 
 iiOf.?.?.A.L.L.NOO  q"#*#<#<#$'$,	-r   c                @   ^ RI Hp  ! R R4      pV! RR/ 4      p ! R RV4      p ! R RV4      p ! R	 R
V4      p ! R RV4      pV! R4      pV! RWvV34      p	V! RWVV	34      p
V P                  V
RRR7      pV P                  VV
VV	VVVVV.4       V P                  P
                  w  pV P                  RVP                  4       4       V P                  VP                  4      ;_uu_ 4        V P                  V
RR7       RRR4       R#   + '       g   i     R# ; i)r   r   c                   4   a  ] tR tRt o RtRR ltR tRtV tR# )UTest_c3_ro.test_ExtendedPathIndex_implement_thing_implementedby_super.<locals>._BasediX  Nc                    Wn         W n        R # r   r   )r   r   r   attrss   &&&&r
   r   ^Test_c3_ro.test_ExtendedPathIndex_implement_thing_implementedby_super.<locals>._Based.__init__[  r   r   c                    V P                   # r   r   r   s   &r
   r   ^Test_c3_ro.test_ExtendedPathIndex_implement_thing_implementedby_super.<locals>._Based.__repr___  r   r   r   r,   )r,   N)	r-   r.   r/   r0   rB   r   r   r1   r2   r3   s   @r
   _Basedr.  X  s     I'% %r   r4  r   c                       ] tR tRtRtR# )^Test_c3_ro.test_ExtendedPathIndex_implement_thing_implementedby_super.<locals>.IPluggableIndexid  r,   Nr>   r,   r   r
   IPluggableIndexr6  d  r@   r   r7  c                       ] tR tRtRtR# )bTest_c3_ro.test_ExtendedPathIndex_implement_thing_implementedby_super.<locals>.ILimitedResultIndexig  r,   Nr>   r,   r   r
   ILimitedResultIndexr9  g  r@   r   r:  c                       ] tR tRtRtR# )ZTest_c3_ro.test_ExtendedPathIndex_implement_thing_implementedby_super.<locals>.IQueryIndexij  r,   Nr>   r,   r   r
   IQueryIndexr<  j  r@   r   r=  c                       ] tR tRtRtR# )YTest_c3_ro.test_ExtendedPathIndex_implement_thing_implementedby_super.<locals>.IPathIndexim  r,   Nr>   r,   r   r
   
IPathIndexr?  m  r@   r   r@  rL   	PathIndexExtendedPathIndexTF)r  strictzused the legacyrC  Nr,   )
r   r   r   r   r   r  assertInr   assertRaises InconsistentResolutionOrderError)r   r   r4  r   r7  r:  r=  r@  objrA  rB  resultr'  s   &            r
   :test_ExtendedPathIndex_implement_thing_implementedby_superETest_c3_ro.test_ExtendedPathIndex_implement_thing_implementedby_superR  s6    	&	% 	% ;B/		i 		/ 		/ 		 	 X;#(FG	 # y9
 d5  
 	" 	 ""**'):):)<=rBBCCMM+DM9 DCCCs   .DD	c           	        ^ RI Hp ^ RIHp V P	                  \        V! \        4       4      P                  4       4      VP                  VP                  VP                  VP                  VP                  VP                  .4       R# )r   r   )
interfacesN)r   r   zope.interface.commonrM  r   listOSError	flattenedIOSErrorIIOErrorIEnvironmentErrorIStandardError
IExceptionr   )r   r   rM  s   &  r
   test_OSError_IOErrorTest_c3_ro.test_OSError_IOError  si    -4GI&0023####,,))%%$$		r   c                  < ^ RI p^ RIHp  V=VP                  4       ;_uu_ 4        VP                  R4       \        VP                  P                  R4      ;_uu_ 4        \        VP                  P                  R4      ;_uu_ 4        V P                  VP                  4      ;_uu_ 4        \        SV `9  4        RRR4       RRR4       RRR4       RRR4       V P                  4       w  r4V P                  VP                   4      ;_uu_ 4        V P#                  VRR7       RRR4       \        VP                  P$                  R4      ;_uu_ 4        \        VP                  P                  R4      ;_uu_ 4        VP                  4       ;_uu_ 4        VP                  R4       V P#                  V4       RRR4       V P'                  W2P                  P(                  4       RRR4       RRR4       V P#                  VRR7      pV P#                  VRRR7      pV P+                  WV4       R#   \         d     EL1i ; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELw; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i)	r   Nr   errorTFrD  ignore)r  rC  )warningsr   r   __warningregistry__AttributeErrorcatch_warningssimplefilterr   r   WARN_BAD_IRO
STRICT_IROrF  "InconsistentResolutionOrderWarningsuperr   r   rG  r   TRACK_BAD_IROrE  BAD_IROSr   )r   r\  r   r   _iro
legacy_iro	__class__s   &      r
   r   Test_c3_ro.test_non_orderable  s   %	& $$&&!!'*""D   %  &&r'L'LMMG.0 N ' ##%rBBCCMM%M- D EE
 
EEe
 
 ((**%%h/e$ + MM%0

 mmE%m0]]5U]K
);  		 NMM     '&& DCC +*
 

 
s   H2 :J !)I,	
$I.I=II,	J J)K?J;	#J(;-J;	(K2I II	II)#	I,	,I=7	J  J	J%	(J83J;	;KKK	)r   )r-   r.   r/   r0   r   r   r   r   r   r  r  r  rJ  rW  r   r1   r2   __classcell__)rj  r4   s   @@r
   r   r      sD     + 4+
..&-PC:J$* $*r   r   c                   6   a  ] tR tRt o RR ltR tR tRtV tR# )TestC3i  Nc                2    ^ RI Hp VP                  WV4      # )r   )r   )r   r   resolver)r   r   rC  	base_mrosr   s   &&&& r
   _makeOneTestC3._makeOne  s    ({{1i00r   c                F   V P                  \        V 4      \        P                  \        P                  P                  /R 7      pVP
                  pV P                  \        P                  V4       V P                  V\        P                  ,          P                  4       R# ))rq  N)	rr  typeunittestTestCase__mro__memorE  assertIsNonehad_inconsistency)r   c3ry  s   &  r
   test_base_mros_givenTestC3.test_base_mros_given  st    ]]J(((*;*;*C*CD  
 wwh''.$x001CCDr   c                    V P                  \        V 4      4      pV P                  VP                  4       R Vn        V P                  VP                  4       \        \        V 4      P                  4      4       R # r   )	rr  ru  assertIsNotNone_C3__mro_merger   r   rO  rx  )r   r|  s   & r
   test_one_base_optimization!TestC3.test_one_base_optimization  sT    ]]4:& 	R[[)	4T
(:(:#;<r   r,   )FN)	r-   r.   r/   r0   rr  r}  r  r1   r2   r3   s   @r
   rn  rn    s     1E= =r   rn  c                   D   a  ] tR tRt o  ! R R4      tRR ltR tRtV tR# )	Test_ROComparisoni  c                       ] tR tRtRtRtRtR# )Test_ROComparison.MockC3i  Fr,   N)r-   r.   r/   r0   direct_inconsistencybases_had_inconsistencyr1   r,   r   r
   MockC3r    s    $"'r   r  Nc                P    ^ RI Hp T! T;'       g    V P                  4       W#4      # )r   )_ROComparison)r   r  r  )r   r|  c3_ro	legacy_ror  s   &&&& r
   rr  Test_ROComparison._makeOne  s     3R004;;=%CCr   c                l   V P                  4       pV P                  R VP                  4       RVP                  n        V P                  RVP                  4       RVP                  n        V P                  RVP                  4       RVP                  n        V P                  RVP                  4       R# )noTdirectzdirect+basesFr   N)rr  r   _inconsistent_labelr|  r  r  )r   comps   & r
   test_inconsistent_label)Test_ROComparison.test_inconsistent_label  s    }}t778'+$4#;#;<*.')A)AB',$$":":;r   r,   )Nr,   r,   )	r-   r.   r/   r0   r  rr  r  r1   r2   r3   s   @r
   r  r    s     ( (D< <r   r  )__doc__r%  r  rv  zope.testing.renormalizingr  rw  r   r6   rj   r   r   rn  r  r,   r   r
   <module>r     s    (  	  !88,, 80/DH%% /Ddn%h n%b> >f* f*R=X =0<)) <r   