Ë
    šQj
C  ã                   óà   — d Z ddlZddlmZ ddlmZ ddlmZ ddlmZm	Z	 ddl
mZ dd	lmZ dd
lmZ ddlmZ dZdZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej:                  eiZ G d„ d«      Zy)zeConvert between bytestreams and higher-level AMQP types.

2007-11-05 Barry Pederson <bp@barryp.org>

é    N)Údatetime)ÚDecimal)ÚBytesIO)ÚpackÚunpack_fromé   )ÚFrameSyntaxError)ÚBasic)Úbytes_to_str)Ústr_to_bytesz*    Table type {0!r} not handled by amqp.
zCTable type {0!r} for key {1!r} not handled by amqp. [value: {2!r}]
z9    Table type {0!r} not handled by amqp. [value: {1!r}]
c                 óÚ  — t        | |   «      }|dz  }|dk(  r/t        d| |«      \  }|dz  }	 t        | |||z    «      }||z  }||fS |dk(  r.t        d| |«      \  }|dz  }t        | |||z    «      }||z  }||fS |dk(  r%t        d| |«      \  }|dz  }| |||z    }||z  }||fS |dk(  rt        d| |«      \  }|dz  }||fS |d	k(  rt        d
| |«      \  }|dz  }||fS |dk(  rt        d| |«      \  }|dz  }||fS |dk(  rt        d| |«      \  }|dz  }||fS |dk(  rt        d| |«      \  }|dz  }||fS |dk(  rt        d| |«      \  }|dz  }||fS |dk(  rt        d| |«      \  }|dz  }||fS |dk(  rt        d| |«      \  }|dz  }||fS |dk(  rt        d| |«      \  }|dz  }||fS |dk(  rt        d| |«      \  }|dz  }||fS |dk(  rFt        d| |«      \  }|dz  }t        d| |«      \  }|dz  }t	        |«      t	        d|z  «      z  }||fS |dk(  rft        d| |«      \  }|dz  }||z   }	i }||	k  rBt        d| |«      \  }
|dz  }t        | |||
z    «      }||
z  }t        | |«      \  ||<   }||	k  rŒB||fS |dk(  rJt        d| |«      \  }|dz  }||z   }	g }||	k  r&t        | |«      \  }}|j                  |«       ||	k  rŒ&||fS |d k(  r#t        d| |«      \  }t        |«      }|dz  }||fS |d!k(  r-t        d| |«      \  }|dz  }t        j                  |«      }||fS |d"k(  rd }||fS t        d#j                  |t        |«      «      «      ‚# t        $ r | |||z    }Y �Œ*w xY w)$Nr   ÚSú>Ié   Úsú>BÚxÚbÚBz>bÚUz>hé   Úuú>HÚIz>iÚiÚLz>qé   Úlú>QÚfú>fÚdz>dÚDé
   ÚFÚAÚtÚTÚVz#Unknown value in table: {!r} ({!r}))Úchrr   Úpstr_tÚUnicodeDecodeErrorr   Ú
_read_itemÚappendÚboolr   Úutcfromtimestampr	   ÚformatÚtype)ÚbufÚoffsetÚftypeÚslenÚvalÚblenr"   ÚnÚtlenÚlimitÚkeylenÚkeyÚalenÚvs                 úN/var/www/html/truck-me/venv/lib/python3.12/site-packages/amqp/serialization.pyr-   r-       s  € Ü��F‘Ó€EØ
ˆa�K€Fð �‚|Ü˜D # vÓ.‰ˆØ�!‰ˆð	,Ü˜˜V F¨T¡MÐ2Ó3ˆCð 	�$‰ˆðD �ˆ;ÐðA 
�#ŠÜ˜D # vÓ.‰ˆØ�!‰ˆÜ�S˜ ¨¡Ð.Ó/ˆØ�$‰ˆðx �ˆ;Ððu 
�#ŠÜ˜D # vÓ.‰ˆØ�!‰ˆØ�&˜ $™Ð'ˆØ�$‰ˆðl �ˆ;Ðði 
�#ŠÜ˜4  fÓ-‰ˆØ�!‰ˆðd �ˆ;Ðða 
�#ŠÜ˜4  fÓ-‰ˆØ�!‰ˆð\ �ˆ;ÐðY 
�#ŠÜ˜4  fÓ-‰ˆØ�!‰ˆðT �ˆ;ÐðQ 
�#ŠÜ˜4  fÓ-‰ˆØ�!‰ˆðL �ˆ;ÐðI 
�#ŠÜ˜4  fÓ-‰ˆØ�!‰ˆðD �ˆ;ÐðA 
�#ŠÜ˜4  fÓ-‰ˆØ�!‰ˆð| �ˆ;Ððy 
�#ŠÜ˜4  fÓ-‰ˆØ�!‰ˆðt �ˆ;Ððq 
�#ŠÜ˜4  fÓ-‰ˆØ�!‰ˆðl �ˆ;Ðði 
�#ŠÜ˜4  fÓ-‰ˆØ�!‰ˆðd �ˆ;Ðða 
�#ŠÜ˜4  fÓ-‰ˆØ�!‰ˆð\ �ˆ;ÐðY 
�#ŠÜ˜˜s FÓ+‰ˆØ�!‰ˆÜ˜˜s FÓ+‰ˆØ�!‰ˆÜ�a‹jœ7 2¨¡7Ó+Ñ+ˆðN �ˆ;ÐðK 
�#ŠÜ˜D # vÓ.‰ˆØ�!‰ˆØ˜‘ˆØˆØ�uŠnÜ! $¨¨VÓ4‰GˆFØ�a‰KˆFÜ˜˜V F¨V¡OÐ4Ó5ˆCØ�fÑˆFÜ)¨#¨vÓ6ÑˆC�‰H�fð �u‹nð@ �ˆ;Ðð3 
�#ŠÜ˜D # vÓ.‰ˆØ�!‰ˆØ˜‘ˆØˆØ�uŠnÜ" 3¨Ó/‰IˆAˆvØ�J‰J�qŒMð �u‹nð( �ˆ;Ðð! 
�#ŠÜ˜4  fÓ-‰ˆÜ�3‹iˆØ�!‰ˆð �ˆ;Ðð 
�#ŠÜ˜4  fÓ-‰ˆØ�!‰ˆÜ×'Ñ'¨Ó,ˆð �ˆ;Ðð 
�#ŠØˆð
 �ˆ;Ðô Ø1×8Ñ8Ø”t˜E“{ó$ó%ð 	%øôE "ò 	,Ø�f˜V d™]Ð+‹Cð	,ús   ®M ÍM*Í)M*c                 ó\  — dx}}g }|j                   }t        | «      } | D �]†  }|dk(  r.|st        |||dz    «      }|dz  }d}|dz  dk(  }|dz  }|dz  }�nH|dk(  rdx}}t        d||«      \  }|dz  }�n)|dk(  rdx}}t        d||«      \  }|d	z  }�n
|d
k(  rdx}}t        d||«      \  }|dz  }�në|dk(  rdx}}t        d||«      \  }|dz  }�nÌ|dk(  rdx}}t        d||«      \  }|dz  }�n­|dk(  r7dx}}t        d||«      \  }	|dz  }||||	z    j	                  dd«      }||	z  }�nq|dk(  r7dx}}t        d||«      \  }	|dz  }||||	z    j	                  dd«      }||	z  }�n5|dk(  r#t        d||«      \  }
|dz  }||||
z    }||
z  }�n|dk(  rgdx}}t        d||«      \  }|dz  }||z   }i }||k  rät        d||«      \  }|dz  }t        ||||z    «      }||z  }t        ||«      \  ||<   }||k  rŒBn¡|dk(  rKdx}}t        d||«      \  }|dz  }||z   }g }||k  rxt        ||«      \  }}|j                  |«       ||k  rŒ&nQ|dk(  r.dx}}t        d||«      \  }|dz  }t        j                  |«      }nt        t        j                  |«      «      ‚ ||«       �Œ‰ ||fS )zÂDeserialize amqp format.

    bit = b
    octet = o
    short = B
    long = l
    long long = L
    float = f
    shortstr = s
    longstr = S
    table = F
    array = A
    timestamp = T
    r   r   r   r   Úor   r   r   r   r   r   r   r   r   r    r!   r   úutf-8Úsurrogatepassr   r   r%   r&   r(   )r.   r+   Úordr   Údecoder-   r   r0   r	   ÚILLEGAL_TABLE_TYPEr1   )r1   r3   r4   ÚbitcountÚbitsÚvaluesr.   Úpr7   r6   r8   r:   r;   r<   r=   r>   Úavals                    r@   ÚloadsrM   ’   s�  € ð Ð€Hˆtà€FØ�]‰]€FÜ�F‹^€Fàó JˆØ�Š8ÙÜ˜3˜v f¨q¡jÐ1Ó2�Ø˜!‘�Ø�Ø˜!‘8 ‘/ˆCØ�Q‰JˆDØ˜‰MŠHØ�#ŠXØÐˆH�tÜ˜t S¨&Ó1‰DˆCØ�a‰KŠFØ�#ŠXØÐˆH�tÜ˜t S¨&Ó1‰DˆCØ�a‰KŠFØ�#ŠXØÐˆH�tÜ˜t S¨&Ó1‰DˆCØ�a‰KŠFØ�#ŠXØÐˆH�tÜ˜t S¨&Ó1‰DˆCØ�a‰KŠFØ�#ŠXØÐˆH�tÜ˜t S¨&Ó1‰DˆCØ�a‰KŠFØ�#ŠXØÐˆH�tÜ  S¨&Ó1‰EˆDØ�a‰KˆFØ�f˜V d™]Ð+×2Ñ2°7¸OÓLˆCØ�d‰NŠFØ�#ŠXØÐˆH�tÜ  c¨6Ó2‰EˆDØ�a‰KˆFØ�f˜V d™]Ð+×2Ñ2°7¸OÓLˆCØ�d‰NŠFØ�#ŠXÜ  c¨6Ó2‰EˆDØ�a‰KˆFØ�f˜V d™]Ð+ˆCØ�d‰NŠFØ�#ŠXØÐˆH�tÜ  c¨6Ó2‰EˆDØ�a‰KˆFØ˜T‘MˆEØˆCØ˜5’.Ü% d¨C°Ó8‘�Ø˜!‘�Ü˜S ¨°©Ð8Ó9�Ø˜&Ñ �Ü#-¨c°6Ó#:Ñ ��C‘˜&ð ˜5”.ð �#ŠXØÐˆH�tÜ  c¨6Ó2‰EˆDØ�a‰KˆFØ˜T‘MˆEØˆCØ˜5’.Ü)¨#¨vÓ6‘��fØ—
