# Path: strictyaml/ruamel/compat.py
# _DEFAULT_YAML_VERSION = (1, 2)
# PY2 = sys.version_info[0] == 2
# PY3 = sys.version_info[0] == 3
#     MAXSIZE = sys.maxsize
# UNICODE_SIZE = 4 if sys.maxunicode > 65535 else 2
# DBG_TOKEN = 1
# DBG_EVENT = 2
# DBG_NODE = 4
#     class ordereddict(OrderedDict):  # type: ignore
#     class ObjectCounter(object):
# class Nprint(object):
# class MutableSliceableSequence(MutableSequence):  # type: ignore
#             def insert(self, pos, key, value):
#     def utf8(s):
#     def to_str(s):
#     def to_unicode(s):
#     def utf8(s):
#     def to_str(s):
#     def to_unicode(s):
# def with_metaclass(meta, *bases):
#         def __init__(self):
#         def __call__(self, k):
#         def dump(self):
# def dbg(val=None):
#     def __init__(self, file_name=None):
#     def __call__(self, *args, **kw):
#     def set_max_print(self, i):
# def check_namespace_char(ch):
# def check_anchorname_char(ch):
# def version_tnf(t1, t2=None):
#     def __getitem__(self, index):
#     def __setitem__(self, index, value):
#     def __delitem__(self, index):
#     def __getsingleitem__(self, index):
#     def __setsingleitem__(self, index, value):
#     def __delsingleitem__(self, index):
# 
# Path: strictyaml/ruamel/nodes.py
# class MappingNode(CollectionNode):
#     __slots__ = ("merge",)
#     id = "mapping"
# 
#     def __init__(
#         self,
#         tag,
#         value,
#         start_mark=None,
#         end_mark=None,
#         flow_style=None,
#         comment=None,
#         anchor=None,
#     ):
#         # type: (Any, Any, Any, Any, Any, Any, Any) -> None
#         CollectionNode.__init__(
#             self, tag, value, start_mark, end_mark, flow_style, comment, anchor
#         )
#         self.merge = None
# 
# class ScalarNode(Node):
#     """
#     styles:
#       ? -> set() ? key, no value
#       " -> double quoted
#       ' -> single quoted
#       | -> literal style
#       > -> folding style
#     """
# 
#     __slots__ = ("style",)
#     id = "scalar"
# 
#     def __init__(
#         self,
#         tag,
#         value,
#         start_mark=None,
#         end_mark=None,
#         style=None,
#         comment=None,
#         anchor=None,
#     ):
#         # type: (Any, Any, Any, Any, Any, Any, Any) -> None
#         Node.__init__(
#             self, tag, value, start_mark, end_mark, comment=comment, anchor=anchor
#         )
#         self.style = style
# 
# class SequenceNode(CollectionNode):
#     __slots__ = ()
#     id = "sequence"
# 
# Path: strictyaml/ruamel/util.py
# class LazyEval(object):
#     def __init__(self, func, *args, **kwargs):
#         def lazy_self():
#     def __getattribute__(self, name):
#     def __setattr__(self, name, value):
# def load_yaml_guess_indent(stream, **kw):
#     def leading_spaces(line):
# def configobj_walker(cfg):
# def _walk_section(s, level=0):


import re
    from typing import Any, Dict, List, Union, Text, Optional  # NOQA
    from strictyaml.ruamel.compat import VersionType  # NOQA
from strictyaml.ruamel.compat import string_types, _DEFAULT_YAML_VERSION  # NOQA
from strictyaml.ruamel.error import *  # NOQA
from strictyaml.ruamel.nodes import MappingNode, ScalarNode, SequenceNode  # NOQA
from strictyaml.ruamel.util import RegExp  # NOQA
            implicit = implicit[1]
        if bool(self.yaml_path_resolvers):
            exact_paths = self.resolver_exact_paths[-1]
            if kind in exact_paths:
                return exact_paths[kind]
            if None in exact_paths:
                return exact_paths[None]
        if kind is ScalarNode:
            return self.DEFAULT_SCALAR_TAG
        elif kind is SequenceNode:
            return self.DEFAULT_SEQUENCE_TAG
        elif kind is MappingNode:
            return self.DEFAULT_MAPPING_TAG

    @property
    def processing_version(self):
        # type: () -> Any
        try:
            version = self.loadumper._scanner.yaml_version
        except AttributeError:
            try:
                if hasattr(self.loadumper, "typ"):
                    version = self.loadumper.version
                else:
                    version = self.loadumper._serializer.use_version  # dumping
            except AttributeError:
                version = None
        if version is None:
            version = self._loader_version
            if version is None:

