§
    Çtºf—  ã                   óÀ   — d Z  G d„ de¦  «        Z G d„ d¦  «        Z edej        d„ ej                             ¦   «         D ¦   «         ¦  «        Z G d„ d¦  «        ZdS )	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                   ó   — e Zd Zd„ ZdS )ÚMetaMetaClassc                 óH   — |dk    r| S t                                | |¦  «        S ©NÚ	__class__)ÚtypeÚ__getattribute__)ÚclsÚnames     úW/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/zope/interface/tests/odd.pyr   zMetaMetaClass.__getattribute__D   s(   € Ø�;ÒÐØˆJå×$Ò$ S¨$Ñ/Ô/Ð/ó    N)Ú__name__Ú
__module__Ú__qualname__r   © r   r   r   r   B   s#   € € € € € ð0ð 0ð 0ð 0ð 0r   r   c                   ó*   — e Zd ZdZd„ Zd„ Zd„ Zd„ ZdS )Ú	MetaClasszOdd classes
    c                 óV   — || _         || _        | j                             |¦  «         d S ©N)r   Ú	__bases__Ú__dict__Úupdate)Úselfr
   ÚbasesÚdicts       r   Ú__init__zMetaClass.__init__O   s,   € ØˆŒØˆŒØŒ×Ò˜TÑ"Ô"Ð"Ð"Ð"r   c                 ó    — t          | ¦  «        S r   )ÚOddInstance©r   s    r   Ú__call__zMetaClass.__call__T   s   € Ý˜4Ñ Ô Ð r   c                 óf   — | j         D ]}t          ||| ¦  «        }|| ur|c S Œt          |¦  «        ‚r   )r   ÚgetattrÚAttributeError)r   r
   ÚbÚvs       r   Ú__getattr__zMetaClass.__getattr__W   sI   € Ø”ð 	ð 	ˆAÝ˜˜4 Ñ&Ô&ˆAØ˜ˆ}ˆ}Ø���ð å˜TÑ"Ô"Ð"r   c                 óR   — d| j         › dt          t          | ¦  «        ¦  «        › d�S )Nz<odd class z at ú>)r   ÚhexÚidr   s    r   Ú__repr__zMetaClass.__repr__^   s)   € Ø@˜Tœ]Ð@Ð@µµB°t±H´H±´Ð@Ð@Ð@Ð@r   N)r   r   r   Ú__doc__r   r   r%   r*   r   r   r   r   r   K   s_   € € € € € ðð ð#ð #ð #ð
!ð !ð !ð#ð #ð #ðAð Að Að Að Ar   r   c                 ó"   — i | ]\  }}|d v¯	||“ŒS )©r   r   )Ú.0Úkr$   s      r   ú
<dictcomp>r0   e   s3   € ð ð ð Ù��AØ�MÐ!Ð!ð 	
ˆ1Ø!Ð!Ð!r   c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )r   c                 ó   — || j         d<   d S r   r-   )r   r	   s     r   r   zOddInstance.__init__n   s   € Ø%(ˆŒ�kÑ"Ð"Ð"r   c                 ó¬   — t                                | d¦  «        }|dk    r|S |                     || ¦  «        }|| ur|S t          |d         |¦  «        S )Nr   r   )Úobjectr   Úgetr!   )r   r
   r   r$   s       r   r   zOddInstance.__getattribute__q   s]   € Ý×&Ò& t¨ZÑ8Ô8ˆØ�:ÒÐØˆKØ�HŠH�T˜4Ñ Ô ˆØ�Dˆ=ˆ=ØˆHÝ�t˜KÔ(¨$Ñ/Ô/Ð/r   c                 ó   — || j         |<   d S r   r-   )r   r
   r$   s      r   Ú__setattr__zOddInstance.__setattr__z   s   € ØˆŒ�dÑÐÐr   c                 ó   — t          ¦   «         ‚r   )ÚNotImplementedError)r   r
   s     r   Ú__delattr__zOddInstance.__delattr__}   s   € Ý!Ñ#Ô#Ð#r   c                 óv   — d                      | j        j        t          t	          | ¦  «        ¦  «        ¦  «        S )Nz<odd {} instance at {}>)Úformatr   r   r(   r)   r   s    r   r*   zOddInstance.__repr__€   s0   € Ø(×/Ò/ØŒNÔ#¥S­¨D©¬¡]¤]ñ4ô 4ð 	4r   N)r   r   r   r   r   r7   r:   r*   r   r   r   r   r   l   s_   € € € € € ð)ð )ð )ð0ð 0ð 0ð ð  ð  ð$ð $ð $ð4ð 4ð 4ð 4ð 4r   r   N)r+   r   r   r   r   r   Úitemsr   r   r   r   ú<module>r>      sã   ðð/ð /ðh0ð 0ð 0ð 0ð 0�Dñ 0ô 0ð 0ðAð Að Að Að Añ Aô Að Að. ˆMØØÔðð Ø"Ô+×1Ò1Ñ3Ô3ðñ ô ñô €	ð4ð 4ð 4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4r   