‘
˜4Ô ð ˜5”.ð �#ŠXØÐˆH�tÜ˜t S¨&Ó1‰DˆCØ�a‰KˆFÜ×+Ñ+¨CÓ0‰Cä"Ô#5×#<Ñ#<¸QÓ#?Ó@Ð@ÙˆsŽðUJðV �6ˆ>Ðó    c                 óN   — | r# |t        dt        | «      z  g| ¢­Ž «       g | d d  y)Nr   r   )r   Úlen)rI   Úwrites     r@   Ú
_flushbitsrR   õ   s+   € ÙÙŒd�3œ˜T›‘?Ð* TÒ*Ô+Øˆ‰QˆØrN   c                 óD  — d}g }t        «       }|j                  }t        | «      } t        |«      D �]Q  \  }}| |   }|dk(  r7|rdnd}|dz  }	|	dk(  r|j	                  d«       |dxx   ||	z  z  cc<   |dz  }ŒH|dk(  rt        ||«      } |t        d|«      «       Œl|dk(  r(t        ||«      } |t        dt        |«      «      «       Œ™|d	k(  rt        ||«      } |t        d
|«      «       Œ½|dk(  rt        ||«      } |t        d|«      «       Œá|dk(  r t        ||«      } |t        d|«      «       �Œ|dk(  rY|xs d}t        ||«      }t        |t        «      r|j                  dd«      } |t        dt        |«      «      «        ||«       �Œd|dk(  s|dk(  rY|xs d}t        ||«      }t        |t        «      r|j                  dd«      } |t        d
t        |«      «      «        ||«       �ŒÇ|dk(  rt        ||«      }t        |xs i ||«       �Œë|dk(  rt        ||«      }t        |xs g ||«       �Œ|dk(  s�Œ |t        dt        t        j                  |j!                  «       «      «      «      «       �ŒT t        ||«       |j#                  «       S )zéSerialize AMQP arguments.

    Notes:
        bit = b
        octet = o
        short = B
        long = l
        long long = L
        shortstr = s
        longstr = S
        byte array = x
        table = F
        array = A
    r   r   r   r   éÿÿÿÿrB   r   r   r   r   r   r   r    r!   r   Ú rC   rD   r   r   r%   r&   r(   )r   rQ   r+   Ú	enumerater.   rR   r   ÚintÚ
isinstanceÚstrÚencoderP   Ú_write_tableÚ_write_arrayÚcalendarÚtimegmÚutctimetupleÚgetvalue)
r1   rJ   rH   rI   ÚoutrQ   r   r7   rK   Úshifts
             r@   Údumpsrc   ü   sm  € ð €HØ€DÜ
