1# line 1
2'A module docstring.'
3
4import sys, inspect
5# line 5
6
7# line 7
8def spam(a, /, b, c, d=3, e=4, f=5, *g, **h):
9    eggs(b + d, c + f)
10
11# line 11
12def eggs(x, y):
13    "A docstring."
14    global fr, st
15    fr = inspect.currentframe()
16    st = inspect.stack()
17    p = x
18    q = y / 0
19
20# line 20
21class StupidGit:
22    """A longer,
23
24    indented
25
26    docstring."""
27# line 27
28
29    def abuse(self, a, b, c):
30        """Another
31
32\tdocstring
33
34        containing
35
36\ttabs
37\t
38        """
39        self.argue(a, b, c)
40# line 40
41    def argue(self, a, b, c):
42        try:
43            spam(a, b, c)
44        except:
45            self.ex = sys.exc_info()
46            self.tr = inspect.trace()
47
48    @property
49    def contradiction(self):
50        'The automatic gainsaying.'
51        pass
52
53# line 53
54class MalodorousPervert(StupidGit):
55    def abuse(self, a, b, c):
56        pass
57
58    @property
59    def contradiction(self):
60        pass
61
62Tit = MalodorousPervert
63
64class ParrotDroppings:
65    pass
66
67class FesteringGob(MalodorousPervert, ParrotDroppings):
68    def abuse(self, a, b, c):
69        pass
70
71    @property
72    def contradiction(self):
73        pass
74
75async def lobbest(grenade):
76    pass
77
78currentframe = inspect.currentframe()
79try:
80    raise Exception()
81except:
82    tb = sys.exc_info()[2]
83
84class Callable:
85    def __call__(self, *args):
86        return args
87
88    def as_method_of(self, obj):
89        from types import MethodType
90        return MethodType(self, obj)
91
92custom_method = Callable().as_method_of(42)
93del Callable
94
95# line 95
96class WhichComments:
97  # line 97
98    # before f
99    def f(self):
100      # line 100
101        # start f
102        return 1
103        # line 103
104        # end f
105       # line 105
106    # after f
107
108    # before asyncf - line 108
109    async def asyncf(self):
110        # start asyncf
111        return 2
112        # end asyncf
113       # after asyncf - line 113
114    # end of WhichComments - line 114
115  # after WhichComments - line 115
116