a óBgÑã@sDdZddlZddlmZeedœdd„Zeeefedœdd„ZdS) a`JOSE Base64`_ is defined as: - URL-safe Base64 - padding stripped .. _`JOSE Base64`: https://tools.ietf.org/html/draft-ietf-jose-json-web-signature-37#appendix-C .. Do NOT try to call this module "base64", as it will "shadow" the standard library. éN)ÚUnion)ÚdataÚreturncCs"t|tƒstdƒ‚t |¡ d¡S)zÃJOSE Base64 encode. :param data: Data to be encoded. :type data: bytes :returns: JOSE Base64 string. :rtype: bytes :raises TypeError: if ``data`` is of incorrect type zargument should be bytesó=)Ú isinstanceÚbytesÚ TypeErrorÚbase64Zurlsafe_b64encodeÚrstrip©r©r ú./usr/lib/python3.9/site-packages/josepy/b64.pyÚ b64encodes rcCsft|tƒr6z| d¡}WqHty2tdƒ‚YqH0nt|tƒsHtdƒ‚t |ddt |ƒd¡S)a^JOSE Base64 decode. :param data: Base64 string to be decoded. If it's unicode, then only ASCII characters are allowed. :type data: bytes or unicode :returns: Decoded data. :rtype: bytes :raises TypeError: if input is of incorrect type :raises ValueError: if input is unicode with non-ASCII characters Úasciiz5unicode argument should contain only ASCII charactersz#argument should be a str or unicoderé) rÚstrÚencodeÚUnicodeEncodeErrorÚ ValueErrorrrr Zurlsafe_b64decodeÚlenr r r r Ú b64decode"s   r)Ú__doc__r Útypingrrrrrr r r r Ús