‹)€CØ�I‰I€Eä�F‹^€Fä˜FÓ#ó -H‰ˆˆ3Ø�1‰IˆØ�Š8Ù‘! ˆCØ˜q‘LˆEØ˜ŠzØ—‘˜A”Ø�‹H˜ ™Ñ&‹HØ˜‰M‰HØ�#ŠXÜ! $¨Ó.ˆHÙ”$�s˜C“.Õ!Ø�#ŠXÜ! $¨Ó.ˆHÙ”$�tœS ›XÓ&Õ'Ø�#ŠXÜ! $¨Ó.ˆHÙ”$�t˜S“/Õ"Ø�#ŠXÜ! $¨Ó.ˆHÙ”$�t˜S“/Õ"Ø�#ŠXÜ! $¨Ó.ˆHÙ”$�t˜S“/Ö"Ø�#ŠXØ’)˜ˆCÜ! $¨Ó.ˆHÜ˜#œsÔ#Ø—j‘j ¨/Ó:�Ù”$�sœC ›HÓ%Ô&Ù�#ŽJØ�#ŠX˜˜cšØ’)˜ˆCÜ! $¨Ó.ˆHÜ˜#œsÔ#Ø—j‘j ¨/Ó:�Ù”$�tœS ›XÓ&Ô'Ù�#ŽJØ�#ŠXÜ! $¨Ó.ˆHÜ˜š  E¨4Ö0Ø�#ŠXÜ! $¨Ó.ˆHÜ˜š  E¨4Ö0Ø�#ŒXÙ”$�tœS¤§¡°×1AÑ1AÓ1CÓ!DÓEÓFÖGð[-Hô\ ˆt�UÔà�<‰<‹>ÐrN   c           	      óØ  — t        «       }|j                  }| j                  «       D ]X  \  }}t        |t        «      r|j                  dd«      } |t        dt        |«      «      «        ||«       	 t        |||«       ŒZ |j                  «       } |t        dt        |«      «      «        ||«       y # t        $ r* t        t        j                  t        |«      ||«      «      ‚w xY w)NrC   rD   r   r   )r   rQ   ÚitemsrX   rY   rZ   r   rP   Ú_write_itemÚ
ValueErrorr	   ÚILLEGAL_TABLE_TYPE_WITH_KEYr1   r2   r`   )r"   rQ   rI   ra   ÚtwriteÚkr?   Ú
table_datas           r@   r[   r[   E  sÓ   € Ü
‹)€CØ�Y‰Y€FØ—‘“	ò 	C‰ˆˆ1Ü�aœÔØ—‘˜ /Ó2ˆAÙŒt�Cœ˜Q›Ó Ô!ÙˆqŒ	ð	CÜ˜˜6 4Õ(ð	Cð —‘“€JÙ	Œ$ˆt”S˜“_Ó
%Ô&Ù	ˆ*Õøô ò 	CÜ"Ü+×2Ñ2´4¸³7¸A¸qÓAóCð Cð	Cús   Á3B6Â63C)c           	      ó*  — t        «       }|j                  }| D ]  }	 t        |||«       Œ |j                  «       } |t        dt        |«      «      «        ||«       y # t        $ r) t	        t
        j                  t        |«      |«      «      ‚w xY w)Nr   )r   rQ   rf   rg   r	   ÚILLEGAL_TABLE_TYPE_WITH_VALUEr1   r2   r`   r   rP   )Úlist_rQ   rI   ra   Úawriter?   Ú
