Ë
    (üàgA  ã                   óL   — d dl mZmZmZmZmZmZ  edd«      Zdd„Zdd„Z	d„ Z
y)	é    )Úload_pycryptodome_raw_libÚc_size_tÚcreate_string_bufferÚget_raw_bufferÚc_uint8_ptrÚis_writeable_bufferzCrypto.Util._strxoray  
                    void strxor(const uint8_t *in1,
                                const uint8_t *in2,
                                uint8_t *out, size_t len);
                    void strxor_c(const uint8_t *in,
                                  uint8_t c,
                                  uint8_t *out,
                                  size_t len);
                    Nc           
      ó¦  — t        | «      t        |«      k7  rt        d«      ‚|€t        t        | «      «      }nF|}t        |«      st	        d«      ‚t        | «      t        |«      k7  rt        dt        | «      z  «      ‚t
        j                  t        | «      t        |«      t        |«      t        t        | «      «      «       |€t        |«      S y)až  From two byte strings of equal length,
    create a third one which is the byte-by-byte XOR of the two.

    Args:
      term1 (bytes/bytearray/memoryview):
        The first byte string to XOR.
      term2 (bytes/bytearray/memoryview):
        The second byte string to XOR.
      output (bytearray/memoryview):
        The location where the result will be written to.
        It must have the same length as ``term1`` and ``term2``.
        If ``None``, the result is returned.
    :Return:
        If ``output`` is ``None``, a new byte string with the result.
        Otherwise ``None``.

    .. note::
        ``term1`` and ``term2`` must have the same length.
    z.Only byte strings of equal length can be xoredNú4output must be a bytearray or a writeable memoryviewú9output must have the same length as the input  (%d bytes))
ÚlenÚ
ValueErrorr   r   Ú	TypeErrorÚ_raw_strxorÚstrxorr   r   r   )Úterm1Úterm2ÚoutputÚresults       úP/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/Crypto/Util/strxor.pyr   r   0   sÄ   € ô* ˆ5ƒz”S˜“ZÒÜÐIÓJÐJà€~Ü%¤c¨%£jÓ1‰ð ˆä" 6Ô*ÜÐRÓSÐSäˆu‹:œ˜V›Ò$Üð ,Ü.1°%«jñ9ó :ð :ô ×Ñ”{ 5Ó)Ü" 5Ó)Ü" 6Ó*Ü¤ E£
Ó+ô-ð
 €~Ü˜fÓ%Ð%àó    c           
      ó”  — d|cxk  rdk  st        d«      ‚ t        d«      ‚|€t        t        | «      «      }nF|}t        |«      st	        d«      ‚t        | «      t        |«      k7  rt        dt        | «      z  «      ‚t
        j                  t        | «      |t        |«      t        t        | «      «      «       |€t        |«      S y)a~  From a byte string, create a second one of equal length
    where each byte is XOR-red with the same value.

    Args:
      term(bytes/bytearray/memoryview):
        The byte string to XOR.
      c (int):
        Every byte in the string will be XOR-ed with this value.
        It must be between 0 and 255 (included).
      output (None or bytearray/memoryview):
        The location where the result will be written to.
        It must have the same length as ``term``.
        If ``None``, the result is returned.

    Return:
        If ``output`` is ``None``, a new ``bytes`` string with the result.
        Otherwise ``None``.
    r   é   zc must be in range(256)Nr
   r   )
r   r   r   r   r   r   Ústrxor_cr   r   r   )ÚtermÚcr   r   s       r   r   r   `   sË   € ð( �Œ<�CŠ<ÜÐ2Ó3Ð3ð ÜÐ2Ó3Ð3à€~Ü%¤c¨$£iÓ0‰ð ˆä" 6Ô*ÜÐRÓSÐSäˆt‹9œ˜F›Ò#Üð ,Ü.1°$«iñ8ó 9ð 9ô ×Ñœ TÓ*ØÜ$ VÓ,Ü!¤# d£)Ó,ôð €~Ü˜fÓ%Ð%àr   c           
      óX   — t         j                  | ||t        t        | «      «      «       y)z!Very fast XOR - check conditions!N)r   r   r   r   )r   r   r   s      r   Ú_strxor_directr   �   s   € ä×Ñ�u˜e V¬X´c¸%³jÓ-AÕBr   )N)ÚCrypto.Util._raw_apir   r   r   r   r   r   r   r   r   r   © r   r   ú<module>r       s7   ð÷>D÷ Dñ (Ø)ðó
€ó-ó`-ó`Cr   