ó
    Ï›‘h  ã            
       óä   • S r  " S S\5      r " S S5      r\" S\R                  \R
                  R                  5        V Vs0 s H  u  pU S;  d  M  X_M     snn 5      r " S S5      rgs  snn f )	a¬  Odd meta class that doesn't subclass type.

This is used for testing support for ExtensionClass in new interfaces.

  >>> class A(object):
  ...     __metaclass__ = MetaClass
  ...     a = 1
  ...
  >>> A.__name__
  'A'
  >>> A.__bases__ == (object,)
  True
  >>> class B(object):
  ...     __metaclass__ = MetaClass
  ...     b = 1
  ...
  >>> class C(A, B): pass
  ...
  >>> C.__name__
  'C'
  >>> int(C.__bases__ == (A, B))
  1
  >>> a = A()
  >>> aa = A()
  >>> a.a
  1
  >>> aa.a
  1
  >>> aa.a = 2
  >>> a.a
  1
  >>> aa.a
  2
  >>> c = C()
  >>> c.a
  1
  >>> c.b
  1
  >>> c.b = 2
  >>> c.b
  2
  >>> C.c = 1
  >>> c.c
  1

  >>> int(C.__class__.__class__ is C.__class__)
  1
c                   ó   • \ rS rSrS rSrg)ÚMetaMetaClasséB   c                 ó<   • US:X  a  U $ [         R                  X5      $ ©NÚ	__class__)ÚtypeÚ__getattribute__)ÚclsÚnames     Ú\C:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\zope/interface/tests/odd.pyr	   ÚMetaMetaClass.__getattribute__D   s    € Ø�;ÓØˆJä×$Ñ$ SÓ/Ð/ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r	   Ú__static_attributes__r   r   r   r   r   B   s   † õ0r   r   c                   ó0   • \ rS rSrSrS rS rS rS rSr	g)	Ú	MetaClasséK   zOdd classes
    c                 óR   • Xl         X l        U R                  R                  U5        g ©N)r   Ú	__bases__Ú__dict__Úupdate)Úselfr   ÚbasesÚdicts       r   Ú__init__ÚMetaClass.__init__O   s   € ØŒØŒØ�‰×Ñ˜TÕ"r   c                 ó   • [        U 5      $ r   )ÚOddInstance©r   s    r   Ú__call__ÚMetaClass.__call__T   s   € Ü˜4Ó Ð r   c                 óf   • U R                    H  n[        X!U 5      nX0Ld  M  Us  $    [        U5      er   )r   ÚgetattrÚAttributeError)r   r   ÚbÚvs       r   Ú__getattr__ÚMetaClass.__getattr__W   s3   € Ø—”ˆAÜ˜ Ó&ˆAØŒ}Ø’ñ  ô ˜TÓ"Ð"r   c                 óL   • SU R                    S[        [        U 5      5       S3$ )Nz<odd class z at Ú>)r   ÚhexÚidr$   s    r   Ú__repr__ÚMetaClass.__repr__^   s#   € Ø˜TŸ]™]˜O¨4´´B°t³H³¨¸aÐ@Ð@r   )r   r   N)
r   r   r   r   Ú__doc__r    r%   r,   r2   r   r   r   r   r   r   K   s   † ñò#ò
!ò#õAr   r   ©r   c                   ó2   • \ rS rSrS rS rS rS rS rSr	g)	r#   él   c                 ó    • XR                   S'   g r   r5   )r   r
   s     r   r    ÚOddInstance.__init__n   s   € Ø%(�‰�kÒ"r   c                 óŠ   • [         R                  U S5      nUS:X  a  U$ UR                  X5      nX0La  U$ [        US   U5      $ )Nr   r   )Úobjectr	   Úgetr(   )r   r   r   r+   s       r   r	   ÚOddInstance.__getattribute__q   sK   € Ü×&Ñ& t¨ZÓ8ˆØ�:ÓØˆKØ�H‰H�TÓ ˆØŠ=ØˆHÜ�t˜KÑ(¨$Ó/Ð/r   c                 ó    • X R                   U'   g r   r5   )r   r   r+   s      r   Ú__setattr__ÚOddInstance.__setattr__z   s   € Ø�‰�dÒr   c                 ó   • [        5       er   )ÚNotImplementedError)r   r   s     r   Ú__delattr__ÚOddInstance.__delattr__}   s   € Ü!Ó#Ð#r   c                 ór   • SR                  U R                  R                  [        [	        U 5      5      5      $ )Nz<odd {} instance at {}>)Úformatr   r   r0   r1   r$   s    r   r2   ÚOddInstance.__repr__€   s,   € Ø(×/Ñ/Ø�N‰N×#Ñ#¤S¬¨D«£]ó4ð 	4r   r   N)
r   r   r   r   r    r	   r?   rC   r2   r   r   r   r   r#   r#   l   s   † ò)ò0ò ò$õ4r   r#   N)r4   r   r   r   r   r   Úitemsr#   )Úkr+   s   00r   Ú<module>rJ      s‚   ðñ/ôh0�Dô 0÷Añ Añ. ØØ×Ñà"×+Ñ+×1Ñ1Ô3ôÚ3‘�Ø�MÑ!ó 	ˆŠÑ3òó€	÷4ò 4ùós   ÁA,ÁA,