array_datas          r@   r\   r\   W  s“   € Ü
‹)€CØ�Y‰Y€FØò Bˆð	BÜ˜˜6 4Õ(ðBð —‘“€JÙ	Œ$ˆt”S˜“_Ó
%Ô&Ù	ˆ*Õøô ò 	BÜ"Ü-×4Ñ4´T¸!³W¸aÓ@óBð Bð	Bús   �A Á 2Bc                 óì  — t        | t        t        f«      rGt        | t        «      r| j                  dd«      }  |t	        ddt        | «      «      «        || «       y t        | t        «      r |t	        ddt        | «      «      «       y t        | t        «      r |t	        dd| «      «       y t        | t        «      r2| d	kD  s| d
k  r |t	        dd| «      «       y  |t	        dd| «      «       y t        | t        «      r@| j                  «       \  }}}d} |D ]
  }| dz  |z   } Œ |r|  }  |t	        dd| | «      «       y t        | t        «      r> |t	        ddt        t        j                  | j                  «       «      «      «      «       y t        | t        «      r |d«       t!        | ||«       y t        | t"        t$        f«      r |d«       t'        | ||«       y | €	 |d«       y t)        «       ‚)NrC   rD   z>cIó   Sz>cBó   tz>cdó   diÿÿÿi  €z>cqó   Lz>ció   Ir   r$   z>cBió   Dz>cQó   Tó   Fó   Aó   V)rX   rY   ÚbytesrZ   r   rP   r/   rW   Úfloatr   Úas_tupler   r]   r^   r_   Údictr[   ÚlistÚtupler\   rg   )r?   rQ   rI   ÚsignÚdigitsÚexponentr"   s          r@   rf   rf   e  s›  € Ü�!”cœ5�\Ô"Ü�aœÔØ—‘˜ /Ó2ˆAÙŒd�5˜$¤ A£Ó'Ô(Ùˆa�Ü	�A”tÔ	ÙŒd�5˜$¤ A£Ó'Õ(Ü	�A”uÔ	ÙŒd�5˜$ Ó"Õ#Ü	�A”sÔ	ØˆzŠ>˜Q š_Ù”$�u˜d AÓ&Õ'á”$�u˜d AÓ&Õ'Ü	�A”wÔ	Ø!"§¡£Ñˆˆf�hØˆØò 	ˆAØ�R‘˜1‘‰Að	áØ�ˆAÙŒd�6˜4 ( ¨AÓ.Õ/Ü	�A”xÔ	 ÙÜ�˜œc¤(§/¡/°!·.±.Ó2BÓ"CÓDÓEõ	Gä	�A”tÔ	ÙˆdŒÜ�Q˜˜tÕ$Ü	�Aœœe�}Ô	%ÙˆdŒÜ�Q˜˜tÕ$Ø	
