# Path: src/bin/syndication_app/feedparser/exceptions.py
# class CharacterEncodingOverride(ThingsNobodyCaresAboutButMe):
#     pass
# 
# class CharacterEncodingUnknown(ThingsNobodyCaresAboutButMe):
#     pass
# 
# class NonXMLContentType(ThingsNobodyCaresAboutButMe):
#     pass


import cgi
import codecs
import re
        import cchardet as chardet
        import chardet
from .exceptions import (
    CharacterEncodingOverride,
    CharacterEncodingUnknown,
    NonXMLContentType,
)
    lazy_chardet_encoding = None
else:
    def lazy_chardet_encoding(data):
        chardet_encoding = chardet.detect(data)['encoding']
        if not chardet_encoding:
            chardet_encoding = ''
        if isinstance(chardet_encoding, bytes_):
            chardet_encoding = chardet_encoding.encode('ascii', 'ignore')
        return chardet_encoding


bytes_ = type(b'')
unicode_ = type('')

# Each marker represents some of the characters of the opening XML
# processing instruction ('<?xm') in the specified encoding.
EBCDIC_MARKER = b'\x4C\x6F\xA7\x94'
UTF16BE_MARKER = b'\x00\x3C\x00\x3F'
UTF16LE_MARKER = b'\x3C\x00\x3F\x00'
UTF32BE_MARKER = b'\x00\x00\x00\x3C'
UTF32LE_MARKER = b'\x3C\x00\x00\x00'

ZERO_BYTES = '\x00\x00'

# Match the opening XML declaration.
# Example: <?xml version="1.0" encoding="utf-8"?>
RE_XML_DECLARATION = re.compile(r'^<\?xml[^>]*?>')

# Capture the value of the XML processing instruction's encoding attribute.
# Example: <?xml version="1.0" encoding="utf-8"?>

# Path: src/bin/syndication_app/feedparser/exceptions.py
# class CharacterEncodingOverride(ThingsNobodyCaresAboutButMe):
#     pass
# 
# class CharacterEncodingUnknown(ThingsNobodyCaresAboutButMe):
#     pass
# 
# class NonXMLContentType(ThingsNobodyCaresAboutButMe):
#     pass


# Path: src/bin/syndication_app/feedparser/encodings.py
import cgi
import codecs
import re
        import cchardet as chardet
        import chardet
from .exceptions import (
    CharacterEncodingOverride,
    CharacterEncodingUnknown,
    NonXMLContentType,
)

    lazy_chardet_encoding = None
else:
    def lazy_chardet_encoding(data):
        chardet_encoding = chardet.detect(data)['encoding']
        if not chardet_encoding:
            chardet_encoding = ''
        if isinstance(chardet_encoding, bytes_):
            chardet_encoding = chardet_encoding.encode('ascii', 'ignore')
        return chardet_encoding


bytes_ = type(b'')
unicode_ = type('')

# Each marker represents some of the characters of the opening XML
# processing instruction ('<?xm') in the specified encoding.
EBCDIC_MARKER = b'\x4C\x6F\xA7\x94'
UTF16BE_MARKER = b'\x00\x3C\x00\x3F'
UTF16LE_MARKER = b'\x3C\x00\x3F\x00'
UTF32BE_MARKER = b'\x00\x00\x00\x3C'
UTF32LE_MARKER = b'\x3C\x00\x00\x00'

ZERO_BYTES = '\x00\x00'

# Match the opening XML declaration.
# Example: <?xml version="1.0" encoding="utf-8"?>
RE_XML_DECLARATION = re.compile(r'^<\?xml[^>]*?>')

# Capture the value of the XML processing instruction's encoding attribute.
# Example: <?xml version="1.0" encoding="utf-8"?>

RE_XML_PI_ENCODING = re.compile(br'^<\?.*encoding=[\'"](.*?)[\'"].*\?>')