# Path: aql/util_types/aql_simple_types.py
# _TRY_ENCODINGS = []
# SIMPLE_TYPES_SET = frozenset(
#     (u_str, str, int, float, complex, bool, bytes, bytearray))
# SIMPLE_TYPES = tuple(SIMPLE_TYPES_SET)
# def encode_str(value, encoding=None, _try_encodings=_TRY_ENCODINGS):
# def decode_bytes(obj, encoding=None, _try_encodings=_TRY_ENCODINGS):
# def to_unicode(obj, encoding=None):
# def is_unicode(value, _ustr=u_str, _isinstance=isinstance):
# def is_string(value, _str_types=(u_str, str), _isinstance=isinstance):
#     def to_string(value, _str_types=(u_str, str), _isinstance=isinstance):
#     def cast_str(obj, encoding=None, _ustr=u_str):
#     def __new__(cls, value=None):
#     def __hash__(self):
#     def _cmp(self, other, op):
#     def __eq__(self, other):
#     def __ne__(self, other):
#     def __lt__(self, other):
#     def __le__(self, other):
#     def __gt__(self, other):
#     def __ge__(self, other):
#     def __new__(cls, value=None):
#     def __new__(cls, value=None):
#     def __new__(cls, version=None, _ver_re=__ver_re):
#     def __convert(other):
#     def _cmp(self, other, cmp_op):
#     def __hash__(self):
#     def __eq__(self, other):
#     def __ne__(self, other):
#     def __lt__(self, other):
#     def __le__(self, other):
#     def __gt__(self, other):
#     def __ge__(self, other):
# def is_simple_value(value, _simple_types=SIMPLE_TYPES):
# def is_simple_type(value_type, _simple_types=SIMPLE_TYPES):
# class String (str):
# class IgnoreCaseString (String):
# class LowerCaseString (str):
# class UpperCaseString (str):
# class Version (str):


from .aql_simple_types import u_str, is_string, cast_str
        super(_SplitListBase, self).extend(self.__to_sequence(values))

    # -----------------------------------------------------------

    def extend_front(self, values):
        super(_SplitListBase, self).extend_front(self.__to_sequence(values))

    # -----------------------------------------------------------

    def __eq__(self, other):
        return super(_SplitListBase, self).__eq__(self.__to_split_list(other))

    def __ne__(self, other):
        return super(_SplitListBase, self).__ne__(self.__to_split_list(other))

    def __lt__(self, other):
        return super(_SplitListBase, self).__lt__(self.__to_split_list(other))

    def __le__(self, other):
        return super(_SplitListBase, self).__le__(self.__to_split_list(other))

    def __gt__(self, other):
        return super(_SplitListBase, self).__gt__(self.__to_split_list(other))

    def __ge__(self, other):
        return super(_SplitListBase, self).__ge__(self.__to_split_list(other))

    # -----------------------------------------------------------

    def __str__(self):

# Path: aql/util_types/aql_simple_types.py
# _TRY_ENCODINGS = []
# SIMPLE_TYPES_SET = frozenset(
#     (u_str, str, int, float, complex, bool, bytes, bytearray))
# SIMPLE_TYPES = tuple(SIMPLE_TYPES_SET)
# def encode_str(value, encoding=None, _try_encodings=_TRY_ENCODINGS):
# def decode_bytes(obj, encoding=None, _try_encodings=_TRY_ENCODINGS):
# def to_unicode(obj, encoding=None):
# def is_unicode(value, _ustr=u_str, _isinstance=isinstance):
# def is_string(value, _str_types=(u_str, str), _isinstance=isinstance):
#     def to_string(value, _str_types=(u_str, str), _isinstance=isinstance):
#     def cast_str(obj, encoding=None, _ustr=u_str):
#     def __new__(cls, value=None):
#     def __hash__(self):
#     def _cmp(self, other, op):
#     def __eq__(self, other):
#     def __ne__(self, other):
#     def __lt__(self, other):
#     def __le__(self, other):
#     def __gt__(self, other):
#     def __ge__(self, other):
#     def __new__(cls, value=None):
#     def __new__(cls, value=None):
#     def __new__(cls, version=None, _ver_re=__ver_re):
#     def __convert(other):
#     def _cmp(self, other, cmp_op):
#     def __hash__(self):
#     def __eq__(self, other):
#     def __ne__(self, other):
#     def __lt__(self, other):
#     def __le__(self, other):
#     def __gt__(self, other):
#     def __ge__(self, other):
# def is_simple_value(value, _simple_types=SIMPLE_TYPES):
# def is_simple_type(value_type, _simple_types=SIMPLE_TYPES):
# class String (str):
# class IgnoreCaseString (String):
# class LowerCaseString (str):
# class UpperCaseString (str):
# class Version (str):


# Path: aql/util_types/aql_list_types.py
from .aql_simple_types import u_str, is_string, cast_str

        super(_SplitListBase, self).extend(self.__to_sequence(values))

    # -----------------------------------------------------------

    def extend_front(self, values):
        super(_SplitListBase, self).extend_front(self.__to_sequence(values))

    # -----------------------------------------------------------

    def __eq__(self, other):
        return super(_SplitListBase, self).__eq__(self.__to_split_list(other))

    def __ne__(self, other):
        return super(_SplitListBase, self).__ne__(self.__to_split_list(other))

    def __lt__(self, other):
        return super(_SplitListBase, self).__lt__(self.__to_split_list(other))

    def __le__(self, other):
        return super(_SplitListBase, self).__le__(self.__to_split_list(other))

    def __gt__(self, other):
        return super(_SplitListBase, self).__gt__(self.__to_split_list(other))

    def __ge__(self, other):
        return super(_SplitListBase, self).__ge__(self.__to_split_list(other))

    # -----------------------------------------------------------

    def __str__(self):

        return self._separator.join(map(cast_str, iter(self)))