ˆÙˆd�ä‹lÐrN   c                 óþ  — i }t        d| |«      \  }|dz  }|dz  r-t        d| |«      \  }|dz  }t        | |||z    «      |d<   ||z  }|dz  r-t        d| |«      \  }|dz  }t        | |||z    «      |d<   ||z  }|d	z  rt        d
| |«      \  }}|\  |d<   |dz  rt        d| |«      \  |d<   |dz  }|dz  rt        d| |«      \  |d<   |dz  }|dz  r-t        d| |«      \  }|dz  }t        | |||z    «      |d<   ||z  }|dz  r-t        d| |«      \  }|dz  }t        | |||z    «      |d<   ||z  }|dz  r-t        d| |«      \  }|dz  }t        | |||z    «      |d<   ||z  }|dz  r-t        d| |«      \  }|dz  }t        | |||z    «      |d<   ||z  }|dz  rt        d| |«      \  |d<   |dz  }|dz  r-t        d| |«      \  }|dz  }t        | |||z    «      |d<   ||z  }|dz  r-t        d| |«      \  }|dz  }t        | |||z    «      |d<   ||z  }|dz  r-t        d| |«      \  }|dz  }t        | |||z    «      |d <   ||z  }|d!z  r-t        d| |«      \  }|dz  }t        | |||z    «      |d"<   ||z  }||fS )#zDecode basic properties.r   r   i €  r   r   Úcontent_typei @  Úcontent_encodingi    r%   Úapplication_headersi   Údelivery_modei   Úpriorityi   Úcorrelation_idi   Úreply_toé   Ú
expirationé€   Ú
message_idé@   r   Ú	timestampr   é    r2   é   Úuser_idÚapp_idr   Ú
cluster_id)r   r+   rM   )r3   r4   Ú
propertiesÚflagsr6   Ú_fs         r@   Údecode_properties_basicr›   ‹  sd  € à€Jä˜˜s FÓ+�F€EØ
ˆa�K€Fàˆv‚~Ü˜D # vÓ.‰ˆØ�!‰ˆÜ%+¨C°°vÀ±}Ð,EÓ%Fˆ
�>Ñ"Ø�$‰ˆØˆv‚~Ü˜D # vÓ.‰ˆØ�!‰ˆÜ)/°°F¸6ÀD¹=Ð0IÓ)Jˆ
Ð%Ñ&Ø�$‰ˆØˆv‚~Ü˜3  VÓ,‰
ˆˆFØ-/Ñ*ˆ
Ð(Ñ)Øˆv‚~Ü'2°4¸¸fÓ'EÑ$ˆ
�?Ñ#Ø�!‰ˆØˆv‚~Ü"-¨d°C¸Ó"@Ñˆ
�:ÑØ�!‰ˆØˆv‚~Ü˜D # vÓ.‰ˆØ�!‰ˆÜ'-¨c°&¸À$¹Ð.GÓ'Hˆ
Ð#Ñ$Ø�$‰ˆØˆv‚~Ü˜D # vÓ.‰ˆØ�!‰ˆÜ!'¨¨F°6¸D±=Ð(AÓ!Bˆ
�:ÑØ�$‰ˆØˆv‚~Ü˜D # vÓ.‰ˆØ�!‰ˆÜ#)¨#¨f°V¸d±]Ð*CÓ#Dˆ
�<Ñ Ø�$‰ˆØˆv‚~Ü˜D # vÓ.‰ˆØ�!‰ˆÜ#)¨#¨f°V¸d±]Ð*CÓ#Dˆ
�<Ñ Ø�$‰ˆØˆv‚~Ü#.¨t°S¸&Ó#AÑ ˆ
�;ÑØ�!‰ˆØˆv‚~Ü˜D # vÓ.‰ˆØ�!‰ˆÜ# C¨¨v¸©}Ð$=Ó>ˆ
�6ÑØ�$‰ˆØˆv‚~Ü˜D # vÓ.‰ˆØ�!‰ˆÜ & s¨6°&¸4±-Ð'@Ó Aˆ
�9ÑØ�$‰ˆØˆv‚~Ü˜D # vÓ.‰ˆØ�!‰ˆÜ% c¨&°¸$±Ð&?Ó@ˆ
�8ÑØ�$‰ˆØˆv‚~Ü˜D # vÓ.‰ˆØ�!‰ˆÜ#)¨#¨f°V¸d±]Ð*CÓ#Dˆ
�<Ñ Ø�$‰ˆØ�vÐÐrN   c                   óF   — e Zd ZdZdZdgZdd„ZdZd„ Zd„ Z	d„ Z
dd	„Zd
„ Zy)ÚGenericContentzdAbstract base class for AMQP content.

    Subclasses should override the PROPERTIES attribute.
    N)Údummyr   c                 óf   — || _         || _        || _        g | _        d| _        d| _        d| _        y )Nr   F)Úframe_methodÚ
