
    b                     v    d dl Z d Z G d de          Z G d de          Zej        Z G d de          ZdS )	    Nc                     t          | t                    r| S t          | t                    r|                     d          S d | D             S )Nutf-8c                 ,    g | ]}t          |          S  )_recursive_encode).0os     +/usr/lib/python3/dist-packages/_ldb_text.py
<listcomp>z%_recursive_encode.<locals>.<listcomp>   s!    222!!$$222    )
isinstancebytesstrencode)objs    r
   r   r   	   sQ    #u 3
	C		 3zz'"""22c2222r   c                   T    e Zd Zed             Zd Zd Zd Zd Zd Z	d Z
d Zd	 Zd
S )	_WrapBasec                 >    |                      |           }||_        |S N)__new___wrapped)clswrappedselfs      r
   _wrapz_WrapBase._wrap   s    {{3r   c                 *    t          | j                  S r   )lenr   r   s    r
   __len__z_WrapBase.__len__   s    4=!!!r   c                 X    t          |d          r| j        |j        k    S | j        |k    S Nr   hasattrr   r   others     r
   __eq__z_WrapBase.__eq__   0    5*%% 	*=EN22=E))r   c                 X    t          |d          r| j        |j        k    S | j        |k    S r!   r"   r$   s     r
   __ne__z_WrapBase.__ne__#   r'   r   c                 X    t          |d          r| j        |j        k     S | j        |k     S r!   r"   r$   s     r
   __lt__z_WrapBase.__lt__)   0    5*%% 	)=5>11=5((r   c                 X    t          |d          r| j        |j        k    S | j        |k    S r!   r"   r$   s     r
   __le__z_WrapBase.__le__/   r'   r   c                 X    t          |d          r| j        |j        k    S | j        |k    S r!   r"   r$   s     r
   __gt__z_WrapBase.__gt__5   r,   r   c                 X    t          |d          r| j        |j        k    S | j        |k    S r!   r"   r$   s     r
   __ge__z_WrapBase.__ge__;   r'   r   c                 0    dt          | j                  z  S )Nz%s.text)reprr   r   s    r
   __repr__z_WrapBase.__repr__A   s    4....r   N)__name__
__module____qualname__classmethodr   r   r&   r)   r+   r.   r0   r2   r5   r   r   r
   r   r      s          [
" " "* * ** * *) ) )* * *) ) )* * */ / / / /r   r   c                   J    e Zd ZdZd Zd Zed             Zed             ZdS )MessageElementTextWrapperz(Text interface for a LDB message elementc              #   L   K   | j         D ]}|                    d          V  d S Nr   r   decode)r   items     r
   __iter__z"MessageElementTextWrapper.__iter__I   s<      M 	' 	'D++g&&&&&&	' 	'r   c                 N    | j         |         }|d S |                    d          S r=   r>   r   keyresults      r
   __getitem__z%MessageElementTextWrapper.__getitem__M   s*    s#>4==)))r   c                     | j         j        S r   )r   flagsr   s    r
   rH   zMessageElementTextWrapper.flagsT   s    }""r   c                     | j         j        S r   )r   	set_flagsr   s    r
   rJ   z#MessageElementTextWrapper.set_flagsX   s    }&&r   N)	r6   r7   r8   __doc__rA   rF   propertyrH   rJ   r   r   r
   r;   r;   E   sn        22' ' '* * * # # X# ' ' X' ' 'r   r;   c                       e Zd ZdZd Zd Zd Zd Zd Zd Z	e
d             Ze
d	             Ze
d
             Ze
d             Zej        d             ZdS )MessageTextWrapperz Text interface for a LDB messagec                 B    | j         |         }|d S t          |          S r   )r   _wrap_elementrC   s      r
   rF   zMessageTextWrapper.__getitem__d   s&    s#>4 (((r   c                      | j         j        |i |}t          |t          j                  rt          |          S t          |t                    r|                    d          S |S r=   )r   getr   ldbMessageElementrP   r   r?   )r   argskwargsrE   s       r
   rR   zMessageTextWrapper.getk   sg    ""D3F33fc011 	 (((&& 	==)))Mr   c                 4    t          |          | j        |<   d S r   )r   r   )r   rD   r@   s      r
   __setitem__zMessageTextWrapper.__setitem__t   s    .t44cr   c                     | j         |= d S r   )r   )r   rD   s     r
   __delitem__zMessageTextWrapper.__delitem__w   s    M#r   c                 H    d | j                                         D             S )Nc                 ,    g | ]}t          |          S r   rP   )r   els     r
   r   z/MessageTextWrapper.elements.<locals>.<listcomp>{   s     EEEbb!!EEEr   )r   elementsr   s    r
   r_   zMessageTextWrapper.elementsz   s$    EEDM,B,B,D,DEEEEr   c                 H    d | j                                         D             S )Nc                 6    g | ]\  }}|t          |          fS r   r]   )r   attrr^   s      r
   r   z,MessageTextWrapper.items.<locals>.<listcomp>~   s)    PPPhdB}R(()PPPr   )r   itemsr   s    r
   rc   zMessageTextWrapper.items}   s$    PP$-:M:M:O:OPPPPr   c                     | j         j        S r   )r   keysr   s    r
   re   zMessageTextWrapper.keys   s    }!!r   c                     | j         j        S r   )r   remover   s    r
   rg   zMessageTextWrapper.remove   s    }##r   c                     | j         j        S r   )r   addr   s    r
   ri   zMessageTextWrapper.add   s    }  r   c                     | j         j        S r   r   dnr   s    r
   rl   zMessageTextWrapper.dn   s    }r   c                     || j         _        d S r   rk   )r   	new_values     r
   rl   zMessageTextWrapper.dn   s    $r   N)r6   r7   r8   rK   rF   rR   rX   rZ   r_   rc   rL   re   rg   ri   rl   setterr   r   r
   rN   rN   `   s       **) ) )  5 5 5  F F FQ Q Q " " X" $ $ X$ ! ! X!     X  Y% % Y% % %r   rN   )rS   r   objectr   r;   r   rP   rN   r   r   r
   <module>rq      s    


3 3 30/ 0/ 0/ 0/ 0/ 0/ 0/ 0/f' ' ' ' '	 ' ' '0 */2% 2% 2% 2% 2% 2% 2% 2% 2% 2%r   