# Path: strictyaml/ruamel/compat.py
# _DEFAULT_YAML_VERSION = (1, 2)
# PY2 = sys.version_info[0] == 2
# PY3 = sys.version_info[0] == 3
#     MAXSIZE = sys.maxsize
# UNICODE_SIZE = 4 if sys.maxunicode > 65535 else 2
# DBG_TOKEN = 1
# DBG_EVENT = 2
# DBG_NODE = 4
#     class ordereddict(OrderedDict):  # type: ignore
#     class ObjectCounter(object):
# class Nprint(object):
# class MutableSliceableSequence(MutableSequence):  # type: ignore
#             def insert(self, pos, key, value):
#     def utf8(s):
#     def to_str(s):
#     def to_unicode(s):
#     def utf8(s):
#     def to_str(s):
#     def to_unicode(s):
# def with_metaclass(meta, *bases):
#         def __init__(self):
#         def __call__(self, k):
#         def dump(self):
# def dbg(val=None):
#     def __init__(self, file_name=None):
#     def __call__(self, *args, **kw):
#     def set_max_print(self, i):
# def check_namespace_char(ch):
# def check_anchorname_char(ch):
# def version_tnf(t1, t2=None):
#     def __getitem__(self, index):
#     def __setitem__(self, index, value):
#     def __delitem__(self, index):
#     def __getsingleitem__(self, index):
#     def __setsingleitem__(self, index, value):
#     def __delsingleitem__(self, index):
# 
# Path: strictyaml/ruamel/nodes.py
# class MappingNode(CollectionNode):
#     __slots__ = ("merge",)
#     id = "mapping"
# 
#     def __init__(
#         self,
#         tag,
#         value,
#         start_mark=None,
#         end_mark=None,
#         flow_style=None,
#         comment=None,
#         anchor=None,
#     ):
#         # type: (Any, Any, Any, Any, Any, Any, Any) -> None
#         CollectionNode.__init__(
#             self, tag, value, start_mark, end_mark, flow_style, comment, anchor
#         )
#         self.merge = None
# 
# class ScalarNode(Node):
#     """
#     styles:
#       ? -> set() ? key, no value
#       " -> double quoted
#       ' -> single quoted
#       | -> literal style
#       > -> folding style
#     """
# 
#     __slots__ = ("style",)
#     id = "scalar"
# 
#     def __init__(
#         self,
#         tag,
#         value,
#         start_mark=None,
#         end_mark=None,
#         style=None,
#         comment=None,
#         anchor=None,
#     ):
#         # type: (Any, Any, Any, Any, Any, Any, Any) -> None
#         Node.__init__(
#             self, tag, value, start_mark, end_mark, comment=comment, anchor=anchor
#         )
#         self.style = style
# 
# class SequenceNode(CollectionNode):
#     __slots__ = ()
#     id = "sequence"
# 
# Path: strictyaml/ruamel/util.py
# class LazyEval(object):
#     def __init__(self, func, *args, **kwargs):
#         def lazy_self():
#     def __getattribute__(self, name):
#     def __setattr__(self, name, value):
# def load_yaml_guess_indent(stream, **kw):
#     def leading_spaces(line):
# def configobj_walker(cfg):
# def _walk_section(s, level=0):


# Path: strictyaml/ruamel/resolver.py
import re
    from typing import Any, Dict, List, Union, Text, Optional  # NOQA
    from strictyaml.ruamel.compat import VersionType  # NOQA
from strictyaml.ruamel.compat import string_types, _DEFAULT_YAML_VERSION  # NOQA
from strictyaml.ruamel.error import *  # NOQA
from strictyaml.ruamel.nodes import MappingNode, ScalarNode, SequenceNode  # NOQA
from strictyaml.ruamel.util import RegExp  # NOQA

            implicit = implicit[1]
        if bool(self.yaml_path_resolvers):
            exact_paths = self.resolver_exact_paths[-1]
            if kind in exact_paths:
                return exact_paths[kind]
            if None in exact_paths:
                return exact_paths[None]
        if kind is ScalarNode:
            return self.DEFAULT_SCALAR_TAG
        elif kind is SequenceNode:
            return self.DEFAULT_SEQUENCE_TAG
        elif kind is MappingNode:
            return self.DEFAULT_MAPPING_TAG

    @property
    def processing_version(self):
        # type: () -> Any
        try:
            version = self.loadumper._scanner.yaml_version
        except AttributeError:
            try:
                if hasattr(self.loadumper, "typ"):
                    version = self.loadumper.version
                else:
                    version = self.loadumper._serializer.use_version  # dumping
            except AttributeError:
                version = None
        if version is None:
            version = self._loader_version
            if version is None:

                version = _DEFAULT_YAML_VERSION