frame_argsr˜   Ú_pending_chunksÚbody_receivedÚ	body_sizeÚready)Úselfr    r¡   Úpropss       r@   Ú__init__zGenericContent.__init__á  s6   € Ø(ˆÔØ$ˆŒàˆŒØ!ˆÔØˆÔØˆŒØˆ�
rN   )	r    r¡   r˜   r¢   r£   r¤   r¥   Ú__dict__Ú__weakref__c                 ór   — |dk(  rt        d«      ‚|| j                  v r| j                  |   S t        |«      ‚)NÚ__setstate__)ÚAttributeErrorr˜   )r¦   Únames     r@   Ú__getattr__zGenericContent.__getattr__ø  s=   € ð �>Ò!ä  Ó0Ð0à�4—?‘?Ñ"Ø—?‘? 4Ñ(Ð(Ü˜TÓ"Ð"rN   c                 ó8   — t        |   ||«      \  }}|| _        |S )zõLoad AMQP properties.

        Given the raw bytes containing the property-flags and property-list
        from a content-frame-header, parse and insert into a dictionary
        stored in this object as an attribute named 'properties'.
        )ÚPROPERTY_CLASSESr˜   )r¦   Úclass_idr3   r4   r§   s        r@   Ú_load_propertieszGenericContent._load_properties  s%   € ô )¨Ñ2°3¸Ó?‰ˆˆvØˆŒØˆrN   c                 ó  — d}d}g }g g }}| j                   }| j                  D ]p  \  }}|j                  |d«      }	|	�R|dk(  r|j                  |«       d}d}|d|z  z  }|dk7  r+|j                  t	        |«      «       |j                  |	«       |dz  }Œr |j                  |«       t        «       }
