+
    4SsiÇ  ã                   óf   € R t R tRR ltRR ltR tRR ltRR ltRR ltRR ltRR	 lt	RR
 lt
R# )z@Network Data Representation (NDR) marshalling and unmarshalling.c                óV   € \        V RR4      pVf   \        RV ,          4      hV! 4       # )zaPack a NDR object.

:param object: Object to pack
:return: String object with marshalled object.
Ú__ndr_pack__Nú%r is not a NDR object©ÚgetattrÚ	TypeError)ÚobjectÚndr_packs   & Ú+/usr/lib/python3/dist-packages/samba/ndr.pyr	   r	      s1   € ô �v˜~¨tÓ4€HØÒÜÐ0°6Õ9Ó:Ð:Ù‹:Ðó    c                ól   € V ! 4       p\        VRR4      pVf   \        RV,          4      hV! WR7       V# )zÁNDR unpack an object.

:param cls: Class of the object to unpack
:param data: Buffer to unpack
:param allow_remaining: allows remaining data at the end (default=False)
:return: Unpacked object
Ú__ndr_unpack__Nr   ©Úallow_remainingr   )ÚclsÚdatar   r   Ú
ndr_unpacks   &&&  r
   r   r   $   s>   € ñ ‹U€FÜ˜Ð!1°4Ó8€JØÒÜÐ0°6Õ9Ó:Ð:ÙˆtÕ5Ø€Mr   c                 óR   € \        V R R4      pVf   \        V  R24      hV! VR7      # )Ú__ndr_print__Nz is not a NDR object©Úprint_secretsr   )r   r   Ú	ndr_prints   && r
   r   r   4   s4   € Ü˜ °Ó6€IØÒÜ˜6˜(Ð"6Ð7Ó8Ð8Ù =Ô1Ð1r   c                óØ   € \        V RR4      pVf   \        RV ,          4      hV! 4       p\        V 4      pV! 4       p\        VRR4      pVf   \        RV,          4      hV! VRR7       V# )znCreate a deep copy of a NDR object, using pack/unpack

:param object: Object to copy
:return: The object copy
r   Nr   r   Fr   )r   r   Útype)r   r	   r   r   Úcopyr   s   &     r
   Úndr_deepcopyr   ;   su   € ô �v˜~¨tÓ4€HØÒÜÐ0°6Õ9Ó:Ð:Ù‹:€DÜ
ˆv‹,€CÙ‹5€DÜ˜Ð/°Ó6€JØÒÜÐ0°4Õ7Ó8Ð8Ùˆt UÕ+Ø€Kr   c                óZ   € \        V RR4      pVf   \        RV ,          4      hV! WR7      # )zèPack the input of an NDR function object.

:param object: Object to pack
:param bigendian: use LIBNDR_FLAG_BIGENDIAN (default=False)
:param ndr64: use LIBNDR_FLAG_NDR64 (default=False)
:return: String object with marshalled object.
Ú__ndr_pack_in__Nú%r is not a NDR function object©Ú	bigendianÚndr64r   )r   r    r!   Úndr_pack_in_fns   &&& r
   Úndr_pack_inr#   N   s5   € ô ˜VÐ%6¸Ó=€NØÒÜÐ9¸FÕBÓCÐCÙ IÔ;Ð;r   c                ób   € \        V RR4      pVf   \        RV ,          4      hV! WVVR7       V # )aG  Unpack the input of an NDR function object.

:param cls: Class of the object to unpack
:param data: Buffer to unpack
:param bigendian: use LIBNDR_FLAG_BIGENDIAN (default=False)
:param ndr64: use LIBNDR_FLAG_NDR64 (default=False)
:param allow_remaining: allows remaining data at the end (default=False)
:return: Unpacked object
Ú__ndr_unpack_in__Nr   ©r    r!   r   r   )r   r   r    r!   r   Úndr_unpack_in_fns   &&&&& r
   Úndr_unpack_inr(   \   s?   € ô ˜vÐ':¸DÓAÐØÒÜÐ9¸FÕBÓCÐCÙ�T°eØ%4õ6à€Mr   c                 óZ   € \        V R R4      pVf   \        RV ,          4      hV! VR7      # )Ú__ndr_print_in__Nr   r   r   )r   r   Úndr_print_in_fns   && r
   Úndr_print_inr,   n   s3   € Ü˜fÐ&8¸$Ó?€OØÒÜÐ9¸FÕBÓCÐCÙ¨Ô7Ð7r   c                óZ   € \        V RR4      pVf   \        RV ,          4      hV! WR7      # )zéPack the output of an NDR function object.

:param object: Object to pack
:param bigendian: use LIBNDR_FLAG_BIGENDIAN (default=False)
:param ndr64: use LIBNDR_FLAG_NDR64 (default=False)
:return: String object with marshalled object.
Ú__ndr_pack_out__Nr   r   r   )r   r    r!   Úndr_pack_out_fns   &&& r
   Úndr_pack_outr0   u   s5   € ô ˜fÐ&8¸$Ó?€OØÒÜÐ9¸FÕBÓCÐCÙ YÔ<Ð<r   c                ób   € \        V RR4      pVf   \        RV ,          4      hV! WVVR7       V # )aH  Unpack the output of an NDR function object.

:param cls: Class of the object to unpack
:param data: Buffer to unpack
:param bigendian: use LIBNDR_FLAG_BIGENDIAN (default=False)
:param ndr64: use LIBNDR_FLAG_NDR64 (default=False)
:param allow_remaining: allows remaining data at the end (default=False)
:return: Unpacked object
Ú__ndr_unpack_out__Nr   r&   r   )r   r   r    r!   r   Úndr_unpack_out_fns   &&&&& r
   Úndr_unpack_outr4   ƒ   s?   € ô   Ð(<¸dÓCÐØÒ ÜÐ9¸FÕBÓCÐCÙ�d°uØ&5õ7à€Mr   c                 óZ   € \        V R R4      pVf   \        RV ,          4      hV! VR7      # )Ú__ndr_print_out__Nr   r   r   )r   r   Úndr_print_out_fns   && r
   Úndr_print_outr8   •   s4   € Ü˜vÐ':¸DÓAÐØÒÜÐ9¸FÕBÓCÐCÙ¨-Ô8Ð8r   N)F)FF)FFF)Ú__doc__r	   r   r   r   r#   r(   r,   r0   r4   r8   © r   r
   Ú<module>r;      s=   ðñ* Gò	ôô 2òô&<ôô$8ô=ôö$9r   