]> git.madduck.net Git - etc/vim.git/blob - tests/data/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:

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