|
j                  }|D ]  } |t        d|«      «       Œ  |t        dj                  |«      |«      «       |
j                  «       S )zìSerialize AMQP properties.

        Serialize the 'properties' attribute (a dictionary) into
        the raw bytes making up a set of property flags and a
        property list, suitable for putting into a content frame header.
        é   r   Nr   Úbitr   rN   )r˜   Ú
PROPERTIESÚgetr.   r   r   rQ   r   rc   Újoinr`   )r¦   rb   Ú	flag_bitsr™   ÚsformatÚsvaluesr§   r=   Úproptyper7   ÚresultrQ   s               r@   Ú_serialize_propertiesz$GenericContent._serialize_properties  s  € ð ˆØˆ	ØˆØ˜r�ˆØ—‘ˆØ!Ÿ_™_ò 	‰MˆC�Ø—)‘)˜C Ó&ˆCØˆØ˜A’:Ø—L‘L Ô+Ø !�IØ�Eà˜a 5™jÑ)�	Ø˜uÒ$Ø—N‘N¤<°Ó#9Ô:Ø—N‘N 3Ô'à�Q‰J‰Eð	ð 	�‰�YÔÜ“ˆØ—‘ˆØò 	)ˆIÙ”$�t˜YÓ'Õ(ð	)áŒe�C—H‘H˜WÓ% wÓ/Ô0à�‰Ó Ð rN   c                 ó†   — t        d||«      \  }| _        |dz  }| j                  |||«       | j                  sd| _        |S )Nz>HxxQé   T)r   r¤   r³   r¥   )r¦   r3   r4   r²   s       r@   Úinbound_headerzGenericContent.inbound_header2  sE   € Ü#.¨w¸¸VÓ#DÑ ˆ�$”.Ø�"‰ˆØ×Ñ˜h¨¨VÔ4Ø�~Š~ØˆDŒJØˆrN   c                 óF  — | j                   }| xj                  t        |«      z  c_        | j                  | j                  k\  rM|r<|j	                  |«       t        «       j                  |«      | _        g |d d  d| _        y || _        d| _        y |j	                  |«       y )NT)	r¢   r£   rP   r¤   r.   r|   r¹   Úbodyr¥   )r¦   r3   Úchunkss      r@   Úinbound_bodyzGenericContent.inbound_body:  sƒ   € Ø×%Ñ%ˆØ×Òœc #›hÑ&ÕØ×Ñ §¡Ò/ÙØ—‘˜cÔ"Ü!›GŸL™L¨Ó0�”	Ø�‘q�	ð ˆD�Jð  �”	ØˆD�Jà�M‰M˜#ÕrN   )NN)r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚCLASS_IDr·   r¨   Ú	__slots__r¯   r³   r¿   rÂ   rÆ   © rN   r@   r�   r�   Ø  s<   „ ñð
 €HØ Ð!€Jóð
€Iò	#ò
ò!!óFórN   r�   ) rÊ   r]   r   Údecimalr   Úior   Ústructr   r   Ú
exceptionsr	   Úspecr
   Úutilsr   r+   r   rG   rh   rm   r-   rM   rR   rc   r[   r\   rf   r›   rË   r±   r�   rÍ   rN   r@   ú<module>rÔ      s�   ðñó Ý Ý Ý ß $å (Ý Ý )Ý ðÐ ðÐ ð!Ð ò
oòd`òFòFòRò$ò#òLEðR 
‡N�NÐ+ðÐ ÷
nò nrN   