]> git.madduck.net Git - etc/vim.git/blob - tests/expression.py

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

cc6f399b4c95447a292c4e76ee552e580b9f2372
[etc/vim.git] / tests / expression.py
1 ...
2 'some_string'
3 b'\\xa3'
4 Name
5 None
6 True
7 False
8 1
9 1.0
10 1j
11 True or False
12 True or False or None
13 True and False
14 True and False and None
15 (Name1 and Name2) or Name3
16 Name1 and Name2 or Name3
17 Name1 or (Name2 and Name3)
18 Name1 or Name2 and Name3
19 (Name1 and Name2) or (Name3 and Name4)
20 Name1 and Name2 or Name3 and Name4
21 Name1 or (Name2 and Name3) or Name4
22 Name1 or Name2 and Name3 or Name4
23 v1 << 2
24 1 >> v2
25 1 % finished
26 1 + v2 - v3 * 4 ^ 5 ** v6 / 7 // 8
27 ((1 + v2) - (v3 * 4)) ^ (((5 ** v6) / 7) // 8)
28 not great
29 ~great
30 +value
31 -1
32 ~int and not v1 ^ 123 + v2 | True
33 (~int) and (not ((v1 ^ (123 + v2)) | True))
34 flags & ~ select.EPOLLIN and waiters.write_task is not None
35 lambda arg: None
36 lambda a=True: a
37 lambda a, b, c=True: a
38 lambda a, b, c=True, *, d=(1 << v2), e='str': a
39 lambda a, b, c=True, *vararg, d=(v1 << 2), e='str', **kwargs: a + b
40 manylambdas = lambda x=lambda y=lambda z=1: z: y(): x()
41 foo = (lambda port_id, ignore_missing: {"port1": port1_resource, "port2": port2_resource}[port_id])
42 1 if True else 2
43 str or None if True else str or bytes or None
44 (str or None) if True else (str or bytes or None)
45 str or None if (1 if True else 2) else str or bytes or None
46 (str or None) if (1 if True else 2) else (str or bytes or None)
47 ((super_long_variable_name or None) if (1 if super_long_test_name else 2) else (str or bytes or None))
48 {'2.7': dead, '3.7': (long_live or die_hard)}
49 {'2.7': dead, '3.7': (long_live or die_hard), **{'3.6': verygood}}
50 {**a, **b, **c}
51 {'2.7', '3.6', '3.7', '3.8', '3.9', ('4.0' if gilectomy else '3.10')}
52 ({'a': 'b'}, (True or False), (+value), 'string', b'bytes') or None
53 ()
54 (1,)
55 (1, 2)
56 (1, 2, 3)
57 []
58 [1, 2, 3, 4, 5, 6, 7, 8, 9, (10 or A), (11 or B), (12 or C)]
59 [1, 2, 3,]
60 [*a]
61 [*range(10)]
62 [*a, 4, 5,]
63 [4, *a, 5,]
64 [this_is_a_very_long_variable_which_will_force_a_delimiter_split, element, another, *more]
65 {i for i in (1, 2, 3)}
66 {(i ** 2) for i in (1, 2, 3)}
67 {(i ** 2) for i, _ in ((1, 'a'), (2, 'b'), (3, 'c'))}
68 {((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3)}
69 [i for i in (1, 2, 3)]
70 [(i ** 2) for i in (1, 2, 3)]
71 [(i ** 2) for i, _ in ((1, 'a'), (2, 'b'), (3, 'c'))]
72 [((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3)]
73 {i: 0 for i in (1, 2, 3)}
74 {i: j for i, j in ((1, 'a'), (2, 'b'), (3, 'c'))}
75 {a: b * 2 for a, b in dictionary.items()}
76 {a: b * -2 for a, b in dictionary.items()}
77 {k: v for k, v in this_is_a_very_long_variable_which_will_cause_a_trailing_comma_which_breaks_the_comprehension}
78 Python3 > Python2 > COBOL
79 Life is Life
80 call()
81 call(arg)
82 call(kwarg='hey')
83 call(arg, kwarg='hey')
84 call(arg, another, kwarg='hey', **kwargs)
85 call(this_is_a_very_long_variable_which_will_force_a_delimiter_split, arg, another, kwarg='hey', **kwargs)  # note: no trailing comma pre-3.6
86 call(*gidgets[:2])
87 call(a, *gidgets[:2])
88 call(**self.screen_kwargs)
89 call(b, **self.screen_kwargs)
90 lukasz.langa.pl
91 call.me(maybe)
92 1 .real
93 1.0 .real
94 ....__class__
95 list[str]
96 dict[str, int]
97 tuple[str, ...]
98 tuple[str, int, float, dict[str, int],]
99 very_long_variable_name_filters: t.List[
100     t.Tuple[str, t.Union[str, t.List[t.Optional[str]]]],
101 ]
102 slice[0]
103 slice[0:1]
104 slice[0:1:2]
105 slice[:]
106 slice[:-1]
107 slice[1:]
108 slice[::-1]
109 slice[d :: d + 1]
110 slice[:c, c - 1]
111 numpy[:, 0:1]
112 numpy[:, :-1]
113 numpy[0, :]
114 numpy[:, i]
115 numpy[0, :2]
116 numpy[:N, 0]
117 numpy[:2, :4]
118 numpy[2:4, 1:5]
119 numpy[4:, 2:]
120 numpy[:, (0, 1, 2, 5)]
121 numpy[0, [0]]
122 numpy[:, [i]]
123 numpy[1 : c + 1, c]
124 numpy[-(c + 1) :, d]
125 numpy[:, l[-2]]
126 numpy[:, ::-1]
127 numpy[np.newaxis, :]
128 (str or None) if (sys.version_info[0] > (3,)) else (str or bytes or None)
129 {'2.7': dead, '3.7': long_live or die_hard}
130 {'2.7', '3.6', '3.7', '3.8', '3.9', '4.0' if gilectomy else '3.10'}
131 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10 or A, 11 or B, 12 or C]
132 (SomeName)
133 SomeName
134 (Good, Bad, Ugly)
135 (i for i in (1, 2, 3))
136 ((i ** 2) for i in (1, 2, 3))
137 ((i ** 2) for i, _ in ((1, 'a'), (2, 'b'), (3, 'c')))
138 (((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3))
139 (*starred)
140 {"id": "1","type": "type","started_at": now(),"ended_at": now() + timedelta(days=10),"priority": 1,"import_session_id": 1,**kwargs}
141 a = (1,)
142 b = 1,
143 c = 1
144 d = (1,) + a + (2,)
145 e = (1,).count(1)
146 what_is_up_with_those_new_coord_names = (coord_names + set(vars_to_create)) + set(vars_to_remove)
147 what_is_up_with_those_new_coord_names = (coord_names | set(vars_to_create)) - set(vars_to_remove)
148 result = session.query(models.Customer.id).filter(models.Customer.account_id == account_id, models.Customer.email == email_address).order_by(models.Customer.id.asc(),).all()
149 Ø = set()
150 authors.łukasz.say_thanks()
151 mapping = {
152     A: 0.25 * (10.0 / 12),
153     B: 0.1 * (10.0 / 12),
154     C: 0.1 * (10.0 / 12),
155     D: 0.1 * (10.0 / 12),
156 }
157
158 def gen():
159     yield from outside_of_generator
160     a = (yield)
161
162 async def f():
163     await some.complicated[0].call(with_args=(True or (1 is not 1)))
164 print(* [] or [1])
165 print(**{1: 3} if False else {x: x for x in range(3)})
166 print(* lambda x: x)
167 assert(not Test),("Short message")
168 assert this is ComplexTest and not requirements.fit_in_a_single_line(force=False), "Short message"
169 assert(((parens is TooMany)))
170 for x, in (1,), (2,), (3,): ...
171 for y in (): ...
172 for z in (i for i in (1, 2, 3)): ...
173 for i in (call()): ...
174 for j in (1 + (2 + 3)): ...
175 while(this and that): ...
176 a = aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp in qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
177 a = aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp not in qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
178 a = aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp is qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
179 a = aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp is not qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
180 if (
181     threading.current_thread() != threading.main_thread() and
182     threading.current_thread() != threading.main_thread() or
183     signal.getsignal(signal.SIGINT) != signal.default_int_handler
184 ):
185     return True
186 if (
187     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
188     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
189 ):
190     return True
191 if (
192     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &
193     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
194 ):
195     return True
196 if (
197     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +
198     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
199 ):
200     return True
201 if (
202     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -
203     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
204 ):
205     return True
206 if (
207     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa *
208     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
209 ):
210     return True
211 if (
212     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa /
213     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
214 ):
215     return True
216 if (
217     ~ aaaa.a + aaaa.b - aaaa.c * aaaa.d / aaaa.e | aaaa.f & aaaa.g % aaaa.h ^ aaaa.i << aaaa.k >> aaaa.l ** aaaa.m // aaaa.n
218 ):
219     return True
220 if (
221     ~ aaaaaaaa.a + aaaaaaaa.b - aaaaaaaa.c @ aaaaaaaa.d / aaaaaaaa.e | aaaaaaaa.f & aaaaaaaa.g % aaaaaaaa.h ^ aaaaaaaa.i << aaaaaaaa.k >> aaaaaaaa.l ** aaaaaaaa.m // aaaaaaaa.n
222 ):
223     return True
224 if (
225     ~ aaaaaaaaaaaaaaaa.a + aaaaaaaaaaaaaaaa.b - aaaaaaaaaaaaaaaa.c * aaaaaaaaaaaaaaaa.d @ aaaaaaaaaaaaaaaa.e | aaaaaaaaaaaaaaaa.f & aaaaaaaaaaaaaaaa.g % aaaaaaaaaaaaaaaa.h ^ aaaaaaaaaaaaaaaa.i << aaaaaaaaaaaaaaaa.k >> aaaaaaaaaaaaaaaa.l ** aaaaaaaaaaaaaaaa.m // aaaaaaaaaaaaaaaa.n
226 ):
227     return True
228 last_call()
229 # standalone comment at ENDMARKER
230
231
232 # output
233
234
235 ...
236 "some_string"
237 b"\\xa3"
238 Name
239 None
240 True
241 False
242 1
243 1.0
244 1j
245 True or False
246 True or False or None
247 True and False
248 True and False and None
249 (Name1 and Name2) or Name3
250 Name1 and Name2 or Name3
251 Name1 or (Name2 and Name3)
252 Name1 or Name2 and Name3
253 (Name1 and Name2) or (Name3 and Name4)
254 Name1 and Name2 or Name3 and Name4
255 Name1 or (Name2 and Name3) or Name4
256 Name1 or Name2 and Name3 or Name4
257 v1 << 2
258 1 >> v2
259 1 % finished
260 1 + v2 - v3 * 4 ^ 5 ** v6 / 7 // 8
261 ((1 + v2) - (v3 * 4)) ^ (((5 ** v6) / 7) // 8)
262 not great
263 ~great
264 +value
265 -1
266 ~int and not v1 ^ 123 + v2 | True
267 (~int) and (not ((v1 ^ (123 + v2)) | True))
268 flags & ~select.EPOLLIN and waiters.write_task is not None
269 lambda arg: None
270 lambda a=True: a
271 lambda a, b, c=True: a
272 lambda a, b, c=True, *, d=(1 << v2), e="str": a
273 lambda a, b, c=True, *vararg, d=(v1 << 2), e="str", **kwargs: a + b
274 manylambdas = lambda x=lambda y=lambda z=1: z: y(): x()
275 foo = lambda port_id, ignore_missing: {
276     "port1": port1_resource, "port2": port2_resource
277 }[port_id]
278 1 if True else 2
279 str or None if True else str or bytes or None
280 (str or None) if True else (str or bytes or None)
281 str or None if (1 if True else 2) else str or bytes or None
282 (str or None) if (1 if True else 2) else (str or bytes or None)
283 (
284     (super_long_variable_name or None)
285     if (1 if super_long_test_name else 2)
286     else (str or bytes or None)
287 )
288 {"2.7": dead, "3.7": (long_live or die_hard)}
289 {"2.7": dead, "3.7": (long_live or die_hard), **{"3.6": verygood}}
290 {**a, **b, **c}
291 {"2.7", "3.6", "3.7", "3.8", "3.9", ("4.0" if gilectomy else "3.10")}
292 ({"a": "b"}, (True or False), (+value), "string", b"bytes") or None
293 ()
294 (1,)
295 (1, 2)
296 (1, 2, 3)
297 []
298 [1, 2, 3, 4, 5, 6, 7, 8, 9, (10 or A), (11 or B), (12 or C)]
299 [1, 2, 3]
300 [*a]
301 [*range(10)]
302 [*a, 4, 5]
303 [4, *a, 5]
304 [
305     this_is_a_very_long_variable_which_will_force_a_delimiter_split,
306     element,
307     another,
308     *more,
309 ]
310 {i for i in (1, 2, 3)}
311 {(i ** 2) for i in (1, 2, 3)}
312 {(i ** 2) for i, _ in ((1, "a"), (2, "b"), (3, "c"))}
313 {((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3)}
314 [i for i in (1, 2, 3)]
315 [(i ** 2) for i in (1, 2, 3)]
316 [(i ** 2) for i, _ in ((1, "a"), (2, "b"), (3, "c"))]
317 [((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3)]
318 {i: 0 for i in (1, 2, 3)}
319 {i: j for i, j in ((1, "a"), (2, "b"), (3, "c"))}
320 {a: b * 2 for a, b in dictionary.items()}
321 {a: b * -2 for a, b in dictionary.items()}
322 {
323     k: v
324     for k, v in this_is_a_very_long_variable_which_will_cause_a_trailing_comma_which_breaks_the_comprehension
325 }
326 Python3 > Python2 > COBOL
327 Life is Life
328 call()
329 call(arg)
330 call(kwarg="hey")
331 call(arg, kwarg="hey")
332 call(arg, another, kwarg="hey", **kwargs)
333 call(
334     this_is_a_very_long_variable_which_will_force_a_delimiter_split,
335     arg,
336     another,
337     kwarg="hey",
338     **kwargs
339 )  # note: no trailing comma pre-3.6
340 call(*gidgets[:2])
341 call(a, *gidgets[:2])
342 call(**self.screen_kwargs)
343 call(b, **self.screen_kwargs)
344 lukasz.langa.pl
345 call.me(maybe)
346 1 .real
347 1.0 .real
348 ....__class__
349 list[str]
350 dict[str, int]
351 tuple[str, ...]
352 tuple[str, int, float, dict[str, int]]
353 very_long_variable_name_filters: t.List[
354     t.Tuple[str, t.Union[str, t.List[t.Optional[str]]]],
355 ]
356 slice[0]
357 slice[0:1]
358 slice[0:1:2]
359 slice[:]
360 slice[:-1]
361 slice[1:]
362 slice[::-1]
363 slice[d :: d + 1]
364 slice[:c, c - 1]
365 numpy[:, 0:1]
366 numpy[:, :-1]
367 numpy[0, :]
368 numpy[:, i]
369 numpy[0, :2]
370 numpy[:N, 0]
371 numpy[:2, :4]
372 numpy[2:4, 1:5]
373 numpy[4:, 2:]
374 numpy[:, (0, 1, 2, 5)]
375 numpy[0, [0]]
376 numpy[:, [i]]
377 numpy[1 : c + 1, c]
378 numpy[-(c + 1) :, d]
379 numpy[:, l[-2]]
380 numpy[:, ::-1]
381 numpy[np.newaxis, :]
382 (str or None) if (sys.version_info[0] > (3,)) else (str or bytes or None)
383 {"2.7": dead, "3.7": long_live or die_hard}
384 {"2.7", "3.6", "3.7", "3.8", "3.9", "4.0" if gilectomy else "3.10"}
385 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10 or A, 11 or B, 12 or C]
386 (SomeName)
387 SomeName
388 (Good, Bad, Ugly)
389 (i for i in (1, 2, 3))
390 ((i ** 2) for i in (1, 2, 3))
391 ((i ** 2) for i, _ in ((1, "a"), (2, "b"), (3, "c")))
392 (((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3))
393 (*starred)
394 {
395     "id": "1",
396     "type": "type",
397     "started_at": now(),
398     "ended_at": now() + timedelta(days=10),
399     "priority": 1,
400     "import_session_id": 1,
401     **kwargs,
402 }
403 a = (1,)
404 b = (1,)
405 c = 1
406 d = (1,) + a + (2,)
407 e = (1,).count(1)
408 what_is_up_with_those_new_coord_names = (coord_names + set(vars_to_create)) + set(
409     vars_to_remove
410 )
411 what_is_up_with_those_new_coord_names = (coord_names | set(vars_to_create)) - set(
412     vars_to_remove
413 )
414 result = (
415     session.query(models.Customer.id)
416     .filter(
417         models.Customer.account_id == account_id, models.Customer.email == email_address
418     )
419     .order_by(models.Customer.id.asc())
420     .all()
421 )
422 Ø = set()
423 authors.łukasz.say_thanks()
424 mapping = {
425     A: 0.25 * (10.0 / 12),
426     B: 0.1 * (10.0 / 12),
427     C: 0.1 * (10.0 / 12),
428     D: 0.1 * (10.0 / 12),
429 }
430
431
432 def gen():
433     yield from outside_of_generator
434     a = (yield)
435
436
437 async def f():
438     await some.complicated[0].call(with_args=(True or (1 is not 1)))
439
440
441 print(*[] or [1])
442 print(**{1: 3} if False else {x: x for x in range(3)})
443 print(*lambda x: x)
444 assert not Test, "Short message"
445 assert this is ComplexTest and not requirements.fit_in_a_single_line(
446     force=False
447 ), "Short message"
448 assert parens is TooMany
449 for (x,) in (1,), (2,), (3,):
450     ...
451 for y in ():
452     ...
453 for z in (i for i in (1, 2, 3)):
454     ...
455 for i in call():
456     ...
457 for j in 1 + (2 + 3):
458     ...
459 while this and that:
460     ...
461 a = (
462     aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp
463     in qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
464 )
465 a = (
466     aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp
467     not in qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
468 )
469 a = (
470     aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp
471     is qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
472 )
473 a = (
474     aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp
475     is not qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
476 )
477 if (
478     threading.current_thread() != threading.main_thread()
479     and threading.current_thread() != threading.main_thread()
480     or signal.getsignal(signal.SIGINT) != signal.default_int_handler
481 ):
482     return True
483 if (
484     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
485     | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
486 ):
487     return True
488 if (
489     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
490     & aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
491 ):
492     return True
493 if (
494     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
495     + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
496 ):
497     return True
498 if (
499     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
500     - aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
501 ):
502     return True
503 if (
504     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
505     * aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
506 ):
507     return True
508 if (
509     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
510     / aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
511 ):
512     return True
513 if (
514     ~aaaa.a + aaaa.b - aaaa.c * aaaa.d / aaaa.e
515     | aaaa.f & aaaa.g % aaaa.h ^ aaaa.i << aaaa.k >> aaaa.l ** aaaa.m // aaaa.n
516 ):
517     return True
518 if (
519     ~aaaaaaaa.a + aaaaaaaa.b - aaaaaaaa.c @ aaaaaaaa.d / aaaaaaaa.e
520     | aaaaaaaa.f & aaaaaaaa.g % aaaaaaaa.h
521     ^ aaaaaaaa.i << aaaaaaaa.k >> aaaaaaaa.l ** aaaaaaaa.m // aaaaaaaa.n
522 ):
523     return True
524 if (
525     ~aaaaaaaaaaaaaaaa.a
526     + aaaaaaaaaaaaaaaa.b
527     - aaaaaaaaaaaaaaaa.c * aaaaaaaaaaaaaaaa.d @ aaaaaaaaaaaaaaaa.e
528     | aaaaaaaaaaaaaaaa.f & aaaaaaaaaaaaaaaa.g % aaaaaaaaaaaaaaaa.h
529     ^ aaaaaaaaaaaaaaaa.i
530     << aaaaaaaaaaaaaaaa.k
531     >> aaaaaaaaaaaaaaaa.l ** aaaaaaaaaaaaaaaa.m // aaaaaaaaaaaaaaaa.n
532 ):
533     return True
534 last_call()
535 # standalone comment at ENDMARKER