+
    -½iN  ã                   óB   € R t ^ RIHt . ROt^ RItR tR tRR ltR tR# )	aj  Class advice.

This module was adapted from 'protocols.advice', part of the Python
Enterprise Application Kit (PEAK).  Please notify the PEAK authors
(pje@telecommunity.com and tsarna@sarna.org) if bugs are found or
Zope-specific changes are required, so that the PEAK version of this module
can be kept in sync.

PEAK is a Python application framework that interoperates with (but does
not require) Zope 3 and Twisted.  It provides tools for manipulating UML
models, object-relational persistence, aspect-oriented programming, and more.
Visit the PEAK home page at http://peak.telecommunity.com for more information.
)ÚFunctionTypeNc                óÆ  € V P                   pV P                  pWJ pRV9   pRV9   pT;'       d    TpT;'       d    VR,          VR,          8H  pT;'       d/    \        P                  P	                  VR,          4      ;'       g    RpT;'       d    VP
                  VJ pV'       g   Rp	M3V'       d   V'       g   Rp	M V'       d   V'       g   Rp	MV'       g   Rp	MRp	W—W3# )	z|Return (kind,module,locals,globals) for a frame

'kind' is one of "exec", "module", "class", "function call", or "unknown".
Ú
__module__Ú__name__NÚexecÚmoduleÚclasszfunction callÚunknown)Úf_localsÚ	f_globalsÚsysÚmodulesÚgetÚ__dict__)
Úframer
   r   ÚsameNamespaceÚ	hasModuleÚhasNameÚsameNamer   ÚnamespaceIsModuleÚkinds
   &         Ú7/usr/lib/python3/dist-packages/zope/interface/advice.pyÚgetFrameInfor   )   sÏ   € ð �~‰~€HØ—‘€IàÐ)€MØ Ñ(€IØ˜IÑ%€Gà×$Ð$˜W€HØ×KÐK˜I jÕ1°X¸lÕ5KÑK€Hà×?Ð?œŸ™Ÿ™¨°:Õ)>Ó?×GÐGÀ4€Fà×?Ð? 6§?¡?°iÐ#?Ðçà‰ß	ŸyØ‰ß	Ÿ-Ø‰ßØ‰ð
 ˆØ˜Ð,Ð,ó    c                óJ   € \        V \        4      ;'       d    \        V R4      # )z(True if 'ob' is a class advisor functionÚpreviousMetaclass)Ú
isinstancer   Úhasattr)Úobs   &r   ÚisClassAdvisorr   N   s   € ä�bœ,Ó'×LÐL¬G°BÐ8KÓ,LÐLr   c           
     ó  € V  Uu. uF  p\        VR\        V4      4      NK  	  ppVe   VP                  V4       \        V4      ^8X  d
   V^ ,          # \	        V4      p\        V4      ^8”  d   \        RV 4      hV^ ,          # u upi )zEDetermine metaclass from 1+ bases and optional explicit __metaclass__Ú	__class__zIncompatible metatypes)ÚgetattrÚtypeÚappendÚlenÚminimalBasesÚ	TypeError)ÚbasesÚexplicit_mcÚbÚmetaÚ
candidatess   &&   r   ÚdetermineMetaclassr-   S   s‚   € ñ 7<Ó<±e°ŒG�A�{¤D¨£GÖ,±e€DÐ<àÒð 	�‰�KÔ ä
ˆ4ƒy�A„~à�A�wˆä˜dÓ#€Jä
ˆ:ƒ˜ÔäÐ0°%Ó8Ð8ð �a�=Ðùò% =s   …Bc                ó´   € . pV  FO  pV  F  p\        W24      '       g   K  W#Jg   K   K%  	  W!9   d   VP                  V4       VP                  V4       KQ  	  V# )z?Reduce a list of base classes to its ordered minimum equivalent)Ú
issubclassÚremover$   )Úclassesr,   ÚmÚns   &   r   r&   r&   k   sX   € à€JãˆÛˆAÜ˜!×Ô A¥JÚñ ð
 ŒØ×!Ñ! !Ô$Ø×Ñ˜aÖ ñ ð Ðr   )r-   r   r   r&   )N)	Ú__doc__Útypesr   Ú__all__r   r   r   r-   r&   © r   r   Ú<module>r8      s1   ðñõ ò€ó ò"-òJMô
ô0r   