# Path: bin/deps/pydocstyle/config.py
# class IllegalConfiguration(Exception):
#     """An exception for illegal configurations."""
# 
#     pass
# 
# Path: bin/deps/pydocstyle/parser.py
#     def next(obj, default=nothing):
#     def __str__(self):
# def humanize(string):
#     def __init__(self, *args):
#     def __hash__(self):
#     def __eq__(self, other):
#     def __repr__(self):
#     def __iter__(self):
#     def _publicity(self):
#     def source(self):
#         def is_empty_or_comment(line):
#     def __str__(self):
#     def is_public(self):
#     def __str__(self):
#     def is_public(self):
#     def is_test(self):
#     def is_magic(self):
#     def is_init(self):
#     def is_public(self):
#     def is_public(self):
#     def __init__(self, message):
#     def __init__(self, filelike):
#     def move(self):
#     def _next_from_generator(self):
#     def __iter__(self):
#     def __repr__(self):
#     def __init__(self, *args):
#     def parse(self, filelike, filename):
#     def __call__(self, *args, **kwargs):
#     def consume(self, kind):
#     def leapfrog(self, kind, value=None):
#     def parse_docstring(self):
#     def parse_decorators(self):
#     def parse_definitions(self, class_, all=False):
#     def parse_all(self):
#     def parse_module(self):
#     def parse_definition(self, class_):
#     def parse_skip_comment(self):
#     def check_current(self, kind=None, value=None):
#     def parse_from_import_statement(self):
#     def _parse_from_import_source(self):
#     def _parse_from_import_names(self, is_future_import):
# class ParseError(Exception):
# class Value(object):
# class Definition(Value):
# class Module(Definition):
# class Package(Module):
# class Function(Definition):
# class NestedFunction(Function):
# class Method(Function):
# class Class(Definition):
# class NestedClass(Class):
# class Decorator(Value):
# class AllError(Exception):
# class TokenStream(object):
# class TokenKind(int):
# class Token(Value):
# class Parser(object):
# VARIADIC_MAGIC_METHODS = ('__init__', '__call__', '__new__')
#     LOGICAL_NEWLINES = {tk.NEWLINE, tk.INDENT, tk.DEDENT}
# 
# Path: bin/deps/pydocstyle/utils.py
# def is_blank(string):
# def pairwise(iterable, default_value):


import ast
import string
import sys
import tokenize as tk
from itertools import takewhile
from re import compile as re
from collections import namedtuple
from . import violations
from .config import IllegalConfiguration
from .parser import (Package, Module, Class, NestedClass, Definition, AllError,
                     Method, Function, NestedFunction, Parser, StringIO,
                     ParseError)
from .utils import log, is_blank, pairwise
from .wordlists import IMPERATIVE_VERBS, IMPERATIVE_BLACKLIST, stem

        """
        if (not docstring and definition.is_public or
                docstring and is_blank(ast.literal_eval(docstring))):
            codes = {Module: violations.D100,
                     Class: violations.D101,
                     NestedClass: violations.D106,
                     Method: (lambda: violations.D105() if definition.is_magic
                              else (violations.D107() if definition.is_init
                              else violations.D102())),
                     Function: violations.D103,
                     NestedFunction: violations.D103,
                     Package: violations.D104}
            return codes[type(definition)]()

    @check_for(Definition)
    def check_one_liners(self, definition, docstring):
        """D200: One-liner docstrings should fit on one line with quotes.

        The closing quotes are on the same line as the opening quotes.
        This looks better for one-liners.

        """
        if docstring:
            lines = ast.literal_eval(docstring).split('\n')
            if len(lines) > 1:
                non_empty_lines = sum(1 for l in lines if not is_blank(l))
                if non_empty_lines == 1:
                    return violations.D200(len(lines))


# Path: bin/deps/pydocstyle/config.py
# class IllegalConfiguration(Exception):
#     """An exception for illegal configurations."""
# 
#     pass
# 
# Path: bin/deps/pydocstyle/parser.py
#     def next(obj, default=nothing):
#     def __str__(self):
# def humanize(string):
#     def __init__(self, *args):
#     def __hash__(self):
#     def __eq__(self, other):
#     def __repr__(self):
#     def __iter__(self):
#     def _publicity(self):
#     def source(self):
#         def is_empty_or_comment(line):
#     def __str__(self):
#     def is_public(self):
#     def __str__(self):
#     def is_public(self):
#     def is_test(self):
#     def is_magic(self):
#     def is_init(self):
#     def is_public(self):
#     def is_public(self):
#     def __init__(self, message):
#     def __init__(self, filelike):
#     def move(self):
#     def _next_from_generator(self):
#     def __iter__(self):
#     def __repr__(self):
#     def __init__(self, *args):
#     def parse(self, filelike, filename):
#     def __call__(self, *args, **kwargs):
#     def consume(self, kind):
#     def leapfrog(self, kind, value=None):
#     def parse_docstring(self):
#     def parse_decorators(self):
#     def parse_definitions(self, class_, all=False):
#     def parse_all(self):
#     def parse_module(self):
#     def parse_definition(self, class_):
#     def parse_skip_comment(self):
#     def check_current(self, kind=None, value=None):
#     def parse_from_import_statement(self):
#     def _parse_from_import_source(self):
#     def _parse_from_import_names(self, is_future_import):
# class ParseError(Exception):
# class Value(object):
# class Definition(Value):
# class Module(Definition):
# class Package(Module):
# class Function(Definition):
# class NestedFunction(Function):
# class Method(Function):
# class Class(Definition):
# class NestedClass(Class):
# class Decorator(Value):
# class AllError(Exception):
# class TokenStream(object):
# class TokenKind(int):
# class Token(Value):
# class Parser(object):
# VARIADIC_MAGIC_METHODS = ('__init__', '__call__', '__new__')
#     LOGICAL_NEWLINES = {tk.NEWLINE, tk.INDENT, tk.DEDENT}
# 
# Path: bin/deps/pydocstyle/utils.py
# def is_blank(string):
# def pairwise(iterable, default_value):


# Path: bin/deps/pydocstyle/checker.py
import ast
import string
import sys
import tokenize as tk
from itertools import takewhile
from re import compile as re
from collections import namedtuple
from . import violations
from .config import IllegalConfiguration
from .parser import (Package, Module, Class, NestedClass, Definition, AllError,
                     Method, Function, NestedFunction, Parser, StringIO,
                     ParseError)
from .utils import log, is_blank, pairwise
from .wordlists import IMPERATIVE_VERBS, IMPERATIVE_BLACKLIST, stem


        """
        if (not docstring and definition.is_public or
                docstring and is_blank(ast.literal_eval(docstring))):
            codes = {Module: violations.D100,
                     Class: violations.D101,
                     NestedClass: violations.D106,
                     Method: (lambda: violations.D105() if definition.is_magic
                              else (violations.D107() if definition.is_init
                              else violations.D102())),
                     Function: violations.D103,
                     NestedFunction: violations.D103,
                     Package: violations.D104}
            return codes[type(definition)]()

    @check_for(Definition)
    def check_one_liners(self, definition, docstring):
        """D200: One-liner docstrings should fit on one line with quotes.

        The closing quotes are on the same line as the opening quotes.
        This looks better for one-liners.

        """
        if docstring:
            lines = ast.literal_eval(docstring).split('\n')
            if len(lines) > 1:
                non_empty_lines = sum(1 for l in lines if not is_blank(l))
                if non_empty_lines == 1:
                    return violations.D200(len(lines))


    @check_for(Function)