HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //proc/1233/cwd/lib/python3/dist-packages/samba/__pycache__/ndr.cpython-310.pyc
o

�\e9�@sbdZdd�Zddd�Zdd�Zdd	�Zdd
d�Zddd
�Zdd�Zddd�Zddd�Z	dd�Z
dS)z@Network Data Representation (NDR) marshalling and unmarshalling.cCs&t|dd�}|durtd|��|�S)zmPack 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_pack�r�+/usr/lib/python3/dist-packages/samba/ndr.pyrsrFcCs6|�}t|dd�}|durtd|��|||d�|S)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_unpackrrr	r$srcC�&t|dd�}|durtd|��|�S)N�
__ndr_print__rr)r�	ndr_printrrr	r4�rcCsdt|dd�}|durtd|��|�}t|�}|�}t|dd�}|dur*td|��||dd�|S)zzCreate a deep copy of a NDR object, using pack/unpack

    :param object: Object to copy
    :return: The object copy
    rNrr
Fr)rr�type)rrrr
�copyrrrr	�ndr_deepcopy;srcC�,t|dd�}|durtd|��|||d�S)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)rrr�ndr_pack_in_fnrrr	�ndr_pack_inN�rcC�4t|dd�}|durtd|��|||||d�|S)acUnpack 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�rrrr)rrrrr�ndr_unpack_in_fnrrr	�
ndr_unpack_in\�
�r$cCr)N�__ndr_print_in__rr)r�ndr_print_in_fnrrr	�ndr_print_innrr(cCr)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__Nrrr)rrr�ndr_pack_out_fnrrr	�ndr_pack_outurr+cCr )adUnpack 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__Nrr"r)rrrrr�ndr_unpack_out_fnrrr	�ndr_unpack_out�r%r.cCr)N�__ndr_print_out__rr)r�ndr_print_out_fnrrr	�
ndr_print_out�rr1N)F)FF)FFF)�__doc__rrrrrr$r(r+r.r1rrrr	�<module>s