1 /* Generated by Cython 0.29.24 */
2 
3 /* BEGIN: Cython Metadata
4 {
5     "distutils": {
6         "depends": [
7             "/opengrok/src/dports/lang/cython/Cython-0.29.24/Cython/Compiler/FlowControl.pxd"
8         ],
9         "name": "Cython.Compiler.FlowControl",
10         "sources": [
11             "/opengrok/src/dports/lang/cython/Cython-0.29.24/Cython/Compiler/FlowControl.py"
12         ]
13     },
14     "module_name": "Cython.Compiler.FlowControl"
15 }
16 END: Cython Metadata */
17 
18 #ifndef PY_SSIZE_T_CLEAN
19 #define PY_SSIZE_T_CLEAN
20 #endif /* PY_SSIZE_T_CLEAN */
21 #include "Python.h"
22 #ifndef Py_PYTHON_H
23     #error Python headers needed to compile C extensions, please install development version of Python.
24 #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
25     #error Cython requires Python 2.6+ or Python 3.3+.
26 #else
27 #define CYTHON_ABI "0_29_24"
28 #define CYTHON_HEX_VERSION 0x001D18F0
29 #define CYTHON_FUTURE_DIVISION 0
30 #include <stddef.h>
31 #ifndef offsetof
32   #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
33 #endif
34 #if !defined(WIN32) && !defined(MS_WINDOWS)
35   #ifndef __stdcall
36     #define __stdcall
37   #endif
38   #ifndef __cdecl
39     #define __cdecl
40   #endif
41   #ifndef __fastcall
42     #define __fastcall
43   #endif
44 #endif
45 #ifndef DL_IMPORT
46   #define DL_IMPORT(t) t
47 #endif
48 #ifndef DL_EXPORT
49   #define DL_EXPORT(t) t
50 #endif
51 #define __PYX_COMMA ,
52 #ifndef HAVE_LONG_LONG
53   #if PY_VERSION_HEX >= 0x02070000
54     #define HAVE_LONG_LONG
55   #endif
56 #endif
57 #ifndef PY_LONG_LONG
58   #define PY_LONG_LONG LONG_LONG
59 #endif
60 #ifndef Py_HUGE_VAL
61   #define Py_HUGE_VAL HUGE_VAL
62 #endif
63 #ifdef PYPY_VERSION
64   #define CYTHON_COMPILING_IN_PYPY 1
65   #define CYTHON_COMPILING_IN_PYSTON 0
66   #define CYTHON_COMPILING_IN_CPYTHON 0
67   #undef CYTHON_USE_TYPE_SLOTS
68   #define CYTHON_USE_TYPE_SLOTS 0
69   #undef CYTHON_USE_PYTYPE_LOOKUP
70   #define CYTHON_USE_PYTYPE_LOOKUP 0
71   #if PY_VERSION_HEX < 0x03050000
72     #undef CYTHON_USE_ASYNC_SLOTS
73     #define CYTHON_USE_ASYNC_SLOTS 0
74   #elif !defined(CYTHON_USE_ASYNC_SLOTS)
75     #define CYTHON_USE_ASYNC_SLOTS 1
76   #endif
77   #undef CYTHON_USE_PYLIST_INTERNALS
78   #define CYTHON_USE_PYLIST_INTERNALS 0
79   #undef CYTHON_USE_UNICODE_INTERNALS
80   #define CYTHON_USE_UNICODE_INTERNALS 0
81   #undef CYTHON_USE_UNICODE_WRITER
82   #define CYTHON_USE_UNICODE_WRITER 0
83   #undef CYTHON_USE_PYLONG_INTERNALS
84   #define CYTHON_USE_PYLONG_INTERNALS 0
85   #undef CYTHON_AVOID_BORROWED_REFS
86   #define CYTHON_AVOID_BORROWED_REFS 1
87   #undef CYTHON_ASSUME_SAFE_MACROS
88   #define CYTHON_ASSUME_SAFE_MACROS 0
89   #undef CYTHON_UNPACK_METHODS
90   #define CYTHON_UNPACK_METHODS 0
91   #undef CYTHON_FAST_THREAD_STATE
92   #define CYTHON_FAST_THREAD_STATE 0
93   #undef CYTHON_FAST_PYCALL
94   #define CYTHON_FAST_PYCALL 0
95   #undef CYTHON_PEP489_MULTI_PHASE_INIT
96   #define CYTHON_PEP489_MULTI_PHASE_INIT 0
97   #undef CYTHON_USE_TP_FINALIZE
98   #define CYTHON_USE_TP_FINALIZE 0
99   #undef CYTHON_USE_DICT_VERSIONS
100   #define CYTHON_USE_DICT_VERSIONS 0
101   #undef CYTHON_USE_EXC_INFO_STACK
102   #define CYTHON_USE_EXC_INFO_STACK 0
103 #elif defined(PYSTON_VERSION)
104   #define CYTHON_COMPILING_IN_PYPY 0
105   #define CYTHON_COMPILING_IN_PYSTON 1
106   #define CYTHON_COMPILING_IN_CPYTHON 0
107   #ifndef CYTHON_USE_TYPE_SLOTS
108     #define CYTHON_USE_TYPE_SLOTS 1
109   #endif
110   #undef CYTHON_USE_PYTYPE_LOOKUP
111   #define CYTHON_USE_PYTYPE_LOOKUP 0
112   #undef CYTHON_USE_ASYNC_SLOTS
113   #define CYTHON_USE_ASYNC_SLOTS 0
114   #undef CYTHON_USE_PYLIST_INTERNALS
115   #define CYTHON_USE_PYLIST_INTERNALS 0
116   #ifndef CYTHON_USE_UNICODE_INTERNALS
117     #define CYTHON_USE_UNICODE_INTERNALS 1
118   #endif
119   #undef CYTHON_USE_UNICODE_WRITER
120   #define CYTHON_USE_UNICODE_WRITER 0
121   #undef CYTHON_USE_PYLONG_INTERNALS
122   #define CYTHON_USE_PYLONG_INTERNALS 0
123   #ifndef CYTHON_AVOID_BORROWED_REFS
124     #define CYTHON_AVOID_BORROWED_REFS 0
125   #endif
126   #ifndef CYTHON_ASSUME_SAFE_MACROS
127     #define CYTHON_ASSUME_SAFE_MACROS 1
128   #endif
129   #ifndef CYTHON_UNPACK_METHODS
130     #define CYTHON_UNPACK_METHODS 1
131   #endif
132   #undef CYTHON_FAST_THREAD_STATE
133   #define CYTHON_FAST_THREAD_STATE 0
134   #undef CYTHON_FAST_PYCALL
135   #define CYTHON_FAST_PYCALL 0
136   #undef CYTHON_PEP489_MULTI_PHASE_INIT
137   #define CYTHON_PEP489_MULTI_PHASE_INIT 0
138   #undef CYTHON_USE_TP_FINALIZE
139   #define CYTHON_USE_TP_FINALIZE 0
140   #undef CYTHON_USE_DICT_VERSIONS
141   #define CYTHON_USE_DICT_VERSIONS 0
142   #undef CYTHON_USE_EXC_INFO_STACK
143   #define CYTHON_USE_EXC_INFO_STACK 0
144 #else
145   #define CYTHON_COMPILING_IN_PYPY 0
146   #define CYTHON_COMPILING_IN_PYSTON 0
147   #define CYTHON_COMPILING_IN_CPYTHON 1
148   #ifndef CYTHON_USE_TYPE_SLOTS
149     #define CYTHON_USE_TYPE_SLOTS 1
150   #endif
151   #if PY_VERSION_HEX < 0x02070000
152     #undef CYTHON_USE_PYTYPE_LOOKUP
153     #define CYTHON_USE_PYTYPE_LOOKUP 0
154   #elif !defined(CYTHON_USE_PYTYPE_LOOKUP)
155     #define CYTHON_USE_PYTYPE_LOOKUP 1
156   #endif
157   #if PY_MAJOR_VERSION < 3
158     #undef CYTHON_USE_ASYNC_SLOTS
159     #define CYTHON_USE_ASYNC_SLOTS 0
160   #elif !defined(CYTHON_USE_ASYNC_SLOTS)
161     #define CYTHON_USE_ASYNC_SLOTS 1
162   #endif
163   #if PY_VERSION_HEX < 0x02070000
164     #undef CYTHON_USE_PYLONG_INTERNALS
165     #define CYTHON_USE_PYLONG_INTERNALS 0
166   #elif !defined(CYTHON_USE_PYLONG_INTERNALS)
167     #define CYTHON_USE_PYLONG_INTERNALS 1
168   #endif
169   #ifndef CYTHON_USE_PYLIST_INTERNALS
170     #define CYTHON_USE_PYLIST_INTERNALS 1
171   #endif
172   #ifndef CYTHON_USE_UNICODE_INTERNALS
173     #define CYTHON_USE_UNICODE_INTERNALS 1
174   #endif
175   #if PY_VERSION_HEX < 0x030300F0
176     #undef CYTHON_USE_UNICODE_WRITER
177     #define CYTHON_USE_UNICODE_WRITER 0
178   #elif !defined(CYTHON_USE_UNICODE_WRITER)
179     #define CYTHON_USE_UNICODE_WRITER 1
180   #endif
181   #ifndef CYTHON_AVOID_BORROWED_REFS
182     #define CYTHON_AVOID_BORROWED_REFS 0
183   #endif
184   #ifndef CYTHON_ASSUME_SAFE_MACROS
185     #define CYTHON_ASSUME_SAFE_MACROS 1
186   #endif
187   #ifndef CYTHON_UNPACK_METHODS
188     #define CYTHON_UNPACK_METHODS 1
189   #endif
190   #ifndef CYTHON_FAST_THREAD_STATE
191     #define CYTHON_FAST_THREAD_STATE 1
192   #endif
193   #ifndef CYTHON_FAST_PYCALL
194     #define CYTHON_FAST_PYCALL 1
195   #endif
196   #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
197     #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000)
198   #endif
199   #ifndef CYTHON_USE_TP_FINALIZE
200     #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)
201   #endif
202   #ifndef CYTHON_USE_DICT_VERSIONS
203     #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1)
204   #endif
205   #ifndef CYTHON_USE_EXC_INFO_STACK
206     #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3)
207   #endif
208 #endif
209 #if !defined(CYTHON_FAST_PYCCALL)
210 #define CYTHON_FAST_PYCCALL  (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
211 #endif
212 #if CYTHON_USE_PYLONG_INTERNALS
213   #include "longintrepr.h"
214   #undef SHIFT
215   #undef BASE
216   #undef MASK
217   #ifdef SIZEOF_VOID_P
218     enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
219   #endif
220 #endif
221 #ifndef __has_attribute
222   #define __has_attribute(x) 0
223 #endif
224 #ifndef __has_cpp_attribute
225   #define __has_cpp_attribute(x) 0
226 #endif
227 #ifndef CYTHON_RESTRICT
228   #if defined(__GNUC__)
229     #define CYTHON_RESTRICT __restrict__
230   #elif defined(_MSC_VER) && _MSC_VER >= 1400
231     #define CYTHON_RESTRICT __restrict
232   #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
233     #define CYTHON_RESTRICT restrict
234   #else
235     #define CYTHON_RESTRICT
236   #endif
237 #endif
238 #ifndef CYTHON_UNUSED
239 # if defined(__GNUC__)
240 #   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
241 #     define CYTHON_UNUSED __attribute__ ((__unused__))
242 #   else
243 #     define CYTHON_UNUSED
244 #   endif
245 # elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
246 #   define CYTHON_UNUSED __attribute__ ((__unused__))
247 # else
248 #   define CYTHON_UNUSED
249 # endif
250 #endif
251 #ifndef CYTHON_MAYBE_UNUSED_VAR
252 #  if defined(__cplusplus)
CYTHON_MAYBE_UNUSED_VAR(const T &)253      template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }
254 #  else
255 #    define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x)
256 #  endif
257 #endif
258 #ifndef CYTHON_NCP_UNUSED
259 # if CYTHON_COMPILING_IN_CPYTHON
260 #  define CYTHON_NCP_UNUSED
261 # else
262 #  define CYTHON_NCP_UNUSED CYTHON_UNUSED
263 # endif
264 #endif
265 #define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
266 #ifdef _MSC_VER
267     #ifndef _MSC_STDINT_H_
268         #if _MSC_VER < 1300
269            typedef unsigned char     uint8_t;
270            typedef unsigned int      uint32_t;
271         #else
272            typedef unsigned __int8   uint8_t;
273            typedef unsigned __int32  uint32_t;
274         #endif
275     #endif
276 #else
277    #include <stdint.h>
278 #endif
279 #ifndef CYTHON_FALLTHROUGH
280   #if defined(__cplusplus) && __cplusplus >= 201103L
281     #if __has_cpp_attribute(fallthrough)
282       #define CYTHON_FALLTHROUGH [[fallthrough]]
283     #elif __has_cpp_attribute(clang::fallthrough)
284       #define CYTHON_FALLTHROUGH [[clang::fallthrough]]
285     #elif __has_cpp_attribute(gnu::fallthrough)
286       #define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
287     #endif
288   #endif
289   #ifndef CYTHON_FALLTHROUGH
290     #if __has_attribute(fallthrough)
291       #define CYTHON_FALLTHROUGH __attribute__((fallthrough))
292     #else
293       #define CYTHON_FALLTHROUGH
294     #endif
295   #endif
296   #if defined(__clang__ ) && defined(__apple_build_version__)
297     #if __apple_build_version__ < 7000000
298       #undef  CYTHON_FALLTHROUGH
299       #define CYTHON_FALLTHROUGH
300     #endif
301   #endif
302 #endif
303 
304 #ifndef CYTHON_INLINE
305   #if defined(__clang__)
306     #define CYTHON_INLINE __inline__ __attribute__ ((__unused__))
307   #elif defined(__GNUC__)
308     #define CYTHON_INLINE __inline__
309   #elif defined(_MSC_VER)
310     #define CYTHON_INLINE __inline
311   #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
312     #define CYTHON_INLINE inline
313   #else
314     #define CYTHON_INLINE
315   #endif
316 #endif
317 
318 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
319   #define Py_OptimizeFlag 0
320 #endif
321 #define __PYX_BUILD_PY_SSIZE_T "n"
322 #define CYTHON_FORMAT_SSIZE_T "z"
323 #if PY_MAJOR_VERSION < 3
324   #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
325   #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
326           PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
327   #define __Pyx_DefaultClassType PyClass_Type
328 #else
329   #define __Pyx_BUILTIN_MODULE_NAME "builtins"
330 #if PY_VERSION_HEX >= 0x030800A4 && PY_VERSION_HEX < 0x030800B2
331   #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
332           PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
333 #else
334   #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
335           PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
336 #endif
337   #define __Pyx_DefaultClassType PyType_Type
338 #endif
339 #ifndef Py_TPFLAGS_CHECKTYPES
340   #define Py_TPFLAGS_CHECKTYPES 0
341 #endif
342 #ifndef Py_TPFLAGS_HAVE_INDEX
343   #define Py_TPFLAGS_HAVE_INDEX 0
344 #endif
345 #ifndef Py_TPFLAGS_HAVE_NEWBUFFER
346   #define Py_TPFLAGS_HAVE_NEWBUFFER 0
347 #endif
348 #ifndef Py_TPFLAGS_HAVE_FINALIZE
349   #define Py_TPFLAGS_HAVE_FINALIZE 0
350 #endif
351 #ifndef METH_STACKLESS
352   #define METH_STACKLESS 0
353 #endif
354 #if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL)
355   #ifndef METH_FASTCALL
356      #define METH_FASTCALL 0x80
357   #endif
358   typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs);
359   typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args,
360                                                           Py_ssize_t nargs, PyObject *kwnames);
361 #else
362   #define __Pyx_PyCFunctionFast _PyCFunctionFast
363   #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
364 #endif
365 #if CYTHON_FAST_PYCCALL
366 #define __Pyx_PyFastCFunction_Check(func)\
367     ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)))))
368 #else
369 #define __Pyx_PyFastCFunction_Check(func) 0
370 #endif
371 #if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)
372   #define PyObject_Malloc(s)   PyMem_Malloc(s)
373   #define PyObject_Free(p)     PyMem_Free(p)
374   #define PyObject_Realloc(p)  PyMem_Realloc(p)
375 #endif
376 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1
377   #define PyMem_RawMalloc(n)           PyMem_Malloc(n)
378   #define PyMem_RawRealloc(p, n)       PyMem_Realloc(p, n)
379   #define PyMem_RawFree(p)             PyMem_Free(p)
380 #endif
381 #if CYTHON_COMPILING_IN_PYSTON
382   #define __Pyx_PyCode_HasFreeVars(co)  PyCode_HasFreeVars(co)
383   #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno)
384 #else
385   #define __Pyx_PyCode_HasFreeVars(co)  (PyCode_GetNumFree(co) > 0)
386   #define __Pyx_PyFrame_SetLineNumber(frame, lineno)  (frame)->f_lineno = (lineno)
387 #endif
388 #if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000
389   #define __Pyx_PyThreadState_Current PyThreadState_GET()
390 #elif PY_VERSION_HEX >= 0x03060000
391   #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
392 #elif PY_VERSION_HEX >= 0x03000000
393   #define __Pyx_PyThreadState_Current PyThreadState_GET()
394 #else
395   #define __Pyx_PyThreadState_Current _PyThreadState_Current
396 #endif
397 #if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT)
398 #include "pythread.h"
399 #define Py_tss_NEEDS_INIT 0
400 typedef int Py_tss_t;
PyThread_tss_create(Py_tss_t * key)401 static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) {
402   *key = PyThread_create_key();
403   return 0;
404 }
PyThread_tss_alloc(void)405 static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) {
406   Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t));
407   *key = Py_tss_NEEDS_INIT;
408   return key;
409 }
PyThread_tss_free(Py_tss_t * key)410 static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) {
411   PyObject_Free(key);
412 }
PyThread_tss_is_created(Py_tss_t * key)413 static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) {
414   return *key != Py_tss_NEEDS_INIT;
415 }
PyThread_tss_delete(Py_tss_t * key)416 static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) {
417   PyThread_delete_key(*key);
418   *key = Py_tss_NEEDS_INIT;
419 }
PyThread_tss_set(Py_tss_t * key,void * value)420 static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) {
421   return PyThread_set_key_value(*key, value);
422 }
PyThread_tss_get(Py_tss_t * key)423 static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
424   return PyThread_get_key_value(*key);
425 }
426 #endif
427 #if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
428 #define __Pyx_PyDict_NewPresized(n)  ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
429 #else
430 #define __Pyx_PyDict_NewPresized(n)  PyDict_New()
431 #endif
432 #if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION
433   #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
434   #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
435 #else
436   #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
437   #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
438 #endif
439 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS
440 #define __Pyx_PyDict_GetItemStr(dict, name)  _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
441 #else
442 #define __Pyx_PyDict_GetItemStr(dict, name)  PyDict_GetItem(dict, name)
443 #endif
444 #if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
445   #define CYTHON_PEP393_ENABLED 1
446   #if defined(PyUnicode_IS_READY)
447   #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
448                                               0 : _PyUnicode_Ready((PyObject *)(op)))
449   #else
450   #define __Pyx_PyUnicode_READY(op)       (0)
451   #endif
452   #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
453   #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
454   #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   PyUnicode_MAX_CHAR_VALUE(u)
455   #define __Pyx_PyUnicode_KIND(u)         PyUnicode_KIND(u)
456   #define __Pyx_PyUnicode_DATA(u)         PyUnicode_DATA(u)
457   #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
458   #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  PyUnicode_WRITE(k, d, i, ch)
459   #if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE)
460   #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
461   #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
462   #else
463   #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
464   #endif
465   #else
466   #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_LENGTH(u))
467   #endif
468 #else
469   #define CYTHON_PEP393_ENABLED 0
470   #define PyUnicode_1BYTE_KIND  1
471   #define PyUnicode_2BYTE_KIND  2
472   #define PyUnicode_4BYTE_KIND  4
473   #define __Pyx_PyUnicode_READY(op)       (0)
474   #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
475   #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
476   #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111)
477   #define __Pyx_PyUnicode_KIND(u)         (sizeof(Py_UNICODE))
478   #define __Pyx_PyUnicode_DATA(u)         ((void*)PyUnicode_AS_UNICODE(u))
479   #define __Pyx_PyUnicode_READ(k, d, i)   ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
480   #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  (((void)(k)), ((Py_UNICODE*)d)[i] = ch)
481   #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_SIZE(u))
482 #endif
483 #if CYTHON_COMPILING_IN_PYPY
484   #define __Pyx_PyUnicode_Concat(a, b)      PyNumber_Add(a, b)
485   #define __Pyx_PyUnicode_ConcatSafe(a, b)  PyNumber_Add(a, b)
486 #else
487   #define __Pyx_PyUnicode_Concat(a, b)      PyUnicode_Concat(a, b)
488   #define __Pyx_PyUnicode_ConcatSafe(a, b)  ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\
489       PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
490 #endif
491 #if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains)
492   #define PyUnicode_Contains(u, s)  PySequence_Contains(u, s)
493 #endif
494 #if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check)
495   #define PyByteArray_Check(obj)  PyObject_TypeCheck(obj, &PyByteArray_Type)
496 #endif
497 #if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format)
498   #define PyObject_Format(obj, fmt)  PyObject_CallMethod(obj, "__format__", "O", fmt)
499 #endif
500 #define __Pyx_PyString_FormatSafe(a, b)   ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
501 #define __Pyx_PyUnicode_FormatSafe(a, b)  ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
502 #if PY_MAJOR_VERSION >= 3
503   #define __Pyx_PyString_Format(a, b)  PyUnicode_Format(a, b)
504 #else
505   #define __Pyx_PyString_Format(a, b)  PyString_Format(a, b)
506 #endif
507 #if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII)
508   #define PyObject_ASCII(o)            PyObject_Repr(o)
509 #endif
510 #if PY_MAJOR_VERSION >= 3
511   #define PyBaseString_Type            PyUnicode_Type
512   #define PyStringObject               PyUnicodeObject
513   #define PyString_Type                PyUnicode_Type
514   #define PyString_Check               PyUnicode_Check
515   #define PyString_CheckExact          PyUnicode_CheckExact
516 #ifndef PyObject_Unicode
517   #define PyObject_Unicode             PyObject_Str
518 #endif
519 #endif
520 #if PY_MAJOR_VERSION >= 3
521   #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
522   #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
523 #else
524   #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))
525   #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
526 #endif
527 #ifndef PySet_CheckExact
528   #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
529 #endif
530 #if PY_VERSION_HEX >= 0x030900A4
531   #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt)
532   #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size)
533 #else
534   #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt)
535   #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
536 #endif
537 #if CYTHON_ASSUME_SAFE_MACROS
538   #define __Pyx_PySequence_SIZE(seq)  Py_SIZE(seq)
539 #else
540   #define __Pyx_PySequence_SIZE(seq)  PySequence_Size(seq)
541 #endif
542 #if PY_MAJOR_VERSION >= 3
543   #define PyIntObject                  PyLongObject
544   #define PyInt_Type                   PyLong_Type
545   #define PyInt_Check(op)              PyLong_Check(op)
546   #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
547   #define PyInt_FromString             PyLong_FromString
548   #define PyInt_FromUnicode            PyLong_FromUnicode
549   #define PyInt_FromLong               PyLong_FromLong
550   #define PyInt_FromSize_t             PyLong_FromSize_t
551   #define PyInt_FromSsize_t            PyLong_FromSsize_t
552   #define PyInt_AsLong                 PyLong_AsLong
553   #define PyInt_AS_LONG                PyLong_AS_LONG
554   #define PyInt_AsSsize_t              PyLong_AsSsize_t
555   #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
556   #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
557   #define PyNumber_Int                 PyNumber_Long
558 #endif
559 #if PY_MAJOR_VERSION >= 3
560   #define PyBoolObject                 PyLongObject
561 #endif
562 #if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
563   #ifndef PyUnicode_InternFromString
564     #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
565   #endif
566 #endif
567 #if PY_VERSION_HEX < 0x030200A4
568   typedef long Py_hash_t;
569   #define __Pyx_PyInt_FromHash_t PyInt_FromLong
570   #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
571 #else
572   #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
573   #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
574 #endif
575 #if PY_MAJOR_VERSION >= 3
576   #define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(func))
577 #else
578   #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)
579 #endif
580 #if CYTHON_USE_ASYNC_SLOTS
581   #if PY_VERSION_HEX >= 0x030500B1
582     #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
583     #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)
584   #else
585     #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
586   #endif
587 #else
588   #define __Pyx_PyType_AsAsync(obj) NULL
589 #endif
590 #ifndef __Pyx_PyAsyncMethodsStruct
591     typedef struct {
592         unaryfunc am_await;
593         unaryfunc am_aiter;
594         unaryfunc am_anext;
595     } __Pyx_PyAsyncMethodsStruct;
596 #endif
597 
598 #if defined(WIN32) || defined(MS_WINDOWS)
599   #define _USE_MATH_DEFINES
600 #endif
601 #include <math.h>
602 #ifdef NAN
603 #define __PYX_NAN() ((float) NAN)
604 #else
__PYX_NAN()605 static CYTHON_INLINE float __PYX_NAN() {
606   float value;
607   memset(&value, 0xFF, sizeof(value));
608   return value;
609 }
610 #endif
611 #if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
612 #define __Pyx_truncl trunc
613 #else
614 #define __Pyx_truncl truncl
615 #endif
616 
617 #define __PYX_MARK_ERR_POS(f_index, lineno) \
618     { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; }
619 #define __PYX_ERR(f_index, lineno, Ln_error) \
620     { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; }
621 
622 #ifndef __PYX_EXTERN_C
623   #ifdef __cplusplus
624     #define __PYX_EXTERN_C extern "C"
625   #else
626     #define __PYX_EXTERN_C extern
627   #endif
628 #endif
629 
630 #define __PYX_HAVE__Cython__Compiler__FlowControl
631 #define __PYX_HAVE_API__Cython__Compiler__FlowControl
632 /* Early includes */
633 #ifdef _OPENMP
634 #include <omp.h>
635 #endif /* _OPENMP */
636 
637 #if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)
638 #define CYTHON_WITHOUT_ASSERTIONS
639 #endif
640 
641 typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;
642                 const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;
643 
644 #define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
645 #define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0
646 #define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8)
647 #define __PYX_DEFAULT_STRING_ENCODING ""
648 #define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
649 #define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
650 #define __Pyx_uchar_cast(c) ((unsigned char)c)
651 #define __Pyx_long_cast(x) ((long)x)
652 #define __Pyx_fits_Py_ssize_t(v, type, is_signed)  (\
653     (sizeof(type) < sizeof(Py_ssize_t))  ||\
654     (sizeof(type) > sizeof(Py_ssize_t) &&\
655           likely(v < (type)PY_SSIZE_T_MAX ||\
656                  v == (type)PY_SSIZE_T_MAX)  &&\
657           (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\
658                                 v == (type)PY_SSIZE_T_MIN)))  ||\
659     (sizeof(type) == sizeof(Py_ssize_t) &&\
660           (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
661                                v == (type)PY_SSIZE_T_MAX)))  )
__Pyx_is_valid_index(Py_ssize_t i,Py_ssize_t limit)662 static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
663     return (size_t) i < (size_t) limit;
664 }
665 #if defined (__cplusplus) && __cplusplus >= 201103L
666     #include <cstdlib>
667     #define __Pyx_sst_abs(value) std::abs(value)
668 #elif SIZEOF_INT >= SIZEOF_SIZE_T
669     #define __Pyx_sst_abs(value) abs(value)
670 #elif SIZEOF_LONG >= SIZEOF_SIZE_T
671     #define __Pyx_sst_abs(value) labs(value)
672 #elif defined (_MSC_VER)
673     #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))
674 #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
675     #define __Pyx_sst_abs(value) llabs(value)
676 #elif defined (__GNUC__)
677     #define __Pyx_sst_abs(value) __builtin_llabs(value)
678 #else
679     #define __Pyx_sst_abs(value) ((value<0) ? -value : value)
680 #endif
681 static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
682 static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
683 #define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
684 #define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
685 #define __Pyx_PyBytes_FromString        PyBytes_FromString
686 #define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
687 static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
688 #if PY_MAJOR_VERSION < 3
689     #define __Pyx_PyStr_FromString        __Pyx_PyBytes_FromString
690     #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
691 #else
692     #define __Pyx_PyStr_FromString        __Pyx_PyUnicode_FromString
693     #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
694 #endif
695 #define __Pyx_PyBytes_AsWritableString(s)     ((char*) PyBytes_AS_STRING(s))
696 #define __Pyx_PyBytes_AsWritableSString(s)    ((signed char*) PyBytes_AS_STRING(s))
697 #define __Pyx_PyBytes_AsWritableUString(s)    ((unsigned char*) PyBytes_AS_STRING(s))
698 #define __Pyx_PyBytes_AsString(s)     ((const char*) PyBytes_AS_STRING(s))
699 #define __Pyx_PyBytes_AsSString(s)    ((const signed char*) PyBytes_AS_STRING(s))
700 #define __Pyx_PyBytes_AsUString(s)    ((const unsigned char*) PyBytes_AS_STRING(s))
701 #define __Pyx_PyObject_AsWritableString(s)    ((char*) __Pyx_PyObject_AsString(s))
702 #define __Pyx_PyObject_AsWritableSString(s)    ((signed char*) __Pyx_PyObject_AsString(s))
703 #define __Pyx_PyObject_AsWritableUString(s)    ((unsigned char*) __Pyx_PyObject_AsString(s))
704 #define __Pyx_PyObject_AsSString(s)    ((const signed char*) __Pyx_PyObject_AsString(s))
705 #define __Pyx_PyObject_AsUString(s)    ((const unsigned char*) __Pyx_PyObject_AsString(s))
706 #define __Pyx_PyObject_FromCString(s)  __Pyx_PyObject_FromString((const char*)s)
707 #define __Pyx_PyBytes_FromCString(s)   __Pyx_PyBytes_FromString((const char*)s)
708 #define __Pyx_PyByteArray_FromCString(s)   __Pyx_PyByteArray_FromString((const char*)s)
709 #define __Pyx_PyStr_FromCString(s)     __Pyx_PyStr_FromString((const char*)s)
710 #define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
__Pyx_Py_UNICODE_strlen(const Py_UNICODE * u)711 static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) {
712     const Py_UNICODE *u_end = u;
713     while (*u_end++) ;
714     return (size_t)(u_end - u - 1);
715 }
716 #define __Pyx_PyUnicode_FromUnicode(u)       PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
717 #define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode
718 #define __Pyx_PyUnicode_AsUnicode            PyUnicode_AsUnicode
719 #define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)
720 #define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
721 static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b);
722 static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
723 static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*);
724 static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x);
725 #define __Pyx_PySequence_Tuple(obj)\
726     (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
727 static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
728 static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
729 #if CYTHON_ASSUME_SAFE_MACROS
730 #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
731 #else
732 #define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
733 #endif
734 #define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
735 #if PY_MAJOR_VERSION >= 3
736 #define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
737 #else
738 #define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))
739 #endif
740 #define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x))
741 #if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
742 static int __Pyx_sys_getdefaultencoding_not_ascii;
__Pyx_init_sys_getdefaultencoding_params(void)743 static int __Pyx_init_sys_getdefaultencoding_params(void) {
744     PyObject* sys;
745     PyObject* default_encoding = NULL;
746     PyObject* ascii_chars_u = NULL;
747     PyObject* ascii_chars_b = NULL;
748     const char* default_encoding_c;
749     sys = PyImport_ImportModule("sys");
750     if (!sys) goto bad;
751     default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);
752     Py_DECREF(sys);
753     if (!default_encoding) goto bad;
754     default_encoding_c = PyBytes_AsString(default_encoding);
755     if (!default_encoding_c) goto bad;
756     if (strcmp(default_encoding_c, "ascii") == 0) {
757         __Pyx_sys_getdefaultencoding_not_ascii = 0;
758     } else {
759         char ascii_chars[128];
760         int c;
761         for (c = 0; c < 128; c++) {
762             ascii_chars[c] = c;
763         }
764         __Pyx_sys_getdefaultencoding_not_ascii = 1;
765         ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
766         if (!ascii_chars_u) goto bad;
767         ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
768         if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
769             PyErr_Format(
770                 PyExc_ValueError,
771                 "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
772                 default_encoding_c);
773             goto bad;
774         }
775         Py_DECREF(ascii_chars_u);
776         Py_DECREF(ascii_chars_b);
777     }
778     Py_DECREF(default_encoding);
779     return 0;
780 bad:
781     Py_XDECREF(default_encoding);
782     Py_XDECREF(ascii_chars_u);
783     Py_XDECREF(ascii_chars_b);
784     return -1;
785 }
786 #endif
787 #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
788 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
789 #else
790 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
791 #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
792 static char* __PYX_DEFAULT_STRING_ENCODING;
__Pyx_init_sys_getdefaultencoding_params(void)793 static int __Pyx_init_sys_getdefaultencoding_params(void) {
794     PyObject* sys;
795     PyObject* default_encoding = NULL;
796     char* default_encoding_c;
797     sys = PyImport_ImportModule("sys");
798     if (!sys) goto bad;
799     default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
800     Py_DECREF(sys);
801     if (!default_encoding) goto bad;
802     default_encoding_c = PyBytes_AsString(default_encoding);
803     if (!default_encoding_c) goto bad;
804     __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1);
805     if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;
806     strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
807     Py_DECREF(default_encoding);
808     return 0;
809 bad:
810     Py_XDECREF(default_encoding);
811     return -1;
812 }
813 #endif
814 #endif
815 
816 
817 /* Test for GCC > 2.95 */
818 #if defined(__GNUC__)     && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
819   #define likely(x)   __builtin_expect(!!(x), 1)
820   #define unlikely(x) __builtin_expect(!!(x), 0)
821 #else /* !__GNUC__ or GCC < 2.95 */
822   #define likely(x)   (x)
823   #define unlikely(x) (x)
824 #endif /* __GNUC__ */
__Pyx_pretend_to_initialize(void * ptr)825 static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }
826 
827 static PyObject *__pyx_m = NULL;
828 static PyObject *__pyx_d;
829 static PyObject *__pyx_b;
830 static PyObject *__pyx_cython_runtime = NULL;
831 static PyObject *__pyx_empty_tuple;
832 static PyObject *__pyx_empty_bytes;
833 static PyObject *__pyx_empty_unicode;
834 static int __pyx_lineno;
835 static int __pyx_clineno = 0;
836 static const char * __pyx_cfilenm= __FILE__;
837 static const char *__pyx_filename;
838 
839 
840 static const char *__pyx_f[] = {
841   "Cython/Compiler/FlowControl.py",
842   "Cython/Compiler/FlowControl.pxd",
843   "stringsource",
844   "Cython/Compiler/Visitor.pxd",
845 };
846 
847 /*--- Type declarations ---*/
848 struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor;
849 struct __pyx_obj_6Cython_8Compiler_7Visitor_VisitorTransform;
850 struct __pyx_obj_6Cython_8Compiler_7Visitor_CythonTransform;
851 struct __pyx_obj_6Cython_8Compiler_7Visitor_ScopeTrackingTransform;
852 struct __pyx_obj_6Cython_8Compiler_7Visitor_EnvTransform;
853 struct __pyx_obj_6Cython_8Compiler_7Visitor_MethodDispatcherTransform;
854 struct __pyx_obj_6Cython_8Compiler_7Visitor_RecursiveNodeReplacer;
855 struct __pyx_obj_6Cython_8Compiler_7Visitor_NodeFinder;
856 struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock;
857 struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock;
858 struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment;
859 struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList;
860 struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector;
861 struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow;
862 struct __pyx_obj_6Cython_8Compiler_11FlowControl_Uninitialized;
863 struct __pyx_obj_6Cython_8Compiler_11FlowControl_Unknown;
864 struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection;
865 struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis;
866 struct __pyx_opt_args_6Cython_8Compiler_7Visitor_11TreeVisitor_visitchildren;
867 struct __pyx_opt_args_6Cython_8Compiler_7Visitor_16VisitorTransform__process_children;
868 struct __pyx_opt_args_6Cython_8Compiler_7Visitor_16VisitorTransform_visitchildren;
869 
870 /* "Visitor.pxd":14
871  *     cdef _visitchild(self, child, parent, attrname, idx)
872  *     cdef dict _visitchildren(self, parent, attrs)
873  *     cpdef visitchildren(self, parent, attrs=*)             # <<<<<<<<<<<<<<
874  *     cdef _raise_compiler_error(self, child, e)
875  *
876  */
877 struct __pyx_opt_args_6Cython_8Compiler_7Visitor_11TreeVisitor_visitchildren {
878   int __pyx_n;
879   PyObject *attrs;
880 };
881 
882 /* "Visitor.pxd":18
883  *
884  * cdef class VisitorTransform(TreeVisitor):
885  *     cdef dict _process_children(self, parent, attrs=*)             # <<<<<<<<<<<<<<
886  *     cpdef visitchildren(self, parent, attrs=*, exclude=*)
887  *     cdef list _flatten_list(self, list orig_list)
888  */
889 struct __pyx_opt_args_6Cython_8Compiler_7Visitor_16VisitorTransform__process_children {
890   int __pyx_n;
891   PyObject *attrs;
892 };
893 
894 /* "Visitor.pxd":19
895  * cdef class VisitorTransform(TreeVisitor):
896  *     cdef dict _process_children(self, parent, attrs=*)
897  *     cpdef visitchildren(self, parent, attrs=*, exclude=*)             # <<<<<<<<<<<<<<
898  *     cdef list _flatten_list(self, list orig_list)
899  *     cdef list _select_attrs(self, attrs, exclude)
900  */
901 struct __pyx_opt_args_6Cython_8Compiler_7Visitor_16VisitorTransform_visitchildren {
902   int __pyx_n;
903   PyObject *attrs;
904   PyObject *exclude;
905 };
906 struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock;
907 struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock;
908 struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment;
909 
910 /* "Cython/Compiler/FlowControl.pxd":61
911  *      cdef public dict assmts
912  *
913  *      cpdef newblock(self, ControlBlock parent=*)             # <<<<<<<<<<<<<<
914  *      cpdef nextblock(self, ControlBlock parent=*)
915  *      cpdef bint is_tracked(self, entry)
916  */
917 struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock {
918   int __pyx_n;
919   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *parent;
920 };
921 
922 /* "Cython/Compiler/FlowControl.pxd":62
923  *
924  *      cpdef newblock(self, ControlBlock parent=*)
925  *      cpdef nextblock(self, ControlBlock parent=*)             # <<<<<<<<<<<<<<
926  *      cpdef bint is_tracked(self, entry)
927  *      cpdef bint is_statically_assigned(self, entry)
928  */
929 struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock {
930   int __pyx_n;
931   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *parent;
932 };
933 
934 /* "Cython/Compiler/FlowControl.pxd":110
935  *     cdef bint in_inplace_assignment
936  *
937  *     cpdef mark_assignment(self, lhs, rhs=*)             # <<<<<<<<<<<<<<
938  *     cpdef mark_position(self, node)
939  */
940 struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment {
941   int __pyx_n;
942   PyObject *rhs;
943 };
944 
945 /* "Visitor.pxd":5
946  * cimport cython
947  *
948  * cdef class TreeVisitor:             # <<<<<<<<<<<<<<
949  *     cdef public list access_path
950  *     cdef dict dispatch_table
951  */
952 struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor {
953   PyObject_HEAD
954   struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_TreeVisitor *__pyx_vtab;
955   PyObject *access_path;
956   PyObject *dispatch_table;
957 };
958 
959 
960 /* "Visitor.pxd":17
961  *     cdef _raise_compiler_error(self, child, e)
962  *
963  * cdef class VisitorTransform(TreeVisitor):             # <<<<<<<<<<<<<<
964  *     cdef dict _process_children(self, parent, attrs=*)
965  *     cpdef visitchildren(self, parent, attrs=*, exclude=*)
966  */
967 struct __pyx_obj_6Cython_8Compiler_7Visitor_VisitorTransform {
968   struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor __pyx_base;
969 };
970 
971 
972 /* "Visitor.pxd":23
973  *     cdef list _select_attrs(self, attrs, exclude)
974  *
975  * cdef class CythonTransform(VisitorTransform):             # <<<<<<<<<<<<<<
976  *     cdef public context
977  *     cdef public current_directives
978  */
979 struct __pyx_obj_6Cython_8Compiler_7Visitor_CythonTransform {
980   struct __pyx_obj_6Cython_8Compiler_7Visitor_VisitorTransform __pyx_base;
981   PyObject *context;
982   PyObject *current_directives;
983 };
984 
985 
986 /* "Visitor.pxd":27
987  *     cdef public current_directives
988  *
989  * cdef class ScopeTrackingTransform(CythonTransform):             # <<<<<<<<<<<<<<
990  *     cdef public scope_type
991  *     cdef public scope_node
992  */
993 struct __pyx_obj_6Cython_8Compiler_7Visitor_ScopeTrackingTransform {
994   struct __pyx_obj_6Cython_8Compiler_7Visitor_CythonTransform __pyx_base;
995   PyObject *scope_type;
996   PyObject *scope_node;
997 };
998 
999 
1000 /* "Visitor.pxd":32
1001  *     cdef visit_scope(self, node, scope_type)
1002  *
1003  * cdef class EnvTransform(CythonTransform):             # <<<<<<<<<<<<<<
1004  *     cdef public list env_stack
1005  *
1006  */
1007 struct __pyx_obj_6Cython_8Compiler_7Visitor_EnvTransform {
1008   struct __pyx_obj_6Cython_8Compiler_7Visitor_CythonTransform __pyx_base;
1009   PyObject *env_stack;
1010 };
1011 
1012 
1013 /* "Visitor.pxd":35
1014  *     cdef public list env_stack
1015  *
1016  * cdef class MethodDispatcherTransform(EnvTransform):             # <<<<<<<<<<<<<<
1017  *     @cython.final
1018  *     cdef _visit_binop_node(self, node)
1019  */
1020 struct __pyx_obj_6Cython_8Compiler_7Visitor_MethodDispatcherTransform {
1021   struct __pyx_obj_6Cython_8Compiler_7Visitor_EnvTransform __pyx_base;
1022 };
1023 
1024 
1025 /* "Visitor.pxd":49
1026  *                                      node, function, arg_list, kwargs)
1027  *
1028  * cdef class RecursiveNodeReplacer(VisitorTransform):             # <<<<<<<<<<<<<<
1029  *      cdef public orig_node
1030  *      cdef public new_node
1031  */
1032 struct __pyx_obj_6Cython_8Compiler_7Visitor_RecursiveNodeReplacer {
1033   struct __pyx_obj_6Cython_8Compiler_7Visitor_VisitorTransform __pyx_base;
1034   PyObject *orig_node;
1035   PyObject *new_node;
1036 };
1037 
1038 
1039 /* "Visitor.pxd":53
1040  *      cdef public new_node
1041  *
1042  * cdef class NodeFinder(TreeVisitor):             # <<<<<<<<<<<<<<
1043  *     cdef node
1044  *     cdef public bint found
1045  */
1046 struct __pyx_obj_6Cython_8Compiler_7Visitor_NodeFinder {
1047   struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor __pyx_base;
1048   PyObject *node;
1049   int found;
1050 };
1051 
1052 
1053 /* "Cython/Compiler/FlowControl.pxd":7
1054  * from .Visitor cimport CythonTransform, TreeVisitor
1055  *
1056  * cdef class ControlBlock:             # <<<<<<<<<<<<<<
1057  *      cdef public set children
1058  *      cdef public set parents
1059  */
1060 struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock {
1061   PyObject_HEAD
1062   struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_vtab;
1063   PyObject *children;
1064   PyObject *parents;
1065   PyObject *positions;
1066   PyObject *stats;
1067   PyObject *gen;
1068   PyObject *bounded;
1069   PyObject *i_input;
1070   PyObject *i_output;
1071   PyObject *i_gen;
1072   PyObject *i_kill;
1073   PyObject *i_state;
1074 };
1075 
1076 
1077 /* "Cython/Compiler/FlowControl.pxd":26
1078  *      cpdef add_child(self, block)
1079  *
1080  * cdef class ExitBlock(ControlBlock):             # <<<<<<<<<<<<<<
1081  *      cpdef bint empty(self)
1082  *
1083  */
1084 struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock {
1085   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock __pyx_base;
1086 };
1087 
1088 
1089 /* "Cython/Compiler/FlowControl.pxd":29
1090  *      cpdef bint empty(self)
1091  *
1092  * cdef class NameAssignment:             # <<<<<<<<<<<<<<
1093  *     cdef public bint is_arg
1094  *     cdef public bint is_deletion
1095  */
1096 struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment {
1097   PyObject_HEAD
1098   int is_arg;
1099   int is_deletion;
1100   PyObject *lhs;
1101   PyObject *rhs;
1102   PyObject *entry;
1103   PyObject *pos;
1104   PyObject *refs;
1105   PyObject *bit;
1106   PyObject *inferred_type;
1107 };
1108 
1109 
1110 /* "Cython/Compiler/FlowControl.pxd":40
1111  *     cdef public object inferred_type
1112  *
1113  * cdef class AssignmentList:             # <<<<<<<<<<<<<<
1114  *     cdef public object bit
1115  *     cdef public object mask
1116  */
1117 struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList {
1118   PyObject_HEAD
1119   PyObject *bit;
1120   PyObject *mask;
1121   PyObject *stats;
1122 };
1123 
1124 
1125 /* "Cython/Compiler/FlowControl.pxd":45
1126  *     cdef public list stats
1127  *
1128  * cdef class AssignmentCollector(TreeVisitor):             # <<<<<<<<<<<<<<
1129  *     cdef list assignments
1130  *
1131  */
1132 struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector {
1133   struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor __pyx_base;
1134   PyObject *assignments;
1135 };
1136 
1137 
1138 /* "Cython/Compiler/FlowControl.pxd":49
1139  *
1140  * @cython.final
1141  * cdef class ControlFlow:             # <<<<<<<<<<<<<<
1142  *      cdef public set blocks
1143  *      cdef public set entries
1144  */
1145 struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow {
1146   PyObject_HEAD
1147   struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_vtab;
1148   PyObject *blocks;
1149   PyObject *entries;
1150   PyObject *loops;
1151   PyObject *exceptions;
1152   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *entry_point;
1153   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock *exit_point;
1154   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *block;
1155   PyObject *assmts;
1156 };
1157 
1158 
1159 /* "Cython/Compiler/FlowControl.pxd":84
1160  *      cdef reaching_definitions(self)
1161  *
1162  * cdef class Uninitialized:             # <<<<<<<<<<<<<<
1163  *      pass
1164  *
1165  */
1166 struct __pyx_obj_6Cython_8Compiler_11FlowControl_Uninitialized {
1167   PyObject_HEAD
1168 };
1169 
1170 
1171 /* "Cython/Compiler/FlowControl.pxd":87
1172  *      pass
1173  *
1174  * cdef class Unknown:             # <<<<<<<<<<<<<<
1175  *     pass
1176  *
1177  */
1178 struct __pyx_obj_6Cython_8Compiler_11FlowControl_Unknown {
1179   PyObject_HEAD
1180 };
1181 
1182 
1183 /* "Cython/Compiler/FlowControl.pxd":91
1184  *
1185  *
1186  * cdef class MessageCollection:             # <<<<<<<<<<<<<<
1187  *     cdef set messages
1188  *
1189  */
1190 struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection {
1191   PyObject_HEAD
1192   PyObject *messages;
1193 };
1194 
1195 
1196 /* "Cython/Compiler/FlowControl.pxd":100
1197  *
1198  * @cython.final
1199  * cdef class ControlFlowAnalysis(CythonTransform):             # <<<<<<<<<<<<<<
1200  *     cdef object gv_ctx
1201  *     cdef object constant_folder
1202  */
1203 struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis {
1204   struct __pyx_obj_6Cython_8Compiler_7Visitor_CythonTransform __pyx_base;
1205   PyObject *gv_ctx;
1206   PyObject *constant_folder;
1207   PyObject *reductions;
1208   PyObject *env_stack;
1209   PyObject *stack;
1210   PyObject *env;
1211   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *flow;
1212   int in_inplace_assignment;
1213 };
1214 
1215 
1216 
1217 /* "Visitor.pxd":5
1218  * cimport cython
1219  *
1220  * cdef class TreeVisitor:             # <<<<<<<<<<<<<<
1221  *     cdef public list access_path
1222  *     cdef dict dispatch_table
1223  */
1224 
1225 struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_TreeVisitor {
1226   PyObject *(*visit)(struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *, PyObject *, int __pyx_skip_dispatch);
1227   PyObject *(*_visit)(struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *, PyObject *);
1228   PyObject *(*find_handler)(struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *, PyObject *);
1229   PyObject *(*_visitchild)(struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *, PyObject *, PyObject *, PyObject *, PyObject *);
1230   PyObject *(*_visitchildren)(struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *, PyObject *, PyObject *);
1231   PyObject *(*visitchildren)(struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_7Visitor_11TreeVisitor_visitchildren *__pyx_optional_args);
1232   PyObject *(*_raise_compiler_error)(struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *, PyObject *, PyObject *);
1233 };
1234 static struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_TreeVisitor *__pyx_vtabptr_6Cython_8Compiler_7Visitor_TreeVisitor;
1235 
1236 
1237 /* "Visitor.pxd":17
1238  *     cdef _raise_compiler_error(self, child, e)
1239  *
1240  * cdef class VisitorTransform(TreeVisitor):             # <<<<<<<<<<<<<<
1241  *     cdef dict _process_children(self, parent, attrs=*)
1242  *     cpdef visitchildren(self, parent, attrs=*, exclude=*)
1243  */
1244 
1245 struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_VisitorTransform {
1246   struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_TreeVisitor __pyx_base;
1247   PyObject *(*_process_children)(struct __pyx_obj_6Cython_8Compiler_7Visitor_VisitorTransform *, PyObject *, struct __pyx_opt_args_6Cython_8Compiler_7Visitor_16VisitorTransform__process_children *__pyx_optional_args);
1248   PyObject *(*visitchildren)(struct __pyx_obj_6Cython_8Compiler_7Visitor_VisitorTransform *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_7Visitor_16VisitorTransform_visitchildren *__pyx_optional_args);
1249   PyObject *(*_flatten_list)(struct __pyx_obj_6Cython_8Compiler_7Visitor_VisitorTransform *, PyObject *);
1250   PyObject *(*_select_attrs)(struct __pyx_obj_6Cython_8Compiler_7Visitor_VisitorTransform *, PyObject *, PyObject *);
1251 };
1252 static struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_VisitorTransform *__pyx_vtabptr_6Cython_8Compiler_7Visitor_VisitorTransform;
1253 
1254 
1255 /* "Visitor.pxd":23
1256  *     cdef list _select_attrs(self, attrs, exclude)
1257  *
1258  * cdef class CythonTransform(VisitorTransform):             # <<<<<<<<<<<<<<
1259  *     cdef public context
1260  *     cdef public current_directives
1261  */
1262 
1263 struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_CythonTransform {
1264   struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_VisitorTransform __pyx_base;
1265 };
1266 static struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_CythonTransform *__pyx_vtabptr_6Cython_8Compiler_7Visitor_CythonTransform;
1267 
1268 
1269 /* "Visitor.pxd":27
1270  *     cdef public current_directives
1271  *
1272  * cdef class ScopeTrackingTransform(CythonTransform):             # <<<<<<<<<<<<<<
1273  *     cdef public scope_type
1274  *     cdef public scope_node
1275  */
1276 
1277 struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_ScopeTrackingTransform {
1278   struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_CythonTransform __pyx_base;
1279   PyObject *(*visit_scope)(struct __pyx_obj_6Cython_8Compiler_7Visitor_ScopeTrackingTransform *, PyObject *, PyObject *);
1280 };
1281 static struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_ScopeTrackingTransform *__pyx_vtabptr_6Cython_8Compiler_7Visitor_ScopeTrackingTransform;
1282 
1283 
1284 /* "Visitor.pxd":32
1285  *     cdef visit_scope(self, node, scope_type)
1286  *
1287  * cdef class EnvTransform(CythonTransform):             # <<<<<<<<<<<<<<
1288  *     cdef public list env_stack
1289  *
1290  */
1291 
1292 struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_EnvTransform {
1293   struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_CythonTransform __pyx_base;
1294 };
1295 static struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_EnvTransform *__pyx_vtabptr_6Cython_8Compiler_7Visitor_EnvTransform;
1296 
1297 
1298 /* "Visitor.pxd":35
1299  *     cdef public list env_stack
1300  *
1301  * cdef class MethodDispatcherTransform(EnvTransform):             # <<<<<<<<<<<<<<
1302  *     @cython.final
1303  *     cdef _visit_binop_node(self, node)
1304  */
1305 
1306 struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_MethodDispatcherTransform {
1307   struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_EnvTransform __pyx_base;
1308   PyObject *(*_visit_binop_node)(struct __pyx_obj_6Cython_8Compiler_7Visitor_MethodDispatcherTransform *, PyObject *);
1309   PyObject *(*_find_handler)(struct __pyx_obj_6Cython_8Compiler_7Visitor_MethodDispatcherTransform *, PyObject *, int);
1310   PyObject *(*_delegate_to_assigned_value)(struct __pyx_obj_6Cython_8Compiler_7Visitor_MethodDispatcherTransform *, PyObject *, PyObject *, PyObject *, PyObject *);
1311   PyObject *(*_dispatch_to_handler)(struct __pyx_obj_6Cython_8Compiler_7Visitor_MethodDispatcherTransform *, PyObject *, PyObject *, PyObject *, PyObject *);
1312   PyObject *(*_dispatch_to_method_handler)(struct __pyx_obj_6Cython_8Compiler_7Visitor_MethodDispatcherTransform *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *);
1313 };
1314 static struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_MethodDispatcherTransform *__pyx_vtabptr_6Cython_8Compiler_7Visitor_MethodDispatcherTransform;
1315 
1316 
1317 /* "Visitor.pxd":49
1318  *                                      node, function, arg_list, kwargs)
1319  *
1320  * cdef class RecursiveNodeReplacer(VisitorTransform):             # <<<<<<<<<<<<<<
1321  *      cdef public orig_node
1322  *      cdef public new_node
1323  */
1324 
1325 struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_RecursiveNodeReplacer {
1326   struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_VisitorTransform __pyx_base;
1327 };
1328 static struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_RecursiveNodeReplacer *__pyx_vtabptr_6Cython_8Compiler_7Visitor_RecursiveNodeReplacer;
1329 
1330 
1331 /* "Visitor.pxd":53
1332  *      cdef public new_node
1333  *
1334  * cdef class NodeFinder(TreeVisitor):             # <<<<<<<<<<<<<<
1335  *     cdef node
1336  *     cdef public bint found
1337  */
1338 
1339 struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_NodeFinder {
1340   struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_TreeVisitor __pyx_base;
1341 };
1342 static struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_NodeFinder *__pyx_vtabptr_6Cython_8Compiler_7Visitor_NodeFinder;
1343 
1344 
1345 /* "Cython/Compiler/FlowControl.py":36
1346  *
1347  *
1348  * class ControlBlock(object):             # <<<<<<<<<<<<<<
1349  *     """Control flow graph node. Sequence of assignments and name references.
1350  *
1351  */
1352 
1353 struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock {
1354   int (*empty)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *, int __pyx_skip_dispatch);
1355   PyObject *(*detach)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *, int __pyx_skip_dispatch);
1356   PyObject *(*add_child)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *, PyObject *, int __pyx_skip_dispatch);
1357 };
1358 static struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_vtabptr_6Cython_8Compiler_11FlowControl_ControlBlock;
1359 
1360 
1361 /* "Cython/Compiler/FlowControl.py":91
1362  *
1363  *
1364  * class ExitBlock(ControlBlock):             # <<<<<<<<<<<<<<
1365  *     """Non-empty exit point block."""
1366  *
1367  */
1368 
1369 struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ExitBlock {
1370   struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock __pyx_base;
1371 };
1372 static struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ExitBlock *__pyx_vtabptr_6Cython_8Compiler_11FlowControl_ExitBlock;
1373 
1374 
1375 /* "Cython/Compiler/FlowControl.py":658
1376  *
1377  *
1378  * class AssignmentCollector(TreeVisitor):             # <<<<<<<<<<<<<<
1379  *     def __init__(self):
1380  *         super(AssignmentCollector, self).__init__()
1381  */
1382 
1383 struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_AssignmentCollector {
1384   struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_TreeVisitor __pyx_base;
1385 };
1386 static struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_AssignmentCollector *__pyx_vtabptr_6Cython_8Compiler_11FlowControl_AssignmentCollector;
1387 
1388 
1389 /* "Cython/Compiler/FlowControl.py":103
1390  *
1391  *
1392  * class ControlFlow(object):             # <<<<<<<<<<<<<<
1393  *     """Control-flow graph.
1394  *
1395  */
1396 
1397 struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlow {
1398   PyObject *(*newblock)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock *__pyx_optional_args);
1399   PyObject *(*nextblock)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock *__pyx_optional_args);
1400   int (*is_tracked)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, int __pyx_skip_dispatch);
1401   int (*is_statically_assigned)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, int __pyx_skip_dispatch);
1402   PyObject *(*mark_position)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, int __pyx_skip_dispatch);
1403   PyObject *(*mark_assignment)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch);
1404   PyObject *(*mark_argument)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch);
1405   PyObject *(*mark_deletion)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, PyObject *, int __pyx_skip_dispatch);
1406   PyObject *(*mark_reference)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, PyObject *, int __pyx_skip_dispatch);
1407   PyObject *(*normalize)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, int __pyx_skip_dispatch);
1408   PyObject *(*initialize)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, int __pyx_skip_dispatch);
1409   PyObject *(*map_one)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, PyObject *, int __pyx_skip_dispatch);
1410   PyObject *(*reaching_definitions)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *);
1411 };
1412 static struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_vtabptr_6Cython_8Compiler_11FlowControl_ControlFlow;
1413 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock *__pyx_optional_args);
1414 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock *__pyx_optional_args);
1415 static int __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_is_tracked(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, int __pyx_skip_dispatch);
1416 static int __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_is_statically_assigned(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, int __pyx_skip_dispatch);
1417 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_position(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, int __pyx_skip_dispatch);
1418 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_assignment(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch);
1419 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_argument(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch);
1420 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_deletion(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, PyObject *, int __pyx_skip_dispatch);
1421 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_reference(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, PyObject *, int __pyx_skip_dispatch);
1422 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_normalize(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, int __pyx_skip_dispatch);
1423 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_initialize(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, int __pyx_skip_dispatch);
1424 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_map_one(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, PyObject *, int __pyx_skip_dispatch);
1425 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_reaching_definitions(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *);
1426 
1427 
1428 /* "Cython/Compiler/FlowControl.py":674
1429  *
1430  *
1431  * class ControlFlowAnalysis(CythonTransform):             # <<<<<<<<<<<<<<
1432  *
1433  *     def visit_ModuleNode(self, node):
1434  */
1435 
1436 struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis {
1437   struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_CythonTransform __pyx_base;
1438   PyObject *(*mark_assignment)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment *__pyx_optional_args);
1439   PyObject *(*mark_position)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *, PyObject *, int __pyx_skip_dispatch);
1440 };
1441 static struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_vtabptr_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis;
1442 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment *__pyx_optional_args);
1443 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_position(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *, PyObject *, int __pyx_skip_dispatch);
1444 
1445 /* --- Runtime support code (head) --- */
1446 /* Refnanny.proto */
1447 #ifndef CYTHON_REFNANNY
1448   #define CYTHON_REFNANNY 0
1449 #endif
1450 #if CYTHON_REFNANNY
1451   typedef struct {
1452     void (*INCREF)(void*, PyObject*, int);
1453     void (*DECREF)(void*, PyObject*, int);
1454     void (*GOTREF)(void*, PyObject*, int);
1455     void (*GIVEREF)(void*, PyObject*, int);
1456     void* (*SetupContext)(const char*, int, const char*);
1457     void (*FinishContext)(void**);
1458   } __Pyx_RefNannyAPIStruct;
1459   static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
1460   static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);
1461   #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
1462 #ifdef WITH_THREAD
1463   #define __Pyx_RefNannySetupContext(name, acquire_gil)\
1464           if (acquire_gil) {\
1465               PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
1466               __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
1467               PyGILState_Release(__pyx_gilstate_save);\
1468           } else {\
1469               __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
1470           }
1471 #else
1472   #define __Pyx_RefNannySetupContext(name, acquire_gil)\
1473           __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
1474 #endif
1475   #define __Pyx_RefNannyFinishContext()\
1476           __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
1477   #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
1478   #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
1479   #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
1480   #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
1481   #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
1482   #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
1483   #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
1484   #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
1485 #else
1486   #define __Pyx_RefNannyDeclarations
1487   #define __Pyx_RefNannySetupContext(name, acquire_gil)
1488   #define __Pyx_RefNannyFinishContext()
1489   #define __Pyx_INCREF(r) Py_INCREF(r)
1490   #define __Pyx_DECREF(r) Py_DECREF(r)
1491   #define __Pyx_GOTREF(r)
1492   #define __Pyx_GIVEREF(r)
1493   #define __Pyx_XINCREF(r) Py_XINCREF(r)
1494   #define __Pyx_XDECREF(r) Py_XDECREF(r)
1495   #define __Pyx_XGOTREF(r)
1496   #define __Pyx_XGIVEREF(r)
1497 #endif
1498 #define __Pyx_XDECREF_SET(r, v) do {\
1499         PyObject *tmp = (PyObject *) r;\
1500         r = v; __Pyx_XDECREF(tmp);\
1501     } while (0)
1502 #define __Pyx_DECREF_SET(r, v) do {\
1503         PyObject *tmp = (PyObject *) r;\
1504         r = v; __Pyx_DECREF(tmp);\
1505     } while (0)
1506 #define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
1507 #define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
1508 
1509 /* PyObjectGetAttrStr.proto */
1510 #if CYTHON_USE_TYPE_SLOTS
1511 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name);
1512 #else
1513 #define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
1514 #endif
1515 
1516 /* GetBuiltinName.proto */
1517 static PyObject *__Pyx_GetBuiltinName(PyObject *name);
1518 
1519 /* RaiseArgTupleInvalid.proto */
1520 static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
1521     Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
1522 
1523 /* RaiseDoubleKeywords.proto */
1524 static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);
1525 
1526 /* ParseKeywords.proto */
1527 static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\
1528     PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\
1529     const char* function_name);
1530 
1531 /* PyObjectCall.proto */
1532 #if CYTHON_COMPILING_IN_CPYTHON
1533 static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);
1534 #else
1535 #define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
1536 #endif
1537 
1538 /* PyCFunctionFastCall.proto */
1539 #if CYTHON_FAST_PYCCALL
1540 static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs);
1541 #else
1542 #define __Pyx_PyCFunction_FastCall(func, args, nargs)  (assert(0), NULL)
1543 #endif
1544 
1545 /* PyFunctionFastCall.proto */
1546 #if CYTHON_FAST_PYCALL
1547 #define __Pyx_PyFunction_FastCall(func, args, nargs)\
1548     __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)
1549 #if 1 || PY_VERSION_HEX < 0x030600B1
1550 static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs);
1551 #else
1552 #define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs)
1553 #endif
1554 #define __Pyx_BUILD_ASSERT_EXPR(cond)\
1555     (sizeof(char [1 - 2*!(cond)]) - 1)
1556 #ifndef Py_MEMBER_SIZE
1557 #define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
1558 #endif
1559   static size_t __pyx_pyframe_localsplus_offset = 0;
1560   #include "frameobject.h"
1561   #define __Pxy_PyFrame_Initialize_Offsets()\
1562     ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\
1563      (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))
1564   #define __Pyx_PyFrame_GetLocalsplus(frame)\
1565     (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))
1566 #endif
1567 
1568 /* PyObjectCall2Args.proto */
1569 static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);
1570 
1571 /* PyObjectCallMethO.proto */
1572 #if CYTHON_COMPILING_IN_CPYTHON
1573 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
1574 #endif
1575 
1576 /* PyObjectCallOneArg.proto */
1577 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);
1578 
1579 /* PyObjectSetAttrStr.proto */
1580 #if CYTHON_USE_TYPE_SLOTS
1581 #define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL)
1582 static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value);
1583 #else
1584 #define __Pyx_PyObject_DelAttrStr(o,n)   PyObject_DelAttr(o,n)
1585 #define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v)
1586 #endif
1587 
1588 /* KeywordStringCheck.proto */
1589 static int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed);
1590 
1591 /* PyDictVersioning.proto */
1592 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
1593 #define __PYX_DICT_VERSION_INIT  ((PY_UINT64_T) -1)
1594 #define __PYX_GET_DICT_VERSION(dict)  (((PyDictObject*)(dict))->ma_version_tag)
1595 #define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\
1596     (version_var) = __PYX_GET_DICT_VERSION(dict);\
1597     (cache_var) = (value);
1598 #define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\
1599     static PY_UINT64_T __pyx_dict_version = 0;\
1600     static PyObject *__pyx_dict_cached_value = NULL;\
1601     if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\
1602         (VAR) = __pyx_dict_cached_value;\
1603     } else {\
1604         (VAR) = __pyx_dict_cached_value = (LOOKUP);\
1605         __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
1606     }\
1607 }
1608 static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj);
1609 static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj);
1610 static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version);
1611 #else
1612 #define __PYX_GET_DICT_VERSION(dict)  (0)
1613 #define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)
1614 #define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP)  (VAR) = (LOOKUP);
1615 #endif
1616 
1617 /* PyObjectCallNoArg.proto */
1618 #if CYTHON_COMPILING_IN_CPYTHON
1619 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
1620 #else
1621 #define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL)
1622 #endif
1623 
1624 /* PyThreadStateGet.proto */
1625 #if CYTHON_FAST_THREAD_STATE
1626 #define __Pyx_PyThreadState_declare  PyThreadState *__pyx_tstate;
1627 #define __Pyx_PyThreadState_assign  __pyx_tstate = __Pyx_PyThreadState_Current;
1628 #define __Pyx_PyErr_Occurred()  __pyx_tstate->curexc_type
1629 #else
1630 #define __Pyx_PyThreadState_declare
1631 #define __Pyx_PyThreadState_assign
1632 #define __Pyx_PyErr_Occurred()  PyErr_Occurred()
1633 #endif
1634 
1635 /* PyErrFetchRestore.proto */
1636 #if CYTHON_FAST_THREAD_STATE
1637 #define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)
1638 #define __Pyx_ErrRestoreWithState(type, value, tb)  __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)
1639 #define __Pyx_ErrFetchWithState(type, value, tb)    __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)
1640 #define __Pyx_ErrRestore(type, value, tb)  __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)
1641 #define __Pyx_ErrFetch(type, value, tb)    __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)
1642 static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
1643 static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
1644 #if CYTHON_COMPILING_IN_CPYTHON
1645 #define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))
1646 #else
1647 #define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
1648 #endif
1649 #else
1650 #define __Pyx_PyErr_Clear() PyErr_Clear()
1651 #define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
1652 #define __Pyx_ErrRestoreWithState(type, value, tb)  PyErr_Restore(type, value, tb)
1653 #define __Pyx_ErrFetchWithState(type, value, tb)  PyErr_Fetch(type, value, tb)
1654 #define __Pyx_ErrRestoreInState(tstate, type, value, tb)  PyErr_Restore(type, value, tb)
1655 #define __Pyx_ErrFetchInState(tstate, type, value, tb)  PyErr_Fetch(type, value, tb)
1656 #define __Pyx_ErrRestore(type, value, tb)  PyErr_Restore(type, value, tb)
1657 #define __Pyx_ErrFetch(type, value, tb)  PyErr_Fetch(type, value, tb)
1658 #endif
1659 
1660 /* WriteUnraisableException.proto */
1661 static void __Pyx_WriteUnraisable(const char *name, int clineno,
1662                                   int lineno, const char *filename,
1663                                   int full_traceback, int nogil);
1664 
1665 /* IterFinish.proto */
1666 static CYTHON_INLINE int __Pyx_IterFinish(void);
1667 
1668 /* set_iter.proto */
1669 static CYTHON_INLINE PyObject* __Pyx_set_iterator(PyObject* iterable, int is_set,
1670                                                   Py_ssize_t* p_orig_length, int* p_source_is_set);
1671 static CYTHON_INLINE int __Pyx_set_iter_next(
1672         PyObject* iter_obj, Py_ssize_t orig_length,
1673         Py_ssize_t* ppos, PyObject **value,
1674         int source_is_set);
1675 
1676 /* PyErrExceptionMatches.proto */
1677 #if CYTHON_FAST_THREAD_STATE
1678 #define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err)
1679 static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err);
1680 #else
1681 #define __Pyx_PyErr_ExceptionMatches(err)  PyErr_ExceptionMatches(err)
1682 #endif
1683 
1684 /* GetAttr.proto */
1685 static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);
1686 
1687 /* GetAttr3.proto */
1688 static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *);
1689 
1690 /* GetModuleGlobalName.proto */
1691 #if CYTHON_USE_DICT_VERSIONS
1692 #define __Pyx_GetModuleGlobalName(var, name)  {\
1693     static PY_UINT64_T __pyx_dict_version = 0;\
1694     static PyObject *__pyx_dict_cached_value = NULL;\
1695     (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\
1696         (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
1697         __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
1698 }
1699 #define __Pyx_GetModuleGlobalNameUncached(var, name)  {\
1700     PY_UINT64_T __pyx_dict_version;\
1701     PyObject *__pyx_dict_cached_value;\
1702     (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
1703 }
1704 static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
1705 #else
1706 #define __Pyx_GetModuleGlobalName(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
1707 #define __Pyx_GetModuleGlobalNameUncached(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
1708 static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);
1709 #endif
1710 
1711 /* ArgTypeTest.proto */
1712 #define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\
1713     ((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\
1714         __Pyx__ArgTypeTest(obj, type, name, exact))
1715 static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact);
1716 
1717 /* SliceObject.proto */
1718 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(
1719         PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop,
1720         PyObject** py_start, PyObject** py_stop, PyObject** py_slice,
1721         int has_cstart, int has_cstop, int wraparound);
1722 
1723 /* ListAppend.proto */
1724 #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
__Pyx_PyList_Append(PyObject * list,PyObject * x)1725 static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
1726     PyListObject* L = (PyListObject*) list;
1727     Py_ssize_t len = Py_SIZE(list);
1728     if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) {
1729         Py_INCREF(x);
1730         PyList_SET_ITEM(list, len, x);
1731         __Pyx_SET_SIZE(list, len + 1);
1732         return 0;
1733     }
1734     return PyList_Append(list, x);
1735 }
1736 #else
1737 #define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
1738 #endif
1739 
1740 /* pyfrozenset_new.proto */
1741 static CYTHON_INLINE PyObject* __Pyx_PyFrozenSet_New(PyObject* it);
1742 
1743 /* PySetContains.proto */
1744 static CYTHON_INLINE int __Pyx_PySet_ContainsTF(PyObject* key, PyObject* set, int eq);
1745 
1746 /* ExtTypeTest.proto */
1747 static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);
1748 
1749 /* py_set_remove.proto */
1750 static CYTHON_INLINE int __Pyx_PySet_Remove(PyObject *set, PyObject *key);
1751 
1752 /* PyIntBinop.proto */
1753 #if !CYTHON_COMPILING_IN_PYPY
1754 static PyObject* __Pyx_PyInt_LshiftObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
1755 #else
1756 #define __Pyx_PyInt_LshiftObjC(op1, op2, intval, inplace, zerodivision_check)\
1757     (inplace ? PyNumber_InPlaceLshift(op1, op2) : PyNumber_Lshift(op1, op2))
1758 #endif
1759 
1760 /* DictGetItem.proto */
1761 #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
1762 static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key);
1763 #define __Pyx_PyObject_Dict_GetItem(obj, name)\
1764     (likely(PyDict_CheckExact(obj)) ?\
1765      __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name))
1766 #else
1767 #define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key)
1768 #define __Pyx_PyObject_Dict_GetItem(obj, name)  PyObject_GetItem(obj, name)
1769 #endif
1770 
1771 /* py_dict_items.proto */
1772 static CYTHON_INLINE PyObject* __Pyx_PyDict_Items(PyObject* d);
1773 
1774 /* UnpackUnboundCMethod.proto */
1775 typedef struct {
1776     PyObject *type;
1777     PyObject **method_name;
1778     PyCFunction func;
1779     PyObject *method;
1780     int flag;
1781 } __Pyx_CachedCFunction;
1782 
1783 /* CallUnboundCMethod0.proto */
1784 static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self);
1785 #if CYTHON_COMPILING_IN_CPYTHON
1786 #define __Pyx_CallUnboundCMethod0(cfunc, self)\
1787     (likely((cfunc)->func) ?\
1788         (likely((cfunc)->flag == METH_NOARGS) ?  (*((cfunc)->func))(self, NULL) :\
1789          (PY_VERSION_HEX >= 0x030600B1 && likely((cfunc)->flag == METH_FASTCALL) ?\
1790             (PY_VERSION_HEX >= 0x030700A0 ?\
1791                 (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0) :\
1792                 (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0, NULL)) :\
1793           (PY_VERSION_HEX >= 0x030700A0 && (cfunc)->flag == (METH_FASTCALL | METH_KEYWORDS) ?\
1794             (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0, NULL) :\
1795             (likely((cfunc)->flag == (METH_VARARGS | METH_KEYWORDS)) ?  ((*(PyCFunctionWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, __pyx_empty_tuple, NULL)) :\
1796                ((cfunc)->flag == METH_VARARGS ?  (*((cfunc)->func))(self, __pyx_empty_tuple) :\
1797                __Pyx__CallUnboundCMethod0(cfunc, self)))))) :\
1798         __Pyx__CallUnboundCMethod0(cfunc, self))
1799 #else
1800 #define __Pyx_CallUnboundCMethod0(cfunc, self)  __Pyx__CallUnboundCMethod0(cfunc, self)
1801 #endif
1802 
1803 /* RaiseTooManyValuesToUnpack.proto */
1804 static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);
1805 
1806 /* RaiseNeedMoreValuesToUnpack.proto */
1807 static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);
1808 
1809 /* UnpackItemEndCheck.proto */
1810 static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected);
1811 
1812 /* py_dict_values.proto */
1813 static CYTHON_INLINE PyObject* __Pyx_PyDict_Values(PyObject* d);
1814 
1815 /* PySequenceContains.proto */
__Pyx_PySequence_ContainsTF(PyObject * item,PyObject * seq,int eq)1816 static CYTHON_INLINE int __Pyx_PySequence_ContainsTF(PyObject* item, PyObject* seq, int eq) {
1817     int result = PySequence_Contains(seq, item);
1818     return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
1819 }
1820 
1821 /* ListCompAppend.proto */
1822 #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
__Pyx_ListComp_Append(PyObject * list,PyObject * x)1823 static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
1824     PyListObject* L = (PyListObject*) list;
1825     Py_ssize_t len = Py_SIZE(list);
1826     if (likely(L->allocated > len)) {
1827         Py_INCREF(x);
1828         PyList_SET_ITEM(list, len, x);
1829         __Pyx_SET_SIZE(list, len + 1);
1830         return 0;
1831     }
1832     return PyList_Append(list, x);
1833 }
1834 #else
1835 #define __Pyx_ListComp_Append(L,x) PyList_Append(L,x)
1836 #endif
1837 
1838 /* GetItemInt.proto */
1839 #define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
1840     (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
1841     __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
1842     (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
1843                __Pyx_GetItemInt_Generic(o, to_py_func(i))))
1844 #define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
1845     (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
1846     __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
1847     (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
1848 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
1849                                                               int wraparound, int boundscheck);
1850 #define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
1851     (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
1852     __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
1853     (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
1854 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
1855                                                               int wraparound, int boundscheck);
1856 static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
1857 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
1858                                                      int is_list, int wraparound, int boundscheck);
1859 
1860 /* PyObjectGetMethod.proto */
1861 static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method);
1862 
1863 /* PyObjectCallMethod1.proto */
1864 static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg);
1865 
1866 /* append.proto */
1867 static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x);
1868 
1869 /* PyIntBinop.proto */
1870 #if !CYTHON_COMPILING_IN_PYPY
1871 static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
1872 #else
1873 #define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\
1874     (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2))
1875 #endif
1876 
1877 /* ObjectGetItem.proto */
1878 #if CYTHON_USE_TYPE_SLOTS
1879 static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key);
1880 #else
1881 #define __Pyx_PyObject_GetItem(obj, key)  PyObject_GetItem(obj, key)
1882 #endif
1883 
1884 /* StringJoin.proto */
1885 #if PY_MAJOR_VERSION < 3
1886 #define __Pyx_PyString_Join __Pyx_PyBytes_Join
1887 #define __Pyx_PyBaseString_Join(s, v) (PyUnicode_CheckExact(s) ? PyUnicode_Join(s, v) : __Pyx_PyBytes_Join(s, v))
1888 #else
1889 #define __Pyx_PyString_Join PyUnicode_Join
1890 #define __Pyx_PyBaseString_Join PyUnicode_Join
1891 #endif
1892 #if CYTHON_COMPILING_IN_CPYTHON
1893     #if PY_MAJOR_VERSION < 3
1894     #define __Pyx_PyBytes_Join _PyString_Join
1895     #else
1896     #define __Pyx_PyBytes_Join _PyBytes_Join
1897     #endif
1898 #else
1899 static CYTHON_INLINE PyObject* __Pyx_PyBytes_Join(PyObject* sep, PyObject* values);
1900 #endif
1901 
1902 /* PyIntBinop.proto */
1903 #if !CYTHON_COMPILING_IN_PYPY
1904 static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
1905 #else
1906 #define __Pyx_PyInt_SubtractObjC(op1, op2, intval, inplace, zerodivision_check)\
1907     (inplace ? PyNumber_InPlaceSubtract(op1, op2) : PyNumber_Subtract(op1, op2))
1908 #endif
1909 
1910 /* py_set_discard.proto */
1911 static CYTHON_INLINE int __Pyx_PySet_Discard(PyObject *set, PyObject *key);
1912 
1913 /* IncludeStringH.proto */
1914 #include <string.h>
1915 
1916 /* BytesEquals.proto */
1917 static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals);
1918 
1919 /* UnicodeEquals.proto */
1920 static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals);
1921 
1922 /* StrEquals.proto */
1923 #if PY_MAJOR_VERSION >= 3
1924 #define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals
1925 #else
1926 #define __Pyx_PyString_Equals __Pyx_PyBytes_Equals
1927 #endif
1928 
1929 /* PyObjectCallMethod0.proto */
1930 static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name);
1931 
1932 /* RaiseNoneIterError.proto */
1933 static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void);
1934 
1935 /* UnpackTupleError.proto */
1936 static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index);
1937 
1938 /* UnpackTuple2.proto */
1939 #define __Pyx_unpack_tuple2(tuple, value1, value2, is_tuple, has_known_size, decref_tuple)\
1940     (likely(is_tuple || PyTuple_Check(tuple)) ?\
1941         (likely(has_known_size || PyTuple_GET_SIZE(tuple) == 2) ?\
1942             __Pyx_unpack_tuple2_exact(tuple, value1, value2, decref_tuple) :\
1943             (__Pyx_UnpackTupleError(tuple, 2), -1)) :\
1944         __Pyx_unpack_tuple2_generic(tuple, value1, value2, has_known_size, decref_tuple))
1945 static CYTHON_INLINE int __Pyx_unpack_tuple2_exact(
1946     PyObject* tuple, PyObject** value1, PyObject** value2, int decref_tuple);
1947 static int __Pyx_unpack_tuple2_generic(
1948     PyObject* tuple, PyObject** value1, PyObject** value2, int has_known_size, int decref_tuple);
1949 
1950 /* dict_iter.proto */
1951 static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* dict, int is_dict, PyObject* method_name,
1952                                                    Py_ssize_t* p_orig_length, int* p_is_dict);
1953 static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* dict_or_iter, Py_ssize_t orig_length, Py_ssize_t* ppos,
1954                                               PyObject** pkey, PyObject** pvalue, PyObject** pitem, int is_dict);
1955 
1956 /* GetException.proto */
1957 #if CYTHON_FAST_THREAD_STATE
1958 #define __Pyx_GetException(type, value, tb)  __Pyx__GetException(__pyx_tstate, type, value, tb)
1959 static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
1960 #else
1961 static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
1962 #endif
1963 
1964 /* SwapException.proto */
1965 #if CYTHON_FAST_THREAD_STATE
1966 #define __Pyx_ExceptionSwap(type, value, tb)  __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb)
1967 static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
1968 #else
1969 static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb);
1970 #endif
1971 
1972 /* GetTopmostException.proto */
1973 #if CYTHON_USE_EXC_INFO_STACK
1974 static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate);
1975 #endif
1976 
1977 /* SaveResetException.proto */
1978 #if CYTHON_FAST_THREAD_STATE
1979 #define __Pyx_ExceptionSave(type, value, tb)  __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)
1980 static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
1981 #define __Pyx_ExceptionReset(type, value, tb)  __Pyx__ExceptionReset(__pyx_tstate, type, value, tb)
1982 static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
1983 #else
1984 #define __Pyx_ExceptionSave(type, value, tb)   PyErr_GetExcInfo(type, value, tb)
1985 #define __Pyx_ExceptionReset(type, value, tb)  PyErr_SetExcInfo(type, value, tb)
1986 #endif
1987 
1988 /* pop.proto */
1989 static CYTHON_INLINE PyObject* __Pyx__PyObject_Pop(PyObject* L);
1990 #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
1991 static CYTHON_INLINE PyObject* __Pyx_PyList_Pop(PyObject* L);
1992 #define __Pyx_PyObject_Pop(L) (likely(PyList_CheckExact(L)) ?\
1993     __Pyx_PyList_Pop(L) : __Pyx__PyObject_Pop(L))
1994 #else
1995 #define __Pyx_PyList_Pop(L)  __Pyx__PyObject_Pop(L)
1996 #define __Pyx_PyObject_Pop(L)  __Pyx__PyObject_Pop(L)
1997 #endif
1998 
1999 /* RaiseException.proto */
2000 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);
2001 
2002 /* HasAttr.proto */
2003 static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *);
2004 
2005 /* Import.proto */
2006 static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);
2007 
2008 /* ImportFrom.proto */
2009 static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);
2010 
2011 /* CallNextTpDealloc.proto */
2012 static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc);
2013 
2014 /* CallNextTpTraverse.proto */
2015 static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse);
2016 
2017 /* CallNextTpClear.proto */
2018 static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_dealloc);
2019 
2020 /* PyObject_GenericGetAttrNoDict.proto */
2021 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
2022 static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name);
2023 #else
2024 #define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr
2025 #endif
2026 
2027 /* PyObject_GenericGetAttr.proto */
2028 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
2029 static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name);
2030 #else
2031 #define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr
2032 #endif
2033 
2034 /* SetVTable.proto */
2035 static int __Pyx_SetVtable(PyObject *dict, void *vtable);
2036 
2037 /* PyObjectGetAttrStrNoError.proto */
2038 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name);
2039 
2040 /* SetupReduce.proto */
2041 static int __Pyx_setup_reduce(PyObject* type_obj);
2042 
2043 /* TypeImport.proto */
2044 #ifndef __PYX_HAVE_RT_ImportType_proto
2045 #define __PYX_HAVE_RT_ImportType_proto
2046 enum __Pyx_ImportType_CheckSize {
2047    __Pyx_ImportType_CheckSize_Error = 0,
2048    __Pyx_ImportType_CheckSize_Warn = 1,
2049    __Pyx_ImportType_CheckSize_Ignore = 2
2050 };
2051 static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size);
2052 #endif
2053 
2054 /* GetVTable.proto */
2055 static void* __Pyx_GetVtable(PyObject *dict);
2056 
2057 /* CalculateMetaclass.proto */
2058 static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases);
2059 
2060 /* FetchCommonType.proto */
2061 static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type);
2062 
2063 /* CythonFunctionShared.proto */
2064 #define __Pyx_CyFunction_USED 1
2065 #define __Pyx_CYFUNCTION_STATICMETHOD  0x01
2066 #define __Pyx_CYFUNCTION_CLASSMETHOD   0x02
2067 #define __Pyx_CYFUNCTION_CCLASS        0x04
2068 #define __Pyx_CyFunction_GetClosure(f)\
2069     (((__pyx_CyFunctionObject *) (f))->func_closure)
2070 #define __Pyx_CyFunction_GetClassObj(f)\
2071     (((__pyx_CyFunctionObject *) (f))->func_classobj)
2072 #define __Pyx_CyFunction_Defaults(type, f)\
2073     ((type *)(((__pyx_CyFunctionObject *) (f))->defaults))
2074 #define __Pyx_CyFunction_SetDefaultsGetter(f, g)\
2075     ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g)
2076 typedef struct {
2077     PyCFunctionObject func;
2078 #if PY_VERSION_HEX < 0x030500A0
2079     PyObject *func_weakreflist;
2080 #endif
2081     PyObject *func_dict;
2082     PyObject *func_name;
2083     PyObject *func_qualname;
2084     PyObject *func_doc;
2085     PyObject *func_globals;
2086     PyObject *func_code;
2087     PyObject *func_closure;
2088     PyObject *func_classobj;
2089     void *defaults;
2090     int defaults_pyobjects;
2091     size_t defaults_size;  // used by FusedFunction for copying defaults
2092     int flags;
2093     PyObject *defaults_tuple;
2094     PyObject *defaults_kwdict;
2095     PyObject *(*defaults_getter)(PyObject *);
2096     PyObject *func_annotations;
2097 } __pyx_CyFunctionObject;
2098 static PyTypeObject *__pyx_CyFunctionType = 0;
2099 #define __Pyx_CyFunction_Check(obj)  (__Pyx_TypeCheck(obj, __pyx_CyFunctionType))
2100 static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml,
2101                                       int flags, PyObject* qualname,
2102                                       PyObject *self,
2103                                       PyObject *module, PyObject *globals,
2104                                       PyObject* code);
2105 static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m,
2106                                                          size_t size,
2107                                                          int pyobjects);
2108 static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m,
2109                                                             PyObject *tuple);
2110 static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m,
2111                                                              PyObject *dict);
2112 static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m,
2113                                                               PyObject *dict);
2114 static int __pyx_CyFunction_init(void);
2115 
2116 /* CythonFunction.proto */
2117 static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml,
2118                                       int flags, PyObject* qualname,
2119                                       PyObject *closure,
2120                                       PyObject *module, PyObject *globals,
2121                                       PyObject* code);
2122 
2123 /* SetNameInClass.proto */
2124 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
2125 #define __Pyx_SetNameInClass(ns, name, value)\
2126     (likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value))
2127 #elif CYTHON_COMPILING_IN_CPYTHON
2128 #define __Pyx_SetNameInClass(ns, name, value)\
2129     (likely(PyDict_CheckExact(ns)) ? PyDict_SetItem(ns, name, value) : PyObject_SetItem(ns, name, value))
2130 #else
2131 #define __Pyx_SetNameInClass(ns, name, value)  PyObject_SetItem(ns, name, value)
2132 #endif
2133 
2134 /* Py3ClassCreate.proto */
2135 static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname,
2136                                            PyObject *mkw, PyObject *modname, PyObject *doc);
2137 static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict,
2138                                       PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass);
2139 
2140 /* CLineInTraceback.proto */
2141 #ifdef CYTHON_CLINE_IN_TRACEBACK
2142 #define __Pyx_CLineForTraceback(tstate, c_line)  (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
2143 #else
2144 static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);
2145 #endif
2146 
2147 /* CodeObjectCache.proto */
2148 typedef struct {
2149     PyCodeObject* code_object;
2150     int code_line;
2151 } __Pyx_CodeObjectCacheEntry;
2152 struct __Pyx_CodeObjectCache {
2153     int count;
2154     int max_count;
2155     __Pyx_CodeObjectCacheEntry* entries;
2156 };
2157 static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
2158 static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
2159 static PyCodeObject *__pyx_find_code_object(int code_line);
2160 static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
2161 
2162 /* AddTraceback.proto */
2163 static void __Pyx_AddTraceback(const char *funcname, int c_line,
2164                                int py_line, const char *filename);
2165 
2166 /* GCCDiagnostics.proto */
2167 #if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
2168 #define __Pyx_HAS_GCC_DIAGNOSTIC
2169 #endif
2170 
2171 /* CIntFromPy.proto */
2172 static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
2173 
2174 /* CIntToPy.proto */
2175 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);
2176 
2177 /* CIntFromPy.proto */
2178 static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
2179 
2180 /* FastTypeChecks.proto */
2181 #if CYTHON_COMPILING_IN_CPYTHON
2182 #define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
2183 static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);
2184 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);
2185 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);
2186 #else
2187 #define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
2188 #define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
2189 #define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2))
2190 #endif
2191 #define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
2192 
2193 /* CheckBinaryVersion.proto */
2194 static int __Pyx_check_binary_version(void);
2195 
2196 /* FunctionExport.proto */
2197 static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig);
2198 
2199 /* InitStrings.proto */
2200 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
2201 
2202 static int __pyx_f_6Cython_8Compiler_11FlowControl_12ControlBlock_empty(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2203 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_12ControlBlock_detach(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2204 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_12ControlBlock_add_child(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_block, int __pyx_skip_dispatch); /* proto*/
2205 static int __pyx_f_6Cython_8Compiler_11FlowControl_9ExitBlock_empty(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2206 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock *__pyx_optional_args); /* proto*/
2207 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock *__pyx_optional_args); /* proto*/
2208 static int __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_is_tracked(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_entry, CYTHON_UNUSED int __pyx_skip_dispatch); /* proto*/
2209 static int __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_is_statically_assigned(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_entry, CYTHON_UNUSED int __pyx_skip_dispatch); /* proto*/
2210 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_position(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_node, CYTHON_UNUSED int __pyx_skip_dispatch); /* proto*/
2211 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_assignment(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs, PyObject *__pyx_v_entry, CYTHON_UNUSED int __pyx_skip_dispatch); /* proto*/
2212 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_argument(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs, PyObject *__pyx_v_entry, CYTHON_UNUSED int __pyx_skip_dispatch); /* proto*/
2213 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_deletion(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_node, PyObject *__pyx_v_entry, CYTHON_UNUSED int __pyx_skip_dispatch); /* proto*/
2214 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_reference(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_node, PyObject *__pyx_v_entry, CYTHON_UNUSED int __pyx_skip_dispatch); /* proto*/
2215 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_normalize(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, CYTHON_UNUSED int __pyx_skip_dispatch); /* proto*/
2216 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_initialize(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, CYTHON_UNUSED int __pyx_skip_dispatch); /* proto*/
2217 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_map_one(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_istate, PyObject *__pyx_v_entry, CYTHON_UNUSED int __pyx_skip_dispatch); /* proto*/
2218 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_reaching_definitions(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self); /* proto*/
2219 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_lhs, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment *__pyx_optional_args); /* proto*/
2220 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_position(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node, CYTHON_UNUSED int __pyx_skip_dispatch); /* proto*/
2221 
2222 /* Module declarations from 'cython' */
2223 
2224 /* Module declarations from 'Cython.Compiler.Visitor' */
2225 static PyTypeObject *__pyx_ptype_6Cython_8Compiler_7Visitor_TreeVisitor = 0;
2226 static PyTypeObject *__pyx_ptype_6Cython_8Compiler_7Visitor_VisitorTransform = 0;
2227 static PyTypeObject *__pyx_ptype_6Cython_8Compiler_7Visitor_CythonTransform = 0;
2228 static PyTypeObject *__pyx_ptype_6Cython_8Compiler_7Visitor_ScopeTrackingTransform = 0;
2229 static PyTypeObject *__pyx_ptype_6Cython_8Compiler_7Visitor_EnvTransform = 0;
2230 static PyTypeObject *__pyx_ptype_6Cython_8Compiler_7Visitor_MethodDispatcherTransform = 0;
2231 static PyTypeObject *__pyx_ptype_6Cython_8Compiler_7Visitor_RecursiveNodeReplacer = 0;
2232 static PyTypeObject *__pyx_ptype_6Cython_8Compiler_7Visitor_NodeFinder = 0;
2233 
2234 /* Module declarations from 'Cython.Compiler.FlowControl' */
2235 static PyTypeObject *__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock = 0;
2236 static PyTypeObject *__pyx_ptype_6Cython_8Compiler_11FlowControl_ExitBlock = 0;
2237 static PyTypeObject *__pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment = 0;
2238 static PyTypeObject *__pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentList = 0;
2239 static PyTypeObject *__pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentCollector = 0;
2240 static PyTypeObject *__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow = 0;
2241 static PyTypeObject *__pyx_ptype_6Cython_8Compiler_11FlowControl_Uninitialized = 0;
2242 static PyTypeObject *__pyx_ptype_6Cython_8Compiler_11FlowControl_Unknown = 0;
2243 static PyTypeObject *__pyx_ptype_6Cython_8Compiler_11FlowControl_MessageCollection = 0;
2244 static PyTypeObject *__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis = 0;
2245 static PyObject *__pyx_v_6Cython_8Compiler_11FlowControl_PyrexTypes = 0;
2246 static PyObject *__pyx_v_6Cython_8Compiler_11FlowControl_ExprNodes = 0;
2247 static PyObject *__pyx_v_6Cython_8Compiler_11FlowControl_Nodes = 0;
2248 static PyObject *__pyx_v_6Cython_8Compiler_11FlowControl_Builtin = 0;
2249 static PyObject *__pyx_v_6Cython_8Compiler_11FlowControl_InternalError = 0;
2250 static PyObject *__pyx_v_6Cython_8Compiler_11FlowControl_error = 0;
2251 static PyObject *__pyx_v_6Cython_8Compiler_11FlowControl_warning = 0;
2252 static PyObject *__pyx_v_6Cython_8Compiler_11FlowControl_py_object_type = 0;
2253 static PyObject *__pyx_v_6Cython_8Compiler_11FlowControl_unspecified_type = 0;
2254 static PyObject *__pyx_v_6Cython_8Compiler_11FlowControl_object_expr = 0;
2255 static PyObject *__pyx_v_6Cython_8Compiler_11FlowControl_fake_rhs_expr = 0;
2256 static PyObject *__pyx_v_6Cython_8Compiler_11FlowControl_TypedExprNode = 0;
2257 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_check_definitions(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *); /*proto*/
2258 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_ControlBlock__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *, PyObject *); /*proto*/
2259 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_ExitBlock__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock *, PyObject *); /*proto*/
2260 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_AssignmentList__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *, PyObject *); /*proto*/
2261 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_ControlFlow__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *); /*proto*/
2262 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_NameAssignment__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *, PyObject *); /*proto*/
2263 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_Uninitialized__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_Uninitialized *, PyObject *); /*proto*/
2264 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_Unknown__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_Unknown *, PyObject *); /*proto*/
2265 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_MessageCollection__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *, PyObject *); /*proto*/
2266 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_AssignmentCollector__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *, PyObject *); /*proto*/
2267 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_ControlFlowAnalysis__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *, PyObject *); /*proto*/
2268 #define __Pyx_MODULE_NAME "Cython.Compiler.FlowControl"
2269 extern int __pyx_module_is_main_Cython__Compiler__FlowControl;
2270 int __pyx_module_is_main_Cython__Compiler__FlowControl = 0;
2271 
2272 /* Implementation of 'Cython.Compiler.FlowControl' */
2273 static PyObject *__pyx_builtin_object;
2274 static PyObject *__pyx_builtin_super;
2275 static PyObject *__pyx_builtin_min;
2276 static PyObject *__pyx_builtin_max;
2277 static PyObject *__pyx_builtin_open;
2278 static PyObject *__pyx_builtin_enumerate;
2279 static const char __pyx_k_i[] = "i";
2280 static const char __pyx_k_l[] = "l";
2281 static const char __pyx_k_n[] = "\\n";
2282 static const char __pyx_k_GV[] = "GV";
2283 static const char __pyx_k__2[] = "";
2284 static const char __pyx_k__3[] = "}\n";
2285 static const char __pyx_k__4[] = "\"";
2286 static const char __pyx_k__5[] = "\\\"";
2287 static const char __pyx_k__7[] = "\n";
2288 static const char __pyx_k__9[] = " }\n";
2289 static const char __pyx_k_fp[] = "fp";
2290 static const char __pyx_k_wt[] = "wt";
2291 static const char __pyx_k__10[] = "_";
2292 static const char __pyx_k__12[] = "*";
2293 static const char __pyx_k__13[] = "+";
2294 static const char __pyx_k_add[] = "add";
2295 static const char __pyx_k_arg[] = "arg";
2296 static const char __pyx_k_bit[] = "bit";
2297 static const char __pyx_k_ctx[] = "ctx";
2298 static const char __pyx_k_doc[] = "__doc__";
2299 static const char __pyx_k_lhs[] = "lhs";
2300 static const char __pyx_k_max[] = "max";
2301 static const char __pyx_k_min[] = "min";
2302 static const char __pyx_k_mkw[] = "mkw";
2303 static const char __pyx_k_new[] = "__new__";
2304 static const char __pyx_k_one[] = "one";
2305 static const char __pyx_k_pid[] = "pid";
2306 static const char __pyx_k_pop[] = "pop";
2307 static const char __pyx_k_pos[] = "pos";
2308 static const char __pyx_k_rhs[] = "rhs";
2309 static const char __pyx_k_s_s[] = "  %s -> %s;\n";
2310 static const char __pyx_k_args[] = "args";
2311 static const char __pyx_k_body[] = "body";
2312 static const char __pyx_k_dict[] = "__dict__";
2313 static const char __pyx_k_flow[] = "flow";
2314 static const char __pyx_k_init[] = "__init__";
2315 static const char __pyx_k_item[] = "item";
2316 static const char __pyx_k_join[] = "join";
2317 static const char __pyx_k_loop[] = "loop";
2318 static const char __pyx_k_main[] = "__main__";
2319 static const char __pyx_k_mask[] = "mask";
2320 static const char __pyx_k_name[] = "__name__";
2321 static const char __pyx_k_node[] = "node";
2322 static const char __pyx_k_open[] = "open";
2323 static const char __pyx_k_repr[] = "__repr__";
2324 static const char __pyx_k_self[] = "self";
2325 static const char __pyx_k_stat[] = "stat";
2326 static const char __pyx_k_step[] = "step";
2327 static const char __pyx_k_stop[] = "stop";
2328 static const char __pyx_k_test[] = "__test__";
2329 static const char __pyx_k_text[] = "text";
2330 static const char __pyx_k_type[] = "type";
2331 static const char __pyx_k_used[] = "used";
2332 static const char __pyx_k_Nodes[] = "Nodes";
2333 static const char __pyx_k_bases[] = "bases";
2334 static const char __pyx_k_block[] = "block";
2335 static const char __pyx_k_child[] = "child";
2336 static const char __pyx_k_class[] = "__class__";
2337 static const char __pyx_k_close[] = "close";
2338 static const char __pyx_k_descr[] = "descr";
2339 static const char __pyx_k_empty[] = "empty";
2340 static const char __pyx_k_entry[] = "entry";
2341 static const char __pyx_k_error[] = "error";
2342 static const char __pyx_k_gbody[] = "gbody";
2343 static const char __pyx_k_items[] = "items";
2344 static const char __pyx_k_label[] = "label";
2345 static const char __pyx_k_lines[] = "lines";
2346 static const char __pyx_k_range[] = "range";
2347 static const char __pyx_k_s_s_s[] = "\n %s [%s %s]";
2348 static const char __pyx_k_scope[] = "scope";
2349 static const char __pyx_k_start[] = "start";
2350 static const char __pyx_k_state[] = "state";
2351 static const char __pyx_k_stats[] = "stats";
2352 static const char __pyx_k_strip[] = "strip";
2353 static const char __pyx_k_super[] = "super";
2354 static const char __pyx_k_value[] = "value";
2355 static const char __pyx_k_write[] = "write";
2356 static const char __pyx_k_Errors[] = "Errors";
2357 static const char __pyx_k_append[] = "append";
2358 static const char __pyx_k_blocks[] = "blocks";
2359 static const char __pyx_k_bound1[] = "bound1";
2360 static const char __pyx_k_bound2[] = "bound2";
2361 static const char __pyx_k_clause[] = "clause";
2362 static const char __pyx_k_detach[] = "detach";
2363 static const char __pyx_k_dict_2[] = "dict";
2364 static const char __pyx_k_dict_3[] = "_dict";
2365 static const char __pyx_k_escape[] = "escape";
2366 static const char __pyx_k_import[] = "__import__";
2367 static const char __pyx_k_is_arg[] = "is_arg";
2368 static const char __pyx_k_istate[] = "istate";
2369 static const char __pyx_k_lookup[] = "lookup";
2370 static const char __pyx_k_module[] = "module";
2371 static const char __pyx_k_name_2[] = "name";
2372 static const char __pyx_k_nextid[] = "nextid";
2373 static const char __pyx_k_nodeid[] = "nodeid";
2374 static const char __pyx_k_object[] = "object";
2375 static const char __pyx_k_parent[] = "parent";
2376 static const char __pyx_k_pickle[] = "pickle";
2377 static const char __pyx_k_reduce[] = "__reduce__";
2378 static const char __pyx_k_remove[] = "remove";
2379 static const char __pyx_k_render[] = "render";
2380 static const char __pyx_k_report[] = "report";
2381 static const char __pyx_k_target[] = "target";
2382 static const char __pyx_k_unused[] = "unused";
2383 static const char __pyx_k_update[] = "update";
2384 static const char __pyx_k_values[] = "values";
2385 static const char __pyx_k_xrange[] = "xrange";
2386 static const char __pyx_k_Builtin[] = "Builtin";
2387 static const char __pyx_k_IntNode[] = "IntNode";
2388 static const char __pyx_k_Options[] = "Options";
2389 static const char __pyx_k_Unknown[] = "Unknown";
2390 static const char __pyx_k_Visitor[] = "Visitor";
2391 static const char __pyx_k_block_d[] = "block%d";
2392 static const char __pyx_k_cf_used[] = "cf_used";
2393 static const char __pyx_k_default[] = "default";
2394 static const char __pyx_k_discard[] = "discard";
2395 static const char __pyx_k_entries[] = "entries";
2396 static const char __pyx_k_exclude[] = "exclude";
2397 static const char __pyx_k_handler[] = "handler";
2398 static const char __pyx_k_is_name[] = "is_name";
2399 static const char __pyx_k_manager[] = "manager";
2400 static const char __pyx_k_map_one[] = "map_one";
2401 static const char __pyx_k_message[] = "message";
2402 static const char __pyx_k_operand[] = "operand";
2403 static const char __pyx_k_parents[] = "parents";
2404 static const char __pyx_k_pattern[] = "pattern";
2405 static const char __pyx_k_prepare[] = "__prepare__";
2406 static const char __pyx_k_replace[] = "replace";
2407 static const char __pyx_k_sources[] = "sources";
2408 static const char __pyx_k_warning[] = "warning";
2409 static const char __pyx_k_Argument[] = "Argument";
2410 static const char __pyx_k_ExprNode[] = "ExprNode";
2411 static const char __pyx_k_Optimize[] = "Optimize";
2412 static const char __pyx_k_blockids[] = "blockids";
2413 static const char __pyx_k_cf_state[] = "cf_state";
2414 static const char __pyx_k_children[] = "children";
2415 static const char __pyx_k_classobj[] = "classobj";
2416 static const char __pyx_k_deletion[] = "deletion";
2417 static const char __pyx_k_function[] = "function";
2418 static const char __pyx_k_getstate[] = "__getstate__";
2419 static const char __pyx_k_is_array[] = "is_array";
2420 static const char __pyx_k_is_error[] = "is_error";
2421 static const char __pyx_k_is_local[] = "is_local";
2422 static const char __pyx_k_iterator[] = "iterator";
2423 static const char __pyx_k_lhs_list[] = "lhs_list";
2424 static const char __pyx_k_module_2[] = "__module__";
2425 static const char __pyx_k_newblock[] = "newblock";
2426 static const char __pyx_k_not_none[] = "not_none";
2427 static const char __pyx_k_pyx_type[] = "__pyx_type";
2428 static const char __pyx_k_qualname[] = "__qualname__";
2429 static const char __pyx_k_reversed[] = "reversed";
2430 static const char __pyx_k_sequence[] = "sequence";
2431 static const char __pyx_k_setstate[] = "__setstate__";
2432 static const char __pyx_k_srcdescr[] = "srcdescr";
2433 static const char __pyx_k_star_arg[] = "star_arg";
2434 static const char __pyx_k_ExitBlock[] = "ExitBlock";
2435 static const char __pyx_k_ExprNodes[] = "ExprNodes";
2436 static const char __pyx_k_GVContext[] = "GVContext";
2437 static const char __pyx_k_GV___init[] = "GV.__init__";
2438 static const char __pyx_k_GV_render[] = "GV.render";
2439 static const char __pyx_k_LoopDescr[] = "LoopDescr";
2440 static const char __pyx_k_add_child[] = "add_child";
2441 static const char __pyx_k_collector[] = "collector";
2442 static const char __pyx_k_condition[] = "condition";
2443 static const char __pyx_k_dict_type[] = "dict_type";
2444 static const char __pyx_k_digraph_s[] = "digraph %s {\n";
2445 static const char __pyx_k_enumerate[] = "enumerate";
2446 static const char __pyx_k_exception[] = "exception";
2447 static const char __pyx_k_get_lines[] = "get_lines";
2448 static const char __pyx_k_is_single[] = "is_single";
2449 static const char __pyx_k_metaclass[] = "metaclass";
2450 static const char __pyx_k_nextblock[] = "nextblock";
2451 static const char __pyx_k_normalize[] = "normalize";
2452 static const char __pyx_k_positions[] = "positions";
2453 static const char __pyx_k_pyx_state[] = "__pyx_state";
2454 static const char __pyx_k_reduce_ex[] = "__reduce_ex__";
2455 static const char __pyx_k_reduction[] = "reduction";
2456 static const char __pyx_k_s_entry_r[] = "%s(entry=%r)";
2457 static const char __pyx_k_s_label_s[] = "  %s [label=\"%s\"];\n";
2458 static const char __pyx_k_with_node[] = "with_node";
2459 static const char __pyx_k_PyrexTypes[] = "PyrexTypes";
2460 static const char __pyx_k_allow_null[] = "allow_null";
2461 static const char __pyx_k_binop_node[] = "binop_node";
2462 static const char __pyx_k_body_block[] = "body_block";
2463 static const char __pyx_k_cf_is_null[] = "cf_is_null";
2464 static const char __pyx_k_decorators[] = "decorators";
2465 static const char __pyx_k_definition[] = "definition";
2466 static const char __pyx_k_dot_output[] = "dot_output";
2467 static const char __pyx_k_enter_call[] = "enter_call";
2468 static const char __pyx_k_exceptions[] = "exceptions";
2469 static const char __pyx_k_exit_point[] = "exit_point";
2470 static const char __pyx_k_expr_scope[] = "expr_scope";
2471 static const char __pyx_k_if_clauses[] = "if_clauses";
2472 static const char __pyx_k_in_closure[] = "in_closure";
2473 static const char __pyx_k_infer_type[] = "infer_type";
2474 static const char __pyx_k_initialize[] = "initialize";
2475 static const char __pyx_k_is_builtin[] = "is_builtin";
2476 static const char __pyx_k_is_complex[] = "is_complex";
2477 static const char __pyx_k_is_special[] = "is_special";
2478 static const char __pyx_k_is_starred[] = "is_starred";
2479 static const char __pyx_k_is_tracked[] = "is_tracked";
2480 static const char __pyx_k_loop_block[] = "loop_block";
2481 static const char __pyx_k_next_block[] = "next_block";
2482 static const char __pyx_k_pyx_result[] = "__pyx_result";
2483 static const char __pyx_k_pyx_vtable[] = "__pyx_vtable__";
2484 static const char __pyx_k_reductions[] = "reductions";
2485 static const char __pyx_k_startswith[] = "startswith";
2486 static const char __pyx_k_subgraph_s[] = " subgraph %s {\n";
2487 static const char __pyx_k_tuple_type[] = "tuple_type";
2488 static const char __pyx_k_visit_Node[] = "visit_Node";
2489 static const char __pyx_k_ControlFlow[] = "ControlFlow";
2490 static const char __pyx_k_PickleError[] = "PickleError";
2491 static const char __pyx_k_TreeVisitor[] = "TreeVisitor";
2492 static const char __pyx_k_assignments[] = "assignments";
2493 static const char __pyx_k_else_clause[] = "else_clause";
2494 static const char __pyx_k_entry_point[] = "entry_point";
2495 static const char __pyx_k_is_deletion[] = "is_deletion";
2496 static const char __pyx_k_is_pyobject[] = "is_pyobject";
2497 static const char __pyx_k_is_variable[] = "is_variable";
2498 static const char __pyx_k_local_scope[] = "local_scope";
2499 static const char __pyx_k_may_be_none[] = "may_be_none";
2500 static const char __pyx_k_metaclass_2[] = "__metaclass__";
2501 static const char __pyx_k_warn_unused[] = "warn.unused";
2502 static const char __pyx_k_ControlBlock[] = "ControlBlock";
2503 static const char __pyx_k_NameDeletion[] = "NameDeletion";
2504 static const char __pyx_k_class_result[] = "class_result";
2505 static const char __pyx_k_finally_exit[] = "finally_exit";
2506 static const char __pyx_k_from_closure[] = "from_closure";
2507 static const char __pyx_k_is_anonymous[] = "is_anonymous";
2508 static const char __pyx_k_is_cpp_class[] = "is_cpp_class";
2509 static const char __pyx_k_is_generator[] = "is_generator";
2510 static const char __pyx_k_next_handler[] = "next_handler";
2511 static const char __pyx_k_private_node[] = "private_node";
2512 static const char __pyx_k_pyx_checksum[] = "__pyx_checksum";
2513 static const char __pyx_k_starstar_arg[] = "starstar_arg";
2514 static const char __pyx_k_stringsource[] = "stringsource";
2515 static const char __pyx_k_use_setstate[] = "use_setstate";
2516 static const char __pyx_k_ForInStatNode[] = "ForInStatNode";
2517 static const char __pyx_k_GVContext_add[] = "GVContext.add";
2518 static const char __pyx_k_InternalError[] = "InternalError";
2519 static const char __pyx_k_NameReference[] = "NameReference";
2520 static const char __pyx_k_TypedExprNode[] = "TypedExprNode";
2521 static const char __pyx_k_Uninitialized[] = "Uninitialized";
2522 static const char __pyx_k_annotate_defs[] = "annotate_defs";
2523 static const char __pyx_k_cf_maybe_null[] = "cf_maybe_null";
2524 static const char __pyx_k_cf_references[] = "cf_references";
2525 static const char __pyx_k_finally_enter[] = "finally_enter";
2526 static const char __pyx_k_inferred_type[] = "inferred_type";
2527 static const char __pyx_k_is_terminator[] = "is_terminator";
2528 static const char __pyx_k_iterator_type[] = "iterator_type";
2529 static const char __pyx_k_mark_argument[] = "mark_argument";
2530 static const char __pyx_k_mark_deletion[] = "mark_deletion";
2531 static const char __pyx_k_mark_position[] = "mark_position";
2532 static const char __pyx_k_may_be_none_2[] = "_may_be_none";
2533 static const char __pyx_k_reduce_cython[] = "__reduce_cython__";
2534 static const char __pyx_k_s_reference_s[] = "\n %s [reference %s]";
2535 static const char __pyx_k_visit_DefNode[] = "visit_DefNode";
2536 static const char __pyx_k_AssignmentList[] = "AssignmentList";
2537 static const char __pyx_k_ExceptionDescr[] = "ExceptionDescr";
2538 static const char __pyx_k_NameAssignment[] = "NameAssignment";
2539 static const char __pyx_k_PY_SSIZE_T_MAX[] = "PY_SSIZE_T_MAX";
2540 static const char __pyx_k_SimpleCallNode[] = "SimpleCallNode";
2541 static const char __pyx_k_Unused_entry_s[] = "Unused entry '%s'";
2542 static const char __pyx_k_assigned_nodes[] = "assigned_nodes";
2543 static const char __pyx_k_cf_assignments[] = "cf_assignments";
2544 static const char __pyx_k_except_clauses[] = "except_clauses";
2545 static const char __pyx_k_finally_clause[] = "finally_clause";
2546 static const char __pyx_k_is_unspecified[] = "is_unspecified";
2547 static const char __pyx_k_mark_reference[] = "mark_reference";
2548 static const char __pyx_k_node_shape_box[] = " node [shape=box];\n";
2549 static const char __pyx_k_py_object_type[] = "py_object_type";
2550 static const char __pyx_k_visit_LoopNode[] = "visit_LoopNode";
2551 static const char __pyx_k_visit_NameNode[] = "visit_NameNode";
2552 static const char __pyx_k_Argument___init[] = "Argument.__init__";
2553 static const char __pyx_k_ConstantFolding[] = "ConstantFolding";
2554 static const char __pyx_k_CythonTransform[] = "CythonTransform";
2555 static const char __pyx_k_ExitBlock_empty[] = "ExitBlock.empty";
2556 static const char __pyx_k_condition_block[] = "condition_block";
2557 static const char __pyx_k_delete_privates[] = "_delete_privates";
2558 static const char __pyx_k_extract_sources[] = "extract_sources";
2559 static const char __pyx_k_is_builtin_type[] = "is_builtin_type";
2560 static const char __pyx_k_is_pyclass_attr[] = "is_pyclass_attr";
2561 static const char __pyx_k_mark_assignment[] = "mark_assignment";
2562 static const char __pyx_k_pyx_PickleError[] = "__pyx_PickleError";
2563 static const char __pyx_k_setstate_cython[] = "__setstate_cython__";
2564 static const char __pyx_k_warn_unused_arg[] = "warn.unused_arg";
2565 static const char __pyx_k_AsyncForStatNode[] = "AsyncForStatNode";
2566 static const char __pyx_k_ControlFlowState[] = "ControlFlowState";
2567 static const char __pyx_k_GVContext___init[] = "GVContext.__init__";
2568 static const char __pyx_k_GVContext_escape[] = "GVContext.escape";
2569 static const char __pyx_k_GVContext_nodeid[] = "GVContext.nodeid";
2570 static const char __pyx_k_GVContext_render[] = "GVContext.render";
2571 static const char __pyx_k_LoopDescr___init[] = "LoopDescr.__init__";
2572 static const char __pyx_k_StaticAssignment[] = "StaticAssignment";
2573 static const char __pyx_k_unspecified_type[] = "unspecified_type";
2574 static const char __pyx_k_visit_IfStatNode[] = "visit_IfStatNode";
2575 static const char __pyx_k_visit_ModuleNode[] = "visit_ModuleNode";
2576 static const char __pyx_k_visit_TypeidNode[] = "visit_TypeidNode";
2577 static const char __pyx_k_MessageCollection[] = "MessageCollection";
2578 static const char __pyx_k_ParallelRangeNode[] = "ParallelRangeNode";
2579 static const char __pyx_k_Unused_argument_s[] = "Unused argument '%s'";
2580 static const char __pyx_k_c_py_ssize_t_type[] = "c_py_ssize_t_type";
2581 static const char __pyx_k_create_binop_node[] = "create_binop_node";
2582 static const char __pyx_k_type_dependencies[] = "type_dependencies";
2583 static const char __pyx_k_visit_DelStatNode[] = "visit_DelStatNode";
2584 static const char __pyx_k_visit_FuncDefNode[] = "visit_FuncDefNode";
2585 static const char __pyx_k_ControlBlock_empty[] = "ControlBlock.empty";
2586 static const char __pyx_k_Unused_result_in_s[] = "Unused result in '%s'";
2587 static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
2588 static const char __pyx_k_ignore_nonexisting[] = "ignore_nonexisting";
2589 static const char __pyx_k_is_struct_or_union[] = "is_struct_or_union";
2590 static const char __pyx_k_visit_CArgDeclNode[] = "visit_CArgDeclNode";
2591 static const char __pyx_k_visit_CTypeDefNode[] = "visit_CTypeDefNode";
2592 static const char __pyx_k_visit_StatListNode[] = "visit_StatListNode";
2593 static const char __pyx_k_visit_WithStatNode[] = "visit_WithStatNode";
2594 static const char __pyx_k_warn_unused_result[] = "warn.unused_result";
2595 static const char __pyx_k_AssignmentCollector[] = "AssignmentCollector";
2596 static const char __pyx_k_ControlBlock_detach[] = "ControlBlock.detach";
2597 static const char __pyx_k_ControlFlowAnalysis[] = "ControlFlowAnalysis";
2598 static const char __pyx_k_ControlFlow_map_one[] = "ControlFlow.map_one";
2599 static const char __pyx_k_NameDeletion___init[] = "NameDeletion.__init__";
2600 static const char __pyx_k_inferable_item_node[] = "inferable_item_node";
2601 static const char __pyx_k_mark_forloop_target[] = "mark_forloop_target";
2602 static const char __pyx_k_visit_AmpersandNode[] = "visit_AmpersandNode";
2603 static const char __pyx_k_visit_BreakStatNode[] = "visit_BreakStatNode";
2604 static const char __pyx_k_visit_ForInStatNode[] = "visit_ForInStatNode";
2605 static const char __pyx_k_visit_RaiseStatNode[] = "visit_RaiseStatNode";
2606 static const char __pyx_k_visit_SizeofVarNode[] = "visit_SizeofVarNode";
2607 static const char __pyx_k_visit_WhileStatNode[] = "visit_WhileStatNode";
2608 static const char __pyx_k_ControlFlowState_one[] = "ControlFlowState.one";
2609 static const char __pyx_k_ControlFlow_newblock[] = "ControlFlow.newblock";
2610 static const char __pyx_k_NameReference___init[] = "NameReference.__init__";
2611 static const char __pyx_k_NameReference___repr[] = "NameReference.__repr__";
2612 static const char __pyx_k_TypedExprNode___init[] = "TypedExprNode.__init__";
2613 static const char __pyx_k_pyx_unpickle_Unknown[] = "__pyx_unpickle_Unknown";
2614 static const char __pyx_k_visit_AssignmentNode[] = "visit_AssignmentNode";
2615 static const char __pyx_k_visit_PyClassDefNode[] = "visit_PyClassDefNode";
2616 static const char __pyx_k_visit_ReturnStatNode[] = "visit_ReturnStatNode";
2617 static const char __pyx_k_visit_ScopedExprNode[] = "visit_ScopedExprNode";
2618 static const char __pyx_k_ControlFlow_nextblock[] = "ControlFlow.nextblock";
2619 static const char __pyx_k_ControlFlow_normalize[] = "ControlFlow.normalize";
2620 static const char __pyx_k_ExceptionDescr___init[] = "ExceptionDescr.__init__";
2621 static const char __pyx_k_Graphviz_DOT_renderer[] = "Graphviz DOT renderer.";
2622 static const char __pyx_k_finally_except_clause[] = "finally_except_clause";
2623 static const char __pyx_k_visit_ForFromStatNode[] = "visit_ForFromStatNode";
2624 static const char __pyx_k_visit_ReraiseStatNode[] = "visit_ReraiseStatNode";
2625 static const char __pyx_k_ControlBlock_add_child[] = "ControlBlock.add_child";
2626 static const char __pyx_k_ControlFlow_initialize[] = "ControlFlow.initialize";
2627 static const char __pyx_k_ControlFlow_is_tracked[] = "ControlFlow.is_tracked";
2628 static const char __pyx_k_can_coerce_to_pyobject[] = "can_coerce_to_pyobject";
2629 static const char __pyx_k_error_on_uninitialized[] = "error_on_uninitialized";
2630 static const char __pyx_k_is_statically_assigned[] = "is_statically_assigned";
2631 static const char __pyx_k_pyx_unpickle_ExitBlock[] = "__pyx_unpickle_ExitBlock";
2632 static const char __pyx_k_visit_AsyncForStatNode[] = "visit_AsyncForStatNode";
2633 static const char __pyx_k_visit_ContinueStatNode[] = "visit_ContinueStatNode";
2634 static const char __pyx_k_ControlFlowState___init[] = "ControlFlowState.__init__";
2635 static const char __pyx_k_MessageCollection_error[] = "MessageCollection.error";
2636 static const char __pyx_k_NameDeletion_infer_type[] = "NameDeletion.infer_type";
2637 static const char __pyx_k_StaticAssignment___init[] = "StaticAssignment.__init__";
2638 static const char __pyx_k_Unknown___reduce_cython[] = "Unknown.__reduce_cython__";
2639 static const char __pyx_k_Unused_argument_value_s[] = "Unused argument value '%s'";
2640 static const char __pyx_k_control_flow_dot_output[] = "control_flow.dot_output";
2641 static const char __pyx_k_is_sequence_constructor[] = "is_sequence_constructor";
2642 static const char __pyx_k_visit_ComprehensionNode[] = "visit_ComprehensionNode";
2643 static const char __pyx_k_visit_ParallelRangeNode[] = "visit_ParallelRangeNode";
2644 static const char __pyx_k_visit_TryExceptStatNode[] = "visit_TryExceptStatNode";
2645 static const char __pyx_k_Graphviz_subgraph_object[] = "Graphviz subgraph object.";
2646 static const char __pyx_k_MessageCollection_report[] = "MessageCollection.report";
2647 static const char __pyx_k_outer_exception_handlers[] = "outer_exception_handlers";
2648 static const char __pyx_k_pyx_unpickle_ControlFlow[] = "__pyx_unpickle_ControlFlow";
2649 static const char __pyx_k_visit_FromImportStatNode[] = "visit_FromImportStatNode";
2650 static const char __pyx_k_visit_TryFinallyStatNode[] = "visit_TryFinallyStatNode";
2651 static const char __pyx_k_warn_maybe_uninitialized[] = "warn.maybe_uninitialized";
2652 static const char __pyx_k_ControlFlow_mark_argument[] = "ControlFlow.mark_argument";
2653 static const char __pyx_k_ControlFlow_mark_deletion[] = "ControlFlow.mark_deletion";
2654 static const char __pyx_k_ControlFlow_mark_position[] = "ControlFlow.mark_position";
2655 static const char __pyx_k_ExitBlock___reduce_cython[] = "ExitBlock.__reduce_cython__";
2656 static const char __pyx_k_GVContext_extract_sources[] = "GVContext.extract_sources";
2657 static const char __pyx_k_MessageCollection_warning[] = "MessageCollection.warning";
2658 static const char __pyx_k_NameAssignment_infer_type[] = "NameAssignment.infer_type";
2659 static const char __pyx_k_TypedExprNode_may_be_none[] = "TypedExprNode.may_be_none";
2660 static const char __pyx_k_Unhandled_assignment_node[] = "Unhandled assignment node";
2661 static const char __pyx_k_Unknown___setstate_cython[] = "Unknown.__setstate_cython__";
2662 static const char __pyx_k_pyx_unpickle_ControlBlock[] = "__pyx_unpickle_ControlBlock";
2663 static const char __pyx_k_ControlFlow_mark_reference[] = "ControlFlow.mark_reference";
2664 static const char __pyx_k_pyx_unpickle_Uninitialized[] = "__pyx_unpickle_Uninitialized";
2665 static const char __pyx_k_visit_GeneratorBodyDefNode[] = "visit_GeneratorBodyDefNode";
2666 static const char __pyx_k_visit_SingleAssignmentNode[] = "visit_SingleAssignmentNode";
2667 static const char __pyx_k_ControlFlow___reduce_cython[] = "ControlFlow.__reduce_cython__";
2668 static const char __pyx_k_ControlFlow_mark_assignment[] = "ControlFlow.mark_assignment";
2669 static const char __pyx_k_Cython_Compiler_FlowControl[] = "Cython.Compiler.FlowControl";
2670 static const char __pyx_k_ExitBlock___setstate_cython[] = "ExitBlock.__setstate_cython__";
2671 static const char __pyx_k_StaticAssignment_infer_type[] = "StaticAssignment.infer_type";
2672 static const char __pyx_k_pyx_unpickle_AssignmentList[] = "__pyx_unpickle_AssignmentList";
2673 static const char __pyx_k_pyx_unpickle_NameAssignment[] = "__pyx_unpickle_NameAssignment";
2674 static const char __pyx_k_visit_InPlaceAssignmentNode[] = "visit_InPlaceAssignmentNode";
2675 static const char __pyx_k_visit_ParallelWithBlockNode[] = "visit_ParallelWithBlockNode";
2676 static const char __pyx_k_ControlBlock___reduce_cython[] = "ControlBlock.__reduce_cython__";
2677 static const char __pyx_k_visit_CascadedAssignmentNode[] = "visit_CascadedAssignmentNode";
2678 static const char __pyx_k_visit_ParallelAssignmentNode[] = "visit_ParallelAssignmentNode";
2679 static const char __pyx_k_ControlFlow___setstate_cython[] = "ControlFlow.__setstate_cython__";
2680 static const char __pyx_k_Uninitialized___reduce_cython[] = "Uninitialized.__reduce_cython__";
2681 static const char __pyx_k_AssignmentCollector_visit_Node[] = "AssignmentCollector.visit_Node";
2682 static const char __pyx_k_AssignmentList___reduce_cython[] = "AssignmentList.__reduce_cython__";
2683 static const char __pyx_k_ControlBlock___setstate_cython[] = "ControlBlock.__setstate_cython__";
2684 static const char __pyx_k_ControlFlowAnalysis_visit_Node[] = "ControlFlowAnalysis.visit_Node";
2685 static const char __pyx_k_Cython_Compiler_FlowControl_py[] = "Cython/Compiler/FlowControl.py";
2686 static const char __pyx_k_NameAssignment___reduce_cython[] = "NameAssignment.__reduce_cython__";
2687 static const char __pyx_k_control_flow_dot_annotate_defs[] = "control_flow.dot_annotate_defs";
2688 static const char __pyx_k_pyx_unpickle_AssignmentCollect[] = "__pyx_unpickle_AssignmentCollector";
2689 static const char __pyx_k_pyx_unpickle_ControlFlowAnalys[] = "__pyx_unpickle_ControlFlowAnalysis";
2690 static const char __pyx_k_pyx_unpickle_MessageCollection[] = "__pyx_unpickle_MessageCollection";
2691 static const char __pyx_k_Exception_handling_helper_entry[] = "Exception handling helper.\n\n    entry_point   ControlBlock Exception handling entry point\n    finally_enter ControlBlock Normal finally clause entry point\n    finally_exit  ControlBlock Normal finally clause exit point\n    ";
2692 static const char __pyx_k_Generic_loops_are_not_supported[] = "Generic loops are not supported";
2693 static const char __pyx_k_Initialised_at_declaration_time[] = "Initialised at declaration time, e.g. stack allocation.";
2694 static const char __pyx_k_Uninitialized___setstate_cython[] = "Uninitialized.__setstate_cython__";
2695 static const char __pyx_k_AssignmentCollector___reduce_cyt[] = "AssignmentCollector.__reduce_cython__";
2696 static const char __pyx_k_AssignmentCollector___setstate_c[] = "AssignmentCollector.__setstate_cython__";
2697 static const char __pyx_k_AssignmentCollector_visit_Cascad[] = "AssignmentCollector.visit_CascadedAssignmentNode";
2698 static const char __pyx_k_AssignmentCollector_visit_Single[] = "AssignmentCollector.visit_SingleAssignmentNode";
2699 static const char __pyx_k_AssignmentList___setstate_cython[] = "AssignmentList.__setstate_cython__";
2700 static const char __pyx_k_Cannot_read_reduction_variable_i[] = "Cannot read reduction variable in loop body";
2701 static const char __pyx_k_ControlFlowAnalysis___reduce_cyt[] = "ControlFlowAnalysis.__reduce_cython__";
2702 static const char __pyx_k_ControlFlowAnalysis___setstate_c[] = "ControlFlowAnalysis.__setstate_cython__";
2703 static const char __pyx_k_ControlFlowAnalysis__delete_priv[] = "ControlFlowAnalysis._delete_privates";
2704 static const char __pyx_k_ControlFlowAnalysis_mark_assignm[] = "ControlFlowAnalysis.mark_assignment";
2705 static const char __pyx_k_ControlFlowAnalysis_mark_forloop[] = "ControlFlowAnalysis.mark_forloop_target";
2706 static const char __pyx_k_ControlFlowAnalysis_mark_positio[] = "ControlFlowAnalysis.mark_position";
2707 static const char __pyx_k_ControlFlowAnalysis_visit_Ampers[] = "ControlFlowAnalysis.visit_AmpersandNode";
2708 static const char __pyx_k_ControlFlowAnalysis_visit_Assign[] = "ControlFlowAnalysis.visit_AssignmentNode";
2709 static const char __pyx_k_ControlFlowAnalysis_visit_AsyncF[] = "ControlFlowAnalysis.visit_AsyncForStatNode";
2710 static const char __pyx_k_ControlFlowAnalysis_visit_BreakS[] = "ControlFlowAnalysis.visit_BreakStatNode";
2711 static const char __pyx_k_ControlFlowAnalysis_visit_CArgDe[] = "ControlFlowAnalysis.visit_CArgDeclNode";
2712 static const char __pyx_k_ControlFlowAnalysis_visit_CTypeD[] = "ControlFlowAnalysis.visit_CTypeDefNode";
2713 static const char __pyx_k_ControlFlowAnalysis_visit_Cascad[] = "ControlFlowAnalysis.visit_CascadedAssignmentNode";
2714 static const char __pyx_k_ControlFlowAnalysis_visit_Compre[] = "ControlFlowAnalysis.visit_ComprehensionNode";
2715 static const char __pyx_k_ControlFlowAnalysis_visit_Contin[] = "ControlFlowAnalysis.visit_ContinueStatNode";
2716 static const char __pyx_k_ControlFlowAnalysis_visit_DefNod[] = "ControlFlowAnalysis.visit_DefNode";
2717 static const char __pyx_k_ControlFlowAnalysis_visit_DelSta[] = "ControlFlowAnalysis.visit_DelStatNode";
2718 static const char __pyx_k_ControlFlowAnalysis_visit_ForFro[] = "ControlFlowAnalysis.visit_ForFromStatNode";
2719 static const char __pyx_k_ControlFlowAnalysis_visit_ForInS[] = "ControlFlowAnalysis.visit_ForInStatNode";
2720 static const char __pyx_k_ControlFlowAnalysis_visit_FromIm[] = "ControlFlowAnalysis.visit_FromImportStatNode";
2721 static const char __pyx_k_ControlFlowAnalysis_visit_FuncDe[] = "ControlFlowAnalysis.visit_FuncDefNode";
2722 static const char __pyx_k_ControlFlowAnalysis_visit_Genera[] = "ControlFlowAnalysis.visit_GeneratorBodyDefNode";
2723 static const char __pyx_k_ControlFlowAnalysis_visit_IfStat[] = "ControlFlowAnalysis.visit_IfStatNode";
2724 static const char __pyx_k_ControlFlowAnalysis_visit_InPlac[] = "ControlFlowAnalysis.visit_InPlaceAssignmentNode";
2725 static const char __pyx_k_ControlFlowAnalysis_visit_LoopNo[] = "ControlFlowAnalysis.visit_LoopNode";
2726 static const char __pyx_k_ControlFlowAnalysis_visit_Module[] = "ControlFlowAnalysis.visit_ModuleNode";
2727 static const char __pyx_k_ControlFlowAnalysis_visit_NameNo[] = "ControlFlowAnalysis.visit_NameNode";
2728 static const char __pyx_k_ControlFlowAnalysis_visit_Parall[] = "ControlFlowAnalysis.visit_ParallelAssignmentNode";
2729 static const char __pyx_k_ControlFlowAnalysis_visit_PyClas[] = "ControlFlowAnalysis.visit_PyClassDefNode";
2730 static const char __pyx_k_ControlFlowAnalysis_visit_RaiseS[] = "ControlFlowAnalysis.visit_RaiseStatNode";
2731 static const char __pyx_k_ControlFlowAnalysis_visit_Rerais[] = "ControlFlowAnalysis.visit_ReraiseStatNode";
2732 static const char __pyx_k_ControlFlowAnalysis_visit_Return[] = "ControlFlowAnalysis.visit_ReturnStatNode";
2733 static const char __pyx_k_ControlFlowAnalysis_visit_Scoped[] = "ControlFlowAnalysis.visit_ScopedExprNode";
2734 static const char __pyx_k_ControlFlowAnalysis_visit_Single[] = "ControlFlowAnalysis.visit_SingleAssignmentNode";
2735 static const char __pyx_k_ControlFlowAnalysis_visit_Sizeof[] = "ControlFlowAnalysis.visit_SizeofVarNode";
2736 static const char __pyx_k_ControlFlowAnalysis_visit_StatLi[] = "ControlFlowAnalysis.visit_StatListNode";
2737 static const char __pyx_k_ControlFlowAnalysis_visit_TryExc[] = "ControlFlowAnalysis.visit_TryExceptStatNode";
2738 static const char __pyx_k_ControlFlowAnalysis_visit_TryFin[] = "ControlFlowAnalysis.visit_TryFinallyStatNode";
2739 static const char __pyx_k_ControlFlowAnalysis_visit_Typeid[] = "ControlFlowAnalysis.visit_TypeidNode";
2740 static const char __pyx_k_ControlFlowAnalysis_visit_WhileS[] = "ControlFlowAnalysis.visit_WhileStatNode";
2741 static const char __pyx_k_ControlFlowAnalysis_visit_WithSt[] = "ControlFlowAnalysis.visit_WithStatNode";
2742 static const char __pyx_k_ControlFlowAnalysis_visit_WithTa[] = "ControlFlowAnalysis.visit_WithTargetAssignmentStatNode";
2743 static const char __pyx_k_ControlFlow_is_statically_assign[] = "ControlFlow.is_statically_assigned";
2744 static const char __pyx_k_Incompatible_checksums_s_vs_0x13[] = "Incompatible checksums (%s vs 0x13117fb = (bit, entry, inferred_type, is_arg, is_deletion, lhs, pos, refs, rhs))";
2745 static const char __pyx_k_Incompatible_checksums_s_vs_0x39[] = "Incompatible checksums (%s vs 0x39670e9 = (bit, mask, stats))";
2746 static const char __pyx_k_Incompatible_checksums_s_vs_0x61[] = "Incompatible checksums (%s vs 0x61dbd8a = (assmts, block, blocks, entries, entry_point, exceptions, exit_point, loops))";
2747 static const char __pyx_k_Incompatible_checksums_s_vs_0x93[] = "Incompatible checksums (%s vs 0x9348192 = (access_path, constant_folder, context, current_directives, dispatch_table, env, env_stack, flow, gv_ctx, in_inplace_assignment, reductions, stack))";
2748 static const char __pyx_k_Incompatible_checksums_s_vs_0xd4[] = "Incompatible checksums (%s vs 0xd41d8cd = ())";
2749 static const char __pyx_k_Incompatible_checksums_s_vs_0xde[] = "Incompatible checksums (%s vs 0xde70938 = (messages))";
2750 static const char __pyx_k_Incompatible_checksums_s_vs_0xdf[] = "Incompatible checksums (%s vs 0xdf44812 = (access_path, assignments, dispatch_table))";
2751 static const char __pyx_k_Incompatible_checksums_s_vs_0xf2[] = "Incompatible checksums (%s vs 0xf2b1408 = (bounded, children, gen, i_gen, i_input, i_kill, i_output, i_state, parents, positions, stats))";
2752 static const char __pyx_k_MessageCollection___reduce_cytho[] = "MessageCollection.__reduce_cython__";
2753 static const char __pyx_k_MessageCollection___setstate_cyt[] = "MessageCollection.__setstate_cython__";
2754 static const char __pyx_k_NameAssignment___setstate_cython[] = "NameAssignment.__setstate_cython__";
2755 static const char __pyx_k_NameAssignment_type_dependencies[] = "NameAssignment.type_dependencies";
2756 static const char __pyx_k_StaticAssignment_type_dependenci[] = "StaticAssignment.type_dependencies";
2757 static const char __pyx_k_can_not_delete_variable_s_refere[] = "can not delete variable '%s' referenced in nested scope";
2758 static const char __pyx_k_local_variable_s_might_be_refere[] = "local variable '%s' might be referenced before assignment";
2759 static const char __pyx_k_local_variable_s_referenced_befo[] = "local variable '%s' referenced before assignment";
2760 static const char __pyx_k_visit_WithTargetAssignmentStatNo[] = "visit_WithTargetAssignmentStatNode";
2761 static const char __pyx_k_ControlFlowAnalysis_visit_Parall_2[] = "ControlFlowAnalysis.visit_ParallelRangeNode";
2762 static const char __pyx_k_ControlFlowAnalysis_visit_Parall_3[] = "ControlFlowAnalysis.visit_ParallelWithBlockNode";
2763 static PyObject *__pyx_n_s_Argument;
2764 static PyObject *__pyx_n_s_Argument___init;
2765 static PyObject *__pyx_n_s_AssignmentCollector;
2766 static PyObject *__pyx_n_s_AssignmentCollector___reduce_cyt;
2767 static PyObject *__pyx_n_s_AssignmentCollector___setstate_c;
2768 static PyObject *__pyx_n_s_AssignmentCollector_visit_Cascad;
2769 static PyObject *__pyx_n_s_AssignmentCollector_visit_Node;
2770 static PyObject *__pyx_n_s_AssignmentCollector_visit_Single;
2771 static PyObject *__pyx_n_s_AssignmentList;
2772 static PyObject *__pyx_n_s_AssignmentList___reduce_cython;
2773 static PyObject *__pyx_n_s_AssignmentList___setstate_cython;
2774 static PyObject *__pyx_n_s_AsyncForStatNode;
2775 static PyObject *__pyx_n_s_Builtin;
2776 static PyObject *__pyx_kp_s_Cannot_read_reduction_variable_i;
2777 static PyObject *__pyx_n_s_ConstantFolding;
2778 static PyObject *__pyx_n_s_ControlBlock;
2779 static PyObject *__pyx_n_s_ControlBlock___reduce_cython;
2780 static PyObject *__pyx_n_s_ControlBlock___setstate_cython;
2781 static PyObject *__pyx_n_s_ControlBlock_add_child;
2782 static PyObject *__pyx_n_s_ControlBlock_detach;
2783 static PyObject *__pyx_n_s_ControlBlock_empty;
2784 static PyObject *__pyx_n_s_ControlFlow;
2785 static PyObject *__pyx_n_s_ControlFlowAnalysis;
2786 static PyObject *__pyx_n_s_ControlFlowAnalysis___reduce_cyt;
2787 static PyObject *__pyx_n_s_ControlFlowAnalysis___setstate_c;
2788 static PyObject *__pyx_n_s_ControlFlowAnalysis__delete_priv;
2789 static PyObject *__pyx_n_s_ControlFlowAnalysis_mark_assignm;
2790 static PyObject *__pyx_n_s_ControlFlowAnalysis_mark_forloop;
2791 static PyObject *__pyx_n_s_ControlFlowAnalysis_mark_positio;
2792 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_Ampers;
2793 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_Assign;
2794 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_AsyncF;
2795 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_BreakS;
2796 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_CArgDe;
2797 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_CTypeD;
2798 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_Cascad;
2799 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_Compre;
2800 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_Contin;
2801 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_DefNod;
2802 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_DelSta;
2803 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_ForFro;
2804 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_ForInS;
2805 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_FromIm;
2806 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_FuncDe;
2807 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_Genera;
2808 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_IfStat;
2809 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_InPlac;
2810 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_LoopNo;
2811 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_Module;
2812 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_NameNo;
2813 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_Node;
2814 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_Parall;
2815 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_Parall_2;
2816 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_Parall_3;
2817 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_PyClas;
2818 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_RaiseS;
2819 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_Rerais;
2820 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_Return;
2821 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_Scoped;
2822 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_Single;
2823 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_Sizeof;
2824 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_StatLi;
2825 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_TryExc;
2826 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_TryFin;
2827 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_Typeid;
2828 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_WhileS;
2829 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_WithSt;
2830 static PyObject *__pyx_n_s_ControlFlowAnalysis_visit_WithTa;
2831 static PyObject *__pyx_n_s_ControlFlowState;
2832 static PyObject *__pyx_n_s_ControlFlowState___init;
2833 static PyObject *__pyx_n_s_ControlFlowState_one;
2834 static PyObject *__pyx_n_s_ControlFlow___reduce_cython;
2835 static PyObject *__pyx_n_s_ControlFlow___setstate_cython;
2836 static PyObject *__pyx_n_s_ControlFlow_initialize;
2837 static PyObject *__pyx_n_s_ControlFlow_is_statically_assign;
2838 static PyObject *__pyx_n_s_ControlFlow_is_tracked;
2839 static PyObject *__pyx_n_s_ControlFlow_map_one;
2840 static PyObject *__pyx_n_s_ControlFlow_mark_argument;
2841 static PyObject *__pyx_n_s_ControlFlow_mark_assignment;
2842 static PyObject *__pyx_n_s_ControlFlow_mark_deletion;
2843 static PyObject *__pyx_n_s_ControlFlow_mark_position;
2844 static PyObject *__pyx_n_s_ControlFlow_mark_reference;
2845 static PyObject *__pyx_n_s_ControlFlow_newblock;
2846 static PyObject *__pyx_n_s_ControlFlow_nextblock;
2847 static PyObject *__pyx_n_s_ControlFlow_normalize;
2848 static PyObject *__pyx_n_s_CythonTransform;
2849 static PyObject *__pyx_n_s_Cython_Compiler_FlowControl;
2850 static PyObject *__pyx_kp_s_Cython_Compiler_FlowControl_py;
2851 static PyObject *__pyx_n_s_Errors;
2852 static PyObject *__pyx_n_s_ExceptionDescr;
2853 static PyObject *__pyx_n_s_ExceptionDescr___init;
2854 static PyObject *__pyx_kp_s_Exception_handling_helper_entry;
2855 static PyObject *__pyx_n_s_ExitBlock;
2856 static PyObject *__pyx_n_s_ExitBlock___reduce_cython;
2857 static PyObject *__pyx_n_s_ExitBlock___setstate_cython;
2858 static PyObject *__pyx_n_s_ExitBlock_empty;
2859 static PyObject *__pyx_n_s_ExprNode;
2860 static PyObject *__pyx_n_s_ExprNodes;
2861 static PyObject *__pyx_n_s_ForInStatNode;
2862 static PyObject *__pyx_n_s_GV;
2863 static PyObject *__pyx_n_s_GVContext;
2864 static PyObject *__pyx_n_s_GVContext___init;
2865 static PyObject *__pyx_n_s_GVContext_add;
2866 static PyObject *__pyx_n_s_GVContext_escape;
2867 static PyObject *__pyx_n_s_GVContext_extract_sources;
2868 static PyObject *__pyx_n_s_GVContext_nodeid;
2869 static PyObject *__pyx_n_s_GVContext_render;
2870 static PyObject *__pyx_n_s_GV___init;
2871 static PyObject *__pyx_n_s_GV_render;
2872 static PyObject *__pyx_kp_s_Generic_loops_are_not_supported;
2873 static PyObject *__pyx_kp_s_Graphviz_DOT_renderer;
2874 static PyObject *__pyx_kp_s_Graphviz_subgraph_object;
2875 static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0x13;
2876 static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0x39;
2877 static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0x61;
2878 static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0x93;
2879 static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0xd4;
2880 static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0xde;
2881 static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0xdf;
2882 static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0xf2;
2883 static PyObject *__pyx_kp_s_Initialised_at_declaration_time;
2884 static PyObject *__pyx_n_s_IntNode;
2885 static PyObject *__pyx_n_s_InternalError;
2886 static PyObject *__pyx_n_s_LoopDescr;
2887 static PyObject *__pyx_n_s_LoopDescr___init;
2888 static PyObject *__pyx_n_s_MessageCollection;
2889 static PyObject *__pyx_n_s_MessageCollection___reduce_cytho;
2890 static PyObject *__pyx_n_s_MessageCollection___setstate_cyt;
2891 static PyObject *__pyx_n_s_MessageCollection_error;
2892 static PyObject *__pyx_n_s_MessageCollection_report;
2893 static PyObject *__pyx_n_s_MessageCollection_warning;
2894 static PyObject *__pyx_n_s_NameAssignment;
2895 static PyObject *__pyx_n_s_NameAssignment___reduce_cython;
2896 static PyObject *__pyx_n_s_NameAssignment___setstate_cython;
2897 static PyObject *__pyx_n_s_NameAssignment_infer_type;
2898 static PyObject *__pyx_n_s_NameAssignment_type_dependencies;
2899 static PyObject *__pyx_n_s_NameDeletion;
2900 static PyObject *__pyx_n_s_NameDeletion___init;
2901 static PyObject *__pyx_n_s_NameDeletion_infer_type;
2902 static PyObject *__pyx_n_s_NameReference;
2903 static PyObject *__pyx_n_s_NameReference___init;
2904 static PyObject *__pyx_n_s_NameReference___repr;
2905 static PyObject *__pyx_n_s_Nodes;
2906 static PyObject *__pyx_n_s_Optimize;
2907 static PyObject *__pyx_n_s_Options;
2908 static PyObject *__pyx_n_s_PY_SSIZE_T_MAX;
2909 static PyObject *__pyx_n_s_ParallelRangeNode;
2910 static PyObject *__pyx_n_s_PickleError;
2911 static PyObject *__pyx_n_s_PyrexTypes;
2912 static PyObject *__pyx_n_s_SimpleCallNode;
2913 static PyObject *__pyx_n_s_StaticAssignment;
2914 static PyObject *__pyx_n_s_StaticAssignment___init;
2915 static PyObject *__pyx_n_s_StaticAssignment_infer_type;
2916 static PyObject *__pyx_n_s_StaticAssignment_type_dependenci;
2917 static PyObject *__pyx_n_s_TreeVisitor;
2918 static PyObject *__pyx_n_s_TypedExprNode;
2919 static PyObject *__pyx_n_s_TypedExprNode___init;
2920 static PyObject *__pyx_n_s_TypedExprNode_may_be_none;
2921 static PyObject *__pyx_kp_s_Unhandled_assignment_node;
2922 static PyObject *__pyx_n_s_Uninitialized;
2923 static PyObject *__pyx_n_s_Uninitialized___reduce_cython;
2924 static PyObject *__pyx_n_s_Uninitialized___setstate_cython;
2925 static PyObject *__pyx_n_s_Unknown;
2926 static PyObject *__pyx_n_s_Unknown___reduce_cython;
2927 static PyObject *__pyx_n_s_Unknown___setstate_cython;
2928 static PyObject *__pyx_kp_s_Unused_argument_s;
2929 static PyObject *__pyx_kp_s_Unused_argument_value_s;
2930 static PyObject *__pyx_kp_s_Unused_entry_s;
2931 static PyObject *__pyx_kp_s_Unused_result_in_s;
2932 static PyObject *__pyx_n_s_Visitor;
2933 static PyObject *__pyx_n_s__10;
2934 static PyObject *__pyx_kp_s__12;
2935 static PyObject *__pyx_kp_s__13;
2936 static PyObject *__pyx_kp_s__2;
2937 static PyObject *__pyx_kp_s__3;
2938 static PyObject *__pyx_kp_s__4;
2939 static PyObject *__pyx_kp_s__5;
2940 static PyObject *__pyx_kp_s__7;
2941 static PyObject *__pyx_kp_s__9;
2942 static PyObject *__pyx_n_s_add;
2943 static PyObject *__pyx_n_s_add_child;
2944 static PyObject *__pyx_n_s_allow_null;
2945 static PyObject *__pyx_n_s_annotate_defs;
2946 static PyObject *__pyx_n_s_append;
2947 static PyObject *__pyx_n_s_arg;
2948 static PyObject *__pyx_n_s_args;
2949 static PyObject *__pyx_n_s_assigned_nodes;
2950 static PyObject *__pyx_n_s_assignments;
2951 static PyObject *__pyx_n_s_bases;
2952 static PyObject *__pyx_n_s_binop_node;
2953 static PyObject *__pyx_n_s_bit;
2954 static PyObject *__pyx_n_s_block;
2955 static PyObject *__pyx_kp_s_block_d;
2956 static PyObject *__pyx_n_s_blockids;
2957 static PyObject *__pyx_n_s_blocks;
2958 static PyObject *__pyx_n_s_body;
2959 static PyObject *__pyx_n_s_body_block;
2960 static PyObject *__pyx_n_s_bound1;
2961 static PyObject *__pyx_n_s_bound2;
2962 static PyObject *__pyx_n_s_c_py_ssize_t_type;
2963 static PyObject *__pyx_n_s_can_coerce_to_pyobject;
2964 static PyObject *__pyx_kp_s_can_not_delete_variable_s_refere;
2965 static PyObject *__pyx_n_s_cf_assignments;
2966 static PyObject *__pyx_n_s_cf_is_null;
2967 static PyObject *__pyx_n_s_cf_maybe_null;
2968 static PyObject *__pyx_n_s_cf_references;
2969 static PyObject *__pyx_n_s_cf_state;
2970 static PyObject *__pyx_n_s_cf_used;
2971 static PyObject *__pyx_n_s_child;
2972 static PyObject *__pyx_n_s_children;
2973 static PyObject *__pyx_n_s_class;
2974 static PyObject *__pyx_n_s_class_result;
2975 static PyObject *__pyx_n_s_classobj;
2976 static PyObject *__pyx_n_s_clause;
2977 static PyObject *__pyx_n_s_cline_in_traceback;
2978 static PyObject *__pyx_n_s_close;
2979 static PyObject *__pyx_n_s_collector;
2980 static PyObject *__pyx_n_s_condition;
2981 static PyObject *__pyx_n_s_condition_block;
2982 static PyObject *__pyx_kp_s_control_flow_dot_annotate_defs;
2983 static PyObject *__pyx_kp_s_control_flow_dot_output;
2984 static PyObject *__pyx_n_s_create_binop_node;
2985 static PyObject *__pyx_n_s_ctx;
2986 static PyObject *__pyx_n_s_decorators;
2987 static PyObject *__pyx_n_s_default;
2988 static PyObject *__pyx_n_s_definition;
2989 static PyObject *__pyx_n_s_delete_privates;
2990 static PyObject *__pyx_n_s_deletion;
2991 static PyObject *__pyx_n_s_descr;
2992 static PyObject *__pyx_n_s_detach;
2993 static PyObject *__pyx_n_s_dict;
2994 static PyObject *__pyx_n_s_dict_2;
2995 static PyObject *__pyx_n_s_dict_3;
2996 static PyObject *__pyx_n_s_dict_type;
2997 static PyObject *__pyx_kp_s_digraph_s;
2998 static PyObject *__pyx_n_s_discard;
2999 static PyObject *__pyx_n_s_doc;
3000 static PyObject *__pyx_n_s_dot_output;
3001 static PyObject *__pyx_n_s_else_clause;
3002 static PyObject *__pyx_n_s_empty;
3003 static PyObject *__pyx_n_s_enter_call;
3004 static PyObject *__pyx_n_s_entries;
3005 static PyObject *__pyx_n_s_entry;
3006 static PyObject *__pyx_n_s_entry_point;
3007 static PyObject *__pyx_n_s_enumerate;
3008 static PyObject *__pyx_n_s_error;
3009 static PyObject *__pyx_n_s_error_on_uninitialized;
3010 static PyObject *__pyx_n_s_escape;
3011 static PyObject *__pyx_n_s_except_clauses;
3012 static PyObject *__pyx_n_s_exception;
3013 static PyObject *__pyx_n_s_exceptions;
3014 static PyObject *__pyx_n_s_exclude;
3015 static PyObject *__pyx_n_s_exit_point;
3016 static PyObject *__pyx_n_s_expr_scope;
3017 static PyObject *__pyx_n_s_extract_sources;
3018 static PyObject *__pyx_n_s_finally_clause;
3019 static PyObject *__pyx_n_s_finally_enter;
3020 static PyObject *__pyx_n_s_finally_except_clause;
3021 static PyObject *__pyx_n_s_finally_exit;
3022 static PyObject *__pyx_n_s_flow;
3023 static PyObject *__pyx_n_s_fp;
3024 static PyObject *__pyx_n_s_from_closure;
3025 static PyObject *__pyx_n_s_function;
3026 static PyObject *__pyx_n_s_gbody;
3027 static PyObject *__pyx_n_s_get_lines;
3028 static PyObject *__pyx_n_s_getstate;
3029 static PyObject *__pyx_n_s_handler;
3030 static PyObject *__pyx_n_s_i;
3031 static PyObject *__pyx_n_s_if_clauses;
3032 static PyObject *__pyx_n_s_ignore_nonexisting;
3033 static PyObject *__pyx_n_s_import;
3034 static PyObject *__pyx_n_s_in_closure;
3035 static PyObject *__pyx_n_s_infer_type;
3036 static PyObject *__pyx_n_s_inferable_item_node;
3037 static PyObject *__pyx_n_s_inferred_type;
3038 static PyObject *__pyx_n_s_init;
3039 static PyObject *__pyx_n_s_initialize;
3040 static PyObject *__pyx_n_s_is_anonymous;
3041 static PyObject *__pyx_n_s_is_arg;
3042 static PyObject *__pyx_n_s_is_array;
3043 static PyObject *__pyx_n_s_is_builtin;
3044 static PyObject *__pyx_n_s_is_builtin_type;
3045 static PyObject *__pyx_n_s_is_complex;
3046 static PyObject *__pyx_n_s_is_cpp_class;
3047 static PyObject *__pyx_n_s_is_deletion;
3048 static PyObject *__pyx_n_s_is_error;
3049 static PyObject *__pyx_n_s_is_generator;
3050 static PyObject *__pyx_n_s_is_local;
3051 static PyObject *__pyx_n_s_is_name;
3052 static PyObject *__pyx_n_s_is_pyclass_attr;
3053 static PyObject *__pyx_n_s_is_pyobject;
3054 static PyObject *__pyx_n_s_is_sequence_constructor;
3055 static PyObject *__pyx_n_s_is_single;
3056 static PyObject *__pyx_n_s_is_special;
3057 static PyObject *__pyx_n_s_is_starred;
3058 static PyObject *__pyx_n_s_is_statically_assigned;
3059 static PyObject *__pyx_n_s_is_struct_or_union;
3060 static PyObject *__pyx_n_s_is_terminator;
3061 static PyObject *__pyx_n_s_is_tracked;
3062 static PyObject *__pyx_n_s_is_unspecified;
3063 static PyObject *__pyx_n_s_is_variable;
3064 static PyObject *__pyx_n_s_istate;
3065 static PyObject *__pyx_n_s_item;
3066 static PyObject *__pyx_n_s_items;
3067 static PyObject *__pyx_n_s_iterator;
3068 static PyObject *__pyx_n_s_iterator_type;
3069 static PyObject *__pyx_n_s_join;
3070 static PyObject *__pyx_n_s_l;
3071 static PyObject *__pyx_n_s_label;
3072 static PyObject *__pyx_n_s_lhs;
3073 static PyObject *__pyx_n_s_lhs_list;
3074 static PyObject *__pyx_n_s_lines;
3075 static PyObject *__pyx_n_s_local_scope;
3076 static PyObject *__pyx_kp_s_local_variable_s_might_be_refere;
3077 static PyObject *__pyx_kp_s_local_variable_s_referenced_befo;
3078 static PyObject *__pyx_n_s_lookup;
3079 static PyObject *__pyx_n_s_loop;
3080 static PyObject *__pyx_n_s_loop_block;
3081 static PyObject *__pyx_n_s_main;
3082 static PyObject *__pyx_n_s_manager;
3083 static PyObject *__pyx_n_s_map_one;
3084 static PyObject *__pyx_n_s_mark_argument;
3085 static PyObject *__pyx_n_s_mark_assignment;
3086 static PyObject *__pyx_n_s_mark_deletion;
3087 static PyObject *__pyx_n_s_mark_forloop_target;
3088 static PyObject *__pyx_n_s_mark_position;
3089 static PyObject *__pyx_n_s_mark_reference;
3090 static PyObject *__pyx_n_s_mask;
3091 static PyObject *__pyx_n_s_max;
3092 static PyObject *__pyx_n_s_may_be_none;
3093 static PyObject *__pyx_n_s_may_be_none_2;
3094 static PyObject *__pyx_n_s_message;
3095 static PyObject *__pyx_n_s_metaclass;
3096 static PyObject *__pyx_n_s_metaclass_2;
3097 static PyObject *__pyx_n_s_min;
3098 static PyObject *__pyx_n_s_mkw;
3099 static PyObject *__pyx_n_s_module;
3100 static PyObject *__pyx_n_s_module_2;
3101 static PyObject *__pyx_kp_s_n;
3102 static PyObject *__pyx_n_s_name;
3103 static PyObject *__pyx_n_s_name_2;
3104 static PyObject *__pyx_n_s_new;
3105 static PyObject *__pyx_n_s_newblock;
3106 static PyObject *__pyx_n_s_next_block;
3107 static PyObject *__pyx_n_s_next_handler;
3108 static PyObject *__pyx_n_s_nextblock;
3109 static PyObject *__pyx_n_s_nextid;
3110 static PyObject *__pyx_n_s_node;
3111 static PyObject *__pyx_kp_s_node_shape_box;
3112 static PyObject *__pyx_n_s_nodeid;
3113 static PyObject *__pyx_n_s_normalize;
3114 static PyObject *__pyx_n_s_not_none;
3115 static PyObject *__pyx_n_s_object;
3116 static PyObject *__pyx_n_s_one;
3117 static PyObject *__pyx_n_s_open;
3118 static PyObject *__pyx_n_s_operand;
3119 static PyObject *__pyx_n_s_outer_exception_handlers;
3120 static PyObject *__pyx_n_s_parent;
3121 static PyObject *__pyx_n_s_parents;
3122 static PyObject *__pyx_n_s_pattern;
3123 static PyObject *__pyx_n_s_pickle;
3124 static PyObject *__pyx_n_s_pid;
3125 static PyObject *__pyx_n_s_pop;
3126 static PyObject *__pyx_n_s_pos;
3127 static PyObject *__pyx_n_s_positions;
3128 static PyObject *__pyx_n_s_prepare;
3129 static PyObject *__pyx_n_s_private_node;
3130 static PyObject *__pyx_n_s_py_object_type;
3131 static PyObject *__pyx_n_s_pyx_PickleError;
3132 static PyObject *__pyx_n_s_pyx_checksum;
3133 static PyObject *__pyx_n_s_pyx_result;
3134 static PyObject *__pyx_n_s_pyx_state;
3135 static PyObject *__pyx_n_s_pyx_type;
3136 static PyObject *__pyx_n_s_pyx_unpickle_AssignmentCollect;
3137 static PyObject *__pyx_n_s_pyx_unpickle_AssignmentList;
3138 static PyObject *__pyx_n_s_pyx_unpickle_ControlBlock;
3139 static PyObject *__pyx_n_s_pyx_unpickle_ControlFlow;
3140 static PyObject *__pyx_n_s_pyx_unpickle_ControlFlowAnalys;
3141 static PyObject *__pyx_n_s_pyx_unpickle_ExitBlock;
3142 static PyObject *__pyx_n_s_pyx_unpickle_MessageCollection;
3143 static PyObject *__pyx_n_s_pyx_unpickle_NameAssignment;
3144 static PyObject *__pyx_n_s_pyx_unpickle_Uninitialized;
3145 static PyObject *__pyx_n_s_pyx_unpickle_Unknown;
3146 static PyObject *__pyx_n_s_pyx_vtable;
3147 static PyObject *__pyx_n_s_qualname;
3148 static PyObject *__pyx_n_s_range;
3149 static PyObject *__pyx_n_s_reduce;
3150 static PyObject *__pyx_n_s_reduce_cython;
3151 static PyObject *__pyx_n_s_reduce_ex;
3152 static PyObject *__pyx_n_s_reduction;
3153 static PyObject *__pyx_n_s_reductions;
3154 static PyObject *__pyx_n_s_remove;
3155 static PyObject *__pyx_n_s_render;
3156 static PyObject *__pyx_n_s_replace;
3157 static PyObject *__pyx_n_s_report;
3158 static PyObject *__pyx_n_s_repr;
3159 static PyObject *__pyx_n_s_reversed;
3160 static PyObject *__pyx_n_s_rhs;
3161 static PyObject *__pyx_kp_s_s_entry_r;
3162 static PyObject *__pyx_kp_s_s_label_s;
3163 static PyObject *__pyx_kp_s_s_reference_s;
3164 static PyObject *__pyx_kp_s_s_s;
3165 static PyObject *__pyx_kp_s_s_s_s;
3166 static PyObject *__pyx_n_s_scope;
3167 static PyObject *__pyx_n_s_self;
3168 static PyObject *__pyx_n_s_sequence;
3169 static PyObject *__pyx_n_s_setstate;
3170 static PyObject *__pyx_n_s_setstate_cython;
3171 static PyObject *__pyx_n_s_sources;
3172 static PyObject *__pyx_n_s_srcdescr;
3173 static PyObject *__pyx_n_s_star_arg;
3174 static PyObject *__pyx_n_s_starstar_arg;
3175 static PyObject *__pyx_n_s_start;
3176 static PyObject *__pyx_n_s_startswith;
3177 static PyObject *__pyx_n_s_stat;
3178 static PyObject *__pyx_n_s_state;
3179 static PyObject *__pyx_n_s_stats;
3180 static PyObject *__pyx_n_s_step;
3181 static PyObject *__pyx_n_s_stop;
3182 static PyObject *__pyx_kp_s_stringsource;
3183 static PyObject *__pyx_n_s_strip;
3184 static PyObject *__pyx_kp_s_subgraph_s;
3185 static PyObject *__pyx_n_s_super;
3186 static PyObject *__pyx_n_s_target;
3187 static PyObject *__pyx_n_s_test;
3188 static PyObject *__pyx_n_s_text;
3189 static PyObject *__pyx_n_s_tuple_type;
3190 static PyObject *__pyx_n_s_type;
3191 static PyObject *__pyx_n_s_type_dependencies;
3192 static PyObject *__pyx_n_s_unspecified_type;
3193 static PyObject *__pyx_n_s_unused;
3194 static PyObject *__pyx_n_s_update;
3195 static PyObject *__pyx_n_s_use_setstate;
3196 static PyObject *__pyx_n_s_used;
3197 static PyObject *__pyx_n_s_value;
3198 static PyObject *__pyx_n_s_values;
3199 static PyObject *__pyx_n_s_visit_AmpersandNode;
3200 static PyObject *__pyx_n_s_visit_AssignmentNode;
3201 static PyObject *__pyx_n_s_visit_AsyncForStatNode;
3202 static PyObject *__pyx_n_s_visit_BreakStatNode;
3203 static PyObject *__pyx_n_s_visit_CArgDeclNode;
3204 static PyObject *__pyx_n_s_visit_CTypeDefNode;
3205 static PyObject *__pyx_n_s_visit_CascadedAssignmentNode;
3206 static PyObject *__pyx_n_s_visit_ComprehensionNode;
3207 static PyObject *__pyx_n_s_visit_ContinueStatNode;
3208 static PyObject *__pyx_n_s_visit_DefNode;
3209 static PyObject *__pyx_n_s_visit_DelStatNode;
3210 static PyObject *__pyx_n_s_visit_ForFromStatNode;
3211 static PyObject *__pyx_n_s_visit_ForInStatNode;
3212 static PyObject *__pyx_n_s_visit_FromImportStatNode;
3213 static PyObject *__pyx_n_s_visit_FuncDefNode;
3214 static PyObject *__pyx_n_s_visit_GeneratorBodyDefNode;
3215 static PyObject *__pyx_n_s_visit_IfStatNode;
3216 static PyObject *__pyx_n_s_visit_InPlaceAssignmentNode;
3217 static PyObject *__pyx_n_s_visit_LoopNode;
3218 static PyObject *__pyx_n_s_visit_ModuleNode;
3219 static PyObject *__pyx_n_s_visit_NameNode;
3220 static PyObject *__pyx_n_s_visit_Node;
3221 static PyObject *__pyx_n_s_visit_ParallelAssignmentNode;
3222 static PyObject *__pyx_n_s_visit_ParallelRangeNode;
3223 static PyObject *__pyx_n_s_visit_ParallelWithBlockNode;
3224 static PyObject *__pyx_n_s_visit_PyClassDefNode;
3225 static PyObject *__pyx_n_s_visit_RaiseStatNode;
3226 static PyObject *__pyx_n_s_visit_ReraiseStatNode;
3227 static PyObject *__pyx_n_s_visit_ReturnStatNode;
3228 static PyObject *__pyx_n_s_visit_ScopedExprNode;
3229 static PyObject *__pyx_n_s_visit_SingleAssignmentNode;
3230 static PyObject *__pyx_n_s_visit_SizeofVarNode;
3231 static PyObject *__pyx_n_s_visit_StatListNode;
3232 static PyObject *__pyx_n_s_visit_TryExceptStatNode;
3233 static PyObject *__pyx_n_s_visit_TryFinallyStatNode;
3234 static PyObject *__pyx_n_s_visit_TypeidNode;
3235 static PyObject *__pyx_n_s_visit_WhileStatNode;
3236 static PyObject *__pyx_n_s_visit_WithStatNode;
3237 static PyObject *__pyx_n_s_visit_WithTargetAssignmentStatNo;
3238 static PyObject *__pyx_kp_s_warn_maybe_uninitialized;
3239 static PyObject *__pyx_kp_s_warn_unused;
3240 static PyObject *__pyx_kp_s_warn_unused_arg;
3241 static PyObject *__pyx_kp_s_warn_unused_result;
3242 static PyObject *__pyx_n_s_warning;
3243 static PyObject *__pyx_n_s_with_node;
3244 static PyObject *__pyx_n_s_write;
3245 static PyObject *__pyx_n_s_wt;
3246 static PyObject *__pyx_n_s_xrange;
3247 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_13TypedExprNode___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_type, PyObject *__pyx_v_may_be_none, PyObject *__pyx_v_pos); /* proto */
3248 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_13TypedExprNode_2may_be_none(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
3249 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock___init__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3250 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_2empty(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3251 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_4detach(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3252 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_6add_child(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_block); /* proto */
3253 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8children___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3254 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8children_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3255 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8children_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3256 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3257 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3258 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3259 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3260 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3261 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3262 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3263 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3264 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3265 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3266 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3267 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3268 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3269 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3270 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3271 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3272 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3273 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3274 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3275 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3276 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3277 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3278 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3279 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3280 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3281 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3282 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3283 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3284 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3285 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3286 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self); /* proto */
3287 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_10__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
3288 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_9ExitBlock_empty(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock *__pyx_v_self); /* proto */
3289 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_9ExitBlock_2__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock *__pyx_v_self); /* proto */
3290 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_9ExitBlock_4__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
3291 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList___init__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self); /* proto */
3292 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self); /* proto */
3293 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3294 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self); /* proto */
3295 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self); /* proto */
3296 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3297 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self); /* proto */
3298 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self); /* proto */
3299 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3300 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self); /* proto */
3301 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_2__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self); /* proto */
3302 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_4__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
3303 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow___init__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self); /* proto */
3304 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_2newblock(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_parent); /* proto */
3305 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_4nextblock(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_parent); /* proto */
3306 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6is_tracked(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
3307 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_8is_statically_assigned(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
3308 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10mark_position(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3309 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_12mark_assignment(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs, PyObject *__pyx_v_entry); /* proto */
3310 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_14mark_argument(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs, PyObject *__pyx_v_entry); /* proto */
3311 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_16mark_deletion(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_node, PyObject *__pyx_v_entry); /* proto */
3312 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_18mark_reference(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_node, PyObject *__pyx_v_entry); /* proto */
3313 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_20normalize(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self); /* proto */
3314 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_22initialize(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self); /* proto */
3315 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_24map_one(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_istate, PyObject *__pyx_v_entry); /* proto */
3316 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self); /* proto */
3317 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3318 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self); /* proto */
3319 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self); /* proto */
3320 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3321 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self); /* proto */
3322 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self); /* proto */
3323 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3324 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self); /* proto */
3325 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self); /* proto */
3326 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3327 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self); /* proto */
3328 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self); /* proto */
3329 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3330 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self); /* proto */
3331 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self); /* proto */
3332 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3333 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self); /* proto */
3334 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5block___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self); /* proto */
3335 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5block_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3336 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5block_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self); /* proto */
3337 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self); /* proto */
3338 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3339 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self); /* proto */
3340 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_26__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self); /* proto */
3341 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_28__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
3342 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_9LoopDescr___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_next_block, PyObject *__pyx_v_loop_block); /* proto */
3343 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14ExceptionDescr___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry_point, PyObject *__pyx_v_finally_enter, PyObject *__pyx_v_finally_exit); /* proto */
3344 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment___init__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs, PyObject *__pyx_v_entry); /* proto */
3345 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_2__repr__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self); /* proto */
3346 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_4infer_type(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self); /* proto */
3347 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_6type_dependencies(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self); /* proto */
3348 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_4type___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self); /* proto */
3349 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_6is_arg___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self); /* proto */
3350 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_6is_arg_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3351 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_11is_deletion___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self); /* proto */
3352 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_11is_deletion_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3353 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self); /* proto */
3354 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3355 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self); /* proto */
3356 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self); /* proto */
3357 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3358 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self); /* proto */
3359 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self); /* proto */
3360 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3361 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self); /* proto */
3362 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self); /* proto */
3363 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3364 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self); /* proto */
3365 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self); /* proto */
3366 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3367 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self); /* proto */
3368 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self); /* proto */
3369 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3370 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self); /* proto */
3371 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self); /* proto */
3372 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3373 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self); /* proto */
3374 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_8__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self); /* proto */
3375 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_10__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
3376 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_16StaticAssignment___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
3377 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_16StaticAssignment_2infer_type(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
3378 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_16StaticAssignment_4type_dependencies(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
3379 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_8Argument___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs, PyObject *__pyx_v_entry); /* proto */
3380 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12NameDeletion___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_lhs, PyObject *__pyx_v_entry); /* proto */
3381 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12NameDeletion_2infer_type(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
3382 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_13Uninitialized___reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_Uninitialized *__pyx_v_self); /* proto */
3383 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_13Uninitialized_2__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_Uninitialized *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
3384 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_7Unknown___reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_Unknown *__pyx_v_self); /* proto */
3385 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_7Unknown_2__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_Unknown *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
3386 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_13NameReference___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_node, PyObject *__pyx_v_entry); /* proto */
3387 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_13NameReference_2__repr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
3388 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_16ControlFlowState___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_state); /* proto */
3389 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_16ControlFlowState_2one(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
3390 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
3391 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext_2add(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_child); /* proto */
3392 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext_4nodeid(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_block); /* proto */
3393 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext_6extract_sources(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_block); /* proto */
3394 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext_8render(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_fp, PyObject *__pyx_v_name, PyObject *__pyx_v_annotate_defs); /* proto */
3395 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext_10escape(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_text); /* proto */
3396 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_2GV___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_flow); /* proto */
3397 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_2GV_2render(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_fp, PyObject *__pyx_v_ctx, PyObject *__pyx_v_annotate_defs); /* proto */
3398 static int __pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection___init__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *__pyx_v_self); /* proto */
3399 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection_2error(struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_message); /* proto */
3400 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection_4warning(struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_message); /* proto */
3401 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection_6report(struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *__pyx_v_self); /* proto */
3402 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection_8__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *__pyx_v_self); /* proto */
3403 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection_10__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
3404 static int __pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector___init__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *__pyx_v_self); /* proto */
3405 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector_2visit_Node(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *__pyx_v_self); /* proto */
3406 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector_4visit_SingleAssignmentNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3407 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector_6visit_CascadedAssignmentNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3408 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector_8__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *__pyx_v_self); /* proto */
3409 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector_10__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
3410 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_visit_ModuleNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3411 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_2visit_FuncDefNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3412 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_4visit_DefNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3413 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_6visit_GeneratorBodyDefNode(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3414 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_8visit_CTypeDefNode(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3415 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_10mark_assignment(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs); /* proto */
3416 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_12mark_position(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3417 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_14visit_FromImportStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3418 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_16visit_AssignmentNode(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_node); /* proto */
3419 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_18visit_SingleAssignmentNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3420 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_20visit_CascadedAssignmentNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3421 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_22visit_ParallelAssignmentNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3422 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_24visit_InPlaceAssignmentNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3423 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_26visit_DelStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3424 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_28visit_CArgDeclNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3425 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_30visit_NameNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3426 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_32visit_StatListNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3427 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_34visit_Node(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3428 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_36visit_SizeofVarNode(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3429 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_38visit_TypeidNode(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3430 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_40visit_IfStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3431 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_42visit_WhileStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3432 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_44mark_forloop_target(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3433 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_46visit_AsyncForStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3434 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_48visit_ForInStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3435 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_50_delete_privates(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node, PyObject *__pyx_v_exclude); /* proto */
3436 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_52visit_ParallelRangeNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3437 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_54visit_ParallelWithBlockNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3438 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_56visit_ForFromStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3439 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_58visit_LoopNode(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_node); /* proto */
3440 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_60visit_WithTargetAssignmentStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3441 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_62visit_WithStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3442 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_64visit_TryExceptStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3443 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_66visit_TryFinallyStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3444 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_68visit_RaiseStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3445 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_70visit_ReraiseStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3446 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_72visit_ReturnStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3447 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_74visit_BreakStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3448 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_76visit_ContinueStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3449 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_78visit_ComprehensionNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3450 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_80visit_ScopedExprNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3451 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_82visit_PyClassDefNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3452 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_84visit_AmpersandNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node); /* proto */
3453 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_86__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self); /* proto */
3454 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_88__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
3455 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl___pyx_unpickle_ControlBlock(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
3456 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_2__pyx_unpickle_ExitBlock(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
3457 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_4__pyx_unpickle_AssignmentList(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
3458 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_6__pyx_unpickle_ControlFlow(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
3459 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_8__pyx_unpickle_NameAssignment(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
3460 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_10__pyx_unpickle_Uninitialized(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
3461 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12__pyx_unpickle_Unknown(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
3462 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14__pyx_unpickle_MessageCollection(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
3463 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_16__pyx_unpickle_AssignmentCollector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
3464 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_18__pyx_unpickle_ControlFlowAnalysis(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
3465 static PyObject *__pyx_tp_new_6Cython_8Compiler_11FlowControl_ControlBlock(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3466 static PyObject *__pyx_tp_new_6Cython_8Compiler_11FlowControl_ExitBlock(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3467 static PyObject *__pyx_tp_new_6Cython_8Compiler_11FlowControl_NameAssignment(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3468 static PyObject *__pyx_tp_new_6Cython_8Compiler_11FlowControl_AssignmentList(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3469 static PyObject *__pyx_tp_new_6Cython_8Compiler_11FlowControl_AssignmentCollector(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3470 static PyObject *__pyx_tp_new_6Cython_8Compiler_11FlowControl_ControlFlow(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3471 static PyObject *__pyx_tp_new_6Cython_8Compiler_11FlowControl_Uninitialized(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3472 static PyObject *__pyx_tp_new_6Cython_8Compiler_11FlowControl_Unknown(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3473 static PyObject *__pyx_tp_new_6Cython_8Compiler_11FlowControl_MessageCollection(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3474 static PyObject *__pyx_tp_new_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3475 static __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_items = {0, &__pyx_n_s_items, 0, 0, 0};
3476 static __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_values = {0, &__pyx_n_s_values, 0, 0, 0};
3477 static __Pyx_CachedCFunction __pyx_umethod_PyList_Type_pop = {0, &__pyx_n_s_pop, 0, 0, 0};
3478 static PyObject *__pyx_int_0;
3479 static PyObject *__pyx_int_1;
3480 static PyObject *__pyx_int_2;
3481 static PyObject *__pyx_int_19994619;
3482 static PyObject *__pyx_int_60190953;
3483 static PyObject *__pyx_int_102612362;
3484 static PyObject *__pyx_int_154435986;
3485 static PyObject *__pyx_int_222419149;
3486 static PyObject *__pyx_int_233244984;
3487 static PyObject *__pyx_int_234113042;
3488 static PyObject *__pyx_int_254481416;
3489 static PyObject *__pyx_int_neg_1;
3490 static PyObject *__pyx_slice_;
3491 static PyObject *__pyx_tuple__6;
3492 static PyObject *__pyx_tuple__8;
3493 static PyObject *__pyx_slice__14;
3494 static PyObject *__pyx_tuple__11;
3495 static PyObject *__pyx_tuple__15;
3496 static PyObject *__pyx_tuple__16;
3497 static PyObject *__pyx_tuple__17;
3498 static PyObject *__pyx_tuple__19;
3499 static PyObject *__pyx_tuple__20;
3500 static PyObject *__pyx_tuple__22;
3501 static PyObject *__pyx_tuple__24;
3502 static PyObject *__pyx_tuple__26;
3503 static PyObject *__pyx_tuple__28;
3504 static PyObject *__pyx_tuple__30;
3505 static PyObject *__pyx_tuple__32;
3506 static PyObject *__pyx_tuple__34;
3507 static PyObject *__pyx_tuple__36;
3508 static PyObject *__pyx_tuple__38;
3509 static PyObject *__pyx_tuple__40;
3510 static PyObject *__pyx_tuple__42;
3511 static PyObject *__pyx_tuple__44;
3512 static PyObject *__pyx_tuple__46;
3513 static PyObject *__pyx_tuple__48;
3514 static PyObject *__pyx_tuple__50;
3515 static PyObject *__pyx_tuple__52;
3516 static PyObject *__pyx_tuple__54;
3517 static PyObject *__pyx_tuple__56;
3518 static PyObject *__pyx_tuple__58;
3519 static PyObject *__pyx_tuple__60;
3520 static PyObject *__pyx_tuple__62;
3521 static PyObject *__pyx_tuple__64;
3522 static PyObject *__pyx_tuple__66;
3523 static PyObject *__pyx_tuple__68;
3524 static PyObject *__pyx_tuple__70;
3525 static PyObject *__pyx_tuple__71;
3526 static PyObject *__pyx_tuple__73;
3527 static PyObject *__pyx_tuple__74;
3528 static PyObject *__pyx_tuple__76;
3529 static PyObject *__pyx_tuple__77;
3530 static PyObject *__pyx_tuple__79;
3531 static PyObject *__pyx_tuple__81;
3532 static PyObject *__pyx_tuple__83;
3533 static PyObject *__pyx_tuple__85;
3534 static PyObject *__pyx_tuple__87;
3535 static PyObject *__pyx_tuple__89;
3536 static PyObject *__pyx_tuple__91;
3537 static PyObject *__pyx_tuple__93;
3538 static PyObject *__pyx_tuple__95;
3539 static PyObject *__pyx_tuple__97;
3540 static PyObject *__pyx_tuple__99;
3541 static PyObject *__pyx_tuple__101;
3542 static PyObject *__pyx_tuple__103;
3543 static PyObject *__pyx_tuple__105;
3544 static PyObject *__pyx_tuple__106;
3545 static PyObject *__pyx_tuple__108;
3546 static PyObject *__pyx_tuple__110;
3547 static PyObject *__pyx_tuple__112;
3548 static PyObject *__pyx_tuple__114;
3549 static PyObject *__pyx_tuple__115;
3550 static PyObject *__pyx_tuple__117;
3551 static PyObject *__pyx_tuple__119;
3552 static PyObject *__pyx_tuple__121;
3553 static PyObject *__pyx_tuple__123;
3554 static PyObject *__pyx_tuple__125;
3555 static PyObject *__pyx_tuple__126;
3556 static PyObject *__pyx_tuple__128;
3557 static PyObject *__pyx_tuple__129;
3558 static PyObject *__pyx_tuple__131;
3559 static PyObject *__pyx_tuple__133;
3560 static PyObject *__pyx_tuple__134;
3561 static PyObject *__pyx_tuple__136;
3562 static PyObject *__pyx_tuple__138;
3563 static PyObject *__pyx_tuple__140;
3564 static PyObject *__pyx_tuple__142;
3565 static PyObject *__pyx_tuple__144;
3566 static PyObject *__pyx_tuple__146;
3567 static PyObject *__pyx_tuple__148;
3568 static PyObject *__pyx_tuple__150;
3569 static PyObject *__pyx_tuple__152;
3570 static PyObject *__pyx_tuple__154;
3571 static PyObject *__pyx_tuple__156;
3572 static PyObject *__pyx_tuple__158;
3573 static PyObject *__pyx_tuple__160;
3574 static PyObject *__pyx_tuple__162;
3575 static PyObject *__pyx_tuple__164;
3576 static PyObject *__pyx_tuple__166;
3577 static PyObject *__pyx_tuple__168;
3578 static PyObject *__pyx_tuple__170;
3579 static PyObject *__pyx_tuple__172;
3580 static PyObject *__pyx_tuple__174;
3581 static PyObject *__pyx_tuple__176;
3582 static PyObject *__pyx_tuple__178;
3583 static PyObject *__pyx_tuple__180;
3584 static PyObject *__pyx_tuple__182;
3585 static PyObject *__pyx_tuple__184;
3586 static PyObject *__pyx_tuple__186;
3587 static PyObject *__pyx_tuple__188;
3588 static PyObject *__pyx_tuple__190;
3589 static PyObject *__pyx_tuple__192;
3590 static PyObject *__pyx_tuple__194;
3591 static PyObject *__pyx_tuple__196;
3592 static PyObject *__pyx_tuple__198;
3593 static PyObject *__pyx_tuple__200;
3594 static PyObject *__pyx_tuple__202;
3595 static PyObject *__pyx_tuple__204;
3596 static PyObject *__pyx_tuple__206;
3597 static PyObject *__pyx_tuple__208;
3598 static PyObject *__pyx_tuple__210;
3599 static PyObject *__pyx_tuple__212;
3600 static PyObject *__pyx_tuple__214;
3601 static PyObject *__pyx_tuple__216;
3602 static PyObject *__pyx_tuple__218;
3603 static PyObject *__pyx_tuple__220;
3604 static PyObject *__pyx_tuple__222;
3605 static PyObject *__pyx_tuple__224;
3606 static PyObject *__pyx_tuple__226;
3607 static PyObject *__pyx_tuple__228;
3608 static PyObject *__pyx_tuple__230;
3609 static PyObject *__pyx_tuple__232;
3610 static PyObject *__pyx_tuple__234;
3611 static PyObject *__pyx_tuple__236;
3612 static PyObject *__pyx_tuple__238;
3613 static PyObject *__pyx_tuple__240;
3614 static PyObject *__pyx_tuple__242;
3615 static PyObject *__pyx_tuple__244;
3616 static PyObject *__pyx_tuple__246;
3617 static PyObject *__pyx_tuple__248;
3618 static PyObject *__pyx_tuple__250;
3619 static PyObject *__pyx_tuple__252;
3620 static PyObject *__pyx_tuple__254;
3621 static PyObject *__pyx_tuple__256;
3622 static PyObject *__pyx_tuple__258;
3623 static PyObject *__pyx_tuple__260;
3624 static PyObject *__pyx_tuple__262;
3625 static PyObject *__pyx_codeobj__18;
3626 static PyObject *__pyx_codeobj__21;
3627 static PyObject *__pyx_codeobj__23;
3628 static PyObject *__pyx_codeobj__25;
3629 static PyObject *__pyx_codeobj__27;
3630 static PyObject *__pyx_codeobj__29;
3631 static PyObject *__pyx_codeobj__31;
3632 static PyObject *__pyx_codeobj__33;
3633 static PyObject *__pyx_codeobj__35;
3634 static PyObject *__pyx_codeobj__37;
3635 static PyObject *__pyx_codeobj__39;
3636 static PyObject *__pyx_codeobj__41;
3637 static PyObject *__pyx_codeobj__43;
3638 static PyObject *__pyx_codeobj__45;
3639 static PyObject *__pyx_codeobj__47;
3640 static PyObject *__pyx_codeobj__49;
3641 static PyObject *__pyx_codeobj__51;
3642 static PyObject *__pyx_codeobj__53;
3643 static PyObject *__pyx_codeobj__55;
3644 static PyObject *__pyx_codeobj__57;
3645 static PyObject *__pyx_codeobj__59;
3646 static PyObject *__pyx_codeobj__61;
3647 static PyObject *__pyx_codeobj__63;
3648 static PyObject *__pyx_codeobj__65;
3649 static PyObject *__pyx_codeobj__67;
3650 static PyObject *__pyx_codeobj__69;
3651 static PyObject *__pyx_codeobj__72;
3652 static PyObject *__pyx_codeobj__75;
3653 static PyObject *__pyx_codeobj__78;
3654 static PyObject *__pyx_codeobj__80;
3655 static PyObject *__pyx_codeobj__82;
3656 static PyObject *__pyx_codeobj__84;
3657 static PyObject *__pyx_codeobj__86;
3658 static PyObject *__pyx_codeobj__88;
3659 static PyObject *__pyx_codeobj__90;
3660 static PyObject *__pyx_codeobj__92;
3661 static PyObject *__pyx_codeobj__94;
3662 static PyObject *__pyx_codeobj__96;
3663 static PyObject *__pyx_codeobj__98;
3664 static PyObject *__pyx_codeobj__100;
3665 static PyObject *__pyx_codeobj__102;
3666 static PyObject *__pyx_codeobj__104;
3667 static PyObject *__pyx_codeobj__107;
3668 static PyObject *__pyx_codeobj__109;
3669 static PyObject *__pyx_codeobj__111;
3670 static PyObject *__pyx_codeobj__113;
3671 static PyObject *__pyx_codeobj__116;
3672 static PyObject *__pyx_codeobj__118;
3673 static PyObject *__pyx_codeobj__120;
3674 static PyObject *__pyx_codeobj__122;
3675 static PyObject *__pyx_codeobj__124;
3676 static PyObject *__pyx_codeobj__127;
3677 static PyObject *__pyx_codeobj__130;
3678 static PyObject *__pyx_codeobj__132;
3679 static PyObject *__pyx_codeobj__135;
3680 static PyObject *__pyx_codeobj__137;
3681 static PyObject *__pyx_codeobj__139;
3682 static PyObject *__pyx_codeobj__141;
3683 static PyObject *__pyx_codeobj__143;
3684 static PyObject *__pyx_codeobj__145;
3685 static PyObject *__pyx_codeobj__147;
3686 static PyObject *__pyx_codeobj__149;
3687 static PyObject *__pyx_codeobj__151;
3688 static PyObject *__pyx_codeobj__153;
3689 static PyObject *__pyx_codeobj__155;
3690 static PyObject *__pyx_codeobj__157;
3691 static PyObject *__pyx_codeobj__159;
3692 static PyObject *__pyx_codeobj__161;
3693 static PyObject *__pyx_codeobj__163;
3694 static PyObject *__pyx_codeobj__165;
3695 static PyObject *__pyx_codeobj__167;
3696 static PyObject *__pyx_codeobj__169;
3697 static PyObject *__pyx_codeobj__171;
3698 static PyObject *__pyx_codeobj__173;
3699 static PyObject *__pyx_codeobj__175;
3700 static PyObject *__pyx_codeobj__177;
3701 static PyObject *__pyx_codeobj__179;
3702 static PyObject *__pyx_codeobj__181;
3703 static PyObject *__pyx_codeobj__183;
3704 static PyObject *__pyx_codeobj__185;
3705 static PyObject *__pyx_codeobj__187;
3706 static PyObject *__pyx_codeobj__189;
3707 static PyObject *__pyx_codeobj__191;
3708 static PyObject *__pyx_codeobj__193;
3709 static PyObject *__pyx_codeobj__195;
3710 static PyObject *__pyx_codeobj__197;
3711 static PyObject *__pyx_codeobj__199;
3712 static PyObject *__pyx_codeobj__201;
3713 static PyObject *__pyx_codeobj__203;
3714 static PyObject *__pyx_codeobj__205;
3715 static PyObject *__pyx_codeobj__207;
3716 static PyObject *__pyx_codeobj__209;
3717 static PyObject *__pyx_codeobj__211;
3718 static PyObject *__pyx_codeobj__213;
3719 static PyObject *__pyx_codeobj__215;
3720 static PyObject *__pyx_codeobj__217;
3721 static PyObject *__pyx_codeobj__219;
3722 static PyObject *__pyx_codeobj__221;
3723 static PyObject *__pyx_codeobj__223;
3724 static PyObject *__pyx_codeobj__225;
3725 static PyObject *__pyx_codeobj__227;
3726 static PyObject *__pyx_codeobj__229;
3727 static PyObject *__pyx_codeobj__231;
3728 static PyObject *__pyx_codeobj__233;
3729 static PyObject *__pyx_codeobj__235;
3730 static PyObject *__pyx_codeobj__237;
3731 static PyObject *__pyx_codeobj__239;
3732 static PyObject *__pyx_codeobj__241;
3733 static PyObject *__pyx_codeobj__243;
3734 static PyObject *__pyx_codeobj__245;
3735 static PyObject *__pyx_codeobj__247;
3736 static PyObject *__pyx_codeobj__249;
3737 static PyObject *__pyx_codeobj__251;
3738 static PyObject *__pyx_codeobj__253;
3739 static PyObject *__pyx_codeobj__255;
3740 static PyObject *__pyx_codeobj__257;
3741 static PyObject *__pyx_codeobj__259;
3742 static PyObject *__pyx_codeobj__261;
3743 static PyObject *__pyx_codeobj__263;
3744 /* Late includes */
3745 
3746 /* "Cython/Compiler/FlowControl.py":23
3747  * class TypedExprNode(ExprNodes.ExprNode):
3748  *     # Used for declaring assignments of a specified type without a known entry.
3749  *     def __init__(self, type, may_be_none=None, pos=None):             # <<<<<<<<<<<<<<
3750  *         super(TypedExprNode, self).__init__(pos)
3751  *         self.type = type
3752  */
3753 
3754 /* Python wrapper */
3755 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_13TypedExprNode_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
3756 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_13TypedExprNode_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_13TypedExprNode_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_13TypedExprNode_1__init__(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)3757 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_13TypedExprNode_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
3758   PyObject *__pyx_v_self = 0;
3759   PyObject *__pyx_v_type = 0;
3760   PyObject *__pyx_v_may_be_none = 0;
3761   PyObject *__pyx_v_pos = 0;
3762   int __pyx_lineno = 0;
3763   const char *__pyx_filename = NULL;
3764   int __pyx_clineno = 0;
3765   PyObject *__pyx_r = 0;
3766   __Pyx_RefNannyDeclarations
3767   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
3768   {
3769     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_type,&__pyx_n_s_may_be_none,&__pyx_n_s_pos,0};
3770     PyObject* values[4] = {0,0,0,0};
3771     values[2] = ((PyObject *)((PyObject *)Py_None));
3772     values[3] = ((PyObject *)((PyObject *)Py_None));
3773     if (unlikely(__pyx_kwds)) {
3774       Py_ssize_t kw_args;
3775       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
3776       switch (pos_args) {
3777         case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
3778         CYTHON_FALLTHROUGH;
3779         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
3780         CYTHON_FALLTHROUGH;
3781         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
3782         CYTHON_FALLTHROUGH;
3783         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
3784         CYTHON_FALLTHROUGH;
3785         case  0: break;
3786         default: goto __pyx_L5_argtuple_error;
3787       }
3788       kw_args = PyDict_Size(__pyx_kwds);
3789       switch (pos_args) {
3790         case  0:
3791         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
3792         else goto __pyx_L5_argtuple_error;
3793         CYTHON_FALLTHROUGH;
3794         case  1:
3795         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_type)) != 0)) kw_args--;
3796         else {
3797           __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 4, 1); __PYX_ERR(0, 23, __pyx_L3_error)
3798         }
3799         CYTHON_FALLTHROUGH;
3800         case  2:
3801         if (kw_args > 0) {
3802           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_may_be_none);
3803           if (value) { values[2] = value; kw_args--; }
3804         }
3805         CYTHON_FALLTHROUGH;
3806         case  3:
3807         if (kw_args > 0) {
3808           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pos);
3809           if (value) { values[3] = value; kw_args--; }
3810         }
3811       }
3812       if (unlikely(kw_args > 0)) {
3813         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 23, __pyx_L3_error)
3814       }
3815     } else {
3816       switch (PyTuple_GET_SIZE(__pyx_args)) {
3817         case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
3818         CYTHON_FALLTHROUGH;
3819         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
3820         CYTHON_FALLTHROUGH;
3821         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
3822         values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
3823         break;
3824         default: goto __pyx_L5_argtuple_error;
3825       }
3826     }
3827     __pyx_v_self = values[0];
3828     __pyx_v_type = values[1];
3829     __pyx_v_may_be_none = values[2];
3830     __pyx_v_pos = values[3];
3831   }
3832   goto __pyx_L4_argument_unpacking_done;
3833   __pyx_L5_argtuple_error:;
3834   __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 23, __pyx_L3_error)
3835   __pyx_L3_error:;
3836   __Pyx_AddTraceback("Cython.Compiler.FlowControl.TypedExprNode.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
3837   __Pyx_RefNannyFinishContext();
3838   return NULL;
3839   __pyx_L4_argument_unpacking_done:;
3840   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_13TypedExprNode___init__(__pyx_self, __pyx_v_self, __pyx_v_type, __pyx_v_may_be_none, __pyx_v_pos);
3841 
3842   /* function exit code */
3843   __Pyx_RefNannyFinishContext();
3844   return __pyx_r;
3845 }
3846 
__pyx_pf_6Cython_8Compiler_11FlowControl_13TypedExprNode___init__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_type,PyObject * __pyx_v_may_be_none,PyObject * __pyx_v_pos)3847 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_13TypedExprNode___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_type, PyObject *__pyx_v_may_be_none, PyObject *__pyx_v_pos) {
3848   PyObject *__pyx_r = NULL;
3849   __Pyx_RefNannyDeclarations
3850   PyObject *__pyx_t_1 = NULL;
3851   PyObject *__pyx_t_2 = NULL;
3852   PyObject *__pyx_t_3 = NULL;
3853   int __pyx_lineno = 0;
3854   const char *__pyx_filename = NULL;
3855   int __pyx_clineno = 0;
3856   __Pyx_RefNannySetupContext("__init__", 0);
3857 
3858   /* "Cython/Compiler/FlowControl.py":24
3859  *     # Used for declaring assignments of a specified type without a known entry.
3860  *     def __init__(self, type, may_be_none=None, pos=None):
3861  *         super(TypedExprNode, self).__init__(pos)             # <<<<<<<<<<<<<<
3862  *         self.type = type
3863  *         self._may_be_none = may_be_none
3864  */
3865   __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24, __pyx_L1_error)
3866   __Pyx_GOTREF(__pyx_t_2);
3867   __Pyx_INCREF(__pyx_v_6Cython_8Compiler_11FlowControl_TypedExprNode);
3868   __Pyx_GIVEREF(__pyx_v_6Cython_8Compiler_11FlowControl_TypedExprNode);
3869   PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_6Cython_8Compiler_11FlowControl_TypedExprNode);
3870   __Pyx_INCREF(__pyx_v_self);
3871   __Pyx_GIVEREF(__pyx_v_self);
3872   PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_self);
3873   __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24, __pyx_L1_error)
3874   __Pyx_GOTREF(__pyx_t_3);
3875   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3876   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24, __pyx_L1_error)
3877   __Pyx_GOTREF(__pyx_t_2);
3878   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3879   __pyx_t_3 = NULL;
3880   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
3881     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
3882     if (likely(__pyx_t_3)) {
3883       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
3884       __Pyx_INCREF(__pyx_t_3);
3885       __Pyx_INCREF(function);
3886       __Pyx_DECREF_SET(__pyx_t_2, function);
3887     }
3888   }
3889   __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_pos) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_pos);
3890   __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
3891   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24, __pyx_L1_error)
3892   __Pyx_GOTREF(__pyx_t_1);
3893   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3894   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3895 
3896   /* "Cython/Compiler/FlowControl.py":25
3897  *     def __init__(self, type, may_be_none=None, pos=None):
3898  *         super(TypedExprNode, self).__init__(pos)
3899  *         self.type = type             # <<<<<<<<<<<<<<
3900  *         self._may_be_none = may_be_none
3901  *
3902  */
3903   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_type, __pyx_v_type) < 0) __PYX_ERR(0, 25, __pyx_L1_error)
3904 
3905   /* "Cython/Compiler/FlowControl.py":26
3906  *         super(TypedExprNode, self).__init__(pos)
3907  *         self.type = type
3908  *         self._may_be_none = may_be_none             # <<<<<<<<<<<<<<
3909  *
3910  *     def may_be_none(self):
3911  */
3912   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_may_be_none_2, __pyx_v_may_be_none) < 0) __PYX_ERR(0, 26, __pyx_L1_error)
3913 
3914   /* "Cython/Compiler/FlowControl.py":23
3915  * class TypedExprNode(ExprNodes.ExprNode):
3916  *     # Used for declaring assignments of a specified type without a known entry.
3917  *     def __init__(self, type, may_be_none=None, pos=None):             # <<<<<<<<<<<<<<
3918  *         super(TypedExprNode, self).__init__(pos)
3919  *         self.type = type
3920  */
3921 
3922   /* function exit code */
3923   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3924   goto __pyx_L0;
3925   __pyx_L1_error:;
3926   __Pyx_XDECREF(__pyx_t_1);
3927   __Pyx_XDECREF(__pyx_t_2);
3928   __Pyx_XDECREF(__pyx_t_3);
3929   __Pyx_AddTraceback("Cython.Compiler.FlowControl.TypedExprNode.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
3930   __pyx_r = NULL;
3931   __pyx_L0:;
3932   __Pyx_XGIVEREF(__pyx_r);
3933   __Pyx_RefNannyFinishContext();
3934   return __pyx_r;
3935 }
3936 
3937 /* "Cython/Compiler/FlowControl.py":28
3938  *         self._may_be_none = may_be_none
3939  *
3940  *     def may_be_none(self):             # <<<<<<<<<<<<<<
3941  *         return self._may_be_none != False
3942  *
3943  */
3944 
3945 /* Python wrapper */
3946 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_13TypedExprNode_3may_be_none(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
3947 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_13TypedExprNode_3may_be_none = {"may_be_none", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_13TypedExprNode_3may_be_none, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_13TypedExprNode_3may_be_none(PyObject * __pyx_self,PyObject * __pyx_v_self)3948 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_13TypedExprNode_3may_be_none(PyObject *__pyx_self, PyObject *__pyx_v_self) {
3949   PyObject *__pyx_r = 0;
3950   __Pyx_RefNannyDeclarations
3951   __Pyx_RefNannySetupContext("may_be_none (wrapper)", 0);
3952   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_13TypedExprNode_2may_be_none(__pyx_self, ((PyObject *)__pyx_v_self));
3953 
3954   /* function exit code */
3955   __Pyx_RefNannyFinishContext();
3956   return __pyx_r;
3957 }
3958 
__pyx_pf_6Cython_8Compiler_11FlowControl_13TypedExprNode_2may_be_none(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self)3959 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_13TypedExprNode_2may_be_none(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
3960   PyObject *__pyx_r = NULL;
3961   __Pyx_RefNannyDeclarations
3962   PyObject *__pyx_t_1 = NULL;
3963   PyObject *__pyx_t_2 = NULL;
3964   int __pyx_lineno = 0;
3965   const char *__pyx_filename = NULL;
3966   int __pyx_clineno = 0;
3967   __Pyx_RefNannySetupContext("may_be_none", 0);
3968 
3969   /* "Cython/Compiler/FlowControl.py":29
3970  *
3971  *     def may_be_none(self):
3972  *         return self._may_be_none != False             # <<<<<<<<<<<<<<
3973  *
3974  * object_expr = TypedExprNode(py_object_type, may_be_none=True)
3975  */
3976   __Pyx_XDECREF(__pyx_r);
3977   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_may_be_none_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29, __pyx_L1_error)
3978   __Pyx_GOTREF(__pyx_t_1);
3979   __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, Py_False, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29, __pyx_L1_error)
3980   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3981   __pyx_r = __pyx_t_2;
3982   __pyx_t_2 = 0;
3983   goto __pyx_L0;
3984 
3985   /* "Cython/Compiler/FlowControl.py":28
3986  *         self._may_be_none = may_be_none
3987  *
3988  *     def may_be_none(self):             # <<<<<<<<<<<<<<
3989  *         return self._may_be_none != False
3990  *
3991  */
3992 
3993   /* function exit code */
3994   __pyx_L1_error:;
3995   __Pyx_XDECREF(__pyx_t_1);
3996   __Pyx_XDECREF(__pyx_t_2);
3997   __Pyx_AddTraceback("Cython.Compiler.FlowControl.TypedExprNode.may_be_none", __pyx_clineno, __pyx_lineno, __pyx_filename);
3998   __pyx_r = NULL;
3999   __pyx_L0:;
4000   __Pyx_XGIVEREF(__pyx_r);
4001   __Pyx_RefNannyFinishContext();
4002   return __pyx_r;
4003 }
4004 
4005 /* "Cython/Compiler/FlowControl.py":59
4006  *     """
4007  *
4008  *     def __init__(self):             # <<<<<<<<<<<<<<
4009  *         self.children = set()
4010  *         self.parents = set()
4011  */
4012 
4013 /* Python wrapper */
4014 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_1__init__(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)4015 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
4016   int __pyx_r;
4017   __Pyx_RefNannyDeclarations
4018   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
4019   if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
4020     __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
4021   if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 0))) return -1;
4022   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock___init__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
4023 
4024   /* function exit code */
4025   __Pyx_RefNannyFinishContext();
4026   return __pyx_r;
4027 }
4028 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock___init__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)4029 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock___init__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
4030   int __pyx_r;
4031   __Pyx_RefNannyDeclarations
4032   PyObject *__pyx_t_1 = NULL;
4033   int __pyx_lineno = 0;
4034   const char *__pyx_filename = NULL;
4035   int __pyx_clineno = 0;
4036   __Pyx_RefNannySetupContext("__init__", 0);
4037 
4038   /* "Cython/Compiler/FlowControl.py":60
4039  *
4040  *     def __init__(self):
4041  *         self.children = set()             # <<<<<<<<<<<<<<
4042  *         self.parents = set()
4043  *         self.positions = set()
4044  */
4045   __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 60, __pyx_L1_error)
4046   __Pyx_GOTREF(__pyx_t_1);
4047   __Pyx_GIVEREF(__pyx_t_1);
4048   __Pyx_GOTREF(__pyx_v_self->children);
4049   __Pyx_DECREF(__pyx_v_self->children);
4050   __pyx_v_self->children = ((PyObject*)__pyx_t_1);
4051   __pyx_t_1 = 0;
4052 
4053   /* "Cython/Compiler/FlowControl.py":61
4054  *     def __init__(self):
4055  *         self.children = set()
4056  *         self.parents = set()             # <<<<<<<<<<<<<<
4057  *         self.positions = set()
4058  *
4059  */
4060   __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 61, __pyx_L1_error)
4061   __Pyx_GOTREF(__pyx_t_1);
4062   __Pyx_GIVEREF(__pyx_t_1);
4063   __Pyx_GOTREF(__pyx_v_self->parents);
4064   __Pyx_DECREF(__pyx_v_self->parents);
4065   __pyx_v_self->parents = ((PyObject*)__pyx_t_1);
4066   __pyx_t_1 = 0;
4067 
4068   /* "Cython/Compiler/FlowControl.py":62
4069  *         self.children = set()
4070  *         self.parents = set()
4071  *         self.positions = set()             # <<<<<<<<<<<<<<
4072  *
4073  *         self.stats = []
4074  */
4075   __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 62, __pyx_L1_error)
4076   __Pyx_GOTREF(__pyx_t_1);
4077   __Pyx_GIVEREF(__pyx_t_1);
4078   __Pyx_GOTREF(__pyx_v_self->positions);
4079   __Pyx_DECREF(__pyx_v_self->positions);
4080   __pyx_v_self->positions = ((PyObject*)__pyx_t_1);
4081   __pyx_t_1 = 0;
4082 
4083   /* "Cython/Compiler/FlowControl.py":64
4084  *         self.positions = set()
4085  *
4086  *         self.stats = []             # <<<<<<<<<<<<<<
4087  *         self.gen = {}
4088  *         self.bounded = set()
4089  */
4090   __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 64, __pyx_L1_error)
4091   __Pyx_GOTREF(__pyx_t_1);
4092   __Pyx_GIVEREF(__pyx_t_1);
4093   __Pyx_GOTREF(__pyx_v_self->stats);
4094   __Pyx_DECREF(__pyx_v_self->stats);
4095   __pyx_v_self->stats = ((PyObject*)__pyx_t_1);
4096   __pyx_t_1 = 0;
4097 
4098   /* "Cython/Compiler/FlowControl.py":65
4099  *
4100  *         self.stats = []
4101  *         self.gen = {}             # <<<<<<<<<<<<<<
4102  *         self.bounded = set()
4103  *
4104  */
4105   __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 65, __pyx_L1_error)
4106   __Pyx_GOTREF(__pyx_t_1);
4107   __Pyx_GIVEREF(__pyx_t_1);
4108   __Pyx_GOTREF(__pyx_v_self->gen);
4109   __Pyx_DECREF(__pyx_v_self->gen);
4110   __pyx_v_self->gen = ((PyObject*)__pyx_t_1);
4111   __pyx_t_1 = 0;
4112 
4113   /* "Cython/Compiler/FlowControl.py":66
4114  *         self.stats = []
4115  *         self.gen = {}
4116  *         self.bounded = set()             # <<<<<<<<<<<<<<
4117  *
4118  *         self.i_input = 0
4119  */
4120   __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 66, __pyx_L1_error)
4121   __Pyx_GOTREF(__pyx_t_1);
4122   __Pyx_GIVEREF(__pyx_t_1);
4123   __Pyx_GOTREF(__pyx_v_self->bounded);
4124   __Pyx_DECREF(__pyx_v_self->bounded);
4125   __pyx_v_self->bounded = ((PyObject*)__pyx_t_1);
4126   __pyx_t_1 = 0;
4127 
4128   /* "Cython/Compiler/FlowControl.py":68
4129  *         self.bounded = set()
4130  *
4131  *         self.i_input = 0             # <<<<<<<<<<<<<<
4132  *         self.i_output = 0
4133  *         self.i_gen = 0
4134  */
4135   __Pyx_INCREF(__pyx_int_0);
4136   __Pyx_GIVEREF(__pyx_int_0);
4137   __Pyx_GOTREF(__pyx_v_self->i_input);
4138   __Pyx_DECREF(__pyx_v_self->i_input);
4139   __pyx_v_self->i_input = __pyx_int_0;
4140 
4141   /* "Cython/Compiler/FlowControl.py":69
4142  *
4143  *         self.i_input = 0
4144  *         self.i_output = 0             # <<<<<<<<<<<<<<
4145  *         self.i_gen = 0
4146  *         self.i_kill = 0
4147  */
4148   __Pyx_INCREF(__pyx_int_0);
4149   __Pyx_GIVEREF(__pyx_int_0);
4150   __Pyx_GOTREF(__pyx_v_self->i_output);
4151   __Pyx_DECREF(__pyx_v_self->i_output);
4152   __pyx_v_self->i_output = __pyx_int_0;
4153 
4154   /* "Cython/Compiler/FlowControl.py":70
4155  *         self.i_input = 0
4156  *         self.i_output = 0
4157  *         self.i_gen = 0             # <<<<<<<<<<<<<<
4158  *         self.i_kill = 0
4159  *         self.i_state = 0
4160  */
4161   __Pyx_INCREF(__pyx_int_0);
4162   __Pyx_GIVEREF(__pyx_int_0);
4163   __Pyx_GOTREF(__pyx_v_self->i_gen);
4164   __Pyx_DECREF(__pyx_v_self->i_gen);
4165   __pyx_v_self->i_gen = __pyx_int_0;
4166 
4167   /* "Cython/Compiler/FlowControl.py":71
4168  *         self.i_output = 0
4169  *         self.i_gen = 0
4170  *         self.i_kill = 0             # <<<<<<<<<<<<<<
4171  *         self.i_state = 0
4172  *
4173  */
4174   __Pyx_INCREF(__pyx_int_0);
4175   __Pyx_GIVEREF(__pyx_int_0);
4176   __Pyx_GOTREF(__pyx_v_self->i_kill);
4177   __Pyx_DECREF(__pyx_v_self->i_kill);
4178   __pyx_v_self->i_kill = __pyx_int_0;
4179 
4180   /* "Cython/Compiler/FlowControl.py":72
4181  *         self.i_gen = 0
4182  *         self.i_kill = 0
4183  *         self.i_state = 0             # <<<<<<<<<<<<<<
4184  *
4185  *     def empty(self):
4186  */
4187   __Pyx_INCREF(__pyx_int_0);
4188   __Pyx_GIVEREF(__pyx_int_0);
4189   __Pyx_GOTREF(__pyx_v_self->i_state);
4190   __Pyx_DECREF(__pyx_v_self->i_state);
4191   __pyx_v_self->i_state = __pyx_int_0;
4192 
4193   /* "Cython/Compiler/FlowControl.py":59
4194  *     """
4195  *
4196  *     def __init__(self):             # <<<<<<<<<<<<<<
4197  *         self.children = set()
4198  *         self.parents = set()
4199  */
4200 
4201   /* function exit code */
4202   __pyx_r = 0;
4203   goto __pyx_L0;
4204   __pyx_L1_error:;
4205   __Pyx_XDECREF(__pyx_t_1);
4206   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlBlock.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
4207   __pyx_r = -1;
4208   __pyx_L0:;
4209   __Pyx_RefNannyFinishContext();
4210   return __pyx_r;
4211 }
4212 
4213 /* "Cython/Compiler/FlowControl.py":74
4214  *         self.i_state = 0
4215  *
4216  *     def empty(self):             # <<<<<<<<<<<<<<
4217  *         return (not self.stats and not self.positions)
4218  *
4219  */
4220 
4221 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_3empty(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
__pyx_f_6Cython_8Compiler_11FlowControl_12ControlBlock_empty(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self,int __pyx_skip_dispatch)4222 static int __pyx_f_6Cython_8Compiler_11FlowControl_12ControlBlock_empty(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, int __pyx_skip_dispatch) {
4223   int __pyx_r;
4224   __Pyx_RefNannyDeclarations
4225   PyObject *__pyx_t_1 = NULL;
4226   PyObject *__pyx_t_2 = NULL;
4227   PyObject *__pyx_t_3 = NULL;
4228   PyObject *__pyx_t_4 = NULL;
4229   int __pyx_t_5;
4230   int __pyx_t_6;
4231   int __pyx_t_7;
4232   int __pyx_lineno = 0;
4233   const char *__pyx_filename = NULL;
4234   int __pyx_clineno = 0;
4235   __Pyx_RefNannySetupContext("empty", 0);
4236   /* Check if called by wrapper */
4237   if (unlikely(__pyx_skip_dispatch)) ;
4238   /* Check if overridden in Python */
4239   else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
4240     #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
4241     static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
4242     if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
4243       PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
4244       #endif
4245       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_empty); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error)
4246       __Pyx_GOTREF(__pyx_t_1);
4247       if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_3empty)) {
4248         __Pyx_INCREF(__pyx_t_1);
4249         __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
4250         if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
4251           __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
4252           if (likely(__pyx_t_4)) {
4253             PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
4254             __Pyx_INCREF(__pyx_t_4);
4255             __Pyx_INCREF(function);
4256             __Pyx_DECREF_SET(__pyx_t_3, function);
4257           }
4258         }
4259         __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
4260         __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
4261         if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 74, __pyx_L1_error)
4262         __Pyx_GOTREF(__pyx_t_2);
4263         __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4264         __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 74, __pyx_L1_error)
4265         __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4266         __pyx_r = __pyx_t_5;
4267         __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4268         goto __pyx_L0;
4269       }
4270       #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
4271       __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
4272       __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
4273       if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
4274         __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
4275       }
4276       #endif
4277       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4278       #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
4279     }
4280     #endif
4281   }
4282 
4283   /* "Cython/Compiler/FlowControl.py":75
4284  *
4285  *     def empty(self):
4286  *         return (not self.stats and not self.positions)             # <<<<<<<<<<<<<<
4287  *
4288  *     def detach(self):
4289  */
4290   __pyx_t_6 = (__pyx_v_self->stats != Py_None)&&(PyList_GET_SIZE(__pyx_v_self->stats) != 0);
4291   __pyx_t_7 = ((!__pyx_t_6) != 0);
4292   if (__pyx_t_7) {
4293   } else {
4294     __pyx_t_5 = __pyx_t_7;
4295     goto __pyx_L3_bool_binop_done;
4296   }
4297   __pyx_t_7 = (__pyx_v_self->positions != Py_None)&&(PySet_GET_SIZE(__pyx_v_self->positions) != 0);
4298   __pyx_t_6 = ((!__pyx_t_7) != 0);
4299   __pyx_t_5 = __pyx_t_6;
4300   __pyx_L3_bool_binop_done:;
4301   __pyx_r = __pyx_t_5;
4302   goto __pyx_L0;
4303 
4304   /* "Cython/Compiler/FlowControl.py":74
4305  *         self.i_state = 0
4306  *
4307  *     def empty(self):             # <<<<<<<<<<<<<<
4308  *         return (not self.stats and not self.positions)
4309  *
4310  */
4311 
4312   /* function exit code */
4313   __pyx_L1_error:;
4314   __Pyx_XDECREF(__pyx_t_1);
4315   __Pyx_XDECREF(__pyx_t_2);
4316   __Pyx_XDECREF(__pyx_t_3);
4317   __Pyx_XDECREF(__pyx_t_4);
4318   __Pyx_WriteUnraisable("Cython.Compiler.FlowControl.ControlBlock.empty", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
4319   __pyx_r = 0;
4320   __pyx_L0:;
4321   __Pyx_RefNannyFinishContext();
4322   return __pyx_r;
4323 }
4324 
4325 /* Python wrapper */
4326 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_3empty(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
4327 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_12ControlBlock_3empty = {"empty", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_3empty, METH_NOARGS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_3empty(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)4328 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_3empty(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
4329   PyObject *__pyx_r = 0;
4330   __Pyx_RefNannyDeclarations
4331   __Pyx_RefNannySetupContext("empty (wrapper)", 0);
4332   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_2empty(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
4333 
4334   /* function exit code */
4335   __Pyx_RefNannyFinishContext();
4336   return __pyx_r;
4337 }
4338 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_2empty(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)4339 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_2empty(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
4340   PyObject *__pyx_r = NULL;
4341   __Pyx_RefNannyDeclarations
4342   PyObject *__pyx_t_1 = NULL;
4343   int __pyx_lineno = 0;
4344   const char *__pyx_filename = NULL;
4345   int __pyx_clineno = 0;
4346   __Pyx_RefNannySetupContext("empty", 0);
4347   __Pyx_XDECREF(__pyx_r);
4348   __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_6Cython_8Compiler_11FlowControl_12ControlBlock_empty(__pyx_v_self, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error)
4349   __Pyx_GOTREF(__pyx_t_1);
4350   __pyx_r = __pyx_t_1;
4351   __pyx_t_1 = 0;
4352   goto __pyx_L0;
4353 
4354   /* function exit code */
4355   __pyx_L1_error:;
4356   __Pyx_XDECREF(__pyx_t_1);
4357   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlBlock.empty", __pyx_clineno, __pyx_lineno, __pyx_filename);
4358   __pyx_r = NULL;
4359   __pyx_L0:;
4360   __Pyx_XGIVEREF(__pyx_r);
4361   __Pyx_RefNannyFinishContext();
4362   return __pyx_r;
4363 }
4364 
4365 /* "Cython/Compiler/FlowControl.py":77
4366  *         return (not self.stats and not self.positions)
4367  *
4368  *     def detach(self):             # <<<<<<<<<<<<<<
4369  *         """Detach block from parents and children."""
4370  *         for child in self.children:
4371  */
4372 
4373 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5detach(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
__pyx_f_6Cython_8Compiler_11FlowControl_12ControlBlock_detach(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self,int __pyx_skip_dispatch)4374 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_12ControlBlock_detach(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, int __pyx_skip_dispatch) {
4375   PyObject *__pyx_v_child = NULL;
4376   PyObject *__pyx_v_parent = NULL;
4377   PyObject *__pyx_r = NULL;
4378   __Pyx_RefNannyDeclarations
4379   PyObject *__pyx_t_1 = NULL;
4380   PyObject *__pyx_t_2 = NULL;
4381   PyObject *__pyx_t_3 = NULL;
4382   PyObject *__pyx_t_4 = NULL;
4383   Py_ssize_t __pyx_t_5;
4384   Py_ssize_t __pyx_t_6;
4385   int __pyx_t_7;
4386   int __pyx_t_8;
4387   int __pyx_t_9;
4388   int __pyx_lineno = 0;
4389   const char *__pyx_filename = NULL;
4390   int __pyx_clineno = 0;
4391   __Pyx_RefNannySetupContext("detach", 0);
4392   /* Check if called by wrapper */
4393   if (unlikely(__pyx_skip_dispatch)) ;
4394   /* Check if overridden in Python */
4395   else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
4396     #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
4397     static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
4398     if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
4399       PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
4400       #endif
4401       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_detach); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 77, __pyx_L1_error)
4402       __Pyx_GOTREF(__pyx_t_1);
4403       if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5detach)) {
4404         __Pyx_XDECREF(__pyx_r);
4405         __Pyx_INCREF(__pyx_t_1);
4406         __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
4407         if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
4408           __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
4409           if (likely(__pyx_t_4)) {
4410             PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
4411             __Pyx_INCREF(__pyx_t_4);
4412             __Pyx_INCREF(function);
4413             __Pyx_DECREF_SET(__pyx_t_3, function);
4414           }
4415         }
4416         __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
4417         __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
4418         if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 77, __pyx_L1_error)
4419         __Pyx_GOTREF(__pyx_t_2);
4420         __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4421         __pyx_r = __pyx_t_2;
4422         __pyx_t_2 = 0;
4423         __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4424         goto __pyx_L0;
4425       }
4426       #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
4427       __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
4428       __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
4429       if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
4430         __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
4431       }
4432       #endif
4433       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4434       #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
4435     }
4436     #endif
4437   }
4438 
4439   /* "Cython/Compiler/FlowControl.py":79
4440  *     def detach(self):
4441  *         """Detach block from parents and children."""
4442  *         for child in self.children:             # <<<<<<<<<<<<<<
4443  *             child.parents.remove(self)
4444  *         for parent in self.parents:
4445  */
4446   __pyx_t_5 = 0;
4447   __pyx_t_2 = __Pyx_set_iterator(__pyx_v_self->children, 1, (&__pyx_t_6), (&__pyx_t_7)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 79, __pyx_L1_error)
4448   __Pyx_GOTREF(__pyx_t_2);
4449   __Pyx_XDECREF(__pyx_t_1);
4450   __pyx_t_1 = __pyx_t_2;
4451   __pyx_t_2 = 0;
4452   while (1) {
4453     __pyx_t_8 = __Pyx_set_iter_next(__pyx_t_1, __pyx_t_6, &__pyx_t_5, &__pyx_t_2, __pyx_t_7);
4454     if (unlikely(__pyx_t_8 == 0)) break;
4455     if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(0, 79, __pyx_L1_error)
4456     __Pyx_GOTREF(__pyx_t_2);
4457     __Pyx_XDECREF_SET(__pyx_v_child, __pyx_t_2);
4458     __pyx_t_2 = 0;
4459 
4460     /* "Cython/Compiler/FlowControl.py":80
4461  *         """Detach block from parents and children."""
4462  *         for child in self.children:
4463  *             child.parents.remove(self)             # <<<<<<<<<<<<<<
4464  *         for parent in self.parents:
4465  *             parent.children.remove(self)
4466  */
4467     __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_child, __pyx_n_s_parents); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 80, __pyx_L1_error)
4468     __Pyx_GOTREF(__pyx_t_3);
4469     __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_remove); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 80, __pyx_L1_error)
4470     __Pyx_GOTREF(__pyx_t_4);
4471     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4472     __pyx_t_3 = NULL;
4473     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
4474       __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
4475       if (likely(__pyx_t_3)) {
4476         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
4477         __Pyx_INCREF(__pyx_t_3);
4478         __Pyx_INCREF(function);
4479         __Pyx_DECREF_SET(__pyx_t_4, function);
4480       }
4481     }
4482     __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, ((PyObject *)__pyx_v_self)) : __Pyx_PyObject_CallOneArg(__pyx_t_4, ((PyObject *)__pyx_v_self));
4483     __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
4484     if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 80, __pyx_L1_error)
4485     __Pyx_GOTREF(__pyx_t_2);
4486     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4487     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4488   }
4489   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4490 
4491   /* "Cython/Compiler/FlowControl.py":81
4492  *         for child in self.children:
4493  *             child.parents.remove(self)
4494  *         for parent in self.parents:             # <<<<<<<<<<<<<<
4495  *             parent.children.remove(self)
4496  *         self.parents.clear()
4497  */
4498   __pyx_t_6 = 0;
4499   __pyx_t_2 = __Pyx_set_iterator(__pyx_v_self->parents, 1, (&__pyx_t_5), (&__pyx_t_7)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 81, __pyx_L1_error)
4500   __Pyx_GOTREF(__pyx_t_2);
4501   __Pyx_XDECREF(__pyx_t_1);
4502   __pyx_t_1 = __pyx_t_2;
4503   __pyx_t_2 = 0;
4504   while (1) {
4505     __pyx_t_8 = __Pyx_set_iter_next(__pyx_t_1, __pyx_t_5, &__pyx_t_6, &__pyx_t_2, __pyx_t_7);
4506     if (unlikely(__pyx_t_8 == 0)) break;
4507     if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(0, 81, __pyx_L1_error)
4508     __Pyx_GOTREF(__pyx_t_2);
4509     __Pyx_XDECREF_SET(__pyx_v_parent, __pyx_t_2);
4510     __pyx_t_2 = 0;
4511 
4512     /* "Cython/Compiler/FlowControl.py":82
4513  *             child.parents.remove(self)
4514  *         for parent in self.parents:
4515  *             parent.children.remove(self)             # <<<<<<<<<<<<<<
4516  *         self.parents.clear()
4517  *         self.children.clear()
4518  */
4519     __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_children); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 82, __pyx_L1_error)
4520     __Pyx_GOTREF(__pyx_t_4);
4521     __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_remove); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 82, __pyx_L1_error)
4522     __Pyx_GOTREF(__pyx_t_3);
4523     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4524     __pyx_t_4 = NULL;
4525     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
4526       __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
4527       if (likely(__pyx_t_4)) {
4528         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
4529         __Pyx_INCREF(__pyx_t_4);
4530         __Pyx_INCREF(function);
4531         __Pyx_DECREF_SET(__pyx_t_3, function);
4532       }
4533     }
4534     __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, ((PyObject *)__pyx_v_self)) : __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_self));
4535     __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
4536     if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 82, __pyx_L1_error)
4537     __Pyx_GOTREF(__pyx_t_2);
4538     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4539     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4540   }
4541   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4542 
4543   /* "Cython/Compiler/FlowControl.py":83
4544  *         for parent in self.parents:
4545  *             parent.children.remove(self)
4546  *         self.parents.clear()             # <<<<<<<<<<<<<<
4547  *         self.children.clear()
4548  *
4549  */
4550   if (unlikely(__pyx_v_self->parents == Py_None)) {
4551     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "clear");
4552     __PYX_ERR(0, 83, __pyx_L1_error)
4553   }
4554   __pyx_t_9 = PySet_Clear(__pyx_v_self->parents); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 83, __pyx_L1_error)
4555 
4556   /* "Cython/Compiler/FlowControl.py":84
4557  *             parent.children.remove(self)
4558  *         self.parents.clear()
4559  *         self.children.clear()             # <<<<<<<<<<<<<<
4560  *
4561  *     def add_child(self, block):
4562  */
4563   if (unlikely(__pyx_v_self->children == Py_None)) {
4564     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "clear");
4565     __PYX_ERR(0, 84, __pyx_L1_error)
4566   }
4567   __pyx_t_9 = PySet_Clear(__pyx_v_self->children); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 84, __pyx_L1_error)
4568 
4569   /* "Cython/Compiler/FlowControl.py":77
4570  *         return (not self.stats and not self.positions)
4571  *
4572  *     def detach(self):             # <<<<<<<<<<<<<<
4573  *         """Detach block from parents and children."""
4574  *         for child in self.children:
4575  */
4576 
4577   /* function exit code */
4578   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
4579   goto __pyx_L0;
4580   __pyx_L1_error:;
4581   __Pyx_XDECREF(__pyx_t_1);
4582   __Pyx_XDECREF(__pyx_t_2);
4583   __Pyx_XDECREF(__pyx_t_3);
4584   __Pyx_XDECREF(__pyx_t_4);
4585   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlBlock.detach", __pyx_clineno, __pyx_lineno, __pyx_filename);
4586   __pyx_r = 0;
4587   __pyx_L0:;
4588   __Pyx_XDECREF(__pyx_v_child);
4589   __Pyx_XDECREF(__pyx_v_parent);
4590   __Pyx_XGIVEREF(__pyx_r);
4591   __Pyx_RefNannyFinishContext();
4592   return __pyx_r;
4593 }
4594 
4595 /* Python wrapper */
4596 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5detach(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
4597 static char __pyx_doc_6Cython_8Compiler_11FlowControl_12ControlBlock_4detach[] = "Detach block from parents and children.";
4598 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_12ControlBlock_5detach = {"detach", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5detach, METH_NOARGS, __pyx_doc_6Cython_8Compiler_11FlowControl_12ControlBlock_4detach};
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5detach(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)4599 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5detach(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
4600   PyObject *__pyx_r = 0;
4601   __Pyx_RefNannyDeclarations
4602   __Pyx_RefNannySetupContext("detach (wrapper)", 0);
4603   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_4detach(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
4604 
4605   /* function exit code */
4606   __Pyx_RefNannyFinishContext();
4607   return __pyx_r;
4608 }
4609 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_4detach(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)4610 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_4detach(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
4611   PyObject *__pyx_r = NULL;
4612   __Pyx_RefNannyDeclarations
4613   PyObject *__pyx_t_1 = NULL;
4614   int __pyx_lineno = 0;
4615   const char *__pyx_filename = NULL;
4616   int __pyx_clineno = 0;
4617   __Pyx_RefNannySetupContext("detach", 0);
4618   __Pyx_XDECREF(__pyx_r);
4619   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_12ControlBlock_detach(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 77, __pyx_L1_error)
4620   __Pyx_GOTREF(__pyx_t_1);
4621   __pyx_r = __pyx_t_1;
4622   __pyx_t_1 = 0;
4623   goto __pyx_L0;
4624 
4625   /* function exit code */
4626   __pyx_L1_error:;
4627   __Pyx_XDECREF(__pyx_t_1);
4628   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlBlock.detach", __pyx_clineno, __pyx_lineno, __pyx_filename);
4629   __pyx_r = NULL;
4630   __pyx_L0:;
4631   __Pyx_XGIVEREF(__pyx_r);
4632   __Pyx_RefNannyFinishContext();
4633   return __pyx_r;
4634 }
4635 
4636 /* "Cython/Compiler/FlowControl.py":86
4637  *         self.children.clear()
4638  *
4639  *     def add_child(self, block):             # <<<<<<<<<<<<<<
4640  *         self.children.add(block)
4641  *         block.parents.add(self)
4642  */
4643 
4644 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7add_child(PyObject *__pyx_v_self, PyObject *__pyx_v_block); /*proto*/
__pyx_f_6Cython_8Compiler_11FlowControl_12ControlBlock_add_child(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self,PyObject * __pyx_v_block,int __pyx_skip_dispatch)4645 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_12ControlBlock_add_child(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_block, int __pyx_skip_dispatch) {
4646   PyObject *__pyx_r = NULL;
4647   __Pyx_RefNannyDeclarations
4648   PyObject *__pyx_t_1 = NULL;
4649   PyObject *__pyx_t_2 = NULL;
4650   PyObject *__pyx_t_3 = NULL;
4651   PyObject *__pyx_t_4 = NULL;
4652   int __pyx_t_5;
4653   int __pyx_lineno = 0;
4654   const char *__pyx_filename = NULL;
4655   int __pyx_clineno = 0;
4656   __Pyx_RefNannySetupContext("add_child", 0);
4657   /* Check if called by wrapper */
4658   if (unlikely(__pyx_skip_dispatch)) ;
4659   /* Check if overridden in Python */
4660   else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
4661     #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
4662     static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
4663     if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
4664       PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
4665       #endif
4666       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_child); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 86, __pyx_L1_error)
4667       __Pyx_GOTREF(__pyx_t_1);
4668       if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7add_child)) {
4669         __Pyx_XDECREF(__pyx_r);
4670         __Pyx_INCREF(__pyx_t_1);
4671         __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
4672         if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
4673           __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
4674           if (likely(__pyx_t_4)) {
4675             PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
4676             __Pyx_INCREF(__pyx_t_4);
4677             __Pyx_INCREF(function);
4678             __Pyx_DECREF_SET(__pyx_t_3, function);
4679           }
4680         }
4681         __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_block) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_block);
4682         __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
4683         if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 86, __pyx_L1_error)
4684         __Pyx_GOTREF(__pyx_t_2);
4685         __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4686         __pyx_r = __pyx_t_2;
4687         __pyx_t_2 = 0;
4688         __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4689         goto __pyx_L0;
4690       }
4691       #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
4692       __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
4693       __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
4694       if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
4695         __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
4696       }
4697       #endif
4698       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4699       #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
4700     }
4701     #endif
4702   }
4703 
4704   /* "Cython/Compiler/FlowControl.py":87
4705  *
4706  *     def add_child(self, block):
4707  *         self.children.add(block)             # <<<<<<<<<<<<<<
4708  *         block.parents.add(self)
4709  *
4710  */
4711   if (unlikely(__pyx_v_self->children == Py_None)) {
4712     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "add");
4713     __PYX_ERR(0, 87, __pyx_L1_error)
4714   }
4715   __pyx_t_5 = PySet_Add(__pyx_v_self->children, __pyx_v_block); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 87, __pyx_L1_error)
4716 
4717   /* "Cython/Compiler/FlowControl.py":88
4718  *     def add_child(self, block):
4719  *         self.children.add(block)
4720  *         block.parents.add(self)             # <<<<<<<<<<<<<<
4721  *
4722  *
4723  */
4724   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_block, __pyx_n_s_parents); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 88, __pyx_L1_error)
4725   __Pyx_GOTREF(__pyx_t_2);
4726   __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_add); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 88, __pyx_L1_error)
4727   __Pyx_GOTREF(__pyx_t_3);
4728   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4729   __pyx_t_2 = NULL;
4730   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
4731     __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
4732     if (likely(__pyx_t_2)) {
4733       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
4734       __Pyx_INCREF(__pyx_t_2);
4735       __Pyx_INCREF(function);
4736       __Pyx_DECREF_SET(__pyx_t_3, function);
4737     }
4738   }
4739   __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, ((PyObject *)__pyx_v_self)) : __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_self));
4740   __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
4741   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L1_error)
4742   __Pyx_GOTREF(__pyx_t_1);
4743   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4744   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4745 
4746   /* "Cython/Compiler/FlowControl.py":86
4747  *         self.children.clear()
4748  *
4749  *     def add_child(self, block):             # <<<<<<<<<<<<<<
4750  *         self.children.add(block)
4751  *         block.parents.add(self)
4752  */
4753 
4754   /* function exit code */
4755   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
4756   goto __pyx_L0;
4757   __pyx_L1_error:;
4758   __Pyx_XDECREF(__pyx_t_1);
4759   __Pyx_XDECREF(__pyx_t_2);
4760   __Pyx_XDECREF(__pyx_t_3);
4761   __Pyx_XDECREF(__pyx_t_4);
4762   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlBlock.add_child", __pyx_clineno, __pyx_lineno, __pyx_filename);
4763   __pyx_r = 0;
4764   __pyx_L0:;
4765   __Pyx_XGIVEREF(__pyx_r);
4766   __Pyx_RefNannyFinishContext();
4767   return __pyx_r;
4768 }
4769 
4770 /* Python wrapper */
4771 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7add_child(PyObject *__pyx_v_self, PyObject *__pyx_v_block); /*proto*/
4772 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_12ControlBlock_7add_child = {"add_child", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7add_child, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7add_child(PyObject * __pyx_v_self,PyObject * __pyx_v_block)4773 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7add_child(PyObject *__pyx_v_self, PyObject *__pyx_v_block) {
4774   PyObject *__pyx_r = 0;
4775   __Pyx_RefNannyDeclarations
4776   __Pyx_RefNannySetupContext("add_child (wrapper)", 0);
4777   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_6add_child(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self), ((PyObject *)__pyx_v_block));
4778 
4779   /* function exit code */
4780   __Pyx_RefNannyFinishContext();
4781   return __pyx_r;
4782 }
4783 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_6add_child(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self,PyObject * __pyx_v_block)4784 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_6add_child(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_block) {
4785   PyObject *__pyx_r = NULL;
4786   __Pyx_RefNannyDeclarations
4787   PyObject *__pyx_t_1 = NULL;
4788   int __pyx_lineno = 0;
4789   const char *__pyx_filename = NULL;
4790   int __pyx_clineno = 0;
4791   __Pyx_RefNannySetupContext("add_child", 0);
4792   __Pyx_XDECREF(__pyx_r);
4793   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_12ControlBlock_add_child(__pyx_v_self, __pyx_v_block, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 86, __pyx_L1_error)
4794   __Pyx_GOTREF(__pyx_t_1);
4795   __pyx_r = __pyx_t_1;
4796   __pyx_t_1 = 0;
4797   goto __pyx_L0;
4798 
4799   /* function exit code */
4800   __pyx_L1_error:;
4801   __Pyx_XDECREF(__pyx_t_1);
4802   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlBlock.add_child", __pyx_clineno, __pyx_lineno, __pyx_filename);
4803   __pyx_r = NULL;
4804   __pyx_L0:;
4805   __Pyx_XGIVEREF(__pyx_r);
4806   __Pyx_RefNannyFinishContext();
4807   return __pyx_r;
4808 }
4809 
4810 /* "Cython/Compiler/FlowControl.pxd":8
4811  *
4812  * cdef class ControlBlock:
4813  *      cdef public set children             # <<<<<<<<<<<<<<
4814  *      cdef public set parents
4815  *      cdef public set positions
4816  */
4817 
4818 /* Python wrapper */
4819 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8children_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8children_1__get__(PyObject * __pyx_v_self)4820 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8children_1__get__(PyObject *__pyx_v_self) {
4821   PyObject *__pyx_r = 0;
4822   __Pyx_RefNannyDeclarations
4823   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
4824   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8children___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
4825 
4826   /* function exit code */
4827   __Pyx_RefNannyFinishContext();
4828   return __pyx_r;
4829 }
4830 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8children___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)4831 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8children___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
4832   PyObject *__pyx_r = NULL;
4833   __Pyx_RefNannyDeclarations
4834   __Pyx_RefNannySetupContext("__get__", 0);
4835   __Pyx_XDECREF(__pyx_r);
4836   __Pyx_INCREF(__pyx_v_self->children);
4837   __pyx_r = __pyx_v_self->children;
4838   goto __pyx_L0;
4839 
4840   /* function exit code */
4841   __pyx_L0:;
4842   __Pyx_XGIVEREF(__pyx_r);
4843   __Pyx_RefNannyFinishContext();
4844   return __pyx_r;
4845 }
4846 
4847 /* Python wrapper */
4848 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8children_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8children_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)4849 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8children_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
4850   int __pyx_r;
4851   __Pyx_RefNannyDeclarations
4852   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
4853   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8children_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self), ((PyObject *)__pyx_v_value));
4854 
4855   /* function exit code */
4856   __Pyx_RefNannyFinishContext();
4857   return __pyx_r;
4858 }
4859 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8children_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self,PyObject * __pyx_v_value)4860 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8children_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_value) {
4861   int __pyx_r;
4862   __Pyx_RefNannyDeclarations
4863   PyObject *__pyx_t_1 = NULL;
4864   int __pyx_lineno = 0;
4865   const char *__pyx_filename = NULL;
4866   int __pyx_clineno = 0;
4867   __Pyx_RefNannySetupContext("__set__", 0);
4868   if (!(likely(PySet_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 8, __pyx_L1_error)
4869   __pyx_t_1 = __pyx_v_value;
4870   __Pyx_INCREF(__pyx_t_1);
4871   __Pyx_GIVEREF(__pyx_t_1);
4872   __Pyx_GOTREF(__pyx_v_self->children);
4873   __Pyx_DECREF(__pyx_v_self->children);
4874   __pyx_v_self->children = ((PyObject*)__pyx_t_1);
4875   __pyx_t_1 = 0;
4876 
4877   /* function exit code */
4878   __pyx_r = 0;
4879   goto __pyx_L0;
4880   __pyx_L1_error:;
4881   __Pyx_XDECREF(__pyx_t_1);
4882   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlBlock.children.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
4883   __pyx_r = -1;
4884   __pyx_L0:;
4885   __Pyx_RefNannyFinishContext();
4886   return __pyx_r;
4887 }
4888 
4889 /* Python wrapper */
4890 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8children_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8children_5__del__(PyObject * __pyx_v_self)4891 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8children_5__del__(PyObject *__pyx_v_self) {
4892   int __pyx_r;
4893   __Pyx_RefNannyDeclarations
4894   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
4895   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8children_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
4896 
4897   /* function exit code */
4898   __Pyx_RefNannyFinishContext();
4899   return __pyx_r;
4900 }
4901 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8children_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)4902 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8children_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
4903   int __pyx_r;
4904   __Pyx_RefNannyDeclarations
4905   __Pyx_RefNannySetupContext("__del__", 0);
4906   __Pyx_INCREF(Py_None);
4907   __Pyx_GIVEREF(Py_None);
4908   __Pyx_GOTREF(__pyx_v_self->children);
4909   __Pyx_DECREF(__pyx_v_self->children);
4910   __pyx_v_self->children = ((PyObject*)Py_None);
4911 
4912   /* function exit code */
4913   __pyx_r = 0;
4914   __Pyx_RefNannyFinishContext();
4915   return __pyx_r;
4916 }
4917 
4918 /* "Cython/Compiler/FlowControl.pxd":9
4919  * cdef class ControlBlock:
4920  *      cdef public set children
4921  *      cdef public set parents             # <<<<<<<<<<<<<<
4922  *      cdef public set positions
4923  *      cdef public list stats
4924  */
4925 
4926 /* Python wrapper */
4927 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents_1__get__(PyObject * __pyx_v_self)4928 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents_1__get__(PyObject *__pyx_v_self) {
4929   PyObject *__pyx_r = 0;
4930   __Pyx_RefNannyDeclarations
4931   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
4932   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
4933 
4934   /* function exit code */
4935   __Pyx_RefNannyFinishContext();
4936   return __pyx_r;
4937 }
4938 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)4939 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
4940   PyObject *__pyx_r = NULL;
4941   __Pyx_RefNannyDeclarations
4942   __Pyx_RefNannySetupContext("__get__", 0);
4943   __Pyx_XDECREF(__pyx_r);
4944   __Pyx_INCREF(__pyx_v_self->parents);
4945   __pyx_r = __pyx_v_self->parents;
4946   goto __pyx_L0;
4947 
4948   /* function exit code */
4949   __pyx_L0:;
4950   __Pyx_XGIVEREF(__pyx_r);
4951   __Pyx_RefNannyFinishContext();
4952   return __pyx_r;
4953 }
4954 
4955 /* Python wrapper */
4956 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)4957 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
4958   int __pyx_r;
4959   __Pyx_RefNannyDeclarations
4960   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
4961   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self), ((PyObject *)__pyx_v_value));
4962 
4963   /* function exit code */
4964   __Pyx_RefNannyFinishContext();
4965   return __pyx_r;
4966 }
4967 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self,PyObject * __pyx_v_value)4968 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_value) {
4969   int __pyx_r;
4970   __Pyx_RefNannyDeclarations
4971   PyObject *__pyx_t_1 = NULL;
4972   int __pyx_lineno = 0;
4973   const char *__pyx_filename = NULL;
4974   int __pyx_clineno = 0;
4975   __Pyx_RefNannySetupContext("__set__", 0);
4976   if (!(likely(PySet_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
4977   __pyx_t_1 = __pyx_v_value;
4978   __Pyx_INCREF(__pyx_t_1);
4979   __Pyx_GIVEREF(__pyx_t_1);
4980   __Pyx_GOTREF(__pyx_v_self->parents);
4981   __Pyx_DECREF(__pyx_v_self->parents);
4982   __pyx_v_self->parents = ((PyObject*)__pyx_t_1);
4983   __pyx_t_1 = 0;
4984 
4985   /* function exit code */
4986   __pyx_r = 0;
4987   goto __pyx_L0;
4988   __pyx_L1_error:;
4989   __Pyx_XDECREF(__pyx_t_1);
4990   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlBlock.parents.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
4991   __pyx_r = -1;
4992   __pyx_L0:;
4993   __Pyx_RefNannyFinishContext();
4994   return __pyx_r;
4995 }
4996 
4997 /* Python wrapper */
4998 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents_5__del__(PyObject * __pyx_v_self)4999 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents_5__del__(PyObject *__pyx_v_self) {
5000   int __pyx_r;
5001   __Pyx_RefNannyDeclarations
5002   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
5003   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
5004 
5005   /* function exit code */
5006   __Pyx_RefNannyFinishContext();
5007   return __pyx_r;
5008 }
5009 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)5010 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
5011   int __pyx_r;
5012   __Pyx_RefNannyDeclarations
5013   __Pyx_RefNannySetupContext("__del__", 0);
5014   __Pyx_INCREF(Py_None);
5015   __Pyx_GIVEREF(Py_None);
5016   __Pyx_GOTREF(__pyx_v_self->parents);
5017   __Pyx_DECREF(__pyx_v_self->parents);
5018   __pyx_v_self->parents = ((PyObject*)Py_None);
5019 
5020   /* function exit code */
5021   __pyx_r = 0;
5022   __Pyx_RefNannyFinishContext();
5023   return __pyx_r;
5024 }
5025 
5026 /* "Cython/Compiler/FlowControl.pxd":10
5027  *      cdef public set children
5028  *      cdef public set parents
5029  *      cdef public set positions             # <<<<<<<<<<<<<<
5030  *      cdef public list stats
5031  *      cdef public dict gen
5032  */
5033 
5034 /* Python wrapper */
5035 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions_1__get__(PyObject * __pyx_v_self)5036 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions_1__get__(PyObject *__pyx_v_self) {
5037   PyObject *__pyx_r = 0;
5038   __Pyx_RefNannyDeclarations
5039   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
5040   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
5041 
5042   /* function exit code */
5043   __Pyx_RefNannyFinishContext();
5044   return __pyx_r;
5045 }
5046 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)5047 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
5048   PyObject *__pyx_r = NULL;
5049   __Pyx_RefNannyDeclarations
5050   __Pyx_RefNannySetupContext("__get__", 0);
5051   __Pyx_XDECREF(__pyx_r);
5052   __Pyx_INCREF(__pyx_v_self->positions);
5053   __pyx_r = __pyx_v_self->positions;
5054   goto __pyx_L0;
5055 
5056   /* function exit code */
5057   __pyx_L0:;
5058   __Pyx_XGIVEREF(__pyx_r);
5059   __Pyx_RefNannyFinishContext();
5060   return __pyx_r;
5061 }
5062 
5063 /* Python wrapper */
5064 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)5065 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
5066   int __pyx_r;
5067   __Pyx_RefNannyDeclarations
5068   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
5069   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self), ((PyObject *)__pyx_v_value));
5070 
5071   /* function exit code */
5072   __Pyx_RefNannyFinishContext();
5073   return __pyx_r;
5074 }
5075 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self,PyObject * __pyx_v_value)5076 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_value) {
5077   int __pyx_r;
5078   __Pyx_RefNannyDeclarations
5079   PyObject *__pyx_t_1 = NULL;
5080   int __pyx_lineno = 0;
5081   const char *__pyx_filename = NULL;
5082   int __pyx_clineno = 0;
5083   __Pyx_RefNannySetupContext("__set__", 0);
5084   if (!(likely(PySet_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 10, __pyx_L1_error)
5085   __pyx_t_1 = __pyx_v_value;
5086   __Pyx_INCREF(__pyx_t_1);
5087   __Pyx_GIVEREF(__pyx_t_1);
5088   __Pyx_GOTREF(__pyx_v_self->positions);
5089   __Pyx_DECREF(__pyx_v_self->positions);
5090   __pyx_v_self->positions = ((PyObject*)__pyx_t_1);
5091   __pyx_t_1 = 0;
5092 
5093   /* function exit code */
5094   __pyx_r = 0;
5095   goto __pyx_L0;
5096   __pyx_L1_error:;
5097   __Pyx_XDECREF(__pyx_t_1);
5098   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlBlock.positions.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5099   __pyx_r = -1;
5100   __pyx_L0:;
5101   __Pyx_RefNannyFinishContext();
5102   return __pyx_r;
5103 }
5104 
5105 /* Python wrapper */
5106 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions_5__del__(PyObject * __pyx_v_self)5107 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions_5__del__(PyObject *__pyx_v_self) {
5108   int __pyx_r;
5109   __Pyx_RefNannyDeclarations
5110   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
5111   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
5112 
5113   /* function exit code */
5114   __Pyx_RefNannyFinishContext();
5115   return __pyx_r;
5116 }
5117 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)5118 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
5119   int __pyx_r;
5120   __Pyx_RefNannyDeclarations
5121   __Pyx_RefNannySetupContext("__del__", 0);
5122   __Pyx_INCREF(Py_None);
5123   __Pyx_GIVEREF(Py_None);
5124   __Pyx_GOTREF(__pyx_v_self->positions);
5125   __Pyx_DECREF(__pyx_v_self->positions);
5126   __pyx_v_self->positions = ((PyObject*)Py_None);
5127 
5128   /* function exit code */
5129   __pyx_r = 0;
5130   __Pyx_RefNannyFinishContext();
5131   return __pyx_r;
5132 }
5133 
5134 /* "Cython/Compiler/FlowControl.pxd":11
5135  *      cdef public set parents
5136  *      cdef public set positions
5137  *      cdef public list stats             # <<<<<<<<<<<<<<
5138  *      cdef public dict gen
5139  *      cdef public set bounded
5140  */
5141 
5142 /* Python wrapper */
5143 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats_1__get__(PyObject * __pyx_v_self)5144 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats_1__get__(PyObject *__pyx_v_self) {
5145   PyObject *__pyx_r = 0;
5146   __Pyx_RefNannyDeclarations
5147   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
5148   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
5149 
5150   /* function exit code */
5151   __Pyx_RefNannyFinishContext();
5152   return __pyx_r;
5153 }
5154 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)5155 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
5156   PyObject *__pyx_r = NULL;
5157   __Pyx_RefNannyDeclarations
5158   __Pyx_RefNannySetupContext("__get__", 0);
5159   __Pyx_XDECREF(__pyx_r);
5160   __Pyx_INCREF(__pyx_v_self->stats);
5161   __pyx_r = __pyx_v_self->stats;
5162   goto __pyx_L0;
5163 
5164   /* function exit code */
5165   __pyx_L0:;
5166   __Pyx_XGIVEREF(__pyx_r);
5167   __Pyx_RefNannyFinishContext();
5168   return __pyx_r;
5169 }
5170 
5171 /* Python wrapper */
5172 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)5173 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
5174   int __pyx_r;
5175   __Pyx_RefNannyDeclarations
5176   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
5177   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self), ((PyObject *)__pyx_v_value));
5178 
5179   /* function exit code */
5180   __Pyx_RefNannyFinishContext();
5181   return __pyx_r;
5182 }
5183 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self,PyObject * __pyx_v_value)5184 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_value) {
5185   int __pyx_r;
5186   __Pyx_RefNannyDeclarations
5187   PyObject *__pyx_t_1 = NULL;
5188   int __pyx_lineno = 0;
5189   const char *__pyx_filename = NULL;
5190   int __pyx_clineno = 0;
5191   __Pyx_RefNannySetupContext("__set__", 0);
5192   if (!(likely(PyList_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 11, __pyx_L1_error)
5193   __pyx_t_1 = __pyx_v_value;
5194   __Pyx_INCREF(__pyx_t_1);
5195   __Pyx_GIVEREF(__pyx_t_1);
5196   __Pyx_GOTREF(__pyx_v_self->stats);
5197   __Pyx_DECREF(__pyx_v_self->stats);
5198   __pyx_v_self->stats = ((PyObject*)__pyx_t_1);
5199   __pyx_t_1 = 0;
5200 
5201   /* function exit code */
5202   __pyx_r = 0;
5203   goto __pyx_L0;
5204   __pyx_L1_error:;
5205   __Pyx_XDECREF(__pyx_t_1);
5206   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlBlock.stats.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5207   __pyx_r = -1;
5208   __pyx_L0:;
5209   __Pyx_RefNannyFinishContext();
5210   return __pyx_r;
5211 }
5212 
5213 /* Python wrapper */
5214 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats_5__del__(PyObject * __pyx_v_self)5215 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats_5__del__(PyObject *__pyx_v_self) {
5216   int __pyx_r;
5217   __Pyx_RefNannyDeclarations
5218   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
5219   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
5220 
5221   /* function exit code */
5222   __Pyx_RefNannyFinishContext();
5223   return __pyx_r;
5224 }
5225 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)5226 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
5227   int __pyx_r;
5228   __Pyx_RefNannyDeclarations
5229   __Pyx_RefNannySetupContext("__del__", 0);
5230   __Pyx_INCREF(Py_None);
5231   __Pyx_GIVEREF(Py_None);
5232   __Pyx_GOTREF(__pyx_v_self->stats);
5233   __Pyx_DECREF(__pyx_v_self->stats);
5234   __pyx_v_self->stats = ((PyObject*)Py_None);
5235 
5236   /* function exit code */
5237   __pyx_r = 0;
5238   __Pyx_RefNannyFinishContext();
5239   return __pyx_r;
5240 }
5241 
5242 /* "Cython/Compiler/FlowControl.pxd":12
5243  *      cdef public set positions
5244  *      cdef public list stats
5245  *      cdef public dict gen             # <<<<<<<<<<<<<<
5246  *      cdef public set bounded
5247  *
5248  */
5249 
5250 /* Python wrapper */
5251 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen_1__get__(PyObject * __pyx_v_self)5252 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen_1__get__(PyObject *__pyx_v_self) {
5253   PyObject *__pyx_r = 0;
5254   __Pyx_RefNannyDeclarations
5255   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
5256   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
5257 
5258   /* function exit code */
5259   __Pyx_RefNannyFinishContext();
5260   return __pyx_r;
5261 }
5262 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)5263 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
5264   PyObject *__pyx_r = NULL;
5265   __Pyx_RefNannyDeclarations
5266   __Pyx_RefNannySetupContext("__get__", 0);
5267   __Pyx_XDECREF(__pyx_r);
5268   __Pyx_INCREF(__pyx_v_self->gen);
5269   __pyx_r = __pyx_v_self->gen;
5270   goto __pyx_L0;
5271 
5272   /* function exit code */
5273   __pyx_L0:;
5274   __Pyx_XGIVEREF(__pyx_r);
5275   __Pyx_RefNannyFinishContext();
5276   return __pyx_r;
5277 }
5278 
5279 /* Python wrapper */
5280 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)5281 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
5282   int __pyx_r;
5283   __Pyx_RefNannyDeclarations
5284   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
5285   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self), ((PyObject *)__pyx_v_value));
5286 
5287   /* function exit code */
5288   __Pyx_RefNannyFinishContext();
5289   return __pyx_r;
5290 }
5291 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self,PyObject * __pyx_v_value)5292 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_value) {
5293   int __pyx_r;
5294   __Pyx_RefNannyDeclarations
5295   PyObject *__pyx_t_1 = NULL;
5296   int __pyx_lineno = 0;
5297   const char *__pyx_filename = NULL;
5298   int __pyx_clineno = 0;
5299   __Pyx_RefNannySetupContext("__set__", 0);
5300   if (!(likely(PyDict_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 12, __pyx_L1_error)
5301   __pyx_t_1 = __pyx_v_value;
5302   __Pyx_INCREF(__pyx_t_1);
5303   __Pyx_GIVEREF(__pyx_t_1);
5304   __Pyx_GOTREF(__pyx_v_self->gen);
5305   __Pyx_DECREF(__pyx_v_self->gen);
5306   __pyx_v_self->gen = ((PyObject*)__pyx_t_1);
5307   __pyx_t_1 = 0;
5308 
5309   /* function exit code */
5310   __pyx_r = 0;
5311   goto __pyx_L0;
5312   __pyx_L1_error:;
5313   __Pyx_XDECREF(__pyx_t_1);
5314   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlBlock.gen.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5315   __pyx_r = -1;
5316   __pyx_L0:;
5317   __Pyx_RefNannyFinishContext();
5318   return __pyx_r;
5319 }
5320 
5321 /* Python wrapper */
5322 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen_5__del__(PyObject * __pyx_v_self)5323 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen_5__del__(PyObject *__pyx_v_self) {
5324   int __pyx_r;
5325   __Pyx_RefNannyDeclarations
5326   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
5327   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
5328 
5329   /* function exit code */
5330   __Pyx_RefNannyFinishContext();
5331   return __pyx_r;
5332 }
5333 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)5334 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
5335   int __pyx_r;
5336   __Pyx_RefNannyDeclarations
5337   __Pyx_RefNannySetupContext("__del__", 0);
5338   __Pyx_INCREF(Py_None);
5339   __Pyx_GIVEREF(Py_None);
5340   __Pyx_GOTREF(__pyx_v_self->gen);
5341   __Pyx_DECREF(__pyx_v_self->gen);
5342   __pyx_v_self->gen = ((PyObject*)Py_None);
5343 
5344   /* function exit code */
5345   __pyx_r = 0;
5346   __Pyx_RefNannyFinishContext();
5347   return __pyx_r;
5348 }
5349 
5350 /* "Cython/Compiler/FlowControl.pxd":13
5351  *      cdef public list stats
5352  *      cdef public dict gen
5353  *      cdef public set bounded             # <<<<<<<<<<<<<<
5354  *
5355  *      # Big integer bitsets
5356  */
5357 
5358 /* Python wrapper */
5359 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded_1__get__(PyObject * __pyx_v_self)5360 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded_1__get__(PyObject *__pyx_v_self) {
5361   PyObject *__pyx_r = 0;
5362   __Pyx_RefNannyDeclarations
5363   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
5364   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
5365 
5366   /* function exit code */
5367   __Pyx_RefNannyFinishContext();
5368   return __pyx_r;
5369 }
5370 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)5371 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
5372   PyObject *__pyx_r = NULL;
5373   __Pyx_RefNannyDeclarations
5374   __Pyx_RefNannySetupContext("__get__", 0);
5375   __Pyx_XDECREF(__pyx_r);
5376   __Pyx_INCREF(__pyx_v_self->bounded);
5377   __pyx_r = __pyx_v_self->bounded;
5378   goto __pyx_L0;
5379 
5380   /* function exit code */
5381   __pyx_L0:;
5382   __Pyx_XGIVEREF(__pyx_r);
5383   __Pyx_RefNannyFinishContext();
5384   return __pyx_r;
5385 }
5386 
5387 /* Python wrapper */
5388 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)5389 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
5390   int __pyx_r;
5391   __Pyx_RefNannyDeclarations
5392   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
5393   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self), ((PyObject *)__pyx_v_value));
5394 
5395   /* function exit code */
5396   __Pyx_RefNannyFinishContext();
5397   return __pyx_r;
5398 }
5399 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self,PyObject * __pyx_v_value)5400 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_value) {
5401   int __pyx_r;
5402   __Pyx_RefNannyDeclarations
5403   PyObject *__pyx_t_1 = NULL;
5404   int __pyx_lineno = 0;
5405   const char *__pyx_filename = NULL;
5406   int __pyx_clineno = 0;
5407   __Pyx_RefNannySetupContext("__set__", 0);
5408   if (!(likely(PySet_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 13, __pyx_L1_error)
5409   __pyx_t_1 = __pyx_v_value;
5410   __Pyx_INCREF(__pyx_t_1);
5411   __Pyx_GIVEREF(__pyx_t_1);
5412   __Pyx_GOTREF(__pyx_v_self->bounded);
5413   __Pyx_DECREF(__pyx_v_self->bounded);
5414   __pyx_v_self->bounded = ((PyObject*)__pyx_t_1);
5415   __pyx_t_1 = 0;
5416 
5417   /* function exit code */
5418   __pyx_r = 0;
5419   goto __pyx_L0;
5420   __pyx_L1_error:;
5421   __Pyx_XDECREF(__pyx_t_1);
5422   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlBlock.bounded.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5423   __pyx_r = -1;
5424   __pyx_L0:;
5425   __Pyx_RefNannyFinishContext();
5426   return __pyx_r;
5427 }
5428 
5429 /* Python wrapper */
5430 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded_5__del__(PyObject * __pyx_v_self)5431 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded_5__del__(PyObject *__pyx_v_self) {
5432   int __pyx_r;
5433   __Pyx_RefNannyDeclarations
5434   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
5435   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
5436 
5437   /* function exit code */
5438   __Pyx_RefNannyFinishContext();
5439   return __pyx_r;
5440 }
5441 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)5442 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
5443   int __pyx_r;
5444   __Pyx_RefNannyDeclarations
5445   __Pyx_RefNannySetupContext("__del__", 0);
5446   __Pyx_INCREF(Py_None);
5447   __Pyx_GIVEREF(Py_None);
5448   __Pyx_GOTREF(__pyx_v_self->bounded);
5449   __Pyx_DECREF(__pyx_v_self->bounded);
5450   __pyx_v_self->bounded = ((PyObject*)Py_None);
5451 
5452   /* function exit code */
5453   __pyx_r = 0;
5454   __Pyx_RefNannyFinishContext();
5455   return __pyx_r;
5456 }
5457 
5458 /* "Cython/Compiler/FlowControl.pxd":16
5459  *
5460  *      # Big integer bitsets
5461  *      cdef public object i_input             # <<<<<<<<<<<<<<
5462  *      cdef public object i_output
5463  *      cdef public object i_gen
5464  */
5465 
5466 /* Python wrapper */
5467 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input_1__get__(PyObject * __pyx_v_self)5468 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input_1__get__(PyObject *__pyx_v_self) {
5469   PyObject *__pyx_r = 0;
5470   __Pyx_RefNannyDeclarations
5471   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
5472   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
5473 
5474   /* function exit code */
5475   __Pyx_RefNannyFinishContext();
5476   return __pyx_r;
5477 }
5478 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)5479 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
5480   PyObject *__pyx_r = NULL;
5481   __Pyx_RefNannyDeclarations
5482   __Pyx_RefNannySetupContext("__get__", 0);
5483   __Pyx_XDECREF(__pyx_r);
5484   __Pyx_INCREF(__pyx_v_self->i_input);
5485   __pyx_r = __pyx_v_self->i_input;
5486   goto __pyx_L0;
5487 
5488   /* function exit code */
5489   __pyx_L0:;
5490   __Pyx_XGIVEREF(__pyx_r);
5491   __Pyx_RefNannyFinishContext();
5492   return __pyx_r;
5493 }
5494 
5495 /* Python wrapper */
5496 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)5497 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
5498   int __pyx_r;
5499   __Pyx_RefNannyDeclarations
5500   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
5501   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self), ((PyObject *)__pyx_v_value));
5502 
5503   /* function exit code */
5504   __Pyx_RefNannyFinishContext();
5505   return __pyx_r;
5506 }
5507 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self,PyObject * __pyx_v_value)5508 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_value) {
5509   int __pyx_r;
5510   __Pyx_RefNannyDeclarations
5511   __Pyx_RefNannySetupContext("__set__", 0);
5512   __Pyx_INCREF(__pyx_v_value);
5513   __Pyx_GIVEREF(__pyx_v_value);
5514   __Pyx_GOTREF(__pyx_v_self->i_input);
5515   __Pyx_DECREF(__pyx_v_self->i_input);
5516   __pyx_v_self->i_input = __pyx_v_value;
5517 
5518   /* function exit code */
5519   __pyx_r = 0;
5520   __Pyx_RefNannyFinishContext();
5521   return __pyx_r;
5522 }
5523 
5524 /* Python wrapper */
5525 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input_5__del__(PyObject * __pyx_v_self)5526 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input_5__del__(PyObject *__pyx_v_self) {
5527   int __pyx_r;
5528   __Pyx_RefNannyDeclarations
5529   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
5530   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
5531 
5532   /* function exit code */
5533   __Pyx_RefNannyFinishContext();
5534   return __pyx_r;
5535 }
5536 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)5537 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
5538   int __pyx_r;
5539   __Pyx_RefNannyDeclarations
5540   __Pyx_RefNannySetupContext("__del__", 0);
5541   __Pyx_INCREF(Py_None);
5542   __Pyx_GIVEREF(Py_None);
5543   __Pyx_GOTREF(__pyx_v_self->i_input);
5544   __Pyx_DECREF(__pyx_v_self->i_input);
5545   __pyx_v_self->i_input = Py_None;
5546 
5547   /* function exit code */
5548   __pyx_r = 0;
5549   __Pyx_RefNannyFinishContext();
5550   return __pyx_r;
5551 }
5552 
5553 /* "Cython/Compiler/FlowControl.pxd":17
5554  *      # Big integer bitsets
5555  *      cdef public object i_input
5556  *      cdef public object i_output             # <<<<<<<<<<<<<<
5557  *      cdef public object i_gen
5558  *      cdef public object i_kill
5559  */
5560 
5561 /* Python wrapper */
5562 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output_1__get__(PyObject * __pyx_v_self)5563 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output_1__get__(PyObject *__pyx_v_self) {
5564   PyObject *__pyx_r = 0;
5565   __Pyx_RefNannyDeclarations
5566   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
5567   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
5568 
5569   /* function exit code */
5570   __Pyx_RefNannyFinishContext();
5571   return __pyx_r;
5572 }
5573 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)5574 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
5575   PyObject *__pyx_r = NULL;
5576   __Pyx_RefNannyDeclarations
5577   __Pyx_RefNannySetupContext("__get__", 0);
5578   __Pyx_XDECREF(__pyx_r);
5579   __Pyx_INCREF(__pyx_v_self->i_output);
5580   __pyx_r = __pyx_v_self->i_output;
5581   goto __pyx_L0;
5582 
5583   /* function exit code */
5584   __pyx_L0:;
5585   __Pyx_XGIVEREF(__pyx_r);
5586   __Pyx_RefNannyFinishContext();
5587   return __pyx_r;
5588 }
5589 
5590 /* Python wrapper */
5591 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)5592 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
5593   int __pyx_r;
5594   __Pyx_RefNannyDeclarations
5595   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
5596   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self), ((PyObject *)__pyx_v_value));
5597 
5598   /* function exit code */
5599   __Pyx_RefNannyFinishContext();
5600   return __pyx_r;
5601 }
5602 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self,PyObject * __pyx_v_value)5603 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_value) {
5604   int __pyx_r;
5605   __Pyx_RefNannyDeclarations
5606   __Pyx_RefNannySetupContext("__set__", 0);
5607   __Pyx_INCREF(__pyx_v_value);
5608   __Pyx_GIVEREF(__pyx_v_value);
5609   __Pyx_GOTREF(__pyx_v_self->i_output);
5610   __Pyx_DECREF(__pyx_v_self->i_output);
5611   __pyx_v_self->i_output = __pyx_v_value;
5612 
5613   /* function exit code */
5614   __pyx_r = 0;
5615   __Pyx_RefNannyFinishContext();
5616   return __pyx_r;
5617 }
5618 
5619 /* Python wrapper */
5620 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output_5__del__(PyObject * __pyx_v_self)5621 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output_5__del__(PyObject *__pyx_v_self) {
5622   int __pyx_r;
5623   __Pyx_RefNannyDeclarations
5624   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
5625   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
5626 
5627   /* function exit code */
5628   __Pyx_RefNannyFinishContext();
5629   return __pyx_r;
5630 }
5631 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)5632 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
5633   int __pyx_r;
5634   __Pyx_RefNannyDeclarations
5635   __Pyx_RefNannySetupContext("__del__", 0);
5636   __Pyx_INCREF(Py_None);
5637   __Pyx_GIVEREF(Py_None);
5638   __Pyx_GOTREF(__pyx_v_self->i_output);
5639   __Pyx_DECREF(__pyx_v_self->i_output);
5640   __pyx_v_self->i_output = Py_None;
5641 
5642   /* function exit code */
5643   __pyx_r = 0;
5644   __Pyx_RefNannyFinishContext();
5645   return __pyx_r;
5646 }
5647 
5648 /* "Cython/Compiler/FlowControl.pxd":18
5649  *      cdef public object i_input
5650  *      cdef public object i_output
5651  *      cdef public object i_gen             # <<<<<<<<<<<<<<
5652  *      cdef public object i_kill
5653  *      cdef public object i_state
5654  */
5655 
5656 /* Python wrapper */
5657 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen_1__get__(PyObject * __pyx_v_self)5658 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen_1__get__(PyObject *__pyx_v_self) {
5659   PyObject *__pyx_r = 0;
5660   __Pyx_RefNannyDeclarations
5661   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
5662   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
5663 
5664   /* function exit code */
5665   __Pyx_RefNannyFinishContext();
5666   return __pyx_r;
5667 }
5668 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)5669 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
5670   PyObject *__pyx_r = NULL;
5671   __Pyx_RefNannyDeclarations
5672   __Pyx_RefNannySetupContext("__get__", 0);
5673   __Pyx_XDECREF(__pyx_r);
5674   __Pyx_INCREF(__pyx_v_self->i_gen);
5675   __pyx_r = __pyx_v_self->i_gen;
5676   goto __pyx_L0;
5677 
5678   /* function exit code */
5679   __pyx_L0:;
5680   __Pyx_XGIVEREF(__pyx_r);
5681   __Pyx_RefNannyFinishContext();
5682   return __pyx_r;
5683 }
5684 
5685 /* Python wrapper */
5686 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)5687 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
5688   int __pyx_r;
5689   __Pyx_RefNannyDeclarations
5690   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
5691   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self), ((PyObject *)__pyx_v_value));
5692 
5693   /* function exit code */
5694   __Pyx_RefNannyFinishContext();
5695   return __pyx_r;
5696 }
5697 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self,PyObject * __pyx_v_value)5698 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_value) {
5699   int __pyx_r;
5700   __Pyx_RefNannyDeclarations
5701   __Pyx_RefNannySetupContext("__set__", 0);
5702   __Pyx_INCREF(__pyx_v_value);
5703   __Pyx_GIVEREF(__pyx_v_value);
5704   __Pyx_GOTREF(__pyx_v_self->i_gen);
5705   __Pyx_DECREF(__pyx_v_self->i_gen);
5706   __pyx_v_self->i_gen = __pyx_v_value;
5707 
5708   /* function exit code */
5709   __pyx_r = 0;
5710   __Pyx_RefNannyFinishContext();
5711   return __pyx_r;
5712 }
5713 
5714 /* Python wrapper */
5715 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen_5__del__(PyObject * __pyx_v_self)5716 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen_5__del__(PyObject *__pyx_v_self) {
5717   int __pyx_r;
5718   __Pyx_RefNannyDeclarations
5719   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
5720   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
5721 
5722   /* function exit code */
5723   __Pyx_RefNannyFinishContext();
5724   return __pyx_r;
5725 }
5726 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)5727 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
5728   int __pyx_r;
5729   __Pyx_RefNannyDeclarations
5730   __Pyx_RefNannySetupContext("__del__", 0);
5731   __Pyx_INCREF(Py_None);
5732   __Pyx_GIVEREF(Py_None);
5733   __Pyx_GOTREF(__pyx_v_self->i_gen);
5734   __Pyx_DECREF(__pyx_v_self->i_gen);
5735   __pyx_v_self->i_gen = Py_None;
5736 
5737   /* function exit code */
5738   __pyx_r = 0;
5739   __Pyx_RefNannyFinishContext();
5740   return __pyx_r;
5741 }
5742 
5743 /* "Cython/Compiler/FlowControl.pxd":19
5744  *      cdef public object i_output
5745  *      cdef public object i_gen
5746  *      cdef public object i_kill             # <<<<<<<<<<<<<<
5747  *      cdef public object i_state
5748  *
5749  */
5750 
5751 /* Python wrapper */
5752 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill_1__get__(PyObject * __pyx_v_self)5753 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill_1__get__(PyObject *__pyx_v_self) {
5754   PyObject *__pyx_r = 0;
5755   __Pyx_RefNannyDeclarations
5756   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
5757   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
5758 
5759   /* function exit code */
5760   __Pyx_RefNannyFinishContext();
5761   return __pyx_r;
5762 }
5763 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)5764 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
5765   PyObject *__pyx_r = NULL;
5766   __Pyx_RefNannyDeclarations
5767   __Pyx_RefNannySetupContext("__get__", 0);
5768   __Pyx_XDECREF(__pyx_r);
5769   __Pyx_INCREF(__pyx_v_self->i_kill);
5770   __pyx_r = __pyx_v_self->i_kill;
5771   goto __pyx_L0;
5772 
5773   /* function exit code */
5774   __pyx_L0:;
5775   __Pyx_XGIVEREF(__pyx_r);
5776   __Pyx_RefNannyFinishContext();
5777   return __pyx_r;
5778 }
5779 
5780 /* Python wrapper */
5781 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)5782 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
5783   int __pyx_r;
5784   __Pyx_RefNannyDeclarations
5785   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
5786   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self), ((PyObject *)__pyx_v_value));
5787 
5788   /* function exit code */
5789   __Pyx_RefNannyFinishContext();
5790   return __pyx_r;
5791 }
5792 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self,PyObject * __pyx_v_value)5793 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_value) {
5794   int __pyx_r;
5795   __Pyx_RefNannyDeclarations
5796   __Pyx_RefNannySetupContext("__set__", 0);
5797   __Pyx_INCREF(__pyx_v_value);
5798   __Pyx_GIVEREF(__pyx_v_value);
5799   __Pyx_GOTREF(__pyx_v_self->i_kill);
5800   __Pyx_DECREF(__pyx_v_self->i_kill);
5801   __pyx_v_self->i_kill = __pyx_v_value;
5802 
5803   /* function exit code */
5804   __pyx_r = 0;
5805   __Pyx_RefNannyFinishContext();
5806   return __pyx_r;
5807 }
5808 
5809 /* Python wrapper */
5810 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill_5__del__(PyObject * __pyx_v_self)5811 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill_5__del__(PyObject *__pyx_v_self) {
5812   int __pyx_r;
5813   __Pyx_RefNannyDeclarations
5814   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
5815   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
5816 
5817   /* function exit code */
5818   __Pyx_RefNannyFinishContext();
5819   return __pyx_r;
5820 }
5821 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)5822 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
5823   int __pyx_r;
5824   __Pyx_RefNannyDeclarations
5825   __Pyx_RefNannySetupContext("__del__", 0);
5826   __Pyx_INCREF(Py_None);
5827   __Pyx_GIVEREF(Py_None);
5828   __Pyx_GOTREF(__pyx_v_self->i_kill);
5829   __Pyx_DECREF(__pyx_v_self->i_kill);
5830   __pyx_v_self->i_kill = Py_None;
5831 
5832   /* function exit code */
5833   __pyx_r = 0;
5834   __Pyx_RefNannyFinishContext();
5835   return __pyx_r;
5836 }
5837 
5838 /* "Cython/Compiler/FlowControl.pxd":20
5839  *      cdef public object i_gen
5840  *      cdef public object i_kill
5841  *      cdef public object i_state             # <<<<<<<<<<<<<<
5842  *
5843  *      cpdef bint empty(self)
5844  */
5845 
5846 /* Python wrapper */
5847 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state_1__get__(PyObject * __pyx_v_self)5848 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state_1__get__(PyObject *__pyx_v_self) {
5849   PyObject *__pyx_r = 0;
5850   __Pyx_RefNannyDeclarations
5851   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
5852   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
5853 
5854   /* function exit code */
5855   __Pyx_RefNannyFinishContext();
5856   return __pyx_r;
5857 }
5858 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)5859 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
5860   PyObject *__pyx_r = NULL;
5861   __Pyx_RefNannyDeclarations
5862   __Pyx_RefNannySetupContext("__get__", 0);
5863   __Pyx_XDECREF(__pyx_r);
5864   __Pyx_INCREF(__pyx_v_self->i_state);
5865   __pyx_r = __pyx_v_self->i_state;
5866   goto __pyx_L0;
5867 
5868   /* function exit code */
5869   __pyx_L0:;
5870   __Pyx_XGIVEREF(__pyx_r);
5871   __Pyx_RefNannyFinishContext();
5872   return __pyx_r;
5873 }
5874 
5875 /* Python wrapper */
5876 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)5877 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
5878   int __pyx_r;
5879   __Pyx_RefNannyDeclarations
5880   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
5881   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self), ((PyObject *)__pyx_v_value));
5882 
5883   /* function exit code */
5884   __Pyx_RefNannyFinishContext();
5885   return __pyx_r;
5886 }
5887 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self,PyObject * __pyx_v_value)5888 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v_value) {
5889   int __pyx_r;
5890   __Pyx_RefNannyDeclarations
5891   __Pyx_RefNannySetupContext("__set__", 0);
5892   __Pyx_INCREF(__pyx_v_value);
5893   __Pyx_GIVEREF(__pyx_v_value);
5894   __Pyx_GOTREF(__pyx_v_self->i_state);
5895   __Pyx_DECREF(__pyx_v_self->i_state);
5896   __pyx_v_self->i_state = __pyx_v_value;
5897 
5898   /* function exit code */
5899   __pyx_r = 0;
5900   __Pyx_RefNannyFinishContext();
5901   return __pyx_r;
5902 }
5903 
5904 /* Python wrapper */
5905 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state_5__del__(PyObject * __pyx_v_self)5906 static int __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state_5__del__(PyObject *__pyx_v_self) {
5907   int __pyx_r;
5908   __Pyx_RefNannyDeclarations
5909   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
5910   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
5911 
5912   /* function exit code */
5913   __Pyx_RefNannyFinishContext();
5914   return __pyx_r;
5915 }
5916 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)5917 static int __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
5918   int __pyx_r;
5919   __Pyx_RefNannyDeclarations
5920   __Pyx_RefNannySetupContext("__del__", 0);
5921   __Pyx_INCREF(Py_None);
5922   __Pyx_GIVEREF(Py_None);
5923   __Pyx_GOTREF(__pyx_v_self->i_state);
5924   __Pyx_DECREF(__pyx_v_self->i_state);
5925   __pyx_v_self->i_state = Py_None;
5926 
5927   /* function exit code */
5928   __pyx_r = 0;
5929   __Pyx_RefNannyFinishContext();
5930   return __pyx_r;
5931 }
5932 
5933 /* "(tree fragment)":1
5934  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
5935  *     cdef tuple state
5936  *     cdef object _dict
5937  */
5938 
5939 /* Python wrapper */
5940 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
5941 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_12ControlBlock_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_9__reduce_cython__, METH_NOARGS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_9__reduce_cython__(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)5942 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
5943   PyObject *__pyx_r = 0;
5944   __Pyx_RefNannyDeclarations
5945   __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
5946   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8__reduce_cython__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self));
5947 
5948   /* function exit code */
5949   __Pyx_RefNannyFinishContext();
5950   return __pyx_r;
5951 }
5952 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self)5953 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_8__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self) {
5954   PyObject *__pyx_v_state = 0;
5955   PyObject *__pyx_v__dict = 0;
5956   int __pyx_v_use_setstate;
5957   PyObject *__pyx_r = NULL;
5958   __Pyx_RefNannyDeclarations
5959   PyObject *__pyx_t_1 = NULL;
5960   int __pyx_t_2;
5961   int __pyx_t_3;
5962   PyObject *__pyx_t_4 = NULL;
5963   int __pyx_t_5;
5964   PyObject *__pyx_t_6 = NULL;
5965   int __pyx_lineno = 0;
5966   const char *__pyx_filename = NULL;
5967   int __pyx_clineno = 0;
5968   __Pyx_RefNannySetupContext("__reduce_cython__", 0);
5969 
5970   /* "(tree fragment)":5
5971  *     cdef object _dict
5972  *     cdef bint use_setstate
5973  *     state = (self.bounded, self.children, self.gen, self.i_gen, self.i_input, self.i_kill, self.i_output, self.i_state, self.parents, self.positions, self.stats)             # <<<<<<<<<<<<<<
5974  *     _dict = getattr(self, '__dict__', None)
5975  *     if _dict is not None:
5976  */
5977   __pyx_t_1 = PyTuple_New(11); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error)
5978   __Pyx_GOTREF(__pyx_t_1);
5979   __Pyx_INCREF(__pyx_v_self->bounded);
5980   __Pyx_GIVEREF(__pyx_v_self->bounded);
5981   PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->bounded);
5982   __Pyx_INCREF(__pyx_v_self->children);
5983   __Pyx_GIVEREF(__pyx_v_self->children);
5984   PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->children);
5985   __Pyx_INCREF(__pyx_v_self->gen);
5986   __Pyx_GIVEREF(__pyx_v_self->gen);
5987   PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_self->gen);
5988   __Pyx_INCREF(__pyx_v_self->i_gen);
5989   __Pyx_GIVEREF(__pyx_v_self->i_gen);
5990   PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_self->i_gen);
5991   __Pyx_INCREF(__pyx_v_self->i_input);
5992   __Pyx_GIVEREF(__pyx_v_self->i_input);
5993   PyTuple_SET_ITEM(__pyx_t_1, 4, __pyx_v_self->i_input);
5994   __Pyx_INCREF(__pyx_v_self->i_kill);
5995   __Pyx_GIVEREF(__pyx_v_self->i_kill);
5996   PyTuple_SET_ITEM(__pyx_t_1, 5, __pyx_v_self->i_kill);
5997   __Pyx_INCREF(__pyx_v_self->i_output);
5998   __Pyx_GIVEREF(__pyx_v_self->i_output);
5999   PyTuple_SET_ITEM(__pyx_t_1, 6, __pyx_v_self->i_output);
6000   __Pyx_INCREF(__pyx_v_self->i_state);
6001   __Pyx_GIVEREF(__pyx_v_self->i_state);
6002   PyTuple_SET_ITEM(__pyx_t_1, 7, __pyx_v_self->i_state);
6003   __Pyx_INCREF(__pyx_v_self->parents);
6004   __Pyx_GIVEREF(__pyx_v_self->parents);
6005   PyTuple_SET_ITEM(__pyx_t_1, 8, __pyx_v_self->parents);
6006   __Pyx_INCREF(__pyx_v_self->positions);
6007   __Pyx_GIVEREF(__pyx_v_self->positions);
6008   PyTuple_SET_ITEM(__pyx_t_1, 9, __pyx_v_self->positions);
6009   __Pyx_INCREF(__pyx_v_self->stats);
6010   __Pyx_GIVEREF(__pyx_v_self->stats);
6011   PyTuple_SET_ITEM(__pyx_t_1, 10, __pyx_v_self->stats);
6012   __pyx_v_state = ((PyObject*)__pyx_t_1);
6013   __pyx_t_1 = 0;
6014 
6015   /* "(tree fragment)":6
6016  *     cdef bint use_setstate
6017  *     state = (self.bounded, self.children, self.gen, self.i_gen, self.i_input, self.i_kill, self.i_output, self.i_state, self.parents, self.positions, self.stats)
6018  *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
6019  *     if _dict is not None:
6020  *         state += (_dict,)
6021  */
6022   __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error)
6023   __Pyx_GOTREF(__pyx_t_1);
6024   __pyx_v__dict = __pyx_t_1;
6025   __pyx_t_1 = 0;
6026 
6027   /* "(tree fragment)":7
6028  *     state = (self.bounded, self.children, self.gen, self.i_gen, self.i_input, self.i_kill, self.i_output, self.i_state, self.parents, self.positions, self.stats)
6029  *     _dict = getattr(self, '__dict__', None)
6030  *     if _dict is not None:             # <<<<<<<<<<<<<<
6031  *         state += (_dict,)
6032  *         use_setstate = True
6033  */
6034   __pyx_t_2 = (__pyx_v__dict != Py_None);
6035   __pyx_t_3 = (__pyx_t_2 != 0);
6036   if (__pyx_t_3) {
6037 
6038     /* "(tree fragment)":8
6039  *     _dict = getattr(self, '__dict__', None)
6040  *     if _dict is not None:
6041  *         state += (_dict,)             # <<<<<<<<<<<<<<
6042  *         use_setstate = True
6043  *     else:
6044  */
6045     __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8, __pyx_L1_error)
6046     __Pyx_GOTREF(__pyx_t_1);
6047     __Pyx_INCREF(__pyx_v__dict);
6048     __Pyx_GIVEREF(__pyx_v__dict);
6049     PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
6050     __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8, __pyx_L1_error)
6051     __Pyx_GOTREF(__pyx_t_4);
6052     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6053     __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
6054     __pyx_t_4 = 0;
6055 
6056     /* "(tree fragment)":9
6057  *     if _dict is not None:
6058  *         state += (_dict,)
6059  *         use_setstate = True             # <<<<<<<<<<<<<<
6060  *     else:
6061  *         use_setstate = self.bounded is not None or self.children is not None or self.gen is not None or self.i_gen is not None or self.i_input is not None or self.i_kill is not None or self.i_output is not None or self.i_state is not None or self.parents is not None or self.positions is not None or self.stats is not None
6062  */
6063     __pyx_v_use_setstate = 1;
6064 
6065     /* "(tree fragment)":7
6066  *     state = (self.bounded, self.children, self.gen, self.i_gen, self.i_input, self.i_kill, self.i_output, self.i_state, self.parents, self.positions, self.stats)
6067  *     _dict = getattr(self, '__dict__', None)
6068  *     if _dict is not None:             # <<<<<<<<<<<<<<
6069  *         state += (_dict,)
6070  *         use_setstate = True
6071  */
6072     goto __pyx_L3;
6073   }
6074 
6075   /* "(tree fragment)":11
6076  *         use_setstate = True
6077  *     else:
6078  *         use_setstate = self.bounded is not None or self.children is not None or self.gen is not None or self.i_gen is not None or self.i_input is not None or self.i_kill is not None or self.i_output is not None or self.i_state is not None or self.parents is not None or self.positions is not None or self.stats is not None             # <<<<<<<<<<<<<<
6079  *     if use_setstate:
6080  *         return __pyx_unpickle_ControlBlock, (type(self), 0xf2b1408, None), state
6081  */
6082   /*else*/ {
6083     __pyx_t_2 = (__pyx_v_self->bounded != ((PyObject*)Py_None));
6084     __pyx_t_5 = (__pyx_t_2 != 0);
6085     if (!__pyx_t_5) {
6086     } else {
6087       __pyx_t_3 = __pyx_t_5;
6088       goto __pyx_L4_bool_binop_done;
6089     }
6090     __pyx_t_5 = (__pyx_v_self->children != ((PyObject*)Py_None));
6091     __pyx_t_2 = (__pyx_t_5 != 0);
6092     if (!__pyx_t_2) {
6093     } else {
6094       __pyx_t_3 = __pyx_t_2;
6095       goto __pyx_L4_bool_binop_done;
6096     }
6097     __pyx_t_2 = (__pyx_v_self->gen != ((PyObject*)Py_None));
6098     __pyx_t_5 = (__pyx_t_2 != 0);
6099     if (!__pyx_t_5) {
6100     } else {
6101       __pyx_t_3 = __pyx_t_5;
6102       goto __pyx_L4_bool_binop_done;
6103     }
6104     __pyx_t_5 = (__pyx_v_self->i_gen != Py_None);
6105     __pyx_t_2 = (__pyx_t_5 != 0);
6106     if (!__pyx_t_2) {
6107     } else {
6108       __pyx_t_3 = __pyx_t_2;
6109       goto __pyx_L4_bool_binop_done;
6110     }
6111     __pyx_t_2 = (__pyx_v_self->i_input != Py_None);
6112     __pyx_t_5 = (__pyx_t_2 != 0);
6113     if (!__pyx_t_5) {
6114     } else {
6115       __pyx_t_3 = __pyx_t_5;
6116       goto __pyx_L4_bool_binop_done;
6117     }
6118     __pyx_t_5 = (__pyx_v_self->i_kill != Py_None);
6119     __pyx_t_2 = (__pyx_t_5 != 0);
6120     if (!__pyx_t_2) {
6121     } else {
6122       __pyx_t_3 = __pyx_t_2;
6123       goto __pyx_L4_bool_binop_done;
6124     }
6125     __pyx_t_2 = (__pyx_v_self->i_output != Py_None);
6126     __pyx_t_5 = (__pyx_t_2 != 0);
6127     if (!__pyx_t_5) {
6128     } else {
6129       __pyx_t_3 = __pyx_t_5;
6130       goto __pyx_L4_bool_binop_done;
6131     }
6132     __pyx_t_5 = (__pyx_v_self->i_state != Py_None);
6133     __pyx_t_2 = (__pyx_t_5 != 0);
6134     if (!__pyx_t_2) {
6135     } else {
6136       __pyx_t_3 = __pyx_t_2;
6137       goto __pyx_L4_bool_binop_done;
6138     }
6139     __pyx_t_2 = (__pyx_v_self->parents != ((PyObject*)Py_None));
6140     __pyx_t_5 = (__pyx_t_2 != 0);
6141     if (!__pyx_t_5) {
6142     } else {
6143       __pyx_t_3 = __pyx_t_5;
6144       goto __pyx_L4_bool_binop_done;
6145     }
6146     __pyx_t_5 = (__pyx_v_self->positions != ((PyObject*)Py_None));
6147     __pyx_t_2 = (__pyx_t_5 != 0);
6148     if (!__pyx_t_2) {
6149     } else {
6150       __pyx_t_3 = __pyx_t_2;
6151       goto __pyx_L4_bool_binop_done;
6152     }
6153     __pyx_t_2 = (__pyx_v_self->stats != ((PyObject*)Py_None));
6154     __pyx_t_5 = (__pyx_t_2 != 0);
6155     __pyx_t_3 = __pyx_t_5;
6156     __pyx_L4_bool_binop_done:;
6157     __pyx_v_use_setstate = __pyx_t_3;
6158   }
6159   __pyx_L3:;
6160 
6161   /* "(tree fragment)":12
6162  *     else:
6163  *         use_setstate = self.bounded is not None or self.children is not None or self.gen is not None or self.i_gen is not None or self.i_input is not None or self.i_kill is not None or self.i_output is not None or self.i_state is not None or self.parents is not None or self.positions is not None or self.stats is not None
6164  *     if use_setstate:             # <<<<<<<<<<<<<<
6165  *         return __pyx_unpickle_ControlBlock, (type(self), 0xf2b1408, None), state
6166  *     else:
6167  */
6168   __pyx_t_3 = (__pyx_v_use_setstate != 0);
6169   if (__pyx_t_3) {
6170 
6171     /* "(tree fragment)":13
6172  *         use_setstate = self.bounded is not None or self.children is not None or self.gen is not None or self.i_gen is not None or self.i_input is not None or self.i_kill is not None or self.i_output is not None or self.i_state is not None or self.parents is not None or self.positions is not None or self.stats is not None
6173  *     if use_setstate:
6174  *         return __pyx_unpickle_ControlBlock, (type(self), 0xf2b1408, None), state             # <<<<<<<<<<<<<<
6175  *     else:
6176  *         return __pyx_unpickle_ControlBlock, (type(self), 0xf2b1408, state)
6177  */
6178     __Pyx_XDECREF(__pyx_r);
6179     __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_ControlBlock); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 13, __pyx_L1_error)
6180     __Pyx_GOTREF(__pyx_t_4);
6181     __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error)
6182     __Pyx_GOTREF(__pyx_t_1);
6183     __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
6184     __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
6185     PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
6186     __Pyx_INCREF(__pyx_int_254481416);
6187     __Pyx_GIVEREF(__pyx_int_254481416);
6188     PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_254481416);
6189     __Pyx_INCREF(Py_None);
6190     __Pyx_GIVEREF(Py_None);
6191     PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
6192     __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 13, __pyx_L1_error)
6193     __Pyx_GOTREF(__pyx_t_6);
6194     __Pyx_GIVEREF(__pyx_t_4);
6195     PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
6196     __Pyx_GIVEREF(__pyx_t_1);
6197     PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_1);
6198     __Pyx_INCREF(__pyx_v_state);
6199     __Pyx_GIVEREF(__pyx_v_state);
6200     PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_state);
6201     __pyx_t_4 = 0;
6202     __pyx_t_1 = 0;
6203     __pyx_r = __pyx_t_6;
6204     __pyx_t_6 = 0;
6205     goto __pyx_L0;
6206 
6207     /* "(tree fragment)":12
6208  *     else:
6209  *         use_setstate = self.bounded is not None or self.children is not None or self.gen is not None or self.i_gen is not None or self.i_input is not None or self.i_kill is not None or self.i_output is not None or self.i_state is not None or self.parents is not None or self.positions is not None or self.stats is not None
6210  *     if use_setstate:             # <<<<<<<<<<<<<<
6211  *         return __pyx_unpickle_ControlBlock, (type(self), 0xf2b1408, None), state
6212  *     else:
6213  */
6214   }
6215 
6216   /* "(tree fragment)":15
6217  *         return __pyx_unpickle_ControlBlock, (type(self), 0xf2b1408, None), state
6218  *     else:
6219  *         return __pyx_unpickle_ControlBlock, (type(self), 0xf2b1408, state)             # <<<<<<<<<<<<<<
6220  * def __setstate_cython__(self, __pyx_state):
6221  *     __pyx_unpickle_ControlBlock__set_state(self, __pyx_state)
6222  */
6223   /*else*/ {
6224     __Pyx_XDECREF(__pyx_r);
6225     __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pyx_unpickle_ControlBlock); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 15, __pyx_L1_error)
6226     __Pyx_GOTREF(__pyx_t_6);
6227     __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error)
6228     __Pyx_GOTREF(__pyx_t_1);
6229     __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
6230     __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
6231     PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
6232     __Pyx_INCREF(__pyx_int_254481416);
6233     __Pyx_GIVEREF(__pyx_int_254481416);
6234     PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_254481416);
6235     __Pyx_INCREF(__pyx_v_state);
6236     __Pyx_GIVEREF(__pyx_v_state);
6237     PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
6238     __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 15, __pyx_L1_error)
6239     __Pyx_GOTREF(__pyx_t_4);
6240     __Pyx_GIVEREF(__pyx_t_6);
6241     PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
6242     __Pyx_GIVEREF(__pyx_t_1);
6243     PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
6244     __pyx_t_6 = 0;
6245     __pyx_t_1 = 0;
6246     __pyx_r = __pyx_t_4;
6247     __pyx_t_4 = 0;
6248     goto __pyx_L0;
6249   }
6250 
6251   /* "(tree fragment)":1
6252  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
6253  *     cdef tuple state
6254  *     cdef object _dict
6255  */
6256 
6257   /* function exit code */
6258   __pyx_L1_error:;
6259   __Pyx_XDECREF(__pyx_t_1);
6260   __Pyx_XDECREF(__pyx_t_4);
6261   __Pyx_XDECREF(__pyx_t_6);
6262   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlBlock.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6263   __pyx_r = NULL;
6264   __pyx_L0:;
6265   __Pyx_XDECREF(__pyx_v_state);
6266   __Pyx_XDECREF(__pyx_v__dict);
6267   __Pyx_XGIVEREF(__pyx_r);
6268   __Pyx_RefNannyFinishContext();
6269   return __pyx_r;
6270 }
6271 
6272 /* "(tree fragment)":16
6273  *     else:
6274  *         return __pyx_unpickle_ControlBlock, (type(self), 0xf2b1408, state)
6275  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
6276  *     __pyx_unpickle_ControlBlock__set_state(self, __pyx_state)
6277  */
6278 
6279 /* Python wrapper */
6280 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
6281 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_12ControlBlock_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_11__setstate_cython__, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_11__setstate_cython__(PyObject * __pyx_v_self,PyObject * __pyx_v___pyx_state)6282 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
6283   PyObject *__pyx_r = 0;
6284   __Pyx_RefNannyDeclarations
6285   __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
6286   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_10__setstate_cython__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
6287 
6288   /* function exit code */
6289   __Pyx_RefNannyFinishContext();
6290   return __pyx_r;
6291 }
6292 
__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_10__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_self,PyObject * __pyx_v___pyx_state)6293 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12ControlBlock_10__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
6294   PyObject *__pyx_r = NULL;
6295   __Pyx_RefNannyDeclarations
6296   PyObject *__pyx_t_1 = NULL;
6297   int __pyx_lineno = 0;
6298   const char *__pyx_filename = NULL;
6299   int __pyx_clineno = 0;
6300   __Pyx_RefNannySetupContext("__setstate_cython__", 0);
6301 
6302   /* "(tree fragment)":17
6303  *         return __pyx_unpickle_ControlBlock, (type(self), 0xf2b1408, state)
6304  * def __setstate_cython__(self, __pyx_state):
6305  *     __pyx_unpickle_ControlBlock__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
6306  */
6307   if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 17, __pyx_L1_error)
6308   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_ControlBlock__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 17, __pyx_L1_error)
6309   __Pyx_GOTREF(__pyx_t_1);
6310   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6311 
6312   /* "(tree fragment)":16
6313  *     else:
6314  *         return __pyx_unpickle_ControlBlock, (type(self), 0xf2b1408, state)
6315  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
6316  *     __pyx_unpickle_ControlBlock__set_state(self, __pyx_state)
6317  */
6318 
6319   /* function exit code */
6320   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
6321   goto __pyx_L0;
6322   __pyx_L1_error:;
6323   __Pyx_XDECREF(__pyx_t_1);
6324   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlBlock.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6325   __pyx_r = NULL;
6326   __pyx_L0:;
6327   __Pyx_XGIVEREF(__pyx_r);
6328   __Pyx_RefNannyFinishContext();
6329   return __pyx_r;
6330 }
6331 
6332 /* "Cython/Compiler/FlowControl.py":94
6333  *     """Non-empty exit point block."""
6334  *
6335  *     def empty(self):             # <<<<<<<<<<<<<<
6336  *         return False
6337  *
6338  */
6339 
6340 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_9ExitBlock_1empty(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
__pyx_f_6Cython_8Compiler_11FlowControl_9ExitBlock_empty(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock * __pyx_v_self,int __pyx_skip_dispatch)6341 static int __pyx_f_6Cython_8Compiler_11FlowControl_9ExitBlock_empty(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock *__pyx_v_self, int __pyx_skip_dispatch) {
6342   int __pyx_r;
6343   __Pyx_RefNannyDeclarations
6344   PyObject *__pyx_t_1 = NULL;
6345   PyObject *__pyx_t_2 = NULL;
6346   PyObject *__pyx_t_3 = NULL;
6347   PyObject *__pyx_t_4 = NULL;
6348   int __pyx_t_5;
6349   int __pyx_lineno = 0;
6350   const char *__pyx_filename = NULL;
6351   int __pyx_clineno = 0;
6352   __Pyx_RefNannySetupContext("empty", 0);
6353   /* Check if called by wrapper */
6354   if (unlikely(__pyx_skip_dispatch)) ;
6355   /* Check if overridden in Python */
6356   else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
6357     #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
6358     static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
6359     if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
6360       PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
6361       #endif
6362       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_empty); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 94, __pyx_L1_error)
6363       __Pyx_GOTREF(__pyx_t_1);
6364       if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6Cython_8Compiler_11FlowControl_9ExitBlock_1empty)) {
6365         __Pyx_INCREF(__pyx_t_1);
6366         __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
6367         if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
6368           __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
6369           if (likely(__pyx_t_4)) {
6370             PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
6371             __Pyx_INCREF(__pyx_t_4);
6372             __Pyx_INCREF(function);
6373             __Pyx_DECREF_SET(__pyx_t_3, function);
6374           }
6375         }
6376         __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
6377         __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
6378         if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 94, __pyx_L1_error)
6379         __Pyx_GOTREF(__pyx_t_2);
6380         __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6381         __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 94, __pyx_L1_error)
6382         __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6383         __pyx_r = __pyx_t_5;
6384         __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6385         goto __pyx_L0;
6386       }
6387       #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
6388       __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
6389       __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
6390       if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
6391         __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
6392       }
6393       #endif
6394       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6395       #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
6396     }
6397     #endif
6398   }
6399 
6400   /* "Cython/Compiler/FlowControl.py":95
6401  *
6402  *     def empty(self):
6403  *         return False             # <<<<<<<<<<<<<<
6404  *
6405  *
6406  */
6407   __pyx_r = 0;
6408   goto __pyx_L0;
6409 
6410   /* "Cython/Compiler/FlowControl.py":94
6411  *     """Non-empty exit point block."""
6412  *
6413  *     def empty(self):             # <<<<<<<<<<<<<<
6414  *         return False
6415  *
6416  */
6417 
6418   /* function exit code */
6419   __pyx_L1_error:;
6420   __Pyx_XDECREF(__pyx_t_1);
6421   __Pyx_XDECREF(__pyx_t_2);
6422   __Pyx_XDECREF(__pyx_t_3);
6423   __Pyx_XDECREF(__pyx_t_4);
6424   __Pyx_WriteUnraisable("Cython.Compiler.FlowControl.ExitBlock.empty", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
6425   __pyx_r = 0;
6426   __pyx_L0:;
6427   __Pyx_RefNannyFinishContext();
6428   return __pyx_r;
6429 }
6430 
6431 /* Python wrapper */
6432 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_9ExitBlock_1empty(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
6433 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_9ExitBlock_1empty = {"empty", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_9ExitBlock_1empty, METH_NOARGS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_9ExitBlock_1empty(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)6434 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_9ExitBlock_1empty(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
6435   PyObject *__pyx_r = 0;
6436   __Pyx_RefNannyDeclarations
6437   __Pyx_RefNannySetupContext("empty (wrapper)", 0);
6438   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_9ExitBlock_empty(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock *)__pyx_v_self));
6439 
6440   /* function exit code */
6441   __Pyx_RefNannyFinishContext();
6442   return __pyx_r;
6443 }
6444 
__pyx_pf_6Cython_8Compiler_11FlowControl_9ExitBlock_empty(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock * __pyx_v_self)6445 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_9ExitBlock_empty(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock *__pyx_v_self) {
6446   PyObject *__pyx_r = NULL;
6447   __Pyx_RefNannyDeclarations
6448   PyObject *__pyx_t_1 = NULL;
6449   int __pyx_lineno = 0;
6450   const char *__pyx_filename = NULL;
6451   int __pyx_clineno = 0;
6452   __Pyx_RefNannySetupContext("empty", 0);
6453   __Pyx_XDECREF(__pyx_r);
6454   __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_6Cython_8Compiler_11FlowControl_9ExitBlock_empty(__pyx_v_self, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 94, __pyx_L1_error)
6455   __Pyx_GOTREF(__pyx_t_1);
6456   __pyx_r = __pyx_t_1;
6457   __pyx_t_1 = 0;
6458   goto __pyx_L0;
6459 
6460   /* function exit code */
6461   __pyx_L1_error:;
6462   __Pyx_XDECREF(__pyx_t_1);
6463   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ExitBlock.empty", __pyx_clineno, __pyx_lineno, __pyx_filename);
6464   __pyx_r = NULL;
6465   __pyx_L0:;
6466   __Pyx_XGIVEREF(__pyx_r);
6467   __Pyx_RefNannyFinishContext();
6468   return __pyx_r;
6469 }
6470 
6471 /* "(tree fragment)":1
6472  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
6473  *     cdef tuple state
6474  *     cdef object _dict
6475  */
6476 
6477 /* Python wrapper */
6478 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_9ExitBlock_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
6479 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_9ExitBlock_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_9ExitBlock_3__reduce_cython__, METH_NOARGS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_9ExitBlock_3__reduce_cython__(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)6480 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_9ExitBlock_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
6481   PyObject *__pyx_r = 0;
6482   __Pyx_RefNannyDeclarations
6483   __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
6484   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_9ExitBlock_2__reduce_cython__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock *)__pyx_v_self));
6485 
6486   /* function exit code */
6487   __Pyx_RefNannyFinishContext();
6488   return __pyx_r;
6489 }
6490 
__pyx_pf_6Cython_8Compiler_11FlowControl_9ExitBlock_2__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock * __pyx_v_self)6491 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_9ExitBlock_2__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock *__pyx_v_self) {
6492   PyObject *__pyx_v_state = 0;
6493   PyObject *__pyx_v__dict = 0;
6494   int __pyx_v_use_setstate;
6495   PyObject *__pyx_r = NULL;
6496   __Pyx_RefNannyDeclarations
6497   PyObject *__pyx_t_1 = NULL;
6498   int __pyx_t_2;
6499   int __pyx_t_3;
6500   PyObject *__pyx_t_4 = NULL;
6501   int __pyx_t_5;
6502   PyObject *__pyx_t_6 = NULL;
6503   int __pyx_lineno = 0;
6504   const char *__pyx_filename = NULL;
6505   int __pyx_clineno = 0;
6506   __Pyx_RefNannySetupContext("__reduce_cython__", 0);
6507 
6508   /* "(tree fragment)":5
6509  *     cdef object _dict
6510  *     cdef bint use_setstate
6511  *     state = (self.bounded, self.children, self.gen, self.i_gen, self.i_input, self.i_kill, self.i_output, self.i_state, self.parents, self.positions, self.stats)             # <<<<<<<<<<<<<<
6512  *     _dict = getattr(self, '__dict__', None)
6513  *     if _dict is not None:
6514  */
6515   __pyx_t_1 = PyTuple_New(11); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error)
6516   __Pyx_GOTREF(__pyx_t_1);
6517   __Pyx_INCREF(__pyx_v_self->__pyx_base.bounded);
6518   __Pyx_GIVEREF(__pyx_v_self->__pyx_base.bounded);
6519   PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->__pyx_base.bounded);
6520   __Pyx_INCREF(__pyx_v_self->__pyx_base.children);
6521   __Pyx_GIVEREF(__pyx_v_self->__pyx_base.children);
6522   PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->__pyx_base.children);
6523   __Pyx_INCREF(__pyx_v_self->__pyx_base.gen);
6524   __Pyx_GIVEREF(__pyx_v_self->__pyx_base.gen);
6525   PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_self->__pyx_base.gen);
6526   __Pyx_INCREF(__pyx_v_self->__pyx_base.i_gen);
6527   __Pyx_GIVEREF(__pyx_v_self->__pyx_base.i_gen);
6528   PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_self->__pyx_base.i_gen);
6529   __Pyx_INCREF(__pyx_v_self->__pyx_base.i_input);
6530   __Pyx_GIVEREF(__pyx_v_self->__pyx_base.i_input);
6531   PyTuple_SET_ITEM(__pyx_t_1, 4, __pyx_v_self->__pyx_base.i_input);
6532   __Pyx_INCREF(__pyx_v_self->__pyx_base.i_kill);
6533   __Pyx_GIVEREF(__pyx_v_self->__pyx_base.i_kill);
6534   PyTuple_SET_ITEM(__pyx_t_1, 5, __pyx_v_self->__pyx_base.i_kill);
6535   __Pyx_INCREF(__pyx_v_self->__pyx_base.i_output);
6536   __Pyx_GIVEREF(__pyx_v_self->__pyx_base.i_output);
6537   PyTuple_SET_ITEM(__pyx_t_1, 6, __pyx_v_self->__pyx_base.i_output);
6538   __Pyx_INCREF(__pyx_v_self->__pyx_base.i_state);
6539   __Pyx_GIVEREF(__pyx_v_self->__pyx_base.i_state);
6540   PyTuple_SET_ITEM(__pyx_t_1, 7, __pyx_v_self->__pyx_base.i_state);
6541   __Pyx_INCREF(__pyx_v_self->__pyx_base.parents);
6542   __Pyx_GIVEREF(__pyx_v_self->__pyx_base.parents);
6543   PyTuple_SET_ITEM(__pyx_t_1, 8, __pyx_v_self->__pyx_base.parents);
6544   __Pyx_INCREF(__pyx_v_self->__pyx_base.positions);
6545   __Pyx_GIVEREF(__pyx_v_self->__pyx_base.positions);
6546   PyTuple_SET_ITEM(__pyx_t_1, 9, __pyx_v_self->__pyx_base.positions);
6547   __Pyx_INCREF(__pyx_v_self->__pyx_base.stats);
6548   __Pyx_GIVEREF(__pyx_v_self->__pyx_base.stats);
6549   PyTuple_SET_ITEM(__pyx_t_1, 10, __pyx_v_self->__pyx_base.stats);
6550   __pyx_v_state = ((PyObject*)__pyx_t_1);
6551   __pyx_t_1 = 0;
6552 
6553   /* "(tree fragment)":6
6554  *     cdef bint use_setstate
6555  *     state = (self.bounded, self.children, self.gen, self.i_gen, self.i_input, self.i_kill, self.i_output, self.i_state, self.parents, self.positions, self.stats)
6556  *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
6557  *     if _dict is not None:
6558  *         state += (_dict,)
6559  */
6560   __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error)
6561   __Pyx_GOTREF(__pyx_t_1);
6562   __pyx_v__dict = __pyx_t_1;
6563   __pyx_t_1 = 0;
6564 
6565   /* "(tree fragment)":7
6566  *     state = (self.bounded, self.children, self.gen, self.i_gen, self.i_input, self.i_kill, self.i_output, self.i_state, self.parents, self.positions, self.stats)
6567  *     _dict = getattr(self, '__dict__', None)
6568  *     if _dict is not None:             # <<<<<<<<<<<<<<
6569  *         state += (_dict,)
6570  *         use_setstate = True
6571  */
6572   __pyx_t_2 = (__pyx_v__dict != Py_None);
6573   __pyx_t_3 = (__pyx_t_2 != 0);
6574   if (__pyx_t_3) {
6575 
6576     /* "(tree fragment)":8
6577  *     _dict = getattr(self, '__dict__', None)
6578  *     if _dict is not None:
6579  *         state += (_dict,)             # <<<<<<<<<<<<<<
6580  *         use_setstate = True
6581  *     else:
6582  */
6583     __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8, __pyx_L1_error)
6584     __Pyx_GOTREF(__pyx_t_1);
6585     __Pyx_INCREF(__pyx_v__dict);
6586     __Pyx_GIVEREF(__pyx_v__dict);
6587     PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
6588     __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8, __pyx_L1_error)
6589     __Pyx_GOTREF(__pyx_t_4);
6590     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6591     __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
6592     __pyx_t_4 = 0;
6593 
6594     /* "(tree fragment)":9
6595  *     if _dict is not None:
6596  *         state += (_dict,)
6597  *         use_setstate = True             # <<<<<<<<<<<<<<
6598  *     else:
6599  *         use_setstate = self.bounded is not None or self.children is not None or self.gen is not None or self.i_gen is not None or self.i_input is not None or self.i_kill is not None or self.i_output is not None or self.i_state is not None or self.parents is not None or self.positions is not None or self.stats is not None
6600  */
6601     __pyx_v_use_setstate = 1;
6602 
6603     /* "(tree fragment)":7
6604  *     state = (self.bounded, self.children, self.gen, self.i_gen, self.i_input, self.i_kill, self.i_output, self.i_state, self.parents, self.positions, self.stats)
6605  *     _dict = getattr(self, '__dict__', None)
6606  *     if _dict is not None:             # <<<<<<<<<<<<<<
6607  *         state += (_dict,)
6608  *         use_setstate = True
6609  */
6610     goto __pyx_L3;
6611   }
6612 
6613   /* "(tree fragment)":11
6614  *         use_setstate = True
6615  *     else:
6616  *         use_setstate = self.bounded is not None or self.children is not None or self.gen is not None or self.i_gen is not None or self.i_input is not None or self.i_kill is not None or self.i_output is not None or self.i_state is not None or self.parents is not None or self.positions is not None or self.stats is not None             # <<<<<<<<<<<<<<
6617  *     if use_setstate:
6618  *         return __pyx_unpickle_ExitBlock, (type(self), 0xf2b1408, None), state
6619  */
6620   /*else*/ {
6621     __pyx_t_2 = (__pyx_v_self->__pyx_base.bounded != ((PyObject*)Py_None));
6622     __pyx_t_5 = (__pyx_t_2 != 0);
6623     if (!__pyx_t_5) {
6624     } else {
6625       __pyx_t_3 = __pyx_t_5;
6626       goto __pyx_L4_bool_binop_done;
6627     }
6628     __pyx_t_5 = (__pyx_v_self->__pyx_base.children != ((PyObject*)Py_None));
6629     __pyx_t_2 = (__pyx_t_5 != 0);
6630     if (!__pyx_t_2) {
6631     } else {
6632       __pyx_t_3 = __pyx_t_2;
6633       goto __pyx_L4_bool_binop_done;
6634     }
6635     __pyx_t_2 = (__pyx_v_self->__pyx_base.gen != ((PyObject*)Py_None));
6636     __pyx_t_5 = (__pyx_t_2 != 0);
6637     if (!__pyx_t_5) {
6638     } else {
6639       __pyx_t_3 = __pyx_t_5;
6640       goto __pyx_L4_bool_binop_done;
6641     }
6642     __pyx_t_5 = (__pyx_v_self->__pyx_base.i_gen != Py_None);
6643     __pyx_t_2 = (__pyx_t_5 != 0);
6644     if (!__pyx_t_2) {
6645     } else {
6646       __pyx_t_3 = __pyx_t_2;
6647       goto __pyx_L4_bool_binop_done;
6648     }
6649     __pyx_t_2 = (__pyx_v_self->__pyx_base.i_input != Py_None);
6650     __pyx_t_5 = (__pyx_t_2 != 0);
6651     if (!__pyx_t_5) {
6652     } else {
6653       __pyx_t_3 = __pyx_t_5;
6654       goto __pyx_L4_bool_binop_done;
6655     }
6656     __pyx_t_5 = (__pyx_v_self->__pyx_base.i_kill != Py_None);
6657     __pyx_t_2 = (__pyx_t_5 != 0);
6658     if (!__pyx_t_2) {
6659     } else {
6660       __pyx_t_3 = __pyx_t_2;
6661       goto __pyx_L4_bool_binop_done;
6662     }
6663     __pyx_t_2 = (__pyx_v_self->__pyx_base.i_output != Py_None);
6664     __pyx_t_5 = (__pyx_t_2 != 0);
6665     if (!__pyx_t_5) {
6666     } else {
6667       __pyx_t_3 = __pyx_t_5;
6668       goto __pyx_L4_bool_binop_done;
6669     }
6670     __pyx_t_5 = (__pyx_v_self->__pyx_base.i_state != Py_None);
6671     __pyx_t_2 = (__pyx_t_5 != 0);
6672     if (!__pyx_t_2) {
6673     } else {
6674       __pyx_t_3 = __pyx_t_2;
6675       goto __pyx_L4_bool_binop_done;
6676     }
6677     __pyx_t_2 = (__pyx_v_self->__pyx_base.parents != ((PyObject*)Py_None));
6678     __pyx_t_5 = (__pyx_t_2 != 0);
6679     if (!__pyx_t_5) {
6680     } else {
6681       __pyx_t_3 = __pyx_t_5;
6682       goto __pyx_L4_bool_binop_done;
6683     }
6684     __pyx_t_5 = (__pyx_v_self->__pyx_base.positions != ((PyObject*)Py_None));
6685     __pyx_t_2 = (__pyx_t_5 != 0);
6686     if (!__pyx_t_2) {
6687     } else {
6688       __pyx_t_3 = __pyx_t_2;
6689       goto __pyx_L4_bool_binop_done;
6690     }
6691     __pyx_t_2 = (__pyx_v_self->__pyx_base.stats != ((PyObject*)Py_None));
6692     __pyx_t_5 = (__pyx_t_2 != 0);
6693     __pyx_t_3 = __pyx_t_5;
6694     __pyx_L4_bool_binop_done:;
6695     __pyx_v_use_setstate = __pyx_t_3;
6696   }
6697   __pyx_L3:;
6698 
6699   /* "(tree fragment)":12
6700  *     else:
6701  *         use_setstate = self.bounded is not None or self.children is not None or self.gen is not None or self.i_gen is not None or self.i_input is not None or self.i_kill is not None or self.i_output is not None or self.i_state is not None or self.parents is not None or self.positions is not None or self.stats is not None
6702  *     if use_setstate:             # <<<<<<<<<<<<<<
6703  *         return __pyx_unpickle_ExitBlock, (type(self), 0xf2b1408, None), state
6704  *     else:
6705  */
6706   __pyx_t_3 = (__pyx_v_use_setstate != 0);
6707   if (__pyx_t_3) {
6708 
6709     /* "(tree fragment)":13
6710  *         use_setstate = self.bounded is not None or self.children is not None or self.gen is not None or self.i_gen is not None or self.i_input is not None or self.i_kill is not None or self.i_output is not None or self.i_state is not None or self.parents is not None or self.positions is not None or self.stats is not None
6711  *     if use_setstate:
6712  *         return __pyx_unpickle_ExitBlock, (type(self), 0xf2b1408, None), state             # <<<<<<<<<<<<<<
6713  *     else:
6714  *         return __pyx_unpickle_ExitBlock, (type(self), 0xf2b1408, state)
6715  */
6716     __Pyx_XDECREF(__pyx_r);
6717     __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_ExitBlock); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 13, __pyx_L1_error)
6718     __Pyx_GOTREF(__pyx_t_4);
6719     __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error)
6720     __Pyx_GOTREF(__pyx_t_1);
6721     __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
6722     __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
6723     PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
6724     __Pyx_INCREF(__pyx_int_254481416);
6725     __Pyx_GIVEREF(__pyx_int_254481416);
6726     PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_254481416);
6727     __Pyx_INCREF(Py_None);
6728     __Pyx_GIVEREF(Py_None);
6729     PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
6730     __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 13, __pyx_L1_error)
6731     __Pyx_GOTREF(__pyx_t_6);
6732     __Pyx_GIVEREF(__pyx_t_4);
6733     PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
6734     __Pyx_GIVEREF(__pyx_t_1);
6735     PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_1);
6736     __Pyx_INCREF(__pyx_v_state);
6737     __Pyx_GIVEREF(__pyx_v_state);
6738     PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_state);
6739     __pyx_t_4 = 0;
6740     __pyx_t_1 = 0;
6741     __pyx_r = __pyx_t_6;
6742     __pyx_t_6 = 0;
6743     goto __pyx_L0;
6744 
6745     /* "(tree fragment)":12
6746  *     else:
6747  *         use_setstate = self.bounded is not None or self.children is not None or self.gen is not None or self.i_gen is not None or self.i_input is not None or self.i_kill is not None or self.i_output is not None or self.i_state is not None or self.parents is not None or self.positions is not None or self.stats is not None
6748  *     if use_setstate:             # <<<<<<<<<<<<<<
6749  *         return __pyx_unpickle_ExitBlock, (type(self), 0xf2b1408, None), state
6750  *     else:
6751  */
6752   }
6753 
6754   /* "(tree fragment)":15
6755  *         return __pyx_unpickle_ExitBlock, (type(self), 0xf2b1408, None), state
6756  *     else:
6757  *         return __pyx_unpickle_ExitBlock, (type(self), 0xf2b1408, state)             # <<<<<<<<<<<<<<
6758  * def __setstate_cython__(self, __pyx_state):
6759  *     __pyx_unpickle_ExitBlock__set_state(self, __pyx_state)
6760  */
6761   /*else*/ {
6762     __Pyx_XDECREF(__pyx_r);
6763     __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pyx_unpickle_ExitBlock); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 15, __pyx_L1_error)
6764     __Pyx_GOTREF(__pyx_t_6);
6765     __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error)
6766     __Pyx_GOTREF(__pyx_t_1);
6767     __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
6768     __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
6769     PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
6770     __Pyx_INCREF(__pyx_int_254481416);
6771     __Pyx_GIVEREF(__pyx_int_254481416);
6772     PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_254481416);
6773     __Pyx_INCREF(__pyx_v_state);
6774     __Pyx_GIVEREF(__pyx_v_state);
6775     PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
6776     __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 15, __pyx_L1_error)
6777     __Pyx_GOTREF(__pyx_t_4);
6778     __Pyx_GIVEREF(__pyx_t_6);
6779     PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
6780     __Pyx_GIVEREF(__pyx_t_1);
6781     PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
6782     __pyx_t_6 = 0;
6783     __pyx_t_1 = 0;
6784     __pyx_r = __pyx_t_4;
6785     __pyx_t_4 = 0;
6786     goto __pyx_L0;
6787   }
6788 
6789   /* "(tree fragment)":1
6790  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
6791  *     cdef tuple state
6792  *     cdef object _dict
6793  */
6794 
6795   /* function exit code */
6796   __pyx_L1_error:;
6797   __Pyx_XDECREF(__pyx_t_1);
6798   __Pyx_XDECREF(__pyx_t_4);
6799   __Pyx_XDECREF(__pyx_t_6);
6800   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ExitBlock.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6801   __pyx_r = NULL;
6802   __pyx_L0:;
6803   __Pyx_XDECREF(__pyx_v_state);
6804   __Pyx_XDECREF(__pyx_v__dict);
6805   __Pyx_XGIVEREF(__pyx_r);
6806   __Pyx_RefNannyFinishContext();
6807   return __pyx_r;
6808 }
6809 
6810 /* "(tree fragment)":16
6811  *     else:
6812  *         return __pyx_unpickle_ExitBlock, (type(self), 0xf2b1408, state)
6813  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
6814  *     __pyx_unpickle_ExitBlock__set_state(self, __pyx_state)
6815  */
6816 
6817 /* Python wrapper */
6818 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_9ExitBlock_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
6819 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_9ExitBlock_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_9ExitBlock_5__setstate_cython__, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_9ExitBlock_5__setstate_cython__(PyObject * __pyx_v_self,PyObject * __pyx_v___pyx_state)6820 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_9ExitBlock_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
6821   PyObject *__pyx_r = 0;
6822   __Pyx_RefNannyDeclarations
6823   __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
6824   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_9ExitBlock_4__setstate_cython__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
6825 
6826   /* function exit code */
6827   __Pyx_RefNannyFinishContext();
6828   return __pyx_r;
6829 }
6830 
__pyx_pf_6Cython_8Compiler_11FlowControl_9ExitBlock_4__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock * __pyx_v_self,PyObject * __pyx_v___pyx_state)6831 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_9ExitBlock_4__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
6832   PyObject *__pyx_r = NULL;
6833   __Pyx_RefNannyDeclarations
6834   PyObject *__pyx_t_1 = NULL;
6835   int __pyx_lineno = 0;
6836   const char *__pyx_filename = NULL;
6837   int __pyx_clineno = 0;
6838   __Pyx_RefNannySetupContext("__setstate_cython__", 0);
6839 
6840   /* "(tree fragment)":17
6841  *         return __pyx_unpickle_ExitBlock, (type(self), 0xf2b1408, state)
6842  * def __setstate_cython__(self, __pyx_state):
6843  *     __pyx_unpickle_ExitBlock__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
6844  */
6845   if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 17, __pyx_L1_error)
6846   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_ExitBlock__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 17, __pyx_L1_error)
6847   __Pyx_GOTREF(__pyx_t_1);
6848   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6849 
6850   /* "(tree fragment)":16
6851  *     else:
6852  *         return __pyx_unpickle_ExitBlock, (type(self), 0xf2b1408, state)
6853  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
6854  *     __pyx_unpickle_ExitBlock__set_state(self, __pyx_state)
6855  */
6856 
6857   /* function exit code */
6858   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
6859   goto __pyx_L0;
6860   __pyx_L1_error:;
6861   __Pyx_XDECREF(__pyx_t_1);
6862   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ExitBlock.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6863   __pyx_r = NULL;
6864   __pyx_L0:;
6865   __Pyx_XGIVEREF(__pyx_r);
6866   __Pyx_RefNannyFinishContext();
6867   return __pyx_r;
6868 }
6869 
6870 /* "Cython/Compiler/FlowControl.py":99
6871  *
6872  * class AssignmentList(object):
6873  *     def __init__(self):             # <<<<<<<<<<<<<<
6874  *         self.stats = []
6875  *
6876  */
6877 
6878 /* Python wrapper */
6879 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_1__init__(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)6880 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
6881   int __pyx_r;
6882   __Pyx_RefNannyDeclarations
6883   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
6884   if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
6885     __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
6886   if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 0))) return -1;
6887   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList___init__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *)__pyx_v_self));
6888 
6889   /* function exit code */
6890   __Pyx_RefNannyFinishContext();
6891   return __pyx_r;
6892 }
6893 
__pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList___init__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList * __pyx_v_self)6894 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList___init__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self) {
6895   int __pyx_r;
6896   __Pyx_RefNannyDeclarations
6897   PyObject *__pyx_t_1 = NULL;
6898   int __pyx_lineno = 0;
6899   const char *__pyx_filename = NULL;
6900   int __pyx_clineno = 0;
6901   __Pyx_RefNannySetupContext("__init__", 0);
6902 
6903   /* "Cython/Compiler/FlowControl.py":100
6904  * class AssignmentList(object):
6905  *     def __init__(self):
6906  *         self.stats = []             # <<<<<<<<<<<<<<
6907  *
6908  *
6909  */
6910   __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 100, __pyx_L1_error)
6911   __Pyx_GOTREF(__pyx_t_1);
6912   __Pyx_GIVEREF(__pyx_t_1);
6913   __Pyx_GOTREF(__pyx_v_self->stats);
6914   __Pyx_DECREF(__pyx_v_self->stats);
6915   __pyx_v_self->stats = ((PyObject*)__pyx_t_1);
6916   __pyx_t_1 = 0;
6917 
6918   /* "Cython/Compiler/FlowControl.py":99
6919  *
6920  * class AssignmentList(object):
6921  *     def __init__(self):             # <<<<<<<<<<<<<<
6922  *         self.stats = []
6923  *
6924  */
6925 
6926   /* function exit code */
6927   __pyx_r = 0;
6928   goto __pyx_L0;
6929   __pyx_L1_error:;
6930   __Pyx_XDECREF(__pyx_t_1);
6931   __Pyx_AddTraceback("Cython.Compiler.FlowControl.AssignmentList.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6932   __pyx_r = -1;
6933   __pyx_L0:;
6934   __Pyx_RefNannyFinishContext();
6935   return __pyx_r;
6936 }
6937 
6938 /* "Cython/Compiler/FlowControl.pxd":41
6939  *
6940  * cdef class AssignmentList:
6941  *     cdef public object bit             # <<<<<<<<<<<<<<
6942  *     cdef public object mask
6943  *     cdef public list stats
6944  */
6945 
6946 /* Python wrapper */
6947 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit_1__get__(PyObject * __pyx_v_self)6948 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit_1__get__(PyObject *__pyx_v_self) {
6949   PyObject *__pyx_r = 0;
6950   __Pyx_RefNannyDeclarations
6951   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
6952   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *)__pyx_v_self));
6953 
6954   /* function exit code */
6955   __Pyx_RefNannyFinishContext();
6956   return __pyx_r;
6957 }
6958 
__pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList * __pyx_v_self)6959 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self) {
6960   PyObject *__pyx_r = NULL;
6961   __Pyx_RefNannyDeclarations
6962   __Pyx_RefNannySetupContext("__get__", 0);
6963   __Pyx_XDECREF(__pyx_r);
6964   __Pyx_INCREF(__pyx_v_self->bit);
6965   __pyx_r = __pyx_v_self->bit;
6966   goto __pyx_L0;
6967 
6968   /* function exit code */
6969   __pyx_L0:;
6970   __Pyx_XGIVEREF(__pyx_r);
6971   __Pyx_RefNannyFinishContext();
6972   return __pyx_r;
6973 }
6974 
6975 /* Python wrapper */
6976 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)6977 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
6978   int __pyx_r;
6979   __Pyx_RefNannyDeclarations
6980   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
6981   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *)__pyx_v_self), ((PyObject *)__pyx_v_value));
6982 
6983   /* function exit code */
6984   __Pyx_RefNannyFinishContext();
6985   return __pyx_r;
6986 }
6987 
__pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList * __pyx_v_self,PyObject * __pyx_v_value)6988 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self, PyObject *__pyx_v_value) {
6989   int __pyx_r;
6990   __Pyx_RefNannyDeclarations
6991   __Pyx_RefNannySetupContext("__set__", 0);
6992   __Pyx_INCREF(__pyx_v_value);
6993   __Pyx_GIVEREF(__pyx_v_value);
6994   __Pyx_GOTREF(__pyx_v_self->bit);
6995   __Pyx_DECREF(__pyx_v_self->bit);
6996   __pyx_v_self->bit = __pyx_v_value;
6997 
6998   /* function exit code */
6999   __pyx_r = 0;
7000   __Pyx_RefNannyFinishContext();
7001   return __pyx_r;
7002 }
7003 
7004 /* Python wrapper */
7005 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit_5__del__(PyObject * __pyx_v_self)7006 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit_5__del__(PyObject *__pyx_v_self) {
7007   int __pyx_r;
7008   __Pyx_RefNannyDeclarations
7009   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
7010   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *)__pyx_v_self));
7011 
7012   /* function exit code */
7013   __Pyx_RefNannyFinishContext();
7014   return __pyx_r;
7015 }
7016 
__pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList * __pyx_v_self)7017 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self) {
7018   int __pyx_r;
7019   __Pyx_RefNannyDeclarations
7020   __Pyx_RefNannySetupContext("__del__", 0);
7021   __Pyx_INCREF(Py_None);
7022   __Pyx_GIVEREF(Py_None);
7023   __Pyx_GOTREF(__pyx_v_self->bit);
7024   __Pyx_DECREF(__pyx_v_self->bit);
7025   __pyx_v_self->bit = Py_None;
7026 
7027   /* function exit code */
7028   __pyx_r = 0;
7029   __Pyx_RefNannyFinishContext();
7030   return __pyx_r;
7031 }
7032 
7033 /* "Cython/Compiler/FlowControl.pxd":42
7034  * cdef class AssignmentList:
7035  *     cdef public object bit
7036  *     cdef public object mask             # <<<<<<<<<<<<<<
7037  *     cdef public list stats
7038  *
7039  */
7040 
7041 /* Python wrapper */
7042 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask_1__get__(PyObject * __pyx_v_self)7043 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask_1__get__(PyObject *__pyx_v_self) {
7044   PyObject *__pyx_r = 0;
7045   __Pyx_RefNannyDeclarations
7046   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
7047   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *)__pyx_v_self));
7048 
7049   /* function exit code */
7050   __Pyx_RefNannyFinishContext();
7051   return __pyx_r;
7052 }
7053 
__pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList * __pyx_v_self)7054 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self) {
7055   PyObject *__pyx_r = NULL;
7056   __Pyx_RefNannyDeclarations
7057   __Pyx_RefNannySetupContext("__get__", 0);
7058   __Pyx_XDECREF(__pyx_r);
7059   __Pyx_INCREF(__pyx_v_self->mask);
7060   __pyx_r = __pyx_v_self->mask;
7061   goto __pyx_L0;
7062 
7063   /* function exit code */
7064   __pyx_L0:;
7065   __Pyx_XGIVEREF(__pyx_r);
7066   __Pyx_RefNannyFinishContext();
7067   return __pyx_r;
7068 }
7069 
7070 /* Python wrapper */
7071 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)7072 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
7073   int __pyx_r;
7074   __Pyx_RefNannyDeclarations
7075   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
7076   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *)__pyx_v_self), ((PyObject *)__pyx_v_value));
7077 
7078   /* function exit code */
7079   __Pyx_RefNannyFinishContext();
7080   return __pyx_r;
7081 }
7082 
__pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList * __pyx_v_self,PyObject * __pyx_v_value)7083 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self, PyObject *__pyx_v_value) {
7084   int __pyx_r;
7085   __Pyx_RefNannyDeclarations
7086   __Pyx_RefNannySetupContext("__set__", 0);
7087   __Pyx_INCREF(__pyx_v_value);
7088   __Pyx_GIVEREF(__pyx_v_value);
7089   __Pyx_GOTREF(__pyx_v_self->mask);
7090   __Pyx_DECREF(__pyx_v_self->mask);
7091   __pyx_v_self->mask = __pyx_v_value;
7092 
7093   /* function exit code */
7094   __pyx_r = 0;
7095   __Pyx_RefNannyFinishContext();
7096   return __pyx_r;
7097 }
7098 
7099 /* Python wrapper */
7100 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask_5__del__(PyObject * __pyx_v_self)7101 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask_5__del__(PyObject *__pyx_v_self) {
7102   int __pyx_r;
7103   __Pyx_RefNannyDeclarations
7104   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
7105   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *)__pyx_v_self));
7106 
7107   /* function exit code */
7108   __Pyx_RefNannyFinishContext();
7109   return __pyx_r;
7110 }
7111 
__pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList * __pyx_v_self)7112 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self) {
7113   int __pyx_r;
7114   __Pyx_RefNannyDeclarations
7115   __Pyx_RefNannySetupContext("__del__", 0);
7116   __Pyx_INCREF(Py_None);
7117   __Pyx_GIVEREF(Py_None);
7118   __Pyx_GOTREF(__pyx_v_self->mask);
7119   __Pyx_DECREF(__pyx_v_self->mask);
7120   __pyx_v_self->mask = Py_None;
7121 
7122   /* function exit code */
7123   __pyx_r = 0;
7124   __Pyx_RefNannyFinishContext();
7125   return __pyx_r;
7126 }
7127 
7128 /* "Cython/Compiler/FlowControl.pxd":43
7129  *     cdef public object bit
7130  *     cdef public object mask
7131  *     cdef public list stats             # <<<<<<<<<<<<<<
7132  *
7133  * cdef class AssignmentCollector(TreeVisitor):
7134  */
7135 
7136 /* Python wrapper */
7137 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats_1__get__(PyObject * __pyx_v_self)7138 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats_1__get__(PyObject *__pyx_v_self) {
7139   PyObject *__pyx_r = 0;
7140   __Pyx_RefNannyDeclarations
7141   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
7142   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *)__pyx_v_self));
7143 
7144   /* function exit code */
7145   __Pyx_RefNannyFinishContext();
7146   return __pyx_r;
7147 }
7148 
__pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList * __pyx_v_self)7149 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self) {
7150   PyObject *__pyx_r = NULL;
7151   __Pyx_RefNannyDeclarations
7152   __Pyx_RefNannySetupContext("__get__", 0);
7153   __Pyx_XDECREF(__pyx_r);
7154   __Pyx_INCREF(__pyx_v_self->stats);
7155   __pyx_r = __pyx_v_self->stats;
7156   goto __pyx_L0;
7157 
7158   /* function exit code */
7159   __pyx_L0:;
7160   __Pyx_XGIVEREF(__pyx_r);
7161   __Pyx_RefNannyFinishContext();
7162   return __pyx_r;
7163 }
7164 
7165 /* Python wrapper */
7166 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)7167 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
7168   int __pyx_r;
7169   __Pyx_RefNannyDeclarations
7170   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
7171   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *)__pyx_v_self), ((PyObject *)__pyx_v_value));
7172 
7173   /* function exit code */
7174   __Pyx_RefNannyFinishContext();
7175   return __pyx_r;
7176 }
7177 
__pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList * __pyx_v_self,PyObject * __pyx_v_value)7178 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self, PyObject *__pyx_v_value) {
7179   int __pyx_r;
7180   __Pyx_RefNannyDeclarations
7181   PyObject *__pyx_t_1 = NULL;
7182   int __pyx_lineno = 0;
7183   const char *__pyx_filename = NULL;
7184   int __pyx_clineno = 0;
7185   __Pyx_RefNannySetupContext("__set__", 0);
7186   if (!(likely(PyList_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 43, __pyx_L1_error)
7187   __pyx_t_1 = __pyx_v_value;
7188   __Pyx_INCREF(__pyx_t_1);
7189   __Pyx_GIVEREF(__pyx_t_1);
7190   __Pyx_GOTREF(__pyx_v_self->stats);
7191   __Pyx_DECREF(__pyx_v_self->stats);
7192   __pyx_v_self->stats = ((PyObject*)__pyx_t_1);
7193   __pyx_t_1 = 0;
7194 
7195   /* function exit code */
7196   __pyx_r = 0;
7197   goto __pyx_L0;
7198   __pyx_L1_error:;
7199   __Pyx_XDECREF(__pyx_t_1);
7200   __Pyx_AddTraceback("Cython.Compiler.FlowControl.AssignmentList.stats.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
7201   __pyx_r = -1;
7202   __pyx_L0:;
7203   __Pyx_RefNannyFinishContext();
7204   return __pyx_r;
7205 }
7206 
7207 /* Python wrapper */
7208 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats_5__del__(PyObject * __pyx_v_self)7209 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats_5__del__(PyObject *__pyx_v_self) {
7210   int __pyx_r;
7211   __Pyx_RefNannyDeclarations
7212   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
7213   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *)__pyx_v_self));
7214 
7215   /* function exit code */
7216   __Pyx_RefNannyFinishContext();
7217   return __pyx_r;
7218 }
7219 
__pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList * __pyx_v_self)7220 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self) {
7221   int __pyx_r;
7222   __Pyx_RefNannyDeclarations
7223   __Pyx_RefNannySetupContext("__del__", 0);
7224   __Pyx_INCREF(Py_None);
7225   __Pyx_GIVEREF(Py_None);
7226   __Pyx_GOTREF(__pyx_v_self->stats);
7227   __Pyx_DECREF(__pyx_v_self->stats);
7228   __pyx_v_self->stats = ((PyObject*)Py_None);
7229 
7230   /* function exit code */
7231   __pyx_r = 0;
7232   __Pyx_RefNannyFinishContext();
7233   return __pyx_r;
7234 }
7235 
7236 /* "(tree fragment)":1
7237  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
7238  *     cdef tuple state
7239  *     cdef object _dict
7240  */
7241 
7242 /* Python wrapper */
7243 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
7244 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_14AssignmentList_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_3__reduce_cython__, METH_NOARGS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_3__reduce_cython__(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)7245 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
7246   PyObject *__pyx_r = 0;
7247   __Pyx_RefNannyDeclarations
7248   __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
7249   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_2__reduce_cython__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *)__pyx_v_self));
7250 
7251   /* function exit code */
7252   __Pyx_RefNannyFinishContext();
7253   return __pyx_r;
7254 }
7255 
__pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_2__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList * __pyx_v_self)7256 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_2__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self) {
7257   PyObject *__pyx_v_state = 0;
7258   PyObject *__pyx_v__dict = 0;
7259   int __pyx_v_use_setstate;
7260   PyObject *__pyx_r = NULL;
7261   __Pyx_RefNannyDeclarations
7262   PyObject *__pyx_t_1 = NULL;
7263   int __pyx_t_2;
7264   int __pyx_t_3;
7265   PyObject *__pyx_t_4 = NULL;
7266   int __pyx_t_5;
7267   PyObject *__pyx_t_6 = NULL;
7268   int __pyx_lineno = 0;
7269   const char *__pyx_filename = NULL;
7270   int __pyx_clineno = 0;
7271   __Pyx_RefNannySetupContext("__reduce_cython__", 0);
7272 
7273   /* "(tree fragment)":5
7274  *     cdef object _dict
7275  *     cdef bint use_setstate
7276  *     state = (self.bit, self.mask, self.stats)             # <<<<<<<<<<<<<<
7277  *     _dict = getattr(self, '__dict__', None)
7278  *     if _dict is not None:
7279  */
7280   __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error)
7281   __Pyx_GOTREF(__pyx_t_1);
7282   __Pyx_INCREF(__pyx_v_self->bit);
7283   __Pyx_GIVEREF(__pyx_v_self->bit);
7284   PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->bit);
7285   __Pyx_INCREF(__pyx_v_self->mask);
7286   __Pyx_GIVEREF(__pyx_v_self->mask);
7287   PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->mask);
7288   __Pyx_INCREF(__pyx_v_self->stats);
7289   __Pyx_GIVEREF(__pyx_v_self->stats);
7290   PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_self->stats);
7291   __pyx_v_state = ((PyObject*)__pyx_t_1);
7292   __pyx_t_1 = 0;
7293 
7294   /* "(tree fragment)":6
7295  *     cdef bint use_setstate
7296  *     state = (self.bit, self.mask, self.stats)
7297  *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
7298  *     if _dict is not None:
7299  *         state += (_dict,)
7300  */
7301   __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error)
7302   __Pyx_GOTREF(__pyx_t_1);
7303   __pyx_v__dict = __pyx_t_1;
7304   __pyx_t_1 = 0;
7305 
7306   /* "(tree fragment)":7
7307  *     state = (self.bit, self.mask, self.stats)
7308  *     _dict = getattr(self, '__dict__', None)
7309  *     if _dict is not None:             # <<<<<<<<<<<<<<
7310  *         state += (_dict,)
7311  *         use_setstate = True
7312  */
7313   __pyx_t_2 = (__pyx_v__dict != Py_None);
7314   __pyx_t_3 = (__pyx_t_2 != 0);
7315   if (__pyx_t_3) {
7316 
7317     /* "(tree fragment)":8
7318  *     _dict = getattr(self, '__dict__', None)
7319  *     if _dict is not None:
7320  *         state += (_dict,)             # <<<<<<<<<<<<<<
7321  *         use_setstate = True
7322  *     else:
7323  */
7324     __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8, __pyx_L1_error)
7325     __Pyx_GOTREF(__pyx_t_1);
7326     __Pyx_INCREF(__pyx_v__dict);
7327     __Pyx_GIVEREF(__pyx_v__dict);
7328     PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
7329     __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8, __pyx_L1_error)
7330     __Pyx_GOTREF(__pyx_t_4);
7331     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7332     __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
7333     __pyx_t_4 = 0;
7334 
7335     /* "(tree fragment)":9
7336  *     if _dict is not None:
7337  *         state += (_dict,)
7338  *         use_setstate = True             # <<<<<<<<<<<<<<
7339  *     else:
7340  *         use_setstate = self.bit is not None or self.mask is not None or self.stats is not None
7341  */
7342     __pyx_v_use_setstate = 1;
7343 
7344     /* "(tree fragment)":7
7345  *     state = (self.bit, self.mask, self.stats)
7346  *     _dict = getattr(self, '__dict__', None)
7347  *     if _dict is not None:             # <<<<<<<<<<<<<<
7348  *         state += (_dict,)
7349  *         use_setstate = True
7350  */
7351     goto __pyx_L3;
7352   }
7353 
7354   /* "(tree fragment)":11
7355  *         use_setstate = True
7356  *     else:
7357  *         use_setstate = self.bit is not None or self.mask is not None or self.stats is not None             # <<<<<<<<<<<<<<
7358  *     if use_setstate:
7359  *         return __pyx_unpickle_AssignmentList, (type(self), 0x39670e9, None), state
7360  */
7361   /*else*/ {
7362     __pyx_t_2 = (__pyx_v_self->bit != Py_None);
7363     __pyx_t_5 = (__pyx_t_2 != 0);
7364     if (!__pyx_t_5) {
7365     } else {
7366       __pyx_t_3 = __pyx_t_5;
7367       goto __pyx_L4_bool_binop_done;
7368     }
7369     __pyx_t_5 = (__pyx_v_self->mask != Py_None);
7370     __pyx_t_2 = (__pyx_t_5 != 0);
7371     if (!__pyx_t_2) {
7372     } else {
7373       __pyx_t_3 = __pyx_t_2;
7374       goto __pyx_L4_bool_binop_done;
7375     }
7376     __pyx_t_2 = (__pyx_v_self->stats != ((PyObject*)Py_None));
7377     __pyx_t_5 = (__pyx_t_2 != 0);
7378     __pyx_t_3 = __pyx_t_5;
7379     __pyx_L4_bool_binop_done:;
7380     __pyx_v_use_setstate = __pyx_t_3;
7381   }
7382   __pyx_L3:;
7383 
7384   /* "(tree fragment)":12
7385  *     else:
7386  *         use_setstate = self.bit is not None or self.mask is not None or self.stats is not None
7387  *     if use_setstate:             # <<<<<<<<<<<<<<
7388  *         return __pyx_unpickle_AssignmentList, (type(self), 0x39670e9, None), state
7389  *     else:
7390  */
7391   __pyx_t_3 = (__pyx_v_use_setstate != 0);
7392   if (__pyx_t_3) {
7393 
7394     /* "(tree fragment)":13
7395  *         use_setstate = self.bit is not None or self.mask is not None or self.stats is not None
7396  *     if use_setstate:
7397  *         return __pyx_unpickle_AssignmentList, (type(self), 0x39670e9, None), state             # <<<<<<<<<<<<<<
7398  *     else:
7399  *         return __pyx_unpickle_AssignmentList, (type(self), 0x39670e9, state)
7400  */
7401     __Pyx_XDECREF(__pyx_r);
7402     __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_AssignmentList); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 13, __pyx_L1_error)
7403     __Pyx_GOTREF(__pyx_t_4);
7404     __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error)
7405     __Pyx_GOTREF(__pyx_t_1);
7406     __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
7407     __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
7408     PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
7409     __Pyx_INCREF(__pyx_int_60190953);
7410     __Pyx_GIVEREF(__pyx_int_60190953);
7411     PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_60190953);
7412     __Pyx_INCREF(Py_None);
7413     __Pyx_GIVEREF(Py_None);
7414     PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
7415     __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 13, __pyx_L1_error)
7416     __Pyx_GOTREF(__pyx_t_6);
7417     __Pyx_GIVEREF(__pyx_t_4);
7418     PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
7419     __Pyx_GIVEREF(__pyx_t_1);
7420     PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_1);
7421     __Pyx_INCREF(__pyx_v_state);
7422     __Pyx_GIVEREF(__pyx_v_state);
7423     PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_state);
7424     __pyx_t_4 = 0;
7425     __pyx_t_1 = 0;
7426     __pyx_r = __pyx_t_6;
7427     __pyx_t_6 = 0;
7428     goto __pyx_L0;
7429 
7430     /* "(tree fragment)":12
7431  *     else:
7432  *         use_setstate = self.bit is not None or self.mask is not None or self.stats is not None
7433  *     if use_setstate:             # <<<<<<<<<<<<<<
7434  *         return __pyx_unpickle_AssignmentList, (type(self), 0x39670e9, None), state
7435  *     else:
7436  */
7437   }
7438 
7439   /* "(tree fragment)":15
7440  *         return __pyx_unpickle_AssignmentList, (type(self), 0x39670e9, None), state
7441  *     else:
7442  *         return __pyx_unpickle_AssignmentList, (type(self), 0x39670e9, state)             # <<<<<<<<<<<<<<
7443  * def __setstate_cython__(self, __pyx_state):
7444  *     __pyx_unpickle_AssignmentList__set_state(self, __pyx_state)
7445  */
7446   /*else*/ {
7447     __Pyx_XDECREF(__pyx_r);
7448     __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pyx_unpickle_AssignmentList); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 15, __pyx_L1_error)
7449     __Pyx_GOTREF(__pyx_t_6);
7450     __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error)
7451     __Pyx_GOTREF(__pyx_t_1);
7452     __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
7453     __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
7454     PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
7455     __Pyx_INCREF(__pyx_int_60190953);
7456     __Pyx_GIVEREF(__pyx_int_60190953);
7457     PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_60190953);
7458     __Pyx_INCREF(__pyx_v_state);
7459     __Pyx_GIVEREF(__pyx_v_state);
7460     PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
7461     __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 15, __pyx_L1_error)
7462     __Pyx_GOTREF(__pyx_t_4);
7463     __Pyx_GIVEREF(__pyx_t_6);
7464     PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
7465     __Pyx_GIVEREF(__pyx_t_1);
7466     PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
7467     __pyx_t_6 = 0;
7468     __pyx_t_1 = 0;
7469     __pyx_r = __pyx_t_4;
7470     __pyx_t_4 = 0;
7471     goto __pyx_L0;
7472   }
7473 
7474   /* "(tree fragment)":1
7475  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
7476  *     cdef tuple state
7477  *     cdef object _dict
7478  */
7479 
7480   /* function exit code */
7481   __pyx_L1_error:;
7482   __Pyx_XDECREF(__pyx_t_1);
7483   __Pyx_XDECREF(__pyx_t_4);
7484   __Pyx_XDECREF(__pyx_t_6);
7485   __Pyx_AddTraceback("Cython.Compiler.FlowControl.AssignmentList.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
7486   __pyx_r = NULL;
7487   __pyx_L0:;
7488   __Pyx_XDECREF(__pyx_v_state);
7489   __Pyx_XDECREF(__pyx_v__dict);
7490   __Pyx_XGIVEREF(__pyx_r);
7491   __Pyx_RefNannyFinishContext();
7492   return __pyx_r;
7493 }
7494 
7495 /* "(tree fragment)":16
7496  *     else:
7497  *         return __pyx_unpickle_AssignmentList, (type(self), 0x39670e9, state)
7498  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
7499  *     __pyx_unpickle_AssignmentList__set_state(self, __pyx_state)
7500  */
7501 
7502 /* Python wrapper */
7503 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
7504 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_14AssignmentList_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_5__setstate_cython__, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_5__setstate_cython__(PyObject * __pyx_v_self,PyObject * __pyx_v___pyx_state)7505 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
7506   PyObject *__pyx_r = 0;
7507   __Pyx_RefNannyDeclarations
7508   __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
7509   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_4__setstate_cython__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
7510 
7511   /* function exit code */
7512   __Pyx_RefNannyFinishContext();
7513   return __pyx_r;
7514 }
7515 
__pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_4__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList * __pyx_v_self,PyObject * __pyx_v___pyx_state)7516 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14AssignmentList_4__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
7517   PyObject *__pyx_r = NULL;
7518   __Pyx_RefNannyDeclarations
7519   PyObject *__pyx_t_1 = NULL;
7520   int __pyx_lineno = 0;
7521   const char *__pyx_filename = NULL;
7522   int __pyx_clineno = 0;
7523   __Pyx_RefNannySetupContext("__setstate_cython__", 0);
7524 
7525   /* "(tree fragment)":17
7526  *         return __pyx_unpickle_AssignmentList, (type(self), 0x39670e9, state)
7527  * def __setstate_cython__(self, __pyx_state):
7528  *     __pyx_unpickle_AssignmentList__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
7529  */
7530   if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 17, __pyx_L1_error)
7531   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_AssignmentList__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 17, __pyx_L1_error)
7532   __Pyx_GOTREF(__pyx_t_1);
7533   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7534 
7535   /* "(tree fragment)":16
7536  *     else:
7537  *         return __pyx_unpickle_AssignmentList, (type(self), 0x39670e9, state)
7538  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
7539  *     __pyx_unpickle_AssignmentList__set_state(self, __pyx_state)
7540  */
7541 
7542   /* function exit code */
7543   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
7544   goto __pyx_L0;
7545   __pyx_L1_error:;
7546   __Pyx_XDECREF(__pyx_t_1);
7547   __Pyx_AddTraceback("Cython.Compiler.FlowControl.AssignmentList.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
7548   __pyx_r = NULL;
7549   __pyx_L0:;
7550   __Pyx_XGIVEREF(__pyx_r);
7551   __Pyx_RefNannyFinishContext();
7552   return __pyx_r;
7553 }
7554 
7555 /* "Cython/Compiler/FlowControl.py":115
7556  *     """
7557  *
7558  *     def __init__(self):             # <<<<<<<<<<<<<<
7559  *         self.blocks = set()
7560  *         self.entries = set()
7561  */
7562 
7563 /* Python wrapper */
7564 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_1__init__(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)7565 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
7566   int __pyx_r;
7567   __Pyx_RefNannyDeclarations
7568   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
7569   if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
7570     __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
7571   if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 0))) return -1;
7572   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow___init__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self));
7573 
7574   /* function exit code */
7575   __Pyx_RefNannyFinishContext();
7576   return __pyx_r;
7577 }
7578 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow___init__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self)7579 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow___init__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self) {
7580   int __pyx_r;
7581   __Pyx_RefNannyDeclarations
7582   PyObject *__pyx_t_1 = NULL;
7583   int __pyx_t_2;
7584   int __pyx_lineno = 0;
7585   const char *__pyx_filename = NULL;
7586   int __pyx_clineno = 0;
7587   __Pyx_RefNannySetupContext("__init__", 0);
7588 
7589   /* "Cython/Compiler/FlowControl.py":116
7590  *
7591  *     def __init__(self):
7592  *         self.blocks = set()             # <<<<<<<<<<<<<<
7593  *         self.entries = set()
7594  *         self.loops = []
7595  */
7596   __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 116, __pyx_L1_error)
7597   __Pyx_GOTREF(__pyx_t_1);
7598   __Pyx_GIVEREF(__pyx_t_1);
7599   __Pyx_GOTREF(__pyx_v_self->blocks);
7600   __Pyx_DECREF(__pyx_v_self->blocks);
7601   __pyx_v_self->blocks = ((PyObject*)__pyx_t_1);
7602   __pyx_t_1 = 0;
7603 
7604   /* "Cython/Compiler/FlowControl.py":117
7605  *     def __init__(self):
7606  *         self.blocks = set()
7607  *         self.entries = set()             # <<<<<<<<<<<<<<
7608  *         self.loops = []
7609  *         self.exceptions = []
7610  */
7611   __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 117, __pyx_L1_error)
7612   __Pyx_GOTREF(__pyx_t_1);
7613   __Pyx_GIVEREF(__pyx_t_1);
7614   __Pyx_GOTREF(__pyx_v_self->entries);
7615   __Pyx_DECREF(__pyx_v_self->entries);
7616   __pyx_v_self->entries = ((PyObject*)__pyx_t_1);
7617   __pyx_t_1 = 0;
7618 
7619   /* "Cython/Compiler/FlowControl.py":118
7620  *         self.blocks = set()
7621  *         self.entries = set()
7622  *         self.loops = []             # <<<<<<<<<<<<<<
7623  *         self.exceptions = []
7624  *
7625  */
7626   __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 118, __pyx_L1_error)
7627   __Pyx_GOTREF(__pyx_t_1);
7628   __Pyx_GIVEREF(__pyx_t_1);
7629   __Pyx_GOTREF(__pyx_v_self->loops);
7630   __Pyx_DECREF(__pyx_v_self->loops);
7631   __pyx_v_self->loops = ((PyObject*)__pyx_t_1);
7632   __pyx_t_1 = 0;
7633 
7634   /* "Cython/Compiler/FlowControl.py":119
7635  *         self.entries = set()
7636  *         self.loops = []
7637  *         self.exceptions = []             # <<<<<<<<<<<<<<
7638  *
7639  *         self.entry_point = ControlBlock()
7640  */
7641   __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 119, __pyx_L1_error)
7642   __Pyx_GOTREF(__pyx_t_1);
7643   __Pyx_GIVEREF(__pyx_t_1);
7644   __Pyx_GOTREF(__pyx_v_self->exceptions);
7645   __Pyx_DECREF(__pyx_v_self->exceptions);
7646   __pyx_v_self->exceptions = ((PyObject*)__pyx_t_1);
7647   __pyx_t_1 = 0;
7648 
7649   /* "Cython/Compiler/FlowControl.py":121
7650  *         self.exceptions = []
7651  *
7652  *         self.entry_point = ControlBlock()             # <<<<<<<<<<<<<<
7653  *         self.exit_point = ExitBlock()
7654  *         self.blocks.add(self.exit_point)
7655  */
7656   __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 121, __pyx_L1_error)
7657   __Pyx_GOTREF(__pyx_t_1);
7658   __Pyx_GIVEREF(__pyx_t_1);
7659   __Pyx_GOTREF(__pyx_v_self->entry_point);
7660   __Pyx_DECREF(((PyObject *)__pyx_v_self->entry_point));
7661   __pyx_v_self->entry_point = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_1);
7662   __pyx_t_1 = 0;
7663 
7664   /* "Cython/Compiler/FlowControl.py":122
7665  *
7666  *         self.entry_point = ControlBlock()
7667  *         self.exit_point = ExitBlock()             # <<<<<<<<<<<<<<
7668  *         self.blocks.add(self.exit_point)
7669  *         self.block = self.entry_point
7670  */
7671   __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ExitBlock)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 122, __pyx_L1_error)
7672   __Pyx_GOTREF(__pyx_t_1);
7673   __Pyx_GIVEREF(__pyx_t_1);
7674   __Pyx_GOTREF(__pyx_v_self->exit_point);
7675   __Pyx_DECREF(((PyObject *)__pyx_v_self->exit_point));
7676   __pyx_v_self->exit_point = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock *)__pyx_t_1);
7677   __pyx_t_1 = 0;
7678 
7679   /* "Cython/Compiler/FlowControl.py":123
7680  *         self.entry_point = ControlBlock()
7681  *         self.exit_point = ExitBlock()
7682  *         self.blocks.add(self.exit_point)             # <<<<<<<<<<<<<<
7683  *         self.block = self.entry_point
7684  *
7685  */
7686   if (unlikely(__pyx_v_self->blocks == Py_None)) {
7687     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "add");
7688     __PYX_ERR(0, 123, __pyx_L1_error)
7689   }
7690   __pyx_t_1 = ((PyObject *)__pyx_v_self->exit_point);
7691   __Pyx_INCREF(__pyx_t_1);
7692   __pyx_t_2 = PySet_Add(__pyx_v_self->blocks, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 123, __pyx_L1_error)
7693   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7694 
7695   /* "Cython/Compiler/FlowControl.py":124
7696  *         self.exit_point = ExitBlock()
7697  *         self.blocks.add(self.exit_point)
7698  *         self.block = self.entry_point             # <<<<<<<<<<<<<<
7699  *
7700  *     def newblock(self, parent=None):
7701  */
7702   __pyx_t_1 = ((PyObject *)__pyx_v_self->entry_point);
7703   __Pyx_INCREF(__pyx_t_1);
7704   __Pyx_GIVEREF(__pyx_t_1);
7705   __Pyx_GOTREF(__pyx_v_self->block);
7706   __Pyx_DECREF(((PyObject *)__pyx_v_self->block));
7707   __pyx_v_self->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_1);
7708   __pyx_t_1 = 0;
7709 
7710   /* "Cython/Compiler/FlowControl.py":115
7711  *     """
7712  *
7713  *     def __init__(self):             # <<<<<<<<<<<<<<
7714  *         self.blocks = set()
7715  *         self.entries = set()
7716  */
7717 
7718   /* function exit code */
7719   __pyx_r = 0;
7720   goto __pyx_L0;
7721   __pyx_L1_error:;
7722   __Pyx_XDECREF(__pyx_t_1);
7723   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
7724   __pyx_r = -1;
7725   __pyx_L0:;
7726   __Pyx_RefNannyFinishContext();
7727   return __pyx_r;
7728 }
7729 
7730 /* "Cython/Compiler/FlowControl.py":126
7731  *         self.block = self.entry_point
7732  *
7733  *     def newblock(self, parent=None):             # <<<<<<<<<<<<<<
7734  *         """Create floating block linked to `parent` if given.
7735  *
7736  */
7737 
7738 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_3newblock(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,CYTHON_UNUSED int __pyx_skip_dispatch,struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock * __pyx_optional_args)7739 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock *__pyx_optional_args) {
7740   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_parent = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)Py_None);
7741   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_block = NULL;
7742   PyObject *__pyx_r = NULL;
7743   __Pyx_RefNannyDeclarations
7744   PyObject *__pyx_t_1 = NULL;
7745   int __pyx_t_2;
7746   int __pyx_t_3;
7747   int __pyx_lineno = 0;
7748   const char *__pyx_filename = NULL;
7749   int __pyx_clineno = 0;
7750   __Pyx_RefNannySetupContext("newblock", 0);
7751   if (__pyx_optional_args) {
7752     if (__pyx_optional_args->__pyx_n > 0) {
7753       __pyx_v_parent = __pyx_optional_args->parent;
7754     }
7755   }
7756 
7757   /* "Cython/Compiler/FlowControl.py":131
7758  *            NOTE: Block is NOT added to self.blocks
7759  *         """
7760  *         block = ControlBlock()             # <<<<<<<<<<<<<<
7761  *         self.blocks.add(block)
7762  *         if parent:
7763  */
7764   __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 131, __pyx_L1_error)
7765   __Pyx_GOTREF(__pyx_t_1);
7766   __pyx_v_block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_1);
7767   __pyx_t_1 = 0;
7768 
7769   /* "Cython/Compiler/FlowControl.py":132
7770  *         """
7771  *         block = ControlBlock()
7772  *         self.blocks.add(block)             # <<<<<<<<<<<<<<
7773  *         if parent:
7774  *             parent.add_child(block)
7775  */
7776   if (unlikely(__pyx_v_self->blocks == Py_None)) {
7777     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "add");
7778     __PYX_ERR(0, 132, __pyx_L1_error)
7779   }
7780   __pyx_t_2 = PySet_Add(__pyx_v_self->blocks, ((PyObject *)__pyx_v_block)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 132, __pyx_L1_error)
7781 
7782   /* "Cython/Compiler/FlowControl.py":133
7783  *         block = ControlBlock()
7784  *         self.blocks.add(block)
7785  *         if parent:             # <<<<<<<<<<<<<<
7786  *             parent.add_child(block)
7787  *         return block
7788  */
7789   __pyx_t_3 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_parent)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 133, __pyx_L1_error)
7790   if (__pyx_t_3) {
7791 
7792     /* "Cython/Compiler/FlowControl.py":134
7793  *         self.blocks.add(block)
7794  *         if parent:
7795  *             parent.add_child(block)             # <<<<<<<<<<<<<<
7796  *         return block
7797  *
7798  */
7799     __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_parent->__pyx_vtab)->add_child(__pyx_v_parent, ((PyObject *)__pyx_v_block), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 134, __pyx_L1_error)
7800     __Pyx_GOTREF(__pyx_t_1);
7801     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7802 
7803     /* "Cython/Compiler/FlowControl.py":133
7804  *         block = ControlBlock()
7805  *         self.blocks.add(block)
7806  *         if parent:             # <<<<<<<<<<<<<<
7807  *             parent.add_child(block)
7808  *         return block
7809  */
7810   }
7811 
7812   /* "Cython/Compiler/FlowControl.py":135
7813  *         if parent:
7814  *             parent.add_child(block)
7815  *         return block             # <<<<<<<<<<<<<<
7816  *
7817  *     def nextblock(self, parent=None):
7818  */
7819   __Pyx_XDECREF(__pyx_r);
7820   __Pyx_INCREF(((PyObject *)__pyx_v_block));
7821   __pyx_r = ((PyObject *)__pyx_v_block);
7822   goto __pyx_L0;
7823 
7824   /* "Cython/Compiler/FlowControl.py":126
7825  *         self.block = self.entry_point
7826  *
7827  *     def newblock(self, parent=None):             # <<<<<<<<<<<<<<
7828  *         """Create floating block linked to `parent` if given.
7829  *
7830  */
7831 
7832   /* function exit code */
7833   __pyx_L1_error:;
7834   __Pyx_XDECREF(__pyx_t_1);
7835   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.newblock", __pyx_clineno, __pyx_lineno, __pyx_filename);
7836   __pyx_r = 0;
7837   __pyx_L0:;
7838   __Pyx_XDECREF((PyObject *)__pyx_v_block);
7839   __Pyx_XGIVEREF(__pyx_r);
7840   __Pyx_RefNannyFinishContext();
7841   return __pyx_r;
7842 }
7843 
7844 /* Python wrapper */
7845 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_3newblock(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
7846 static char __pyx_doc_6Cython_8Compiler_11FlowControl_11ControlFlow_2newblock[] = "Create floating block linked to `parent` if given.\n\n           NOTE: Block is NOT added to self.blocks\n        ";
7847 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_3newblock = {"newblock", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_3newblock, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_11FlowControl_11ControlFlow_2newblock};
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_3newblock(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)7848 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_3newblock(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
7849   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_parent = 0;
7850   int __pyx_lineno = 0;
7851   const char *__pyx_filename = NULL;
7852   int __pyx_clineno = 0;
7853   PyObject *__pyx_r = 0;
7854   __Pyx_RefNannyDeclarations
7855   __Pyx_RefNannySetupContext("newblock (wrapper)", 0);
7856   {
7857     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_parent,0};
7858     PyObject* values[1] = {0};
7859     values[0] = (PyObject *)((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)Py_None);
7860     if (unlikely(__pyx_kwds)) {
7861       Py_ssize_t kw_args;
7862       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
7863       switch (pos_args) {
7864         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
7865         CYTHON_FALLTHROUGH;
7866         case  0: break;
7867         default: goto __pyx_L5_argtuple_error;
7868       }
7869       kw_args = PyDict_Size(__pyx_kwds);
7870       switch (pos_args) {
7871         case  0:
7872         if (kw_args > 0) {
7873           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_parent);
7874           if (value) { values[0] = value; kw_args--; }
7875         }
7876       }
7877       if (unlikely(kw_args > 0)) {
7878         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "newblock") < 0)) __PYX_ERR(0, 126, __pyx_L3_error)
7879       }
7880     } else {
7881       switch (PyTuple_GET_SIZE(__pyx_args)) {
7882         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
7883         CYTHON_FALLTHROUGH;
7884         case  0: break;
7885         default: goto __pyx_L5_argtuple_error;
7886       }
7887     }
7888     __pyx_v_parent = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)values[0]);
7889   }
7890   goto __pyx_L4_argument_unpacking_done;
7891   __pyx_L5_argtuple_error:;
7892   __Pyx_RaiseArgtupleInvalid("newblock", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 126, __pyx_L3_error)
7893   __pyx_L3_error:;
7894   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.newblock", __pyx_clineno, __pyx_lineno, __pyx_filename);
7895   __Pyx_RefNannyFinishContext();
7896   return NULL;
7897   __pyx_L4_argument_unpacking_done:;
7898   if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_parent), __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock, 1, "parent", 0))) __PYX_ERR(0, 126, __pyx_L1_error)
7899   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_2newblock(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self), __pyx_v_parent);
7900 
7901   /* function exit code */
7902   goto __pyx_L0;
7903   __pyx_L1_error:;
7904   __pyx_r = NULL;
7905   __pyx_L0:;
7906   __Pyx_RefNannyFinishContext();
7907   return __pyx_r;
7908 }
7909 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_2newblock(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_parent)7910 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_2newblock(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_parent) {
7911   PyObject *__pyx_r = NULL;
7912   __Pyx_RefNannyDeclarations
7913   PyObject *__pyx_t_1 = NULL;
7914   struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock __pyx_t_2;
7915   int __pyx_lineno = 0;
7916   const char *__pyx_filename = NULL;
7917   int __pyx_clineno = 0;
7918   __Pyx_RefNannySetupContext("newblock", 0);
7919   __Pyx_XDECREF(__pyx_r);
7920   __pyx_t_2.__pyx_n = 1;
7921   __pyx_t_2.parent = __pyx_v_parent;
7922   __pyx_t_1 = __pyx_vtabptr_6Cython_8Compiler_11FlowControl_ControlFlow->newblock(__pyx_v_self, 1, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 126, __pyx_L1_error)
7923   __Pyx_GOTREF(__pyx_t_1);
7924   __pyx_r = __pyx_t_1;
7925   __pyx_t_1 = 0;
7926   goto __pyx_L0;
7927 
7928   /* function exit code */
7929   __pyx_L1_error:;
7930   __Pyx_XDECREF(__pyx_t_1);
7931   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.newblock", __pyx_clineno, __pyx_lineno, __pyx_filename);
7932   __pyx_r = NULL;
7933   __pyx_L0:;
7934   __Pyx_XGIVEREF(__pyx_r);
7935   __Pyx_RefNannyFinishContext();
7936   return __pyx_r;
7937 }
7938 
7939 /* "Cython/Compiler/FlowControl.py":137
7940  *         return block
7941  *
7942  *     def nextblock(self, parent=None):             # <<<<<<<<<<<<<<
7943  *         """Create block children block linked to current or `parent` if given.
7944  *
7945  */
7946 
7947 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5nextblock(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,CYTHON_UNUSED int __pyx_skip_dispatch,struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock * __pyx_optional_args)7948 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock *__pyx_optional_args) {
7949   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_parent = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)Py_None);
7950   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_block = NULL;
7951   PyObject *__pyx_r = NULL;
7952   __Pyx_RefNannyDeclarations
7953   PyObject *__pyx_t_1 = NULL;
7954   int __pyx_t_2;
7955   int __pyx_t_3;
7956   int __pyx_lineno = 0;
7957   const char *__pyx_filename = NULL;
7958   int __pyx_clineno = 0;
7959   __Pyx_RefNannySetupContext("nextblock", 0);
7960   if (__pyx_optional_args) {
7961     if (__pyx_optional_args->__pyx_n > 0) {
7962       __pyx_v_parent = __pyx_optional_args->parent;
7963     }
7964   }
7965 
7966   /* "Cython/Compiler/FlowControl.py":142
7967  *            NOTE: Block is added to self.blocks
7968  *         """
7969  *         block = ControlBlock()             # <<<<<<<<<<<<<<
7970  *         self.blocks.add(block)
7971  *         if parent:
7972  */
7973   __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 142, __pyx_L1_error)
7974   __Pyx_GOTREF(__pyx_t_1);
7975   __pyx_v_block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_1);
7976   __pyx_t_1 = 0;
7977 
7978   /* "Cython/Compiler/FlowControl.py":143
7979  *         """
7980  *         block = ControlBlock()
7981  *         self.blocks.add(block)             # <<<<<<<<<<<<<<
7982  *         if parent:
7983  *             parent.add_child(block)
7984  */
7985   if (unlikely(__pyx_v_self->blocks == Py_None)) {
7986     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "add");
7987     __PYX_ERR(0, 143, __pyx_L1_error)
7988   }
7989   __pyx_t_2 = PySet_Add(__pyx_v_self->blocks, ((PyObject *)__pyx_v_block)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 143, __pyx_L1_error)
7990 
7991   /* "Cython/Compiler/FlowControl.py":144
7992  *         block = ControlBlock()
7993  *         self.blocks.add(block)
7994  *         if parent:             # <<<<<<<<<<<<<<
7995  *             parent.add_child(block)
7996  *         elif self.block:
7997  */
7998   __pyx_t_3 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_parent)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 144, __pyx_L1_error)
7999   if (__pyx_t_3) {
8000 
8001     /* "Cython/Compiler/FlowControl.py":145
8002  *         self.blocks.add(block)
8003  *         if parent:
8004  *             parent.add_child(block)             # <<<<<<<<<<<<<<
8005  *         elif self.block:
8006  *             self.block.add_child(block)
8007  */
8008     __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_parent->__pyx_vtab)->add_child(__pyx_v_parent, ((PyObject *)__pyx_v_block), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 145, __pyx_L1_error)
8009     __Pyx_GOTREF(__pyx_t_1);
8010     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8011 
8012     /* "Cython/Compiler/FlowControl.py":144
8013  *         block = ControlBlock()
8014  *         self.blocks.add(block)
8015  *         if parent:             # <<<<<<<<<<<<<<
8016  *             parent.add_child(block)
8017  *         elif self.block:
8018  */
8019     goto __pyx_L3;
8020   }
8021 
8022   /* "Cython/Compiler/FlowControl.py":146
8023  *         if parent:
8024  *             parent.add_child(block)
8025  *         elif self.block:             # <<<<<<<<<<<<<<
8026  *             self.block.add_child(block)
8027  *         self.block = block
8028  */
8029   __pyx_t_3 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->block)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 146, __pyx_L1_error)
8030   if (__pyx_t_3) {
8031 
8032     /* "Cython/Compiler/FlowControl.py":147
8033  *             parent.add_child(block)
8034  *         elif self.block:
8035  *             self.block.add_child(block)             # <<<<<<<<<<<<<<
8036  *         self.block = block
8037  *         return self.block
8038  */
8039     __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->block->__pyx_vtab)->add_child(__pyx_v_self->block, ((PyObject *)__pyx_v_block), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 147, __pyx_L1_error)
8040     __Pyx_GOTREF(__pyx_t_1);
8041     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8042 
8043     /* "Cython/Compiler/FlowControl.py":146
8044  *         if parent:
8045  *             parent.add_child(block)
8046  *         elif self.block:             # <<<<<<<<<<<<<<
8047  *             self.block.add_child(block)
8048  *         self.block = block
8049  */
8050   }
8051   __pyx_L3:;
8052 
8053   /* "Cython/Compiler/FlowControl.py":148
8054  *         elif self.block:
8055  *             self.block.add_child(block)
8056  *         self.block = block             # <<<<<<<<<<<<<<
8057  *         return self.block
8058  *
8059  */
8060   __Pyx_INCREF(((PyObject *)__pyx_v_block));
8061   __Pyx_GIVEREF(((PyObject *)__pyx_v_block));
8062   __Pyx_GOTREF(__pyx_v_self->block);
8063   __Pyx_DECREF(((PyObject *)__pyx_v_self->block));
8064   __pyx_v_self->block = __pyx_v_block;
8065 
8066   /* "Cython/Compiler/FlowControl.py":149
8067  *             self.block.add_child(block)
8068  *         self.block = block
8069  *         return self.block             # <<<<<<<<<<<<<<
8070  *
8071  *     def is_tracked(self, entry):
8072  */
8073   __Pyx_XDECREF(__pyx_r);
8074   __Pyx_INCREF(((PyObject *)__pyx_v_self->block));
8075   __pyx_r = ((PyObject *)__pyx_v_self->block);
8076   goto __pyx_L0;
8077 
8078   /* "Cython/Compiler/FlowControl.py":137
8079  *         return block
8080  *
8081  *     def nextblock(self, parent=None):             # <<<<<<<<<<<<<<
8082  *         """Create block children block linked to current or `parent` if given.
8083  *
8084  */
8085 
8086   /* function exit code */
8087   __pyx_L1_error:;
8088   __Pyx_XDECREF(__pyx_t_1);
8089   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.nextblock", __pyx_clineno, __pyx_lineno, __pyx_filename);
8090   __pyx_r = 0;
8091   __pyx_L0:;
8092   __Pyx_XDECREF((PyObject *)__pyx_v_block);
8093   __Pyx_XGIVEREF(__pyx_r);
8094   __Pyx_RefNannyFinishContext();
8095   return __pyx_r;
8096 }
8097 
8098 /* Python wrapper */
8099 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5nextblock(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
8100 static char __pyx_doc_6Cython_8Compiler_11FlowControl_11ControlFlow_4nextblock[] = "Create block children block linked to current or `parent` if given.\n\n           NOTE: Block is added to self.blocks\n        ";
8101 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_5nextblock = {"nextblock", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5nextblock, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_11FlowControl_11ControlFlow_4nextblock};
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5nextblock(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)8102 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5nextblock(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
8103   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_parent = 0;
8104   int __pyx_lineno = 0;
8105   const char *__pyx_filename = NULL;
8106   int __pyx_clineno = 0;
8107   PyObject *__pyx_r = 0;
8108   __Pyx_RefNannyDeclarations
8109   __Pyx_RefNannySetupContext("nextblock (wrapper)", 0);
8110   {
8111     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_parent,0};
8112     PyObject* values[1] = {0};
8113     values[0] = (PyObject *)((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)Py_None);
8114     if (unlikely(__pyx_kwds)) {
8115       Py_ssize_t kw_args;
8116       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
8117       switch (pos_args) {
8118         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
8119         CYTHON_FALLTHROUGH;
8120         case  0: break;
8121         default: goto __pyx_L5_argtuple_error;
8122       }
8123       kw_args = PyDict_Size(__pyx_kwds);
8124       switch (pos_args) {
8125         case  0:
8126         if (kw_args > 0) {
8127           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_parent);
8128           if (value) { values[0] = value; kw_args--; }
8129         }
8130       }
8131       if (unlikely(kw_args > 0)) {
8132         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nextblock") < 0)) __PYX_ERR(0, 137, __pyx_L3_error)
8133       }
8134     } else {
8135       switch (PyTuple_GET_SIZE(__pyx_args)) {
8136         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
8137         CYTHON_FALLTHROUGH;
8138         case  0: break;
8139         default: goto __pyx_L5_argtuple_error;
8140       }
8141     }
8142     __pyx_v_parent = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)values[0]);
8143   }
8144   goto __pyx_L4_argument_unpacking_done;
8145   __pyx_L5_argtuple_error:;
8146   __Pyx_RaiseArgtupleInvalid("nextblock", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 137, __pyx_L3_error)
8147   __pyx_L3_error:;
8148   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.nextblock", __pyx_clineno, __pyx_lineno, __pyx_filename);
8149   __Pyx_RefNannyFinishContext();
8150   return NULL;
8151   __pyx_L4_argument_unpacking_done:;
8152   if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_parent), __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock, 1, "parent", 0))) __PYX_ERR(0, 137, __pyx_L1_error)
8153   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_4nextblock(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self), __pyx_v_parent);
8154 
8155   /* function exit code */
8156   goto __pyx_L0;
8157   __pyx_L1_error:;
8158   __pyx_r = NULL;
8159   __pyx_L0:;
8160   __Pyx_RefNannyFinishContext();
8161   return __pyx_r;
8162 }
8163 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_4nextblock(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v_parent)8164 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_4nextblock(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_parent) {
8165   PyObject *__pyx_r = NULL;
8166   __Pyx_RefNannyDeclarations
8167   PyObject *__pyx_t_1 = NULL;
8168   struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock __pyx_t_2;
8169   int __pyx_lineno = 0;
8170   const char *__pyx_filename = NULL;
8171   int __pyx_clineno = 0;
8172   __Pyx_RefNannySetupContext("nextblock", 0);
8173   __Pyx_XDECREF(__pyx_r);
8174   __pyx_t_2.__pyx_n = 1;
8175   __pyx_t_2.parent = __pyx_v_parent;
8176   __pyx_t_1 = __pyx_vtabptr_6Cython_8Compiler_11FlowControl_ControlFlow->nextblock(__pyx_v_self, 1, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 137, __pyx_L1_error)
8177   __Pyx_GOTREF(__pyx_t_1);
8178   __pyx_r = __pyx_t_1;
8179   __pyx_t_1 = 0;
8180   goto __pyx_L0;
8181 
8182   /* function exit code */
8183   __pyx_L1_error:;
8184   __Pyx_XDECREF(__pyx_t_1);
8185   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.nextblock", __pyx_clineno, __pyx_lineno, __pyx_filename);
8186   __pyx_r = NULL;
8187   __pyx_L0:;
8188   __Pyx_XGIVEREF(__pyx_r);
8189   __Pyx_RefNannyFinishContext();
8190   return __pyx_r;
8191 }
8192 
8193 /* "Cython/Compiler/FlowControl.py":151
8194  *         return self.block
8195  *
8196  *     def is_tracked(self, entry):             # <<<<<<<<<<<<<<
8197  *         if entry.is_anonymous:
8198  *             return False
8199  */
8200 
8201 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_7is_tracked(PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /*proto*/
__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_is_tracked(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_entry,CYTHON_UNUSED int __pyx_skip_dispatch)8202 static int __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_is_tracked(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_entry, CYTHON_UNUSED int __pyx_skip_dispatch) {
8203   int __pyx_r;
8204   __Pyx_RefNannyDeclarations
8205   PyObject *__pyx_t_1 = NULL;
8206   int __pyx_t_2;
8207   int __pyx_t_3;
8208   int __pyx_lineno = 0;
8209   const char *__pyx_filename = NULL;
8210   int __pyx_clineno = 0;
8211   __Pyx_RefNannySetupContext("is_tracked", 0);
8212 
8213   /* "Cython/Compiler/FlowControl.py":152
8214  *
8215  *     def is_tracked(self, entry):
8216  *         if entry.is_anonymous:             # <<<<<<<<<<<<<<
8217  *             return False
8218  *         return (entry.is_local or entry.is_pyclass_attr or entry.is_arg or
8219  */
8220   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_is_anonymous); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 152, __pyx_L1_error)
8221   __Pyx_GOTREF(__pyx_t_1);
8222   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 152, __pyx_L1_error)
8223   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8224   if (__pyx_t_2) {
8225 
8226     /* "Cython/Compiler/FlowControl.py":153
8227  *     def is_tracked(self, entry):
8228  *         if entry.is_anonymous:
8229  *             return False             # <<<<<<<<<<<<<<
8230  *         return (entry.is_local or entry.is_pyclass_attr or entry.is_arg or
8231  *                 entry.from_closure or entry.in_closure or
8232  */
8233     __pyx_r = 0;
8234     goto __pyx_L0;
8235 
8236     /* "Cython/Compiler/FlowControl.py":152
8237  *
8238  *     def is_tracked(self, entry):
8239  *         if entry.is_anonymous:             # <<<<<<<<<<<<<<
8240  *             return False
8241  *         return (entry.is_local or entry.is_pyclass_attr or entry.is_arg or
8242  */
8243   }
8244 
8245   /* "Cython/Compiler/FlowControl.py":154
8246  *         if entry.is_anonymous:
8247  *             return False
8248  *         return (entry.is_local or entry.is_pyclass_attr or entry.is_arg or             # <<<<<<<<<<<<<<
8249  *                 entry.from_closure or entry.in_closure or
8250  *                 entry.error_on_uninitialized)
8251  */
8252   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_is_local); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 154, __pyx_L1_error)
8253   __Pyx_GOTREF(__pyx_t_1);
8254   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 154, __pyx_L1_error)
8255   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8256   if (!__pyx_t_3) {
8257   } else {
8258     __pyx_t_2 = __pyx_t_3;
8259     goto __pyx_L4_bool_binop_done;
8260   }
8261   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_is_pyclass_attr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 154, __pyx_L1_error)
8262   __Pyx_GOTREF(__pyx_t_1);
8263   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 154, __pyx_L1_error)
8264   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8265   if (!__pyx_t_3) {
8266   } else {
8267     __pyx_t_2 = __pyx_t_3;
8268     goto __pyx_L4_bool_binop_done;
8269   }
8270   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_is_arg); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 154, __pyx_L1_error)
8271   __Pyx_GOTREF(__pyx_t_1);
8272   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 154, __pyx_L1_error)
8273   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8274   if (!__pyx_t_3) {
8275   } else {
8276     __pyx_t_2 = __pyx_t_3;
8277     goto __pyx_L4_bool_binop_done;
8278   }
8279 
8280   /* "Cython/Compiler/FlowControl.py":155
8281  *             return False
8282  *         return (entry.is_local or entry.is_pyclass_attr or entry.is_arg or
8283  *                 entry.from_closure or entry.in_closure or             # <<<<<<<<<<<<<<
8284  *                 entry.error_on_uninitialized)
8285  *
8286  */
8287   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_from_closure); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 155, __pyx_L1_error)
8288   __Pyx_GOTREF(__pyx_t_1);
8289   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 155, __pyx_L1_error)
8290   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8291   if (!__pyx_t_3) {
8292   } else {
8293     __pyx_t_2 = __pyx_t_3;
8294     goto __pyx_L4_bool_binop_done;
8295   }
8296   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_in_closure); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 155, __pyx_L1_error)
8297   __Pyx_GOTREF(__pyx_t_1);
8298   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 155, __pyx_L1_error)
8299   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8300   if (!__pyx_t_3) {
8301   } else {
8302     __pyx_t_2 = __pyx_t_3;
8303     goto __pyx_L4_bool_binop_done;
8304   }
8305 
8306   /* "Cython/Compiler/FlowControl.py":156
8307  *         return (entry.is_local or entry.is_pyclass_attr or entry.is_arg or
8308  *                 entry.from_closure or entry.in_closure or
8309  *                 entry.error_on_uninitialized)             # <<<<<<<<<<<<<<
8310  *
8311  *     def is_statically_assigned(self, entry):
8312  */
8313   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_error_on_uninitialized); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 156, __pyx_L1_error)
8314   __Pyx_GOTREF(__pyx_t_1);
8315   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 156, __pyx_L1_error)
8316   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8317   __pyx_t_2 = __pyx_t_3;
8318   __pyx_L4_bool_binop_done:;
8319   __pyx_r = __pyx_t_2;
8320   goto __pyx_L0;
8321 
8322   /* "Cython/Compiler/FlowControl.py":151
8323  *         return self.block
8324  *
8325  *     def is_tracked(self, entry):             # <<<<<<<<<<<<<<
8326  *         if entry.is_anonymous:
8327  *             return False
8328  */
8329 
8330   /* function exit code */
8331   __pyx_L1_error:;
8332   __Pyx_XDECREF(__pyx_t_1);
8333   __Pyx_WriteUnraisable("Cython.Compiler.FlowControl.ControlFlow.is_tracked", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
8334   __pyx_r = 0;
8335   __pyx_L0:;
8336   __Pyx_RefNannyFinishContext();
8337   return __pyx_r;
8338 }
8339 
8340 /* Python wrapper */
8341 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_7is_tracked(PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /*proto*/
8342 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_7is_tracked = {"is_tracked", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_7is_tracked, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_7is_tracked(PyObject * __pyx_v_self,PyObject * __pyx_v_entry)8343 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_7is_tracked(PyObject *__pyx_v_self, PyObject *__pyx_v_entry) {
8344   PyObject *__pyx_r = 0;
8345   __Pyx_RefNannyDeclarations
8346   __Pyx_RefNannySetupContext("is_tracked (wrapper)", 0);
8347   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6is_tracked(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self), ((PyObject *)__pyx_v_entry));
8348 
8349   /* function exit code */
8350   __Pyx_RefNannyFinishContext();
8351   return __pyx_r;
8352 }
8353 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6is_tracked(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_entry)8354 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6is_tracked(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_entry) {
8355   PyObject *__pyx_r = NULL;
8356   __Pyx_RefNannyDeclarations
8357   PyObject *__pyx_t_1 = NULL;
8358   int __pyx_lineno = 0;
8359   const char *__pyx_filename = NULL;
8360   int __pyx_clineno = 0;
8361   __Pyx_RefNannySetupContext("is_tracked", 0);
8362   __Pyx_XDECREF(__pyx_r);
8363   __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_is_tracked(__pyx_v_self, __pyx_v_entry, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 151, __pyx_L1_error)
8364   __Pyx_GOTREF(__pyx_t_1);
8365   __pyx_r = __pyx_t_1;
8366   __pyx_t_1 = 0;
8367   goto __pyx_L0;
8368 
8369   /* function exit code */
8370   __pyx_L1_error:;
8371   __Pyx_XDECREF(__pyx_t_1);
8372   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.is_tracked", __pyx_clineno, __pyx_lineno, __pyx_filename);
8373   __pyx_r = NULL;
8374   __pyx_L0:;
8375   __Pyx_XGIVEREF(__pyx_r);
8376   __Pyx_RefNannyFinishContext();
8377   return __pyx_r;
8378 }
8379 
8380 /* "Cython/Compiler/FlowControl.py":158
8381  *                 entry.error_on_uninitialized)
8382  *
8383  *     def is_statically_assigned(self, entry):             # <<<<<<<<<<<<<<
8384  *         if (entry.is_local and entry.is_variable and
8385  *                 (entry.type.is_struct_or_union or
8386  */
8387 
8388 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_9is_statically_assigned(PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /*proto*/
__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_is_statically_assigned(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_entry,CYTHON_UNUSED int __pyx_skip_dispatch)8389 static int __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_is_statically_assigned(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_entry, CYTHON_UNUSED int __pyx_skip_dispatch) {
8390   int __pyx_r;
8391   __Pyx_RefNannyDeclarations
8392   int __pyx_t_1;
8393   PyObject *__pyx_t_2 = NULL;
8394   int __pyx_t_3;
8395   PyObject *__pyx_t_4 = NULL;
8396   int __pyx_lineno = 0;
8397   const char *__pyx_filename = NULL;
8398   int __pyx_clineno = 0;
8399   __Pyx_RefNannySetupContext("is_statically_assigned", 0);
8400 
8401   /* "Cython/Compiler/FlowControl.py":159
8402  *
8403  *     def is_statically_assigned(self, entry):
8404  *         if (entry.is_local and entry.is_variable and             # <<<<<<<<<<<<<<
8405  *                 (entry.type.is_struct_or_union or
8406  *                  entry.type.is_complex or
8407  */
8408   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_is_local); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 159, __pyx_L1_error)
8409   __Pyx_GOTREF(__pyx_t_2);
8410   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 159, __pyx_L1_error)
8411   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8412   if (__pyx_t_3) {
8413   } else {
8414     __pyx_t_1 = __pyx_t_3;
8415     goto __pyx_L4_bool_binop_done;
8416   }
8417   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_is_variable); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 159, __pyx_L1_error)
8418   __Pyx_GOTREF(__pyx_t_2);
8419   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 159, __pyx_L1_error)
8420   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8421   if (__pyx_t_3) {
8422   } else {
8423     __pyx_t_1 = __pyx_t_3;
8424     goto __pyx_L4_bool_binop_done;
8425   }
8426 
8427   /* "Cython/Compiler/FlowControl.py":160
8428  *     def is_statically_assigned(self, entry):
8429  *         if (entry.is_local and entry.is_variable and
8430  *                 (entry.type.is_struct_or_union or             # <<<<<<<<<<<<<<
8431  *                  entry.type.is_complex or
8432  *                  entry.type.is_array or
8433  */
8434   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 160, __pyx_L1_error)
8435   __Pyx_GOTREF(__pyx_t_2);
8436   __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_is_struct_or_union); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 160, __pyx_L1_error)
8437   __Pyx_GOTREF(__pyx_t_4);
8438   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8439   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 160, __pyx_L1_error)
8440   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
8441   if (!__pyx_t_3) {
8442   } else {
8443     __pyx_t_1 = __pyx_t_3;
8444     goto __pyx_L4_bool_binop_done;
8445   }
8446 
8447   /* "Cython/Compiler/FlowControl.py":161
8448  *         if (entry.is_local and entry.is_variable and
8449  *                 (entry.type.is_struct_or_union or
8450  *                  entry.type.is_complex or             # <<<<<<<<<<<<<<
8451  *                  entry.type.is_array or
8452  *                  entry.type.is_cpp_class)):
8453  */
8454   __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 161, __pyx_L1_error)
8455   __Pyx_GOTREF(__pyx_t_4);
8456   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_is_complex); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 161, __pyx_L1_error)
8457   __Pyx_GOTREF(__pyx_t_2);
8458   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
8459   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 161, __pyx_L1_error)
8460   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8461   if (!__pyx_t_3) {
8462   } else {
8463     __pyx_t_1 = __pyx_t_3;
8464     goto __pyx_L4_bool_binop_done;
8465   }
8466 
8467   /* "Cython/Compiler/FlowControl.py":162
8468  *                 (entry.type.is_struct_or_union or
8469  *                  entry.type.is_complex or
8470  *                  entry.type.is_array or             # <<<<<<<<<<<<<<
8471  *                  entry.type.is_cpp_class)):
8472  *             # stack allocated structured variable => never uninitialised
8473  */
8474   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 162, __pyx_L1_error)
8475   __Pyx_GOTREF(__pyx_t_2);
8476   __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_is_array); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 162, __pyx_L1_error)
8477   __Pyx_GOTREF(__pyx_t_4);
8478   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8479   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 162, __pyx_L1_error)
8480   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
8481   if (!__pyx_t_3) {
8482   } else {
8483     __pyx_t_1 = __pyx_t_3;
8484     goto __pyx_L4_bool_binop_done;
8485   }
8486 
8487   /* "Cython/Compiler/FlowControl.py":163
8488  *                  entry.type.is_complex or
8489  *                  entry.type.is_array or
8490  *                  entry.type.is_cpp_class)):             # <<<<<<<<<<<<<<
8491  *             # stack allocated structured variable => never uninitialised
8492  *             return True
8493  */
8494   __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 163, __pyx_L1_error)
8495   __Pyx_GOTREF(__pyx_t_4);
8496   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_is_cpp_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 163, __pyx_L1_error)
8497   __Pyx_GOTREF(__pyx_t_2);
8498   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
8499   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 163, __pyx_L1_error)
8500   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8501   __pyx_t_1 = __pyx_t_3;
8502   __pyx_L4_bool_binop_done:;
8503 
8504   /* "Cython/Compiler/FlowControl.py":159
8505  *
8506  *     def is_statically_assigned(self, entry):
8507  *         if (entry.is_local and entry.is_variable and             # <<<<<<<<<<<<<<
8508  *                 (entry.type.is_struct_or_union or
8509  *                  entry.type.is_complex or
8510  */
8511   if (__pyx_t_1) {
8512 
8513     /* "Cython/Compiler/FlowControl.py":165
8514  *                  entry.type.is_cpp_class)):
8515  *             # stack allocated structured variable => never uninitialised
8516  *             return True             # <<<<<<<<<<<<<<
8517  *         return False
8518  *
8519  */
8520     __pyx_r = 1;
8521     goto __pyx_L0;
8522 
8523     /* "Cython/Compiler/FlowControl.py":159
8524  *
8525  *     def is_statically_assigned(self, entry):
8526  *         if (entry.is_local and entry.is_variable and             # <<<<<<<<<<<<<<
8527  *                 (entry.type.is_struct_or_union or
8528  *                  entry.type.is_complex or
8529  */
8530   }
8531 
8532   /* "Cython/Compiler/FlowControl.py":166
8533  *             # stack allocated structured variable => never uninitialised
8534  *             return True
8535  *         return False             # <<<<<<<<<<<<<<
8536  *
8537  *     def mark_position(self, node):
8538  */
8539   __pyx_r = 0;
8540   goto __pyx_L0;
8541 
8542   /* "Cython/Compiler/FlowControl.py":158
8543  *                 entry.error_on_uninitialized)
8544  *
8545  *     def is_statically_assigned(self, entry):             # <<<<<<<<<<<<<<
8546  *         if (entry.is_local and entry.is_variable and
8547  *                 (entry.type.is_struct_or_union or
8548  */
8549 
8550   /* function exit code */
8551   __pyx_L1_error:;
8552   __Pyx_XDECREF(__pyx_t_2);
8553   __Pyx_XDECREF(__pyx_t_4);
8554   __Pyx_WriteUnraisable("Cython.Compiler.FlowControl.ControlFlow.is_statically_assigned", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
8555   __pyx_r = 0;
8556   __pyx_L0:;
8557   __Pyx_RefNannyFinishContext();
8558   return __pyx_r;
8559 }
8560 
8561 /* Python wrapper */
8562 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_9is_statically_assigned(PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /*proto*/
8563 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_9is_statically_assigned = {"is_statically_assigned", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_9is_statically_assigned, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_9is_statically_assigned(PyObject * __pyx_v_self,PyObject * __pyx_v_entry)8564 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_9is_statically_assigned(PyObject *__pyx_v_self, PyObject *__pyx_v_entry) {
8565   PyObject *__pyx_r = 0;
8566   __Pyx_RefNannyDeclarations
8567   __Pyx_RefNannySetupContext("is_statically_assigned (wrapper)", 0);
8568   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_8is_statically_assigned(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self), ((PyObject *)__pyx_v_entry));
8569 
8570   /* function exit code */
8571   __Pyx_RefNannyFinishContext();
8572   return __pyx_r;
8573 }
8574 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_8is_statically_assigned(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_entry)8575 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_8is_statically_assigned(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_entry) {
8576   PyObject *__pyx_r = NULL;
8577   __Pyx_RefNannyDeclarations
8578   PyObject *__pyx_t_1 = NULL;
8579   int __pyx_lineno = 0;
8580   const char *__pyx_filename = NULL;
8581   int __pyx_clineno = 0;
8582   __Pyx_RefNannySetupContext("is_statically_assigned", 0);
8583   __Pyx_XDECREF(__pyx_r);
8584   __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_is_statically_assigned(__pyx_v_self, __pyx_v_entry, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 158, __pyx_L1_error)
8585   __Pyx_GOTREF(__pyx_t_1);
8586   __pyx_r = __pyx_t_1;
8587   __pyx_t_1 = 0;
8588   goto __pyx_L0;
8589 
8590   /* function exit code */
8591   __pyx_L1_error:;
8592   __Pyx_XDECREF(__pyx_t_1);
8593   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.is_statically_assigned", __pyx_clineno, __pyx_lineno, __pyx_filename);
8594   __pyx_r = NULL;
8595   __pyx_L0:;
8596   __Pyx_XGIVEREF(__pyx_r);
8597   __Pyx_RefNannyFinishContext();
8598   return __pyx_r;
8599 }
8600 
8601 /* "Cython/Compiler/FlowControl.py":168
8602  *         return False
8603  *
8604  *     def mark_position(self, node):             # <<<<<<<<<<<<<<
8605  *         """Mark position, will be used to draw graph nodes."""
8606  *         if self.block:
8607  */
8608 
8609 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_11mark_position(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_position(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_node,CYTHON_UNUSED int __pyx_skip_dispatch)8610 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_position(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_node, CYTHON_UNUSED int __pyx_skip_dispatch) {
8611   PyObject *__pyx_r = NULL;
8612   __Pyx_RefNannyDeclarations
8613   int __pyx_t_1;
8614   PyObject *__pyx_t_2 = NULL;
8615   PyObject *__pyx_t_3 = NULL;
8616   int __pyx_t_4;
8617   int __pyx_lineno = 0;
8618   const char *__pyx_filename = NULL;
8619   int __pyx_clineno = 0;
8620   __Pyx_RefNannySetupContext("mark_position", 0);
8621 
8622   /* "Cython/Compiler/FlowControl.py":170
8623  *     def mark_position(self, node):
8624  *         """Mark position, will be used to draw graph nodes."""
8625  *         if self.block:             # <<<<<<<<<<<<<<
8626  *             self.block.positions.add(node.pos[:2])
8627  *
8628  */
8629   __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->block)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 170, __pyx_L1_error)
8630   if (__pyx_t_1) {
8631 
8632     /* "Cython/Compiler/FlowControl.py":171
8633  *         """Mark position, will be used to draw graph nodes."""
8634  *         if self.block:
8635  *             self.block.positions.add(node.pos[:2])             # <<<<<<<<<<<<<<
8636  *
8637  *     def mark_assignment(self, lhs, rhs, entry):
8638  */
8639     if (unlikely(__pyx_v_self->block->positions == Py_None)) {
8640       PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "add");
8641       __PYX_ERR(0, 171, __pyx_L1_error)
8642     }
8643     __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 171, __pyx_L1_error)
8644     __Pyx_GOTREF(__pyx_t_2);
8645     __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_t_2, 0, 2, NULL, NULL, &__pyx_slice_, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 171, __pyx_L1_error)
8646     __Pyx_GOTREF(__pyx_t_3);
8647     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8648     __pyx_t_4 = PySet_Add(__pyx_v_self->block->positions, __pyx_t_3); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 171, __pyx_L1_error)
8649     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8650 
8651     /* "Cython/Compiler/FlowControl.py":170
8652  *     def mark_position(self, node):
8653  *         """Mark position, will be used to draw graph nodes."""
8654  *         if self.block:             # <<<<<<<<<<<<<<
8655  *             self.block.positions.add(node.pos[:2])
8656  *
8657  */
8658   }
8659 
8660   /* "Cython/Compiler/FlowControl.py":168
8661  *         return False
8662  *
8663  *     def mark_position(self, node):             # <<<<<<<<<<<<<<
8664  *         """Mark position, will be used to draw graph nodes."""
8665  *         if self.block:
8666  */
8667 
8668   /* function exit code */
8669   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
8670   goto __pyx_L0;
8671   __pyx_L1_error:;
8672   __Pyx_XDECREF(__pyx_t_2);
8673   __Pyx_XDECREF(__pyx_t_3);
8674   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.mark_position", __pyx_clineno, __pyx_lineno, __pyx_filename);
8675   __pyx_r = 0;
8676   __pyx_L0:;
8677   __Pyx_XGIVEREF(__pyx_r);
8678   __Pyx_RefNannyFinishContext();
8679   return __pyx_r;
8680 }
8681 
8682 /* Python wrapper */
8683 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_11mark_position(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
8684 static char __pyx_doc_6Cython_8Compiler_11FlowControl_11ControlFlow_10mark_position[] = "Mark position, will be used to draw graph nodes.";
8685 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_11mark_position = {"mark_position", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_11mark_position, METH_O, __pyx_doc_6Cython_8Compiler_11FlowControl_11ControlFlow_10mark_position};
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_11mark_position(PyObject * __pyx_v_self,PyObject * __pyx_v_node)8686 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_11mark_position(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
8687   PyObject *__pyx_r = 0;
8688   __Pyx_RefNannyDeclarations
8689   __Pyx_RefNannySetupContext("mark_position (wrapper)", 0);
8690   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10mark_position(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self), ((PyObject *)__pyx_v_node));
8691 
8692   /* function exit code */
8693   __Pyx_RefNannyFinishContext();
8694   return __pyx_r;
8695 }
8696 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10mark_position(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_node)8697 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10mark_position(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_node) {
8698   PyObject *__pyx_r = NULL;
8699   __Pyx_RefNannyDeclarations
8700   PyObject *__pyx_t_1 = NULL;
8701   int __pyx_lineno = 0;
8702   const char *__pyx_filename = NULL;
8703   int __pyx_clineno = 0;
8704   __Pyx_RefNannySetupContext("mark_position", 0);
8705   __Pyx_XDECREF(__pyx_r);
8706   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_position(__pyx_v_self, __pyx_v_node, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 168, __pyx_L1_error)
8707   __Pyx_GOTREF(__pyx_t_1);
8708   __pyx_r = __pyx_t_1;
8709   __pyx_t_1 = 0;
8710   goto __pyx_L0;
8711 
8712   /* function exit code */
8713   __pyx_L1_error:;
8714   __Pyx_XDECREF(__pyx_t_1);
8715   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.mark_position", __pyx_clineno, __pyx_lineno, __pyx_filename);
8716   __pyx_r = NULL;
8717   __pyx_L0:;
8718   __Pyx_XGIVEREF(__pyx_r);
8719   __Pyx_RefNannyFinishContext();
8720   return __pyx_r;
8721 }
8722 
8723 /* "Cython/Compiler/FlowControl.py":173
8724  *             self.block.positions.add(node.pos[:2])
8725  *
8726  *     def mark_assignment(self, lhs, rhs, entry):             # <<<<<<<<<<<<<<
8727  *         if self.block and self.is_tracked(entry):
8728  *             assignment = NameAssignment(lhs, rhs, entry)
8729  */
8730 
8731 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_13mark_assignment(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_assignment(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_lhs,PyObject * __pyx_v_rhs,PyObject * __pyx_v_entry,CYTHON_UNUSED int __pyx_skip_dispatch)8732 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_assignment(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs, PyObject *__pyx_v_entry, CYTHON_UNUSED int __pyx_skip_dispatch) {
8733   struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_assignment = NULL;
8734   PyObject *__pyx_r = NULL;
8735   __Pyx_RefNannyDeclarations
8736   int __pyx_t_1;
8737   int __pyx_t_2;
8738   PyObject *__pyx_t_3 = NULL;
8739   PyObject *__pyx_t_4 = NULL;
8740   int __pyx_t_5;
8741   int __pyx_lineno = 0;
8742   const char *__pyx_filename = NULL;
8743   int __pyx_clineno = 0;
8744   __Pyx_RefNannySetupContext("mark_assignment", 0);
8745 
8746   /* "Cython/Compiler/FlowControl.py":174
8747  *
8748  *     def mark_assignment(self, lhs, rhs, entry):
8749  *         if self.block and self.is_tracked(entry):             # <<<<<<<<<<<<<<
8750  *             assignment = NameAssignment(lhs, rhs, entry)
8751  *             self.block.stats.append(assignment)
8752  */
8753   __pyx_t_2 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->block)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 174, __pyx_L1_error)
8754   if (__pyx_t_2) {
8755   } else {
8756     __pyx_t_1 = __pyx_t_2;
8757     goto __pyx_L4_bool_binop_done;
8758   }
8759   __pyx_t_2 = (__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_is_tracked(__pyx_v_self, __pyx_v_entry, 0) != 0);
8760   __pyx_t_1 = __pyx_t_2;
8761   __pyx_L4_bool_binop_done:;
8762   if (__pyx_t_1) {
8763 
8764     /* "Cython/Compiler/FlowControl.py":175
8765  *     def mark_assignment(self, lhs, rhs, entry):
8766  *         if self.block and self.is_tracked(entry):
8767  *             assignment = NameAssignment(lhs, rhs, entry)             # <<<<<<<<<<<<<<
8768  *             self.block.stats.append(assignment)
8769  *             self.block.gen[entry] = assignment
8770  */
8771     __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 175, __pyx_L1_error)
8772     __Pyx_GOTREF(__pyx_t_3);
8773     __Pyx_INCREF(__pyx_v_lhs);
8774     __Pyx_GIVEREF(__pyx_v_lhs);
8775     PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_lhs);
8776     __Pyx_INCREF(__pyx_v_rhs);
8777     __Pyx_GIVEREF(__pyx_v_rhs);
8778     PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_rhs);
8779     __Pyx_INCREF(__pyx_v_entry);
8780     __Pyx_GIVEREF(__pyx_v_entry);
8781     PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_entry);
8782     __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment), __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 175, __pyx_L1_error)
8783     __Pyx_GOTREF(__pyx_t_4);
8784     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8785     __pyx_v_assignment = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_t_4);
8786     __pyx_t_4 = 0;
8787 
8788     /* "Cython/Compiler/FlowControl.py":176
8789  *         if self.block and self.is_tracked(entry):
8790  *             assignment = NameAssignment(lhs, rhs, entry)
8791  *             self.block.stats.append(assignment)             # <<<<<<<<<<<<<<
8792  *             self.block.gen[entry] = assignment
8793  *             self.entries.add(entry)
8794  */
8795     if (unlikely(__pyx_v_self->block->stats == Py_None)) {
8796       PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
8797       __PYX_ERR(0, 176, __pyx_L1_error)
8798     }
8799     __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_self->block->stats, ((PyObject *)__pyx_v_assignment)); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 176, __pyx_L1_error)
8800 
8801     /* "Cython/Compiler/FlowControl.py":177
8802  *             assignment = NameAssignment(lhs, rhs, entry)
8803  *             self.block.stats.append(assignment)
8804  *             self.block.gen[entry] = assignment             # <<<<<<<<<<<<<<
8805  *             self.entries.add(entry)
8806  *
8807  */
8808     if (unlikely(__pyx_v_self->block->gen == Py_None)) {
8809       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
8810       __PYX_ERR(0, 177, __pyx_L1_error)
8811     }
8812     if (unlikely(PyDict_SetItem(__pyx_v_self->block->gen, __pyx_v_entry, ((PyObject *)__pyx_v_assignment)) < 0)) __PYX_ERR(0, 177, __pyx_L1_error)
8813 
8814     /* "Cython/Compiler/FlowControl.py":178
8815  *             self.block.stats.append(assignment)
8816  *             self.block.gen[entry] = assignment
8817  *             self.entries.add(entry)             # <<<<<<<<<<<<<<
8818  *
8819  *     def mark_argument(self, lhs, rhs, entry):
8820  */
8821     if (unlikely(__pyx_v_self->entries == Py_None)) {
8822       PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "add");
8823       __PYX_ERR(0, 178, __pyx_L1_error)
8824     }
8825     __pyx_t_5 = PySet_Add(__pyx_v_self->entries, __pyx_v_entry); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 178, __pyx_L1_error)
8826 
8827     /* "Cython/Compiler/FlowControl.py":174
8828  *
8829  *     def mark_assignment(self, lhs, rhs, entry):
8830  *         if self.block and self.is_tracked(entry):             # <<<<<<<<<<<<<<
8831  *             assignment = NameAssignment(lhs, rhs, entry)
8832  *             self.block.stats.append(assignment)
8833  */
8834   }
8835 
8836   /* "Cython/Compiler/FlowControl.py":173
8837  *             self.block.positions.add(node.pos[:2])
8838  *
8839  *     def mark_assignment(self, lhs, rhs, entry):             # <<<<<<<<<<<<<<
8840  *         if self.block and self.is_tracked(entry):
8841  *             assignment = NameAssignment(lhs, rhs, entry)
8842  */
8843 
8844   /* function exit code */
8845   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
8846   goto __pyx_L0;
8847   __pyx_L1_error:;
8848   __Pyx_XDECREF(__pyx_t_3);
8849   __Pyx_XDECREF(__pyx_t_4);
8850   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.mark_assignment", __pyx_clineno, __pyx_lineno, __pyx_filename);
8851   __pyx_r = 0;
8852   __pyx_L0:;
8853   __Pyx_XDECREF((PyObject *)__pyx_v_assignment);
8854   __Pyx_XGIVEREF(__pyx_r);
8855   __Pyx_RefNannyFinishContext();
8856   return __pyx_r;
8857 }
8858 
8859 /* Python wrapper */
8860 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_13mark_assignment(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
8861 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_13mark_assignment = {"mark_assignment", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_13mark_assignment, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_13mark_assignment(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)8862 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_13mark_assignment(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
8863   PyObject *__pyx_v_lhs = 0;
8864   PyObject *__pyx_v_rhs = 0;
8865   PyObject *__pyx_v_entry = 0;
8866   int __pyx_lineno = 0;
8867   const char *__pyx_filename = NULL;
8868   int __pyx_clineno = 0;
8869   PyObject *__pyx_r = 0;
8870   __Pyx_RefNannyDeclarations
8871   __Pyx_RefNannySetupContext("mark_assignment (wrapper)", 0);
8872   {
8873     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_lhs,&__pyx_n_s_rhs,&__pyx_n_s_entry,0};
8874     PyObject* values[3] = {0,0,0};
8875     if (unlikely(__pyx_kwds)) {
8876       Py_ssize_t kw_args;
8877       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
8878       switch (pos_args) {
8879         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
8880         CYTHON_FALLTHROUGH;
8881         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
8882         CYTHON_FALLTHROUGH;
8883         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
8884         CYTHON_FALLTHROUGH;
8885         case  0: break;
8886         default: goto __pyx_L5_argtuple_error;
8887       }
8888       kw_args = PyDict_Size(__pyx_kwds);
8889       switch (pos_args) {
8890         case  0:
8891         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lhs)) != 0)) kw_args--;
8892         else goto __pyx_L5_argtuple_error;
8893         CYTHON_FALLTHROUGH;
8894         case  1:
8895         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_rhs)) != 0)) kw_args--;
8896         else {
8897           __Pyx_RaiseArgtupleInvalid("mark_assignment", 1, 3, 3, 1); __PYX_ERR(0, 173, __pyx_L3_error)
8898         }
8899         CYTHON_FALLTHROUGH;
8900         case  2:
8901         if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
8902         else {
8903           __Pyx_RaiseArgtupleInvalid("mark_assignment", 1, 3, 3, 2); __PYX_ERR(0, 173, __pyx_L3_error)
8904         }
8905       }
8906       if (unlikely(kw_args > 0)) {
8907         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "mark_assignment") < 0)) __PYX_ERR(0, 173, __pyx_L3_error)
8908       }
8909     } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
8910       goto __pyx_L5_argtuple_error;
8911     } else {
8912       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
8913       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
8914       values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
8915     }
8916     __pyx_v_lhs = values[0];
8917     __pyx_v_rhs = values[1];
8918     __pyx_v_entry = values[2];
8919   }
8920   goto __pyx_L4_argument_unpacking_done;
8921   __pyx_L5_argtuple_error:;
8922   __Pyx_RaiseArgtupleInvalid("mark_assignment", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 173, __pyx_L3_error)
8923   __pyx_L3_error:;
8924   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.mark_assignment", __pyx_clineno, __pyx_lineno, __pyx_filename);
8925   __Pyx_RefNannyFinishContext();
8926   return NULL;
8927   __pyx_L4_argument_unpacking_done:;
8928   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_12mark_assignment(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self), __pyx_v_lhs, __pyx_v_rhs, __pyx_v_entry);
8929 
8930   /* function exit code */
8931   __Pyx_RefNannyFinishContext();
8932   return __pyx_r;
8933 }
8934 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_12mark_assignment(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_lhs,PyObject * __pyx_v_rhs,PyObject * __pyx_v_entry)8935 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_12mark_assignment(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs, PyObject *__pyx_v_entry) {
8936   PyObject *__pyx_r = NULL;
8937   __Pyx_RefNannyDeclarations
8938   PyObject *__pyx_t_1 = NULL;
8939   int __pyx_lineno = 0;
8940   const char *__pyx_filename = NULL;
8941   int __pyx_clineno = 0;
8942   __Pyx_RefNannySetupContext("mark_assignment", 0);
8943   __Pyx_XDECREF(__pyx_r);
8944   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_assignment(__pyx_v_self, __pyx_v_lhs, __pyx_v_rhs, __pyx_v_entry, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 173, __pyx_L1_error)
8945   __Pyx_GOTREF(__pyx_t_1);
8946   __pyx_r = __pyx_t_1;
8947   __pyx_t_1 = 0;
8948   goto __pyx_L0;
8949 
8950   /* function exit code */
8951   __pyx_L1_error:;
8952   __Pyx_XDECREF(__pyx_t_1);
8953   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.mark_assignment", __pyx_clineno, __pyx_lineno, __pyx_filename);
8954   __pyx_r = NULL;
8955   __pyx_L0:;
8956   __Pyx_XGIVEREF(__pyx_r);
8957   __Pyx_RefNannyFinishContext();
8958   return __pyx_r;
8959 }
8960 
8961 /* "Cython/Compiler/FlowControl.py":180
8962  *             self.entries.add(entry)
8963  *
8964  *     def mark_argument(self, lhs, rhs, entry):             # <<<<<<<<<<<<<<
8965  *         if self.block and self.is_tracked(entry):
8966  *             assignment = Argument(lhs, rhs, entry)
8967  */
8968 
8969 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_15mark_argument(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_argument(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_lhs,PyObject * __pyx_v_rhs,PyObject * __pyx_v_entry,CYTHON_UNUSED int __pyx_skip_dispatch)8970 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_argument(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs, PyObject *__pyx_v_entry, CYTHON_UNUSED int __pyx_skip_dispatch) {
8971   PyObject *__pyx_v_assignment = NULL;
8972   PyObject *__pyx_r = NULL;
8973   __Pyx_RefNannyDeclarations
8974   int __pyx_t_1;
8975   int __pyx_t_2;
8976   PyObject *__pyx_t_3 = NULL;
8977   PyObject *__pyx_t_4 = NULL;
8978   PyObject *__pyx_t_5 = NULL;
8979   int __pyx_t_6;
8980   PyObject *__pyx_t_7 = NULL;
8981   int __pyx_t_8;
8982   int __pyx_lineno = 0;
8983   const char *__pyx_filename = NULL;
8984   int __pyx_clineno = 0;
8985   __Pyx_RefNannySetupContext("mark_argument", 0);
8986 
8987   /* "Cython/Compiler/FlowControl.py":181
8988  *
8989  *     def mark_argument(self, lhs, rhs, entry):
8990  *         if self.block and self.is_tracked(entry):             # <<<<<<<<<<<<<<
8991  *             assignment = Argument(lhs, rhs, entry)
8992  *             self.block.stats.append(assignment)
8993  */
8994   __pyx_t_2 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->block)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 181, __pyx_L1_error)
8995   if (__pyx_t_2) {
8996   } else {
8997     __pyx_t_1 = __pyx_t_2;
8998     goto __pyx_L4_bool_binop_done;
8999   }
9000   __pyx_t_2 = (__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_is_tracked(__pyx_v_self, __pyx_v_entry, 0) != 0);
9001   __pyx_t_1 = __pyx_t_2;
9002   __pyx_L4_bool_binop_done:;
9003   if (__pyx_t_1) {
9004 
9005     /* "Cython/Compiler/FlowControl.py":182
9006  *     def mark_argument(self, lhs, rhs, entry):
9007  *         if self.block and self.is_tracked(entry):
9008  *             assignment = Argument(lhs, rhs, entry)             # <<<<<<<<<<<<<<
9009  *             self.block.stats.append(assignment)
9010  *             self.block.gen[entry] = assignment
9011  */
9012     __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Argument); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 182, __pyx_L1_error)
9013     __Pyx_GOTREF(__pyx_t_4);
9014     __pyx_t_5 = NULL;
9015     __pyx_t_6 = 0;
9016     if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
9017       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
9018       if (likely(__pyx_t_5)) {
9019         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
9020         __Pyx_INCREF(__pyx_t_5);
9021         __Pyx_INCREF(function);
9022         __Pyx_DECREF_SET(__pyx_t_4, function);
9023         __pyx_t_6 = 1;
9024       }
9025     }
9026     #if CYTHON_FAST_PYCALL
9027     if (PyFunction_Check(__pyx_t_4)) {
9028       PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_lhs, __pyx_v_rhs, __pyx_v_entry};
9029       __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 182, __pyx_L1_error)
9030       __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
9031       __Pyx_GOTREF(__pyx_t_3);
9032     } else
9033     #endif
9034     #if CYTHON_FAST_PYCCALL
9035     if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
9036       PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_lhs, __pyx_v_rhs, __pyx_v_entry};
9037       __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 182, __pyx_L1_error)
9038       __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
9039       __Pyx_GOTREF(__pyx_t_3);
9040     } else
9041     #endif
9042     {
9043       __pyx_t_7 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 182, __pyx_L1_error)
9044       __Pyx_GOTREF(__pyx_t_7);
9045       if (__pyx_t_5) {
9046         __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
9047       }
9048       __Pyx_INCREF(__pyx_v_lhs);
9049       __Pyx_GIVEREF(__pyx_v_lhs);
9050       PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_lhs);
9051       __Pyx_INCREF(__pyx_v_rhs);
9052       __Pyx_GIVEREF(__pyx_v_rhs);
9053       PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_rhs);
9054       __Pyx_INCREF(__pyx_v_entry);
9055       __Pyx_GIVEREF(__pyx_v_entry);
9056       PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_v_entry);
9057       __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 182, __pyx_L1_error)
9058       __Pyx_GOTREF(__pyx_t_3);
9059       __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
9060     }
9061     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
9062     __pyx_v_assignment = __pyx_t_3;
9063     __pyx_t_3 = 0;
9064 
9065     /* "Cython/Compiler/FlowControl.py":183
9066  *         if self.block and self.is_tracked(entry):
9067  *             assignment = Argument(lhs, rhs, entry)
9068  *             self.block.stats.append(assignment)             # <<<<<<<<<<<<<<
9069  *             self.block.gen[entry] = assignment
9070  *             self.entries.add(entry)
9071  */
9072     if (unlikely(__pyx_v_self->block->stats == Py_None)) {
9073       PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
9074       __PYX_ERR(0, 183, __pyx_L1_error)
9075     }
9076     __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_self->block->stats, __pyx_v_assignment); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 183, __pyx_L1_error)
9077 
9078     /* "Cython/Compiler/FlowControl.py":184
9079  *             assignment = Argument(lhs, rhs, entry)
9080  *             self.block.stats.append(assignment)
9081  *             self.block.gen[entry] = assignment             # <<<<<<<<<<<<<<
9082  *             self.entries.add(entry)
9083  *
9084  */
9085     if (unlikely(__pyx_v_self->block->gen == Py_None)) {
9086       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
9087       __PYX_ERR(0, 184, __pyx_L1_error)
9088     }
9089     if (unlikely(PyDict_SetItem(__pyx_v_self->block->gen, __pyx_v_entry, __pyx_v_assignment) < 0)) __PYX_ERR(0, 184, __pyx_L1_error)
9090 
9091     /* "Cython/Compiler/FlowControl.py":185
9092  *             self.block.stats.append(assignment)
9093  *             self.block.gen[entry] = assignment
9094  *             self.entries.add(entry)             # <<<<<<<<<<<<<<
9095  *
9096  *     def mark_deletion(self, node, entry):
9097  */
9098     if (unlikely(__pyx_v_self->entries == Py_None)) {
9099       PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "add");
9100       __PYX_ERR(0, 185, __pyx_L1_error)
9101     }
9102     __pyx_t_8 = PySet_Add(__pyx_v_self->entries, __pyx_v_entry); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 185, __pyx_L1_error)
9103 
9104     /* "Cython/Compiler/FlowControl.py":181
9105  *
9106  *     def mark_argument(self, lhs, rhs, entry):
9107  *         if self.block and self.is_tracked(entry):             # <<<<<<<<<<<<<<
9108  *             assignment = Argument(lhs, rhs, entry)
9109  *             self.block.stats.append(assignment)
9110  */
9111   }
9112 
9113   /* "Cython/Compiler/FlowControl.py":180
9114  *             self.entries.add(entry)
9115  *
9116  *     def mark_argument(self, lhs, rhs, entry):             # <<<<<<<<<<<<<<
9117  *         if self.block and self.is_tracked(entry):
9118  *             assignment = Argument(lhs, rhs, entry)
9119  */
9120 
9121   /* function exit code */
9122   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
9123   goto __pyx_L0;
9124   __pyx_L1_error:;
9125   __Pyx_XDECREF(__pyx_t_3);
9126   __Pyx_XDECREF(__pyx_t_4);
9127   __Pyx_XDECREF(__pyx_t_5);
9128   __Pyx_XDECREF(__pyx_t_7);
9129   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.mark_argument", __pyx_clineno, __pyx_lineno, __pyx_filename);
9130   __pyx_r = 0;
9131   __pyx_L0:;
9132   __Pyx_XDECREF(__pyx_v_assignment);
9133   __Pyx_XGIVEREF(__pyx_r);
9134   __Pyx_RefNannyFinishContext();
9135   return __pyx_r;
9136 }
9137 
9138 /* Python wrapper */
9139 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_15mark_argument(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
9140 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_15mark_argument = {"mark_argument", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_15mark_argument, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_15mark_argument(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)9141 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_15mark_argument(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
9142   PyObject *__pyx_v_lhs = 0;
9143   PyObject *__pyx_v_rhs = 0;
9144   PyObject *__pyx_v_entry = 0;
9145   int __pyx_lineno = 0;
9146   const char *__pyx_filename = NULL;
9147   int __pyx_clineno = 0;
9148   PyObject *__pyx_r = 0;
9149   __Pyx_RefNannyDeclarations
9150   __Pyx_RefNannySetupContext("mark_argument (wrapper)", 0);
9151   {
9152     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_lhs,&__pyx_n_s_rhs,&__pyx_n_s_entry,0};
9153     PyObject* values[3] = {0,0,0};
9154     if (unlikely(__pyx_kwds)) {
9155       Py_ssize_t kw_args;
9156       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
9157       switch (pos_args) {
9158         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
9159         CYTHON_FALLTHROUGH;
9160         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
9161         CYTHON_FALLTHROUGH;
9162         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
9163         CYTHON_FALLTHROUGH;
9164         case  0: break;
9165         default: goto __pyx_L5_argtuple_error;
9166       }
9167       kw_args = PyDict_Size(__pyx_kwds);
9168       switch (pos_args) {
9169         case  0:
9170         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lhs)) != 0)) kw_args--;
9171         else goto __pyx_L5_argtuple_error;
9172         CYTHON_FALLTHROUGH;
9173         case  1:
9174         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_rhs)) != 0)) kw_args--;
9175         else {
9176           __Pyx_RaiseArgtupleInvalid("mark_argument", 1, 3, 3, 1); __PYX_ERR(0, 180, __pyx_L3_error)
9177         }
9178         CYTHON_FALLTHROUGH;
9179         case  2:
9180         if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
9181         else {
9182           __Pyx_RaiseArgtupleInvalid("mark_argument", 1, 3, 3, 2); __PYX_ERR(0, 180, __pyx_L3_error)
9183         }
9184       }
9185       if (unlikely(kw_args > 0)) {
9186         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "mark_argument") < 0)) __PYX_ERR(0, 180, __pyx_L3_error)
9187       }
9188     } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
9189       goto __pyx_L5_argtuple_error;
9190     } else {
9191       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
9192       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
9193       values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
9194     }
9195     __pyx_v_lhs = values[0];
9196     __pyx_v_rhs = values[1];
9197     __pyx_v_entry = values[2];
9198   }
9199   goto __pyx_L4_argument_unpacking_done;
9200   __pyx_L5_argtuple_error:;
9201   __Pyx_RaiseArgtupleInvalid("mark_argument", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 180, __pyx_L3_error)
9202   __pyx_L3_error:;
9203   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.mark_argument", __pyx_clineno, __pyx_lineno, __pyx_filename);
9204   __Pyx_RefNannyFinishContext();
9205   return NULL;
9206   __pyx_L4_argument_unpacking_done:;
9207   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_14mark_argument(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self), __pyx_v_lhs, __pyx_v_rhs, __pyx_v_entry);
9208 
9209   /* function exit code */
9210   __Pyx_RefNannyFinishContext();
9211   return __pyx_r;
9212 }
9213 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_14mark_argument(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_lhs,PyObject * __pyx_v_rhs,PyObject * __pyx_v_entry)9214 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_14mark_argument(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs, PyObject *__pyx_v_entry) {
9215   PyObject *__pyx_r = NULL;
9216   __Pyx_RefNannyDeclarations
9217   PyObject *__pyx_t_1 = NULL;
9218   int __pyx_lineno = 0;
9219   const char *__pyx_filename = NULL;
9220   int __pyx_clineno = 0;
9221   __Pyx_RefNannySetupContext("mark_argument", 0);
9222   __Pyx_XDECREF(__pyx_r);
9223   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_argument(__pyx_v_self, __pyx_v_lhs, __pyx_v_rhs, __pyx_v_entry, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 180, __pyx_L1_error)
9224   __Pyx_GOTREF(__pyx_t_1);
9225   __pyx_r = __pyx_t_1;
9226   __pyx_t_1 = 0;
9227   goto __pyx_L0;
9228 
9229   /* function exit code */
9230   __pyx_L1_error:;
9231   __Pyx_XDECREF(__pyx_t_1);
9232   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.mark_argument", __pyx_clineno, __pyx_lineno, __pyx_filename);
9233   __pyx_r = NULL;
9234   __pyx_L0:;
9235   __Pyx_XGIVEREF(__pyx_r);
9236   __Pyx_RefNannyFinishContext();
9237   return __pyx_r;
9238 }
9239 
9240 /* "Cython/Compiler/FlowControl.py":187
9241  *             self.entries.add(entry)
9242  *
9243  *     def mark_deletion(self, node, entry):             # <<<<<<<<<<<<<<
9244  *         if self.block and self.is_tracked(entry):
9245  *             assignment = NameDeletion(node, entry)
9246  */
9247 
9248 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_17mark_deletion(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_deletion(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_node,PyObject * __pyx_v_entry,CYTHON_UNUSED int __pyx_skip_dispatch)9249 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_deletion(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_node, PyObject *__pyx_v_entry, CYTHON_UNUSED int __pyx_skip_dispatch) {
9250   PyObject *__pyx_v_assignment = NULL;
9251   PyObject *__pyx_r = NULL;
9252   __Pyx_RefNannyDeclarations
9253   int __pyx_t_1;
9254   int __pyx_t_2;
9255   PyObject *__pyx_t_3 = NULL;
9256   PyObject *__pyx_t_4 = NULL;
9257   PyObject *__pyx_t_5 = NULL;
9258   int __pyx_t_6;
9259   PyObject *__pyx_t_7 = NULL;
9260   int __pyx_t_8;
9261   int __pyx_lineno = 0;
9262   const char *__pyx_filename = NULL;
9263   int __pyx_clineno = 0;
9264   __Pyx_RefNannySetupContext("mark_deletion", 0);
9265 
9266   /* "Cython/Compiler/FlowControl.py":188
9267  *
9268  *     def mark_deletion(self, node, entry):
9269  *         if self.block and self.is_tracked(entry):             # <<<<<<<<<<<<<<
9270  *             assignment = NameDeletion(node, entry)
9271  *             self.block.stats.append(assignment)
9272  */
9273   __pyx_t_2 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->block)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 188, __pyx_L1_error)
9274   if (__pyx_t_2) {
9275   } else {
9276     __pyx_t_1 = __pyx_t_2;
9277     goto __pyx_L4_bool_binop_done;
9278   }
9279   __pyx_t_2 = (__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_is_tracked(__pyx_v_self, __pyx_v_entry, 0) != 0);
9280   __pyx_t_1 = __pyx_t_2;
9281   __pyx_L4_bool_binop_done:;
9282   if (__pyx_t_1) {
9283 
9284     /* "Cython/Compiler/FlowControl.py":189
9285  *     def mark_deletion(self, node, entry):
9286  *         if self.block and self.is_tracked(entry):
9287  *             assignment = NameDeletion(node, entry)             # <<<<<<<<<<<<<<
9288  *             self.block.stats.append(assignment)
9289  *             self.block.gen[entry] = Uninitialized
9290  */
9291     __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_NameDeletion); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 189, __pyx_L1_error)
9292     __Pyx_GOTREF(__pyx_t_4);
9293     __pyx_t_5 = NULL;
9294     __pyx_t_6 = 0;
9295     if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
9296       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
9297       if (likely(__pyx_t_5)) {
9298         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
9299         __Pyx_INCREF(__pyx_t_5);
9300         __Pyx_INCREF(function);
9301         __Pyx_DECREF_SET(__pyx_t_4, function);
9302         __pyx_t_6 = 1;
9303       }
9304     }
9305     #if CYTHON_FAST_PYCALL
9306     if (PyFunction_Check(__pyx_t_4)) {
9307       PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_node, __pyx_v_entry};
9308       __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 189, __pyx_L1_error)
9309       __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
9310       __Pyx_GOTREF(__pyx_t_3);
9311     } else
9312     #endif
9313     #if CYTHON_FAST_PYCCALL
9314     if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
9315       PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_node, __pyx_v_entry};
9316       __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 189, __pyx_L1_error)
9317       __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
9318       __Pyx_GOTREF(__pyx_t_3);
9319     } else
9320     #endif
9321     {
9322       __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 189, __pyx_L1_error)
9323       __Pyx_GOTREF(__pyx_t_7);
9324       if (__pyx_t_5) {
9325         __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
9326       }
9327       __Pyx_INCREF(__pyx_v_node);
9328       __Pyx_GIVEREF(__pyx_v_node);
9329       PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_node);
9330       __Pyx_INCREF(__pyx_v_entry);
9331       __Pyx_GIVEREF(__pyx_v_entry);
9332       PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_entry);
9333       __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 189, __pyx_L1_error)
9334       __Pyx_GOTREF(__pyx_t_3);
9335       __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
9336     }
9337     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
9338     __pyx_v_assignment = __pyx_t_3;
9339     __pyx_t_3 = 0;
9340 
9341     /* "Cython/Compiler/FlowControl.py":190
9342  *         if self.block and self.is_tracked(entry):
9343  *             assignment = NameDeletion(node, entry)
9344  *             self.block.stats.append(assignment)             # <<<<<<<<<<<<<<
9345  *             self.block.gen[entry] = Uninitialized
9346  *             self.entries.add(entry)
9347  */
9348     if (unlikely(__pyx_v_self->block->stats == Py_None)) {
9349       PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
9350       __PYX_ERR(0, 190, __pyx_L1_error)
9351     }
9352     __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_self->block->stats, __pyx_v_assignment); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 190, __pyx_L1_error)
9353 
9354     /* "Cython/Compiler/FlowControl.py":191
9355  *             assignment = NameDeletion(node, entry)
9356  *             self.block.stats.append(assignment)
9357  *             self.block.gen[entry] = Uninitialized             # <<<<<<<<<<<<<<
9358  *             self.entries.add(entry)
9359  *
9360  */
9361     if (unlikely(__pyx_v_self->block->gen == Py_None)) {
9362       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
9363       __PYX_ERR(0, 191, __pyx_L1_error)
9364     }
9365     if (unlikely(PyDict_SetItem(__pyx_v_self->block->gen, __pyx_v_entry, ((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_Uninitialized)) < 0)) __PYX_ERR(0, 191, __pyx_L1_error)
9366 
9367     /* "Cython/Compiler/FlowControl.py":192
9368  *             self.block.stats.append(assignment)
9369  *             self.block.gen[entry] = Uninitialized
9370  *             self.entries.add(entry)             # <<<<<<<<<<<<<<
9371  *
9372  *     def mark_reference(self, node, entry):
9373  */
9374     if (unlikely(__pyx_v_self->entries == Py_None)) {
9375       PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "add");
9376       __PYX_ERR(0, 192, __pyx_L1_error)
9377     }
9378     __pyx_t_8 = PySet_Add(__pyx_v_self->entries, __pyx_v_entry); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 192, __pyx_L1_error)
9379 
9380     /* "Cython/Compiler/FlowControl.py":188
9381  *
9382  *     def mark_deletion(self, node, entry):
9383  *         if self.block and self.is_tracked(entry):             # <<<<<<<<<<<<<<
9384  *             assignment = NameDeletion(node, entry)
9385  *             self.block.stats.append(assignment)
9386  */
9387   }
9388 
9389   /* "Cython/Compiler/FlowControl.py":187
9390  *             self.entries.add(entry)
9391  *
9392  *     def mark_deletion(self, node, entry):             # <<<<<<<<<<<<<<
9393  *         if self.block and self.is_tracked(entry):
9394  *             assignment = NameDeletion(node, entry)
9395  */
9396 
9397   /* function exit code */
9398   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
9399   goto __pyx_L0;
9400   __pyx_L1_error:;
9401   __Pyx_XDECREF(__pyx_t_3);
9402   __Pyx_XDECREF(__pyx_t_4);
9403   __Pyx_XDECREF(__pyx_t_5);
9404   __Pyx_XDECREF(__pyx_t_7);
9405   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.mark_deletion", __pyx_clineno, __pyx_lineno, __pyx_filename);
9406   __pyx_r = 0;
9407   __pyx_L0:;
9408   __Pyx_XDECREF(__pyx_v_assignment);
9409   __Pyx_XGIVEREF(__pyx_r);
9410   __Pyx_RefNannyFinishContext();
9411   return __pyx_r;
9412 }
9413 
9414 /* Python wrapper */
9415 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_17mark_deletion(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
9416 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_17mark_deletion = {"mark_deletion", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_17mark_deletion, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_17mark_deletion(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)9417 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_17mark_deletion(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
9418   PyObject *__pyx_v_node = 0;
9419   PyObject *__pyx_v_entry = 0;
9420   int __pyx_lineno = 0;
9421   const char *__pyx_filename = NULL;
9422   int __pyx_clineno = 0;
9423   PyObject *__pyx_r = 0;
9424   __Pyx_RefNannyDeclarations
9425   __Pyx_RefNannySetupContext("mark_deletion (wrapper)", 0);
9426   {
9427     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_node,&__pyx_n_s_entry,0};
9428     PyObject* values[2] = {0,0};
9429     if (unlikely(__pyx_kwds)) {
9430       Py_ssize_t kw_args;
9431       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
9432       switch (pos_args) {
9433         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
9434         CYTHON_FALLTHROUGH;
9435         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
9436         CYTHON_FALLTHROUGH;
9437         case  0: break;
9438         default: goto __pyx_L5_argtuple_error;
9439       }
9440       kw_args = PyDict_Size(__pyx_kwds);
9441       switch (pos_args) {
9442         case  0:
9443         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node)) != 0)) kw_args--;
9444         else goto __pyx_L5_argtuple_error;
9445         CYTHON_FALLTHROUGH;
9446         case  1:
9447         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
9448         else {
9449           __Pyx_RaiseArgtupleInvalid("mark_deletion", 1, 2, 2, 1); __PYX_ERR(0, 187, __pyx_L3_error)
9450         }
9451       }
9452       if (unlikely(kw_args > 0)) {
9453         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "mark_deletion") < 0)) __PYX_ERR(0, 187, __pyx_L3_error)
9454       }
9455     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
9456       goto __pyx_L5_argtuple_error;
9457     } else {
9458       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
9459       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
9460     }
9461     __pyx_v_node = values[0];
9462     __pyx_v_entry = values[1];
9463   }
9464   goto __pyx_L4_argument_unpacking_done;
9465   __pyx_L5_argtuple_error:;
9466   __Pyx_RaiseArgtupleInvalid("mark_deletion", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 187, __pyx_L3_error)
9467   __pyx_L3_error:;
9468   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.mark_deletion", __pyx_clineno, __pyx_lineno, __pyx_filename);
9469   __Pyx_RefNannyFinishContext();
9470   return NULL;
9471   __pyx_L4_argument_unpacking_done:;
9472   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_16mark_deletion(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self), __pyx_v_node, __pyx_v_entry);
9473 
9474   /* function exit code */
9475   __Pyx_RefNannyFinishContext();
9476   return __pyx_r;
9477 }
9478 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_16mark_deletion(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_node,PyObject * __pyx_v_entry)9479 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_16mark_deletion(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_node, PyObject *__pyx_v_entry) {
9480   PyObject *__pyx_r = NULL;
9481   __Pyx_RefNannyDeclarations
9482   PyObject *__pyx_t_1 = NULL;
9483   int __pyx_lineno = 0;
9484   const char *__pyx_filename = NULL;
9485   int __pyx_clineno = 0;
9486   __Pyx_RefNannySetupContext("mark_deletion", 0);
9487   __Pyx_XDECREF(__pyx_r);
9488   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_deletion(__pyx_v_self, __pyx_v_node, __pyx_v_entry, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 187, __pyx_L1_error)
9489   __Pyx_GOTREF(__pyx_t_1);
9490   __pyx_r = __pyx_t_1;
9491   __pyx_t_1 = 0;
9492   goto __pyx_L0;
9493 
9494   /* function exit code */
9495   __pyx_L1_error:;
9496   __Pyx_XDECREF(__pyx_t_1);
9497   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.mark_deletion", __pyx_clineno, __pyx_lineno, __pyx_filename);
9498   __pyx_r = NULL;
9499   __pyx_L0:;
9500   __Pyx_XGIVEREF(__pyx_r);
9501   __Pyx_RefNannyFinishContext();
9502   return __pyx_r;
9503 }
9504 
9505 /* "Cython/Compiler/FlowControl.py":194
9506  *             self.entries.add(entry)
9507  *
9508  *     def mark_reference(self, node, entry):             # <<<<<<<<<<<<<<
9509  *         if self.block and self.is_tracked(entry):
9510  *             self.block.stats.append(NameReference(node, entry))
9511  */
9512 
9513 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_19mark_reference(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_reference(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_node,PyObject * __pyx_v_entry,CYTHON_UNUSED int __pyx_skip_dispatch)9514 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_reference(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_node, PyObject *__pyx_v_entry, CYTHON_UNUSED int __pyx_skip_dispatch) {
9515   PyObject *__pyx_r = NULL;
9516   __Pyx_RefNannyDeclarations
9517   int __pyx_t_1;
9518   int __pyx_t_2;
9519   PyObject *__pyx_t_3 = NULL;
9520   PyObject *__pyx_t_4 = NULL;
9521   PyObject *__pyx_t_5 = NULL;
9522   int __pyx_t_6;
9523   PyObject *__pyx_t_7 = NULL;
9524   int __pyx_t_8;
9525   int __pyx_lineno = 0;
9526   const char *__pyx_filename = NULL;
9527   int __pyx_clineno = 0;
9528   __Pyx_RefNannySetupContext("mark_reference", 0);
9529 
9530   /* "Cython/Compiler/FlowControl.py":195
9531  *
9532  *     def mark_reference(self, node, entry):
9533  *         if self.block and self.is_tracked(entry):             # <<<<<<<<<<<<<<
9534  *             self.block.stats.append(NameReference(node, entry))
9535  *             ## XXX: We don't track expression evaluation order so we can't use
9536  */
9537   __pyx_t_2 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->block)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 195, __pyx_L1_error)
9538   if (__pyx_t_2) {
9539   } else {
9540     __pyx_t_1 = __pyx_t_2;
9541     goto __pyx_L4_bool_binop_done;
9542   }
9543   __pyx_t_2 = (__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_is_tracked(__pyx_v_self, __pyx_v_entry, 0) != 0);
9544   __pyx_t_1 = __pyx_t_2;
9545   __pyx_L4_bool_binop_done:;
9546   if (__pyx_t_1) {
9547 
9548     /* "Cython/Compiler/FlowControl.py":196
9549  *     def mark_reference(self, node, entry):
9550  *         if self.block and self.is_tracked(entry):
9551  *             self.block.stats.append(NameReference(node, entry))             # <<<<<<<<<<<<<<
9552  *             ## XXX: We don't track expression evaluation order so we can't use
9553  *             ## XXX: successful reference as initialization sign.
9554  */
9555     if (unlikely(__pyx_v_self->block->stats == Py_None)) {
9556       PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
9557       __PYX_ERR(0, 196, __pyx_L1_error)
9558     }
9559     __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_NameReference); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 196, __pyx_L1_error)
9560     __Pyx_GOTREF(__pyx_t_4);
9561     __pyx_t_5 = NULL;
9562     __pyx_t_6 = 0;
9563     if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
9564       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
9565       if (likely(__pyx_t_5)) {
9566         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
9567         __Pyx_INCREF(__pyx_t_5);
9568         __Pyx_INCREF(function);
9569         __Pyx_DECREF_SET(__pyx_t_4, function);
9570         __pyx_t_6 = 1;
9571       }
9572     }
9573     #if CYTHON_FAST_PYCALL
9574     if (PyFunction_Check(__pyx_t_4)) {
9575       PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_node, __pyx_v_entry};
9576       __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 196, __pyx_L1_error)
9577       __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
9578       __Pyx_GOTREF(__pyx_t_3);
9579     } else
9580     #endif
9581     #if CYTHON_FAST_PYCCALL
9582     if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
9583       PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_node, __pyx_v_entry};
9584       __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 196, __pyx_L1_error)
9585       __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
9586       __Pyx_GOTREF(__pyx_t_3);
9587     } else
9588     #endif
9589     {
9590       __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 196, __pyx_L1_error)
9591       __Pyx_GOTREF(__pyx_t_7);
9592       if (__pyx_t_5) {
9593         __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
9594       }
9595       __Pyx_INCREF(__pyx_v_node);
9596       __Pyx_GIVEREF(__pyx_v_node);
9597       PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_node);
9598       __Pyx_INCREF(__pyx_v_entry);
9599       __Pyx_GIVEREF(__pyx_v_entry);
9600       PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_entry);
9601       __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 196, __pyx_L1_error)
9602       __Pyx_GOTREF(__pyx_t_3);
9603       __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
9604     }
9605     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
9606     __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_self->block->stats, __pyx_t_3); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 196, __pyx_L1_error)
9607     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
9608 
9609     /* "Cython/Compiler/FlowControl.py":202
9610  *             ## if not node.allow_null:
9611  *             ##     self.block.bounded.add(entry)
9612  *             self.entries.add(entry)             # <<<<<<<<<<<<<<
9613  *
9614  *     def normalize(self):
9615  */
9616     if (unlikely(__pyx_v_self->entries == Py_None)) {
9617       PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "add");
9618       __PYX_ERR(0, 202, __pyx_L1_error)
9619     }
9620     __pyx_t_8 = PySet_Add(__pyx_v_self->entries, __pyx_v_entry); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 202, __pyx_L1_error)
9621 
9622     /* "Cython/Compiler/FlowControl.py":195
9623  *
9624  *     def mark_reference(self, node, entry):
9625  *         if self.block and self.is_tracked(entry):             # <<<<<<<<<<<<<<
9626  *             self.block.stats.append(NameReference(node, entry))
9627  *             ## XXX: We don't track expression evaluation order so we can't use
9628  */
9629   }
9630 
9631   /* "Cython/Compiler/FlowControl.py":194
9632  *             self.entries.add(entry)
9633  *
9634  *     def mark_reference(self, node, entry):             # <<<<<<<<<<<<<<
9635  *         if self.block and self.is_tracked(entry):
9636  *             self.block.stats.append(NameReference(node, entry))
9637  */
9638 
9639   /* function exit code */
9640   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
9641   goto __pyx_L0;
9642   __pyx_L1_error:;
9643   __Pyx_XDECREF(__pyx_t_3);
9644   __Pyx_XDECREF(__pyx_t_4);
9645   __Pyx_XDECREF(__pyx_t_5);
9646   __Pyx_XDECREF(__pyx_t_7);
9647   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.mark_reference", __pyx_clineno, __pyx_lineno, __pyx_filename);
9648   __pyx_r = 0;
9649   __pyx_L0:;
9650   __Pyx_XGIVEREF(__pyx_r);
9651   __Pyx_RefNannyFinishContext();
9652   return __pyx_r;
9653 }
9654 
9655 /* Python wrapper */
9656 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_19mark_reference(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
9657 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_19mark_reference = {"mark_reference", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_19mark_reference, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_19mark_reference(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)9658 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_19mark_reference(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
9659   PyObject *__pyx_v_node = 0;
9660   PyObject *__pyx_v_entry = 0;
9661   int __pyx_lineno = 0;
9662   const char *__pyx_filename = NULL;
9663   int __pyx_clineno = 0;
9664   PyObject *__pyx_r = 0;
9665   __Pyx_RefNannyDeclarations
9666   __Pyx_RefNannySetupContext("mark_reference (wrapper)", 0);
9667   {
9668     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_node,&__pyx_n_s_entry,0};
9669     PyObject* values[2] = {0,0};
9670     if (unlikely(__pyx_kwds)) {
9671       Py_ssize_t kw_args;
9672       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
9673       switch (pos_args) {
9674         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
9675         CYTHON_FALLTHROUGH;
9676         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
9677         CYTHON_FALLTHROUGH;
9678         case  0: break;
9679         default: goto __pyx_L5_argtuple_error;
9680       }
9681       kw_args = PyDict_Size(__pyx_kwds);
9682       switch (pos_args) {
9683         case  0:
9684         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node)) != 0)) kw_args--;
9685         else goto __pyx_L5_argtuple_error;
9686         CYTHON_FALLTHROUGH;
9687         case  1:
9688         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
9689         else {
9690           __Pyx_RaiseArgtupleInvalid("mark_reference", 1, 2, 2, 1); __PYX_ERR(0, 194, __pyx_L3_error)
9691         }
9692       }
9693       if (unlikely(kw_args > 0)) {
9694         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "mark_reference") < 0)) __PYX_ERR(0, 194, __pyx_L3_error)
9695       }
9696     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
9697       goto __pyx_L5_argtuple_error;
9698     } else {
9699       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
9700       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
9701     }
9702     __pyx_v_node = values[0];
9703     __pyx_v_entry = values[1];
9704   }
9705   goto __pyx_L4_argument_unpacking_done;
9706   __pyx_L5_argtuple_error:;
9707   __Pyx_RaiseArgtupleInvalid("mark_reference", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 194, __pyx_L3_error)
9708   __pyx_L3_error:;
9709   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.mark_reference", __pyx_clineno, __pyx_lineno, __pyx_filename);
9710   __Pyx_RefNannyFinishContext();
9711   return NULL;
9712   __pyx_L4_argument_unpacking_done:;
9713   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_18mark_reference(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self), __pyx_v_node, __pyx_v_entry);
9714 
9715   /* function exit code */
9716   __Pyx_RefNannyFinishContext();
9717   return __pyx_r;
9718 }
9719 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_18mark_reference(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_node,PyObject * __pyx_v_entry)9720 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_18mark_reference(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_node, PyObject *__pyx_v_entry) {
9721   PyObject *__pyx_r = NULL;
9722   __Pyx_RefNannyDeclarations
9723   PyObject *__pyx_t_1 = NULL;
9724   int __pyx_lineno = 0;
9725   const char *__pyx_filename = NULL;
9726   int __pyx_clineno = 0;
9727   __Pyx_RefNannySetupContext("mark_reference", 0);
9728   __Pyx_XDECREF(__pyx_r);
9729   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_reference(__pyx_v_self, __pyx_v_node, __pyx_v_entry, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 194, __pyx_L1_error)
9730   __Pyx_GOTREF(__pyx_t_1);
9731   __pyx_r = __pyx_t_1;
9732   __pyx_t_1 = 0;
9733   goto __pyx_L0;
9734 
9735   /* function exit code */
9736   __pyx_L1_error:;
9737   __Pyx_XDECREF(__pyx_t_1);
9738   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.mark_reference", __pyx_clineno, __pyx_lineno, __pyx_filename);
9739   __pyx_r = NULL;
9740   __pyx_L0:;
9741   __Pyx_XGIVEREF(__pyx_r);
9742   __Pyx_RefNannyFinishContext();
9743   return __pyx_r;
9744 }
9745 
9746 /* "Cython/Compiler/FlowControl.py":204
9747  *             self.entries.add(entry)
9748  *
9749  *     def normalize(self):             # <<<<<<<<<<<<<<
9750  *         """Delete unreachable and orphan blocks."""
9751  *         queue = set([self.entry_point])
9752  */
9753 
9754 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_21normalize(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_normalize(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,CYTHON_UNUSED int __pyx_skip_dispatch)9755 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_normalize(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, CYTHON_UNUSED int __pyx_skip_dispatch) {
9756   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_block = 0;
9757   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_parent = 0;
9758   PyObject *__pyx_v_unreachable = 0;
9759   PyObject *__pyx_v_queue = NULL;
9760   PyObject *__pyx_v_visited = NULL;
9761   PyObject *__pyx_v_root = NULL;
9762   PyObject *__pyx_v_child = NULL;
9763   PyObject *__pyx_r = NULL;
9764   __Pyx_RefNannyDeclarations
9765   PyObject *__pyx_t_1 = NULL;
9766   int __pyx_t_2;
9767   int __pyx_t_3;
9768   PyObject *__pyx_t_4 = NULL;
9769   Py_ssize_t __pyx_t_5;
9770   PyObject *(*__pyx_t_6)(PyObject *);
9771   int __pyx_t_7;
9772   Py_ssize_t __pyx_t_8;
9773   int __pyx_t_9;
9774   int __pyx_t_10;
9775   Py_ssize_t __pyx_t_11;
9776   Py_ssize_t __pyx_t_12;
9777   PyObject *__pyx_t_13 = NULL;
9778   int __pyx_t_14;
9779   Py_ssize_t __pyx_t_15;
9780   Py_ssize_t __pyx_t_16;
9781   PyObject *__pyx_t_17 = NULL;
9782   int __pyx_t_18;
9783   int __pyx_lineno = 0;
9784   const char *__pyx_filename = NULL;
9785   int __pyx_clineno = 0;
9786   __Pyx_RefNannySetupContext("normalize", 0);
9787 
9788   /* "Cython/Compiler/FlowControl.py":206
9789  *     def normalize(self):
9790  *         """Delete unreachable and orphan blocks."""
9791  *         queue = set([self.entry_point])             # <<<<<<<<<<<<<<
9792  *         visited = set()
9793  *         while queue:
9794  */
9795   __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 206, __pyx_L1_error)
9796   __Pyx_GOTREF(__pyx_t_1);
9797   if (PySet_Add(__pyx_t_1, ((PyObject *)__pyx_v_self->entry_point)) < 0) __PYX_ERR(0, 206, __pyx_L1_error)
9798   __pyx_v_queue = ((PyObject*)__pyx_t_1);
9799   __pyx_t_1 = 0;
9800 
9801   /* "Cython/Compiler/FlowControl.py":207
9802  *         """Delete unreachable and orphan blocks."""
9803  *         queue = set([self.entry_point])
9804  *         visited = set()             # <<<<<<<<<<<<<<
9805  *         while queue:
9806  *             root = queue.pop()
9807  */
9808   __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 207, __pyx_L1_error)
9809   __Pyx_GOTREF(__pyx_t_1);
9810   __pyx_v_visited = ((PyObject*)__pyx_t_1);
9811   __pyx_t_1 = 0;
9812 
9813   /* "Cython/Compiler/FlowControl.py":208
9814  *         queue = set([self.entry_point])
9815  *         visited = set()
9816  *         while queue:             # <<<<<<<<<<<<<<
9817  *             root = queue.pop()
9818  *             visited.add(root)
9819  */
9820   while (1) {
9821     __pyx_t_2 = (PySet_GET_SIZE(__pyx_v_queue) != 0);
9822     if (!__pyx_t_2) break;
9823 
9824     /* "Cython/Compiler/FlowControl.py":209
9825  *         visited = set()
9826  *         while queue:
9827  *             root = queue.pop()             # <<<<<<<<<<<<<<
9828  *             visited.add(root)
9829  *             for child in root.children:
9830  */
9831     __pyx_t_1 = PySet_Pop(__pyx_v_queue); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 209, __pyx_L1_error)
9832     __Pyx_GOTREF(__pyx_t_1);
9833     __Pyx_XDECREF_SET(__pyx_v_root, __pyx_t_1);
9834     __pyx_t_1 = 0;
9835 
9836     /* "Cython/Compiler/FlowControl.py":210
9837  *         while queue:
9838  *             root = queue.pop()
9839  *             visited.add(root)             # <<<<<<<<<<<<<<
9840  *             for child in root.children:
9841  *                 if child not in visited:
9842  */
9843     __pyx_t_3 = PySet_Add(__pyx_v_visited, __pyx_v_root); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 210, __pyx_L1_error)
9844 
9845     /* "Cython/Compiler/FlowControl.py":211
9846  *             root = queue.pop()
9847  *             visited.add(root)
9848  *             for child in root.children:             # <<<<<<<<<<<<<<
9849  *                 if child not in visited:
9850  *                     queue.add(child)
9851  */
9852     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_root, __pyx_n_s_children); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 211, __pyx_L1_error)
9853     __Pyx_GOTREF(__pyx_t_1);
9854     if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
9855       __pyx_t_4 = __pyx_t_1; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
9856       __pyx_t_6 = NULL;
9857     } else {
9858       __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 211, __pyx_L1_error)
9859       __Pyx_GOTREF(__pyx_t_4);
9860       __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 211, __pyx_L1_error)
9861     }
9862     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9863     for (;;) {
9864       if (likely(!__pyx_t_6)) {
9865         if (likely(PyList_CheckExact(__pyx_t_4))) {
9866           if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
9867           #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
9868           __pyx_t_1 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 211, __pyx_L1_error)
9869           #else
9870           __pyx_t_1 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 211, __pyx_L1_error)
9871           __Pyx_GOTREF(__pyx_t_1);
9872           #endif
9873         } else {
9874           if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
9875           #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
9876           __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 211, __pyx_L1_error)
9877           #else
9878           __pyx_t_1 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 211, __pyx_L1_error)
9879           __Pyx_GOTREF(__pyx_t_1);
9880           #endif
9881         }
9882       } else {
9883         __pyx_t_1 = __pyx_t_6(__pyx_t_4);
9884         if (unlikely(!__pyx_t_1)) {
9885           PyObject* exc_type = PyErr_Occurred();
9886           if (exc_type) {
9887             if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
9888             else __PYX_ERR(0, 211, __pyx_L1_error)
9889           }
9890           break;
9891         }
9892         __Pyx_GOTREF(__pyx_t_1);
9893       }
9894       __Pyx_XDECREF_SET(__pyx_v_child, __pyx_t_1);
9895       __pyx_t_1 = 0;
9896 
9897       /* "Cython/Compiler/FlowControl.py":212
9898  *             visited.add(root)
9899  *             for child in root.children:
9900  *                 if child not in visited:             # <<<<<<<<<<<<<<
9901  *                     queue.add(child)
9902  *         unreachable = self.blocks - visited
9903  */
9904       __pyx_t_2 = (__Pyx_PySet_ContainsTF(__pyx_v_child, __pyx_v_visited, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 212, __pyx_L1_error)
9905       __pyx_t_7 = (__pyx_t_2 != 0);
9906       if (__pyx_t_7) {
9907 
9908         /* "Cython/Compiler/FlowControl.py":213
9909  *             for child in root.children:
9910  *                 if child not in visited:
9911  *                     queue.add(child)             # <<<<<<<<<<<<<<
9912  *         unreachable = self.blocks - visited
9913  *         for block in unreachable:
9914  */
9915         __pyx_t_3 = PySet_Add(__pyx_v_queue, __pyx_v_child); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 213, __pyx_L1_error)
9916 
9917         /* "Cython/Compiler/FlowControl.py":212
9918  *             visited.add(root)
9919  *             for child in root.children:
9920  *                 if child not in visited:             # <<<<<<<<<<<<<<
9921  *                     queue.add(child)
9922  *         unreachable = self.blocks - visited
9923  */
9924       }
9925 
9926       /* "Cython/Compiler/FlowControl.py":211
9927  *             root = queue.pop()
9928  *             visited.add(root)
9929  *             for child in root.children:             # <<<<<<<<<<<<<<
9930  *                 if child not in visited:
9931  *                     queue.add(child)
9932  */
9933     }
9934     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
9935   }
9936 
9937   /* "Cython/Compiler/FlowControl.py":214
9938  *                 if child not in visited:
9939  *                     queue.add(child)
9940  *         unreachable = self.blocks - visited             # <<<<<<<<<<<<<<
9941  *         for block in unreachable:
9942  *             block.detach()
9943  */
9944   __pyx_t_4 = PyNumber_Subtract(__pyx_v_self->blocks, __pyx_v_visited); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 214, __pyx_L1_error)
9945   __Pyx_GOTREF(__pyx_t_4);
9946   if (!(likely(PySet_CheckExact(__pyx_t_4))||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_t_4)->tp_name), 0))) __PYX_ERR(0, 214, __pyx_L1_error)
9947   __pyx_v_unreachable = ((PyObject*)__pyx_t_4);
9948   __pyx_t_4 = 0;
9949 
9950   /* "Cython/Compiler/FlowControl.py":215
9951  *                     queue.add(child)
9952  *         unreachable = self.blocks - visited
9953  *         for block in unreachable:             # <<<<<<<<<<<<<<
9954  *             block.detach()
9955  *         visited.remove(self.entry_point)
9956  */
9957   __pyx_t_5 = 0;
9958   __pyx_t_1 = __Pyx_set_iterator(__pyx_v_unreachable, 1, (&__pyx_t_8), (&__pyx_t_9)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 215, __pyx_L1_error)
9959   __Pyx_GOTREF(__pyx_t_1);
9960   __Pyx_XDECREF(__pyx_t_4);
9961   __pyx_t_4 = __pyx_t_1;
9962   __pyx_t_1 = 0;
9963   while (1) {
9964     __pyx_t_10 = __Pyx_set_iter_next(__pyx_t_4, __pyx_t_8, &__pyx_t_5, &__pyx_t_1, __pyx_t_9);
9965     if (unlikely(__pyx_t_10 == 0)) break;
9966     if (unlikely(__pyx_t_10 == -1)) __PYX_ERR(0, 215, __pyx_L1_error)
9967     __Pyx_GOTREF(__pyx_t_1);
9968     if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(0, 215, __pyx_L1_error)
9969     __Pyx_XDECREF_SET(__pyx_v_block, ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_1));
9970     __pyx_t_1 = 0;
9971 
9972     /* "Cython/Compiler/FlowControl.py":216
9973  *         unreachable = self.blocks - visited
9974  *         for block in unreachable:
9975  *             block.detach()             # <<<<<<<<<<<<<<
9976  *         visited.remove(self.entry_point)
9977  *         for block in visited:
9978  */
9979     __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_block->__pyx_vtab)->detach(__pyx_v_block, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 216, __pyx_L1_error)
9980     __Pyx_GOTREF(__pyx_t_1);
9981     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9982   }
9983   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
9984 
9985   /* "Cython/Compiler/FlowControl.py":217
9986  *         for block in unreachable:
9987  *             block.detach()
9988  *         visited.remove(self.entry_point)             # <<<<<<<<<<<<<<
9989  *         for block in visited:
9990  *             if block.empty():
9991  */
9992   __pyx_t_4 = ((PyObject *)__pyx_v_self->entry_point);
9993   __Pyx_INCREF(__pyx_t_4);
9994   __pyx_t_3 = __Pyx_PySet_Remove(__pyx_v_visited, __pyx_t_4); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 217, __pyx_L1_error)
9995   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
9996 
9997   /* "Cython/Compiler/FlowControl.py":218
9998  *             block.detach()
9999  *         visited.remove(self.entry_point)
10000  *         for block in visited:             # <<<<<<<<<<<<<<
10001  *             if block.empty():
10002  *                 for parent in block.parents: # Re-parent
10003  */
10004   __pyx_t_8 = 0;
10005   __pyx_t_1 = __Pyx_set_iterator(__pyx_v_visited, 1, (&__pyx_t_5), (&__pyx_t_9)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 218, __pyx_L1_error)
10006   __Pyx_GOTREF(__pyx_t_1);
10007   __Pyx_XDECREF(__pyx_t_4);
10008   __pyx_t_4 = __pyx_t_1;
10009   __pyx_t_1 = 0;
10010   while (1) {
10011     __pyx_t_10 = __Pyx_set_iter_next(__pyx_t_4, __pyx_t_5, &__pyx_t_8, &__pyx_t_1, __pyx_t_9);
10012     if (unlikely(__pyx_t_10 == 0)) break;
10013     if (unlikely(__pyx_t_10 == -1)) __PYX_ERR(0, 218, __pyx_L1_error)
10014     __Pyx_GOTREF(__pyx_t_1);
10015     if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(0, 218, __pyx_L1_error)
10016     __Pyx_XDECREF_SET(__pyx_v_block, ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_1));
10017     __pyx_t_1 = 0;
10018 
10019     /* "Cython/Compiler/FlowControl.py":219
10020  *         visited.remove(self.entry_point)
10021  *         for block in visited:
10022  *             if block.empty():             # <<<<<<<<<<<<<<
10023  *                 for parent in block.parents: # Re-parent
10024  *                     for child in block.children:
10025  */
10026     __pyx_t_7 = (((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_block->__pyx_vtab)->empty(__pyx_v_block, 0) != 0);
10027     if (__pyx_t_7) {
10028 
10029       /* "Cython/Compiler/FlowControl.py":220
10030  *         for block in visited:
10031  *             if block.empty():
10032  *                 for parent in block.parents: # Re-parent             # <<<<<<<<<<<<<<
10033  *                     for child in block.children:
10034  *                         parent.add_child(child)
10035  */
10036       __pyx_t_11 = 0;
10037       __pyx_t_13 = __Pyx_set_iterator(__pyx_v_block->parents, 1, (&__pyx_t_12), (&__pyx_t_10)); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 220, __pyx_L1_error)
10038       __Pyx_GOTREF(__pyx_t_13);
10039       __Pyx_XDECREF(__pyx_t_1);
10040       __pyx_t_1 = __pyx_t_13;
10041       __pyx_t_13 = 0;
10042       while (1) {
10043         __pyx_t_14 = __Pyx_set_iter_next(__pyx_t_1, __pyx_t_12, &__pyx_t_11, &__pyx_t_13, __pyx_t_10);
10044         if (unlikely(__pyx_t_14 == 0)) break;
10045         if (unlikely(__pyx_t_14 == -1)) __PYX_ERR(0, 220, __pyx_L1_error)
10046         __Pyx_GOTREF(__pyx_t_13);
10047         if (!(likely(((__pyx_t_13) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_13, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(0, 220, __pyx_L1_error)
10048         __Pyx_XDECREF_SET(__pyx_v_parent, ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_13));
10049         __pyx_t_13 = 0;
10050 
10051         /* "Cython/Compiler/FlowControl.py":221
10052  *             if block.empty():
10053  *                 for parent in block.parents: # Re-parent
10054  *                     for child in block.children:             # <<<<<<<<<<<<<<
10055  *                         parent.add_child(child)
10056  *                 block.detach()
10057  */
10058         __pyx_t_15 = 0;
10059         __pyx_t_17 = __Pyx_set_iterator(__pyx_v_block->children, 1, (&__pyx_t_16), (&__pyx_t_14)); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 221, __pyx_L1_error)
10060         __Pyx_GOTREF(__pyx_t_17);
10061         __Pyx_XDECREF(__pyx_t_13);
10062         __pyx_t_13 = __pyx_t_17;
10063         __pyx_t_17 = 0;
10064         while (1) {
10065           __pyx_t_18 = __Pyx_set_iter_next(__pyx_t_13, __pyx_t_16, &__pyx_t_15, &__pyx_t_17, __pyx_t_14);
10066           if (unlikely(__pyx_t_18 == 0)) break;
10067           if (unlikely(__pyx_t_18 == -1)) __PYX_ERR(0, 221, __pyx_L1_error)
10068           __Pyx_GOTREF(__pyx_t_17);
10069           __Pyx_XDECREF_SET(__pyx_v_child, __pyx_t_17);
10070           __pyx_t_17 = 0;
10071 
10072           /* "Cython/Compiler/FlowControl.py":222
10073  *                 for parent in block.parents: # Re-parent
10074  *                     for child in block.children:
10075  *                         parent.add_child(child)             # <<<<<<<<<<<<<<
10076  *                 block.detach()
10077  *                 unreachable.add(block)
10078  */
10079           __pyx_t_17 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_parent->__pyx_vtab)->add_child(__pyx_v_parent, __pyx_v_child, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 222, __pyx_L1_error)
10080           __Pyx_GOTREF(__pyx_t_17);
10081           __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
10082         }
10083         __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
10084       }
10085       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10086 
10087       /* "Cython/Compiler/FlowControl.py":223
10088  *                     for child in block.children:
10089  *                         parent.add_child(child)
10090  *                 block.detach()             # <<<<<<<<<<<<<<
10091  *                 unreachable.add(block)
10092  *         self.blocks -= unreachable
10093  */
10094       __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_block->__pyx_vtab)->detach(__pyx_v_block, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 223, __pyx_L1_error)
10095       __Pyx_GOTREF(__pyx_t_1);
10096       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10097 
10098       /* "Cython/Compiler/FlowControl.py":224
10099  *                         parent.add_child(child)
10100  *                 block.detach()
10101  *                 unreachable.add(block)             # <<<<<<<<<<<<<<
10102  *         self.blocks -= unreachable
10103  *
10104  */
10105       __pyx_t_3 = PySet_Add(__pyx_v_unreachable, ((PyObject *)__pyx_v_block)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 224, __pyx_L1_error)
10106 
10107       /* "Cython/Compiler/FlowControl.py":219
10108  *         visited.remove(self.entry_point)
10109  *         for block in visited:
10110  *             if block.empty():             # <<<<<<<<<<<<<<
10111  *                 for parent in block.parents: # Re-parent
10112  *                     for child in block.children:
10113  */
10114     }
10115   }
10116   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
10117 
10118   /* "Cython/Compiler/FlowControl.py":225
10119  *                 block.detach()
10120  *                 unreachable.add(block)
10121  *         self.blocks -= unreachable             # <<<<<<<<<<<<<<
10122  *
10123  *     def initialize(self):
10124  */
10125   __pyx_t_4 = PyNumber_InPlaceSubtract(__pyx_v_self->blocks, __pyx_v_unreachable); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 225, __pyx_L1_error)
10126   __Pyx_GOTREF(__pyx_t_4);
10127   if (!(likely(PySet_CheckExact(__pyx_t_4))||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_t_4)->tp_name), 0))) __PYX_ERR(0, 225, __pyx_L1_error)
10128   __Pyx_GIVEREF(__pyx_t_4);
10129   __Pyx_GOTREF(__pyx_v_self->blocks);
10130   __Pyx_DECREF(__pyx_v_self->blocks);
10131   __pyx_v_self->blocks = ((PyObject*)__pyx_t_4);
10132   __pyx_t_4 = 0;
10133 
10134   /* "Cython/Compiler/FlowControl.py":204
10135  *             self.entries.add(entry)
10136  *
10137  *     def normalize(self):             # <<<<<<<<<<<<<<
10138  *         """Delete unreachable and orphan blocks."""
10139  *         queue = set([self.entry_point])
10140  */
10141 
10142   /* function exit code */
10143   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
10144   goto __pyx_L0;
10145   __pyx_L1_error:;
10146   __Pyx_XDECREF(__pyx_t_1);
10147   __Pyx_XDECREF(__pyx_t_4);
10148   __Pyx_XDECREF(__pyx_t_13);
10149   __Pyx_XDECREF(__pyx_t_17);
10150   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.normalize", __pyx_clineno, __pyx_lineno, __pyx_filename);
10151   __pyx_r = 0;
10152   __pyx_L0:;
10153   __Pyx_XDECREF((PyObject *)__pyx_v_block);
10154   __Pyx_XDECREF((PyObject *)__pyx_v_parent);
10155   __Pyx_XDECREF(__pyx_v_unreachable);
10156   __Pyx_XDECREF(__pyx_v_queue);
10157   __Pyx_XDECREF(__pyx_v_visited);
10158   __Pyx_XDECREF(__pyx_v_root);
10159   __Pyx_XDECREF(__pyx_v_child);
10160   __Pyx_XGIVEREF(__pyx_r);
10161   __Pyx_RefNannyFinishContext();
10162   return __pyx_r;
10163 }
10164 
10165 /* Python wrapper */
10166 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_21normalize(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
10167 static char __pyx_doc_6Cython_8Compiler_11FlowControl_11ControlFlow_20normalize[] = "Delete unreachable and orphan blocks.";
10168 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_21normalize = {"normalize", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_21normalize, METH_NOARGS, __pyx_doc_6Cython_8Compiler_11FlowControl_11ControlFlow_20normalize};
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_21normalize(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)10169 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_21normalize(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
10170   PyObject *__pyx_r = 0;
10171   __Pyx_RefNannyDeclarations
10172   __Pyx_RefNannySetupContext("normalize (wrapper)", 0);
10173   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_20normalize(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self));
10174 
10175   /* function exit code */
10176   __Pyx_RefNannyFinishContext();
10177   return __pyx_r;
10178 }
10179 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_20normalize(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self)10180 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_20normalize(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self) {
10181   PyObject *__pyx_r = NULL;
10182   __Pyx_RefNannyDeclarations
10183   PyObject *__pyx_t_1 = NULL;
10184   int __pyx_lineno = 0;
10185   const char *__pyx_filename = NULL;
10186   int __pyx_clineno = 0;
10187   __Pyx_RefNannySetupContext("normalize", 0);
10188   __Pyx_XDECREF(__pyx_r);
10189   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_normalize(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L1_error)
10190   __Pyx_GOTREF(__pyx_t_1);
10191   __pyx_r = __pyx_t_1;
10192   __pyx_t_1 = 0;
10193   goto __pyx_L0;
10194 
10195   /* function exit code */
10196   __pyx_L1_error:;
10197   __Pyx_XDECREF(__pyx_t_1);
10198   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.normalize", __pyx_clineno, __pyx_lineno, __pyx_filename);
10199   __pyx_r = NULL;
10200   __pyx_L0:;
10201   __Pyx_XGIVEREF(__pyx_r);
10202   __Pyx_RefNannyFinishContext();
10203   return __pyx_r;
10204 }
10205 
10206 /* "Cython/Compiler/FlowControl.py":227
10207  *         self.blocks -= unreachable
10208  *
10209  *     def initialize(self):             # <<<<<<<<<<<<<<
10210  *         """Set initial state, map assignments to bits."""
10211  *         self.assmts = {}
10212  */
10213 
10214 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_23initialize(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_initialize(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,CYTHON_UNUSED int __pyx_skip_dispatch)10215 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_initialize(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, CYTHON_UNUSED int __pyx_skip_dispatch) {
10216   PyObject *__pyx_v_bit = 0;
10217   struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_assmts = 0;
10218   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_block = 0;
10219   PyObject *__pyx_v_entry = NULL;
10220   PyObject *__pyx_v_stat = NULL;
10221   PyObject *__pyx_r = NULL;
10222   __Pyx_RefNannyDeclarations
10223   PyObject *__pyx_t_1 = NULL;
10224   Py_ssize_t __pyx_t_2;
10225   Py_ssize_t __pyx_t_3;
10226   int __pyx_t_4;
10227   PyObject *__pyx_t_5 = NULL;
10228   int __pyx_t_6;
10229   Py_ssize_t __pyx_t_7;
10230   PyObject *__pyx_t_8 = NULL;
10231   int __pyx_t_9;
10232   int __pyx_t_10;
10233   PyObject *__pyx_t_11 = NULL;
10234   int __pyx_t_12;
10235   PyObject *(*__pyx_t_13)(PyObject *);
10236   PyObject *__pyx_t_14 = NULL;
10237   PyObject *__pyx_t_15 = NULL;
10238   PyObject *(*__pyx_t_16)(PyObject *);
10239   Py_ssize_t __pyx_t_17;
10240   int __pyx_t_18;
10241   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_t_19 = NULL;
10242   int __pyx_lineno = 0;
10243   const char *__pyx_filename = NULL;
10244   int __pyx_clineno = 0;
10245   __Pyx_RefNannySetupContext("initialize", 0);
10246 
10247   /* "Cython/Compiler/FlowControl.py":229
10248  *     def initialize(self):
10249  *         """Set initial state, map assignments to bits."""
10250  *         self.assmts = {}             # <<<<<<<<<<<<<<
10251  *
10252  *         bit = 1
10253  */
10254   __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 229, __pyx_L1_error)
10255   __Pyx_GOTREF(__pyx_t_1);
10256   __Pyx_GIVEREF(__pyx_t_1);
10257   __Pyx_GOTREF(__pyx_v_self->assmts);
10258   __Pyx_DECREF(__pyx_v_self->assmts);
10259   __pyx_v_self->assmts = ((PyObject*)__pyx_t_1);
10260   __pyx_t_1 = 0;
10261 
10262   /* "Cython/Compiler/FlowControl.py":231
10263  *         self.assmts = {}
10264  *
10265  *         bit = 1             # <<<<<<<<<<<<<<
10266  *         for entry in self.entries:
10267  *             assmts = AssignmentList()
10268  */
10269   __Pyx_INCREF(__pyx_int_1);
10270   __pyx_v_bit = __pyx_int_1;
10271 
10272   /* "Cython/Compiler/FlowControl.py":232
10273  *
10274  *         bit = 1
10275  *         for entry in self.entries:             # <<<<<<<<<<<<<<
10276  *             assmts = AssignmentList()
10277  *             assmts.mask = assmts.bit = bit
10278  */
10279   __pyx_t_2 = 0;
10280   __pyx_t_5 = __Pyx_set_iterator(__pyx_v_self->entries, 1, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 232, __pyx_L1_error)
10281   __Pyx_GOTREF(__pyx_t_5);
10282   __Pyx_XDECREF(__pyx_t_1);
10283   __pyx_t_1 = __pyx_t_5;
10284   __pyx_t_5 = 0;
10285   while (1) {
10286     __pyx_t_6 = __Pyx_set_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, __pyx_t_4);
10287     if (unlikely(__pyx_t_6 == 0)) break;
10288     if (unlikely(__pyx_t_6 == -1)) __PYX_ERR(0, 232, __pyx_L1_error)
10289     __Pyx_GOTREF(__pyx_t_5);
10290     __Pyx_XDECREF_SET(__pyx_v_entry, __pyx_t_5);
10291     __pyx_t_5 = 0;
10292 
10293     /* "Cython/Compiler/FlowControl.py":233
10294  *         bit = 1
10295  *         for entry in self.entries:
10296  *             assmts = AssignmentList()             # <<<<<<<<<<<<<<
10297  *             assmts.mask = assmts.bit = bit
10298  *             self.assmts[entry] = assmts
10299  */
10300     __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentList)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 233, __pyx_L1_error)
10301     __Pyx_GOTREF(__pyx_t_5);
10302     __Pyx_XDECREF_SET(__pyx_v_assmts, ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *)__pyx_t_5));
10303     __pyx_t_5 = 0;
10304 
10305     /* "Cython/Compiler/FlowControl.py":234
10306  *         for entry in self.entries:
10307  *             assmts = AssignmentList()
10308  *             assmts.mask = assmts.bit = bit             # <<<<<<<<<<<<<<
10309  *             self.assmts[entry] = assmts
10310  *             bit <<= 1
10311  */
10312     __Pyx_INCREF(__pyx_v_bit);
10313     __Pyx_GIVEREF(__pyx_v_bit);
10314     __Pyx_GOTREF(__pyx_v_assmts->mask);
10315     __Pyx_DECREF(__pyx_v_assmts->mask);
10316     __pyx_v_assmts->mask = __pyx_v_bit;
10317     __Pyx_INCREF(__pyx_v_bit);
10318     __Pyx_GIVEREF(__pyx_v_bit);
10319     __Pyx_GOTREF(__pyx_v_assmts->bit);
10320     __Pyx_DECREF(__pyx_v_assmts->bit);
10321     __pyx_v_assmts->bit = __pyx_v_bit;
10322 
10323     /* "Cython/Compiler/FlowControl.py":235
10324  *             assmts = AssignmentList()
10325  *             assmts.mask = assmts.bit = bit
10326  *             self.assmts[entry] = assmts             # <<<<<<<<<<<<<<
10327  *             bit <<= 1
10328  *
10329  */
10330     if (unlikely(__pyx_v_self->assmts == Py_None)) {
10331       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
10332       __PYX_ERR(0, 235, __pyx_L1_error)
10333     }
10334     if (unlikely(PyDict_SetItem(__pyx_v_self->assmts, __pyx_v_entry, ((PyObject *)__pyx_v_assmts)) < 0)) __PYX_ERR(0, 235, __pyx_L1_error)
10335 
10336     /* "Cython/Compiler/FlowControl.py":236
10337  *             assmts.mask = assmts.bit = bit
10338  *             self.assmts[entry] = assmts
10339  *             bit <<= 1             # <<<<<<<<<<<<<<
10340  *
10341  *         for block in self.blocks:
10342  */
10343     __pyx_t_5 = __Pyx_PyInt_LshiftObjC(__pyx_v_bit, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 236, __pyx_L1_error)
10344     __Pyx_GOTREF(__pyx_t_5);
10345     __Pyx_DECREF_SET(__pyx_v_bit, __pyx_t_5);
10346     __pyx_t_5 = 0;
10347   }
10348   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10349 
10350   /* "Cython/Compiler/FlowControl.py":238
10351  *             bit <<= 1
10352  *
10353  *         for block in self.blocks:             # <<<<<<<<<<<<<<
10354  *             for stat in block.stats:
10355  *                 if isinstance(stat, NameAssignment):
10356  */
10357   __pyx_t_3 = 0;
10358   __pyx_t_5 = __Pyx_set_iterator(__pyx_v_self->blocks, 1, (&__pyx_t_2), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 238, __pyx_L1_error)
10359   __Pyx_GOTREF(__pyx_t_5);
10360   __Pyx_XDECREF(__pyx_t_1);
10361   __pyx_t_1 = __pyx_t_5;
10362   __pyx_t_5 = 0;
10363   while (1) {
10364     __pyx_t_6 = __Pyx_set_iter_next(__pyx_t_1, __pyx_t_2, &__pyx_t_3, &__pyx_t_5, __pyx_t_4);
10365     if (unlikely(__pyx_t_6 == 0)) break;
10366     if (unlikely(__pyx_t_6 == -1)) __PYX_ERR(0, 238, __pyx_L1_error)
10367     __Pyx_GOTREF(__pyx_t_5);
10368     if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(0, 238, __pyx_L1_error)
10369     __Pyx_XDECREF_SET(__pyx_v_block, ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_5));
10370     __pyx_t_5 = 0;
10371 
10372     /* "Cython/Compiler/FlowControl.py":239
10373  *
10374  *         for block in self.blocks:
10375  *             for stat in block.stats:             # <<<<<<<<<<<<<<
10376  *                 if isinstance(stat, NameAssignment):
10377  *                     stat.bit = bit
10378  */
10379     if (unlikely(__pyx_v_block->stats == Py_None)) {
10380       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
10381       __PYX_ERR(0, 239, __pyx_L1_error)
10382     }
10383     __pyx_t_5 = __pyx_v_block->stats; __Pyx_INCREF(__pyx_t_5); __pyx_t_7 = 0;
10384     for (;;) {
10385       if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_5)) break;
10386       #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
10387       __pyx_t_8 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_8); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 239, __pyx_L1_error)
10388       #else
10389       __pyx_t_8 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 239, __pyx_L1_error)
10390       __Pyx_GOTREF(__pyx_t_8);
10391       #endif
10392       __Pyx_XDECREF_SET(__pyx_v_stat, __pyx_t_8);
10393       __pyx_t_8 = 0;
10394 
10395       /* "Cython/Compiler/FlowControl.py":240
10396  *         for block in self.blocks:
10397  *             for stat in block.stats:
10398  *                 if isinstance(stat, NameAssignment):             # <<<<<<<<<<<<<<
10399  *                     stat.bit = bit
10400  *                     assmts = self.assmts[stat.entry]
10401  */
10402       __pyx_t_9 = __Pyx_TypeCheck(__pyx_v_stat, __pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment);
10403       __pyx_t_10 = (__pyx_t_9 != 0);
10404       if (__pyx_t_10) {
10405 
10406         /* "Cython/Compiler/FlowControl.py":241
10407  *             for stat in block.stats:
10408  *                 if isinstance(stat, NameAssignment):
10409  *                     stat.bit = bit             # <<<<<<<<<<<<<<
10410  *                     assmts = self.assmts[stat.entry]
10411  *                     assmts.stats.append(stat)
10412  */
10413         if (__Pyx_PyObject_SetAttrStr(__pyx_v_stat, __pyx_n_s_bit, __pyx_v_bit) < 0) __PYX_ERR(0, 241, __pyx_L1_error)
10414 
10415         /* "Cython/Compiler/FlowControl.py":242
10416  *                 if isinstance(stat, NameAssignment):
10417  *                     stat.bit = bit
10418  *                     assmts = self.assmts[stat.entry]             # <<<<<<<<<<<<<<
10419  *                     assmts.stats.append(stat)
10420  *                     assmts.mask |= bit
10421  */
10422         if (unlikely(__pyx_v_self->assmts == Py_None)) {
10423           PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
10424           __PYX_ERR(0, 242, __pyx_L1_error)
10425         }
10426         __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_stat, __pyx_n_s_entry); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 242, __pyx_L1_error)
10427         __Pyx_GOTREF(__pyx_t_8);
10428         __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_self->assmts, __pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 242, __pyx_L1_error)
10429         __Pyx_GOTREF(__pyx_t_11);
10430         __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
10431         if (!(likely(((__pyx_t_11) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_11, __pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentList))))) __PYX_ERR(0, 242, __pyx_L1_error)
10432         __Pyx_XDECREF_SET(__pyx_v_assmts, ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *)__pyx_t_11));
10433         __pyx_t_11 = 0;
10434 
10435         /* "Cython/Compiler/FlowControl.py":243
10436  *                     stat.bit = bit
10437  *                     assmts = self.assmts[stat.entry]
10438  *                     assmts.stats.append(stat)             # <<<<<<<<<<<<<<
10439  *                     assmts.mask |= bit
10440  *                     bit <<= 1
10441  */
10442         if (unlikely(__pyx_v_assmts->stats == Py_None)) {
10443           PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
10444           __PYX_ERR(0, 243, __pyx_L1_error)
10445         }
10446         __pyx_t_12 = __Pyx_PyList_Append(__pyx_v_assmts->stats, __pyx_v_stat); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 243, __pyx_L1_error)
10447 
10448         /* "Cython/Compiler/FlowControl.py":244
10449  *                     assmts = self.assmts[stat.entry]
10450  *                     assmts.stats.append(stat)
10451  *                     assmts.mask |= bit             # <<<<<<<<<<<<<<
10452  *                     bit <<= 1
10453  *
10454  */
10455         __pyx_t_11 = PyNumber_InPlaceOr(__pyx_v_assmts->mask, __pyx_v_bit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 244, __pyx_L1_error)
10456         __Pyx_GOTREF(__pyx_t_11);
10457         __Pyx_GIVEREF(__pyx_t_11);
10458         __Pyx_GOTREF(__pyx_v_assmts->mask);
10459         __Pyx_DECREF(__pyx_v_assmts->mask);
10460         __pyx_v_assmts->mask = __pyx_t_11;
10461         __pyx_t_11 = 0;
10462 
10463         /* "Cython/Compiler/FlowControl.py":245
10464  *                     assmts.stats.append(stat)
10465  *                     assmts.mask |= bit
10466  *                     bit <<= 1             # <<<<<<<<<<<<<<
10467  *
10468  *         for block in self.blocks:
10469  */
10470         __pyx_t_11 = __Pyx_PyInt_LshiftObjC(__pyx_v_bit, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 245, __pyx_L1_error)
10471         __Pyx_GOTREF(__pyx_t_11);
10472         __Pyx_DECREF_SET(__pyx_v_bit, __pyx_t_11);
10473         __pyx_t_11 = 0;
10474 
10475         /* "Cython/Compiler/FlowControl.py":240
10476  *         for block in self.blocks:
10477  *             for stat in block.stats:
10478  *                 if isinstance(stat, NameAssignment):             # <<<<<<<<<<<<<<
10479  *                     stat.bit = bit
10480  *                     assmts = self.assmts[stat.entry]
10481  */
10482       }
10483 
10484       /* "Cython/Compiler/FlowControl.py":239
10485  *
10486  *         for block in self.blocks:
10487  *             for stat in block.stats:             # <<<<<<<<<<<<<<
10488  *                 if isinstance(stat, NameAssignment):
10489  *                     stat.bit = bit
10490  */
10491     }
10492     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
10493   }
10494   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10495 
10496   /* "Cython/Compiler/FlowControl.py":247
10497  *                     bit <<= 1
10498  *
10499  *         for block in self.blocks:             # <<<<<<<<<<<<<<
10500  *             for entry, stat in block.gen.items():
10501  *                 assmts = self.assmts[entry]
10502  */
10503   __pyx_t_2 = 0;
10504   __pyx_t_5 = __Pyx_set_iterator(__pyx_v_self->blocks, 1, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 247, __pyx_L1_error)
10505   __Pyx_GOTREF(__pyx_t_5);
10506   __Pyx_XDECREF(__pyx_t_1);
10507   __pyx_t_1 = __pyx_t_5;
10508   __pyx_t_5 = 0;
10509   while (1) {
10510     __pyx_t_6 = __Pyx_set_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, __pyx_t_4);
10511     if (unlikely(__pyx_t_6 == 0)) break;
10512     if (unlikely(__pyx_t_6 == -1)) __PYX_ERR(0, 247, __pyx_L1_error)
10513     __Pyx_GOTREF(__pyx_t_5);
10514     if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(0, 247, __pyx_L1_error)
10515     __Pyx_XDECREF_SET(__pyx_v_block, ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_5));
10516     __pyx_t_5 = 0;
10517 
10518     /* "Cython/Compiler/FlowControl.py":248
10519  *
10520  *         for block in self.blocks:
10521  *             for entry, stat in block.gen.items():             # <<<<<<<<<<<<<<
10522  *                 assmts = self.assmts[entry]
10523  *                 if stat is Uninitialized:
10524  */
10525     if (unlikely(__pyx_v_block->gen == Py_None)) {
10526       PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
10527       __PYX_ERR(0, 248, __pyx_L1_error)
10528     }
10529     __pyx_t_5 = __Pyx_PyDict_Items(__pyx_v_block->gen); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 248, __pyx_L1_error)
10530     __Pyx_GOTREF(__pyx_t_5);
10531     if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
10532       __pyx_t_11 = __pyx_t_5; __Pyx_INCREF(__pyx_t_11); __pyx_t_7 = 0;
10533       __pyx_t_13 = NULL;
10534     } else {
10535       __pyx_t_7 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 248, __pyx_L1_error)
10536       __Pyx_GOTREF(__pyx_t_11);
10537       __pyx_t_13 = Py_TYPE(__pyx_t_11)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 248, __pyx_L1_error)
10538     }
10539     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
10540     for (;;) {
10541       if (likely(!__pyx_t_13)) {
10542         if (likely(PyList_CheckExact(__pyx_t_11))) {
10543           if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_11)) break;
10544           #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
10545           __pyx_t_5 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 248, __pyx_L1_error)
10546           #else
10547           __pyx_t_5 = PySequence_ITEM(__pyx_t_11, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 248, __pyx_L1_error)
10548           __Pyx_GOTREF(__pyx_t_5);
10549           #endif
10550         } else {
10551           if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_11)) break;
10552           #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
10553           __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 248, __pyx_L1_error)
10554           #else
10555           __pyx_t_5 = PySequence_ITEM(__pyx_t_11, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 248, __pyx_L1_error)
10556           __Pyx_GOTREF(__pyx_t_5);
10557           #endif
10558         }
10559       } else {
10560         __pyx_t_5 = __pyx_t_13(__pyx_t_11);
10561         if (unlikely(!__pyx_t_5)) {
10562           PyObject* exc_type = PyErr_Occurred();
10563           if (exc_type) {
10564             if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
10565             else __PYX_ERR(0, 248, __pyx_L1_error)
10566           }
10567           break;
10568         }
10569         __Pyx_GOTREF(__pyx_t_5);
10570       }
10571       if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) {
10572         PyObject* sequence = __pyx_t_5;
10573         Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
10574         if (unlikely(size != 2)) {
10575           if (size > 2) __Pyx_RaiseTooManyValuesError(2);
10576           else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
10577           __PYX_ERR(0, 248, __pyx_L1_error)
10578         }
10579         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
10580         if (likely(PyTuple_CheckExact(sequence))) {
10581           __pyx_t_8 = PyTuple_GET_ITEM(sequence, 0);
10582           __pyx_t_14 = PyTuple_GET_ITEM(sequence, 1);
10583         } else {
10584           __pyx_t_8 = PyList_GET_ITEM(sequence, 0);
10585           __pyx_t_14 = PyList_GET_ITEM(sequence, 1);
10586         }
10587         __Pyx_INCREF(__pyx_t_8);
10588         __Pyx_INCREF(__pyx_t_14);
10589         #else
10590         __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 248, __pyx_L1_error)
10591         __Pyx_GOTREF(__pyx_t_8);
10592         __pyx_t_14 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 248, __pyx_L1_error)
10593         __Pyx_GOTREF(__pyx_t_14);
10594         #endif
10595         __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
10596       } else {
10597         Py_ssize_t index = -1;
10598         __pyx_t_15 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 248, __pyx_L1_error)
10599         __Pyx_GOTREF(__pyx_t_15);
10600         __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
10601         __pyx_t_16 = Py_TYPE(__pyx_t_15)->tp_iternext;
10602         index = 0; __pyx_t_8 = __pyx_t_16(__pyx_t_15); if (unlikely(!__pyx_t_8)) goto __pyx_L14_unpacking_failed;
10603         __Pyx_GOTREF(__pyx_t_8);
10604         index = 1; __pyx_t_14 = __pyx_t_16(__pyx_t_15); if (unlikely(!__pyx_t_14)) goto __pyx_L14_unpacking_failed;
10605         __Pyx_GOTREF(__pyx_t_14);
10606         if (__Pyx_IternextUnpackEndCheck(__pyx_t_16(__pyx_t_15), 2) < 0) __PYX_ERR(0, 248, __pyx_L1_error)
10607         __pyx_t_16 = NULL;
10608         __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
10609         goto __pyx_L15_unpacking_done;
10610         __pyx_L14_unpacking_failed:;
10611         __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
10612         __pyx_t_16 = NULL;
10613         if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
10614         __PYX_ERR(0, 248, __pyx_L1_error)
10615         __pyx_L15_unpacking_done:;
10616       }
10617       __Pyx_XDECREF_SET(__pyx_v_entry, __pyx_t_8);
10618       __pyx_t_8 = 0;
10619       __Pyx_XDECREF_SET(__pyx_v_stat, __pyx_t_14);
10620       __pyx_t_14 = 0;
10621 
10622       /* "Cython/Compiler/FlowControl.py":249
10623  *         for block in self.blocks:
10624  *             for entry, stat in block.gen.items():
10625  *                 assmts = self.assmts[entry]             # <<<<<<<<<<<<<<
10626  *                 if stat is Uninitialized:
10627  *                     block.i_gen |= assmts.bit
10628  */
10629       if (unlikely(__pyx_v_self->assmts == Py_None)) {
10630         PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
10631         __PYX_ERR(0, 249, __pyx_L1_error)
10632       }
10633       __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_self->assmts, __pyx_v_entry); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 249, __pyx_L1_error)
10634       __Pyx_GOTREF(__pyx_t_5);
10635       if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentList))))) __PYX_ERR(0, 249, __pyx_L1_error)
10636       __Pyx_XDECREF_SET(__pyx_v_assmts, ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *)__pyx_t_5));
10637       __pyx_t_5 = 0;
10638 
10639       /* "Cython/Compiler/FlowControl.py":250
10640  *             for entry, stat in block.gen.items():
10641  *                 assmts = self.assmts[entry]
10642  *                 if stat is Uninitialized:             # <<<<<<<<<<<<<<
10643  *                     block.i_gen |= assmts.bit
10644  *                 else:
10645  */
10646       __pyx_t_10 = (__pyx_v_stat == ((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_Uninitialized));
10647       __pyx_t_9 = (__pyx_t_10 != 0);
10648       if (__pyx_t_9) {
10649 
10650         /* "Cython/Compiler/FlowControl.py":251
10651  *                 assmts = self.assmts[entry]
10652  *                 if stat is Uninitialized:
10653  *                     block.i_gen |= assmts.bit             # <<<<<<<<<<<<<<
10654  *                 else:
10655  *                     block.i_gen |= stat.bit
10656  */
10657         __pyx_t_5 = PyNumber_InPlaceOr(__pyx_v_block->i_gen, __pyx_v_assmts->bit); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 251, __pyx_L1_error)
10658         __Pyx_GOTREF(__pyx_t_5);
10659         __Pyx_GIVEREF(__pyx_t_5);
10660         __Pyx_GOTREF(__pyx_v_block->i_gen);
10661         __Pyx_DECREF(__pyx_v_block->i_gen);
10662         __pyx_v_block->i_gen = __pyx_t_5;
10663         __pyx_t_5 = 0;
10664 
10665         /* "Cython/Compiler/FlowControl.py":250
10666  *             for entry, stat in block.gen.items():
10667  *                 assmts = self.assmts[entry]
10668  *                 if stat is Uninitialized:             # <<<<<<<<<<<<<<
10669  *                     block.i_gen |= assmts.bit
10670  *                 else:
10671  */
10672         goto __pyx_L16;
10673       }
10674 
10675       /* "Cython/Compiler/FlowControl.py":253
10676  *                     block.i_gen |= assmts.bit
10677  *                 else:
10678  *                     block.i_gen |= stat.bit             # <<<<<<<<<<<<<<
10679  *                 block.i_kill |= assmts.mask
10680  *             block.i_output = block.i_gen
10681  */
10682       /*else*/ {
10683         __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_stat, __pyx_n_s_bit); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 253, __pyx_L1_error)
10684         __Pyx_GOTREF(__pyx_t_5);
10685         __pyx_t_14 = PyNumber_InPlaceOr(__pyx_v_block->i_gen, __pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 253, __pyx_L1_error)
10686         __Pyx_GOTREF(__pyx_t_14);
10687         __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
10688         __Pyx_GIVEREF(__pyx_t_14);
10689         __Pyx_GOTREF(__pyx_v_block->i_gen);
10690         __Pyx_DECREF(__pyx_v_block->i_gen);
10691         __pyx_v_block->i_gen = __pyx_t_14;
10692         __pyx_t_14 = 0;
10693       }
10694       __pyx_L16:;
10695 
10696       /* "Cython/Compiler/FlowControl.py":254
10697  *                 else:
10698  *                     block.i_gen |= stat.bit
10699  *                 block.i_kill |= assmts.mask             # <<<<<<<<<<<<<<
10700  *             block.i_output = block.i_gen
10701  *             for entry in block.bounded:
10702  */
10703       __pyx_t_14 = PyNumber_InPlaceOr(__pyx_v_block->i_kill, __pyx_v_assmts->mask); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 254, __pyx_L1_error)
10704       __Pyx_GOTREF(__pyx_t_14);
10705       __Pyx_GIVEREF(__pyx_t_14);
10706       __Pyx_GOTREF(__pyx_v_block->i_kill);
10707       __Pyx_DECREF(__pyx_v_block->i_kill);
10708       __pyx_v_block->i_kill = __pyx_t_14;
10709       __pyx_t_14 = 0;
10710 
10711       /* "Cython/Compiler/FlowControl.py":248
10712  *
10713  *         for block in self.blocks:
10714  *             for entry, stat in block.gen.items():             # <<<<<<<<<<<<<<
10715  *                 assmts = self.assmts[entry]
10716  *                 if stat is Uninitialized:
10717  */
10718     }
10719     __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
10720 
10721     /* "Cython/Compiler/FlowControl.py":255
10722  *                     block.i_gen |= stat.bit
10723  *                 block.i_kill |= assmts.mask
10724  *             block.i_output = block.i_gen             # <<<<<<<<<<<<<<
10725  *             for entry in block.bounded:
10726  *                 block.i_kill |= self.assmts[entry].bit
10727  */
10728     __pyx_t_11 = __pyx_v_block->i_gen;
10729     __Pyx_INCREF(__pyx_t_11);
10730     __Pyx_GIVEREF(__pyx_t_11);
10731     __Pyx_GOTREF(__pyx_v_block->i_output);
10732     __Pyx_DECREF(__pyx_v_block->i_output);
10733     __pyx_v_block->i_output = __pyx_t_11;
10734     __pyx_t_11 = 0;
10735 
10736     /* "Cython/Compiler/FlowControl.py":256
10737  *                 block.i_kill |= assmts.mask
10738  *             block.i_output = block.i_gen
10739  *             for entry in block.bounded:             # <<<<<<<<<<<<<<
10740  *                 block.i_kill |= self.assmts[entry].bit
10741  *
10742  */
10743     __pyx_t_7 = 0;
10744     __pyx_t_14 = __Pyx_set_iterator(__pyx_v_block->bounded, 1, (&__pyx_t_17), (&__pyx_t_6)); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 256, __pyx_L1_error)
10745     __Pyx_GOTREF(__pyx_t_14);
10746     __Pyx_XDECREF(__pyx_t_11);
10747     __pyx_t_11 = __pyx_t_14;
10748     __pyx_t_14 = 0;
10749     while (1) {
10750       __pyx_t_18 = __Pyx_set_iter_next(__pyx_t_11, __pyx_t_17, &__pyx_t_7, &__pyx_t_14, __pyx_t_6);
10751       if (unlikely(__pyx_t_18 == 0)) break;
10752       if (unlikely(__pyx_t_18 == -1)) __PYX_ERR(0, 256, __pyx_L1_error)
10753       __Pyx_GOTREF(__pyx_t_14);
10754       __Pyx_XDECREF_SET(__pyx_v_entry, __pyx_t_14);
10755       __pyx_t_14 = 0;
10756 
10757       /* "Cython/Compiler/FlowControl.py":257
10758  *             block.i_output = block.i_gen
10759  *             for entry in block.bounded:
10760  *                 block.i_kill |= self.assmts[entry].bit             # <<<<<<<<<<<<<<
10761  *
10762  *         for assmts in self.assmts.values():
10763  */
10764       if (unlikely(__pyx_v_self->assmts == Py_None)) {
10765         PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
10766         __PYX_ERR(0, 257, __pyx_L1_error)
10767       }
10768       __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_self->assmts, __pyx_v_entry); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 257, __pyx_L1_error)
10769       __Pyx_GOTREF(__pyx_t_14);
10770       __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_bit); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 257, __pyx_L1_error)
10771       __Pyx_GOTREF(__pyx_t_5);
10772       __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
10773       __pyx_t_14 = PyNumber_InPlaceOr(__pyx_v_block->i_kill, __pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 257, __pyx_L1_error)
10774       __Pyx_GOTREF(__pyx_t_14);
10775       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
10776       __Pyx_GIVEREF(__pyx_t_14);
10777       __Pyx_GOTREF(__pyx_v_block->i_kill);
10778       __Pyx_DECREF(__pyx_v_block->i_kill);
10779       __pyx_v_block->i_kill = __pyx_t_14;
10780       __pyx_t_14 = 0;
10781     }
10782     __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
10783   }
10784   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10785 
10786   /* "Cython/Compiler/FlowControl.py":259
10787  *                 block.i_kill |= self.assmts[entry].bit
10788  *
10789  *         for assmts in self.assmts.values():             # <<<<<<<<<<<<<<
10790  *             self.entry_point.i_gen |= assmts.bit
10791  *         self.entry_point.i_output = self.entry_point.i_gen
10792  */
10793   if (unlikely(__pyx_v_self->assmts == Py_None)) {
10794     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "values");
10795     __PYX_ERR(0, 259, __pyx_L1_error)
10796   }
10797   __pyx_t_1 = __Pyx_PyDict_Values(__pyx_v_self->assmts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 259, __pyx_L1_error)
10798   __Pyx_GOTREF(__pyx_t_1);
10799   if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
10800     __pyx_t_11 = __pyx_t_1; __Pyx_INCREF(__pyx_t_11); __pyx_t_3 = 0;
10801     __pyx_t_13 = NULL;
10802   } else {
10803     __pyx_t_3 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 259, __pyx_L1_error)
10804     __Pyx_GOTREF(__pyx_t_11);
10805     __pyx_t_13 = Py_TYPE(__pyx_t_11)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 259, __pyx_L1_error)
10806   }
10807   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10808   for (;;) {
10809     if (likely(!__pyx_t_13)) {
10810       if (likely(PyList_CheckExact(__pyx_t_11))) {
10811         if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_11)) break;
10812         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
10813         __pyx_t_1 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 259, __pyx_L1_error)
10814         #else
10815         __pyx_t_1 = PySequence_ITEM(__pyx_t_11, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 259, __pyx_L1_error)
10816         __Pyx_GOTREF(__pyx_t_1);
10817         #endif
10818       } else {
10819         if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_11)) break;
10820         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
10821         __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 259, __pyx_L1_error)
10822         #else
10823         __pyx_t_1 = PySequence_ITEM(__pyx_t_11, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 259, __pyx_L1_error)
10824         __Pyx_GOTREF(__pyx_t_1);
10825         #endif
10826       }
10827     } else {
10828       __pyx_t_1 = __pyx_t_13(__pyx_t_11);
10829       if (unlikely(!__pyx_t_1)) {
10830         PyObject* exc_type = PyErr_Occurred();
10831         if (exc_type) {
10832           if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
10833           else __PYX_ERR(0, 259, __pyx_L1_error)
10834         }
10835         break;
10836       }
10837       __Pyx_GOTREF(__pyx_t_1);
10838     }
10839     if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentList))))) __PYX_ERR(0, 259, __pyx_L1_error)
10840     __Pyx_XDECREF_SET(__pyx_v_assmts, ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *)__pyx_t_1));
10841     __pyx_t_1 = 0;
10842 
10843     /* "Cython/Compiler/FlowControl.py":260
10844  *
10845  *         for assmts in self.assmts.values():
10846  *             self.entry_point.i_gen |= assmts.bit             # <<<<<<<<<<<<<<
10847  *         self.entry_point.i_output = self.entry_point.i_gen
10848  *
10849  */
10850     __Pyx_INCREF(((PyObject *)__pyx_v_self->entry_point));
10851     __pyx_t_19 = __pyx_v_self->entry_point;
10852     __pyx_t_1 = PyNumber_InPlaceOr(__pyx_t_19->i_gen, __pyx_v_assmts->bit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 260, __pyx_L1_error)
10853     __Pyx_GOTREF(__pyx_t_1);
10854     __Pyx_GIVEREF(__pyx_t_1);
10855     __Pyx_GOTREF(__pyx_t_19->i_gen);
10856     __Pyx_DECREF(__pyx_t_19->i_gen);
10857     __pyx_t_19->i_gen = __pyx_t_1;
10858     __pyx_t_1 = 0;
10859     __Pyx_DECREF(((PyObject *)__pyx_t_19)); __pyx_t_19 = 0;
10860 
10861     /* "Cython/Compiler/FlowControl.py":259
10862  *                 block.i_kill |= self.assmts[entry].bit
10863  *
10864  *         for assmts in self.assmts.values():             # <<<<<<<<<<<<<<
10865  *             self.entry_point.i_gen |= assmts.bit
10866  *         self.entry_point.i_output = self.entry_point.i_gen
10867  */
10868   }
10869   __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
10870 
10871   /* "Cython/Compiler/FlowControl.py":261
10872  *         for assmts in self.assmts.values():
10873  *             self.entry_point.i_gen |= assmts.bit
10874  *         self.entry_point.i_output = self.entry_point.i_gen             # <<<<<<<<<<<<<<
10875  *
10876  *     def map_one(self, istate, entry):
10877  */
10878   __pyx_t_11 = __pyx_v_self->entry_point->i_gen;
10879   __Pyx_INCREF(__pyx_t_11);
10880   __Pyx_GIVEREF(__pyx_t_11);
10881   __Pyx_GOTREF(__pyx_v_self->entry_point->i_output);
10882   __Pyx_DECREF(__pyx_v_self->entry_point->i_output);
10883   __pyx_v_self->entry_point->i_output = __pyx_t_11;
10884   __pyx_t_11 = 0;
10885 
10886   /* "Cython/Compiler/FlowControl.py":227
10887  *         self.blocks -= unreachable
10888  *
10889  *     def initialize(self):             # <<<<<<<<<<<<<<
10890  *         """Set initial state, map assignments to bits."""
10891  *         self.assmts = {}
10892  */
10893 
10894   /* function exit code */
10895   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
10896   goto __pyx_L0;
10897   __pyx_L1_error:;
10898   __Pyx_XDECREF(__pyx_t_1);
10899   __Pyx_XDECREF(__pyx_t_5);
10900   __Pyx_XDECREF(__pyx_t_8);
10901   __Pyx_XDECREF(__pyx_t_11);
10902   __Pyx_XDECREF(__pyx_t_14);
10903   __Pyx_XDECREF(__pyx_t_15);
10904   __Pyx_XDECREF(((PyObject *)__pyx_t_19));
10905   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.initialize", __pyx_clineno, __pyx_lineno, __pyx_filename);
10906   __pyx_r = 0;
10907   __pyx_L0:;
10908   __Pyx_XDECREF(__pyx_v_bit);
10909   __Pyx_XDECREF((PyObject *)__pyx_v_assmts);
10910   __Pyx_XDECREF((PyObject *)__pyx_v_block);
10911   __Pyx_XDECREF(__pyx_v_entry);
10912   __Pyx_XDECREF(__pyx_v_stat);
10913   __Pyx_XGIVEREF(__pyx_r);
10914   __Pyx_RefNannyFinishContext();
10915   return __pyx_r;
10916 }
10917 
10918 /* Python wrapper */
10919 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_23initialize(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
10920 static char __pyx_doc_6Cython_8Compiler_11FlowControl_11ControlFlow_22initialize[] = "Set initial state, map assignments to bits.";
10921 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_23initialize = {"initialize", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_23initialize, METH_NOARGS, __pyx_doc_6Cython_8Compiler_11FlowControl_11ControlFlow_22initialize};
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_23initialize(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)10922 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_23initialize(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
10923   PyObject *__pyx_r = 0;
10924   __Pyx_RefNannyDeclarations
10925   __Pyx_RefNannySetupContext("initialize (wrapper)", 0);
10926   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_22initialize(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self));
10927 
10928   /* function exit code */
10929   __Pyx_RefNannyFinishContext();
10930   return __pyx_r;
10931 }
10932 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_22initialize(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self)10933 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_22initialize(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self) {
10934   PyObject *__pyx_r = NULL;
10935   __Pyx_RefNannyDeclarations
10936   PyObject *__pyx_t_1 = NULL;
10937   int __pyx_lineno = 0;
10938   const char *__pyx_filename = NULL;
10939   int __pyx_clineno = 0;
10940   __Pyx_RefNannySetupContext("initialize", 0);
10941   __Pyx_XDECREF(__pyx_r);
10942   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_initialize(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 227, __pyx_L1_error)
10943   __Pyx_GOTREF(__pyx_t_1);
10944   __pyx_r = __pyx_t_1;
10945   __pyx_t_1 = 0;
10946   goto __pyx_L0;
10947 
10948   /* function exit code */
10949   __pyx_L1_error:;
10950   __Pyx_XDECREF(__pyx_t_1);
10951   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.initialize", __pyx_clineno, __pyx_lineno, __pyx_filename);
10952   __pyx_r = NULL;
10953   __pyx_L0:;
10954   __Pyx_XGIVEREF(__pyx_r);
10955   __Pyx_RefNannyFinishContext();
10956   return __pyx_r;
10957 }
10958 
10959 /* "Cython/Compiler/FlowControl.py":263
10960  *         self.entry_point.i_output = self.entry_point.i_gen
10961  *
10962  *     def map_one(self, istate, entry):             # <<<<<<<<<<<<<<
10963  *         ret = set()
10964  *         assmts = self.assmts[entry]
10965  */
10966 
10967 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_25map_one(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_map_one(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_istate,PyObject * __pyx_v_entry,CYTHON_UNUSED int __pyx_skip_dispatch)10968 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_map_one(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_istate, PyObject *__pyx_v_entry, CYTHON_UNUSED int __pyx_skip_dispatch) {
10969   struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v_assmts = 0;
10970   struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_assmt = 0;
10971   PyObject *__pyx_v_ret = NULL;
10972   PyObject *__pyx_r = NULL;
10973   __Pyx_RefNannyDeclarations
10974   PyObject *__pyx_t_1 = NULL;
10975   int __pyx_t_2;
10976   PyObject *__pyx_t_3 = NULL;
10977   PyObject *__pyx_t_4 = NULL;
10978   int __pyx_t_5;
10979   Py_ssize_t __pyx_t_6;
10980   int __pyx_lineno = 0;
10981   const char *__pyx_filename = NULL;
10982   int __pyx_clineno = 0;
10983   __Pyx_RefNannySetupContext("map_one", 0);
10984 
10985   /* "Cython/Compiler/FlowControl.py":264
10986  *
10987  *     def map_one(self, istate, entry):
10988  *         ret = set()             # <<<<<<<<<<<<<<
10989  *         assmts = self.assmts[entry]
10990  *         if istate & assmts.bit:
10991  */
10992   __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 264, __pyx_L1_error)
10993   __Pyx_GOTREF(__pyx_t_1);
10994   __pyx_v_ret = ((PyObject*)__pyx_t_1);
10995   __pyx_t_1 = 0;
10996 
10997   /* "Cython/Compiler/FlowControl.py":265
10998  *     def map_one(self, istate, entry):
10999  *         ret = set()
11000  *         assmts = self.assmts[entry]             # <<<<<<<<<<<<<<
11001  *         if istate & assmts.bit:
11002  *             if self.is_statically_assigned(entry):
11003  */
11004   if (unlikely(__pyx_v_self->assmts == Py_None)) {
11005     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
11006     __PYX_ERR(0, 265, __pyx_L1_error)
11007   }
11008   __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_self->assmts, __pyx_v_entry); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 265, __pyx_L1_error)
11009   __Pyx_GOTREF(__pyx_t_1);
11010   if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentList))))) __PYX_ERR(0, 265, __pyx_L1_error)
11011   __pyx_v_assmts = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *)__pyx_t_1);
11012   __pyx_t_1 = 0;
11013 
11014   /* "Cython/Compiler/FlowControl.py":266
11015  *         ret = set()
11016  *         assmts = self.assmts[entry]
11017  *         if istate & assmts.bit:             # <<<<<<<<<<<<<<
11018  *             if self.is_statically_assigned(entry):
11019  *                 ret.add(StaticAssignment(entry))
11020  */
11021   __pyx_t_1 = PyNumber_And(__pyx_v_istate, __pyx_v_assmts->bit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 266, __pyx_L1_error)
11022   __Pyx_GOTREF(__pyx_t_1);
11023   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 266, __pyx_L1_error)
11024   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11025   if (__pyx_t_2) {
11026 
11027     /* "Cython/Compiler/FlowControl.py":267
11028  *         assmts = self.assmts[entry]
11029  *         if istate & assmts.bit:
11030  *             if self.is_statically_assigned(entry):             # <<<<<<<<<<<<<<
11031  *                 ret.add(StaticAssignment(entry))
11032  *             elif entry.from_closure:
11033  */
11034     __pyx_t_2 = (__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_is_statically_assigned(__pyx_v_self, __pyx_v_entry, 0) != 0);
11035     if (__pyx_t_2) {
11036 
11037       /* "Cython/Compiler/FlowControl.py":268
11038  *         if istate & assmts.bit:
11039  *             if self.is_statically_assigned(entry):
11040  *                 ret.add(StaticAssignment(entry))             # <<<<<<<<<<<<<<
11041  *             elif entry.from_closure:
11042  *                 ret.add(Unknown)
11043  */
11044       __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_StaticAssignment); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 268, __pyx_L1_error)
11045       __Pyx_GOTREF(__pyx_t_3);
11046       __pyx_t_4 = NULL;
11047       if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
11048         __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
11049         if (likely(__pyx_t_4)) {
11050           PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
11051           __Pyx_INCREF(__pyx_t_4);
11052           __Pyx_INCREF(function);
11053           __Pyx_DECREF_SET(__pyx_t_3, function);
11054         }
11055       }
11056       __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_entry) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_entry);
11057       __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
11058       if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 268, __pyx_L1_error)
11059       __Pyx_GOTREF(__pyx_t_1);
11060       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
11061       __pyx_t_5 = PySet_Add(__pyx_v_ret, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 268, __pyx_L1_error)
11062       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11063 
11064       /* "Cython/Compiler/FlowControl.py":267
11065  *         assmts = self.assmts[entry]
11066  *         if istate & assmts.bit:
11067  *             if self.is_statically_assigned(entry):             # <<<<<<<<<<<<<<
11068  *                 ret.add(StaticAssignment(entry))
11069  *             elif entry.from_closure:
11070  */
11071       goto __pyx_L4;
11072     }
11073 
11074     /* "Cython/Compiler/FlowControl.py":269
11075  *             if self.is_statically_assigned(entry):
11076  *                 ret.add(StaticAssignment(entry))
11077  *             elif entry.from_closure:             # <<<<<<<<<<<<<<
11078  *                 ret.add(Unknown)
11079  *             else:
11080  */
11081     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_from_closure); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 269, __pyx_L1_error)
11082     __Pyx_GOTREF(__pyx_t_1);
11083     __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 269, __pyx_L1_error)
11084     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11085     if (__pyx_t_2) {
11086 
11087       /* "Cython/Compiler/FlowControl.py":270
11088  *                 ret.add(StaticAssignment(entry))
11089  *             elif entry.from_closure:
11090  *                 ret.add(Unknown)             # <<<<<<<<<<<<<<
11091  *             else:
11092  *                 ret.add(Uninitialized)
11093  */
11094       __pyx_t_5 = PySet_Add(__pyx_v_ret, ((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_Unknown)); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 270, __pyx_L1_error)
11095 
11096       /* "Cython/Compiler/FlowControl.py":269
11097  *             if self.is_statically_assigned(entry):
11098  *                 ret.add(StaticAssignment(entry))
11099  *             elif entry.from_closure:             # <<<<<<<<<<<<<<
11100  *                 ret.add(Unknown)
11101  *             else:
11102  */
11103       goto __pyx_L4;
11104     }
11105 
11106     /* "Cython/Compiler/FlowControl.py":272
11107  *                 ret.add(Unknown)
11108  *             else:
11109  *                 ret.add(Uninitialized)             # <<<<<<<<<<<<<<
11110  *         for assmt in assmts.stats:
11111  *             if istate & assmt.bit:
11112  */
11113     /*else*/ {
11114       __pyx_t_5 = PySet_Add(__pyx_v_ret, ((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_Uninitialized)); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 272, __pyx_L1_error)
11115     }
11116     __pyx_L4:;
11117 
11118     /* "Cython/Compiler/FlowControl.py":266
11119  *         ret = set()
11120  *         assmts = self.assmts[entry]
11121  *         if istate & assmts.bit:             # <<<<<<<<<<<<<<
11122  *             if self.is_statically_assigned(entry):
11123  *                 ret.add(StaticAssignment(entry))
11124  */
11125   }
11126 
11127   /* "Cython/Compiler/FlowControl.py":273
11128  *             else:
11129  *                 ret.add(Uninitialized)
11130  *         for assmt in assmts.stats:             # <<<<<<<<<<<<<<
11131  *             if istate & assmt.bit:
11132  *                 ret.add(assmt)
11133  */
11134   if (unlikely(__pyx_v_assmts->stats == Py_None)) {
11135     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
11136     __PYX_ERR(0, 273, __pyx_L1_error)
11137   }
11138   __pyx_t_1 = __pyx_v_assmts->stats; __Pyx_INCREF(__pyx_t_1); __pyx_t_6 = 0;
11139   for (;;) {
11140     if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)) break;
11141     #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
11142     __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 273, __pyx_L1_error)
11143     #else
11144     __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 273, __pyx_L1_error)
11145     __Pyx_GOTREF(__pyx_t_3);
11146     #endif
11147     if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment))))) __PYX_ERR(0, 273, __pyx_L1_error)
11148     __Pyx_XDECREF_SET(__pyx_v_assmt, ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_t_3));
11149     __pyx_t_3 = 0;
11150 
11151     /* "Cython/Compiler/FlowControl.py":274
11152  *                 ret.add(Uninitialized)
11153  *         for assmt in assmts.stats:
11154  *             if istate & assmt.bit:             # <<<<<<<<<<<<<<
11155  *                 ret.add(assmt)
11156  *         return ret
11157  */
11158     __pyx_t_3 = PyNumber_And(__pyx_v_istate, __pyx_v_assmt->bit); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 274, __pyx_L1_error)
11159     __Pyx_GOTREF(__pyx_t_3);
11160     __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 274, __pyx_L1_error)
11161     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
11162     if (__pyx_t_2) {
11163 
11164       /* "Cython/Compiler/FlowControl.py":275
11165  *         for assmt in assmts.stats:
11166  *             if istate & assmt.bit:
11167  *                 ret.add(assmt)             # <<<<<<<<<<<<<<
11168  *         return ret
11169  *
11170  */
11171       __pyx_t_5 = PySet_Add(__pyx_v_ret, ((PyObject *)__pyx_v_assmt)); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 275, __pyx_L1_error)
11172 
11173       /* "Cython/Compiler/FlowControl.py":274
11174  *                 ret.add(Uninitialized)
11175  *         for assmt in assmts.stats:
11176  *             if istate & assmt.bit:             # <<<<<<<<<<<<<<
11177  *                 ret.add(assmt)
11178  *         return ret
11179  */
11180     }
11181 
11182     /* "Cython/Compiler/FlowControl.py":273
11183  *             else:
11184  *                 ret.add(Uninitialized)
11185  *         for assmt in assmts.stats:             # <<<<<<<<<<<<<<
11186  *             if istate & assmt.bit:
11187  *                 ret.add(assmt)
11188  */
11189   }
11190   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11191 
11192   /* "Cython/Compiler/FlowControl.py":276
11193  *             if istate & assmt.bit:
11194  *                 ret.add(assmt)
11195  *         return ret             # <<<<<<<<<<<<<<
11196  *
11197  *     def reaching_definitions(self):
11198  */
11199   __Pyx_XDECREF(__pyx_r);
11200   __Pyx_INCREF(__pyx_v_ret);
11201   __pyx_r = __pyx_v_ret;
11202   goto __pyx_L0;
11203 
11204   /* "Cython/Compiler/FlowControl.py":263
11205  *         self.entry_point.i_output = self.entry_point.i_gen
11206  *
11207  *     def map_one(self, istate, entry):             # <<<<<<<<<<<<<<
11208  *         ret = set()
11209  *         assmts = self.assmts[entry]
11210  */
11211 
11212   /* function exit code */
11213   __pyx_L1_error:;
11214   __Pyx_XDECREF(__pyx_t_1);
11215   __Pyx_XDECREF(__pyx_t_3);
11216   __Pyx_XDECREF(__pyx_t_4);
11217   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.map_one", __pyx_clineno, __pyx_lineno, __pyx_filename);
11218   __pyx_r = 0;
11219   __pyx_L0:;
11220   __Pyx_XDECREF((PyObject *)__pyx_v_assmts);
11221   __Pyx_XDECREF((PyObject *)__pyx_v_assmt);
11222   __Pyx_XDECREF(__pyx_v_ret);
11223   __Pyx_XGIVEREF(__pyx_r);
11224   __Pyx_RefNannyFinishContext();
11225   return __pyx_r;
11226 }
11227 
11228 /* Python wrapper */
11229 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_25map_one(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
11230 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_25map_one = {"map_one", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_25map_one, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_25map_one(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)11231 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_25map_one(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
11232   PyObject *__pyx_v_istate = 0;
11233   PyObject *__pyx_v_entry = 0;
11234   int __pyx_lineno = 0;
11235   const char *__pyx_filename = NULL;
11236   int __pyx_clineno = 0;
11237   PyObject *__pyx_r = 0;
11238   __Pyx_RefNannyDeclarations
11239   __Pyx_RefNannySetupContext("map_one (wrapper)", 0);
11240   {
11241     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_istate,&__pyx_n_s_entry,0};
11242     PyObject* values[2] = {0,0};
11243     if (unlikely(__pyx_kwds)) {
11244       Py_ssize_t kw_args;
11245       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
11246       switch (pos_args) {
11247         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
11248         CYTHON_FALLTHROUGH;
11249         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
11250         CYTHON_FALLTHROUGH;
11251         case  0: break;
11252         default: goto __pyx_L5_argtuple_error;
11253       }
11254       kw_args = PyDict_Size(__pyx_kwds);
11255       switch (pos_args) {
11256         case  0:
11257         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_istate)) != 0)) kw_args--;
11258         else goto __pyx_L5_argtuple_error;
11259         CYTHON_FALLTHROUGH;
11260         case  1:
11261         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
11262         else {
11263           __Pyx_RaiseArgtupleInvalid("map_one", 1, 2, 2, 1); __PYX_ERR(0, 263, __pyx_L3_error)
11264         }
11265       }
11266       if (unlikely(kw_args > 0)) {
11267         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "map_one") < 0)) __PYX_ERR(0, 263, __pyx_L3_error)
11268       }
11269     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
11270       goto __pyx_L5_argtuple_error;
11271     } else {
11272       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
11273       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
11274     }
11275     __pyx_v_istate = values[0];
11276     __pyx_v_entry = values[1];
11277   }
11278   goto __pyx_L4_argument_unpacking_done;
11279   __pyx_L5_argtuple_error:;
11280   __Pyx_RaiseArgtupleInvalid("map_one", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 263, __pyx_L3_error)
11281   __pyx_L3_error:;
11282   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.map_one", __pyx_clineno, __pyx_lineno, __pyx_filename);
11283   __Pyx_RefNannyFinishContext();
11284   return NULL;
11285   __pyx_L4_argument_unpacking_done:;
11286   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_24map_one(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self), __pyx_v_istate, __pyx_v_entry);
11287 
11288   /* function exit code */
11289   __Pyx_RefNannyFinishContext();
11290   return __pyx_r;
11291 }
11292 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_24map_one(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_istate,PyObject * __pyx_v_entry)11293 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_24map_one(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_istate, PyObject *__pyx_v_entry) {
11294   PyObject *__pyx_r = NULL;
11295   __Pyx_RefNannyDeclarations
11296   PyObject *__pyx_t_1 = NULL;
11297   int __pyx_lineno = 0;
11298   const char *__pyx_filename = NULL;
11299   int __pyx_clineno = 0;
11300   __Pyx_RefNannySetupContext("map_one", 0);
11301   __Pyx_XDECREF(__pyx_r);
11302   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_map_one(__pyx_v_self, __pyx_v_istate, __pyx_v_entry, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 263, __pyx_L1_error)
11303   __Pyx_GOTREF(__pyx_t_1);
11304   __pyx_r = __pyx_t_1;
11305   __pyx_t_1 = 0;
11306   goto __pyx_L0;
11307 
11308   /* function exit code */
11309   __pyx_L1_error:;
11310   __Pyx_XDECREF(__pyx_t_1);
11311   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.map_one", __pyx_clineno, __pyx_lineno, __pyx_filename);
11312   __pyx_r = NULL;
11313   __pyx_L0:;
11314   __Pyx_XGIVEREF(__pyx_r);
11315   __Pyx_RefNannyFinishContext();
11316   return __pyx_r;
11317 }
11318 
11319 /* "Cython/Compiler/FlowControl.py":278
11320  *         return ret
11321  *
11322  *     def reaching_definitions(self):             # <<<<<<<<<<<<<<
11323  *         """Per-block reaching definitions analysis."""
11324  *         dirty = True
11325  */
11326 
__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_reaching_definitions(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self)11327 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_reaching_definitions(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self) {
11328   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_block = 0;
11329   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_parent = 0;
11330   int __pyx_v_dirty;
11331   PyObject *__pyx_v_i_input = NULL;
11332   PyObject *__pyx_v_i_output = NULL;
11333   PyObject *__pyx_r = NULL;
11334   __Pyx_RefNannyDeclarations
11335   int __pyx_t_1;
11336   PyObject *__pyx_t_2 = NULL;
11337   Py_ssize_t __pyx_t_3;
11338   Py_ssize_t __pyx_t_4;
11339   int __pyx_t_5;
11340   PyObject *__pyx_t_6 = NULL;
11341   int __pyx_t_7;
11342   Py_ssize_t __pyx_t_8;
11343   Py_ssize_t __pyx_t_9;
11344   PyObject *__pyx_t_10 = NULL;
11345   int __pyx_t_11;
11346   int __pyx_lineno = 0;
11347   const char *__pyx_filename = NULL;
11348   int __pyx_clineno = 0;
11349   __Pyx_RefNannySetupContext("reaching_definitions", 0);
11350 
11351   /* "Cython/Compiler/FlowControl.py":280
11352  *     def reaching_definitions(self):
11353  *         """Per-block reaching definitions analysis."""
11354  *         dirty = True             # <<<<<<<<<<<<<<
11355  *         while dirty:
11356  *             dirty = False
11357  */
11358   __pyx_v_dirty = 1;
11359 
11360   /* "Cython/Compiler/FlowControl.py":281
11361  *         """Per-block reaching definitions analysis."""
11362  *         dirty = True
11363  *         while dirty:             # <<<<<<<<<<<<<<
11364  *             dirty = False
11365  *             for block in self.blocks:
11366  */
11367   while (1) {
11368     __pyx_t_1 = (__pyx_v_dirty != 0);
11369     if (!__pyx_t_1) break;
11370 
11371     /* "Cython/Compiler/FlowControl.py":282
11372  *         dirty = True
11373  *         while dirty:
11374  *             dirty = False             # <<<<<<<<<<<<<<
11375  *             for block in self.blocks:
11376  *                 i_input = 0
11377  */
11378     __pyx_v_dirty = 0;
11379 
11380     /* "Cython/Compiler/FlowControl.py":283
11381  *         while dirty:
11382  *             dirty = False
11383  *             for block in self.blocks:             # <<<<<<<<<<<<<<
11384  *                 i_input = 0
11385  *                 for parent in block.parents:
11386  */
11387     __pyx_t_3 = 0;
11388     __pyx_t_6 = __Pyx_set_iterator(__pyx_v_self->blocks, 1, (&__pyx_t_4), (&__pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 283, __pyx_L1_error)
11389     __Pyx_GOTREF(__pyx_t_6);
11390     __Pyx_XDECREF(__pyx_t_2);
11391     __pyx_t_2 = __pyx_t_6;
11392     __pyx_t_6 = 0;
11393     while (1) {
11394       __pyx_t_7 = __Pyx_set_iter_next(__pyx_t_2, __pyx_t_4, &__pyx_t_3, &__pyx_t_6, __pyx_t_5);
11395       if (unlikely(__pyx_t_7 == 0)) break;
11396       if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 283, __pyx_L1_error)
11397       __Pyx_GOTREF(__pyx_t_6);
11398       if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(0, 283, __pyx_L1_error)
11399       __Pyx_XDECREF_SET(__pyx_v_block, ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_6));
11400       __pyx_t_6 = 0;
11401 
11402       /* "Cython/Compiler/FlowControl.py":284
11403  *             dirty = False
11404  *             for block in self.blocks:
11405  *                 i_input = 0             # <<<<<<<<<<<<<<
11406  *                 for parent in block.parents:
11407  *                     i_input |= parent.i_output
11408  */
11409       __Pyx_INCREF(__pyx_int_0);
11410       __Pyx_XDECREF_SET(__pyx_v_i_input, __pyx_int_0);
11411 
11412       /* "Cython/Compiler/FlowControl.py":285
11413  *             for block in self.blocks:
11414  *                 i_input = 0
11415  *                 for parent in block.parents:             # <<<<<<<<<<<<<<
11416  *                     i_input |= parent.i_output
11417  *                 i_output = (i_input & ~block.i_kill) | block.i_gen
11418  */
11419       __pyx_t_8 = 0;
11420       __pyx_t_10 = __Pyx_set_iterator(__pyx_v_block->parents, 1, (&__pyx_t_9), (&__pyx_t_7)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 285, __pyx_L1_error)
11421       __Pyx_GOTREF(__pyx_t_10);
11422       __Pyx_XDECREF(__pyx_t_6);
11423       __pyx_t_6 = __pyx_t_10;
11424       __pyx_t_10 = 0;
11425       while (1) {
11426         __pyx_t_11 = __Pyx_set_iter_next(__pyx_t_6, __pyx_t_9, &__pyx_t_8, &__pyx_t_10, __pyx_t_7);
11427         if (unlikely(__pyx_t_11 == 0)) break;
11428         if (unlikely(__pyx_t_11 == -1)) __PYX_ERR(0, 285, __pyx_L1_error)
11429         __Pyx_GOTREF(__pyx_t_10);
11430         if (!(likely(((__pyx_t_10) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_10, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(0, 285, __pyx_L1_error)
11431         __Pyx_XDECREF_SET(__pyx_v_parent, ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_10));
11432         __pyx_t_10 = 0;
11433 
11434         /* "Cython/Compiler/FlowControl.py":286
11435  *                 i_input = 0
11436  *                 for parent in block.parents:
11437  *                     i_input |= parent.i_output             # <<<<<<<<<<<<<<
11438  *                 i_output = (i_input & ~block.i_kill) | block.i_gen
11439  *                 if i_output != block.i_output:
11440  */
11441         __pyx_t_10 = PyNumber_InPlaceOr(__pyx_v_i_input, __pyx_v_parent->i_output); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 286, __pyx_L1_error)
11442         __Pyx_GOTREF(__pyx_t_10);
11443         __Pyx_DECREF_SET(__pyx_v_i_input, __pyx_t_10);
11444         __pyx_t_10 = 0;
11445       }
11446       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
11447 
11448       /* "Cython/Compiler/FlowControl.py":287
11449  *                 for parent in block.parents:
11450  *                     i_input |= parent.i_output
11451  *                 i_output = (i_input & ~block.i_kill) | block.i_gen             # <<<<<<<<<<<<<<
11452  *                 if i_output != block.i_output:
11453  *                     dirty = True
11454  */
11455       __pyx_t_6 = PyNumber_Invert(__pyx_v_block->i_kill); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 287, __pyx_L1_error)
11456       __Pyx_GOTREF(__pyx_t_6);
11457       __pyx_t_10 = PyNumber_And(__pyx_v_i_input, __pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 287, __pyx_L1_error)
11458       __Pyx_GOTREF(__pyx_t_10);
11459       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
11460       __pyx_t_6 = PyNumber_Or(__pyx_t_10, __pyx_v_block->i_gen); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 287, __pyx_L1_error)
11461       __Pyx_GOTREF(__pyx_t_6);
11462       __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
11463       __Pyx_XDECREF_SET(__pyx_v_i_output, __pyx_t_6);
11464       __pyx_t_6 = 0;
11465 
11466       /* "Cython/Compiler/FlowControl.py":288
11467  *                     i_input |= parent.i_output
11468  *                 i_output = (i_input & ~block.i_kill) | block.i_gen
11469  *                 if i_output != block.i_output:             # <<<<<<<<<<<<<<
11470  *                     dirty = True
11471  *                 block.i_input = i_input
11472  */
11473       __pyx_t_6 = PyObject_RichCompare(__pyx_v_i_output, __pyx_v_block->i_output, Py_NE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 288, __pyx_L1_error)
11474       __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 288, __pyx_L1_error)
11475       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
11476       if (__pyx_t_1) {
11477 
11478         /* "Cython/Compiler/FlowControl.py":289
11479  *                 i_output = (i_input & ~block.i_kill) | block.i_gen
11480  *                 if i_output != block.i_output:
11481  *                     dirty = True             # <<<<<<<<<<<<<<
11482  *                 block.i_input = i_input
11483  *                 block.i_output = i_output
11484  */
11485         __pyx_v_dirty = 1;
11486 
11487         /* "Cython/Compiler/FlowControl.py":288
11488  *                     i_input |= parent.i_output
11489  *                 i_output = (i_input & ~block.i_kill) | block.i_gen
11490  *                 if i_output != block.i_output:             # <<<<<<<<<<<<<<
11491  *                     dirty = True
11492  *                 block.i_input = i_input
11493  */
11494       }
11495 
11496       /* "Cython/Compiler/FlowControl.py":290
11497  *                 if i_output != block.i_output:
11498  *                     dirty = True
11499  *                 block.i_input = i_input             # <<<<<<<<<<<<<<
11500  *                 block.i_output = i_output
11501  *
11502  */
11503       __Pyx_INCREF(__pyx_v_i_input);
11504       __Pyx_GIVEREF(__pyx_v_i_input);
11505       __Pyx_GOTREF(__pyx_v_block->i_input);
11506       __Pyx_DECREF(__pyx_v_block->i_input);
11507       __pyx_v_block->i_input = __pyx_v_i_input;
11508 
11509       /* "Cython/Compiler/FlowControl.py":291
11510  *                     dirty = True
11511  *                 block.i_input = i_input
11512  *                 block.i_output = i_output             # <<<<<<<<<<<<<<
11513  *
11514  *
11515  */
11516       __Pyx_INCREF(__pyx_v_i_output);
11517       __Pyx_GIVEREF(__pyx_v_i_output);
11518       __Pyx_GOTREF(__pyx_v_block->i_output);
11519       __Pyx_DECREF(__pyx_v_block->i_output);
11520       __pyx_v_block->i_output = __pyx_v_i_output;
11521     }
11522     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11523   }
11524 
11525   /* "Cython/Compiler/FlowControl.py":278
11526  *         return ret
11527  *
11528  *     def reaching_definitions(self):             # <<<<<<<<<<<<<<
11529  *         """Per-block reaching definitions analysis."""
11530  *         dirty = True
11531  */
11532 
11533   /* function exit code */
11534   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
11535   goto __pyx_L0;
11536   __pyx_L1_error:;
11537   __Pyx_XDECREF(__pyx_t_2);
11538   __Pyx_XDECREF(__pyx_t_6);
11539   __Pyx_XDECREF(__pyx_t_10);
11540   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.reaching_definitions", __pyx_clineno, __pyx_lineno, __pyx_filename);
11541   __pyx_r = 0;
11542   __pyx_L0:;
11543   __Pyx_XDECREF((PyObject *)__pyx_v_block);
11544   __Pyx_XDECREF((PyObject *)__pyx_v_parent);
11545   __Pyx_XDECREF(__pyx_v_i_input);
11546   __Pyx_XDECREF(__pyx_v_i_output);
11547   __Pyx_XGIVEREF(__pyx_r);
11548   __Pyx_RefNannyFinishContext();
11549   return __pyx_r;
11550 }
11551 
11552 /* "Cython/Compiler/FlowControl.pxd":50
11553  * @cython.final
11554  * cdef class ControlFlow:
11555  *      cdef public set blocks             # <<<<<<<<<<<<<<
11556  *      cdef public set entries
11557  *      cdef public list loops
11558  */
11559 
11560 /* Python wrapper */
11561 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks_1__get__(PyObject * __pyx_v_self)11562 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks_1__get__(PyObject *__pyx_v_self) {
11563   PyObject *__pyx_r = 0;
11564   __Pyx_RefNannyDeclarations
11565   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
11566   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self));
11567 
11568   /* function exit code */
11569   __Pyx_RefNannyFinishContext();
11570   return __pyx_r;
11571 }
11572 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self)11573 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self) {
11574   PyObject *__pyx_r = NULL;
11575   __Pyx_RefNannyDeclarations
11576   __Pyx_RefNannySetupContext("__get__", 0);
11577   __Pyx_XDECREF(__pyx_r);
11578   __Pyx_INCREF(__pyx_v_self->blocks);
11579   __pyx_r = __pyx_v_self->blocks;
11580   goto __pyx_L0;
11581 
11582   /* function exit code */
11583   __pyx_L0:;
11584   __Pyx_XGIVEREF(__pyx_r);
11585   __Pyx_RefNannyFinishContext();
11586   return __pyx_r;
11587 }
11588 
11589 /* Python wrapper */
11590 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)11591 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
11592   int __pyx_r;
11593   __Pyx_RefNannyDeclarations
11594   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
11595   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self), ((PyObject *)__pyx_v_value));
11596 
11597   /* function exit code */
11598   __Pyx_RefNannyFinishContext();
11599   return __pyx_r;
11600 }
11601 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_value)11602 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_value) {
11603   int __pyx_r;
11604   __Pyx_RefNannyDeclarations
11605   PyObject *__pyx_t_1 = NULL;
11606   int __pyx_lineno = 0;
11607   const char *__pyx_filename = NULL;
11608   int __pyx_clineno = 0;
11609   __Pyx_RefNannySetupContext("__set__", 0);
11610   if (!(likely(PySet_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 50, __pyx_L1_error)
11611   __pyx_t_1 = __pyx_v_value;
11612   __Pyx_INCREF(__pyx_t_1);
11613   __Pyx_GIVEREF(__pyx_t_1);
11614   __Pyx_GOTREF(__pyx_v_self->blocks);
11615   __Pyx_DECREF(__pyx_v_self->blocks);
11616   __pyx_v_self->blocks = ((PyObject*)__pyx_t_1);
11617   __pyx_t_1 = 0;
11618 
11619   /* function exit code */
11620   __pyx_r = 0;
11621   goto __pyx_L0;
11622   __pyx_L1_error:;
11623   __Pyx_XDECREF(__pyx_t_1);
11624   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.blocks.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
11625   __pyx_r = -1;
11626   __pyx_L0:;
11627   __Pyx_RefNannyFinishContext();
11628   return __pyx_r;
11629 }
11630 
11631 /* Python wrapper */
11632 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks_5__del__(PyObject * __pyx_v_self)11633 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks_5__del__(PyObject *__pyx_v_self) {
11634   int __pyx_r;
11635   __Pyx_RefNannyDeclarations
11636   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
11637   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self));
11638 
11639   /* function exit code */
11640   __Pyx_RefNannyFinishContext();
11641   return __pyx_r;
11642 }
11643 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self)11644 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self) {
11645   int __pyx_r;
11646   __Pyx_RefNannyDeclarations
11647   __Pyx_RefNannySetupContext("__del__", 0);
11648   __Pyx_INCREF(Py_None);
11649   __Pyx_GIVEREF(Py_None);
11650   __Pyx_GOTREF(__pyx_v_self->blocks);
11651   __Pyx_DECREF(__pyx_v_self->blocks);
11652   __pyx_v_self->blocks = ((PyObject*)Py_None);
11653 
11654   /* function exit code */
11655   __pyx_r = 0;
11656   __Pyx_RefNannyFinishContext();
11657   return __pyx_r;
11658 }
11659 
11660 /* "Cython/Compiler/FlowControl.pxd":51
11661  * cdef class ControlFlow:
11662  *      cdef public set blocks
11663  *      cdef public set entries             # <<<<<<<<<<<<<<
11664  *      cdef public list loops
11665  *      cdef public list exceptions
11666  */
11667 
11668 /* Python wrapper */
11669 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries_1__get__(PyObject * __pyx_v_self)11670 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries_1__get__(PyObject *__pyx_v_self) {
11671   PyObject *__pyx_r = 0;
11672   __Pyx_RefNannyDeclarations
11673   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
11674   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self));
11675 
11676   /* function exit code */
11677   __Pyx_RefNannyFinishContext();
11678   return __pyx_r;
11679 }
11680 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self)11681 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self) {
11682   PyObject *__pyx_r = NULL;
11683   __Pyx_RefNannyDeclarations
11684   __Pyx_RefNannySetupContext("__get__", 0);
11685   __Pyx_XDECREF(__pyx_r);
11686   __Pyx_INCREF(__pyx_v_self->entries);
11687   __pyx_r = __pyx_v_self->entries;
11688   goto __pyx_L0;
11689 
11690   /* function exit code */
11691   __pyx_L0:;
11692   __Pyx_XGIVEREF(__pyx_r);
11693   __Pyx_RefNannyFinishContext();
11694   return __pyx_r;
11695 }
11696 
11697 /* Python wrapper */
11698 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)11699 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
11700   int __pyx_r;
11701   __Pyx_RefNannyDeclarations
11702   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
11703   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self), ((PyObject *)__pyx_v_value));
11704 
11705   /* function exit code */
11706   __Pyx_RefNannyFinishContext();
11707   return __pyx_r;
11708 }
11709 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_value)11710 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_value) {
11711   int __pyx_r;
11712   __Pyx_RefNannyDeclarations
11713   PyObject *__pyx_t_1 = NULL;
11714   int __pyx_lineno = 0;
11715   const char *__pyx_filename = NULL;
11716   int __pyx_clineno = 0;
11717   __Pyx_RefNannySetupContext("__set__", 0);
11718   if (!(likely(PySet_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 51, __pyx_L1_error)
11719   __pyx_t_1 = __pyx_v_value;
11720   __Pyx_INCREF(__pyx_t_1);
11721   __Pyx_GIVEREF(__pyx_t_1);
11722   __Pyx_GOTREF(__pyx_v_self->entries);
11723   __Pyx_DECREF(__pyx_v_self->entries);
11724   __pyx_v_self->entries = ((PyObject*)__pyx_t_1);
11725   __pyx_t_1 = 0;
11726 
11727   /* function exit code */
11728   __pyx_r = 0;
11729   goto __pyx_L0;
11730   __pyx_L1_error:;
11731   __Pyx_XDECREF(__pyx_t_1);
11732   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.entries.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
11733   __pyx_r = -1;
11734   __pyx_L0:;
11735   __Pyx_RefNannyFinishContext();
11736   return __pyx_r;
11737 }
11738 
11739 /* Python wrapper */
11740 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries_5__del__(PyObject * __pyx_v_self)11741 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries_5__del__(PyObject *__pyx_v_self) {
11742   int __pyx_r;
11743   __Pyx_RefNannyDeclarations
11744   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
11745   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self));
11746 
11747   /* function exit code */
11748   __Pyx_RefNannyFinishContext();
11749   return __pyx_r;
11750 }
11751 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self)11752 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self) {
11753   int __pyx_r;
11754   __Pyx_RefNannyDeclarations
11755   __Pyx_RefNannySetupContext("__del__", 0);
11756   __Pyx_INCREF(Py_None);
11757   __Pyx_GIVEREF(Py_None);
11758   __Pyx_GOTREF(__pyx_v_self->entries);
11759   __Pyx_DECREF(__pyx_v_self->entries);
11760   __pyx_v_self->entries = ((PyObject*)Py_None);
11761 
11762   /* function exit code */
11763   __pyx_r = 0;
11764   __Pyx_RefNannyFinishContext();
11765   return __pyx_r;
11766 }
11767 
11768 /* "Cython/Compiler/FlowControl.pxd":52
11769  *      cdef public set blocks
11770  *      cdef public set entries
11771  *      cdef public list loops             # <<<<<<<<<<<<<<
11772  *      cdef public list exceptions
11773  *
11774  */
11775 
11776 /* Python wrapper */
11777 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops_1__get__(PyObject * __pyx_v_self)11778 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops_1__get__(PyObject *__pyx_v_self) {
11779   PyObject *__pyx_r = 0;
11780   __Pyx_RefNannyDeclarations
11781   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
11782   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self));
11783 
11784   /* function exit code */
11785   __Pyx_RefNannyFinishContext();
11786   return __pyx_r;
11787 }
11788 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self)11789 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self) {
11790   PyObject *__pyx_r = NULL;
11791   __Pyx_RefNannyDeclarations
11792   __Pyx_RefNannySetupContext("__get__", 0);
11793   __Pyx_XDECREF(__pyx_r);
11794   __Pyx_INCREF(__pyx_v_self->loops);
11795   __pyx_r = __pyx_v_self->loops;
11796   goto __pyx_L0;
11797 
11798   /* function exit code */
11799   __pyx_L0:;
11800   __Pyx_XGIVEREF(__pyx_r);
11801   __Pyx_RefNannyFinishContext();
11802   return __pyx_r;
11803 }
11804 
11805 /* Python wrapper */
11806 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)11807 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
11808   int __pyx_r;
11809   __Pyx_RefNannyDeclarations
11810   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
11811   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self), ((PyObject *)__pyx_v_value));
11812 
11813   /* function exit code */
11814   __Pyx_RefNannyFinishContext();
11815   return __pyx_r;
11816 }
11817 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_value)11818 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_value) {
11819   int __pyx_r;
11820   __Pyx_RefNannyDeclarations
11821   PyObject *__pyx_t_1 = NULL;
11822   int __pyx_lineno = 0;
11823   const char *__pyx_filename = NULL;
11824   int __pyx_clineno = 0;
11825   __Pyx_RefNannySetupContext("__set__", 0);
11826   if (!(likely(PyList_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 52, __pyx_L1_error)
11827   __pyx_t_1 = __pyx_v_value;
11828   __Pyx_INCREF(__pyx_t_1);
11829   __Pyx_GIVEREF(__pyx_t_1);
11830   __Pyx_GOTREF(__pyx_v_self->loops);
11831   __Pyx_DECREF(__pyx_v_self->loops);
11832   __pyx_v_self->loops = ((PyObject*)__pyx_t_1);
11833   __pyx_t_1 = 0;
11834 
11835   /* function exit code */
11836   __pyx_r = 0;
11837   goto __pyx_L0;
11838   __pyx_L1_error:;
11839   __Pyx_XDECREF(__pyx_t_1);
11840   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.loops.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
11841   __pyx_r = -1;
11842   __pyx_L0:;
11843   __Pyx_RefNannyFinishContext();
11844   return __pyx_r;
11845 }
11846 
11847 /* Python wrapper */
11848 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops_5__del__(PyObject * __pyx_v_self)11849 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops_5__del__(PyObject *__pyx_v_self) {
11850   int __pyx_r;
11851   __Pyx_RefNannyDeclarations
11852   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
11853   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self));
11854 
11855   /* function exit code */
11856   __Pyx_RefNannyFinishContext();
11857   return __pyx_r;
11858 }
11859 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self)11860 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self) {
11861   int __pyx_r;
11862   __Pyx_RefNannyDeclarations
11863   __Pyx_RefNannySetupContext("__del__", 0);
11864   __Pyx_INCREF(Py_None);
11865   __Pyx_GIVEREF(Py_None);
11866   __Pyx_GOTREF(__pyx_v_self->loops);
11867   __Pyx_DECREF(__pyx_v_self->loops);
11868   __pyx_v_self->loops = ((PyObject*)Py_None);
11869 
11870   /* function exit code */
11871   __pyx_r = 0;
11872   __Pyx_RefNannyFinishContext();
11873   return __pyx_r;
11874 }
11875 
11876 /* "Cython/Compiler/FlowControl.pxd":53
11877  *      cdef public set entries
11878  *      cdef public list loops
11879  *      cdef public list exceptions             # <<<<<<<<<<<<<<
11880  *
11881  *      cdef public ControlBlock entry_point
11882  */
11883 
11884 /* Python wrapper */
11885 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions_1__get__(PyObject * __pyx_v_self)11886 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions_1__get__(PyObject *__pyx_v_self) {
11887   PyObject *__pyx_r = 0;
11888   __Pyx_RefNannyDeclarations
11889   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
11890   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self));
11891 
11892   /* function exit code */
11893   __Pyx_RefNannyFinishContext();
11894   return __pyx_r;
11895 }
11896 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self)11897 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self) {
11898   PyObject *__pyx_r = NULL;
11899   __Pyx_RefNannyDeclarations
11900   __Pyx_RefNannySetupContext("__get__", 0);
11901   __Pyx_XDECREF(__pyx_r);
11902   __Pyx_INCREF(__pyx_v_self->exceptions);
11903   __pyx_r = __pyx_v_self->exceptions;
11904   goto __pyx_L0;
11905 
11906   /* function exit code */
11907   __pyx_L0:;
11908   __Pyx_XGIVEREF(__pyx_r);
11909   __Pyx_RefNannyFinishContext();
11910   return __pyx_r;
11911 }
11912 
11913 /* Python wrapper */
11914 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)11915 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
11916   int __pyx_r;
11917   __Pyx_RefNannyDeclarations
11918   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
11919   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self), ((PyObject *)__pyx_v_value));
11920 
11921   /* function exit code */
11922   __Pyx_RefNannyFinishContext();
11923   return __pyx_r;
11924 }
11925 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_value)11926 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_value) {
11927   int __pyx_r;
11928   __Pyx_RefNannyDeclarations
11929   PyObject *__pyx_t_1 = NULL;
11930   int __pyx_lineno = 0;
11931   const char *__pyx_filename = NULL;
11932   int __pyx_clineno = 0;
11933   __Pyx_RefNannySetupContext("__set__", 0);
11934   if (!(likely(PyList_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 53, __pyx_L1_error)
11935   __pyx_t_1 = __pyx_v_value;
11936   __Pyx_INCREF(__pyx_t_1);
11937   __Pyx_GIVEREF(__pyx_t_1);
11938   __Pyx_GOTREF(__pyx_v_self->exceptions);
11939   __Pyx_DECREF(__pyx_v_self->exceptions);
11940   __pyx_v_self->exceptions = ((PyObject*)__pyx_t_1);
11941   __pyx_t_1 = 0;
11942 
11943   /* function exit code */
11944   __pyx_r = 0;
11945   goto __pyx_L0;
11946   __pyx_L1_error:;
11947   __Pyx_XDECREF(__pyx_t_1);
11948   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.exceptions.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
11949   __pyx_r = -1;
11950   __pyx_L0:;
11951   __Pyx_RefNannyFinishContext();
11952   return __pyx_r;
11953 }
11954 
11955 /* Python wrapper */
11956 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions_5__del__(PyObject * __pyx_v_self)11957 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions_5__del__(PyObject *__pyx_v_self) {
11958   int __pyx_r;
11959   __Pyx_RefNannyDeclarations
11960   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
11961   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self));
11962 
11963   /* function exit code */
11964   __Pyx_RefNannyFinishContext();
11965   return __pyx_r;
11966 }
11967 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self)11968 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self) {
11969   int __pyx_r;
11970   __Pyx_RefNannyDeclarations
11971   __Pyx_RefNannySetupContext("__del__", 0);
11972   __Pyx_INCREF(Py_None);
11973   __Pyx_GIVEREF(Py_None);
11974   __Pyx_GOTREF(__pyx_v_self->exceptions);
11975   __Pyx_DECREF(__pyx_v_self->exceptions);
11976   __pyx_v_self->exceptions = ((PyObject*)Py_None);
11977 
11978   /* function exit code */
11979   __pyx_r = 0;
11980   __Pyx_RefNannyFinishContext();
11981   return __pyx_r;
11982 }
11983 
11984 /* "Cython/Compiler/FlowControl.pxd":55
11985  *      cdef public list exceptions
11986  *
11987  *      cdef public ControlBlock entry_point             # <<<<<<<<<<<<<<
11988  *      cdef public ExitBlock exit_point
11989  *      cdef public ControlBlock block
11990  */
11991 
11992 /* Python wrapper */
11993 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point_1__get__(PyObject * __pyx_v_self)11994 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point_1__get__(PyObject *__pyx_v_self) {
11995   PyObject *__pyx_r = 0;
11996   __Pyx_RefNannyDeclarations
11997   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
11998   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self));
11999 
12000   /* function exit code */
12001   __Pyx_RefNannyFinishContext();
12002   return __pyx_r;
12003 }
12004 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self)12005 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self) {
12006   PyObject *__pyx_r = NULL;
12007   __Pyx_RefNannyDeclarations
12008   __Pyx_RefNannySetupContext("__get__", 0);
12009   __Pyx_XDECREF(__pyx_r);
12010   __Pyx_INCREF(((PyObject *)__pyx_v_self->entry_point));
12011   __pyx_r = ((PyObject *)__pyx_v_self->entry_point);
12012   goto __pyx_L0;
12013 
12014   /* function exit code */
12015   __pyx_L0:;
12016   __Pyx_XGIVEREF(__pyx_r);
12017   __Pyx_RefNannyFinishContext();
12018   return __pyx_r;
12019 }
12020 
12021 /* Python wrapper */
12022 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)12023 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
12024   int __pyx_r;
12025   __Pyx_RefNannyDeclarations
12026   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
12027   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self), ((PyObject *)__pyx_v_value));
12028 
12029   /* function exit code */
12030   __Pyx_RefNannyFinishContext();
12031   return __pyx_r;
12032 }
12033 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_value)12034 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_value) {
12035   int __pyx_r;
12036   __Pyx_RefNannyDeclarations
12037   PyObject *__pyx_t_1 = NULL;
12038   int __pyx_lineno = 0;
12039   const char *__pyx_filename = NULL;
12040   int __pyx_clineno = 0;
12041   __Pyx_RefNannySetupContext("__set__", 0);
12042   if (!(likely(((__pyx_v_value) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_value, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(1, 55, __pyx_L1_error)
12043   __pyx_t_1 = __pyx_v_value;
12044   __Pyx_INCREF(__pyx_t_1);
12045   __Pyx_GIVEREF(__pyx_t_1);
12046   __Pyx_GOTREF(__pyx_v_self->entry_point);
12047   __Pyx_DECREF(((PyObject *)__pyx_v_self->entry_point));
12048   __pyx_v_self->entry_point = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_1);
12049   __pyx_t_1 = 0;
12050 
12051   /* function exit code */
12052   __pyx_r = 0;
12053   goto __pyx_L0;
12054   __pyx_L1_error:;
12055   __Pyx_XDECREF(__pyx_t_1);
12056   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.entry_point.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
12057   __pyx_r = -1;
12058   __pyx_L0:;
12059   __Pyx_RefNannyFinishContext();
12060   return __pyx_r;
12061 }
12062 
12063 /* Python wrapper */
12064 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point_5__del__(PyObject * __pyx_v_self)12065 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point_5__del__(PyObject *__pyx_v_self) {
12066   int __pyx_r;
12067   __Pyx_RefNannyDeclarations
12068   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
12069   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self));
12070 
12071   /* function exit code */
12072   __Pyx_RefNannyFinishContext();
12073   return __pyx_r;
12074 }
12075 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self)12076 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self) {
12077   int __pyx_r;
12078   __Pyx_RefNannyDeclarations
12079   __Pyx_RefNannySetupContext("__del__", 0);
12080   __Pyx_INCREF(Py_None);
12081   __Pyx_GIVEREF(Py_None);
12082   __Pyx_GOTREF(__pyx_v_self->entry_point);
12083   __Pyx_DECREF(((PyObject *)__pyx_v_self->entry_point));
12084   __pyx_v_self->entry_point = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)Py_None);
12085 
12086   /* function exit code */
12087   __pyx_r = 0;
12088   __Pyx_RefNannyFinishContext();
12089   return __pyx_r;
12090 }
12091 
12092 /* "Cython/Compiler/FlowControl.pxd":56
12093  *
12094  *      cdef public ControlBlock entry_point
12095  *      cdef public ExitBlock exit_point             # <<<<<<<<<<<<<<
12096  *      cdef public ControlBlock block
12097  *
12098  */
12099 
12100 /* Python wrapper */
12101 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point_1__get__(PyObject * __pyx_v_self)12102 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point_1__get__(PyObject *__pyx_v_self) {
12103   PyObject *__pyx_r = 0;
12104   __Pyx_RefNannyDeclarations
12105   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
12106   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self));
12107 
12108   /* function exit code */
12109   __Pyx_RefNannyFinishContext();
12110   return __pyx_r;
12111 }
12112 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self)12113 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self) {
12114   PyObject *__pyx_r = NULL;
12115   __Pyx_RefNannyDeclarations
12116   __Pyx_RefNannySetupContext("__get__", 0);
12117   __Pyx_XDECREF(__pyx_r);
12118   __Pyx_INCREF(((PyObject *)__pyx_v_self->exit_point));
12119   __pyx_r = ((PyObject *)__pyx_v_self->exit_point);
12120   goto __pyx_L0;
12121 
12122   /* function exit code */
12123   __pyx_L0:;
12124   __Pyx_XGIVEREF(__pyx_r);
12125   __Pyx_RefNannyFinishContext();
12126   return __pyx_r;
12127 }
12128 
12129 /* Python wrapper */
12130 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)12131 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
12132   int __pyx_r;
12133   __Pyx_RefNannyDeclarations
12134   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
12135   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self), ((PyObject *)__pyx_v_value));
12136 
12137   /* function exit code */
12138   __Pyx_RefNannyFinishContext();
12139   return __pyx_r;
12140 }
12141 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_value)12142 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_value) {
12143   int __pyx_r;
12144   __Pyx_RefNannyDeclarations
12145   PyObject *__pyx_t_1 = NULL;
12146   int __pyx_lineno = 0;
12147   const char *__pyx_filename = NULL;
12148   int __pyx_clineno = 0;
12149   __Pyx_RefNannySetupContext("__set__", 0);
12150   if (!(likely(((__pyx_v_value) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_value, __pyx_ptype_6Cython_8Compiler_11FlowControl_ExitBlock))))) __PYX_ERR(1, 56, __pyx_L1_error)
12151   __pyx_t_1 = __pyx_v_value;
12152   __Pyx_INCREF(__pyx_t_1);
12153   __Pyx_GIVEREF(__pyx_t_1);
12154   __Pyx_GOTREF(__pyx_v_self->exit_point);
12155   __Pyx_DECREF(((PyObject *)__pyx_v_self->exit_point));
12156   __pyx_v_self->exit_point = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock *)__pyx_t_1);
12157   __pyx_t_1 = 0;
12158 
12159   /* function exit code */
12160   __pyx_r = 0;
12161   goto __pyx_L0;
12162   __pyx_L1_error:;
12163   __Pyx_XDECREF(__pyx_t_1);
12164   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.exit_point.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
12165   __pyx_r = -1;
12166   __pyx_L0:;
12167   __Pyx_RefNannyFinishContext();
12168   return __pyx_r;
12169 }
12170 
12171 /* Python wrapper */
12172 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point_5__del__(PyObject * __pyx_v_self)12173 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point_5__del__(PyObject *__pyx_v_self) {
12174   int __pyx_r;
12175   __Pyx_RefNannyDeclarations
12176   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
12177   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self));
12178 
12179   /* function exit code */
12180   __Pyx_RefNannyFinishContext();
12181   return __pyx_r;
12182 }
12183 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self)12184 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self) {
12185   int __pyx_r;
12186   __Pyx_RefNannyDeclarations
12187   __Pyx_RefNannySetupContext("__del__", 0);
12188   __Pyx_INCREF(Py_None);
12189   __Pyx_GIVEREF(Py_None);
12190   __Pyx_GOTREF(__pyx_v_self->exit_point);
12191   __Pyx_DECREF(((PyObject *)__pyx_v_self->exit_point));
12192   __pyx_v_self->exit_point = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock *)Py_None);
12193 
12194   /* function exit code */
12195   __pyx_r = 0;
12196   __Pyx_RefNannyFinishContext();
12197   return __pyx_r;
12198 }
12199 
12200 /* "Cython/Compiler/FlowControl.pxd":57
12201  *      cdef public ControlBlock entry_point
12202  *      cdef public ExitBlock exit_point
12203  *      cdef public ControlBlock block             # <<<<<<<<<<<<<<
12204  *
12205  *      cdef public dict assmts
12206  */
12207 
12208 /* Python wrapper */
12209 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5block_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5block_1__get__(PyObject * __pyx_v_self)12210 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5block_1__get__(PyObject *__pyx_v_self) {
12211   PyObject *__pyx_r = 0;
12212   __Pyx_RefNannyDeclarations
12213   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
12214   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5block___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self));
12215 
12216   /* function exit code */
12217   __Pyx_RefNannyFinishContext();
12218   return __pyx_r;
12219 }
12220 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5block___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self)12221 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5block___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self) {
12222   PyObject *__pyx_r = NULL;
12223   __Pyx_RefNannyDeclarations
12224   __Pyx_RefNannySetupContext("__get__", 0);
12225   __Pyx_XDECREF(__pyx_r);
12226   __Pyx_INCREF(((PyObject *)__pyx_v_self->block));
12227   __pyx_r = ((PyObject *)__pyx_v_self->block);
12228   goto __pyx_L0;
12229 
12230   /* function exit code */
12231   __pyx_L0:;
12232   __Pyx_XGIVEREF(__pyx_r);
12233   __Pyx_RefNannyFinishContext();
12234   return __pyx_r;
12235 }
12236 
12237 /* Python wrapper */
12238 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5block_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5block_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)12239 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5block_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
12240   int __pyx_r;
12241   __Pyx_RefNannyDeclarations
12242   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
12243   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5block_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self), ((PyObject *)__pyx_v_value));
12244 
12245   /* function exit code */
12246   __Pyx_RefNannyFinishContext();
12247   return __pyx_r;
12248 }
12249 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5block_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_value)12250 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5block_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_value) {
12251   int __pyx_r;
12252   __Pyx_RefNannyDeclarations
12253   PyObject *__pyx_t_1 = NULL;
12254   int __pyx_lineno = 0;
12255   const char *__pyx_filename = NULL;
12256   int __pyx_clineno = 0;
12257   __Pyx_RefNannySetupContext("__set__", 0);
12258   if (!(likely(((__pyx_v_value) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_value, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(1, 57, __pyx_L1_error)
12259   __pyx_t_1 = __pyx_v_value;
12260   __Pyx_INCREF(__pyx_t_1);
12261   __Pyx_GIVEREF(__pyx_t_1);
12262   __Pyx_GOTREF(__pyx_v_self->block);
12263   __Pyx_DECREF(((PyObject *)__pyx_v_self->block));
12264   __pyx_v_self->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_1);
12265   __pyx_t_1 = 0;
12266 
12267   /* function exit code */
12268   __pyx_r = 0;
12269   goto __pyx_L0;
12270   __pyx_L1_error:;
12271   __Pyx_XDECREF(__pyx_t_1);
12272   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.block.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
12273   __pyx_r = -1;
12274   __pyx_L0:;
12275   __Pyx_RefNannyFinishContext();
12276   return __pyx_r;
12277 }
12278 
12279 /* Python wrapper */
12280 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5block_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5block_5__del__(PyObject * __pyx_v_self)12281 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5block_5__del__(PyObject *__pyx_v_self) {
12282   int __pyx_r;
12283   __Pyx_RefNannyDeclarations
12284   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
12285   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5block_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self));
12286 
12287   /* function exit code */
12288   __Pyx_RefNannyFinishContext();
12289   return __pyx_r;
12290 }
12291 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5block_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self)12292 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_5block_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self) {
12293   int __pyx_r;
12294   __Pyx_RefNannyDeclarations
12295   __Pyx_RefNannySetupContext("__del__", 0);
12296   __Pyx_INCREF(Py_None);
12297   __Pyx_GIVEREF(Py_None);
12298   __Pyx_GOTREF(__pyx_v_self->block);
12299   __Pyx_DECREF(((PyObject *)__pyx_v_self->block));
12300   __pyx_v_self->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)Py_None);
12301 
12302   /* function exit code */
12303   __pyx_r = 0;
12304   __Pyx_RefNannyFinishContext();
12305   return __pyx_r;
12306 }
12307 
12308 /* "Cython/Compiler/FlowControl.pxd":59
12309  *      cdef public ControlBlock block
12310  *
12311  *      cdef public dict assmts             # <<<<<<<<<<<<<<
12312  *
12313  *      cpdef newblock(self, ControlBlock parent=*)
12314  */
12315 
12316 /* Python wrapper */
12317 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts_1__get__(PyObject * __pyx_v_self)12318 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts_1__get__(PyObject *__pyx_v_self) {
12319   PyObject *__pyx_r = 0;
12320   __Pyx_RefNannyDeclarations
12321   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
12322   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self));
12323 
12324   /* function exit code */
12325   __Pyx_RefNannyFinishContext();
12326   return __pyx_r;
12327 }
12328 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self)12329 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self) {
12330   PyObject *__pyx_r = NULL;
12331   __Pyx_RefNannyDeclarations
12332   __Pyx_RefNannySetupContext("__get__", 0);
12333   __Pyx_XDECREF(__pyx_r);
12334   __Pyx_INCREF(__pyx_v_self->assmts);
12335   __pyx_r = __pyx_v_self->assmts;
12336   goto __pyx_L0;
12337 
12338   /* function exit code */
12339   __pyx_L0:;
12340   __Pyx_XGIVEREF(__pyx_r);
12341   __Pyx_RefNannyFinishContext();
12342   return __pyx_r;
12343 }
12344 
12345 /* Python wrapper */
12346 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)12347 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
12348   int __pyx_r;
12349   __Pyx_RefNannyDeclarations
12350   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
12351   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self), ((PyObject *)__pyx_v_value));
12352 
12353   /* function exit code */
12354   __Pyx_RefNannyFinishContext();
12355   return __pyx_r;
12356 }
12357 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v_value)12358 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v_value) {
12359   int __pyx_r;
12360   __Pyx_RefNannyDeclarations
12361   PyObject *__pyx_t_1 = NULL;
12362   int __pyx_lineno = 0;
12363   const char *__pyx_filename = NULL;
12364   int __pyx_clineno = 0;
12365   __Pyx_RefNannySetupContext("__set__", 0);
12366   if (!(likely(PyDict_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 59, __pyx_L1_error)
12367   __pyx_t_1 = __pyx_v_value;
12368   __Pyx_INCREF(__pyx_t_1);
12369   __Pyx_GIVEREF(__pyx_t_1);
12370   __Pyx_GOTREF(__pyx_v_self->assmts);
12371   __Pyx_DECREF(__pyx_v_self->assmts);
12372   __pyx_v_self->assmts = ((PyObject*)__pyx_t_1);
12373   __pyx_t_1 = 0;
12374 
12375   /* function exit code */
12376   __pyx_r = 0;
12377   goto __pyx_L0;
12378   __pyx_L1_error:;
12379   __Pyx_XDECREF(__pyx_t_1);
12380   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.assmts.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
12381   __pyx_r = -1;
12382   __pyx_L0:;
12383   __Pyx_RefNannyFinishContext();
12384   return __pyx_r;
12385 }
12386 
12387 /* Python wrapper */
12388 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts_5__del__(PyObject * __pyx_v_self)12389 static int __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts_5__del__(PyObject *__pyx_v_self) {
12390   int __pyx_r;
12391   __Pyx_RefNannyDeclarations
12392   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
12393   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self));
12394 
12395   /* function exit code */
12396   __Pyx_RefNannyFinishContext();
12397   return __pyx_r;
12398 }
12399 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self)12400 static int __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self) {
12401   int __pyx_r;
12402   __Pyx_RefNannyDeclarations
12403   __Pyx_RefNannySetupContext("__del__", 0);
12404   __Pyx_INCREF(Py_None);
12405   __Pyx_GIVEREF(Py_None);
12406   __Pyx_GOTREF(__pyx_v_self->assmts);
12407   __Pyx_DECREF(__pyx_v_self->assmts);
12408   __pyx_v_self->assmts = ((PyObject*)Py_None);
12409 
12410   /* function exit code */
12411   __pyx_r = 0;
12412   __Pyx_RefNannyFinishContext();
12413   return __pyx_r;
12414 }
12415 
12416 /* "(tree fragment)":1
12417  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
12418  *     cdef tuple state
12419  *     cdef object _dict
12420  */
12421 
12422 /* Python wrapper */
12423 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_27__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
12424 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_27__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_27__reduce_cython__, METH_NOARGS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_27__reduce_cython__(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)12425 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_27__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
12426   PyObject *__pyx_r = 0;
12427   __Pyx_RefNannyDeclarations
12428   __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
12429   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_26__reduce_cython__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self));
12430 
12431   /* function exit code */
12432   __Pyx_RefNannyFinishContext();
12433   return __pyx_r;
12434 }
12435 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_26__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self)12436 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_26__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self) {
12437   PyObject *__pyx_v_state = 0;
12438   PyObject *__pyx_v__dict = 0;
12439   int __pyx_v_use_setstate;
12440   PyObject *__pyx_r = NULL;
12441   __Pyx_RefNannyDeclarations
12442   PyObject *__pyx_t_1 = NULL;
12443   int __pyx_t_2;
12444   int __pyx_t_3;
12445   PyObject *__pyx_t_4 = NULL;
12446   int __pyx_t_5;
12447   PyObject *__pyx_t_6 = NULL;
12448   int __pyx_lineno = 0;
12449   const char *__pyx_filename = NULL;
12450   int __pyx_clineno = 0;
12451   __Pyx_RefNannySetupContext("__reduce_cython__", 0);
12452 
12453   /* "(tree fragment)":5
12454  *     cdef object _dict
12455  *     cdef bint use_setstate
12456  *     state = (self.assmts, self.block, self.blocks, self.entries, self.entry_point, self.exceptions, self.exit_point, self.loops)             # <<<<<<<<<<<<<<
12457  *     _dict = getattr(self, '__dict__', None)
12458  *     if _dict is not None:
12459  */
12460   __pyx_t_1 = PyTuple_New(8); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error)
12461   __Pyx_GOTREF(__pyx_t_1);
12462   __Pyx_INCREF(__pyx_v_self->assmts);
12463   __Pyx_GIVEREF(__pyx_v_self->assmts);
12464   PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->assmts);
12465   __Pyx_INCREF(((PyObject *)__pyx_v_self->block));
12466   __Pyx_GIVEREF(((PyObject *)__pyx_v_self->block));
12467   PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self->block));
12468   __Pyx_INCREF(__pyx_v_self->blocks);
12469   __Pyx_GIVEREF(__pyx_v_self->blocks);
12470   PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_self->blocks);
12471   __Pyx_INCREF(__pyx_v_self->entries);
12472   __Pyx_GIVEREF(__pyx_v_self->entries);
12473   PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_self->entries);
12474   __Pyx_INCREF(((PyObject *)__pyx_v_self->entry_point));
12475   __Pyx_GIVEREF(((PyObject *)__pyx_v_self->entry_point));
12476   PyTuple_SET_ITEM(__pyx_t_1, 4, ((PyObject *)__pyx_v_self->entry_point));
12477   __Pyx_INCREF(__pyx_v_self->exceptions);
12478   __Pyx_GIVEREF(__pyx_v_self->exceptions);
12479   PyTuple_SET_ITEM(__pyx_t_1, 5, __pyx_v_self->exceptions);
12480   __Pyx_INCREF(((PyObject *)__pyx_v_self->exit_point));
12481   __Pyx_GIVEREF(((PyObject *)__pyx_v_self->exit_point));
12482   PyTuple_SET_ITEM(__pyx_t_1, 6, ((PyObject *)__pyx_v_self->exit_point));
12483   __Pyx_INCREF(__pyx_v_self->loops);
12484   __Pyx_GIVEREF(__pyx_v_self->loops);
12485   PyTuple_SET_ITEM(__pyx_t_1, 7, __pyx_v_self->loops);
12486   __pyx_v_state = ((PyObject*)__pyx_t_1);
12487   __pyx_t_1 = 0;
12488 
12489   /* "(tree fragment)":6
12490  *     cdef bint use_setstate
12491  *     state = (self.assmts, self.block, self.blocks, self.entries, self.entry_point, self.exceptions, self.exit_point, self.loops)
12492  *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
12493  *     if _dict is not None:
12494  *         state += (_dict,)
12495  */
12496   __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error)
12497   __Pyx_GOTREF(__pyx_t_1);
12498   __pyx_v__dict = __pyx_t_1;
12499   __pyx_t_1 = 0;
12500 
12501   /* "(tree fragment)":7
12502  *     state = (self.assmts, self.block, self.blocks, self.entries, self.entry_point, self.exceptions, self.exit_point, self.loops)
12503  *     _dict = getattr(self, '__dict__', None)
12504  *     if _dict is not None:             # <<<<<<<<<<<<<<
12505  *         state += (_dict,)
12506  *         use_setstate = True
12507  */
12508   __pyx_t_2 = (__pyx_v__dict != Py_None);
12509   __pyx_t_3 = (__pyx_t_2 != 0);
12510   if (__pyx_t_3) {
12511 
12512     /* "(tree fragment)":8
12513  *     _dict = getattr(self, '__dict__', None)
12514  *     if _dict is not None:
12515  *         state += (_dict,)             # <<<<<<<<<<<<<<
12516  *         use_setstate = True
12517  *     else:
12518  */
12519     __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8, __pyx_L1_error)
12520     __Pyx_GOTREF(__pyx_t_1);
12521     __Pyx_INCREF(__pyx_v__dict);
12522     __Pyx_GIVEREF(__pyx_v__dict);
12523     PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
12524     __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8, __pyx_L1_error)
12525     __Pyx_GOTREF(__pyx_t_4);
12526     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
12527     __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
12528     __pyx_t_4 = 0;
12529 
12530     /* "(tree fragment)":9
12531  *     if _dict is not None:
12532  *         state += (_dict,)
12533  *         use_setstate = True             # <<<<<<<<<<<<<<
12534  *     else:
12535  *         use_setstate = self.assmts is not None or self.block is not None or self.blocks is not None or self.entries is not None or self.entry_point is not None or self.exceptions is not None or self.exit_point is not None or self.loops is not None
12536  */
12537     __pyx_v_use_setstate = 1;
12538 
12539     /* "(tree fragment)":7
12540  *     state = (self.assmts, self.block, self.blocks, self.entries, self.entry_point, self.exceptions, self.exit_point, self.loops)
12541  *     _dict = getattr(self, '__dict__', None)
12542  *     if _dict is not None:             # <<<<<<<<<<<<<<
12543  *         state += (_dict,)
12544  *         use_setstate = True
12545  */
12546     goto __pyx_L3;
12547   }
12548 
12549   /* "(tree fragment)":11
12550  *         use_setstate = True
12551  *     else:
12552  *         use_setstate = self.assmts is not None or self.block is not None or self.blocks is not None or self.entries is not None or self.entry_point is not None or self.exceptions is not None or self.exit_point is not None or self.loops is not None             # <<<<<<<<<<<<<<
12553  *     if use_setstate:
12554  *         return __pyx_unpickle_ControlFlow, (type(self), 0x61dbd8a, None), state
12555  */
12556   /*else*/ {
12557     __pyx_t_2 = (__pyx_v_self->assmts != ((PyObject*)Py_None));
12558     __pyx_t_5 = (__pyx_t_2 != 0);
12559     if (!__pyx_t_5) {
12560     } else {
12561       __pyx_t_3 = __pyx_t_5;
12562       goto __pyx_L4_bool_binop_done;
12563     }
12564     __pyx_t_5 = (((PyObject *)__pyx_v_self->block) != Py_None);
12565     __pyx_t_2 = (__pyx_t_5 != 0);
12566     if (!__pyx_t_2) {
12567     } else {
12568       __pyx_t_3 = __pyx_t_2;
12569       goto __pyx_L4_bool_binop_done;
12570     }
12571     __pyx_t_2 = (__pyx_v_self->blocks != ((PyObject*)Py_None));
12572     __pyx_t_5 = (__pyx_t_2 != 0);
12573     if (!__pyx_t_5) {
12574     } else {
12575       __pyx_t_3 = __pyx_t_5;
12576       goto __pyx_L4_bool_binop_done;
12577     }
12578     __pyx_t_5 = (__pyx_v_self->entries != ((PyObject*)Py_None));
12579     __pyx_t_2 = (__pyx_t_5 != 0);
12580     if (!__pyx_t_2) {
12581     } else {
12582       __pyx_t_3 = __pyx_t_2;
12583       goto __pyx_L4_bool_binop_done;
12584     }
12585     __pyx_t_2 = (((PyObject *)__pyx_v_self->entry_point) != Py_None);
12586     __pyx_t_5 = (__pyx_t_2 != 0);
12587     if (!__pyx_t_5) {
12588     } else {
12589       __pyx_t_3 = __pyx_t_5;
12590       goto __pyx_L4_bool_binop_done;
12591     }
12592     __pyx_t_5 = (__pyx_v_self->exceptions != ((PyObject*)Py_None));
12593     __pyx_t_2 = (__pyx_t_5 != 0);
12594     if (!__pyx_t_2) {
12595     } else {
12596       __pyx_t_3 = __pyx_t_2;
12597       goto __pyx_L4_bool_binop_done;
12598     }
12599     __pyx_t_2 = (((PyObject *)__pyx_v_self->exit_point) != Py_None);
12600     __pyx_t_5 = (__pyx_t_2 != 0);
12601     if (!__pyx_t_5) {
12602     } else {
12603       __pyx_t_3 = __pyx_t_5;
12604       goto __pyx_L4_bool_binop_done;
12605     }
12606     __pyx_t_5 = (__pyx_v_self->loops != ((PyObject*)Py_None));
12607     __pyx_t_2 = (__pyx_t_5 != 0);
12608     __pyx_t_3 = __pyx_t_2;
12609     __pyx_L4_bool_binop_done:;
12610     __pyx_v_use_setstate = __pyx_t_3;
12611   }
12612   __pyx_L3:;
12613 
12614   /* "(tree fragment)":12
12615  *     else:
12616  *         use_setstate = self.assmts is not None or self.block is not None or self.blocks is not None or self.entries is not None or self.entry_point is not None or self.exceptions is not None or self.exit_point is not None or self.loops is not None
12617  *     if use_setstate:             # <<<<<<<<<<<<<<
12618  *         return __pyx_unpickle_ControlFlow, (type(self), 0x61dbd8a, None), state
12619  *     else:
12620  */
12621   __pyx_t_3 = (__pyx_v_use_setstate != 0);
12622   if (__pyx_t_3) {
12623 
12624     /* "(tree fragment)":13
12625  *         use_setstate = self.assmts is not None or self.block is not None or self.blocks is not None or self.entries is not None or self.entry_point is not None or self.exceptions is not None or self.exit_point is not None or self.loops is not None
12626  *     if use_setstate:
12627  *         return __pyx_unpickle_ControlFlow, (type(self), 0x61dbd8a, None), state             # <<<<<<<<<<<<<<
12628  *     else:
12629  *         return __pyx_unpickle_ControlFlow, (type(self), 0x61dbd8a, state)
12630  */
12631     __Pyx_XDECREF(__pyx_r);
12632     __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_ControlFlow); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 13, __pyx_L1_error)
12633     __Pyx_GOTREF(__pyx_t_4);
12634     __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error)
12635     __Pyx_GOTREF(__pyx_t_1);
12636     __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
12637     __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
12638     PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
12639     __Pyx_INCREF(__pyx_int_102612362);
12640     __Pyx_GIVEREF(__pyx_int_102612362);
12641     PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_102612362);
12642     __Pyx_INCREF(Py_None);
12643     __Pyx_GIVEREF(Py_None);
12644     PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
12645     __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 13, __pyx_L1_error)
12646     __Pyx_GOTREF(__pyx_t_6);
12647     __Pyx_GIVEREF(__pyx_t_4);
12648     PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
12649     __Pyx_GIVEREF(__pyx_t_1);
12650     PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_1);
12651     __Pyx_INCREF(__pyx_v_state);
12652     __Pyx_GIVEREF(__pyx_v_state);
12653     PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_state);
12654     __pyx_t_4 = 0;
12655     __pyx_t_1 = 0;
12656     __pyx_r = __pyx_t_6;
12657     __pyx_t_6 = 0;
12658     goto __pyx_L0;
12659 
12660     /* "(tree fragment)":12
12661  *     else:
12662  *         use_setstate = self.assmts is not None or self.block is not None or self.blocks is not None or self.entries is not None or self.entry_point is not None or self.exceptions is not None or self.exit_point is not None or self.loops is not None
12663  *     if use_setstate:             # <<<<<<<<<<<<<<
12664  *         return __pyx_unpickle_ControlFlow, (type(self), 0x61dbd8a, None), state
12665  *     else:
12666  */
12667   }
12668 
12669   /* "(tree fragment)":15
12670  *         return __pyx_unpickle_ControlFlow, (type(self), 0x61dbd8a, None), state
12671  *     else:
12672  *         return __pyx_unpickle_ControlFlow, (type(self), 0x61dbd8a, state)             # <<<<<<<<<<<<<<
12673  * def __setstate_cython__(self, __pyx_state):
12674  *     __pyx_unpickle_ControlFlow__set_state(self, __pyx_state)
12675  */
12676   /*else*/ {
12677     __Pyx_XDECREF(__pyx_r);
12678     __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pyx_unpickle_ControlFlow); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 15, __pyx_L1_error)
12679     __Pyx_GOTREF(__pyx_t_6);
12680     __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error)
12681     __Pyx_GOTREF(__pyx_t_1);
12682     __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
12683     __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
12684     PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
12685     __Pyx_INCREF(__pyx_int_102612362);
12686     __Pyx_GIVEREF(__pyx_int_102612362);
12687     PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_102612362);
12688     __Pyx_INCREF(__pyx_v_state);
12689     __Pyx_GIVEREF(__pyx_v_state);
12690     PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
12691     __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 15, __pyx_L1_error)
12692     __Pyx_GOTREF(__pyx_t_4);
12693     __Pyx_GIVEREF(__pyx_t_6);
12694     PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
12695     __Pyx_GIVEREF(__pyx_t_1);
12696     PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
12697     __pyx_t_6 = 0;
12698     __pyx_t_1 = 0;
12699     __pyx_r = __pyx_t_4;
12700     __pyx_t_4 = 0;
12701     goto __pyx_L0;
12702   }
12703 
12704   /* "(tree fragment)":1
12705  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
12706  *     cdef tuple state
12707  *     cdef object _dict
12708  */
12709 
12710   /* function exit code */
12711   __pyx_L1_error:;
12712   __Pyx_XDECREF(__pyx_t_1);
12713   __Pyx_XDECREF(__pyx_t_4);
12714   __Pyx_XDECREF(__pyx_t_6);
12715   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
12716   __pyx_r = NULL;
12717   __pyx_L0:;
12718   __Pyx_XDECREF(__pyx_v_state);
12719   __Pyx_XDECREF(__pyx_v__dict);
12720   __Pyx_XGIVEREF(__pyx_r);
12721   __Pyx_RefNannyFinishContext();
12722   return __pyx_r;
12723 }
12724 
12725 /* "(tree fragment)":16
12726  *     else:
12727  *         return __pyx_unpickle_ControlFlow, (type(self), 0x61dbd8a, state)
12728  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
12729  *     __pyx_unpickle_ControlFlow__set_state(self, __pyx_state)
12730  */
12731 
12732 /* Python wrapper */
12733 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_29__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
12734 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_29__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_29__setstate_cython__, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_29__setstate_cython__(PyObject * __pyx_v_self,PyObject * __pyx_v___pyx_state)12735 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_29__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
12736   PyObject *__pyx_r = 0;
12737   __Pyx_RefNannyDeclarations
12738   __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
12739   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_28__setstate_cython__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
12740 
12741   /* function exit code */
12742   __Pyx_RefNannyFinishContext();
12743   return __pyx_r;
12744 }
12745 
__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_28__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_self,PyObject * __pyx_v___pyx_state)12746 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_11ControlFlow_28__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
12747   PyObject *__pyx_r = NULL;
12748   __Pyx_RefNannyDeclarations
12749   PyObject *__pyx_t_1 = NULL;
12750   int __pyx_lineno = 0;
12751   const char *__pyx_filename = NULL;
12752   int __pyx_clineno = 0;
12753   __Pyx_RefNannySetupContext("__setstate_cython__", 0);
12754 
12755   /* "(tree fragment)":17
12756  *         return __pyx_unpickle_ControlFlow, (type(self), 0x61dbd8a, state)
12757  * def __setstate_cython__(self, __pyx_state):
12758  *     __pyx_unpickle_ControlFlow__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
12759  */
12760   if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 17, __pyx_L1_error)
12761   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_ControlFlow__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 17, __pyx_L1_error)
12762   __Pyx_GOTREF(__pyx_t_1);
12763   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
12764 
12765   /* "(tree fragment)":16
12766  *     else:
12767  *         return __pyx_unpickle_ControlFlow, (type(self), 0x61dbd8a, state)
12768  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
12769  *     __pyx_unpickle_ControlFlow__set_state(self, __pyx_state)
12770  */
12771 
12772   /* function exit code */
12773   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
12774   goto __pyx_L0;
12775   __pyx_L1_error:;
12776   __Pyx_XDECREF(__pyx_t_1);
12777   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlow.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
12778   __pyx_r = NULL;
12779   __pyx_L0:;
12780   __Pyx_XGIVEREF(__pyx_r);
12781   __Pyx_RefNannyFinishContext();
12782   return __pyx_r;
12783 }
12784 
12785 /* "Cython/Compiler/FlowControl.py":295
12786  *
12787  * class LoopDescr(object):
12788  *     def __init__(self, next_block, loop_block):             # <<<<<<<<<<<<<<
12789  *         self.next_block = next_block
12790  *         self.loop_block = loop_block
12791  */
12792 
12793 /* Python wrapper */
12794 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_9LoopDescr_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
12795 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_9LoopDescr_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_9LoopDescr_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_9LoopDescr_1__init__(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)12796 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_9LoopDescr_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
12797   PyObject *__pyx_v_self = 0;
12798   PyObject *__pyx_v_next_block = 0;
12799   PyObject *__pyx_v_loop_block = 0;
12800   int __pyx_lineno = 0;
12801   const char *__pyx_filename = NULL;
12802   int __pyx_clineno = 0;
12803   PyObject *__pyx_r = 0;
12804   __Pyx_RefNannyDeclarations
12805   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
12806   {
12807     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_next_block,&__pyx_n_s_loop_block,0};
12808     PyObject* values[3] = {0,0,0};
12809     if (unlikely(__pyx_kwds)) {
12810       Py_ssize_t kw_args;
12811       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
12812       switch (pos_args) {
12813         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
12814         CYTHON_FALLTHROUGH;
12815         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
12816         CYTHON_FALLTHROUGH;
12817         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
12818         CYTHON_FALLTHROUGH;
12819         case  0: break;
12820         default: goto __pyx_L5_argtuple_error;
12821       }
12822       kw_args = PyDict_Size(__pyx_kwds);
12823       switch (pos_args) {
12824         case  0:
12825         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
12826         else goto __pyx_L5_argtuple_error;
12827         CYTHON_FALLTHROUGH;
12828         case  1:
12829         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_next_block)) != 0)) kw_args--;
12830         else {
12831           __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(0, 295, __pyx_L3_error)
12832         }
12833         CYTHON_FALLTHROUGH;
12834         case  2:
12835         if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_loop_block)) != 0)) kw_args--;
12836         else {
12837           __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(0, 295, __pyx_L3_error)
12838         }
12839       }
12840       if (unlikely(kw_args > 0)) {
12841         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 295, __pyx_L3_error)
12842       }
12843     } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
12844       goto __pyx_L5_argtuple_error;
12845     } else {
12846       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
12847       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
12848       values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
12849     }
12850     __pyx_v_self = values[0];
12851     __pyx_v_next_block = values[1];
12852     __pyx_v_loop_block = values[2];
12853   }
12854   goto __pyx_L4_argument_unpacking_done;
12855   __pyx_L5_argtuple_error:;
12856   __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 295, __pyx_L3_error)
12857   __pyx_L3_error:;
12858   __Pyx_AddTraceback("Cython.Compiler.FlowControl.LoopDescr.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
12859   __Pyx_RefNannyFinishContext();
12860   return NULL;
12861   __pyx_L4_argument_unpacking_done:;
12862   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_9LoopDescr___init__(__pyx_self, __pyx_v_self, __pyx_v_next_block, __pyx_v_loop_block);
12863 
12864   /* function exit code */
12865   __Pyx_RefNannyFinishContext();
12866   return __pyx_r;
12867 }
12868 
__pyx_pf_6Cython_8Compiler_11FlowControl_9LoopDescr___init__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_next_block,PyObject * __pyx_v_loop_block)12869 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_9LoopDescr___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_next_block, PyObject *__pyx_v_loop_block) {
12870   PyObject *__pyx_r = NULL;
12871   __Pyx_RefNannyDeclarations
12872   PyObject *__pyx_t_1 = NULL;
12873   int __pyx_lineno = 0;
12874   const char *__pyx_filename = NULL;
12875   int __pyx_clineno = 0;
12876   __Pyx_RefNannySetupContext("__init__", 0);
12877 
12878   /* "Cython/Compiler/FlowControl.py":296
12879  * class LoopDescr(object):
12880  *     def __init__(self, next_block, loop_block):
12881  *         self.next_block = next_block             # <<<<<<<<<<<<<<
12882  *         self.loop_block = loop_block
12883  *         self.exceptions = []
12884  */
12885   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_next_block, __pyx_v_next_block) < 0) __PYX_ERR(0, 296, __pyx_L1_error)
12886 
12887   /* "Cython/Compiler/FlowControl.py":297
12888  *     def __init__(self, next_block, loop_block):
12889  *         self.next_block = next_block
12890  *         self.loop_block = loop_block             # <<<<<<<<<<<<<<
12891  *         self.exceptions = []
12892  *
12893  */
12894   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_loop_block, __pyx_v_loop_block) < 0) __PYX_ERR(0, 297, __pyx_L1_error)
12895 
12896   /* "Cython/Compiler/FlowControl.py":298
12897  *         self.next_block = next_block
12898  *         self.loop_block = loop_block
12899  *         self.exceptions = []             # <<<<<<<<<<<<<<
12900  *
12901  *
12902  */
12903   __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 298, __pyx_L1_error)
12904   __Pyx_GOTREF(__pyx_t_1);
12905   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_exceptions, __pyx_t_1) < 0) __PYX_ERR(0, 298, __pyx_L1_error)
12906   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
12907 
12908   /* "Cython/Compiler/FlowControl.py":295
12909  *
12910  * class LoopDescr(object):
12911  *     def __init__(self, next_block, loop_block):             # <<<<<<<<<<<<<<
12912  *         self.next_block = next_block
12913  *         self.loop_block = loop_block
12914  */
12915 
12916   /* function exit code */
12917   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
12918   goto __pyx_L0;
12919   __pyx_L1_error:;
12920   __Pyx_XDECREF(__pyx_t_1);
12921   __Pyx_AddTraceback("Cython.Compiler.FlowControl.LoopDescr.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
12922   __pyx_r = NULL;
12923   __pyx_L0:;
12924   __Pyx_XGIVEREF(__pyx_r);
12925   __Pyx_RefNannyFinishContext();
12926   return __pyx_r;
12927 }
12928 
12929 /* "Cython/Compiler/FlowControl.py":309
12930  *     """
12931  *
12932  *     def __init__(self, entry_point, finally_enter=None, finally_exit=None):             # <<<<<<<<<<<<<<
12933  *         self.entry_point = entry_point
12934  *         self.finally_enter = finally_enter
12935  */
12936 
12937 /* Python wrapper */
12938 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14ExceptionDescr_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
12939 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_14ExceptionDescr_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_14ExceptionDescr_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_14ExceptionDescr_1__init__(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)12940 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14ExceptionDescr_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
12941   PyObject *__pyx_v_self = 0;
12942   PyObject *__pyx_v_entry_point = 0;
12943   PyObject *__pyx_v_finally_enter = 0;
12944   PyObject *__pyx_v_finally_exit = 0;
12945   int __pyx_lineno = 0;
12946   const char *__pyx_filename = NULL;
12947   int __pyx_clineno = 0;
12948   PyObject *__pyx_r = 0;
12949   __Pyx_RefNannyDeclarations
12950   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
12951   {
12952     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_entry_point,&__pyx_n_s_finally_enter,&__pyx_n_s_finally_exit,0};
12953     PyObject* values[4] = {0,0,0,0};
12954     values[2] = ((PyObject *)((PyObject *)Py_None));
12955     values[3] = ((PyObject *)((PyObject *)Py_None));
12956     if (unlikely(__pyx_kwds)) {
12957       Py_ssize_t kw_args;
12958       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
12959       switch (pos_args) {
12960         case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
12961         CYTHON_FALLTHROUGH;
12962         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
12963         CYTHON_FALLTHROUGH;
12964         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
12965         CYTHON_FALLTHROUGH;
12966         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
12967         CYTHON_FALLTHROUGH;
12968         case  0: break;
12969         default: goto __pyx_L5_argtuple_error;
12970       }
12971       kw_args = PyDict_Size(__pyx_kwds);
12972       switch (pos_args) {
12973         case  0:
12974         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
12975         else goto __pyx_L5_argtuple_error;
12976         CYTHON_FALLTHROUGH;
12977         case  1:
12978         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_entry_point)) != 0)) kw_args--;
12979         else {
12980           __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 4, 1); __PYX_ERR(0, 309, __pyx_L3_error)
12981         }
12982         CYTHON_FALLTHROUGH;
12983         case  2:
12984         if (kw_args > 0) {
12985           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_finally_enter);
12986           if (value) { values[2] = value; kw_args--; }
12987         }
12988         CYTHON_FALLTHROUGH;
12989         case  3:
12990         if (kw_args > 0) {
12991           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_finally_exit);
12992           if (value) { values[3] = value; kw_args--; }
12993         }
12994       }
12995       if (unlikely(kw_args > 0)) {
12996         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 309, __pyx_L3_error)
12997       }
12998     } else {
12999       switch (PyTuple_GET_SIZE(__pyx_args)) {
13000         case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
13001         CYTHON_FALLTHROUGH;
13002         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
13003         CYTHON_FALLTHROUGH;
13004         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
13005         values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
13006         break;
13007         default: goto __pyx_L5_argtuple_error;
13008       }
13009     }
13010     __pyx_v_self = values[0];
13011     __pyx_v_entry_point = values[1];
13012     __pyx_v_finally_enter = values[2];
13013     __pyx_v_finally_exit = values[3];
13014   }
13015   goto __pyx_L4_argument_unpacking_done;
13016   __pyx_L5_argtuple_error:;
13017   __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 309, __pyx_L3_error)
13018   __pyx_L3_error:;
13019   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ExceptionDescr.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
13020   __Pyx_RefNannyFinishContext();
13021   return NULL;
13022   __pyx_L4_argument_unpacking_done:;
13023   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14ExceptionDescr___init__(__pyx_self, __pyx_v_self, __pyx_v_entry_point, __pyx_v_finally_enter, __pyx_v_finally_exit);
13024 
13025   /* function exit code */
13026   __Pyx_RefNannyFinishContext();
13027   return __pyx_r;
13028 }
13029 
__pyx_pf_6Cython_8Compiler_11FlowControl_14ExceptionDescr___init__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_entry_point,PyObject * __pyx_v_finally_enter,PyObject * __pyx_v_finally_exit)13030 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14ExceptionDescr___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry_point, PyObject *__pyx_v_finally_enter, PyObject *__pyx_v_finally_exit) {
13031   PyObject *__pyx_r = NULL;
13032   __Pyx_RefNannyDeclarations
13033   int __pyx_lineno = 0;
13034   const char *__pyx_filename = NULL;
13035   int __pyx_clineno = 0;
13036   __Pyx_RefNannySetupContext("__init__", 0);
13037 
13038   /* "Cython/Compiler/FlowControl.py":310
13039  *
13040  *     def __init__(self, entry_point, finally_enter=None, finally_exit=None):
13041  *         self.entry_point = entry_point             # <<<<<<<<<<<<<<
13042  *         self.finally_enter = finally_enter
13043  *         self.finally_exit = finally_exit
13044  */
13045   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_entry_point, __pyx_v_entry_point) < 0) __PYX_ERR(0, 310, __pyx_L1_error)
13046 
13047   /* "Cython/Compiler/FlowControl.py":311
13048  *     def __init__(self, entry_point, finally_enter=None, finally_exit=None):
13049  *         self.entry_point = entry_point
13050  *         self.finally_enter = finally_enter             # <<<<<<<<<<<<<<
13051  *         self.finally_exit = finally_exit
13052  *
13053  */
13054   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_finally_enter, __pyx_v_finally_enter) < 0) __PYX_ERR(0, 311, __pyx_L1_error)
13055 
13056   /* "Cython/Compiler/FlowControl.py":312
13057  *         self.entry_point = entry_point
13058  *         self.finally_enter = finally_enter
13059  *         self.finally_exit = finally_exit             # <<<<<<<<<<<<<<
13060  *
13061  *
13062  */
13063   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_finally_exit, __pyx_v_finally_exit) < 0) __PYX_ERR(0, 312, __pyx_L1_error)
13064 
13065   /* "Cython/Compiler/FlowControl.py":309
13066  *     """
13067  *
13068  *     def __init__(self, entry_point, finally_enter=None, finally_exit=None):             # <<<<<<<<<<<<<<
13069  *         self.entry_point = entry_point
13070  *         self.finally_enter = finally_enter
13071  */
13072 
13073   /* function exit code */
13074   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
13075   goto __pyx_L0;
13076   __pyx_L1_error:;
13077   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ExceptionDescr.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
13078   __pyx_r = NULL;
13079   __pyx_L0:;
13080   __Pyx_XGIVEREF(__pyx_r);
13081   __Pyx_RefNannyFinishContext();
13082   return __pyx_r;
13083 }
13084 
13085 /* "Cython/Compiler/FlowControl.py":316
13086  *
13087  * class NameAssignment(object):
13088  *     def __init__(self, lhs, rhs, entry):             # <<<<<<<<<<<<<<
13089  *         if lhs.cf_state is None:
13090  *             lhs.cf_state = set()
13091  */
13092 
13093 /* Python wrapper */
13094 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_1__init__(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)13095 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
13096   PyObject *__pyx_v_lhs = 0;
13097   PyObject *__pyx_v_rhs = 0;
13098   PyObject *__pyx_v_entry = 0;
13099   int __pyx_lineno = 0;
13100   const char *__pyx_filename = NULL;
13101   int __pyx_clineno = 0;
13102   int __pyx_r;
13103   __Pyx_RefNannyDeclarations
13104   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
13105   {
13106     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_lhs,&__pyx_n_s_rhs,&__pyx_n_s_entry,0};
13107     PyObject* values[3] = {0,0,0};
13108     if (unlikely(__pyx_kwds)) {
13109       Py_ssize_t kw_args;
13110       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
13111       switch (pos_args) {
13112         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
13113         CYTHON_FALLTHROUGH;
13114         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
13115         CYTHON_FALLTHROUGH;
13116         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
13117         CYTHON_FALLTHROUGH;
13118         case  0: break;
13119         default: goto __pyx_L5_argtuple_error;
13120       }
13121       kw_args = PyDict_Size(__pyx_kwds);
13122       switch (pos_args) {
13123         case  0:
13124         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lhs)) != 0)) kw_args--;
13125         else goto __pyx_L5_argtuple_error;
13126         CYTHON_FALLTHROUGH;
13127         case  1:
13128         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_rhs)) != 0)) kw_args--;
13129         else {
13130           __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(0, 316, __pyx_L3_error)
13131         }
13132         CYTHON_FALLTHROUGH;
13133         case  2:
13134         if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
13135         else {
13136           __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(0, 316, __pyx_L3_error)
13137         }
13138       }
13139       if (unlikely(kw_args > 0)) {
13140         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 316, __pyx_L3_error)
13141       }
13142     } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
13143       goto __pyx_L5_argtuple_error;
13144     } else {
13145       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
13146       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
13147       values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
13148     }
13149     __pyx_v_lhs = values[0];
13150     __pyx_v_rhs = values[1];
13151     __pyx_v_entry = values[2];
13152   }
13153   goto __pyx_L4_argument_unpacking_done;
13154   __pyx_L5_argtuple_error:;
13155   __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 316, __pyx_L3_error)
13156   __pyx_L3_error:;
13157   __Pyx_AddTraceback("Cython.Compiler.FlowControl.NameAssignment.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
13158   __Pyx_RefNannyFinishContext();
13159   return -1;
13160   __pyx_L4_argument_unpacking_done:;
13161   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment___init__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self), __pyx_v_lhs, __pyx_v_rhs, __pyx_v_entry);
13162 
13163   /* function exit code */
13164   __Pyx_RefNannyFinishContext();
13165   return __pyx_r;
13166 }
13167 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment___init__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self,PyObject * __pyx_v_lhs,PyObject * __pyx_v_rhs,PyObject * __pyx_v_entry)13168 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment___init__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs, PyObject *__pyx_v_entry) {
13169   int __pyx_r;
13170   __Pyx_RefNannyDeclarations
13171   PyObject *__pyx_t_1 = NULL;
13172   int __pyx_t_2;
13173   int __pyx_t_3;
13174   int __pyx_lineno = 0;
13175   const char *__pyx_filename = NULL;
13176   int __pyx_clineno = 0;
13177   __Pyx_RefNannySetupContext("__init__", 0);
13178 
13179   /* "Cython/Compiler/FlowControl.py":317
13180  * class NameAssignment(object):
13181  *     def __init__(self, lhs, rhs, entry):
13182  *         if lhs.cf_state is None:             # <<<<<<<<<<<<<<
13183  *             lhs.cf_state = set()
13184  *         self.lhs = lhs
13185  */
13186   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_lhs, __pyx_n_s_cf_state); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 317, __pyx_L1_error)
13187   __Pyx_GOTREF(__pyx_t_1);
13188   __pyx_t_2 = (__pyx_t_1 == Py_None);
13189   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
13190   __pyx_t_3 = (__pyx_t_2 != 0);
13191   if (__pyx_t_3) {
13192 
13193     /* "Cython/Compiler/FlowControl.py":318
13194  *     def __init__(self, lhs, rhs, entry):
13195  *         if lhs.cf_state is None:
13196  *             lhs.cf_state = set()             # <<<<<<<<<<<<<<
13197  *         self.lhs = lhs
13198  *         self.rhs = rhs
13199  */
13200     __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 318, __pyx_L1_error)
13201     __Pyx_GOTREF(__pyx_t_1);
13202     if (__Pyx_PyObject_SetAttrStr(__pyx_v_lhs, __pyx_n_s_cf_state, __pyx_t_1) < 0) __PYX_ERR(0, 318, __pyx_L1_error)
13203     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
13204 
13205     /* "Cython/Compiler/FlowControl.py":317
13206  * class NameAssignment(object):
13207  *     def __init__(self, lhs, rhs, entry):
13208  *         if lhs.cf_state is None:             # <<<<<<<<<<<<<<
13209  *             lhs.cf_state = set()
13210  *         self.lhs = lhs
13211  */
13212   }
13213 
13214   /* "Cython/Compiler/FlowControl.py":319
13215  *         if lhs.cf_state is None:
13216  *             lhs.cf_state = set()
13217  *         self.lhs = lhs             # <<<<<<<<<<<<<<
13218  *         self.rhs = rhs
13219  *         self.entry = entry
13220  */
13221   __Pyx_INCREF(__pyx_v_lhs);
13222   __Pyx_GIVEREF(__pyx_v_lhs);
13223   __Pyx_GOTREF(__pyx_v_self->lhs);
13224   __Pyx_DECREF(__pyx_v_self->lhs);
13225   __pyx_v_self->lhs = __pyx_v_lhs;
13226 
13227   /* "Cython/Compiler/FlowControl.py":320
13228  *             lhs.cf_state = set()
13229  *         self.lhs = lhs
13230  *         self.rhs = rhs             # <<<<<<<<<<<<<<
13231  *         self.entry = entry
13232  *         self.pos = lhs.pos
13233  */
13234   __Pyx_INCREF(__pyx_v_rhs);
13235   __Pyx_GIVEREF(__pyx_v_rhs);
13236   __Pyx_GOTREF(__pyx_v_self->rhs);
13237   __Pyx_DECREF(__pyx_v_self->rhs);
13238   __pyx_v_self->rhs = __pyx_v_rhs;
13239 
13240   /* "Cython/Compiler/FlowControl.py":321
13241  *         self.lhs = lhs
13242  *         self.rhs = rhs
13243  *         self.entry = entry             # <<<<<<<<<<<<<<
13244  *         self.pos = lhs.pos
13245  *         self.refs = set()
13246  */
13247   __Pyx_INCREF(__pyx_v_entry);
13248   __Pyx_GIVEREF(__pyx_v_entry);
13249   __Pyx_GOTREF(__pyx_v_self->entry);
13250   __Pyx_DECREF(__pyx_v_self->entry);
13251   __pyx_v_self->entry = __pyx_v_entry;
13252 
13253   /* "Cython/Compiler/FlowControl.py":322
13254  *         self.rhs = rhs
13255  *         self.entry = entry
13256  *         self.pos = lhs.pos             # <<<<<<<<<<<<<<
13257  *         self.refs = set()
13258  *         self.is_arg = False
13259  */
13260   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_lhs, __pyx_n_s_pos); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 322, __pyx_L1_error)
13261   __Pyx_GOTREF(__pyx_t_1);
13262   __Pyx_GIVEREF(__pyx_t_1);
13263   __Pyx_GOTREF(__pyx_v_self->pos);
13264   __Pyx_DECREF(__pyx_v_self->pos);
13265   __pyx_v_self->pos = __pyx_t_1;
13266   __pyx_t_1 = 0;
13267 
13268   /* "Cython/Compiler/FlowControl.py":323
13269  *         self.entry = entry
13270  *         self.pos = lhs.pos
13271  *         self.refs = set()             # <<<<<<<<<<<<<<
13272  *         self.is_arg = False
13273  *         self.is_deletion = False
13274  */
13275   __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 323, __pyx_L1_error)
13276   __Pyx_GOTREF(__pyx_t_1);
13277   __Pyx_GIVEREF(__pyx_t_1);
13278   __Pyx_GOTREF(__pyx_v_self->refs);
13279   __Pyx_DECREF(__pyx_v_self->refs);
13280   __pyx_v_self->refs = ((PyObject*)__pyx_t_1);
13281   __pyx_t_1 = 0;
13282 
13283   /* "Cython/Compiler/FlowControl.py":324
13284  *         self.pos = lhs.pos
13285  *         self.refs = set()
13286  *         self.is_arg = False             # <<<<<<<<<<<<<<
13287  *         self.is_deletion = False
13288  *         self.inferred_type = None
13289  */
13290   __pyx_v_self->is_arg = 0;
13291 
13292   /* "Cython/Compiler/FlowControl.py":325
13293  *         self.refs = set()
13294  *         self.is_arg = False
13295  *         self.is_deletion = False             # <<<<<<<<<<<<<<
13296  *         self.inferred_type = None
13297  *
13298  */
13299   __pyx_v_self->is_deletion = 0;
13300 
13301   /* "Cython/Compiler/FlowControl.py":326
13302  *         self.is_arg = False
13303  *         self.is_deletion = False
13304  *         self.inferred_type = None             # <<<<<<<<<<<<<<
13305  *
13306  *     def __repr__(self):
13307  */
13308   __Pyx_INCREF(Py_None);
13309   __Pyx_GIVEREF(Py_None);
13310   __Pyx_GOTREF(__pyx_v_self->inferred_type);
13311   __Pyx_DECREF(__pyx_v_self->inferred_type);
13312   __pyx_v_self->inferred_type = Py_None;
13313 
13314   /* "Cython/Compiler/FlowControl.py":316
13315  *
13316  * class NameAssignment(object):
13317  *     def __init__(self, lhs, rhs, entry):             # <<<<<<<<<<<<<<
13318  *         if lhs.cf_state is None:
13319  *             lhs.cf_state = set()
13320  */
13321 
13322   /* function exit code */
13323   __pyx_r = 0;
13324   goto __pyx_L0;
13325   __pyx_L1_error:;
13326   __Pyx_XDECREF(__pyx_t_1);
13327   __Pyx_AddTraceback("Cython.Compiler.FlowControl.NameAssignment.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
13328   __pyx_r = -1;
13329   __pyx_L0:;
13330   __Pyx_RefNannyFinishContext();
13331   return __pyx_r;
13332 }
13333 
13334 /* "Cython/Compiler/FlowControl.py":328
13335  *         self.inferred_type = None
13336  *
13337  *     def __repr__(self):             # <<<<<<<<<<<<<<
13338  *         return '%s(entry=%r)' % (self.__class__.__name__, self.entry)
13339  *
13340  */
13341 
13342 /* Python wrapper */
13343 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3__repr__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3__repr__(PyObject * __pyx_v_self)13344 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3__repr__(PyObject *__pyx_v_self) {
13345   PyObject *__pyx_r = 0;
13346   __Pyx_RefNannyDeclarations
13347   __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
13348   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_2__repr__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self));
13349 
13350   /* function exit code */
13351   __Pyx_RefNannyFinishContext();
13352   return __pyx_r;
13353 }
13354 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_2__repr__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self)13355 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_2__repr__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self) {
13356   PyObject *__pyx_r = NULL;
13357   __Pyx_RefNannyDeclarations
13358   PyObject *__pyx_t_1 = NULL;
13359   PyObject *__pyx_t_2 = NULL;
13360   int __pyx_lineno = 0;
13361   const char *__pyx_filename = NULL;
13362   int __pyx_clineno = 0;
13363   __Pyx_RefNannySetupContext("__repr__", 0);
13364 
13365   /* "Cython/Compiler/FlowControl.py":329
13366  *
13367  *     def __repr__(self):
13368  *         return '%s(entry=%r)' % (self.__class__.__name__, self.entry)             # <<<<<<<<<<<<<<
13369  *
13370  *     def infer_type(self):
13371  */
13372   __Pyx_XDECREF(__pyx_r);
13373   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 329, __pyx_L1_error)
13374   __Pyx_GOTREF(__pyx_t_1);
13375   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 329, __pyx_L1_error)
13376   __Pyx_GOTREF(__pyx_t_2);
13377   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
13378   __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 329, __pyx_L1_error)
13379   __Pyx_GOTREF(__pyx_t_1);
13380   __Pyx_GIVEREF(__pyx_t_2);
13381   PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
13382   __Pyx_INCREF(__pyx_v_self->entry);
13383   __Pyx_GIVEREF(__pyx_v_self->entry);
13384   PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->entry);
13385   __pyx_t_2 = 0;
13386   __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_s_entry_r, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 329, __pyx_L1_error)
13387   __Pyx_GOTREF(__pyx_t_2);
13388   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
13389   __pyx_r = __pyx_t_2;
13390   __pyx_t_2 = 0;
13391   goto __pyx_L0;
13392 
13393   /* "Cython/Compiler/FlowControl.py":328
13394  *         self.inferred_type = None
13395  *
13396  *     def __repr__(self):             # <<<<<<<<<<<<<<
13397  *         return '%s(entry=%r)' % (self.__class__.__name__, self.entry)
13398  *
13399  */
13400 
13401   /* function exit code */
13402   __pyx_L1_error:;
13403   __Pyx_XDECREF(__pyx_t_1);
13404   __Pyx_XDECREF(__pyx_t_2);
13405   __Pyx_AddTraceback("Cython.Compiler.FlowControl.NameAssignment.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
13406   __pyx_r = NULL;
13407   __pyx_L0:;
13408   __Pyx_XGIVEREF(__pyx_r);
13409   __Pyx_RefNannyFinishContext();
13410   return __pyx_r;
13411 }
13412 
13413 /* "Cython/Compiler/FlowControl.py":331
13414  *         return '%s(entry=%r)' % (self.__class__.__name__, self.entry)
13415  *
13416  *     def infer_type(self):             # <<<<<<<<<<<<<<
13417  *         self.inferred_type = self.rhs.infer_type(self.entry.scope)
13418  *         return self.inferred_type
13419  */
13420 
13421 /* Python wrapper */
13422 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_5infer_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
13423 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_14NameAssignment_5infer_type = {"infer_type", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_5infer_type, METH_NOARGS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_5infer_type(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)13424 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_5infer_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
13425   PyObject *__pyx_r = 0;
13426   __Pyx_RefNannyDeclarations
13427   __Pyx_RefNannySetupContext("infer_type (wrapper)", 0);
13428   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_4infer_type(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self));
13429 
13430   /* function exit code */
13431   __Pyx_RefNannyFinishContext();
13432   return __pyx_r;
13433 }
13434 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_4infer_type(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self)13435 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_4infer_type(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self) {
13436   PyObject *__pyx_r = NULL;
13437   __Pyx_RefNannyDeclarations
13438   PyObject *__pyx_t_1 = NULL;
13439   PyObject *__pyx_t_2 = NULL;
13440   PyObject *__pyx_t_3 = NULL;
13441   PyObject *__pyx_t_4 = NULL;
13442   int __pyx_lineno = 0;
13443   const char *__pyx_filename = NULL;
13444   int __pyx_clineno = 0;
13445   __Pyx_RefNannySetupContext("infer_type", 0);
13446 
13447   /* "Cython/Compiler/FlowControl.py":332
13448  *
13449  *     def infer_type(self):
13450  *         self.inferred_type = self.rhs.infer_type(self.entry.scope)             # <<<<<<<<<<<<<<
13451  *         return self.inferred_type
13452  *
13453  */
13454   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->rhs, __pyx_n_s_infer_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 332, __pyx_L1_error)
13455   __Pyx_GOTREF(__pyx_t_2);
13456   __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->entry, __pyx_n_s_scope); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 332, __pyx_L1_error)
13457   __Pyx_GOTREF(__pyx_t_3);
13458   __pyx_t_4 = NULL;
13459   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
13460     __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
13461     if (likely(__pyx_t_4)) {
13462       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
13463       __Pyx_INCREF(__pyx_t_4);
13464       __Pyx_INCREF(function);
13465       __Pyx_DECREF_SET(__pyx_t_2, function);
13466     }
13467   }
13468   __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
13469   __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
13470   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
13471   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 332, __pyx_L1_error)
13472   __Pyx_GOTREF(__pyx_t_1);
13473   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
13474   __Pyx_GIVEREF(__pyx_t_1);
13475   __Pyx_GOTREF(__pyx_v_self->inferred_type);
13476   __Pyx_DECREF(__pyx_v_self->inferred_type);
13477   __pyx_v_self->inferred_type = __pyx_t_1;
13478   __pyx_t_1 = 0;
13479 
13480   /* "Cython/Compiler/FlowControl.py":333
13481  *     def infer_type(self):
13482  *         self.inferred_type = self.rhs.infer_type(self.entry.scope)
13483  *         return self.inferred_type             # <<<<<<<<<<<<<<
13484  *
13485  *     def type_dependencies(self):
13486  */
13487   __Pyx_XDECREF(__pyx_r);
13488   __Pyx_INCREF(__pyx_v_self->inferred_type);
13489   __pyx_r = __pyx_v_self->inferred_type;
13490   goto __pyx_L0;
13491 
13492   /* "Cython/Compiler/FlowControl.py":331
13493  *         return '%s(entry=%r)' % (self.__class__.__name__, self.entry)
13494  *
13495  *     def infer_type(self):             # <<<<<<<<<<<<<<
13496  *         self.inferred_type = self.rhs.infer_type(self.entry.scope)
13497  *         return self.inferred_type
13498  */
13499 
13500   /* function exit code */
13501   __pyx_L1_error:;
13502   __Pyx_XDECREF(__pyx_t_1);
13503   __Pyx_XDECREF(__pyx_t_2);
13504   __Pyx_XDECREF(__pyx_t_3);
13505   __Pyx_XDECREF(__pyx_t_4);
13506   __Pyx_AddTraceback("Cython.Compiler.FlowControl.NameAssignment.infer_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
13507   __pyx_r = NULL;
13508   __pyx_L0:;
13509   __Pyx_XGIVEREF(__pyx_r);
13510   __Pyx_RefNannyFinishContext();
13511   return __pyx_r;
13512 }
13513 
13514 /* "Cython/Compiler/FlowControl.py":335
13515  *         return self.inferred_type
13516  *
13517  *     def type_dependencies(self):             # <<<<<<<<<<<<<<
13518  *         return self.rhs.type_dependencies(self.entry.scope)
13519  *
13520  */
13521 
13522 /* Python wrapper */
13523 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_7type_dependencies(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
13524 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_14NameAssignment_7type_dependencies = {"type_dependencies", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_7type_dependencies, METH_NOARGS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_7type_dependencies(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)13525 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_7type_dependencies(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
13526   PyObject *__pyx_r = 0;
13527   __Pyx_RefNannyDeclarations
13528   __Pyx_RefNannySetupContext("type_dependencies (wrapper)", 0);
13529   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_6type_dependencies(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self));
13530 
13531   /* function exit code */
13532   __Pyx_RefNannyFinishContext();
13533   return __pyx_r;
13534 }
13535 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_6type_dependencies(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self)13536 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_6type_dependencies(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self) {
13537   PyObject *__pyx_r = NULL;
13538   __Pyx_RefNannyDeclarations
13539   PyObject *__pyx_t_1 = NULL;
13540   PyObject *__pyx_t_2 = NULL;
13541   PyObject *__pyx_t_3 = NULL;
13542   PyObject *__pyx_t_4 = NULL;
13543   int __pyx_lineno = 0;
13544   const char *__pyx_filename = NULL;
13545   int __pyx_clineno = 0;
13546   __Pyx_RefNannySetupContext("type_dependencies", 0);
13547 
13548   /* "Cython/Compiler/FlowControl.py":336
13549  *
13550  *     def type_dependencies(self):
13551  *         return self.rhs.type_dependencies(self.entry.scope)             # <<<<<<<<<<<<<<
13552  *
13553  *     @property
13554  */
13555   __Pyx_XDECREF(__pyx_r);
13556   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->rhs, __pyx_n_s_type_dependencies); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 336, __pyx_L1_error)
13557   __Pyx_GOTREF(__pyx_t_2);
13558   __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->entry, __pyx_n_s_scope); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 336, __pyx_L1_error)
13559   __Pyx_GOTREF(__pyx_t_3);
13560   __pyx_t_4 = NULL;
13561   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
13562     __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
13563     if (likely(__pyx_t_4)) {
13564       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
13565       __Pyx_INCREF(__pyx_t_4);
13566       __Pyx_INCREF(function);
13567       __Pyx_DECREF_SET(__pyx_t_2, function);
13568     }
13569   }
13570   __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
13571   __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
13572   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
13573   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 336, __pyx_L1_error)
13574   __Pyx_GOTREF(__pyx_t_1);
13575   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
13576   __pyx_r = __pyx_t_1;
13577   __pyx_t_1 = 0;
13578   goto __pyx_L0;
13579 
13580   /* "Cython/Compiler/FlowControl.py":335
13581  *         return self.inferred_type
13582  *
13583  *     def type_dependencies(self):             # <<<<<<<<<<<<<<
13584  *         return self.rhs.type_dependencies(self.entry.scope)
13585  *
13586  */
13587 
13588   /* function exit code */
13589   __pyx_L1_error:;
13590   __Pyx_XDECREF(__pyx_t_1);
13591   __Pyx_XDECREF(__pyx_t_2);
13592   __Pyx_XDECREF(__pyx_t_3);
13593   __Pyx_XDECREF(__pyx_t_4);
13594   __Pyx_AddTraceback("Cython.Compiler.FlowControl.NameAssignment.type_dependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
13595   __pyx_r = NULL;
13596   __pyx_L0:;
13597   __Pyx_XGIVEREF(__pyx_r);
13598   __Pyx_RefNannyFinishContext();
13599   return __pyx_r;
13600 }
13601 
13602 /* "Cython/Compiler/FlowControl.py":339
13603  *
13604  *     @property
13605  *     def type(self):             # <<<<<<<<<<<<<<
13606  *         if not self.entry.type.is_unspecified:
13607  *             return self.entry.type
13608  */
13609 
13610 /* Python wrapper */
13611 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_4type_1__get__(PyObject * __pyx_v_self)13612 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_4type_1__get__(PyObject *__pyx_v_self) {
13613   PyObject *__pyx_r = 0;
13614   __Pyx_RefNannyDeclarations
13615   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
13616   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_4type___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self));
13617 
13618   /* function exit code */
13619   __Pyx_RefNannyFinishContext();
13620   return __pyx_r;
13621 }
13622 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_4type___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self)13623 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_4type___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self) {
13624   PyObject *__pyx_r = NULL;
13625   __Pyx_RefNannyDeclarations
13626   PyObject *__pyx_t_1 = NULL;
13627   PyObject *__pyx_t_2 = NULL;
13628   int __pyx_t_3;
13629   int __pyx_t_4;
13630   int __pyx_lineno = 0;
13631   const char *__pyx_filename = NULL;
13632   int __pyx_clineno = 0;
13633   __Pyx_RefNannySetupContext("__get__", 0);
13634 
13635   /* "Cython/Compiler/FlowControl.py":340
13636  *     @property
13637  *     def type(self):
13638  *         if not self.entry.type.is_unspecified:             # <<<<<<<<<<<<<<
13639  *             return self.entry.type
13640  *         return self.inferred_type
13641  */
13642   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->entry, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 340, __pyx_L1_error)
13643   __Pyx_GOTREF(__pyx_t_1);
13644   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_is_unspecified); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 340, __pyx_L1_error)
13645   __Pyx_GOTREF(__pyx_t_2);
13646   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
13647   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 340, __pyx_L1_error)
13648   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
13649   __pyx_t_4 = ((!__pyx_t_3) != 0);
13650   if (__pyx_t_4) {
13651 
13652     /* "Cython/Compiler/FlowControl.py":341
13653  *     def type(self):
13654  *         if not self.entry.type.is_unspecified:
13655  *             return self.entry.type             # <<<<<<<<<<<<<<
13656  *         return self.inferred_type
13657  *
13658  */
13659     __Pyx_XDECREF(__pyx_r);
13660     __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->entry, __pyx_n_s_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 341, __pyx_L1_error)
13661     __Pyx_GOTREF(__pyx_t_2);
13662     __pyx_r = __pyx_t_2;
13663     __pyx_t_2 = 0;
13664     goto __pyx_L0;
13665 
13666     /* "Cython/Compiler/FlowControl.py":340
13667  *     @property
13668  *     def type(self):
13669  *         if not self.entry.type.is_unspecified:             # <<<<<<<<<<<<<<
13670  *             return self.entry.type
13671  *         return self.inferred_type
13672  */
13673   }
13674 
13675   /* "Cython/Compiler/FlowControl.py":342
13676  *         if not self.entry.type.is_unspecified:
13677  *             return self.entry.type
13678  *         return self.inferred_type             # <<<<<<<<<<<<<<
13679  *
13680  *
13681  */
13682   __Pyx_XDECREF(__pyx_r);
13683   __Pyx_INCREF(__pyx_v_self->inferred_type);
13684   __pyx_r = __pyx_v_self->inferred_type;
13685   goto __pyx_L0;
13686 
13687   /* "Cython/Compiler/FlowControl.py":339
13688  *
13689  *     @property
13690  *     def type(self):             # <<<<<<<<<<<<<<
13691  *         if not self.entry.type.is_unspecified:
13692  *             return self.entry.type
13693  */
13694 
13695   /* function exit code */
13696   __pyx_L1_error:;
13697   __Pyx_XDECREF(__pyx_t_1);
13698   __Pyx_XDECREF(__pyx_t_2);
13699   __Pyx_AddTraceback("Cython.Compiler.FlowControl.NameAssignment.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
13700   __pyx_r = NULL;
13701   __pyx_L0:;
13702   __Pyx_XGIVEREF(__pyx_r);
13703   __Pyx_RefNannyFinishContext();
13704   return __pyx_r;
13705 }
13706 
13707 /* "Cython/Compiler/FlowControl.pxd":30
13708  *
13709  * cdef class NameAssignment:
13710  *     cdef public bint is_arg             # <<<<<<<<<<<<<<
13711  *     cdef public bint is_deletion
13712  *     cdef public object lhs
13713  */
13714 
13715 /* Python wrapper */
13716 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_6is_arg_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_6is_arg_1__get__(PyObject * __pyx_v_self)13717 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_6is_arg_1__get__(PyObject *__pyx_v_self) {
13718   PyObject *__pyx_r = 0;
13719   __Pyx_RefNannyDeclarations
13720   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
13721   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_6is_arg___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self));
13722 
13723   /* function exit code */
13724   __Pyx_RefNannyFinishContext();
13725   return __pyx_r;
13726 }
13727 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_6is_arg___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self)13728 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_6is_arg___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self) {
13729   PyObject *__pyx_r = NULL;
13730   __Pyx_RefNannyDeclarations
13731   PyObject *__pyx_t_1 = NULL;
13732   int __pyx_lineno = 0;
13733   const char *__pyx_filename = NULL;
13734   int __pyx_clineno = 0;
13735   __Pyx_RefNannySetupContext("__get__", 0);
13736   __Pyx_XDECREF(__pyx_r);
13737   __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->is_arg); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 30, __pyx_L1_error)
13738   __Pyx_GOTREF(__pyx_t_1);
13739   __pyx_r = __pyx_t_1;
13740   __pyx_t_1 = 0;
13741   goto __pyx_L0;
13742 
13743   /* function exit code */
13744   __pyx_L1_error:;
13745   __Pyx_XDECREF(__pyx_t_1);
13746   __Pyx_AddTraceback("Cython.Compiler.FlowControl.NameAssignment.is_arg.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
13747   __pyx_r = NULL;
13748   __pyx_L0:;
13749   __Pyx_XGIVEREF(__pyx_r);
13750   __Pyx_RefNannyFinishContext();
13751   return __pyx_r;
13752 }
13753 
13754 /* Python wrapper */
13755 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_6is_arg_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_6is_arg_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)13756 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_6is_arg_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
13757   int __pyx_r;
13758   __Pyx_RefNannyDeclarations
13759   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
13760   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_6is_arg_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self), ((PyObject *)__pyx_v_value));
13761 
13762   /* function exit code */
13763   __Pyx_RefNannyFinishContext();
13764   return __pyx_r;
13765 }
13766 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_6is_arg_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self,PyObject * __pyx_v_value)13767 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_6is_arg_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self, PyObject *__pyx_v_value) {
13768   int __pyx_r;
13769   __Pyx_RefNannyDeclarations
13770   int __pyx_t_1;
13771   int __pyx_lineno = 0;
13772   const char *__pyx_filename = NULL;
13773   int __pyx_clineno = 0;
13774   __Pyx_RefNannySetupContext("__set__", 0);
13775   __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 30, __pyx_L1_error)
13776   __pyx_v_self->is_arg = __pyx_t_1;
13777 
13778   /* function exit code */
13779   __pyx_r = 0;
13780   goto __pyx_L0;
13781   __pyx_L1_error:;
13782   __Pyx_AddTraceback("Cython.Compiler.FlowControl.NameAssignment.is_arg.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
13783   __pyx_r = -1;
13784   __pyx_L0:;
13785   __Pyx_RefNannyFinishContext();
13786   return __pyx_r;
13787 }
13788 
13789 /* "Cython/Compiler/FlowControl.pxd":31
13790  * cdef class NameAssignment:
13791  *     cdef public bint is_arg
13792  *     cdef public bint is_deletion             # <<<<<<<<<<<<<<
13793  *     cdef public object lhs
13794  *     cdef public object rhs
13795  */
13796 
13797 /* Python wrapper */
13798 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_11is_deletion_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_11is_deletion_1__get__(PyObject * __pyx_v_self)13799 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_11is_deletion_1__get__(PyObject *__pyx_v_self) {
13800   PyObject *__pyx_r = 0;
13801   __Pyx_RefNannyDeclarations
13802   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
13803   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_11is_deletion___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self));
13804 
13805   /* function exit code */
13806   __Pyx_RefNannyFinishContext();
13807   return __pyx_r;
13808 }
13809 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_11is_deletion___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self)13810 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_11is_deletion___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self) {
13811   PyObject *__pyx_r = NULL;
13812   __Pyx_RefNannyDeclarations
13813   PyObject *__pyx_t_1 = NULL;
13814   int __pyx_lineno = 0;
13815   const char *__pyx_filename = NULL;
13816   int __pyx_clineno = 0;
13817   __Pyx_RefNannySetupContext("__get__", 0);
13818   __Pyx_XDECREF(__pyx_r);
13819   __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->is_deletion); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 31, __pyx_L1_error)
13820   __Pyx_GOTREF(__pyx_t_1);
13821   __pyx_r = __pyx_t_1;
13822   __pyx_t_1 = 0;
13823   goto __pyx_L0;
13824 
13825   /* function exit code */
13826   __pyx_L1_error:;
13827   __Pyx_XDECREF(__pyx_t_1);
13828   __Pyx_AddTraceback("Cython.Compiler.FlowControl.NameAssignment.is_deletion.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
13829   __pyx_r = NULL;
13830   __pyx_L0:;
13831   __Pyx_XGIVEREF(__pyx_r);
13832   __Pyx_RefNannyFinishContext();
13833   return __pyx_r;
13834 }
13835 
13836 /* Python wrapper */
13837 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_11is_deletion_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_11is_deletion_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)13838 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_11is_deletion_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
13839   int __pyx_r;
13840   __Pyx_RefNannyDeclarations
13841   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
13842   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_11is_deletion_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self), ((PyObject *)__pyx_v_value));
13843 
13844   /* function exit code */
13845   __Pyx_RefNannyFinishContext();
13846   return __pyx_r;
13847 }
13848 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_11is_deletion_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self,PyObject * __pyx_v_value)13849 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_11is_deletion_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self, PyObject *__pyx_v_value) {
13850   int __pyx_r;
13851   __Pyx_RefNannyDeclarations
13852   int __pyx_t_1;
13853   int __pyx_lineno = 0;
13854   const char *__pyx_filename = NULL;
13855   int __pyx_clineno = 0;
13856   __Pyx_RefNannySetupContext("__set__", 0);
13857   __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 31, __pyx_L1_error)
13858   __pyx_v_self->is_deletion = __pyx_t_1;
13859 
13860   /* function exit code */
13861   __pyx_r = 0;
13862   goto __pyx_L0;
13863   __pyx_L1_error:;
13864   __Pyx_AddTraceback("Cython.Compiler.FlowControl.NameAssignment.is_deletion.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
13865   __pyx_r = -1;
13866   __pyx_L0:;
13867   __Pyx_RefNannyFinishContext();
13868   return __pyx_r;
13869 }
13870 
13871 /* "Cython/Compiler/FlowControl.pxd":32
13872  *     cdef public bint is_arg
13873  *     cdef public bint is_deletion
13874  *     cdef public object lhs             # <<<<<<<<<<<<<<
13875  *     cdef public object rhs
13876  *     cdef public object entry
13877  */
13878 
13879 /* Python wrapper */
13880 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs_1__get__(PyObject * __pyx_v_self)13881 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs_1__get__(PyObject *__pyx_v_self) {
13882   PyObject *__pyx_r = 0;
13883   __Pyx_RefNannyDeclarations
13884   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
13885   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self));
13886 
13887   /* function exit code */
13888   __Pyx_RefNannyFinishContext();
13889   return __pyx_r;
13890 }
13891 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self)13892 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self) {
13893   PyObject *__pyx_r = NULL;
13894   __Pyx_RefNannyDeclarations
13895   __Pyx_RefNannySetupContext("__get__", 0);
13896   __Pyx_XDECREF(__pyx_r);
13897   __Pyx_INCREF(__pyx_v_self->lhs);
13898   __pyx_r = __pyx_v_self->lhs;
13899   goto __pyx_L0;
13900 
13901   /* function exit code */
13902   __pyx_L0:;
13903   __Pyx_XGIVEREF(__pyx_r);
13904   __Pyx_RefNannyFinishContext();
13905   return __pyx_r;
13906 }
13907 
13908 /* Python wrapper */
13909 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)13910 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
13911   int __pyx_r;
13912   __Pyx_RefNannyDeclarations
13913   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
13914   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self), ((PyObject *)__pyx_v_value));
13915 
13916   /* function exit code */
13917   __Pyx_RefNannyFinishContext();
13918   return __pyx_r;
13919 }
13920 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self,PyObject * __pyx_v_value)13921 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self, PyObject *__pyx_v_value) {
13922   int __pyx_r;
13923   __Pyx_RefNannyDeclarations
13924   __Pyx_RefNannySetupContext("__set__", 0);
13925   __Pyx_INCREF(__pyx_v_value);
13926   __Pyx_GIVEREF(__pyx_v_value);
13927   __Pyx_GOTREF(__pyx_v_self->lhs);
13928   __Pyx_DECREF(__pyx_v_self->lhs);
13929   __pyx_v_self->lhs = __pyx_v_value;
13930 
13931   /* function exit code */
13932   __pyx_r = 0;
13933   __Pyx_RefNannyFinishContext();
13934   return __pyx_r;
13935 }
13936 
13937 /* Python wrapper */
13938 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs_5__del__(PyObject * __pyx_v_self)13939 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs_5__del__(PyObject *__pyx_v_self) {
13940   int __pyx_r;
13941   __Pyx_RefNannyDeclarations
13942   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
13943   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self));
13944 
13945   /* function exit code */
13946   __Pyx_RefNannyFinishContext();
13947   return __pyx_r;
13948 }
13949 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self)13950 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self) {
13951   int __pyx_r;
13952   __Pyx_RefNannyDeclarations
13953   __Pyx_RefNannySetupContext("__del__", 0);
13954   __Pyx_INCREF(Py_None);
13955   __Pyx_GIVEREF(Py_None);
13956   __Pyx_GOTREF(__pyx_v_self->lhs);
13957   __Pyx_DECREF(__pyx_v_self->lhs);
13958   __pyx_v_self->lhs = Py_None;
13959 
13960   /* function exit code */
13961   __pyx_r = 0;
13962   __Pyx_RefNannyFinishContext();
13963   return __pyx_r;
13964 }
13965 
13966 /* "Cython/Compiler/FlowControl.pxd":33
13967  *     cdef public bint is_deletion
13968  *     cdef public object lhs
13969  *     cdef public object rhs             # <<<<<<<<<<<<<<
13970  *     cdef public object entry
13971  *     cdef public object pos
13972  */
13973 
13974 /* Python wrapper */
13975 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs_1__get__(PyObject * __pyx_v_self)13976 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs_1__get__(PyObject *__pyx_v_self) {
13977   PyObject *__pyx_r = 0;
13978   __Pyx_RefNannyDeclarations
13979   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
13980   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self));
13981 
13982   /* function exit code */
13983   __Pyx_RefNannyFinishContext();
13984   return __pyx_r;
13985 }
13986 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self)13987 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self) {
13988   PyObject *__pyx_r = NULL;
13989   __Pyx_RefNannyDeclarations
13990   __Pyx_RefNannySetupContext("__get__", 0);
13991   __Pyx_XDECREF(__pyx_r);
13992   __Pyx_INCREF(__pyx_v_self->rhs);
13993   __pyx_r = __pyx_v_self->rhs;
13994   goto __pyx_L0;
13995 
13996   /* function exit code */
13997   __pyx_L0:;
13998   __Pyx_XGIVEREF(__pyx_r);
13999   __Pyx_RefNannyFinishContext();
14000   return __pyx_r;
14001 }
14002 
14003 /* Python wrapper */
14004 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)14005 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
14006   int __pyx_r;
14007   __Pyx_RefNannyDeclarations
14008   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
14009   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self), ((PyObject *)__pyx_v_value));
14010 
14011   /* function exit code */
14012   __Pyx_RefNannyFinishContext();
14013   return __pyx_r;
14014 }
14015 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self,PyObject * __pyx_v_value)14016 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self, PyObject *__pyx_v_value) {
14017   int __pyx_r;
14018   __Pyx_RefNannyDeclarations
14019   __Pyx_RefNannySetupContext("__set__", 0);
14020   __Pyx_INCREF(__pyx_v_value);
14021   __Pyx_GIVEREF(__pyx_v_value);
14022   __Pyx_GOTREF(__pyx_v_self->rhs);
14023   __Pyx_DECREF(__pyx_v_self->rhs);
14024   __pyx_v_self->rhs = __pyx_v_value;
14025 
14026   /* function exit code */
14027   __pyx_r = 0;
14028   __Pyx_RefNannyFinishContext();
14029   return __pyx_r;
14030 }
14031 
14032 /* Python wrapper */
14033 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs_5__del__(PyObject * __pyx_v_self)14034 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs_5__del__(PyObject *__pyx_v_self) {
14035   int __pyx_r;
14036   __Pyx_RefNannyDeclarations
14037   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
14038   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self));
14039 
14040   /* function exit code */
14041   __Pyx_RefNannyFinishContext();
14042   return __pyx_r;
14043 }
14044 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self)14045 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self) {
14046   int __pyx_r;
14047   __Pyx_RefNannyDeclarations
14048   __Pyx_RefNannySetupContext("__del__", 0);
14049   __Pyx_INCREF(Py_None);
14050   __Pyx_GIVEREF(Py_None);
14051   __Pyx_GOTREF(__pyx_v_self->rhs);
14052   __Pyx_DECREF(__pyx_v_self->rhs);
14053   __pyx_v_self->rhs = Py_None;
14054 
14055   /* function exit code */
14056   __pyx_r = 0;
14057   __Pyx_RefNannyFinishContext();
14058   return __pyx_r;
14059 }
14060 
14061 /* "Cython/Compiler/FlowControl.pxd":34
14062  *     cdef public object lhs
14063  *     cdef public object rhs
14064  *     cdef public object entry             # <<<<<<<<<<<<<<
14065  *     cdef public object pos
14066  *     cdef public set refs
14067  */
14068 
14069 /* Python wrapper */
14070 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry_1__get__(PyObject * __pyx_v_self)14071 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry_1__get__(PyObject *__pyx_v_self) {
14072   PyObject *__pyx_r = 0;
14073   __Pyx_RefNannyDeclarations
14074   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
14075   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self));
14076 
14077   /* function exit code */
14078   __Pyx_RefNannyFinishContext();
14079   return __pyx_r;
14080 }
14081 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self)14082 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self) {
14083   PyObject *__pyx_r = NULL;
14084   __Pyx_RefNannyDeclarations
14085   __Pyx_RefNannySetupContext("__get__", 0);
14086   __Pyx_XDECREF(__pyx_r);
14087   __Pyx_INCREF(__pyx_v_self->entry);
14088   __pyx_r = __pyx_v_self->entry;
14089   goto __pyx_L0;
14090 
14091   /* function exit code */
14092   __pyx_L0:;
14093   __Pyx_XGIVEREF(__pyx_r);
14094   __Pyx_RefNannyFinishContext();
14095   return __pyx_r;
14096 }
14097 
14098 /* Python wrapper */
14099 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)14100 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
14101   int __pyx_r;
14102   __Pyx_RefNannyDeclarations
14103   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
14104   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self), ((PyObject *)__pyx_v_value));
14105 
14106   /* function exit code */
14107   __Pyx_RefNannyFinishContext();
14108   return __pyx_r;
14109 }
14110 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self,PyObject * __pyx_v_value)14111 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self, PyObject *__pyx_v_value) {
14112   int __pyx_r;
14113   __Pyx_RefNannyDeclarations
14114   __Pyx_RefNannySetupContext("__set__", 0);
14115   __Pyx_INCREF(__pyx_v_value);
14116   __Pyx_GIVEREF(__pyx_v_value);
14117   __Pyx_GOTREF(__pyx_v_self->entry);
14118   __Pyx_DECREF(__pyx_v_self->entry);
14119   __pyx_v_self->entry = __pyx_v_value;
14120 
14121   /* function exit code */
14122   __pyx_r = 0;
14123   __Pyx_RefNannyFinishContext();
14124   return __pyx_r;
14125 }
14126 
14127 /* Python wrapper */
14128 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry_5__del__(PyObject * __pyx_v_self)14129 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry_5__del__(PyObject *__pyx_v_self) {
14130   int __pyx_r;
14131   __Pyx_RefNannyDeclarations
14132   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
14133   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self));
14134 
14135   /* function exit code */
14136   __Pyx_RefNannyFinishContext();
14137   return __pyx_r;
14138 }
14139 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self)14140 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self) {
14141   int __pyx_r;
14142   __Pyx_RefNannyDeclarations
14143   __Pyx_RefNannySetupContext("__del__", 0);
14144   __Pyx_INCREF(Py_None);
14145   __Pyx_GIVEREF(Py_None);
14146   __Pyx_GOTREF(__pyx_v_self->entry);
14147   __Pyx_DECREF(__pyx_v_self->entry);
14148   __pyx_v_self->entry = Py_None;
14149 
14150   /* function exit code */
14151   __pyx_r = 0;
14152   __Pyx_RefNannyFinishContext();
14153   return __pyx_r;
14154 }
14155 
14156 /* "Cython/Compiler/FlowControl.pxd":35
14157  *     cdef public object rhs
14158  *     cdef public object entry
14159  *     cdef public object pos             # <<<<<<<<<<<<<<
14160  *     cdef public set refs
14161  *     cdef public object bit
14162  */
14163 
14164 /* Python wrapper */
14165 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos_1__get__(PyObject * __pyx_v_self)14166 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos_1__get__(PyObject *__pyx_v_self) {
14167   PyObject *__pyx_r = 0;
14168   __Pyx_RefNannyDeclarations
14169   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
14170   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self));
14171 
14172   /* function exit code */
14173   __Pyx_RefNannyFinishContext();
14174   return __pyx_r;
14175 }
14176 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self)14177 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self) {
14178   PyObject *__pyx_r = NULL;
14179   __Pyx_RefNannyDeclarations
14180   __Pyx_RefNannySetupContext("__get__", 0);
14181   __Pyx_XDECREF(__pyx_r);
14182   __Pyx_INCREF(__pyx_v_self->pos);
14183   __pyx_r = __pyx_v_self->pos;
14184   goto __pyx_L0;
14185 
14186   /* function exit code */
14187   __pyx_L0:;
14188   __Pyx_XGIVEREF(__pyx_r);
14189   __Pyx_RefNannyFinishContext();
14190   return __pyx_r;
14191 }
14192 
14193 /* Python wrapper */
14194 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)14195 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
14196   int __pyx_r;
14197   __Pyx_RefNannyDeclarations
14198   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
14199   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self), ((PyObject *)__pyx_v_value));
14200 
14201   /* function exit code */
14202   __Pyx_RefNannyFinishContext();
14203   return __pyx_r;
14204 }
14205 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self,PyObject * __pyx_v_value)14206 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self, PyObject *__pyx_v_value) {
14207   int __pyx_r;
14208   __Pyx_RefNannyDeclarations
14209   __Pyx_RefNannySetupContext("__set__", 0);
14210   __Pyx_INCREF(__pyx_v_value);
14211   __Pyx_GIVEREF(__pyx_v_value);
14212   __Pyx_GOTREF(__pyx_v_self->pos);
14213   __Pyx_DECREF(__pyx_v_self->pos);
14214   __pyx_v_self->pos = __pyx_v_value;
14215 
14216   /* function exit code */
14217   __pyx_r = 0;
14218   __Pyx_RefNannyFinishContext();
14219   return __pyx_r;
14220 }
14221 
14222 /* Python wrapper */
14223 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos_5__del__(PyObject * __pyx_v_self)14224 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos_5__del__(PyObject *__pyx_v_self) {
14225   int __pyx_r;
14226   __Pyx_RefNannyDeclarations
14227   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
14228   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self));
14229 
14230   /* function exit code */
14231   __Pyx_RefNannyFinishContext();
14232   return __pyx_r;
14233 }
14234 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self)14235 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self) {
14236   int __pyx_r;
14237   __Pyx_RefNannyDeclarations
14238   __Pyx_RefNannySetupContext("__del__", 0);
14239   __Pyx_INCREF(Py_None);
14240   __Pyx_GIVEREF(Py_None);
14241   __Pyx_GOTREF(__pyx_v_self->pos);
14242   __Pyx_DECREF(__pyx_v_self->pos);
14243   __pyx_v_self->pos = Py_None;
14244 
14245   /* function exit code */
14246   __pyx_r = 0;
14247   __Pyx_RefNannyFinishContext();
14248   return __pyx_r;
14249 }
14250 
14251 /* "Cython/Compiler/FlowControl.pxd":36
14252  *     cdef public object entry
14253  *     cdef public object pos
14254  *     cdef public set refs             # <<<<<<<<<<<<<<
14255  *     cdef public object bit
14256  *     cdef public object inferred_type
14257  */
14258 
14259 /* Python wrapper */
14260 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs_1__get__(PyObject * __pyx_v_self)14261 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs_1__get__(PyObject *__pyx_v_self) {
14262   PyObject *__pyx_r = 0;
14263   __Pyx_RefNannyDeclarations
14264   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
14265   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self));
14266 
14267   /* function exit code */
14268   __Pyx_RefNannyFinishContext();
14269   return __pyx_r;
14270 }
14271 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self)14272 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self) {
14273   PyObject *__pyx_r = NULL;
14274   __Pyx_RefNannyDeclarations
14275   __Pyx_RefNannySetupContext("__get__", 0);
14276   __Pyx_XDECREF(__pyx_r);
14277   __Pyx_INCREF(__pyx_v_self->refs);
14278   __pyx_r = __pyx_v_self->refs;
14279   goto __pyx_L0;
14280 
14281   /* function exit code */
14282   __pyx_L0:;
14283   __Pyx_XGIVEREF(__pyx_r);
14284   __Pyx_RefNannyFinishContext();
14285   return __pyx_r;
14286 }
14287 
14288 /* Python wrapper */
14289 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)14290 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
14291   int __pyx_r;
14292   __Pyx_RefNannyDeclarations
14293   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
14294   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self), ((PyObject *)__pyx_v_value));
14295 
14296   /* function exit code */
14297   __Pyx_RefNannyFinishContext();
14298   return __pyx_r;
14299 }
14300 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self,PyObject * __pyx_v_value)14301 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self, PyObject *__pyx_v_value) {
14302   int __pyx_r;
14303   __Pyx_RefNannyDeclarations
14304   PyObject *__pyx_t_1 = NULL;
14305   int __pyx_lineno = 0;
14306   const char *__pyx_filename = NULL;
14307   int __pyx_clineno = 0;
14308   __Pyx_RefNannySetupContext("__set__", 0);
14309   if (!(likely(PySet_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 36, __pyx_L1_error)
14310   __pyx_t_1 = __pyx_v_value;
14311   __Pyx_INCREF(__pyx_t_1);
14312   __Pyx_GIVEREF(__pyx_t_1);
14313   __Pyx_GOTREF(__pyx_v_self->refs);
14314   __Pyx_DECREF(__pyx_v_self->refs);
14315   __pyx_v_self->refs = ((PyObject*)__pyx_t_1);
14316   __pyx_t_1 = 0;
14317 
14318   /* function exit code */
14319   __pyx_r = 0;
14320   goto __pyx_L0;
14321   __pyx_L1_error:;
14322   __Pyx_XDECREF(__pyx_t_1);
14323   __Pyx_AddTraceback("Cython.Compiler.FlowControl.NameAssignment.refs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
14324   __pyx_r = -1;
14325   __pyx_L0:;
14326   __Pyx_RefNannyFinishContext();
14327   return __pyx_r;
14328 }
14329 
14330 /* Python wrapper */
14331 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs_5__del__(PyObject * __pyx_v_self)14332 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs_5__del__(PyObject *__pyx_v_self) {
14333   int __pyx_r;
14334   __Pyx_RefNannyDeclarations
14335   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
14336   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self));
14337 
14338   /* function exit code */
14339   __Pyx_RefNannyFinishContext();
14340   return __pyx_r;
14341 }
14342 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self)14343 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self) {
14344   int __pyx_r;
14345   __Pyx_RefNannyDeclarations
14346   __Pyx_RefNannySetupContext("__del__", 0);
14347   __Pyx_INCREF(Py_None);
14348   __Pyx_GIVEREF(Py_None);
14349   __Pyx_GOTREF(__pyx_v_self->refs);
14350   __Pyx_DECREF(__pyx_v_self->refs);
14351   __pyx_v_self->refs = ((PyObject*)Py_None);
14352 
14353   /* function exit code */
14354   __pyx_r = 0;
14355   __Pyx_RefNannyFinishContext();
14356   return __pyx_r;
14357 }
14358 
14359 /* "Cython/Compiler/FlowControl.pxd":37
14360  *     cdef public object pos
14361  *     cdef public set refs
14362  *     cdef public object bit             # <<<<<<<<<<<<<<
14363  *     cdef public object inferred_type
14364  *
14365  */
14366 
14367 /* Python wrapper */
14368 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit_1__get__(PyObject * __pyx_v_self)14369 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit_1__get__(PyObject *__pyx_v_self) {
14370   PyObject *__pyx_r = 0;
14371   __Pyx_RefNannyDeclarations
14372   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
14373   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self));
14374 
14375   /* function exit code */
14376   __Pyx_RefNannyFinishContext();
14377   return __pyx_r;
14378 }
14379 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self)14380 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self) {
14381   PyObject *__pyx_r = NULL;
14382   __Pyx_RefNannyDeclarations
14383   __Pyx_RefNannySetupContext("__get__", 0);
14384   __Pyx_XDECREF(__pyx_r);
14385   __Pyx_INCREF(__pyx_v_self->bit);
14386   __pyx_r = __pyx_v_self->bit;
14387   goto __pyx_L0;
14388 
14389   /* function exit code */
14390   __pyx_L0:;
14391   __Pyx_XGIVEREF(__pyx_r);
14392   __Pyx_RefNannyFinishContext();
14393   return __pyx_r;
14394 }
14395 
14396 /* Python wrapper */
14397 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)14398 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
14399   int __pyx_r;
14400   __Pyx_RefNannyDeclarations
14401   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
14402   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self), ((PyObject *)__pyx_v_value));
14403 
14404   /* function exit code */
14405   __Pyx_RefNannyFinishContext();
14406   return __pyx_r;
14407 }
14408 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self,PyObject * __pyx_v_value)14409 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self, PyObject *__pyx_v_value) {
14410   int __pyx_r;
14411   __Pyx_RefNannyDeclarations
14412   __Pyx_RefNannySetupContext("__set__", 0);
14413   __Pyx_INCREF(__pyx_v_value);
14414   __Pyx_GIVEREF(__pyx_v_value);
14415   __Pyx_GOTREF(__pyx_v_self->bit);
14416   __Pyx_DECREF(__pyx_v_self->bit);
14417   __pyx_v_self->bit = __pyx_v_value;
14418 
14419   /* function exit code */
14420   __pyx_r = 0;
14421   __Pyx_RefNannyFinishContext();
14422   return __pyx_r;
14423 }
14424 
14425 /* Python wrapper */
14426 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit_5__del__(PyObject * __pyx_v_self)14427 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit_5__del__(PyObject *__pyx_v_self) {
14428   int __pyx_r;
14429   __Pyx_RefNannyDeclarations
14430   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
14431   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self));
14432 
14433   /* function exit code */
14434   __Pyx_RefNannyFinishContext();
14435   return __pyx_r;
14436 }
14437 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self)14438 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self) {
14439   int __pyx_r;
14440   __Pyx_RefNannyDeclarations
14441   __Pyx_RefNannySetupContext("__del__", 0);
14442   __Pyx_INCREF(Py_None);
14443   __Pyx_GIVEREF(Py_None);
14444   __Pyx_GOTREF(__pyx_v_self->bit);
14445   __Pyx_DECREF(__pyx_v_self->bit);
14446   __pyx_v_self->bit = Py_None;
14447 
14448   /* function exit code */
14449   __pyx_r = 0;
14450   __Pyx_RefNannyFinishContext();
14451   return __pyx_r;
14452 }
14453 
14454 /* "Cython/Compiler/FlowControl.pxd":38
14455  *     cdef public set refs
14456  *     cdef public object bit
14457  *     cdef public object inferred_type             # <<<<<<<<<<<<<<
14458  *
14459  * cdef class AssignmentList:
14460  */
14461 
14462 /* Python wrapper */
14463 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type_1__get__(PyObject * __pyx_v_self)14464 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type_1__get__(PyObject *__pyx_v_self) {
14465   PyObject *__pyx_r = 0;
14466   __Pyx_RefNannyDeclarations
14467   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
14468   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type___get__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self));
14469 
14470   /* function exit code */
14471   __Pyx_RefNannyFinishContext();
14472   return __pyx_r;
14473 }
14474 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self)14475 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type___get__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self) {
14476   PyObject *__pyx_r = NULL;
14477   __Pyx_RefNannyDeclarations
14478   __Pyx_RefNannySetupContext("__get__", 0);
14479   __Pyx_XDECREF(__pyx_r);
14480   __Pyx_INCREF(__pyx_v_self->inferred_type);
14481   __pyx_r = __pyx_v_self->inferred_type;
14482   goto __pyx_L0;
14483 
14484   /* function exit code */
14485   __pyx_L0:;
14486   __Pyx_XGIVEREF(__pyx_r);
14487   __Pyx_RefNannyFinishContext();
14488   return __pyx_r;
14489 }
14490 
14491 /* Python wrapper */
14492 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)14493 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
14494   int __pyx_r;
14495   __Pyx_RefNannyDeclarations
14496   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
14497   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type_2__set__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self), ((PyObject *)__pyx_v_value));
14498 
14499   /* function exit code */
14500   __Pyx_RefNannyFinishContext();
14501   return __pyx_r;
14502 }
14503 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self,PyObject * __pyx_v_value)14504 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type_2__set__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self, PyObject *__pyx_v_value) {
14505   int __pyx_r;
14506   __Pyx_RefNannyDeclarations
14507   __Pyx_RefNannySetupContext("__set__", 0);
14508   __Pyx_INCREF(__pyx_v_value);
14509   __Pyx_GIVEREF(__pyx_v_value);
14510   __Pyx_GOTREF(__pyx_v_self->inferred_type);
14511   __Pyx_DECREF(__pyx_v_self->inferred_type);
14512   __pyx_v_self->inferred_type = __pyx_v_value;
14513 
14514   /* function exit code */
14515   __pyx_r = 0;
14516   __Pyx_RefNannyFinishContext();
14517   return __pyx_r;
14518 }
14519 
14520 /* Python wrapper */
14521 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type_5__del__(PyObject * __pyx_v_self)14522 static int __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type_5__del__(PyObject *__pyx_v_self) {
14523   int __pyx_r;
14524   __Pyx_RefNannyDeclarations
14525   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
14526   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type_4__del__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self));
14527 
14528   /* function exit code */
14529   __Pyx_RefNannyFinishContext();
14530   return __pyx_r;
14531 }
14532 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self)14533 static int __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type_4__del__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self) {
14534   int __pyx_r;
14535   __Pyx_RefNannyDeclarations
14536   __Pyx_RefNannySetupContext("__del__", 0);
14537   __Pyx_INCREF(Py_None);
14538   __Pyx_GIVEREF(Py_None);
14539   __Pyx_GOTREF(__pyx_v_self->inferred_type);
14540   __Pyx_DECREF(__pyx_v_self->inferred_type);
14541   __pyx_v_self->inferred_type = Py_None;
14542 
14543   /* function exit code */
14544   __pyx_r = 0;
14545   __Pyx_RefNannyFinishContext();
14546   return __pyx_r;
14547 }
14548 
14549 /* "(tree fragment)":1
14550  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
14551  *     cdef tuple state
14552  *     cdef object _dict
14553  */
14554 
14555 /* Python wrapper */
14556 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
14557 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_14NameAssignment_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_9__reduce_cython__, METH_NOARGS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_9__reduce_cython__(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)14558 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
14559   PyObject *__pyx_r = 0;
14560   __Pyx_RefNannyDeclarations
14561   __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
14562   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_8__reduce_cython__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self));
14563 
14564   /* function exit code */
14565   __Pyx_RefNannyFinishContext();
14566   return __pyx_r;
14567 }
14568 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_8__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self)14569 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_8__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self) {
14570   PyObject *__pyx_v_state = 0;
14571   PyObject *__pyx_v__dict = 0;
14572   int __pyx_v_use_setstate;
14573   PyObject *__pyx_r = NULL;
14574   __Pyx_RefNannyDeclarations
14575   PyObject *__pyx_t_1 = NULL;
14576   PyObject *__pyx_t_2 = NULL;
14577   PyObject *__pyx_t_3 = NULL;
14578   int __pyx_t_4;
14579   int __pyx_t_5;
14580   int __pyx_t_6;
14581   int __pyx_lineno = 0;
14582   const char *__pyx_filename = NULL;
14583   int __pyx_clineno = 0;
14584   __Pyx_RefNannySetupContext("__reduce_cython__", 0);
14585 
14586   /* "(tree fragment)":5
14587  *     cdef object _dict
14588  *     cdef bint use_setstate
14589  *     state = (self.bit, self.entry, self.inferred_type, self.is_arg, self.is_deletion, self.lhs, self.pos, self.refs, self.rhs)             # <<<<<<<<<<<<<<
14590  *     _dict = getattr(self, '__dict__', None)
14591  *     if _dict is not None:
14592  */
14593   __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->is_arg); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error)
14594   __Pyx_GOTREF(__pyx_t_1);
14595   __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_self->is_deletion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
14596   __Pyx_GOTREF(__pyx_t_2);
14597   __pyx_t_3 = PyTuple_New(9); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
14598   __Pyx_GOTREF(__pyx_t_3);
14599   __Pyx_INCREF(__pyx_v_self->bit);
14600   __Pyx_GIVEREF(__pyx_v_self->bit);
14601   PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_self->bit);
14602   __Pyx_INCREF(__pyx_v_self->entry);
14603   __Pyx_GIVEREF(__pyx_v_self->entry);
14604   PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self->entry);
14605   __Pyx_INCREF(__pyx_v_self->inferred_type);
14606   __Pyx_GIVEREF(__pyx_v_self->inferred_type);
14607   PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_self->inferred_type);
14608   __Pyx_GIVEREF(__pyx_t_1);
14609   PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_t_1);
14610   __Pyx_GIVEREF(__pyx_t_2);
14611   PyTuple_SET_ITEM(__pyx_t_3, 4, __pyx_t_2);
14612   __Pyx_INCREF(__pyx_v_self->lhs);
14613   __Pyx_GIVEREF(__pyx_v_self->lhs);
14614   PyTuple_SET_ITEM(__pyx_t_3, 5, __pyx_v_self->lhs);
14615   __Pyx_INCREF(__pyx_v_self->pos);
14616   __Pyx_GIVEREF(__pyx_v_self->pos);
14617   PyTuple_SET_ITEM(__pyx_t_3, 6, __pyx_v_self->pos);
14618   __Pyx_INCREF(__pyx_v_self->refs);
14619   __Pyx_GIVEREF(__pyx_v_self->refs);
14620   PyTuple_SET_ITEM(__pyx_t_3, 7, __pyx_v_self->refs);
14621   __Pyx_INCREF(__pyx_v_self->rhs);
14622   __Pyx_GIVEREF(__pyx_v_self->rhs);
14623   PyTuple_SET_ITEM(__pyx_t_3, 8, __pyx_v_self->rhs);
14624   __pyx_t_1 = 0;
14625   __pyx_t_2 = 0;
14626   __pyx_v_state = ((PyObject*)__pyx_t_3);
14627   __pyx_t_3 = 0;
14628 
14629   /* "(tree fragment)":6
14630  *     cdef bint use_setstate
14631  *     state = (self.bit, self.entry, self.inferred_type, self.is_arg, self.is_deletion, self.lhs, self.pos, self.refs, self.rhs)
14632  *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
14633  *     if _dict is not None:
14634  *         state += (_dict,)
14635  */
14636   __pyx_t_3 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6, __pyx_L1_error)
14637   __Pyx_GOTREF(__pyx_t_3);
14638   __pyx_v__dict = __pyx_t_3;
14639   __pyx_t_3 = 0;
14640 
14641   /* "(tree fragment)":7
14642  *     state = (self.bit, self.entry, self.inferred_type, self.is_arg, self.is_deletion, self.lhs, self.pos, self.refs, self.rhs)
14643  *     _dict = getattr(self, '__dict__', None)
14644  *     if _dict is not None:             # <<<<<<<<<<<<<<
14645  *         state += (_dict,)
14646  *         use_setstate = True
14647  */
14648   __pyx_t_4 = (__pyx_v__dict != Py_None);
14649   __pyx_t_5 = (__pyx_t_4 != 0);
14650   if (__pyx_t_5) {
14651 
14652     /* "(tree fragment)":8
14653  *     _dict = getattr(self, '__dict__', None)
14654  *     if _dict is not None:
14655  *         state += (_dict,)             # <<<<<<<<<<<<<<
14656  *         use_setstate = True
14657  *     else:
14658  */
14659     __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8, __pyx_L1_error)
14660     __Pyx_GOTREF(__pyx_t_3);
14661     __Pyx_INCREF(__pyx_v__dict);
14662     __Pyx_GIVEREF(__pyx_v__dict);
14663     PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v__dict);
14664     __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8, __pyx_L1_error)
14665     __Pyx_GOTREF(__pyx_t_2);
14666     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
14667     __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_2));
14668     __pyx_t_2 = 0;
14669 
14670     /* "(tree fragment)":9
14671  *     if _dict is not None:
14672  *         state += (_dict,)
14673  *         use_setstate = True             # <<<<<<<<<<<<<<
14674  *     else:
14675  *         use_setstate = self.bit is not None or self.entry is not None or self.inferred_type is not None or self.lhs is not None or self.pos is not None or self.refs is not None or self.rhs is not None
14676  */
14677     __pyx_v_use_setstate = 1;
14678 
14679     /* "(tree fragment)":7
14680  *     state = (self.bit, self.entry, self.inferred_type, self.is_arg, self.is_deletion, self.lhs, self.pos, self.refs, self.rhs)
14681  *     _dict = getattr(self, '__dict__', None)
14682  *     if _dict is not None:             # <<<<<<<<<<<<<<
14683  *         state += (_dict,)
14684  *         use_setstate = True
14685  */
14686     goto __pyx_L3;
14687   }
14688 
14689   /* "(tree fragment)":11
14690  *         use_setstate = True
14691  *     else:
14692  *         use_setstate = self.bit is not None or self.entry is not None or self.inferred_type is not None or self.lhs is not None or self.pos is not None or self.refs is not None or self.rhs is not None             # <<<<<<<<<<<<<<
14693  *     if use_setstate:
14694  *         return __pyx_unpickle_NameAssignment, (type(self), 0x13117fb, None), state
14695  */
14696   /*else*/ {
14697     __pyx_t_4 = (__pyx_v_self->bit != Py_None);
14698     __pyx_t_6 = (__pyx_t_4 != 0);
14699     if (!__pyx_t_6) {
14700     } else {
14701       __pyx_t_5 = __pyx_t_6;
14702       goto __pyx_L4_bool_binop_done;
14703     }
14704     __pyx_t_6 = (__pyx_v_self->entry != Py_None);
14705     __pyx_t_4 = (__pyx_t_6 != 0);
14706     if (!__pyx_t_4) {
14707     } else {
14708       __pyx_t_5 = __pyx_t_4;
14709       goto __pyx_L4_bool_binop_done;
14710     }
14711     __pyx_t_4 = (__pyx_v_self->inferred_type != Py_None);
14712     __pyx_t_6 = (__pyx_t_4 != 0);
14713     if (!__pyx_t_6) {
14714     } else {
14715       __pyx_t_5 = __pyx_t_6;
14716       goto __pyx_L4_bool_binop_done;
14717     }
14718     __pyx_t_6 = (__pyx_v_self->lhs != Py_None);
14719     __pyx_t_4 = (__pyx_t_6 != 0);
14720     if (!__pyx_t_4) {
14721     } else {
14722       __pyx_t_5 = __pyx_t_4;
14723       goto __pyx_L4_bool_binop_done;
14724     }
14725     __pyx_t_4 = (__pyx_v_self->pos != Py_None);
14726     __pyx_t_6 = (__pyx_t_4 != 0);
14727     if (!__pyx_t_6) {
14728     } else {
14729       __pyx_t_5 = __pyx_t_6;
14730       goto __pyx_L4_bool_binop_done;
14731     }
14732     __pyx_t_6 = (__pyx_v_self->refs != ((PyObject*)Py_None));
14733     __pyx_t_4 = (__pyx_t_6 != 0);
14734     if (!__pyx_t_4) {
14735     } else {
14736       __pyx_t_5 = __pyx_t_4;
14737       goto __pyx_L4_bool_binop_done;
14738     }
14739     __pyx_t_4 = (__pyx_v_self->rhs != Py_None);
14740     __pyx_t_6 = (__pyx_t_4 != 0);
14741     __pyx_t_5 = __pyx_t_6;
14742     __pyx_L4_bool_binop_done:;
14743     __pyx_v_use_setstate = __pyx_t_5;
14744   }
14745   __pyx_L3:;
14746 
14747   /* "(tree fragment)":12
14748  *     else:
14749  *         use_setstate = self.bit is not None or self.entry is not None or self.inferred_type is not None or self.lhs is not None or self.pos is not None or self.refs is not None or self.rhs is not None
14750  *     if use_setstate:             # <<<<<<<<<<<<<<
14751  *         return __pyx_unpickle_NameAssignment, (type(self), 0x13117fb, None), state
14752  *     else:
14753  */
14754   __pyx_t_5 = (__pyx_v_use_setstate != 0);
14755   if (__pyx_t_5) {
14756 
14757     /* "(tree fragment)":13
14758  *         use_setstate = self.bit is not None or self.entry is not None or self.inferred_type is not None or self.lhs is not None or self.pos is not None or self.refs is not None or self.rhs is not None
14759  *     if use_setstate:
14760  *         return __pyx_unpickle_NameAssignment, (type(self), 0x13117fb, None), state             # <<<<<<<<<<<<<<
14761  *     else:
14762  *         return __pyx_unpickle_NameAssignment, (type(self), 0x13117fb, state)
14763  */
14764     __Pyx_XDECREF(__pyx_r);
14765     __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pyx_unpickle_NameAssignment); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 13, __pyx_L1_error)
14766     __Pyx_GOTREF(__pyx_t_2);
14767     __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 13, __pyx_L1_error)
14768     __Pyx_GOTREF(__pyx_t_3);
14769     __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
14770     __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
14771     PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
14772     __Pyx_INCREF(__pyx_int_19994619);
14773     __Pyx_GIVEREF(__pyx_int_19994619);
14774     PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_19994619);
14775     __Pyx_INCREF(Py_None);
14776     __Pyx_GIVEREF(Py_None);
14777     PyTuple_SET_ITEM(__pyx_t_3, 2, Py_None);
14778     __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error)
14779     __Pyx_GOTREF(__pyx_t_1);
14780     __Pyx_GIVEREF(__pyx_t_2);
14781     PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
14782     __Pyx_GIVEREF(__pyx_t_3);
14783     PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3);
14784     __Pyx_INCREF(__pyx_v_state);
14785     __Pyx_GIVEREF(__pyx_v_state);
14786     PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
14787     __pyx_t_2 = 0;
14788     __pyx_t_3 = 0;
14789     __pyx_r = __pyx_t_1;
14790     __pyx_t_1 = 0;
14791     goto __pyx_L0;
14792 
14793     /* "(tree fragment)":12
14794  *     else:
14795  *         use_setstate = self.bit is not None or self.entry is not None or self.inferred_type is not None or self.lhs is not None or self.pos is not None or self.refs is not None or self.rhs is not None
14796  *     if use_setstate:             # <<<<<<<<<<<<<<
14797  *         return __pyx_unpickle_NameAssignment, (type(self), 0x13117fb, None), state
14798  *     else:
14799  */
14800   }
14801 
14802   /* "(tree fragment)":15
14803  *         return __pyx_unpickle_NameAssignment, (type(self), 0x13117fb, None), state
14804  *     else:
14805  *         return __pyx_unpickle_NameAssignment, (type(self), 0x13117fb, state)             # <<<<<<<<<<<<<<
14806  * def __setstate_cython__(self, __pyx_state):
14807  *     __pyx_unpickle_NameAssignment__set_state(self, __pyx_state)
14808  */
14809   /*else*/ {
14810     __Pyx_XDECREF(__pyx_r);
14811     __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pyx_unpickle_NameAssignment); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error)
14812     __Pyx_GOTREF(__pyx_t_1);
14813     __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 15, __pyx_L1_error)
14814     __Pyx_GOTREF(__pyx_t_3);
14815     __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
14816     __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
14817     PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
14818     __Pyx_INCREF(__pyx_int_19994619);
14819     __Pyx_GIVEREF(__pyx_int_19994619);
14820     PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_19994619);
14821     __Pyx_INCREF(__pyx_v_state);
14822     __Pyx_GIVEREF(__pyx_v_state);
14823     PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_state);
14824     __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 15, __pyx_L1_error)
14825     __Pyx_GOTREF(__pyx_t_2);
14826     __Pyx_GIVEREF(__pyx_t_1);
14827     PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
14828     __Pyx_GIVEREF(__pyx_t_3);
14829     PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3);
14830     __pyx_t_1 = 0;
14831     __pyx_t_3 = 0;
14832     __pyx_r = __pyx_t_2;
14833     __pyx_t_2 = 0;
14834     goto __pyx_L0;
14835   }
14836 
14837   /* "(tree fragment)":1
14838  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
14839  *     cdef tuple state
14840  *     cdef object _dict
14841  */
14842 
14843   /* function exit code */
14844   __pyx_L1_error:;
14845   __Pyx_XDECREF(__pyx_t_1);
14846   __Pyx_XDECREF(__pyx_t_2);
14847   __Pyx_XDECREF(__pyx_t_3);
14848   __Pyx_AddTraceback("Cython.Compiler.FlowControl.NameAssignment.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
14849   __pyx_r = NULL;
14850   __pyx_L0:;
14851   __Pyx_XDECREF(__pyx_v_state);
14852   __Pyx_XDECREF(__pyx_v__dict);
14853   __Pyx_XGIVEREF(__pyx_r);
14854   __Pyx_RefNannyFinishContext();
14855   return __pyx_r;
14856 }
14857 
14858 /* "(tree fragment)":16
14859  *     else:
14860  *         return __pyx_unpickle_NameAssignment, (type(self), 0x13117fb, state)
14861  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
14862  *     __pyx_unpickle_NameAssignment__set_state(self, __pyx_state)
14863  */
14864 
14865 /* Python wrapper */
14866 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
14867 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_14NameAssignment_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_11__setstate_cython__, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_11__setstate_cython__(PyObject * __pyx_v_self,PyObject * __pyx_v___pyx_state)14868 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
14869   PyObject *__pyx_r = 0;
14870   __Pyx_RefNannyDeclarations
14871   __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
14872   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_10__setstate_cython__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
14873 
14874   /* function exit code */
14875   __Pyx_RefNannyFinishContext();
14876   return __pyx_r;
14877 }
14878 
__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_10__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v_self,PyObject * __pyx_v___pyx_state)14879 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14NameAssignment_10__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
14880   PyObject *__pyx_r = NULL;
14881   __Pyx_RefNannyDeclarations
14882   PyObject *__pyx_t_1 = NULL;
14883   int __pyx_lineno = 0;
14884   const char *__pyx_filename = NULL;
14885   int __pyx_clineno = 0;
14886   __Pyx_RefNannySetupContext("__setstate_cython__", 0);
14887 
14888   /* "(tree fragment)":17
14889  *         return __pyx_unpickle_NameAssignment, (type(self), 0x13117fb, state)
14890  * def __setstate_cython__(self, __pyx_state):
14891  *     __pyx_unpickle_NameAssignment__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
14892  */
14893   if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 17, __pyx_L1_error)
14894   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_NameAssignment__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 17, __pyx_L1_error)
14895   __Pyx_GOTREF(__pyx_t_1);
14896   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
14897 
14898   /* "(tree fragment)":16
14899  *     else:
14900  *         return __pyx_unpickle_NameAssignment, (type(self), 0x13117fb, state)
14901  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
14902  *     __pyx_unpickle_NameAssignment__set_state(self, __pyx_state)
14903  */
14904 
14905   /* function exit code */
14906   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
14907   goto __pyx_L0;
14908   __pyx_L1_error:;
14909   __Pyx_XDECREF(__pyx_t_1);
14910   __Pyx_AddTraceback("Cython.Compiler.FlowControl.NameAssignment.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
14911   __pyx_r = NULL;
14912   __pyx_L0:;
14913   __Pyx_XGIVEREF(__pyx_r);
14914   __Pyx_RefNannyFinishContext();
14915   return __pyx_r;
14916 }
14917 
14918 /* "Cython/Compiler/FlowControl.py":347
14919  * class StaticAssignment(NameAssignment):
14920  *     """Initialised at declaration time, e.g. stack allocation."""
14921  *     def __init__(self, entry):             # <<<<<<<<<<<<<<
14922  *         if not entry.type.is_pyobject:
14923  *             may_be_none = False
14924  */
14925 
14926 /* Python wrapper */
14927 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_16StaticAssignment_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
14928 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_16StaticAssignment_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_16StaticAssignment_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_16StaticAssignment_1__init__(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)14929 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_16StaticAssignment_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
14930   PyObject *__pyx_v_self = 0;
14931   PyObject *__pyx_v_entry = 0;
14932   int __pyx_lineno = 0;
14933   const char *__pyx_filename = NULL;
14934   int __pyx_clineno = 0;
14935   PyObject *__pyx_r = 0;
14936   __Pyx_RefNannyDeclarations
14937   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
14938   {
14939     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_entry,0};
14940     PyObject* values[2] = {0,0};
14941     if (unlikely(__pyx_kwds)) {
14942       Py_ssize_t kw_args;
14943       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
14944       switch (pos_args) {
14945         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
14946         CYTHON_FALLTHROUGH;
14947         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
14948         CYTHON_FALLTHROUGH;
14949         case  0: break;
14950         default: goto __pyx_L5_argtuple_error;
14951       }
14952       kw_args = PyDict_Size(__pyx_kwds);
14953       switch (pos_args) {
14954         case  0:
14955         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
14956         else goto __pyx_L5_argtuple_error;
14957         CYTHON_FALLTHROUGH;
14958         case  1:
14959         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
14960         else {
14961           __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 347, __pyx_L3_error)
14962         }
14963       }
14964       if (unlikely(kw_args > 0)) {
14965         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 347, __pyx_L3_error)
14966       }
14967     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
14968       goto __pyx_L5_argtuple_error;
14969     } else {
14970       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
14971       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
14972     }
14973     __pyx_v_self = values[0];
14974     __pyx_v_entry = values[1];
14975   }
14976   goto __pyx_L4_argument_unpacking_done;
14977   __pyx_L5_argtuple_error:;
14978   __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 347, __pyx_L3_error)
14979   __pyx_L3_error:;
14980   __Pyx_AddTraceback("Cython.Compiler.FlowControl.StaticAssignment.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
14981   __Pyx_RefNannyFinishContext();
14982   return NULL;
14983   __pyx_L4_argument_unpacking_done:;
14984   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_16StaticAssignment___init__(__pyx_self, __pyx_v_self, __pyx_v_entry);
14985 
14986   /* function exit code */
14987   __Pyx_RefNannyFinishContext();
14988   return __pyx_r;
14989 }
14990 
__pyx_pf_6Cython_8Compiler_11FlowControl_16StaticAssignment___init__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_entry)14991 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_16StaticAssignment___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry) {
14992   PyObject *__pyx_v_may_be_none = NULL;
14993   PyObject *__pyx_v_lhs = NULL;
14994   PyObject *__pyx_r = NULL;
14995   __Pyx_RefNannyDeclarations
14996   PyObject *__pyx_t_1 = NULL;
14997   PyObject *__pyx_t_2 = NULL;
14998   int __pyx_t_3;
14999   int __pyx_t_4;
15000   PyObject *__pyx_t_5 = NULL;
15001   int __pyx_t_6;
15002   PyObject *__pyx_t_7 = NULL;
15003   int __pyx_lineno = 0;
15004   const char *__pyx_filename = NULL;
15005   int __pyx_clineno = 0;
15006   __Pyx_RefNannySetupContext("__init__", 0);
15007 
15008   /* "Cython/Compiler/FlowControl.py":348
15009  *     """Initialised at declaration time, e.g. stack allocation."""
15010  *     def __init__(self, entry):
15011  *         if not entry.type.is_pyobject:             # <<<<<<<<<<<<<<
15012  *             may_be_none = False
15013  *         else:
15014  */
15015   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 348, __pyx_L1_error)
15016   __Pyx_GOTREF(__pyx_t_1);
15017   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_is_pyobject); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 348, __pyx_L1_error)
15018   __Pyx_GOTREF(__pyx_t_2);
15019   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
15020   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 348, __pyx_L1_error)
15021   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
15022   __pyx_t_4 = ((!__pyx_t_3) != 0);
15023   if (__pyx_t_4) {
15024 
15025     /* "Cython/Compiler/FlowControl.py":349
15026  *     def __init__(self, entry):
15027  *         if not entry.type.is_pyobject:
15028  *             may_be_none = False             # <<<<<<<<<<<<<<
15029  *         else:
15030  *             may_be_none = None  # unknown
15031  */
15032     __Pyx_INCREF(Py_False);
15033     __pyx_v_may_be_none = Py_False;
15034 
15035     /* "Cython/Compiler/FlowControl.py":348
15036  *     """Initialised at declaration time, e.g. stack allocation."""
15037  *     def __init__(self, entry):
15038  *         if not entry.type.is_pyobject:             # <<<<<<<<<<<<<<
15039  *             may_be_none = False
15040  *         else:
15041  */
15042     goto __pyx_L3;
15043   }
15044 
15045   /* "Cython/Compiler/FlowControl.py":351
15046  *             may_be_none = False
15047  *         else:
15048  *             may_be_none = None  # unknown             # <<<<<<<<<<<<<<
15049  *         lhs = TypedExprNode(
15050  *             entry.type, may_be_none=may_be_none, pos=entry.pos)
15051  */
15052   /*else*/ {
15053     __Pyx_INCREF(Py_None);
15054     __pyx_v_may_be_none = Py_None;
15055   }
15056   __pyx_L3:;
15057 
15058   /* "Cython/Compiler/FlowControl.py":353
15059  *             may_be_none = None  # unknown
15060  *         lhs = TypedExprNode(
15061  *             entry.type, may_be_none=may_be_none, pos=entry.pos)             # <<<<<<<<<<<<<<
15062  *         super(StaticAssignment, self).__init__(lhs, lhs, entry)
15063  *
15064  */
15065   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 353, __pyx_L1_error)
15066   __Pyx_GOTREF(__pyx_t_2);
15067 
15068   /* "Cython/Compiler/FlowControl.py":352
15069  *         else:
15070  *             may_be_none = None  # unknown
15071  *         lhs = TypedExprNode(             # <<<<<<<<<<<<<<
15072  *             entry.type, may_be_none=may_be_none, pos=entry.pos)
15073  *         super(StaticAssignment, self).__init__(lhs, lhs, entry)
15074  */
15075   __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 352, __pyx_L1_error)
15076   __Pyx_GOTREF(__pyx_t_1);
15077   __Pyx_GIVEREF(__pyx_t_2);
15078   PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
15079   __pyx_t_2 = 0;
15080 
15081   /* "Cython/Compiler/FlowControl.py":353
15082  *             may_be_none = None  # unknown
15083  *         lhs = TypedExprNode(
15084  *             entry.type, may_be_none=may_be_none, pos=entry.pos)             # <<<<<<<<<<<<<<
15085  *         super(StaticAssignment, self).__init__(lhs, lhs, entry)
15086  *
15087  */
15088   __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 353, __pyx_L1_error)
15089   __Pyx_GOTREF(__pyx_t_2);
15090   if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_may_be_none, __pyx_v_may_be_none) < 0) __PYX_ERR(0, 353, __pyx_L1_error)
15091   __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_pos); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 353, __pyx_L1_error)
15092   __Pyx_GOTREF(__pyx_t_5);
15093   if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_pos, __pyx_t_5) < 0) __PYX_ERR(0, 353, __pyx_L1_error)
15094   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
15095 
15096   /* "Cython/Compiler/FlowControl.py":352
15097  *         else:
15098  *             may_be_none = None  # unknown
15099  *         lhs = TypedExprNode(             # <<<<<<<<<<<<<<
15100  *             entry.type, may_be_none=may_be_none, pos=entry.pos)
15101  *         super(StaticAssignment, self).__init__(lhs, lhs, entry)
15102  */
15103   __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v_6Cython_8Compiler_11FlowControl_TypedExprNode, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 352, __pyx_L1_error)
15104   __Pyx_GOTREF(__pyx_t_5);
15105   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
15106   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
15107   __pyx_v_lhs = __pyx_t_5;
15108   __pyx_t_5 = 0;
15109 
15110   /* "Cython/Compiler/FlowControl.py":354
15111  *         lhs = TypedExprNode(
15112  *             entry.type, may_be_none=may_be_none, pos=entry.pos)
15113  *         super(StaticAssignment, self).__init__(lhs, lhs, entry)             # <<<<<<<<<<<<<<
15114  *
15115  *     def infer_type(self):
15116  */
15117   __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_StaticAssignment); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 354, __pyx_L1_error)
15118   __Pyx_GOTREF(__pyx_t_2);
15119   __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 354, __pyx_L1_error)
15120   __Pyx_GOTREF(__pyx_t_1);
15121   __Pyx_GIVEREF(__pyx_t_2);
15122   PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
15123   __Pyx_INCREF(__pyx_v_self);
15124   __Pyx_GIVEREF(__pyx_v_self);
15125   PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self);
15126   __pyx_t_2 = 0;
15127   __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 354, __pyx_L1_error)
15128   __Pyx_GOTREF(__pyx_t_2);
15129   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
15130   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 354, __pyx_L1_error)
15131   __Pyx_GOTREF(__pyx_t_1);
15132   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
15133   __pyx_t_2 = NULL;
15134   __pyx_t_6 = 0;
15135   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
15136     __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
15137     if (likely(__pyx_t_2)) {
15138       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
15139       __Pyx_INCREF(__pyx_t_2);
15140       __Pyx_INCREF(function);
15141       __Pyx_DECREF_SET(__pyx_t_1, function);
15142       __pyx_t_6 = 1;
15143     }
15144   }
15145   #if CYTHON_FAST_PYCALL
15146   if (PyFunction_Check(__pyx_t_1)) {
15147     PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_v_lhs, __pyx_v_lhs, __pyx_v_entry};
15148     __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 354, __pyx_L1_error)
15149     __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
15150     __Pyx_GOTREF(__pyx_t_5);
15151   } else
15152   #endif
15153   #if CYTHON_FAST_PYCCALL
15154   if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
15155     PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_v_lhs, __pyx_v_lhs, __pyx_v_entry};
15156     __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 354, __pyx_L1_error)
15157     __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
15158     __Pyx_GOTREF(__pyx_t_5);
15159   } else
15160   #endif
15161   {
15162     __pyx_t_7 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 354, __pyx_L1_error)
15163     __Pyx_GOTREF(__pyx_t_7);
15164     if (__pyx_t_2) {
15165       __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2); __pyx_t_2 = NULL;
15166     }
15167     __Pyx_INCREF(__pyx_v_lhs);
15168     __Pyx_GIVEREF(__pyx_v_lhs);
15169     PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_lhs);
15170     __Pyx_INCREF(__pyx_v_lhs);
15171     __Pyx_GIVEREF(__pyx_v_lhs);
15172     PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_lhs);
15173     __Pyx_INCREF(__pyx_v_entry);
15174     __Pyx_GIVEREF(__pyx_v_entry);
15175     PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_v_entry);
15176     __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 354, __pyx_L1_error)
15177     __Pyx_GOTREF(__pyx_t_5);
15178     __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
15179   }
15180   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
15181   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
15182 
15183   /* "Cython/Compiler/FlowControl.py":347
15184  * class StaticAssignment(NameAssignment):
15185  *     """Initialised at declaration time, e.g. stack allocation."""
15186  *     def __init__(self, entry):             # <<<<<<<<<<<<<<
15187  *         if not entry.type.is_pyobject:
15188  *             may_be_none = False
15189  */
15190 
15191   /* function exit code */
15192   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
15193   goto __pyx_L0;
15194   __pyx_L1_error:;
15195   __Pyx_XDECREF(__pyx_t_1);
15196   __Pyx_XDECREF(__pyx_t_2);
15197   __Pyx_XDECREF(__pyx_t_5);
15198   __Pyx_XDECREF(__pyx_t_7);
15199   __Pyx_AddTraceback("Cython.Compiler.FlowControl.StaticAssignment.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
15200   __pyx_r = NULL;
15201   __pyx_L0:;
15202   __Pyx_XDECREF(__pyx_v_may_be_none);
15203   __Pyx_XDECREF(__pyx_v_lhs);
15204   __Pyx_XGIVEREF(__pyx_r);
15205   __Pyx_RefNannyFinishContext();
15206   return __pyx_r;
15207 }
15208 
15209 /* "Cython/Compiler/FlowControl.py":356
15210  *         super(StaticAssignment, self).__init__(lhs, lhs, entry)
15211  *
15212  *     def infer_type(self):             # <<<<<<<<<<<<<<
15213  *         return self.entry.type
15214  *
15215  */
15216 
15217 /* Python wrapper */
15218 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_16StaticAssignment_3infer_type(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
15219 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_16StaticAssignment_3infer_type = {"infer_type", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_16StaticAssignment_3infer_type, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_16StaticAssignment_3infer_type(PyObject * __pyx_self,PyObject * __pyx_v_self)15220 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_16StaticAssignment_3infer_type(PyObject *__pyx_self, PyObject *__pyx_v_self) {
15221   PyObject *__pyx_r = 0;
15222   __Pyx_RefNannyDeclarations
15223   __Pyx_RefNannySetupContext("infer_type (wrapper)", 0);
15224   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_16StaticAssignment_2infer_type(__pyx_self, ((PyObject *)__pyx_v_self));
15225 
15226   /* function exit code */
15227   __Pyx_RefNannyFinishContext();
15228   return __pyx_r;
15229 }
15230 
__pyx_pf_6Cython_8Compiler_11FlowControl_16StaticAssignment_2infer_type(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self)15231 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_16StaticAssignment_2infer_type(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
15232   PyObject *__pyx_r = NULL;
15233   __Pyx_RefNannyDeclarations
15234   PyObject *__pyx_t_1 = NULL;
15235   PyObject *__pyx_t_2 = NULL;
15236   int __pyx_lineno = 0;
15237   const char *__pyx_filename = NULL;
15238   int __pyx_clineno = 0;
15239   __Pyx_RefNannySetupContext("infer_type", 0);
15240 
15241   /* "Cython/Compiler/FlowControl.py":357
15242  *
15243  *     def infer_type(self):
15244  *         return self.entry.type             # <<<<<<<<<<<<<<
15245  *
15246  *     def type_dependencies(self):
15247  */
15248   __Pyx_XDECREF(__pyx_r);
15249   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_entry); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 357, __pyx_L1_error)
15250   __Pyx_GOTREF(__pyx_t_1);
15251   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 357, __pyx_L1_error)
15252   __Pyx_GOTREF(__pyx_t_2);
15253   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
15254   __pyx_r = __pyx_t_2;
15255   __pyx_t_2 = 0;
15256   goto __pyx_L0;
15257 
15258   /* "Cython/Compiler/FlowControl.py":356
15259  *         super(StaticAssignment, self).__init__(lhs, lhs, entry)
15260  *
15261  *     def infer_type(self):             # <<<<<<<<<<<<<<
15262  *         return self.entry.type
15263  *
15264  */
15265 
15266   /* function exit code */
15267   __pyx_L1_error:;
15268   __Pyx_XDECREF(__pyx_t_1);
15269   __Pyx_XDECREF(__pyx_t_2);
15270   __Pyx_AddTraceback("Cython.Compiler.FlowControl.StaticAssignment.infer_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
15271   __pyx_r = NULL;
15272   __pyx_L0:;
15273   __Pyx_XGIVEREF(__pyx_r);
15274   __Pyx_RefNannyFinishContext();
15275   return __pyx_r;
15276 }
15277 
15278 /* "Cython/Compiler/FlowControl.py":359
15279  *         return self.entry.type
15280  *
15281  *     def type_dependencies(self):             # <<<<<<<<<<<<<<
15282  *         return ()
15283  *
15284  */
15285 
15286 /* Python wrapper */
15287 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_16StaticAssignment_5type_dependencies(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
15288 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_16StaticAssignment_5type_dependencies = {"type_dependencies", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_16StaticAssignment_5type_dependencies, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_16StaticAssignment_5type_dependencies(PyObject * __pyx_self,PyObject * __pyx_v_self)15289 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_16StaticAssignment_5type_dependencies(PyObject *__pyx_self, PyObject *__pyx_v_self) {
15290   PyObject *__pyx_r = 0;
15291   __Pyx_RefNannyDeclarations
15292   __Pyx_RefNannySetupContext("type_dependencies (wrapper)", 0);
15293   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_16StaticAssignment_4type_dependencies(__pyx_self, ((PyObject *)__pyx_v_self));
15294 
15295   /* function exit code */
15296   __Pyx_RefNannyFinishContext();
15297   return __pyx_r;
15298 }
15299 
__pyx_pf_6Cython_8Compiler_11FlowControl_16StaticAssignment_4type_dependencies(CYTHON_UNUSED PyObject * __pyx_self,CYTHON_UNUSED PyObject * __pyx_v_self)15300 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_16StaticAssignment_4type_dependencies(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
15301   PyObject *__pyx_r = NULL;
15302   __Pyx_RefNannyDeclarations
15303   __Pyx_RefNannySetupContext("type_dependencies", 0);
15304 
15305   /* "Cython/Compiler/FlowControl.py":360
15306  *
15307  *     def type_dependencies(self):
15308  *         return ()             # <<<<<<<<<<<<<<
15309  *
15310  *
15311  */
15312   __Pyx_XDECREF(__pyx_r);
15313   __Pyx_INCREF(__pyx_empty_tuple);
15314   __pyx_r = __pyx_empty_tuple;
15315   goto __pyx_L0;
15316 
15317   /* "Cython/Compiler/FlowControl.py":359
15318  *         return self.entry.type
15319  *
15320  *     def type_dependencies(self):             # <<<<<<<<<<<<<<
15321  *         return ()
15322  *
15323  */
15324 
15325   /* function exit code */
15326   __pyx_L0:;
15327   __Pyx_XGIVEREF(__pyx_r);
15328   __Pyx_RefNannyFinishContext();
15329   return __pyx_r;
15330 }
15331 
15332 /* "Cython/Compiler/FlowControl.py":364
15333  *
15334  * class Argument(NameAssignment):
15335  *     def __init__(self, lhs, rhs, entry):             # <<<<<<<<<<<<<<
15336  *         NameAssignment.__init__(self, lhs, rhs, entry)
15337  *         self.is_arg = True
15338  */
15339 
15340 /* Python wrapper */
15341 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_8Argument_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
15342 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_8Argument_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_8Argument_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_8Argument_1__init__(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)15343 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_8Argument_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
15344   PyObject *__pyx_v_self = 0;
15345   PyObject *__pyx_v_lhs = 0;
15346   PyObject *__pyx_v_rhs = 0;
15347   PyObject *__pyx_v_entry = 0;
15348   int __pyx_lineno = 0;
15349   const char *__pyx_filename = NULL;
15350   int __pyx_clineno = 0;
15351   PyObject *__pyx_r = 0;
15352   __Pyx_RefNannyDeclarations
15353   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
15354   {
15355     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_lhs,&__pyx_n_s_rhs,&__pyx_n_s_entry,0};
15356     PyObject* values[4] = {0,0,0,0};
15357     if (unlikely(__pyx_kwds)) {
15358       Py_ssize_t kw_args;
15359       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
15360       switch (pos_args) {
15361         case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
15362         CYTHON_FALLTHROUGH;
15363         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
15364         CYTHON_FALLTHROUGH;
15365         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
15366         CYTHON_FALLTHROUGH;
15367         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
15368         CYTHON_FALLTHROUGH;
15369         case  0: break;
15370         default: goto __pyx_L5_argtuple_error;
15371       }
15372       kw_args = PyDict_Size(__pyx_kwds);
15373       switch (pos_args) {
15374         case  0:
15375         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
15376         else goto __pyx_L5_argtuple_error;
15377         CYTHON_FALLTHROUGH;
15378         case  1:
15379         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lhs)) != 0)) kw_args--;
15380         else {
15381           __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, 1); __PYX_ERR(0, 364, __pyx_L3_error)
15382         }
15383         CYTHON_FALLTHROUGH;
15384         case  2:
15385         if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_rhs)) != 0)) kw_args--;
15386         else {
15387           __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, 2); __PYX_ERR(0, 364, __pyx_L3_error)
15388         }
15389         CYTHON_FALLTHROUGH;
15390         case  3:
15391         if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
15392         else {
15393           __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, 3); __PYX_ERR(0, 364, __pyx_L3_error)
15394         }
15395       }
15396       if (unlikely(kw_args > 0)) {
15397         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 364, __pyx_L3_error)
15398       }
15399     } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
15400       goto __pyx_L5_argtuple_error;
15401     } else {
15402       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
15403       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
15404       values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
15405       values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
15406     }
15407     __pyx_v_self = values[0];
15408     __pyx_v_lhs = values[1];
15409     __pyx_v_rhs = values[2];
15410     __pyx_v_entry = values[3];
15411   }
15412   goto __pyx_L4_argument_unpacking_done;
15413   __pyx_L5_argtuple_error:;
15414   __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 364, __pyx_L3_error)
15415   __pyx_L3_error:;
15416   __Pyx_AddTraceback("Cython.Compiler.FlowControl.Argument.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
15417   __Pyx_RefNannyFinishContext();
15418   return NULL;
15419   __pyx_L4_argument_unpacking_done:;
15420   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_8Argument___init__(__pyx_self, __pyx_v_self, __pyx_v_lhs, __pyx_v_rhs, __pyx_v_entry);
15421 
15422   /* function exit code */
15423   __Pyx_RefNannyFinishContext();
15424   return __pyx_r;
15425 }
15426 
__pyx_pf_6Cython_8Compiler_11FlowControl_8Argument___init__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_lhs,PyObject * __pyx_v_rhs,PyObject * __pyx_v_entry)15427 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_8Argument___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs, PyObject *__pyx_v_entry) {
15428   PyObject *__pyx_r = NULL;
15429   __Pyx_RefNannyDeclarations
15430   PyObject *__pyx_t_1 = NULL;
15431   PyObject *__pyx_t_2 = NULL;
15432   PyObject *__pyx_t_3 = NULL;
15433   int __pyx_t_4;
15434   PyObject *__pyx_t_5 = NULL;
15435   int __pyx_lineno = 0;
15436   const char *__pyx_filename = NULL;
15437   int __pyx_clineno = 0;
15438   __Pyx_RefNannySetupContext("__init__", 0);
15439 
15440   /* "Cython/Compiler/FlowControl.py":365
15441  * class Argument(NameAssignment):
15442  *     def __init__(self, lhs, rhs, entry):
15443  *         NameAssignment.__init__(self, lhs, rhs, entry)             # <<<<<<<<<<<<<<
15444  *         self.is_arg = True
15445  *
15446  */
15447   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment), __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 365, __pyx_L1_error)
15448   __Pyx_GOTREF(__pyx_t_2);
15449   __pyx_t_3 = NULL;
15450   __pyx_t_4 = 0;
15451   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
15452     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
15453     if (likely(__pyx_t_3)) {
15454       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
15455       __Pyx_INCREF(__pyx_t_3);
15456       __Pyx_INCREF(function);
15457       __Pyx_DECREF_SET(__pyx_t_2, function);
15458       __pyx_t_4 = 1;
15459     }
15460   }
15461   #if CYTHON_FAST_PYCALL
15462   if (PyFunction_Check(__pyx_t_2)) {
15463     PyObject *__pyx_temp[5] = {__pyx_t_3, __pyx_v_self, __pyx_v_lhs, __pyx_v_rhs, __pyx_v_entry};
15464     __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 4+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 365, __pyx_L1_error)
15465     __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
15466     __Pyx_GOTREF(__pyx_t_1);
15467   } else
15468   #endif
15469   #if CYTHON_FAST_PYCCALL
15470   if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
15471     PyObject *__pyx_temp[5] = {__pyx_t_3, __pyx_v_self, __pyx_v_lhs, __pyx_v_rhs, __pyx_v_entry};
15472     __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 4+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 365, __pyx_L1_error)
15473     __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
15474     __Pyx_GOTREF(__pyx_t_1);
15475   } else
15476   #endif
15477   {
15478     __pyx_t_5 = PyTuple_New(4+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 365, __pyx_L1_error)
15479     __Pyx_GOTREF(__pyx_t_5);
15480     if (__pyx_t_3) {
15481       __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
15482     }
15483     __Pyx_INCREF(__pyx_v_self);
15484     __Pyx_GIVEREF(__pyx_v_self);
15485     PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_self);
15486     __Pyx_INCREF(__pyx_v_lhs);
15487     __Pyx_GIVEREF(__pyx_v_lhs);
15488     PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_lhs);
15489     __Pyx_INCREF(__pyx_v_rhs);
15490     __Pyx_GIVEREF(__pyx_v_rhs);
15491     PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_4, __pyx_v_rhs);
15492     __Pyx_INCREF(__pyx_v_entry);
15493     __Pyx_GIVEREF(__pyx_v_entry);
15494     PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_4, __pyx_v_entry);
15495     __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 365, __pyx_L1_error)
15496     __Pyx_GOTREF(__pyx_t_1);
15497     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
15498   }
15499   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
15500   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
15501 
15502   /* "Cython/Compiler/FlowControl.py":366
15503  *     def __init__(self, lhs, rhs, entry):
15504  *         NameAssignment.__init__(self, lhs, rhs, entry)
15505  *         self.is_arg = True             # <<<<<<<<<<<<<<
15506  *
15507  *
15508  */
15509   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_is_arg, Py_True) < 0) __PYX_ERR(0, 366, __pyx_L1_error)
15510 
15511   /* "Cython/Compiler/FlowControl.py":364
15512  *
15513  * class Argument(NameAssignment):
15514  *     def __init__(self, lhs, rhs, entry):             # <<<<<<<<<<<<<<
15515  *         NameAssignment.__init__(self, lhs, rhs, entry)
15516  *         self.is_arg = True
15517  */
15518 
15519   /* function exit code */
15520   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
15521   goto __pyx_L0;
15522   __pyx_L1_error:;
15523   __Pyx_XDECREF(__pyx_t_1);
15524   __Pyx_XDECREF(__pyx_t_2);
15525   __Pyx_XDECREF(__pyx_t_3);
15526   __Pyx_XDECREF(__pyx_t_5);
15527   __Pyx_AddTraceback("Cython.Compiler.FlowControl.Argument.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
15528   __pyx_r = NULL;
15529   __pyx_L0:;
15530   __Pyx_XGIVEREF(__pyx_r);
15531   __Pyx_RefNannyFinishContext();
15532   return __pyx_r;
15533 }
15534 
15535 /* "Cython/Compiler/FlowControl.py":370
15536  *
15537  * class NameDeletion(NameAssignment):
15538  *     def __init__(self, lhs, entry):             # <<<<<<<<<<<<<<
15539  *         NameAssignment.__init__(self, lhs, lhs, entry)
15540  *         self.is_deletion = True
15541  */
15542 
15543 /* Python wrapper */
15544 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12NameDeletion_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
15545 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_12NameDeletion_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_12NameDeletion_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_12NameDeletion_1__init__(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)15546 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12NameDeletion_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
15547   PyObject *__pyx_v_self = 0;
15548   PyObject *__pyx_v_lhs = 0;
15549   PyObject *__pyx_v_entry = 0;
15550   int __pyx_lineno = 0;
15551   const char *__pyx_filename = NULL;
15552   int __pyx_clineno = 0;
15553   PyObject *__pyx_r = 0;
15554   __Pyx_RefNannyDeclarations
15555   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
15556   {
15557     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_lhs,&__pyx_n_s_entry,0};
15558     PyObject* values[3] = {0,0,0};
15559     if (unlikely(__pyx_kwds)) {
15560       Py_ssize_t kw_args;
15561       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
15562       switch (pos_args) {
15563         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
15564         CYTHON_FALLTHROUGH;
15565         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
15566         CYTHON_FALLTHROUGH;
15567         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
15568         CYTHON_FALLTHROUGH;
15569         case  0: break;
15570         default: goto __pyx_L5_argtuple_error;
15571       }
15572       kw_args = PyDict_Size(__pyx_kwds);
15573       switch (pos_args) {
15574         case  0:
15575         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
15576         else goto __pyx_L5_argtuple_error;
15577         CYTHON_FALLTHROUGH;
15578         case  1:
15579         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lhs)) != 0)) kw_args--;
15580         else {
15581           __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(0, 370, __pyx_L3_error)
15582         }
15583         CYTHON_FALLTHROUGH;
15584         case  2:
15585         if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
15586         else {
15587           __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(0, 370, __pyx_L3_error)
15588         }
15589       }
15590       if (unlikely(kw_args > 0)) {
15591         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 370, __pyx_L3_error)
15592       }
15593     } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
15594       goto __pyx_L5_argtuple_error;
15595     } else {
15596       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
15597       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
15598       values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
15599     }
15600     __pyx_v_self = values[0];
15601     __pyx_v_lhs = values[1];
15602     __pyx_v_entry = values[2];
15603   }
15604   goto __pyx_L4_argument_unpacking_done;
15605   __pyx_L5_argtuple_error:;
15606   __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 370, __pyx_L3_error)
15607   __pyx_L3_error:;
15608   __Pyx_AddTraceback("Cython.Compiler.FlowControl.NameDeletion.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
15609   __Pyx_RefNannyFinishContext();
15610   return NULL;
15611   __pyx_L4_argument_unpacking_done:;
15612   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12NameDeletion___init__(__pyx_self, __pyx_v_self, __pyx_v_lhs, __pyx_v_entry);
15613 
15614   /* function exit code */
15615   __Pyx_RefNannyFinishContext();
15616   return __pyx_r;
15617 }
15618 
__pyx_pf_6Cython_8Compiler_11FlowControl_12NameDeletion___init__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_lhs,PyObject * __pyx_v_entry)15619 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12NameDeletion___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_lhs, PyObject *__pyx_v_entry) {
15620   PyObject *__pyx_r = NULL;
15621   __Pyx_RefNannyDeclarations
15622   PyObject *__pyx_t_1 = NULL;
15623   PyObject *__pyx_t_2 = NULL;
15624   PyObject *__pyx_t_3 = NULL;
15625   int __pyx_t_4;
15626   PyObject *__pyx_t_5 = NULL;
15627   int __pyx_lineno = 0;
15628   const char *__pyx_filename = NULL;
15629   int __pyx_clineno = 0;
15630   __Pyx_RefNannySetupContext("__init__", 0);
15631 
15632   /* "Cython/Compiler/FlowControl.py":371
15633  * class NameDeletion(NameAssignment):
15634  *     def __init__(self, lhs, entry):
15635  *         NameAssignment.__init__(self, lhs, lhs, entry)             # <<<<<<<<<<<<<<
15636  *         self.is_deletion = True
15637  *
15638  */
15639   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment), __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 371, __pyx_L1_error)
15640   __Pyx_GOTREF(__pyx_t_2);
15641   __pyx_t_3 = NULL;
15642   __pyx_t_4 = 0;
15643   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
15644     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
15645     if (likely(__pyx_t_3)) {
15646       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
15647       __Pyx_INCREF(__pyx_t_3);
15648       __Pyx_INCREF(function);
15649       __Pyx_DECREF_SET(__pyx_t_2, function);
15650       __pyx_t_4 = 1;
15651     }
15652   }
15653   #if CYTHON_FAST_PYCALL
15654   if (PyFunction_Check(__pyx_t_2)) {
15655     PyObject *__pyx_temp[5] = {__pyx_t_3, __pyx_v_self, __pyx_v_lhs, __pyx_v_lhs, __pyx_v_entry};
15656     __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 4+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 371, __pyx_L1_error)
15657     __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
15658     __Pyx_GOTREF(__pyx_t_1);
15659   } else
15660   #endif
15661   #if CYTHON_FAST_PYCCALL
15662   if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
15663     PyObject *__pyx_temp[5] = {__pyx_t_3, __pyx_v_self, __pyx_v_lhs, __pyx_v_lhs, __pyx_v_entry};
15664     __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 4+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 371, __pyx_L1_error)
15665     __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
15666     __Pyx_GOTREF(__pyx_t_1);
15667   } else
15668   #endif
15669   {
15670     __pyx_t_5 = PyTuple_New(4+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 371, __pyx_L1_error)
15671     __Pyx_GOTREF(__pyx_t_5);
15672     if (__pyx_t_3) {
15673       __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
15674     }
15675     __Pyx_INCREF(__pyx_v_self);
15676     __Pyx_GIVEREF(__pyx_v_self);
15677     PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_self);
15678     __Pyx_INCREF(__pyx_v_lhs);
15679     __Pyx_GIVEREF(__pyx_v_lhs);
15680     PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_lhs);
15681     __Pyx_INCREF(__pyx_v_lhs);
15682     __Pyx_GIVEREF(__pyx_v_lhs);
15683     PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_4, __pyx_v_lhs);
15684     __Pyx_INCREF(__pyx_v_entry);
15685     __Pyx_GIVEREF(__pyx_v_entry);
15686     PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_4, __pyx_v_entry);
15687     __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 371, __pyx_L1_error)
15688     __Pyx_GOTREF(__pyx_t_1);
15689     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
15690   }
15691   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
15692   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
15693 
15694   /* "Cython/Compiler/FlowControl.py":372
15695  *     def __init__(self, lhs, entry):
15696  *         NameAssignment.__init__(self, lhs, lhs, entry)
15697  *         self.is_deletion = True             # <<<<<<<<<<<<<<
15698  *
15699  *     def infer_type(self):
15700  */
15701   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_is_deletion, Py_True) < 0) __PYX_ERR(0, 372, __pyx_L1_error)
15702 
15703   /* "Cython/Compiler/FlowControl.py":370
15704  *
15705  * class NameDeletion(NameAssignment):
15706  *     def __init__(self, lhs, entry):             # <<<<<<<<<<<<<<
15707  *         NameAssignment.__init__(self, lhs, lhs, entry)
15708  *         self.is_deletion = True
15709  */
15710 
15711   /* function exit code */
15712   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
15713   goto __pyx_L0;
15714   __pyx_L1_error:;
15715   __Pyx_XDECREF(__pyx_t_1);
15716   __Pyx_XDECREF(__pyx_t_2);
15717   __Pyx_XDECREF(__pyx_t_3);
15718   __Pyx_XDECREF(__pyx_t_5);
15719   __Pyx_AddTraceback("Cython.Compiler.FlowControl.NameDeletion.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
15720   __pyx_r = NULL;
15721   __pyx_L0:;
15722   __Pyx_XGIVEREF(__pyx_r);
15723   __Pyx_RefNannyFinishContext();
15724   return __pyx_r;
15725 }
15726 
15727 /* "Cython/Compiler/FlowControl.py":374
15728  *         self.is_deletion = True
15729  *
15730  *     def infer_type(self):             # <<<<<<<<<<<<<<
15731  *         inferred_type = self.rhs.infer_type(self.entry.scope)
15732  *         if (not inferred_type.is_pyobject and
15733  */
15734 
15735 /* Python wrapper */
15736 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12NameDeletion_3infer_type(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
15737 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_12NameDeletion_3infer_type = {"infer_type", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_12NameDeletion_3infer_type, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_12NameDeletion_3infer_type(PyObject * __pyx_self,PyObject * __pyx_v_self)15738 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_12NameDeletion_3infer_type(PyObject *__pyx_self, PyObject *__pyx_v_self) {
15739   PyObject *__pyx_r = 0;
15740   __Pyx_RefNannyDeclarations
15741   __Pyx_RefNannySetupContext("infer_type (wrapper)", 0);
15742   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12NameDeletion_2infer_type(__pyx_self, ((PyObject *)__pyx_v_self));
15743 
15744   /* function exit code */
15745   __Pyx_RefNannyFinishContext();
15746   return __pyx_r;
15747 }
15748 
__pyx_pf_6Cython_8Compiler_11FlowControl_12NameDeletion_2infer_type(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self)15749 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12NameDeletion_2infer_type(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
15750   PyObject *__pyx_v_inferred_type = NULL;
15751   PyObject *__pyx_r = NULL;
15752   __Pyx_RefNannyDeclarations
15753   PyObject *__pyx_t_1 = NULL;
15754   PyObject *__pyx_t_2 = NULL;
15755   PyObject *__pyx_t_3 = NULL;
15756   PyObject *__pyx_t_4 = NULL;
15757   int __pyx_t_5;
15758   int __pyx_t_6;
15759   int __pyx_t_7;
15760   int __pyx_lineno = 0;
15761   const char *__pyx_filename = NULL;
15762   int __pyx_clineno = 0;
15763   __Pyx_RefNannySetupContext("infer_type", 0);
15764 
15765   /* "Cython/Compiler/FlowControl.py":375
15766  *
15767  *     def infer_type(self):
15768  *         inferred_type = self.rhs.infer_type(self.entry.scope)             # <<<<<<<<<<<<<<
15769  *         if (not inferred_type.is_pyobject and
15770  *             inferred_type.can_coerce_to_pyobject(self.entry.scope)):
15771  */
15772   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_rhs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 375, __pyx_L1_error)
15773   __Pyx_GOTREF(__pyx_t_2);
15774   __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_infer_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 375, __pyx_L1_error)
15775   __Pyx_GOTREF(__pyx_t_3);
15776   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
15777   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_entry); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 375, __pyx_L1_error)
15778   __Pyx_GOTREF(__pyx_t_2);
15779   __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_scope); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 375, __pyx_L1_error)
15780   __Pyx_GOTREF(__pyx_t_4);
15781   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
15782   __pyx_t_2 = NULL;
15783   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
15784     __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
15785     if (likely(__pyx_t_2)) {
15786       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
15787       __Pyx_INCREF(__pyx_t_2);
15788       __Pyx_INCREF(function);
15789       __Pyx_DECREF_SET(__pyx_t_3, function);
15790     }
15791   }
15792   __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
15793   __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
15794   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
15795   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 375, __pyx_L1_error)
15796   __Pyx_GOTREF(__pyx_t_1);
15797   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
15798   __pyx_v_inferred_type = __pyx_t_1;
15799   __pyx_t_1 = 0;
15800 
15801   /* "Cython/Compiler/FlowControl.py":376
15802  *     def infer_type(self):
15803  *         inferred_type = self.rhs.infer_type(self.entry.scope)
15804  *         if (not inferred_type.is_pyobject and             # <<<<<<<<<<<<<<
15805  *             inferred_type.can_coerce_to_pyobject(self.entry.scope)):
15806  *             return py_object_type
15807  */
15808   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_inferred_type, __pyx_n_s_is_pyobject); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 376, __pyx_L1_error)
15809   __Pyx_GOTREF(__pyx_t_1);
15810   __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 376, __pyx_L1_error)
15811   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
15812   __pyx_t_7 = ((!__pyx_t_6) != 0);
15813   if (__pyx_t_7) {
15814   } else {
15815     __pyx_t_5 = __pyx_t_7;
15816     goto __pyx_L4_bool_binop_done;
15817   }
15818 
15819   /* "Cython/Compiler/FlowControl.py":377
15820  *         inferred_type = self.rhs.infer_type(self.entry.scope)
15821  *         if (not inferred_type.is_pyobject and
15822  *             inferred_type.can_coerce_to_pyobject(self.entry.scope)):             # <<<<<<<<<<<<<<
15823  *             return py_object_type
15824  *         self.inferred_type = inferred_type
15825  */
15826   __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_inferred_type, __pyx_n_s_can_coerce_to_pyobject); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 377, __pyx_L1_error)
15827   __Pyx_GOTREF(__pyx_t_3);
15828   __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_entry); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 377, __pyx_L1_error)
15829   __Pyx_GOTREF(__pyx_t_4);
15830   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_scope); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 377, __pyx_L1_error)
15831   __Pyx_GOTREF(__pyx_t_2);
15832   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
15833   __pyx_t_4 = NULL;
15834   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
15835     __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
15836     if (likely(__pyx_t_4)) {
15837       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
15838       __Pyx_INCREF(__pyx_t_4);
15839       __Pyx_INCREF(function);
15840       __Pyx_DECREF_SET(__pyx_t_3, function);
15841     }
15842   }
15843   __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2);
15844   __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
15845   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
15846   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 377, __pyx_L1_error)
15847   __Pyx_GOTREF(__pyx_t_1);
15848   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
15849   __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 377, __pyx_L1_error)
15850   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
15851   __pyx_t_5 = __pyx_t_7;
15852   __pyx_L4_bool_binop_done:;
15853 
15854   /* "Cython/Compiler/FlowControl.py":376
15855  *     def infer_type(self):
15856  *         inferred_type = self.rhs.infer_type(self.entry.scope)
15857  *         if (not inferred_type.is_pyobject and             # <<<<<<<<<<<<<<
15858  *             inferred_type.can_coerce_to_pyobject(self.entry.scope)):
15859  *             return py_object_type
15860  */
15861   if (__pyx_t_5) {
15862 
15863     /* "Cython/Compiler/FlowControl.py":378
15864  *         if (not inferred_type.is_pyobject and
15865  *             inferred_type.can_coerce_to_pyobject(self.entry.scope)):
15866  *             return py_object_type             # <<<<<<<<<<<<<<
15867  *         self.inferred_type = inferred_type
15868  *         return inferred_type
15869  */
15870     __Pyx_XDECREF(__pyx_r);
15871     __Pyx_INCREF(__pyx_v_6Cython_8Compiler_11FlowControl_py_object_type);
15872     __pyx_r = __pyx_v_6Cython_8Compiler_11FlowControl_py_object_type;
15873     goto __pyx_L0;
15874 
15875     /* "Cython/Compiler/FlowControl.py":376
15876  *     def infer_type(self):
15877  *         inferred_type = self.rhs.infer_type(self.entry.scope)
15878  *         if (not inferred_type.is_pyobject and             # <<<<<<<<<<<<<<
15879  *             inferred_type.can_coerce_to_pyobject(self.entry.scope)):
15880  *             return py_object_type
15881  */
15882   }
15883 
15884   /* "Cython/Compiler/FlowControl.py":379
15885  *             inferred_type.can_coerce_to_pyobject(self.entry.scope)):
15886  *             return py_object_type
15887  *         self.inferred_type = inferred_type             # <<<<<<<<<<<<<<
15888  *         return inferred_type
15889  *
15890  */
15891   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_inferred_type, __pyx_v_inferred_type) < 0) __PYX_ERR(0, 379, __pyx_L1_error)
15892 
15893   /* "Cython/Compiler/FlowControl.py":380
15894  *             return py_object_type
15895  *         self.inferred_type = inferred_type
15896  *         return inferred_type             # <<<<<<<<<<<<<<
15897  *
15898  *
15899  */
15900   __Pyx_XDECREF(__pyx_r);
15901   __Pyx_INCREF(__pyx_v_inferred_type);
15902   __pyx_r = __pyx_v_inferred_type;
15903   goto __pyx_L0;
15904 
15905   /* "Cython/Compiler/FlowControl.py":374
15906  *         self.is_deletion = True
15907  *
15908  *     def infer_type(self):             # <<<<<<<<<<<<<<
15909  *         inferred_type = self.rhs.infer_type(self.entry.scope)
15910  *         if (not inferred_type.is_pyobject and
15911  */
15912 
15913   /* function exit code */
15914   __pyx_L1_error:;
15915   __Pyx_XDECREF(__pyx_t_1);
15916   __Pyx_XDECREF(__pyx_t_2);
15917   __Pyx_XDECREF(__pyx_t_3);
15918   __Pyx_XDECREF(__pyx_t_4);
15919   __Pyx_AddTraceback("Cython.Compiler.FlowControl.NameDeletion.infer_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
15920   __pyx_r = NULL;
15921   __pyx_L0:;
15922   __Pyx_XDECREF(__pyx_v_inferred_type);
15923   __Pyx_XGIVEREF(__pyx_r);
15924   __Pyx_RefNannyFinishContext();
15925   return __pyx_r;
15926 }
15927 
15928 /* "(tree fragment)":1
15929  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
15930  *     cdef tuple state
15931  *     cdef object _dict
15932  */
15933 
15934 /* Python wrapper */
15935 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_13Uninitialized_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
15936 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_13Uninitialized_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_13Uninitialized_1__reduce_cython__, METH_NOARGS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_13Uninitialized_1__reduce_cython__(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)15937 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_13Uninitialized_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
15938   PyObject *__pyx_r = 0;
15939   __Pyx_RefNannyDeclarations
15940   __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
15941   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_13Uninitialized___reduce_cython__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_Uninitialized *)__pyx_v_self));
15942 
15943   /* function exit code */
15944   __Pyx_RefNannyFinishContext();
15945   return __pyx_r;
15946 }
15947 
__pyx_pf_6Cython_8Compiler_11FlowControl_13Uninitialized___reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_Uninitialized * __pyx_v_self)15948 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_13Uninitialized___reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_Uninitialized *__pyx_v_self) {
15949   PyObject *__pyx_v_state = 0;
15950   PyObject *__pyx_v__dict = 0;
15951   int __pyx_v_use_setstate;
15952   PyObject *__pyx_r = NULL;
15953   __Pyx_RefNannyDeclarations
15954   PyObject *__pyx_t_1 = NULL;
15955   int __pyx_t_2;
15956   int __pyx_t_3;
15957   PyObject *__pyx_t_4 = NULL;
15958   PyObject *__pyx_t_5 = NULL;
15959   int __pyx_lineno = 0;
15960   const char *__pyx_filename = NULL;
15961   int __pyx_clineno = 0;
15962   __Pyx_RefNannySetupContext("__reduce_cython__", 0);
15963 
15964   /* "(tree fragment)":5
15965  *     cdef object _dict
15966  *     cdef bint use_setstate
15967  *     state = ()             # <<<<<<<<<<<<<<
15968  *     _dict = getattr(self, '__dict__', None)
15969  *     if _dict is not None:
15970  */
15971   __Pyx_INCREF(__pyx_empty_tuple);
15972   __pyx_v_state = __pyx_empty_tuple;
15973 
15974   /* "(tree fragment)":6
15975  *     cdef bint use_setstate
15976  *     state = ()
15977  *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
15978  *     if _dict is not None:
15979  *         state += (_dict,)
15980  */
15981   __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error)
15982   __Pyx_GOTREF(__pyx_t_1);
15983   __pyx_v__dict = __pyx_t_1;
15984   __pyx_t_1 = 0;
15985 
15986   /* "(tree fragment)":7
15987  *     state = ()
15988  *     _dict = getattr(self, '__dict__', None)
15989  *     if _dict is not None:             # <<<<<<<<<<<<<<
15990  *         state += (_dict,)
15991  *         use_setstate = True
15992  */
15993   __pyx_t_2 = (__pyx_v__dict != Py_None);
15994   __pyx_t_3 = (__pyx_t_2 != 0);
15995   if (__pyx_t_3) {
15996 
15997     /* "(tree fragment)":8
15998  *     _dict = getattr(self, '__dict__', None)
15999  *     if _dict is not None:
16000  *         state += (_dict,)             # <<<<<<<<<<<<<<
16001  *         use_setstate = True
16002  *     else:
16003  */
16004     __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8, __pyx_L1_error)
16005     __Pyx_GOTREF(__pyx_t_1);
16006     __Pyx_INCREF(__pyx_v__dict);
16007     __Pyx_GIVEREF(__pyx_v__dict);
16008     PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
16009     __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8, __pyx_L1_error)
16010     __Pyx_GOTREF(__pyx_t_4);
16011     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
16012     __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
16013     __pyx_t_4 = 0;
16014 
16015     /* "(tree fragment)":9
16016  *     if _dict is not None:
16017  *         state += (_dict,)
16018  *         use_setstate = True             # <<<<<<<<<<<<<<
16019  *     else:
16020  *         use_setstate = False
16021  */
16022     __pyx_v_use_setstate = 1;
16023 
16024     /* "(tree fragment)":7
16025  *     state = ()
16026  *     _dict = getattr(self, '__dict__', None)
16027  *     if _dict is not None:             # <<<<<<<<<<<<<<
16028  *         state += (_dict,)
16029  *         use_setstate = True
16030  */
16031     goto __pyx_L3;
16032   }
16033 
16034   /* "(tree fragment)":11
16035  *         use_setstate = True
16036  *     else:
16037  *         use_setstate = False             # <<<<<<<<<<<<<<
16038  *     if use_setstate:
16039  *         return __pyx_unpickle_Uninitialized, (type(self), 0xd41d8cd, None), state
16040  */
16041   /*else*/ {
16042     __pyx_v_use_setstate = 0;
16043   }
16044   __pyx_L3:;
16045 
16046   /* "(tree fragment)":12
16047  *     else:
16048  *         use_setstate = False
16049  *     if use_setstate:             # <<<<<<<<<<<<<<
16050  *         return __pyx_unpickle_Uninitialized, (type(self), 0xd41d8cd, None), state
16051  *     else:
16052  */
16053   __pyx_t_3 = (__pyx_v_use_setstate != 0);
16054   if (__pyx_t_3) {
16055 
16056     /* "(tree fragment)":13
16057  *         use_setstate = False
16058  *     if use_setstate:
16059  *         return __pyx_unpickle_Uninitialized, (type(self), 0xd41d8cd, None), state             # <<<<<<<<<<<<<<
16060  *     else:
16061  *         return __pyx_unpickle_Uninitialized, (type(self), 0xd41d8cd, state)
16062  */
16063     __Pyx_XDECREF(__pyx_r);
16064     __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_Uninitialized); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 13, __pyx_L1_error)
16065     __Pyx_GOTREF(__pyx_t_4);
16066     __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error)
16067     __Pyx_GOTREF(__pyx_t_1);
16068     __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
16069     __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
16070     PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
16071     __Pyx_INCREF(__pyx_int_222419149);
16072     __Pyx_GIVEREF(__pyx_int_222419149);
16073     PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
16074     __Pyx_INCREF(Py_None);
16075     __Pyx_GIVEREF(Py_None);
16076     PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
16077     __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 13, __pyx_L1_error)
16078     __Pyx_GOTREF(__pyx_t_5);
16079     __Pyx_GIVEREF(__pyx_t_4);
16080     PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
16081     __Pyx_GIVEREF(__pyx_t_1);
16082     PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
16083     __Pyx_INCREF(__pyx_v_state);
16084     __Pyx_GIVEREF(__pyx_v_state);
16085     PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state);
16086     __pyx_t_4 = 0;
16087     __pyx_t_1 = 0;
16088     __pyx_r = __pyx_t_5;
16089     __pyx_t_5 = 0;
16090     goto __pyx_L0;
16091 
16092     /* "(tree fragment)":12
16093  *     else:
16094  *         use_setstate = False
16095  *     if use_setstate:             # <<<<<<<<<<<<<<
16096  *         return __pyx_unpickle_Uninitialized, (type(self), 0xd41d8cd, None), state
16097  *     else:
16098  */
16099   }
16100 
16101   /* "(tree fragment)":15
16102  *         return __pyx_unpickle_Uninitialized, (type(self), 0xd41d8cd, None), state
16103  *     else:
16104  *         return __pyx_unpickle_Uninitialized, (type(self), 0xd41d8cd, state)             # <<<<<<<<<<<<<<
16105  * def __setstate_cython__(self, __pyx_state):
16106  *     __pyx_unpickle_Uninitialized__set_state(self, __pyx_state)
16107  */
16108   /*else*/ {
16109     __Pyx_XDECREF(__pyx_r);
16110     __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_Uninitialized); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 15, __pyx_L1_error)
16111     __Pyx_GOTREF(__pyx_t_5);
16112     __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error)
16113     __Pyx_GOTREF(__pyx_t_1);
16114     __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
16115     __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
16116     PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
16117     __Pyx_INCREF(__pyx_int_222419149);
16118     __Pyx_GIVEREF(__pyx_int_222419149);
16119     PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
16120     __Pyx_INCREF(__pyx_v_state);
16121     __Pyx_GIVEREF(__pyx_v_state);
16122     PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
16123     __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 15, __pyx_L1_error)
16124     __Pyx_GOTREF(__pyx_t_4);
16125     __Pyx_GIVEREF(__pyx_t_5);
16126     PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
16127     __Pyx_GIVEREF(__pyx_t_1);
16128     PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
16129     __pyx_t_5 = 0;
16130     __pyx_t_1 = 0;
16131     __pyx_r = __pyx_t_4;
16132     __pyx_t_4 = 0;
16133     goto __pyx_L0;
16134   }
16135 
16136   /* "(tree fragment)":1
16137  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
16138  *     cdef tuple state
16139  *     cdef object _dict
16140  */
16141 
16142   /* function exit code */
16143   __pyx_L1_error:;
16144   __Pyx_XDECREF(__pyx_t_1);
16145   __Pyx_XDECREF(__pyx_t_4);
16146   __Pyx_XDECREF(__pyx_t_5);
16147   __Pyx_AddTraceback("Cython.Compiler.FlowControl.Uninitialized.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
16148   __pyx_r = NULL;
16149   __pyx_L0:;
16150   __Pyx_XDECREF(__pyx_v_state);
16151   __Pyx_XDECREF(__pyx_v__dict);
16152   __Pyx_XGIVEREF(__pyx_r);
16153   __Pyx_RefNannyFinishContext();
16154   return __pyx_r;
16155 }
16156 
16157 /* "(tree fragment)":16
16158  *     else:
16159  *         return __pyx_unpickle_Uninitialized, (type(self), 0xd41d8cd, state)
16160  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
16161  *     __pyx_unpickle_Uninitialized__set_state(self, __pyx_state)
16162  */
16163 
16164 /* Python wrapper */
16165 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_13Uninitialized_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
16166 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_13Uninitialized_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_13Uninitialized_3__setstate_cython__, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_13Uninitialized_3__setstate_cython__(PyObject * __pyx_v_self,PyObject * __pyx_v___pyx_state)16167 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_13Uninitialized_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
16168   PyObject *__pyx_r = 0;
16169   __Pyx_RefNannyDeclarations
16170   __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
16171   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_13Uninitialized_2__setstate_cython__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_Uninitialized *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
16172 
16173   /* function exit code */
16174   __Pyx_RefNannyFinishContext();
16175   return __pyx_r;
16176 }
16177 
__pyx_pf_6Cython_8Compiler_11FlowControl_13Uninitialized_2__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_Uninitialized * __pyx_v_self,PyObject * __pyx_v___pyx_state)16178 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_13Uninitialized_2__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_Uninitialized *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
16179   PyObject *__pyx_r = NULL;
16180   __Pyx_RefNannyDeclarations
16181   PyObject *__pyx_t_1 = NULL;
16182   int __pyx_lineno = 0;
16183   const char *__pyx_filename = NULL;
16184   int __pyx_clineno = 0;
16185   __Pyx_RefNannySetupContext("__setstate_cython__", 0);
16186 
16187   /* "(tree fragment)":17
16188  *         return __pyx_unpickle_Uninitialized, (type(self), 0xd41d8cd, state)
16189  * def __setstate_cython__(self, __pyx_state):
16190  *     __pyx_unpickle_Uninitialized__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
16191  */
16192   if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 17, __pyx_L1_error)
16193   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_Uninitialized__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 17, __pyx_L1_error)
16194   __Pyx_GOTREF(__pyx_t_1);
16195   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
16196 
16197   /* "(tree fragment)":16
16198  *     else:
16199  *         return __pyx_unpickle_Uninitialized, (type(self), 0xd41d8cd, state)
16200  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
16201  *     __pyx_unpickle_Uninitialized__set_state(self, __pyx_state)
16202  */
16203 
16204   /* function exit code */
16205   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
16206   goto __pyx_L0;
16207   __pyx_L1_error:;
16208   __Pyx_XDECREF(__pyx_t_1);
16209   __Pyx_AddTraceback("Cython.Compiler.FlowControl.Uninitialized.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
16210   __pyx_r = NULL;
16211   __pyx_L0:;
16212   __Pyx_XGIVEREF(__pyx_r);
16213   __Pyx_RefNannyFinishContext();
16214   return __pyx_r;
16215 }
16216 
16217 /* "(tree fragment)":1
16218  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
16219  *     cdef tuple state
16220  *     cdef object _dict
16221  */
16222 
16223 /* Python wrapper */
16224 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_7Unknown_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
16225 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_7Unknown_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_7Unknown_1__reduce_cython__, METH_NOARGS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_7Unknown_1__reduce_cython__(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)16226 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_7Unknown_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
16227   PyObject *__pyx_r = 0;
16228   __Pyx_RefNannyDeclarations
16229   __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
16230   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_7Unknown___reduce_cython__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_Unknown *)__pyx_v_self));
16231 
16232   /* function exit code */
16233   __Pyx_RefNannyFinishContext();
16234   return __pyx_r;
16235 }
16236 
__pyx_pf_6Cython_8Compiler_11FlowControl_7Unknown___reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_Unknown * __pyx_v_self)16237 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_7Unknown___reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_Unknown *__pyx_v_self) {
16238   PyObject *__pyx_v_state = 0;
16239   PyObject *__pyx_v__dict = 0;
16240   int __pyx_v_use_setstate;
16241   PyObject *__pyx_r = NULL;
16242   __Pyx_RefNannyDeclarations
16243   PyObject *__pyx_t_1 = NULL;
16244   int __pyx_t_2;
16245   int __pyx_t_3;
16246   PyObject *__pyx_t_4 = NULL;
16247   PyObject *__pyx_t_5 = NULL;
16248   int __pyx_lineno = 0;
16249   const char *__pyx_filename = NULL;
16250   int __pyx_clineno = 0;
16251   __Pyx_RefNannySetupContext("__reduce_cython__", 0);
16252 
16253   /* "(tree fragment)":5
16254  *     cdef object _dict
16255  *     cdef bint use_setstate
16256  *     state = ()             # <<<<<<<<<<<<<<
16257  *     _dict = getattr(self, '__dict__', None)
16258  *     if _dict is not None:
16259  */
16260   __Pyx_INCREF(__pyx_empty_tuple);
16261   __pyx_v_state = __pyx_empty_tuple;
16262 
16263   /* "(tree fragment)":6
16264  *     cdef bint use_setstate
16265  *     state = ()
16266  *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
16267  *     if _dict is not None:
16268  *         state += (_dict,)
16269  */
16270   __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error)
16271   __Pyx_GOTREF(__pyx_t_1);
16272   __pyx_v__dict = __pyx_t_1;
16273   __pyx_t_1 = 0;
16274 
16275   /* "(tree fragment)":7
16276  *     state = ()
16277  *     _dict = getattr(self, '__dict__', None)
16278  *     if _dict is not None:             # <<<<<<<<<<<<<<
16279  *         state += (_dict,)
16280  *         use_setstate = True
16281  */
16282   __pyx_t_2 = (__pyx_v__dict != Py_None);
16283   __pyx_t_3 = (__pyx_t_2 != 0);
16284   if (__pyx_t_3) {
16285 
16286     /* "(tree fragment)":8
16287  *     _dict = getattr(self, '__dict__', None)
16288  *     if _dict is not None:
16289  *         state += (_dict,)             # <<<<<<<<<<<<<<
16290  *         use_setstate = True
16291  *     else:
16292  */
16293     __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8, __pyx_L1_error)
16294     __Pyx_GOTREF(__pyx_t_1);
16295     __Pyx_INCREF(__pyx_v__dict);
16296     __Pyx_GIVEREF(__pyx_v__dict);
16297     PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
16298     __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8, __pyx_L1_error)
16299     __Pyx_GOTREF(__pyx_t_4);
16300     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
16301     __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
16302     __pyx_t_4 = 0;
16303 
16304     /* "(tree fragment)":9
16305  *     if _dict is not None:
16306  *         state += (_dict,)
16307  *         use_setstate = True             # <<<<<<<<<<<<<<
16308  *     else:
16309  *         use_setstate = False
16310  */
16311     __pyx_v_use_setstate = 1;
16312 
16313     /* "(tree fragment)":7
16314  *     state = ()
16315  *     _dict = getattr(self, '__dict__', None)
16316  *     if _dict is not None:             # <<<<<<<<<<<<<<
16317  *         state += (_dict,)
16318  *         use_setstate = True
16319  */
16320     goto __pyx_L3;
16321   }
16322 
16323   /* "(tree fragment)":11
16324  *         use_setstate = True
16325  *     else:
16326  *         use_setstate = False             # <<<<<<<<<<<<<<
16327  *     if use_setstate:
16328  *         return __pyx_unpickle_Unknown, (type(self), 0xd41d8cd, None), state
16329  */
16330   /*else*/ {
16331     __pyx_v_use_setstate = 0;
16332   }
16333   __pyx_L3:;
16334 
16335   /* "(tree fragment)":12
16336  *     else:
16337  *         use_setstate = False
16338  *     if use_setstate:             # <<<<<<<<<<<<<<
16339  *         return __pyx_unpickle_Unknown, (type(self), 0xd41d8cd, None), state
16340  *     else:
16341  */
16342   __pyx_t_3 = (__pyx_v_use_setstate != 0);
16343   if (__pyx_t_3) {
16344 
16345     /* "(tree fragment)":13
16346  *         use_setstate = False
16347  *     if use_setstate:
16348  *         return __pyx_unpickle_Unknown, (type(self), 0xd41d8cd, None), state             # <<<<<<<<<<<<<<
16349  *     else:
16350  *         return __pyx_unpickle_Unknown, (type(self), 0xd41d8cd, state)
16351  */
16352     __Pyx_XDECREF(__pyx_r);
16353     __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_Unknown); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 13, __pyx_L1_error)
16354     __Pyx_GOTREF(__pyx_t_4);
16355     __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error)
16356     __Pyx_GOTREF(__pyx_t_1);
16357     __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
16358     __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
16359     PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
16360     __Pyx_INCREF(__pyx_int_222419149);
16361     __Pyx_GIVEREF(__pyx_int_222419149);
16362     PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
16363     __Pyx_INCREF(Py_None);
16364     __Pyx_GIVEREF(Py_None);
16365     PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
16366     __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 13, __pyx_L1_error)
16367     __Pyx_GOTREF(__pyx_t_5);
16368     __Pyx_GIVEREF(__pyx_t_4);
16369     PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
16370     __Pyx_GIVEREF(__pyx_t_1);
16371     PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
16372     __Pyx_INCREF(__pyx_v_state);
16373     __Pyx_GIVEREF(__pyx_v_state);
16374     PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state);
16375     __pyx_t_4 = 0;
16376     __pyx_t_1 = 0;
16377     __pyx_r = __pyx_t_5;
16378     __pyx_t_5 = 0;
16379     goto __pyx_L0;
16380 
16381     /* "(tree fragment)":12
16382  *     else:
16383  *         use_setstate = False
16384  *     if use_setstate:             # <<<<<<<<<<<<<<
16385  *         return __pyx_unpickle_Unknown, (type(self), 0xd41d8cd, None), state
16386  *     else:
16387  */
16388   }
16389 
16390   /* "(tree fragment)":15
16391  *         return __pyx_unpickle_Unknown, (type(self), 0xd41d8cd, None), state
16392  *     else:
16393  *         return __pyx_unpickle_Unknown, (type(self), 0xd41d8cd, state)             # <<<<<<<<<<<<<<
16394  * def __setstate_cython__(self, __pyx_state):
16395  *     __pyx_unpickle_Unknown__set_state(self, __pyx_state)
16396  */
16397   /*else*/ {
16398     __Pyx_XDECREF(__pyx_r);
16399     __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_Unknown); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 15, __pyx_L1_error)
16400     __Pyx_GOTREF(__pyx_t_5);
16401     __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error)
16402     __Pyx_GOTREF(__pyx_t_1);
16403     __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
16404     __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
16405     PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
16406     __Pyx_INCREF(__pyx_int_222419149);
16407     __Pyx_GIVEREF(__pyx_int_222419149);
16408     PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
16409     __Pyx_INCREF(__pyx_v_state);
16410     __Pyx_GIVEREF(__pyx_v_state);
16411     PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
16412     __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 15, __pyx_L1_error)
16413     __Pyx_GOTREF(__pyx_t_4);
16414     __Pyx_GIVEREF(__pyx_t_5);
16415     PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
16416     __Pyx_GIVEREF(__pyx_t_1);
16417     PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
16418     __pyx_t_5 = 0;
16419     __pyx_t_1 = 0;
16420     __pyx_r = __pyx_t_4;
16421     __pyx_t_4 = 0;
16422     goto __pyx_L0;
16423   }
16424 
16425   /* "(tree fragment)":1
16426  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
16427  *     cdef tuple state
16428  *     cdef object _dict
16429  */
16430 
16431   /* function exit code */
16432   __pyx_L1_error:;
16433   __Pyx_XDECREF(__pyx_t_1);
16434   __Pyx_XDECREF(__pyx_t_4);
16435   __Pyx_XDECREF(__pyx_t_5);
16436   __Pyx_AddTraceback("Cython.Compiler.FlowControl.Unknown.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
16437   __pyx_r = NULL;
16438   __pyx_L0:;
16439   __Pyx_XDECREF(__pyx_v_state);
16440   __Pyx_XDECREF(__pyx_v__dict);
16441   __Pyx_XGIVEREF(__pyx_r);
16442   __Pyx_RefNannyFinishContext();
16443   return __pyx_r;
16444 }
16445 
16446 /* "(tree fragment)":16
16447  *     else:
16448  *         return __pyx_unpickle_Unknown, (type(self), 0xd41d8cd, state)
16449  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
16450  *     __pyx_unpickle_Unknown__set_state(self, __pyx_state)
16451  */
16452 
16453 /* Python wrapper */
16454 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_7Unknown_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
16455 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_7Unknown_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_7Unknown_3__setstate_cython__, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_7Unknown_3__setstate_cython__(PyObject * __pyx_v_self,PyObject * __pyx_v___pyx_state)16456 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_7Unknown_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
16457   PyObject *__pyx_r = 0;
16458   __Pyx_RefNannyDeclarations
16459   __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
16460   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_7Unknown_2__setstate_cython__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_Unknown *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
16461 
16462   /* function exit code */
16463   __Pyx_RefNannyFinishContext();
16464   return __pyx_r;
16465 }
16466 
__pyx_pf_6Cython_8Compiler_11FlowControl_7Unknown_2__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_Unknown * __pyx_v_self,PyObject * __pyx_v___pyx_state)16467 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_7Unknown_2__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_Unknown *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
16468   PyObject *__pyx_r = NULL;
16469   __Pyx_RefNannyDeclarations
16470   PyObject *__pyx_t_1 = NULL;
16471   int __pyx_lineno = 0;
16472   const char *__pyx_filename = NULL;
16473   int __pyx_clineno = 0;
16474   __Pyx_RefNannySetupContext("__setstate_cython__", 0);
16475 
16476   /* "(tree fragment)":17
16477  *         return __pyx_unpickle_Unknown, (type(self), 0xd41d8cd, state)
16478  * def __setstate_cython__(self, __pyx_state):
16479  *     __pyx_unpickle_Unknown__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
16480  */
16481   if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 17, __pyx_L1_error)
16482   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_Unknown__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 17, __pyx_L1_error)
16483   __Pyx_GOTREF(__pyx_t_1);
16484   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
16485 
16486   /* "(tree fragment)":16
16487  *     else:
16488  *         return __pyx_unpickle_Unknown, (type(self), 0xd41d8cd, state)
16489  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
16490  *     __pyx_unpickle_Unknown__set_state(self, __pyx_state)
16491  */
16492 
16493   /* function exit code */
16494   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
16495   goto __pyx_L0;
16496   __pyx_L1_error:;
16497   __Pyx_XDECREF(__pyx_t_1);
16498   __Pyx_AddTraceback("Cython.Compiler.FlowControl.Unknown.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
16499   __pyx_r = NULL;
16500   __pyx_L0:;
16501   __Pyx_XGIVEREF(__pyx_r);
16502   __Pyx_RefNannyFinishContext();
16503   return __pyx_r;
16504 }
16505 
16506 /* "Cython/Compiler/FlowControl.py":392
16507  *
16508  * class NameReference(object):
16509  *     def __init__(self, node, entry):             # <<<<<<<<<<<<<<
16510  *         if node.cf_state is None:
16511  *             node.cf_state = set()
16512  */
16513 
16514 /* Python wrapper */
16515 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_13NameReference_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
16516 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_13NameReference_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_13NameReference_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_13NameReference_1__init__(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)16517 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_13NameReference_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
16518   PyObject *__pyx_v_self = 0;
16519   PyObject *__pyx_v_node = 0;
16520   PyObject *__pyx_v_entry = 0;
16521   int __pyx_lineno = 0;
16522   const char *__pyx_filename = NULL;
16523   int __pyx_clineno = 0;
16524   PyObject *__pyx_r = 0;
16525   __Pyx_RefNannyDeclarations
16526   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
16527   {
16528     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_node,&__pyx_n_s_entry,0};
16529     PyObject* values[3] = {0,0,0};
16530     if (unlikely(__pyx_kwds)) {
16531       Py_ssize_t kw_args;
16532       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
16533       switch (pos_args) {
16534         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
16535         CYTHON_FALLTHROUGH;
16536         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
16537         CYTHON_FALLTHROUGH;
16538         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
16539         CYTHON_FALLTHROUGH;
16540         case  0: break;
16541         default: goto __pyx_L5_argtuple_error;
16542       }
16543       kw_args = PyDict_Size(__pyx_kwds);
16544       switch (pos_args) {
16545         case  0:
16546         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
16547         else goto __pyx_L5_argtuple_error;
16548         CYTHON_FALLTHROUGH;
16549         case  1:
16550         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node)) != 0)) kw_args--;
16551         else {
16552           __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(0, 392, __pyx_L3_error)
16553         }
16554         CYTHON_FALLTHROUGH;
16555         case  2:
16556         if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
16557         else {
16558           __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(0, 392, __pyx_L3_error)
16559         }
16560       }
16561       if (unlikely(kw_args > 0)) {
16562         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 392, __pyx_L3_error)
16563       }
16564     } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
16565       goto __pyx_L5_argtuple_error;
16566     } else {
16567       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
16568       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
16569       values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
16570     }
16571     __pyx_v_self = values[0];
16572     __pyx_v_node = values[1];
16573     __pyx_v_entry = values[2];
16574   }
16575   goto __pyx_L4_argument_unpacking_done;
16576   __pyx_L5_argtuple_error:;
16577   __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 392, __pyx_L3_error)
16578   __pyx_L3_error:;
16579   __Pyx_AddTraceback("Cython.Compiler.FlowControl.NameReference.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
16580   __Pyx_RefNannyFinishContext();
16581   return NULL;
16582   __pyx_L4_argument_unpacking_done:;
16583   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_13NameReference___init__(__pyx_self, __pyx_v_self, __pyx_v_node, __pyx_v_entry);
16584 
16585   /* function exit code */
16586   __Pyx_RefNannyFinishContext();
16587   return __pyx_r;
16588 }
16589 
__pyx_pf_6Cython_8Compiler_11FlowControl_13NameReference___init__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_node,PyObject * __pyx_v_entry)16590 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_13NameReference___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_node, PyObject *__pyx_v_entry) {
16591   PyObject *__pyx_r = NULL;
16592   __Pyx_RefNannyDeclarations
16593   PyObject *__pyx_t_1 = NULL;
16594   int __pyx_t_2;
16595   int __pyx_t_3;
16596   int __pyx_lineno = 0;
16597   const char *__pyx_filename = NULL;
16598   int __pyx_clineno = 0;
16599   __Pyx_RefNannySetupContext("__init__", 0);
16600 
16601   /* "Cython/Compiler/FlowControl.py":393
16602  * class NameReference(object):
16603  *     def __init__(self, node, entry):
16604  *         if node.cf_state is None:             # <<<<<<<<<<<<<<
16605  *             node.cf_state = set()
16606  *         self.node = node
16607  */
16608   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_cf_state); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 393, __pyx_L1_error)
16609   __Pyx_GOTREF(__pyx_t_1);
16610   __pyx_t_2 = (__pyx_t_1 == Py_None);
16611   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
16612   __pyx_t_3 = (__pyx_t_2 != 0);
16613   if (__pyx_t_3) {
16614 
16615     /* "Cython/Compiler/FlowControl.py":394
16616  *     def __init__(self, node, entry):
16617  *         if node.cf_state is None:
16618  *             node.cf_state = set()             # <<<<<<<<<<<<<<
16619  *         self.node = node
16620  *         self.entry = entry
16621  */
16622     __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 394, __pyx_L1_error)
16623     __Pyx_GOTREF(__pyx_t_1);
16624     if (__Pyx_PyObject_SetAttrStr(__pyx_v_node, __pyx_n_s_cf_state, __pyx_t_1) < 0) __PYX_ERR(0, 394, __pyx_L1_error)
16625     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
16626 
16627     /* "Cython/Compiler/FlowControl.py":393
16628  * class NameReference(object):
16629  *     def __init__(self, node, entry):
16630  *         if node.cf_state is None:             # <<<<<<<<<<<<<<
16631  *             node.cf_state = set()
16632  *         self.node = node
16633  */
16634   }
16635 
16636   /* "Cython/Compiler/FlowControl.py":395
16637  *         if node.cf_state is None:
16638  *             node.cf_state = set()
16639  *         self.node = node             # <<<<<<<<<<<<<<
16640  *         self.entry = entry
16641  *         self.pos = node.pos
16642  */
16643   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_node, __pyx_v_node) < 0) __PYX_ERR(0, 395, __pyx_L1_error)
16644 
16645   /* "Cython/Compiler/FlowControl.py":396
16646  *             node.cf_state = set()
16647  *         self.node = node
16648  *         self.entry = entry             # <<<<<<<<<<<<<<
16649  *         self.pos = node.pos
16650  *
16651  */
16652   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_entry, __pyx_v_entry) < 0) __PYX_ERR(0, 396, __pyx_L1_error)
16653 
16654   /* "Cython/Compiler/FlowControl.py":397
16655  *         self.node = node
16656  *         self.entry = entry
16657  *         self.pos = node.pos             # <<<<<<<<<<<<<<
16658  *
16659  *     def __repr__(self):
16660  */
16661   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_pos); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 397, __pyx_L1_error)
16662   __Pyx_GOTREF(__pyx_t_1);
16663   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_pos, __pyx_t_1) < 0) __PYX_ERR(0, 397, __pyx_L1_error)
16664   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
16665 
16666   /* "Cython/Compiler/FlowControl.py":392
16667  *
16668  * class NameReference(object):
16669  *     def __init__(self, node, entry):             # <<<<<<<<<<<<<<
16670  *         if node.cf_state is None:
16671  *             node.cf_state = set()
16672  */
16673 
16674   /* function exit code */
16675   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
16676   goto __pyx_L0;
16677   __pyx_L1_error:;
16678   __Pyx_XDECREF(__pyx_t_1);
16679   __Pyx_AddTraceback("Cython.Compiler.FlowControl.NameReference.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
16680   __pyx_r = NULL;
16681   __pyx_L0:;
16682   __Pyx_XGIVEREF(__pyx_r);
16683   __Pyx_RefNannyFinishContext();
16684   return __pyx_r;
16685 }
16686 
16687 /* "Cython/Compiler/FlowControl.py":399
16688  *         self.pos = node.pos
16689  *
16690  *     def __repr__(self):             # <<<<<<<<<<<<<<
16691  *         return '%s(entry=%r)' % (self.__class__.__name__, self.entry)
16692  *
16693  */
16694 
16695 /* Python wrapper */
16696 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_13NameReference_3__repr__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
16697 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_13NameReference_3__repr__ = {"__repr__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_13NameReference_3__repr__, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_13NameReference_3__repr__(PyObject * __pyx_self,PyObject * __pyx_v_self)16698 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_13NameReference_3__repr__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
16699   PyObject *__pyx_r = 0;
16700   __Pyx_RefNannyDeclarations
16701   __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
16702   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_13NameReference_2__repr__(__pyx_self, ((PyObject *)__pyx_v_self));
16703 
16704   /* function exit code */
16705   __Pyx_RefNannyFinishContext();
16706   return __pyx_r;
16707 }
16708 
__pyx_pf_6Cython_8Compiler_11FlowControl_13NameReference_2__repr__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self)16709 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_13NameReference_2__repr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
16710   PyObject *__pyx_r = NULL;
16711   __Pyx_RefNannyDeclarations
16712   PyObject *__pyx_t_1 = NULL;
16713   PyObject *__pyx_t_2 = NULL;
16714   PyObject *__pyx_t_3 = NULL;
16715   int __pyx_lineno = 0;
16716   const char *__pyx_filename = NULL;
16717   int __pyx_clineno = 0;
16718   __Pyx_RefNannySetupContext("__repr__", 0);
16719 
16720   /* "Cython/Compiler/FlowControl.py":400
16721  *
16722  *     def __repr__(self):
16723  *         return '%s(entry=%r)' % (self.__class__.__name__, self.entry)             # <<<<<<<<<<<<<<
16724  *
16725  *
16726  */
16727   __Pyx_XDECREF(__pyx_r);
16728   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_class); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 400, __pyx_L1_error)
16729   __Pyx_GOTREF(__pyx_t_1);
16730   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 400, __pyx_L1_error)
16731   __Pyx_GOTREF(__pyx_t_2);
16732   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
16733   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_entry); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 400, __pyx_L1_error)
16734   __Pyx_GOTREF(__pyx_t_1);
16735   __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 400, __pyx_L1_error)
16736   __Pyx_GOTREF(__pyx_t_3);
16737   __Pyx_GIVEREF(__pyx_t_2);
16738   PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
16739   __Pyx_GIVEREF(__pyx_t_1);
16740   PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1);
16741   __pyx_t_2 = 0;
16742   __pyx_t_1 = 0;
16743   __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_s_entry_r, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 400, __pyx_L1_error)
16744   __Pyx_GOTREF(__pyx_t_1);
16745   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
16746   __pyx_r = __pyx_t_1;
16747   __pyx_t_1 = 0;
16748   goto __pyx_L0;
16749 
16750   /* "Cython/Compiler/FlowControl.py":399
16751  *         self.pos = node.pos
16752  *
16753  *     def __repr__(self):             # <<<<<<<<<<<<<<
16754  *         return '%s(entry=%r)' % (self.__class__.__name__, self.entry)
16755  *
16756  */
16757 
16758   /* function exit code */
16759   __pyx_L1_error:;
16760   __Pyx_XDECREF(__pyx_t_1);
16761   __Pyx_XDECREF(__pyx_t_2);
16762   __Pyx_XDECREF(__pyx_t_3);
16763   __Pyx_AddTraceback("Cython.Compiler.FlowControl.NameReference.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
16764   __pyx_r = NULL;
16765   __pyx_L0:;
16766   __Pyx_XGIVEREF(__pyx_r);
16767   __Pyx_RefNannyFinishContext();
16768   return __pyx_r;
16769 }
16770 
16771 /* "Cython/Compiler/FlowControl.py":414
16772  *     is_single = False
16773  *
16774  *     def __init__(self, state):             # <<<<<<<<<<<<<<
16775  *         if Uninitialized in state:
16776  *             state.discard(Uninitialized)
16777  */
16778 
16779 /* Python wrapper */
16780 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_16ControlFlowState_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
16781 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_16ControlFlowState_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_16ControlFlowState_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_16ControlFlowState_1__init__(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)16782 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_16ControlFlowState_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
16783   PyObject *__pyx_v_self = 0;
16784   PyObject *__pyx_v_state = 0;
16785   int __pyx_lineno = 0;
16786   const char *__pyx_filename = NULL;
16787   int __pyx_clineno = 0;
16788   PyObject *__pyx_r = 0;
16789   __Pyx_RefNannyDeclarations
16790   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
16791   {
16792     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_state,0};
16793     PyObject* values[2] = {0,0};
16794     if (unlikely(__pyx_kwds)) {
16795       Py_ssize_t kw_args;
16796       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
16797       switch (pos_args) {
16798         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
16799         CYTHON_FALLTHROUGH;
16800         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
16801         CYTHON_FALLTHROUGH;
16802         case  0: break;
16803         default: goto __pyx_L5_argtuple_error;
16804       }
16805       kw_args = PyDict_Size(__pyx_kwds);
16806       switch (pos_args) {
16807         case  0:
16808         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
16809         else goto __pyx_L5_argtuple_error;
16810         CYTHON_FALLTHROUGH;
16811         case  1:
16812         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_state)) != 0)) kw_args--;
16813         else {
16814           __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 414, __pyx_L3_error)
16815         }
16816       }
16817       if (unlikely(kw_args > 0)) {
16818         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 414, __pyx_L3_error)
16819       }
16820     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
16821       goto __pyx_L5_argtuple_error;
16822     } else {
16823       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
16824       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
16825     }
16826     __pyx_v_self = values[0];
16827     __pyx_v_state = values[1];
16828   }
16829   goto __pyx_L4_argument_unpacking_done;
16830   __pyx_L5_argtuple_error:;
16831   __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 414, __pyx_L3_error)
16832   __pyx_L3_error:;
16833   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowState.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
16834   __Pyx_RefNannyFinishContext();
16835   return NULL;
16836   __pyx_L4_argument_unpacking_done:;
16837   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_16ControlFlowState___init__(__pyx_self, __pyx_v_self, __pyx_v_state);
16838 
16839   /* function exit code */
16840   __Pyx_RefNannyFinishContext();
16841   return __pyx_r;
16842 }
16843 
__pyx_pf_6Cython_8Compiler_11FlowControl_16ControlFlowState___init__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_state)16844 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_16ControlFlowState___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_state) {
16845   PyObject *__pyx_v_i = NULL;
16846   PyObject *__pyx_r = NULL;
16847   __Pyx_RefNannyDeclarations
16848   int __pyx_t_1;
16849   int __pyx_t_2;
16850   PyObject *__pyx_t_3 = NULL;
16851   PyObject *__pyx_t_4 = NULL;
16852   PyObject *__pyx_t_5 = NULL;
16853   Py_ssize_t __pyx_t_6;
16854   PyObject *__pyx_t_7 = NULL;
16855   PyObject *(*__pyx_t_8)(PyObject *);
16856   PyObject *__pyx_t_9 = NULL;
16857   int __pyx_lineno = 0;
16858   const char *__pyx_filename = NULL;
16859   int __pyx_clineno = 0;
16860   __Pyx_RefNannySetupContext("__init__", 0);
16861 
16862   /* "Cython/Compiler/FlowControl.py":415
16863  *
16864  *     def __init__(self, state):
16865  *         if Uninitialized in state:             # <<<<<<<<<<<<<<
16866  *             state.discard(Uninitialized)
16867  *             self.cf_maybe_null = True
16868  */
16869   __pyx_t_1 = (__Pyx_PySequence_ContainsTF(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_Uninitialized), __pyx_v_state, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 415, __pyx_L1_error)
16870   __pyx_t_2 = (__pyx_t_1 != 0);
16871   if (__pyx_t_2) {
16872 
16873     /* "Cython/Compiler/FlowControl.py":416
16874  *     def __init__(self, state):
16875  *         if Uninitialized in state:
16876  *             state.discard(Uninitialized)             # <<<<<<<<<<<<<<
16877  *             self.cf_maybe_null = True
16878  *             if not state:
16879  */
16880     __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_state, __pyx_n_s_discard); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 416, __pyx_L1_error)
16881     __Pyx_GOTREF(__pyx_t_4);
16882     __pyx_t_5 = NULL;
16883     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
16884       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
16885       if (likely(__pyx_t_5)) {
16886         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
16887         __Pyx_INCREF(__pyx_t_5);
16888         __Pyx_INCREF(function);
16889         __Pyx_DECREF_SET(__pyx_t_4, function);
16890       }
16891     }
16892     __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, ((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_Uninitialized)) : __Pyx_PyObject_CallOneArg(__pyx_t_4, ((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_Uninitialized));
16893     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
16894     if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 416, __pyx_L1_error)
16895     __Pyx_GOTREF(__pyx_t_3);
16896     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
16897     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
16898 
16899     /* "Cython/Compiler/FlowControl.py":417
16900  *         if Uninitialized in state:
16901  *             state.discard(Uninitialized)
16902  *             self.cf_maybe_null = True             # <<<<<<<<<<<<<<
16903  *             if not state:
16904  *                 self.cf_is_null = True
16905  */
16906     if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_cf_maybe_null, Py_True) < 0) __PYX_ERR(0, 417, __pyx_L1_error)
16907 
16908     /* "Cython/Compiler/FlowControl.py":418
16909  *             state.discard(Uninitialized)
16910  *             self.cf_maybe_null = True
16911  *             if not state:             # <<<<<<<<<<<<<<
16912  *                 self.cf_is_null = True
16913  *         elif Unknown in state:
16914  */
16915     __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_state); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 418, __pyx_L1_error)
16916     __pyx_t_1 = ((!__pyx_t_2) != 0);
16917     if (__pyx_t_1) {
16918 
16919       /* "Cython/Compiler/FlowControl.py":419
16920  *             self.cf_maybe_null = True
16921  *             if not state:
16922  *                 self.cf_is_null = True             # <<<<<<<<<<<<<<
16923  *         elif Unknown in state:
16924  *             state.discard(Unknown)
16925  */
16926       if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_cf_is_null, Py_True) < 0) __PYX_ERR(0, 419, __pyx_L1_error)
16927 
16928       /* "Cython/Compiler/FlowControl.py":418
16929  *             state.discard(Uninitialized)
16930  *             self.cf_maybe_null = True
16931  *             if not state:             # <<<<<<<<<<<<<<
16932  *                 self.cf_is_null = True
16933  *         elif Unknown in state:
16934  */
16935     }
16936 
16937     /* "Cython/Compiler/FlowControl.py":415
16938  *
16939  *     def __init__(self, state):
16940  *         if Uninitialized in state:             # <<<<<<<<<<<<<<
16941  *             state.discard(Uninitialized)
16942  *             self.cf_maybe_null = True
16943  */
16944     goto __pyx_L3;
16945   }
16946 
16947   /* "Cython/Compiler/FlowControl.py":420
16948  *             if not state:
16949  *                 self.cf_is_null = True
16950  *         elif Unknown in state:             # <<<<<<<<<<<<<<
16951  *             state.discard(Unknown)
16952  *             self.cf_maybe_null = True
16953  */
16954   __pyx_t_1 = (__Pyx_PySequence_ContainsTF(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_Unknown), __pyx_v_state, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 420, __pyx_L1_error)
16955   __pyx_t_2 = (__pyx_t_1 != 0);
16956   if (__pyx_t_2) {
16957 
16958     /* "Cython/Compiler/FlowControl.py":421
16959  *                 self.cf_is_null = True
16960  *         elif Unknown in state:
16961  *             state.discard(Unknown)             # <<<<<<<<<<<<<<
16962  *             self.cf_maybe_null = True
16963  *         else:
16964  */
16965     __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_state, __pyx_n_s_discard); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 421, __pyx_L1_error)
16966     __Pyx_GOTREF(__pyx_t_4);
16967     __pyx_t_5 = NULL;
16968     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
16969       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
16970       if (likely(__pyx_t_5)) {
16971         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
16972         __Pyx_INCREF(__pyx_t_5);
16973         __Pyx_INCREF(function);
16974         __Pyx_DECREF_SET(__pyx_t_4, function);
16975       }
16976     }
16977     __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, ((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_Unknown)) : __Pyx_PyObject_CallOneArg(__pyx_t_4, ((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_Unknown));
16978     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
16979     if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 421, __pyx_L1_error)
16980     __Pyx_GOTREF(__pyx_t_3);
16981     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
16982     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
16983 
16984     /* "Cython/Compiler/FlowControl.py":422
16985  *         elif Unknown in state:
16986  *             state.discard(Unknown)
16987  *             self.cf_maybe_null = True             # <<<<<<<<<<<<<<
16988  *         else:
16989  *             if len(state) == 1:
16990  */
16991     if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_cf_maybe_null, Py_True) < 0) __PYX_ERR(0, 422, __pyx_L1_error)
16992 
16993     /* "Cython/Compiler/FlowControl.py":420
16994  *             if not state:
16995  *                 self.cf_is_null = True
16996  *         elif Unknown in state:             # <<<<<<<<<<<<<<
16997  *             state.discard(Unknown)
16998  *             self.cf_maybe_null = True
16999  */
17000     goto __pyx_L3;
17001   }
17002 
17003   /* "Cython/Compiler/FlowControl.py":424
17004  *             self.cf_maybe_null = True
17005  *         else:
17006  *             if len(state) == 1:             # <<<<<<<<<<<<<<
17007  *                 self.is_single = True
17008  *         # XXX: Remove fake_rhs_expr
17009  */
17010   /*else*/ {
17011     __pyx_t_6 = PyObject_Length(__pyx_v_state); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 424, __pyx_L1_error)
17012     __pyx_t_2 = ((__pyx_t_6 == 1) != 0);
17013     if (__pyx_t_2) {
17014 
17015       /* "Cython/Compiler/FlowControl.py":425
17016  *         else:
17017  *             if len(state) == 1:
17018  *                 self.is_single = True             # <<<<<<<<<<<<<<
17019  *         # XXX: Remove fake_rhs_expr
17020  *         super(ControlFlowState, self).__init__(
17021  */
17022       if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_is_single, Py_True) < 0) __PYX_ERR(0, 425, __pyx_L1_error)
17023 
17024       /* "Cython/Compiler/FlowControl.py":424
17025  *             self.cf_maybe_null = True
17026  *         else:
17027  *             if len(state) == 1:             # <<<<<<<<<<<<<<
17028  *                 self.is_single = True
17029  *         # XXX: Remove fake_rhs_expr
17030  */
17031     }
17032   }
17033   __pyx_L3:;
17034 
17035   /* "Cython/Compiler/FlowControl.py":427
17036  *                 self.is_single = True
17037  *         # XXX: Remove fake_rhs_expr
17038  *         super(ControlFlowState, self).__init__(             # <<<<<<<<<<<<<<
17039  *             [i for i in state if i.rhs is not fake_rhs_expr])
17040  *
17041  */
17042   __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_ControlFlowState); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 427, __pyx_L1_error)
17043   __Pyx_GOTREF(__pyx_t_4);
17044   __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 427, __pyx_L1_error)
17045   __Pyx_GOTREF(__pyx_t_5);
17046   __Pyx_GIVEREF(__pyx_t_4);
17047   PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
17048   __Pyx_INCREF(__pyx_v_self);
17049   __Pyx_GIVEREF(__pyx_v_self);
17050   PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_self);
17051   __pyx_t_4 = 0;
17052   __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 427, __pyx_L1_error)
17053   __Pyx_GOTREF(__pyx_t_4);
17054   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
17055   __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_init); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 427, __pyx_L1_error)
17056   __Pyx_GOTREF(__pyx_t_5);
17057   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
17058 
17059   /* "Cython/Compiler/FlowControl.py":428
17060  *         # XXX: Remove fake_rhs_expr
17061  *         super(ControlFlowState, self).__init__(
17062  *             [i for i in state if i.rhs is not fake_rhs_expr])             # <<<<<<<<<<<<<<
17063  *
17064  *     def one(self):
17065  */
17066   __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 428, __pyx_L1_error)
17067   __Pyx_GOTREF(__pyx_t_4);
17068   if (likely(PyList_CheckExact(__pyx_v_state)) || PyTuple_CheckExact(__pyx_v_state)) {
17069     __pyx_t_7 = __pyx_v_state; __Pyx_INCREF(__pyx_t_7); __pyx_t_6 = 0;
17070     __pyx_t_8 = NULL;
17071   } else {
17072     __pyx_t_6 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_state); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 428, __pyx_L1_error)
17073     __Pyx_GOTREF(__pyx_t_7);
17074     __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 428, __pyx_L1_error)
17075   }
17076   for (;;) {
17077     if (likely(!__pyx_t_8)) {
17078       if (likely(PyList_CheckExact(__pyx_t_7))) {
17079         if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_7)) break;
17080         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
17081         __pyx_t_9 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 428, __pyx_L1_error)
17082         #else
17083         __pyx_t_9 = PySequence_ITEM(__pyx_t_7, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 428, __pyx_L1_error)
17084         __Pyx_GOTREF(__pyx_t_9);
17085         #endif
17086       } else {
17087         if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_7)) break;
17088         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
17089         __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 428, __pyx_L1_error)
17090         #else
17091         __pyx_t_9 = PySequence_ITEM(__pyx_t_7, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 428, __pyx_L1_error)
17092         __Pyx_GOTREF(__pyx_t_9);
17093         #endif
17094       }
17095     } else {
17096       __pyx_t_9 = __pyx_t_8(__pyx_t_7);
17097       if (unlikely(!__pyx_t_9)) {
17098         PyObject* exc_type = PyErr_Occurred();
17099         if (exc_type) {
17100           if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
17101           else __PYX_ERR(0, 428, __pyx_L1_error)
17102         }
17103         break;
17104       }
17105       __Pyx_GOTREF(__pyx_t_9);
17106     }
17107     __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_9);
17108     __pyx_t_9 = 0;
17109     __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_i, __pyx_n_s_rhs); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 428, __pyx_L1_error)
17110     __Pyx_GOTREF(__pyx_t_9);
17111     __pyx_t_2 = (__pyx_t_9 != __pyx_v_6Cython_8Compiler_11FlowControl_fake_rhs_expr);
17112     __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
17113     __pyx_t_1 = (__pyx_t_2 != 0);
17114     if (__pyx_t_1) {
17115       if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_v_i))) __PYX_ERR(0, 428, __pyx_L1_error)
17116     }
17117   }
17118   __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
17119   __pyx_t_7 = NULL;
17120   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
17121     __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
17122     if (likely(__pyx_t_7)) {
17123       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
17124       __Pyx_INCREF(__pyx_t_7);
17125       __Pyx_INCREF(function);
17126       __Pyx_DECREF_SET(__pyx_t_5, function);
17127     }
17128   }
17129   __pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4);
17130   __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
17131   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
17132   if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 427, __pyx_L1_error)
17133   __Pyx_GOTREF(__pyx_t_3);
17134   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
17135   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
17136 
17137   /* "Cython/Compiler/FlowControl.py":414
17138  *     is_single = False
17139  *
17140  *     def __init__(self, state):             # <<<<<<<<<<<<<<
17141  *         if Uninitialized in state:
17142  *             state.discard(Uninitialized)
17143  */
17144 
17145   /* function exit code */
17146   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
17147   goto __pyx_L0;
17148   __pyx_L1_error:;
17149   __Pyx_XDECREF(__pyx_t_3);
17150   __Pyx_XDECREF(__pyx_t_4);
17151   __Pyx_XDECREF(__pyx_t_5);
17152   __Pyx_XDECREF(__pyx_t_7);
17153   __Pyx_XDECREF(__pyx_t_9);
17154   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowState.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
17155   __pyx_r = NULL;
17156   __pyx_L0:;
17157   __Pyx_XDECREF(__pyx_v_i);
17158   __Pyx_XGIVEREF(__pyx_r);
17159   __Pyx_RefNannyFinishContext();
17160   return __pyx_r;
17161 }
17162 
17163 /* "Cython/Compiler/FlowControl.py":430
17164  *             [i for i in state if i.rhs is not fake_rhs_expr])
17165  *
17166  *     def one(self):             # <<<<<<<<<<<<<<
17167  *         return self[0]
17168  *
17169  */
17170 
17171 /* Python wrapper */
17172 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_16ControlFlowState_3one(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
17173 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_16ControlFlowState_3one = {"one", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_16ControlFlowState_3one, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_16ControlFlowState_3one(PyObject * __pyx_self,PyObject * __pyx_v_self)17174 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_16ControlFlowState_3one(PyObject *__pyx_self, PyObject *__pyx_v_self) {
17175   PyObject *__pyx_r = 0;
17176   __Pyx_RefNannyDeclarations
17177   __Pyx_RefNannySetupContext("one (wrapper)", 0);
17178   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_16ControlFlowState_2one(__pyx_self, ((PyObject *)__pyx_v_self));
17179 
17180   /* function exit code */
17181   __Pyx_RefNannyFinishContext();
17182   return __pyx_r;
17183 }
17184 
__pyx_pf_6Cython_8Compiler_11FlowControl_16ControlFlowState_2one(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self)17185 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_16ControlFlowState_2one(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
17186   PyObject *__pyx_r = NULL;
17187   __Pyx_RefNannyDeclarations
17188   PyObject *__pyx_t_1 = NULL;
17189   int __pyx_lineno = 0;
17190   const char *__pyx_filename = NULL;
17191   int __pyx_clineno = 0;
17192   __Pyx_RefNannySetupContext("one", 0);
17193 
17194   /* "Cython/Compiler/FlowControl.py":431
17195  *
17196  *     def one(self):
17197  *         return self[0]             # <<<<<<<<<<<<<<
17198  *
17199  *
17200  */
17201   __Pyx_XDECREF(__pyx_r);
17202   __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_self, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 431, __pyx_L1_error)
17203   __Pyx_GOTREF(__pyx_t_1);
17204   __pyx_r = __pyx_t_1;
17205   __pyx_t_1 = 0;
17206   goto __pyx_L0;
17207 
17208   /* "Cython/Compiler/FlowControl.py":430
17209  *             [i for i in state if i.rhs is not fake_rhs_expr])
17210  *
17211  *     def one(self):             # <<<<<<<<<<<<<<
17212  *         return self[0]
17213  *
17214  */
17215 
17216   /* function exit code */
17217   __pyx_L1_error:;
17218   __Pyx_XDECREF(__pyx_t_1);
17219   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowState.one", __pyx_clineno, __pyx_lineno, __pyx_filename);
17220   __pyx_r = NULL;
17221   __pyx_L0:;
17222   __Pyx_XGIVEREF(__pyx_r);
17223   __Pyx_RefNannyFinishContext();
17224   return __pyx_r;
17225 }
17226 
17227 /* "Cython/Compiler/FlowControl.py":437
17228  *     """Graphviz subgraph object."""
17229  *
17230  *     def __init__(self):             # <<<<<<<<<<<<<<
17231  *         self.blockids = {}
17232  *         self.nextid = 0
17233  */
17234 
17235 /* Python wrapper */
17236 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_1__init__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
17237 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_9GVContext_1__init__ = {"__init__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_1__init__, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_1__init__(PyObject * __pyx_self,PyObject * __pyx_v_self)17238 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_1__init__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
17239   PyObject *__pyx_r = 0;
17240   __Pyx_RefNannyDeclarations
17241   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
17242   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext___init__(__pyx_self, ((PyObject *)__pyx_v_self));
17243 
17244   /* function exit code */
17245   __Pyx_RefNannyFinishContext();
17246   return __pyx_r;
17247 }
17248 
__pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext___init__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self)17249 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
17250   PyObject *__pyx_r = NULL;
17251   __Pyx_RefNannyDeclarations
17252   PyObject *__pyx_t_1 = NULL;
17253   int __pyx_lineno = 0;
17254   const char *__pyx_filename = NULL;
17255   int __pyx_clineno = 0;
17256   __Pyx_RefNannySetupContext("__init__", 0);
17257 
17258   /* "Cython/Compiler/FlowControl.py":438
17259  *
17260  *     def __init__(self):
17261  *         self.blockids = {}             # <<<<<<<<<<<<<<
17262  *         self.nextid = 0
17263  *         self.children = []
17264  */
17265   __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 438, __pyx_L1_error)
17266   __Pyx_GOTREF(__pyx_t_1);
17267   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_blockids, __pyx_t_1) < 0) __PYX_ERR(0, 438, __pyx_L1_error)
17268   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17269 
17270   /* "Cython/Compiler/FlowControl.py":439
17271  *     def __init__(self):
17272  *         self.blockids = {}
17273  *         self.nextid = 0             # <<<<<<<<<<<<<<
17274  *         self.children = []
17275  *         self.sources = {}
17276  */
17277   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_nextid, __pyx_int_0) < 0) __PYX_ERR(0, 439, __pyx_L1_error)
17278 
17279   /* "Cython/Compiler/FlowControl.py":440
17280  *         self.blockids = {}
17281  *         self.nextid = 0
17282  *         self.children = []             # <<<<<<<<<<<<<<
17283  *         self.sources = {}
17284  *
17285  */
17286   __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 440, __pyx_L1_error)
17287   __Pyx_GOTREF(__pyx_t_1);
17288   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_children, __pyx_t_1) < 0) __PYX_ERR(0, 440, __pyx_L1_error)
17289   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17290 
17291   /* "Cython/Compiler/FlowControl.py":441
17292  *         self.nextid = 0
17293  *         self.children = []
17294  *         self.sources = {}             # <<<<<<<<<<<<<<
17295  *
17296  *     def add(self, child):
17297  */
17298   __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 441, __pyx_L1_error)
17299   __Pyx_GOTREF(__pyx_t_1);
17300   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_sources, __pyx_t_1) < 0) __PYX_ERR(0, 441, __pyx_L1_error)
17301   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17302 
17303   /* "Cython/Compiler/FlowControl.py":437
17304  *     """Graphviz subgraph object."""
17305  *
17306  *     def __init__(self):             # <<<<<<<<<<<<<<
17307  *         self.blockids = {}
17308  *         self.nextid = 0
17309  */
17310 
17311   /* function exit code */
17312   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
17313   goto __pyx_L0;
17314   __pyx_L1_error:;
17315   __Pyx_XDECREF(__pyx_t_1);
17316   __Pyx_AddTraceback("Cython.Compiler.FlowControl.GVContext.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
17317   __pyx_r = NULL;
17318   __pyx_L0:;
17319   __Pyx_XGIVEREF(__pyx_r);
17320   __Pyx_RefNannyFinishContext();
17321   return __pyx_r;
17322 }
17323 
17324 /* "Cython/Compiler/FlowControl.py":443
17325  *         self.sources = {}
17326  *
17327  *     def add(self, child):             # <<<<<<<<<<<<<<
17328  *         self.children.append(child)
17329  *
17330  */
17331 
17332 /* Python wrapper */
17333 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_3add(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
17334 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_9GVContext_3add = {"add", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_3add, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_3add(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)17335 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_3add(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
17336   PyObject *__pyx_v_self = 0;
17337   PyObject *__pyx_v_child = 0;
17338   int __pyx_lineno = 0;
17339   const char *__pyx_filename = NULL;
17340   int __pyx_clineno = 0;
17341   PyObject *__pyx_r = 0;
17342   __Pyx_RefNannyDeclarations
17343   __Pyx_RefNannySetupContext("add (wrapper)", 0);
17344   {
17345     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_child,0};
17346     PyObject* values[2] = {0,0};
17347     if (unlikely(__pyx_kwds)) {
17348       Py_ssize_t kw_args;
17349       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
17350       switch (pos_args) {
17351         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
17352         CYTHON_FALLTHROUGH;
17353         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
17354         CYTHON_FALLTHROUGH;
17355         case  0: break;
17356         default: goto __pyx_L5_argtuple_error;
17357       }
17358       kw_args = PyDict_Size(__pyx_kwds);
17359       switch (pos_args) {
17360         case  0:
17361         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
17362         else goto __pyx_L5_argtuple_error;
17363         CYTHON_FALLTHROUGH;
17364         case  1:
17365         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_child)) != 0)) kw_args--;
17366         else {
17367           __Pyx_RaiseArgtupleInvalid("add", 1, 2, 2, 1); __PYX_ERR(0, 443, __pyx_L3_error)
17368         }
17369       }
17370       if (unlikely(kw_args > 0)) {
17371         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "add") < 0)) __PYX_ERR(0, 443, __pyx_L3_error)
17372       }
17373     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
17374       goto __pyx_L5_argtuple_error;
17375     } else {
17376       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
17377       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
17378     }
17379     __pyx_v_self = values[0];
17380     __pyx_v_child = values[1];
17381   }
17382   goto __pyx_L4_argument_unpacking_done;
17383   __pyx_L5_argtuple_error:;
17384   __Pyx_RaiseArgtupleInvalid("add", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 443, __pyx_L3_error)
17385   __pyx_L3_error:;
17386   __Pyx_AddTraceback("Cython.Compiler.FlowControl.GVContext.add", __pyx_clineno, __pyx_lineno, __pyx_filename);
17387   __Pyx_RefNannyFinishContext();
17388   return NULL;
17389   __pyx_L4_argument_unpacking_done:;
17390   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext_2add(__pyx_self, __pyx_v_self, __pyx_v_child);
17391 
17392   /* function exit code */
17393   __Pyx_RefNannyFinishContext();
17394   return __pyx_r;
17395 }
17396 
__pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext_2add(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_child)17397 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext_2add(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_child) {
17398   PyObject *__pyx_r = NULL;
17399   __Pyx_RefNannyDeclarations
17400   PyObject *__pyx_t_1 = NULL;
17401   int __pyx_t_2;
17402   int __pyx_lineno = 0;
17403   const char *__pyx_filename = NULL;
17404   int __pyx_clineno = 0;
17405   __Pyx_RefNannySetupContext("add", 0);
17406 
17407   /* "Cython/Compiler/FlowControl.py":444
17408  *
17409  *     def add(self, child):
17410  *         self.children.append(child)             # <<<<<<<<<<<<<<
17411  *
17412  *     def nodeid(self, block):
17413  */
17414   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_children); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 444, __pyx_L1_error)
17415   __Pyx_GOTREF(__pyx_t_1);
17416   __pyx_t_2 = __Pyx_PyObject_Append(__pyx_t_1, __pyx_v_child); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 444, __pyx_L1_error)
17417   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17418 
17419   /* "Cython/Compiler/FlowControl.py":443
17420  *         self.sources = {}
17421  *
17422  *     def add(self, child):             # <<<<<<<<<<<<<<
17423  *         self.children.append(child)
17424  *
17425  */
17426 
17427   /* function exit code */
17428   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
17429   goto __pyx_L0;
17430   __pyx_L1_error:;
17431   __Pyx_XDECREF(__pyx_t_1);
17432   __Pyx_AddTraceback("Cython.Compiler.FlowControl.GVContext.add", __pyx_clineno, __pyx_lineno, __pyx_filename);
17433   __pyx_r = NULL;
17434   __pyx_L0:;
17435   __Pyx_XGIVEREF(__pyx_r);
17436   __Pyx_RefNannyFinishContext();
17437   return __pyx_r;
17438 }
17439 
17440 /* "Cython/Compiler/FlowControl.py":446
17441  *         self.children.append(child)
17442  *
17443  *     def nodeid(self, block):             # <<<<<<<<<<<<<<
17444  *         if block not in self.blockids:
17445  *             self.blockids[block] = 'block%d' % self.nextid
17446  */
17447 
17448 /* Python wrapper */
17449 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_5nodeid(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
17450 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_9GVContext_5nodeid = {"nodeid", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_5nodeid, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_5nodeid(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)17451 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_5nodeid(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
17452   PyObject *__pyx_v_self = 0;
17453   PyObject *__pyx_v_block = 0;
17454   int __pyx_lineno = 0;
17455   const char *__pyx_filename = NULL;
17456   int __pyx_clineno = 0;
17457   PyObject *__pyx_r = 0;
17458   __Pyx_RefNannyDeclarations
17459   __Pyx_RefNannySetupContext("nodeid (wrapper)", 0);
17460   {
17461     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_block,0};
17462     PyObject* values[2] = {0,0};
17463     if (unlikely(__pyx_kwds)) {
17464       Py_ssize_t kw_args;
17465       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
17466       switch (pos_args) {
17467         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
17468         CYTHON_FALLTHROUGH;
17469         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
17470         CYTHON_FALLTHROUGH;
17471         case  0: break;
17472         default: goto __pyx_L5_argtuple_error;
17473       }
17474       kw_args = PyDict_Size(__pyx_kwds);
17475       switch (pos_args) {
17476         case  0:
17477         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
17478         else goto __pyx_L5_argtuple_error;
17479         CYTHON_FALLTHROUGH;
17480         case  1:
17481         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_block)) != 0)) kw_args--;
17482         else {
17483           __Pyx_RaiseArgtupleInvalid("nodeid", 1, 2, 2, 1); __PYX_ERR(0, 446, __pyx_L3_error)
17484         }
17485       }
17486       if (unlikely(kw_args > 0)) {
17487         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nodeid") < 0)) __PYX_ERR(0, 446, __pyx_L3_error)
17488       }
17489     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
17490       goto __pyx_L5_argtuple_error;
17491     } else {
17492       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
17493       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
17494     }
17495     __pyx_v_self = values[0];
17496     __pyx_v_block = values[1];
17497   }
17498   goto __pyx_L4_argument_unpacking_done;
17499   __pyx_L5_argtuple_error:;
17500   __Pyx_RaiseArgtupleInvalid("nodeid", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 446, __pyx_L3_error)
17501   __pyx_L3_error:;
17502   __Pyx_AddTraceback("Cython.Compiler.FlowControl.GVContext.nodeid", __pyx_clineno, __pyx_lineno, __pyx_filename);
17503   __Pyx_RefNannyFinishContext();
17504   return NULL;
17505   __pyx_L4_argument_unpacking_done:;
17506   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext_4nodeid(__pyx_self, __pyx_v_self, __pyx_v_block);
17507 
17508   /* function exit code */
17509   __Pyx_RefNannyFinishContext();
17510   return __pyx_r;
17511 }
17512 
__pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext_4nodeid(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_block)17513 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext_4nodeid(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_block) {
17514   PyObject *__pyx_r = NULL;
17515   __Pyx_RefNannyDeclarations
17516   PyObject *__pyx_t_1 = NULL;
17517   int __pyx_t_2;
17518   int __pyx_t_3;
17519   PyObject *__pyx_t_4 = NULL;
17520   int __pyx_lineno = 0;
17521   const char *__pyx_filename = NULL;
17522   int __pyx_clineno = 0;
17523   __Pyx_RefNannySetupContext("nodeid", 0);
17524 
17525   /* "Cython/Compiler/FlowControl.py":447
17526  *
17527  *     def nodeid(self, block):
17528  *         if block not in self.blockids:             # <<<<<<<<<<<<<<
17529  *             self.blockids[block] = 'block%d' % self.nextid
17530  *             self.nextid += 1
17531  */
17532   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_blockids); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 447, __pyx_L1_error)
17533   __Pyx_GOTREF(__pyx_t_1);
17534   __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_block, __pyx_t_1, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 447, __pyx_L1_error)
17535   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17536   __pyx_t_3 = (__pyx_t_2 != 0);
17537   if (__pyx_t_3) {
17538 
17539     /* "Cython/Compiler/FlowControl.py":448
17540  *     def nodeid(self, block):
17541  *         if block not in self.blockids:
17542  *             self.blockids[block] = 'block%d' % self.nextid             # <<<<<<<<<<<<<<
17543  *             self.nextid += 1
17544  *         return self.blockids[block]
17545  */
17546     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_nextid); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 448, __pyx_L1_error)
17547     __Pyx_GOTREF(__pyx_t_1);
17548     __pyx_t_4 = __Pyx_PyString_FormatSafe(__pyx_kp_s_block_d, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 448, __pyx_L1_error)
17549     __Pyx_GOTREF(__pyx_t_4);
17550     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17551     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_blockids); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 448, __pyx_L1_error)
17552     __Pyx_GOTREF(__pyx_t_1);
17553     if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_v_block, __pyx_t_4) < 0)) __PYX_ERR(0, 448, __pyx_L1_error)
17554     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17555     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
17556 
17557     /* "Cython/Compiler/FlowControl.py":449
17558  *         if block not in self.blockids:
17559  *             self.blockids[block] = 'block%d' % self.nextid
17560  *             self.nextid += 1             # <<<<<<<<<<<<<<
17561  *         return self.blockids[block]
17562  *
17563  */
17564     __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_nextid); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 449, __pyx_L1_error)
17565     __Pyx_GOTREF(__pyx_t_4);
17566     __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 449, __pyx_L1_error)
17567     __Pyx_GOTREF(__pyx_t_1);
17568     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
17569     if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_nextid, __pyx_t_1) < 0) __PYX_ERR(0, 449, __pyx_L1_error)
17570     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17571 
17572     /* "Cython/Compiler/FlowControl.py":447
17573  *
17574  *     def nodeid(self, block):
17575  *         if block not in self.blockids:             # <<<<<<<<<<<<<<
17576  *             self.blockids[block] = 'block%d' % self.nextid
17577  *             self.nextid += 1
17578  */
17579   }
17580 
17581   /* "Cython/Compiler/FlowControl.py":450
17582  *             self.blockids[block] = 'block%d' % self.nextid
17583  *             self.nextid += 1
17584  *         return self.blockids[block]             # <<<<<<<<<<<<<<
17585  *
17586  *     def extract_sources(self, block):
17587  */
17588   __Pyx_XDECREF(__pyx_r);
17589   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_blockids); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 450, __pyx_L1_error)
17590   __Pyx_GOTREF(__pyx_t_1);
17591   __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_block); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 450, __pyx_L1_error)
17592   __Pyx_GOTREF(__pyx_t_4);
17593   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17594   __pyx_r = __pyx_t_4;
17595   __pyx_t_4 = 0;
17596   goto __pyx_L0;
17597 
17598   /* "Cython/Compiler/FlowControl.py":446
17599  *         self.children.append(child)
17600  *
17601  *     def nodeid(self, block):             # <<<<<<<<<<<<<<
17602  *         if block not in self.blockids:
17603  *             self.blockids[block] = 'block%d' % self.nextid
17604  */
17605 
17606   /* function exit code */
17607   __pyx_L1_error:;
17608   __Pyx_XDECREF(__pyx_t_1);
17609   __Pyx_XDECREF(__pyx_t_4);
17610   __Pyx_AddTraceback("Cython.Compiler.FlowControl.GVContext.nodeid", __pyx_clineno, __pyx_lineno, __pyx_filename);
17611   __pyx_r = NULL;
17612   __pyx_L0:;
17613   __Pyx_XGIVEREF(__pyx_r);
17614   __Pyx_RefNannyFinishContext();
17615   return __pyx_r;
17616 }
17617 
17618 /* "Cython/Compiler/FlowControl.py":452
17619  *         return self.blockids[block]
17620  *
17621  *     def extract_sources(self, block):             # <<<<<<<<<<<<<<
17622  *         if not block.positions:
17623  *             return ''
17624  */
17625 
17626 /* Python wrapper */
17627 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_7extract_sources(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
17628 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_9GVContext_7extract_sources = {"extract_sources", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_7extract_sources, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_7extract_sources(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)17629 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_7extract_sources(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
17630   PyObject *__pyx_v_self = 0;
17631   PyObject *__pyx_v_block = 0;
17632   int __pyx_lineno = 0;
17633   const char *__pyx_filename = NULL;
17634   int __pyx_clineno = 0;
17635   PyObject *__pyx_r = 0;
17636   __Pyx_RefNannyDeclarations
17637   __Pyx_RefNannySetupContext("extract_sources (wrapper)", 0);
17638   {
17639     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_block,0};
17640     PyObject* values[2] = {0,0};
17641     if (unlikely(__pyx_kwds)) {
17642       Py_ssize_t kw_args;
17643       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
17644       switch (pos_args) {
17645         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
17646         CYTHON_FALLTHROUGH;
17647         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
17648         CYTHON_FALLTHROUGH;
17649         case  0: break;
17650         default: goto __pyx_L5_argtuple_error;
17651       }
17652       kw_args = PyDict_Size(__pyx_kwds);
17653       switch (pos_args) {
17654         case  0:
17655         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
17656         else goto __pyx_L5_argtuple_error;
17657         CYTHON_FALLTHROUGH;
17658         case  1:
17659         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_block)) != 0)) kw_args--;
17660         else {
17661           __Pyx_RaiseArgtupleInvalid("extract_sources", 1, 2, 2, 1); __PYX_ERR(0, 452, __pyx_L3_error)
17662         }
17663       }
17664       if (unlikely(kw_args > 0)) {
17665         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "extract_sources") < 0)) __PYX_ERR(0, 452, __pyx_L3_error)
17666       }
17667     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
17668       goto __pyx_L5_argtuple_error;
17669     } else {
17670       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
17671       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
17672     }
17673     __pyx_v_self = values[0];
17674     __pyx_v_block = values[1];
17675   }
17676   goto __pyx_L4_argument_unpacking_done;
17677   __pyx_L5_argtuple_error:;
17678   __Pyx_RaiseArgtupleInvalid("extract_sources", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 452, __pyx_L3_error)
17679   __pyx_L3_error:;
17680   __Pyx_AddTraceback("Cython.Compiler.FlowControl.GVContext.extract_sources", __pyx_clineno, __pyx_lineno, __pyx_filename);
17681   __Pyx_RefNannyFinishContext();
17682   return NULL;
17683   __pyx_L4_argument_unpacking_done:;
17684   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext_6extract_sources(__pyx_self, __pyx_v_self, __pyx_v_block);
17685 
17686   /* function exit code */
17687   __Pyx_RefNannyFinishContext();
17688   return __pyx_r;
17689 }
17690 
__pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext_6extract_sources(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_block)17691 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext_6extract_sources(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_block) {
17692   PyObject *__pyx_v_start = NULL;
17693   PyObject *__pyx_v_stop = NULL;
17694   PyObject *__pyx_v_srcdescr = NULL;
17695   PyObject *__pyx_v_lines = NULL;
17696   PyObject *__pyx_v_l = NULL;
17697   PyObject *__pyx_r = NULL;
17698   __Pyx_RefNannyDeclarations
17699   PyObject *__pyx_t_1 = NULL;
17700   int __pyx_t_2;
17701   int __pyx_t_3;
17702   PyObject *__pyx_t_4 = NULL;
17703   PyObject *__pyx_t_5 = NULL;
17704   PyObject *__pyx_t_6 = NULL;
17705   Py_ssize_t __pyx_t_7;
17706   PyObject *(*__pyx_t_8)(PyObject *);
17707   PyObject *__pyx_t_9 = NULL;
17708   int __pyx_lineno = 0;
17709   const char *__pyx_filename = NULL;
17710   int __pyx_clineno = 0;
17711   __Pyx_RefNannySetupContext("extract_sources", 0);
17712 
17713   /* "Cython/Compiler/FlowControl.py":453
17714  *
17715  *     def extract_sources(self, block):
17716  *         if not block.positions:             # <<<<<<<<<<<<<<
17717  *             return ''
17718  *         start = min(block.positions)
17719  */
17720   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_block, __pyx_n_s_positions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 453, __pyx_L1_error)
17721   __Pyx_GOTREF(__pyx_t_1);
17722   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 453, __pyx_L1_error)
17723   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17724   __pyx_t_3 = ((!__pyx_t_2) != 0);
17725   if (__pyx_t_3) {
17726 
17727     /* "Cython/Compiler/FlowControl.py":454
17728  *     def extract_sources(self, block):
17729  *         if not block.positions:
17730  *             return ''             # <<<<<<<<<<<<<<
17731  *         start = min(block.positions)
17732  *         stop = max(block.positions)
17733  */
17734     __Pyx_XDECREF(__pyx_r);
17735     __Pyx_INCREF(__pyx_kp_s__2);
17736     __pyx_r = __pyx_kp_s__2;
17737     goto __pyx_L0;
17738 
17739     /* "Cython/Compiler/FlowControl.py":453
17740  *
17741  *     def extract_sources(self, block):
17742  *         if not block.positions:             # <<<<<<<<<<<<<<
17743  *             return ''
17744  *         start = min(block.positions)
17745  */
17746   }
17747 
17748   /* "Cython/Compiler/FlowControl.py":455
17749  *         if not block.positions:
17750  *             return ''
17751  *         start = min(block.positions)             # <<<<<<<<<<<<<<
17752  *         stop = max(block.positions)
17753  *         srcdescr = start[0]
17754  */
17755   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_block, __pyx_n_s_positions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 455, __pyx_L1_error)
17756   __Pyx_GOTREF(__pyx_t_1);
17757   __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 455, __pyx_L1_error)
17758   __Pyx_GOTREF(__pyx_t_4);
17759   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17760   __pyx_v_start = __pyx_t_4;
17761   __pyx_t_4 = 0;
17762 
17763   /* "Cython/Compiler/FlowControl.py":456
17764  *             return ''
17765  *         start = min(block.positions)
17766  *         stop = max(block.positions)             # <<<<<<<<<<<<<<
17767  *         srcdescr = start[0]
17768  *         if not srcdescr in self.sources:
17769  */
17770   __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_block, __pyx_n_s_positions); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 456, __pyx_L1_error)
17771   __Pyx_GOTREF(__pyx_t_4);
17772   __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 456, __pyx_L1_error)
17773   __Pyx_GOTREF(__pyx_t_1);
17774   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
17775   __pyx_v_stop = __pyx_t_1;
17776   __pyx_t_1 = 0;
17777 
17778   /* "Cython/Compiler/FlowControl.py":457
17779  *         start = min(block.positions)
17780  *         stop = max(block.positions)
17781  *         srcdescr = start[0]             # <<<<<<<<<<<<<<
17782  *         if not srcdescr in self.sources:
17783  *             self.sources[srcdescr] = list(srcdescr.get_lines())
17784  */
17785   __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_start, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 457, __pyx_L1_error)
17786   __Pyx_GOTREF(__pyx_t_1);
17787   __pyx_v_srcdescr = __pyx_t_1;
17788   __pyx_t_1 = 0;
17789 
17790   /* "Cython/Compiler/FlowControl.py":458
17791  *         stop = max(block.positions)
17792  *         srcdescr = start[0]
17793  *         if not srcdescr in self.sources:             # <<<<<<<<<<<<<<
17794  *             self.sources[srcdescr] = list(srcdescr.get_lines())
17795  *         lines = self.sources[srcdescr]
17796  */
17797   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sources); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 458, __pyx_L1_error)
17798   __Pyx_GOTREF(__pyx_t_1);
17799   __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_v_srcdescr, __pyx_t_1, Py_NE)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 458, __pyx_L1_error)
17800   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17801   __pyx_t_2 = (__pyx_t_3 != 0);
17802   if (__pyx_t_2) {
17803 
17804     /* "Cython/Compiler/FlowControl.py":459
17805  *         srcdescr = start[0]
17806  *         if not srcdescr in self.sources:
17807  *             self.sources[srcdescr] = list(srcdescr.get_lines())             # <<<<<<<<<<<<<<
17808  *         lines = self.sources[srcdescr]
17809  *         return '\\n'.join([l.strip() for l in lines[start[1] - 1:stop[1]]])
17810  */
17811     __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_srcdescr, __pyx_n_s_get_lines); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 459, __pyx_L1_error)
17812     __Pyx_GOTREF(__pyx_t_4);
17813     __pyx_t_5 = NULL;
17814     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
17815       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
17816       if (likely(__pyx_t_5)) {
17817         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
17818         __Pyx_INCREF(__pyx_t_5);
17819         __Pyx_INCREF(function);
17820         __Pyx_DECREF_SET(__pyx_t_4, function);
17821       }
17822     }
17823     __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
17824     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
17825     if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 459, __pyx_L1_error)
17826     __Pyx_GOTREF(__pyx_t_1);
17827     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
17828     __pyx_t_4 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 459, __pyx_L1_error)
17829     __Pyx_GOTREF(__pyx_t_4);
17830     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17831     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sources); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 459, __pyx_L1_error)
17832     __Pyx_GOTREF(__pyx_t_1);
17833     if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_v_srcdescr, __pyx_t_4) < 0)) __PYX_ERR(0, 459, __pyx_L1_error)
17834     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17835     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
17836 
17837     /* "Cython/Compiler/FlowControl.py":458
17838  *         stop = max(block.positions)
17839  *         srcdescr = start[0]
17840  *         if not srcdescr in self.sources:             # <<<<<<<<<<<<<<
17841  *             self.sources[srcdescr] = list(srcdescr.get_lines())
17842  *         lines = self.sources[srcdescr]
17843  */
17844   }
17845 
17846   /* "Cython/Compiler/FlowControl.py":460
17847  *         if not srcdescr in self.sources:
17848  *             self.sources[srcdescr] = list(srcdescr.get_lines())
17849  *         lines = self.sources[srcdescr]             # <<<<<<<<<<<<<<
17850  *         return '\\n'.join([l.strip() for l in lines[start[1] - 1:stop[1]]])
17851  *
17852  */
17853   __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sources); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 460, __pyx_L1_error)
17854   __Pyx_GOTREF(__pyx_t_4);
17855   __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_srcdescr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 460, __pyx_L1_error)
17856   __Pyx_GOTREF(__pyx_t_1);
17857   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
17858   __pyx_v_lines = __pyx_t_1;
17859   __pyx_t_1 = 0;
17860 
17861   /* "Cython/Compiler/FlowControl.py":461
17862  *             self.sources[srcdescr] = list(srcdescr.get_lines())
17863  *         lines = self.sources[srcdescr]
17864  *         return '\\n'.join([l.strip() for l in lines[start[1] - 1:stop[1]]])             # <<<<<<<<<<<<<<
17865  *
17866  *     def render(self, fp, name, annotate_defs=False):
17867  */
17868   __Pyx_XDECREF(__pyx_r);
17869   __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 461, __pyx_L1_error)
17870   __Pyx_GOTREF(__pyx_t_1);
17871   __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_start, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 461, __pyx_L1_error)
17872   __Pyx_GOTREF(__pyx_t_4);
17873   __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 461, __pyx_L1_error)
17874   __Pyx_GOTREF(__pyx_t_5);
17875   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
17876   __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_stop, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 461, __pyx_L1_error)
17877   __Pyx_GOTREF(__pyx_t_4);
17878   __pyx_t_6 = __Pyx_PyObject_GetSlice(__pyx_v_lines, 0, 0, &__pyx_t_5, &__pyx_t_4, NULL, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 461, __pyx_L1_error)
17879   __Pyx_GOTREF(__pyx_t_6);
17880   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
17881   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
17882   if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
17883     __pyx_t_4 = __pyx_t_6; __Pyx_INCREF(__pyx_t_4); __pyx_t_7 = 0;
17884     __pyx_t_8 = NULL;
17885   } else {
17886     __pyx_t_7 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 461, __pyx_L1_error)
17887     __Pyx_GOTREF(__pyx_t_4);
17888     __pyx_t_8 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 461, __pyx_L1_error)
17889   }
17890   __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
17891   for (;;) {
17892     if (likely(!__pyx_t_8)) {
17893       if (likely(PyList_CheckExact(__pyx_t_4))) {
17894         if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_4)) break;
17895         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
17896         __pyx_t_6 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 461, __pyx_L1_error)
17897         #else
17898         __pyx_t_6 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 461, __pyx_L1_error)
17899         __Pyx_GOTREF(__pyx_t_6);
17900         #endif
17901       } else {
17902         if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
17903         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
17904         __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 461, __pyx_L1_error)
17905         #else
17906         __pyx_t_6 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 461, __pyx_L1_error)
17907         __Pyx_GOTREF(__pyx_t_6);
17908         #endif
17909       }
17910     } else {
17911       __pyx_t_6 = __pyx_t_8(__pyx_t_4);
17912       if (unlikely(!__pyx_t_6)) {
17913         PyObject* exc_type = PyErr_Occurred();
17914         if (exc_type) {
17915           if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
17916           else __PYX_ERR(0, 461, __pyx_L1_error)
17917         }
17918         break;
17919       }
17920       __Pyx_GOTREF(__pyx_t_6);
17921     }
17922     __Pyx_XDECREF_SET(__pyx_v_l, __pyx_t_6);
17923     __pyx_t_6 = 0;
17924     __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_l, __pyx_n_s_strip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 461, __pyx_L1_error)
17925     __Pyx_GOTREF(__pyx_t_5);
17926     __pyx_t_9 = NULL;
17927     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
17928       __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5);
17929       if (likely(__pyx_t_9)) {
17930         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
17931         __Pyx_INCREF(__pyx_t_9);
17932         __Pyx_INCREF(function);
17933         __Pyx_DECREF_SET(__pyx_t_5, function);
17934       }
17935     }
17936     __pyx_t_6 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
17937     __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
17938     if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 461, __pyx_L1_error)
17939     __Pyx_GOTREF(__pyx_t_6);
17940     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
17941     if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 461, __pyx_L1_error)
17942     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
17943   }
17944   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
17945   __pyx_t_4 = __Pyx_PyString_Join(__pyx_kp_s_n, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 461, __pyx_L1_error)
17946   __Pyx_GOTREF(__pyx_t_4);
17947   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17948   __pyx_r = __pyx_t_4;
17949   __pyx_t_4 = 0;
17950   goto __pyx_L0;
17951 
17952   /* "Cython/Compiler/FlowControl.py":452
17953  *         return self.blockids[block]
17954  *
17955  *     def extract_sources(self, block):             # <<<<<<<<<<<<<<
17956  *         if not block.positions:
17957  *             return ''
17958  */
17959 
17960   /* function exit code */
17961   __pyx_L1_error:;
17962   __Pyx_XDECREF(__pyx_t_1);
17963   __Pyx_XDECREF(__pyx_t_4);
17964   __Pyx_XDECREF(__pyx_t_5);
17965   __Pyx_XDECREF(__pyx_t_6);
17966   __Pyx_XDECREF(__pyx_t_9);
17967   __Pyx_AddTraceback("Cython.Compiler.FlowControl.GVContext.extract_sources", __pyx_clineno, __pyx_lineno, __pyx_filename);
17968   __pyx_r = NULL;
17969   __pyx_L0:;
17970   __Pyx_XDECREF(__pyx_v_start);
17971   __Pyx_XDECREF(__pyx_v_stop);
17972   __Pyx_XDECREF(__pyx_v_srcdescr);
17973   __Pyx_XDECREF(__pyx_v_lines);
17974   __Pyx_XDECREF(__pyx_v_l);
17975   __Pyx_XGIVEREF(__pyx_r);
17976   __Pyx_RefNannyFinishContext();
17977   return __pyx_r;
17978 }
17979 
17980 /* "Cython/Compiler/FlowControl.py":463
17981  *         return '\\n'.join([l.strip() for l in lines[start[1] - 1:stop[1]]])
17982  *
17983  *     def render(self, fp, name, annotate_defs=False):             # <<<<<<<<<<<<<<
17984  *         """Render graphviz dot graph"""
17985  *         fp.write('digraph %s {\n' % name)
17986  */
17987 
17988 /* Python wrapper */
17989 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_9render(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
17990 static char __pyx_doc_6Cython_8Compiler_11FlowControl_9GVContext_8render[] = "Render graphviz dot graph";
17991 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_9GVContext_9render = {"render", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_9render, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_11FlowControl_9GVContext_8render};
__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_9render(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)17992 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_9render(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
17993   PyObject *__pyx_v_self = 0;
17994   PyObject *__pyx_v_fp = 0;
17995   PyObject *__pyx_v_name = 0;
17996   PyObject *__pyx_v_annotate_defs = 0;
17997   int __pyx_lineno = 0;
17998   const char *__pyx_filename = NULL;
17999   int __pyx_clineno = 0;
18000   PyObject *__pyx_r = 0;
18001   __Pyx_RefNannyDeclarations
18002   __Pyx_RefNannySetupContext("render (wrapper)", 0);
18003   {
18004     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_fp,&__pyx_n_s_name_2,&__pyx_n_s_annotate_defs,0};
18005     PyObject* values[4] = {0,0,0,0};
18006     values[3] = ((PyObject *)((PyObject *)Py_False));
18007     if (unlikely(__pyx_kwds)) {
18008       Py_ssize_t kw_args;
18009       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
18010       switch (pos_args) {
18011         case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
18012         CYTHON_FALLTHROUGH;
18013         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
18014         CYTHON_FALLTHROUGH;
18015         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
18016         CYTHON_FALLTHROUGH;
18017         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
18018         CYTHON_FALLTHROUGH;
18019         case  0: break;
18020         default: goto __pyx_L5_argtuple_error;
18021       }
18022       kw_args = PyDict_Size(__pyx_kwds);
18023       switch (pos_args) {
18024         case  0:
18025         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
18026         else goto __pyx_L5_argtuple_error;
18027         CYTHON_FALLTHROUGH;
18028         case  1:
18029         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_fp)) != 0)) kw_args--;
18030         else {
18031           __Pyx_RaiseArgtupleInvalid("render", 0, 3, 4, 1); __PYX_ERR(0, 463, __pyx_L3_error)
18032         }
18033         CYTHON_FALLTHROUGH;
18034         case  2:
18035         if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_name_2)) != 0)) kw_args--;
18036         else {
18037           __Pyx_RaiseArgtupleInvalid("render", 0, 3, 4, 2); __PYX_ERR(0, 463, __pyx_L3_error)
18038         }
18039         CYTHON_FALLTHROUGH;
18040         case  3:
18041         if (kw_args > 0) {
18042           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_annotate_defs);
18043           if (value) { values[3] = value; kw_args--; }
18044         }
18045       }
18046       if (unlikely(kw_args > 0)) {
18047         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "render") < 0)) __PYX_ERR(0, 463, __pyx_L3_error)
18048       }
18049     } else {
18050       switch (PyTuple_GET_SIZE(__pyx_args)) {
18051         case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
18052         CYTHON_FALLTHROUGH;
18053         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
18054         values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
18055         values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
18056         break;
18057         default: goto __pyx_L5_argtuple_error;
18058       }
18059     }
18060     __pyx_v_self = values[0];
18061     __pyx_v_fp = values[1];
18062     __pyx_v_name = values[2];
18063     __pyx_v_annotate_defs = values[3];
18064   }
18065   goto __pyx_L4_argument_unpacking_done;
18066   __pyx_L5_argtuple_error:;
18067   __Pyx_RaiseArgtupleInvalid("render", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 463, __pyx_L3_error)
18068   __pyx_L3_error:;
18069   __Pyx_AddTraceback("Cython.Compiler.FlowControl.GVContext.render", __pyx_clineno, __pyx_lineno, __pyx_filename);
18070   __Pyx_RefNannyFinishContext();
18071   return NULL;
18072   __pyx_L4_argument_unpacking_done:;
18073   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext_8render(__pyx_self, __pyx_v_self, __pyx_v_fp, __pyx_v_name, __pyx_v_annotate_defs);
18074 
18075   /* function exit code */
18076   __Pyx_RefNannyFinishContext();
18077   return __pyx_r;
18078 }
18079 
__pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext_8render(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_fp,PyObject * __pyx_v_name,PyObject * __pyx_v_annotate_defs)18080 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext_8render(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_fp, PyObject *__pyx_v_name, PyObject *__pyx_v_annotate_defs) {
18081   PyObject *__pyx_v_child = NULL;
18082   PyObject *__pyx_r = NULL;
18083   __Pyx_RefNannyDeclarations
18084   PyObject *__pyx_t_1 = NULL;
18085   PyObject *__pyx_t_2 = NULL;
18086   PyObject *__pyx_t_3 = NULL;
18087   PyObject *__pyx_t_4 = NULL;
18088   Py_ssize_t __pyx_t_5;
18089   PyObject *(*__pyx_t_6)(PyObject *);
18090   int __pyx_t_7;
18091   PyObject *__pyx_t_8 = NULL;
18092   int __pyx_lineno = 0;
18093   const char *__pyx_filename = NULL;
18094   int __pyx_clineno = 0;
18095   __Pyx_RefNannySetupContext("render", 0);
18096 
18097   /* "Cython/Compiler/FlowControl.py":465
18098  *     def render(self, fp, name, annotate_defs=False):
18099  *         """Render graphviz dot graph"""
18100  *         fp.write('digraph %s {\n' % name)             # <<<<<<<<<<<<<<
18101  *         fp.write(' node [shape=box];\n')
18102  *         for child in self.children:
18103  */
18104   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_fp, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 465, __pyx_L1_error)
18105   __Pyx_GOTREF(__pyx_t_2);
18106   __pyx_t_3 = __Pyx_PyString_FormatSafe(__pyx_kp_s_digraph_s, __pyx_v_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 465, __pyx_L1_error)
18107   __Pyx_GOTREF(__pyx_t_3);
18108   __pyx_t_4 = NULL;
18109   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
18110     __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
18111     if (likely(__pyx_t_4)) {
18112       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
18113       __Pyx_INCREF(__pyx_t_4);
18114       __Pyx_INCREF(function);
18115       __Pyx_DECREF_SET(__pyx_t_2, function);
18116     }
18117   }
18118   __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
18119   __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
18120   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18121   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 465, __pyx_L1_error)
18122   __Pyx_GOTREF(__pyx_t_1);
18123   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
18124   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
18125 
18126   /* "Cython/Compiler/FlowControl.py":466
18127  *         """Render graphviz dot graph"""
18128  *         fp.write('digraph %s {\n' % name)
18129  *         fp.write(' node [shape=box];\n')             # <<<<<<<<<<<<<<
18130  *         for child in self.children:
18131  *             child.render(fp, self, annotate_defs)
18132  */
18133   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_fp, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 466, __pyx_L1_error)
18134   __Pyx_GOTREF(__pyx_t_2);
18135   __pyx_t_3 = NULL;
18136   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
18137     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
18138     if (likely(__pyx_t_3)) {
18139       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
18140       __Pyx_INCREF(__pyx_t_3);
18141       __Pyx_INCREF(function);
18142       __Pyx_DECREF_SET(__pyx_t_2, function);
18143     }
18144   }
18145   __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_s_node_shape_box) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_s_node_shape_box);
18146   __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
18147   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 466, __pyx_L1_error)
18148   __Pyx_GOTREF(__pyx_t_1);
18149   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
18150   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
18151 
18152   /* "Cython/Compiler/FlowControl.py":467
18153  *         fp.write('digraph %s {\n' % name)
18154  *         fp.write(' node [shape=box];\n')
18155  *         for child in self.children:             # <<<<<<<<<<<<<<
18156  *             child.render(fp, self, annotate_defs)
18157  *         fp.write('}\n')
18158  */
18159   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_children); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 467, __pyx_L1_error)
18160   __Pyx_GOTREF(__pyx_t_1);
18161   if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
18162     __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_5 = 0;
18163     __pyx_t_6 = NULL;
18164   } else {
18165     __pyx_t_5 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 467, __pyx_L1_error)
18166     __Pyx_GOTREF(__pyx_t_2);
18167     __pyx_t_6 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 467, __pyx_L1_error)
18168   }
18169   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
18170   for (;;) {
18171     if (likely(!__pyx_t_6)) {
18172       if (likely(PyList_CheckExact(__pyx_t_2))) {
18173         if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_2)) break;
18174         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
18175         __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 467, __pyx_L1_error)
18176         #else
18177         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 467, __pyx_L1_error)
18178         __Pyx_GOTREF(__pyx_t_1);
18179         #endif
18180       } else {
18181         if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
18182         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
18183         __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 467, __pyx_L1_error)
18184         #else
18185         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 467, __pyx_L1_error)
18186         __Pyx_GOTREF(__pyx_t_1);
18187         #endif
18188       }
18189     } else {
18190       __pyx_t_1 = __pyx_t_6(__pyx_t_2);
18191       if (unlikely(!__pyx_t_1)) {
18192         PyObject* exc_type = PyErr_Occurred();
18193         if (exc_type) {
18194           if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
18195           else __PYX_ERR(0, 467, __pyx_L1_error)
18196         }
18197         break;
18198       }
18199       __Pyx_GOTREF(__pyx_t_1);
18200     }
18201     __Pyx_XDECREF_SET(__pyx_v_child, __pyx_t_1);
18202     __pyx_t_1 = 0;
18203 
18204     /* "Cython/Compiler/FlowControl.py":468
18205  *         fp.write(' node [shape=box];\n')
18206  *         for child in self.children:
18207  *             child.render(fp, self, annotate_defs)             # <<<<<<<<<<<<<<
18208  *         fp.write('}\n')
18209  *
18210  */
18211     __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_child, __pyx_n_s_render); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 468, __pyx_L1_error)
18212     __Pyx_GOTREF(__pyx_t_3);
18213     __pyx_t_4 = NULL;
18214     __pyx_t_7 = 0;
18215     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
18216       __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
18217       if (likely(__pyx_t_4)) {
18218         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
18219         __Pyx_INCREF(__pyx_t_4);
18220         __Pyx_INCREF(function);
18221         __Pyx_DECREF_SET(__pyx_t_3, function);
18222         __pyx_t_7 = 1;
18223       }
18224     }
18225     #if CYTHON_FAST_PYCALL
18226     if (PyFunction_Check(__pyx_t_3)) {
18227       PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_fp, __pyx_v_self, __pyx_v_annotate_defs};
18228       __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 468, __pyx_L1_error)
18229       __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
18230       __Pyx_GOTREF(__pyx_t_1);
18231     } else
18232     #endif
18233     #if CYTHON_FAST_PYCCALL
18234     if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
18235       PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_fp, __pyx_v_self, __pyx_v_annotate_defs};
18236       __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 468, __pyx_L1_error)
18237       __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
18238       __Pyx_GOTREF(__pyx_t_1);
18239     } else
18240     #endif
18241     {
18242       __pyx_t_8 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 468, __pyx_L1_error)
18243       __Pyx_GOTREF(__pyx_t_8);
18244       if (__pyx_t_4) {
18245         __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4); __pyx_t_4 = NULL;
18246       }
18247       __Pyx_INCREF(__pyx_v_fp);
18248       __Pyx_GIVEREF(__pyx_v_fp);
18249       PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_fp);
18250       __Pyx_INCREF(__pyx_v_self);
18251       __Pyx_GIVEREF(__pyx_v_self);
18252       PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_self);
18253       __Pyx_INCREF(__pyx_v_annotate_defs);
18254       __Pyx_GIVEREF(__pyx_v_annotate_defs);
18255       PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_7, __pyx_v_annotate_defs);
18256       __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 468, __pyx_L1_error)
18257       __Pyx_GOTREF(__pyx_t_1);
18258       __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
18259     }
18260     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18261     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
18262 
18263     /* "Cython/Compiler/FlowControl.py":467
18264  *         fp.write('digraph %s {\n' % name)
18265  *         fp.write(' node [shape=box];\n')
18266  *         for child in self.children:             # <<<<<<<<<<<<<<
18267  *             child.render(fp, self, annotate_defs)
18268  *         fp.write('}\n')
18269  */
18270   }
18271   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
18272 
18273   /* "Cython/Compiler/FlowControl.py":469
18274  *         for child in self.children:
18275  *             child.render(fp, self, annotate_defs)
18276  *         fp.write('}\n')             # <<<<<<<<<<<<<<
18277  *
18278  *     def escape(self, text):
18279  */
18280   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_fp, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 469, __pyx_L1_error)
18281   __Pyx_GOTREF(__pyx_t_1);
18282   __pyx_t_3 = NULL;
18283   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
18284     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
18285     if (likely(__pyx_t_3)) {
18286       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
18287       __Pyx_INCREF(__pyx_t_3);
18288       __Pyx_INCREF(function);
18289       __Pyx_DECREF_SET(__pyx_t_1, function);
18290     }
18291   }
18292   __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_s__3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_s__3);
18293   __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
18294   if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 469, __pyx_L1_error)
18295   __Pyx_GOTREF(__pyx_t_2);
18296   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
18297   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
18298 
18299   /* "Cython/Compiler/FlowControl.py":463
18300  *         return '\\n'.join([l.strip() for l in lines[start[1] - 1:stop[1]]])
18301  *
18302  *     def render(self, fp, name, annotate_defs=False):             # <<<<<<<<<<<<<<
18303  *         """Render graphviz dot graph"""
18304  *         fp.write('digraph %s {\n' % name)
18305  */
18306 
18307   /* function exit code */
18308   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
18309   goto __pyx_L0;
18310   __pyx_L1_error:;
18311   __Pyx_XDECREF(__pyx_t_1);
18312   __Pyx_XDECREF(__pyx_t_2);
18313   __Pyx_XDECREF(__pyx_t_3);
18314   __Pyx_XDECREF(__pyx_t_4);
18315   __Pyx_XDECREF(__pyx_t_8);
18316   __Pyx_AddTraceback("Cython.Compiler.FlowControl.GVContext.render", __pyx_clineno, __pyx_lineno, __pyx_filename);
18317   __pyx_r = NULL;
18318   __pyx_L0:;
18319   __Pyx_XDECREF(__pyx_v_child);
18320   __Pyx_XGIVEREF(__pyx_r);
18321   __Pyx_RefNannyFinishContext();
18322   return __pyx_r;
18323 }
18324 
18325 /* "Cython/Compiler/FlowControl.py":471
18326  *         fp.write('}\n')
18327  *
18328  *     def escape(self, text):             # <<<<<<<<<<<<<<
18329  *         return text.replace('"', '\\"').replace('\n', '\\n')
18330  *
18331  */
18332 
18333 /* Python wrapper */
18334 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_11escape(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
18335 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_9GVContext_11escape = {"escape", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_11escape, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_11escape(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)18336 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_9GVContext_11escape(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
18337   CYTHON_UNUSED PyObject *__pyx_v_self = 0;
18338   PyObject *__pyx_v_text = 0;
18339   int __pyx_lineno = 0;
18340   const char *__pyx_filename = NULL;
18341   int __pyx_clineno = 0;
18342   PyObject *__pyx_r = 0;
18343   __Pyx_RefNannyDeclarations
18344   __Pyx_RefNannySetupContext("escape (wrapper)", 0);
18345   {
18346     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_text,0};
18347     PyObject* values[2] = {0,0};
18348     if (unlikely(__pyx_kwds)) {
18349       Py_ssize_t kw_args;
18350       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
18351       switch (pos_args) {
18352         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
18353         CYTHON_FALLTHROUGH;
18354         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
18355         CYTHON_FALLTHROUGH;
18356         case  0: break;
18357         default: goto __pyx_L5_argtuple_error;
18358       }
18359       kw_args = PyDict_Size(__pyx_kwds);
18360       switch (pos_args) {
18361         case  0:
18362         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
18363         else goto __pyx_L5_argtuple_error;
18364         CYTHON_FALLTHROUGH;
18365         case  1:
18366         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_text)) != 0)) kw_args--;
18367         else {
18368           __Pyx_RaiseArgtupleInvalid("escape", 1, 2, 2, 1); __PYX_ERR(0, 471, __pyx_L3_error)
18369         }
18370       }
18371       if (unlikely(kw_args > 0)) {
18372         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "escape") < 0)) __PYX_ERR(0, 471, __pyx_L3_error)
18373       }
18374     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
18375       goto __pyx_L5_argtuple_error;
18376     } else {
18377       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
18378       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
18379     }
18380     __pyx_v_self = values[0];
18381     __pyx_v_text = values[1];
18382   }
18383   goto __pyx_L4_argument_unpacking_done;
18384   __pyx_L5_argtuple_error:;
18385   __Pyx_RaiseArgtupleInvalid("escape", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 471, __pyx_L3_error)
18386   __pyx_L3_error:;
18387   __Pyx_AddTraceback("Cython.Compiler.FlowControl.GVContext.escape", __pyx_clineno, __pyx_lineno, __pyx_filename);
18388   __Pyx_RefNannyFinishContext();
18389   return NULL;
18390   __pyx_L4_argument_unpacking_done:;
18391   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext_10escape(__pyx_self, __pyx_v_self, __pyx_v_text);
18392 
18393   /* function exit code */
18394   __Pyx_RefNannyFinishContext();
18395   return __pyx_r;
18396 }
18397 
__pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext_10escape(CYTHON_UNUSED PyObject * __pyx_self,CYTHON_UNUSED PyObject * __pyx_v_self,PyObject * __pyx_v_text)18398 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_9GVContext_10escape(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_text) {
18399   PyObject *__pyx_r = NULL;
18400   __Pyx_RefNannyDeclarations
18401   PyObject *__pyx_t_1 = NULL;
18402   PyObject *__pyx_t_2 = NULL;
18403   int __pyx_lineno = 0;
18404   const char *__pyx_filename = NULL;
18405   int __pyx_clineno = 0;
18406   __Pyx_RefNannySetupContext("escape", 0);
18407 
18408   /* "Cython/Compiler/FlowControl.py":472
18409  *
18410  *     def escape(self, text):
18411  *         return text.replace('"', '\\"').replace('\n', '\\n')             # <<<<<<<<<<<<<<
18412  *
18413  *
18414  */
18415   __Pyx_XDECREF(__pyx_r);
18416   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_text, __pyx_n_s_replace); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 472, __pyx_L1_error)
18417   __Pyx_GOTREF(__pyx_t_1);
18418   __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 472, __pyx_L1_error)
18419   __Pyx_GOTREF(__pyx_t_2);
18420   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
18421   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_replace); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 472, __pyx_L1_error)
18422   __Pyx_GOTREF(__pyx_t_1);
18423   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
18424   __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 472, __pyx_L1_error)
18425   __Pyx_GOTREF(__pyx_t_2);
18426   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
18427   __pyx_r = __pyx_t_2;
18428   __pyx_t_2 = 0;
18429   goto __pyx_L0;
18430 
18431   /* "Cython/Compiler/FlowControl.py":471
18432  *         fp.write('}\n')
18433  *
18434  *     def escape(self, text):             # <<<<<<<<<<<<<<
18435  *         return text.replace('"', '\\"').replace('\n', '\\n')
18436  *
18437  */
18438 
18439   /* function exit code */
18440   __pyx_L1_error:;
18441   __Pyx_XDECREF(__pyx_t_1);
18442   __Pyx_XDECREF(__pyx_t_2);
18443   __Pyx_AddTraceback("Cython.Compiler.FlowControl.GVContext.escape", __pyx_clineno, __pyx_lineno, __pyx_filename);
18444   __pyx_r = NULL;
18445   __pyx_L0:;
18446   __Pyx_XGIVEREF(__pyx_r);
18447   __Pyx_RefNannyFinishContext();
18448   return __pyx_r;
18449 }
18450 
18451 /* "Cython/Compiler/FlowControl.py":478
18452  *     """Graphviz DOT renderer."""
18453  *
18454  *     def __init__(self, name, flow):             # <<<<<<<<<<<<<<
18455  *         self.name = name
18456  *         self.flow = flow
18457  */
18458 
18459 /* Python wrapper */
18460 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_2GV_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
18461 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_2GV_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_2GV_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_2GV_1__init__(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)18462 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_2GV_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
18463   PyObject *__pyx_v_self = 0;
18464   PyObject *__pyx_v_name = 0;
18465   PyObject *__pyx_v_flow = 0;
18466   int __pyx_lineno = 0;
18467   const char *__pyx_filename = NULL;
18468   int __pyx_clineno = 0;
18469   PyObject *__pyx_r = 0;
18470   __Pyx_RefNannyDeclarations
18471   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
18472   {
18473     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_name_2,&__pyx_n_s_flow,0};
18474     PyObject* values[3] = {0,0,0};
18475     if (unlikely(__pyx_kwds)) {
18476       Py_ssize_t kw_args;
18477       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
18478       switch (pos_args) {
18479         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
18480         CYTHON_FALLTHROUGH;
18481         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
18482         CYTHON_FALLTHROUGH;
18483         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
18484         CYTHON_FALLTHROUGH;
18485         case  0: break;
18486         default: goto __pyx_L5_argtuple_error;
18487       }
18488       kw_args = PyDict_Size(__pyx_kwds);
18489       switch (pos_args) {
18490         case  0:
18491         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
18492         else goto __pyx_L5_argtuple_error;
18493         CYTHON_FALLTHROUGH;
18494         case  1:
18495         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_name_2)) != 0)) kw_args--;
18496         else {
18497           __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(0, 478, __pyx_L3_error)
18498         }
18499         CYTHON_FALLTHROUGH;
18500         case  2:
18501         if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flow)) != 0)) kw_args--;
18502         else {
18503           __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(0, 478, __pyx_L3_error)
18504         }
18505       }
18506       if (unlikely(kw_args > 0)) {
18507         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 478, __pyx_L3_error)
18508       }
18509     } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
18510       goto __pyx_L5_argtuple_error;
18511     } else {
18512       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
18513       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
18514       values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
18515     }
18516     __pyx_v_self = values[0];
18517     __pyx_v_name = values[1];
18518     __pyx_v_flow = values[2];
18519   }
18520   goto __pyx_L4_argument_unpacking_done;
18521   __pyx_L5_argtuple_error:;
18522   __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 478, __pyx_L3_error)
18523   __pyx_L3_error:;
18524   __Pyx_AddTraceback("Cython.Compiler.FlowControl.GV.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
18525   __Pyx_RefNannyFinishContext();
18526   return NULL;
18527   __pyx_L4_argument_unpacking_done:;
18528   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_2GV___init__(__pyx_self, __pyx_v_self, __pyx_v_name, __pyx_v_flow);
18529 
18530   /* function exit code */
18531   __Pyx_RefNannyFinishContext();
18532   return __pyx_r;
18533 }
18534 
__pyx_pf_6Cython_8Compiler_11FlowControl_2GV___init__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_name,PyObject * __pyx_v_flow)18535 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_2GV___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_flow) {
18536   PyObject *__pyx_r = NULL;
18537   __Pyx_RefNannyDeclarations
18538   int __pyx_lineno = 0;
18539   const char *__pyx_filename = NULL;
18540   int __pyx_clineno = 0;
18541   __Pyx_RefNannySetupContext("__init__", 0);
18542 
18543   /* "Cython/Compiler/FlowControl.py":479
18544  *
18545  *     def __init__(self, name, flow):
18546  *         self.name = name             # <<<<<<<<<<<<<<
18547  *         self.flow = flow
18548  *
18549  */
18550   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_name_2, __pyx_v_name) < 0) __PYX_ERR(0, 479, __pyx_L1_error)
18551 
18552   /* "Cython/Compiler/FlowControl.py":480
18553  *     def __init__(self, name, flow):
18554  *         self.name = name
18555  *         self.flow = flow             # <<<<<<<<<<<<<<
18556  *
18557  *     def render(self, fp, ctx, annotate_defs=False):
18558  */
18559   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_flow, __pyx_v_flow) < 0) __PYX_ERR(0, 480, __pyx_L1_error)
18560 
18561   /* "Cython/Compiler/FlowControl.py":478
18562  *     """Graphviz DOT renderer."""
18563  *
18564  *     def __init__(self, name, flow):             # <<<<<<<<<<<<<<
18565  *         self.name = name
18566  *         self.flow = flow
18567  */
18568 
18569   /* function exit code */
18570   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
18571   goto __pyx_L0;
18572   __pyx_L1_error:;
18573   __Pyx_AddTraceback("Cython.Compiler.FlowControl.GV.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
18574   __pyx_r = NULL;
18575   __pyx_L0:;
18576   __Pyx_XGIVEREF(__pyx_r);
18577   __Pyx_RefNannyFinishContext();
18578   return __pyx_r;
18579 }
18580 
18581 /* "Cython/Compiler/FlowControl.py":482
18582  *         self.flow = flow
18583  *
18584  *     def render(self, fp, ctx, annotate_defs=False):             # <<<<<<<<<<<<<<
18585  *         fp.write(' subgraph %s {\n' % self.name)
18586  *         for block in self.flow.blocks:
18587  */
18588 
18589 /* Python wrapper */
18590 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_2GV_3render(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
18591 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_2GV_3render = {"render", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_2GV_3render, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_2GV_3render(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)18592 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_2GV_3render(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
18593   PyObject *__pyx_v_self = 0;
18594   PyObject *__pyx_v_fp = 0;
18595   PyObject *__pyx_v_ctx = 0;
18596   PyObject *__pyx_v_annotate_defs = 0;
18597   int __pyx_lineno = 0;
18598   const char *__pyx_filename = NULL;
18599   int __pyx_clineno = 0;
18600   PyObject *__pyx_r = 0;
18601   __Pyx_RefNannyDeclarations
18602   __Pyx_RefNannySetupContext("render (wrapper)", 0);
18603   {
18604     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_fp,&__pyx_n_s_ctx,&__pyx_n_s_annotate_defs,0};
18605     PyObject* values[4] = {0,0,0,0};
18606     values[3] = ((PyObject *)((PyObject *)Py_False));
18607     if (unlikely(__pyx_kwds)) {
18608       Py_ssize_t kw_args;
18609       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
18610       switch (pos_args) {
18611         case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
18612         CYTHON_FALLTHROUGH;
18613         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
18614         CYTHON_FALLTHROUGH;
18615         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
18616         CYTHON_FALLTHROUGH;
18617         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
18618         CYTHON_FALLTHROUGH;
18619         case  0: break;
18620         default: goto __pyx_L5_argtuple_error;
18621       }
18622       kw_args = PyDict_Size(__pyx_kwds);
18623       switch (pos_args) {
18624         case  0:
18625         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
18626         else goto __pyx_L5_argtuple_error;
18627         CYTHON_FALLTHROUGH;
18628         case  1:
18629         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_fp)) != 0)) kw_args--;
18630         else {
18631           __Pyx_RaiseArgtupleInvalid("render", 0, 3, 4, 1); __PYX_ERR(0, 482, __pyx_L3_error)
18632         }
18633         CYTHON_FALLTHROUGH;
18634         case  2:
18635         if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ctx)) != 0)) kw_args--;
18636         else {
18637           __Pyx_RaiseArgtupleInvalid("render", 0, 3, 4, 2); __PYX_ERR(0, 482, __pyx_L3_error)
18638         }
18639         CYTHON_FALLTHROUGH;
18640         case  3:
18641         if (kw_args > 0) {
18642           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_annotate_defs);
18643           if (value) { values[3] = value; kw_args--; }
18644         }
18645       }
18646       if (unlikely(kw_args > 0)) {
18647         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "render") < 0)) __PYX_ERR(0, 482, __pyx_L3_error)
18648       }
18649     } else {
18650       switch (PyTuple_GET_SIZE(__pyx_args)) {
18651         case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
18652         CYTHON_FALLTHROUGH;
18653         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
18654         values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
18655         values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
18656         break;
18657         default: goto __pyx_L5_argtuple_error;
18658       }
18659     }
18660     __pyx_v_self = values[0];
18661     __pyx_v_fp = values[1];
18662     __pyx_v_ctx = values[2];
18663     __pyx_v_annotate_defs = values[3];
18664   }
18665   goto __pyx_L4_argument_unpacking_done;
18666   __pyx_L5_argtuple_error:;
18667   __Pyx_RaiseArgtupleInvalid("render", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 482, __pyx_L3_error)
18668   __pyx_L3_error:;
18669   __Pyx_AddTraceback("Cython.Compiler.FlowControl.GV.render", __pyx_clineno, __pyx_lineno, __pyx_filename);
18670   __Pyx_RefNannyFinishContext();
18671   return NULL;
18672   __pyx_L4_argument_unpacking_done:;
18673   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_2GV_2render(__pyx_self, __pyx_v_self, __pyx_v_fp, __pyx_v_ctx, __pyx_v_annotate_defs);
18674 
18675   /* function exit code */
18676   __Pyx_RefNannyFinishContext();
18677   return __pyx_r;
18678 }
18679 
__pyx_pf_6Cython_8Compiler_11FlowControl_2GV_2render(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_fp,PyObject * __pyx_v_ctx,PyObject * __pyx_v_annotate_defs)18680 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_2GV_2render(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_fp, PyObject *__pyx_v_ctx, PyObject *__pyx_v_annotate_defs) {
18681   PyObject *__pyx_v_block = NULL;
18682   PyObject *__pyx_v_label = NULL;
18683   PyObject *__pyx_v_stat = NULL;
18684   PyObject *__pyx_v_pid = NULL;
18685   PyObject *__pyx_v_child = NULL;
18686   PyObject *__pyx_r = NULL;
18687   __Pyx_RefNannyDeclarations
18688   PyObject *__pyx_t_1 = NULL;
18689   PyObject *__pyx_t_2 = NULL;
18690   PyObject *__pyx_t_3 = NULL;
18691   PyObject *__pyx_t_4 = NULL;
18692   Py_ssize_t __pyx_t_5;
18693   PyObject *(*__pyx_t_6)(PyObject *);
18694   int __pyx_t_7;
18695   Py_ssize_t __pyx_t_8;
18696   PyObject *(*__pyx_t_9)(PyObject *);
18697   int __pyx_t_10;
18698   PyObject *__pyx_t_11 = NULL;
18699   PyObject *__pyx_t_12 = NULL;
18700   PyObject *__pyx_t_13 = NULL;
18701   int __pyx_lineno = 0;
18702   const char *__pyx_filename = NULL;
18703   int __pyx_clineno = 0;
18704   __Pyx_RefNannySetupContext("render", 0);
18705 
18706   /* "Cython/Compiler/FlowControl.py":483
18707  *
18708  *     def render(self, fp, ctx, annotate_defs=False):
18709  *         fp.write(' subgraph %s {\n' % self.name)             # <<<<<<<<<<<<<<
18710  *         for block in self.flow.blocks:
18711  *             label = ctx.extract_sources(block)
18712  */
18713   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_fp, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 483, __pyx_L1_error)
18714   __Pyx_GOTREF(__pyx_t_2);
18715   __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 483, __pyx_L1_error)
18716   __Pyx_GOTREF(__pyx_t_3);
18717   __pyx_t_4 = __Pyx_PyString_FormatSafe(__pyx_kp_s_subgraph_s, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 483, __pyx_L1_error)
18718   __Pyx_GOTREF(__pyx_t_4);
18719   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18720   __pyx_t_3 = NULL;
18721   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
18722     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
18723     if (likely(__pyx_t_3)) {
18724       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
18725       __Pyx_INCREF(__pyx_t_3);
18726       __Pyx_INCREF(function);
18727       __Pyx_DECREF_SET(__pyx_t_2, function);
18728     }
18729   }
18730   __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
18731   __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
18732   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18733   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 483, __pyx_L1_error)
18734   __Pyx_GOTREF(__pyx_t_1);
18735   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
18736   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
18737 
18738   /* "Cython/Compiler/FlowControl.py":484
18739  *     def render(self, fp, ctx, annotate_defs=False):
18740  *         fp.write(' subgraph %s {\n' % self.name)
18741  *         for block in self.flow.blocks:             # <<<<<<<<<<<<<<
18742  *             label = ctx.extract_sources(block)
18743  *             if annotate_defs:
18744  */
18745   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_flow); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 484, __pyx_L1_error)
18746   __Pyx_GOTREF(__pyx_t_1);
18747   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_blocks); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 484, __pyx_L1_error)
18748   __Pyx_GOTREF(__pyx_t_2);
18749   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
18750   if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
18751     __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_5 = 0;
18752     __pyx_t_6 = NULL;
18753   } else {
18754     __pyx_t_5 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 484, __pyx_L1_error)
18755     __Pyx_GOTREF(__pyx_t_1);
18756     __pyx_t_6 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 484, __pyx_L1_error)
18757   }
18758   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
18759   for (;;) {
18760     if (likely(!__pyx_t_6)) {
18761       if (likely(PyList_CheckExact(__pyx_t_1))) {
18762         if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_1)) break;
18763         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
18764         __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 484, __pyx_L1_error)
18765         #else
18766         __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 484, __pyx_L1_error)
18767         __Pyx_GOTREF(__pyx_t_2);
18768         #endif
18769       } else {
18770         if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
18771         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
18772         __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 484, __pyx_L1_error)
18773         #else
18774         __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 484, __pyx_L1_error)
18775         __Pyx_GOTREF(__pyx_t_2);
18776         #endif
18777       }
18778     } else {
18779       __pyx_t_2 = __pyx_t_6(__pyx_t_1);
18780       if (unlikely(!__pyx_t_2)) {
18781         PyObject* exc_type = PyErr_Occurred();
18782         if (exc_type) {
18783           if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
18784           else __PYX_ERR(0, 484, __pyx_L1_error)
18785         }
18786         break;
18787       }
18788       __Pyx_GOTREF(__pyx_t_2);
18789     }
18790     __Pyx_XDECREF_SET(__pyx_v_block, __pyx_t_2);
18791     __pyx_t_2 = 0;
18792 
18793     /* "Cython/Compiler/FlowControl.py":485
18794  *         fp.write(' subgraph %s {\n' % self.name)
18795  *         for block in self.flow.blocks:
18796  *             label = ctx.extract_sources(block)             # <<<<<<<<<<<<<<
18797  *             if annotate_defs:
18798  *                 for stat in block.stats:
18799  */
18800     __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ctx, __pyx_n_s_extract_sources); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 485, __pyx_L1_error)
18801     __Pyx_GOTREF(__pyx_t_4);
18802     __pyx_t_3 = NULL;
18803     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
18804       __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
18805       if (likely(__pyx_t_3)) {
18806         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
18807         __Pyx_INCREF(__pyx_t_3);
18808         __Pyx_INCREF(function);
18809         __Pyx_DECREF_SET(__pyx_t_4, function);
18810       }
18811     }
18812     __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_v_block) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_block);
18813     __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
18814     if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 485, __pyx_L1_error)
18815     __Pyx_GOTREF(__pyx_t_2);
18816     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18817     __Pyx_XDECREF_SET(__pyx_v_label, __pyx_t_2);
18818     __pyx_t_2 = 0;
18819 
18820     /* "Cython/Compiler/FlowControl.py":486
18821  *         for block in self.flow.blocks:
18822  *             label = ctx.extract_sources(block)
18823  *             if annotate_defs:             # <<<<<<<<<<<<<<
18824  *                 for stat in block.stats:
18825  *                     if isinstance(stat, NameAssignment):
18826  */
18827     __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_annotate_defs); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 486, __pyx_L1_error)
18828     if (__pyx_t_7) {
18829 
18830       /* "Cython/Compiler/FlowControl.py":487
18831  *             label = ctx.extract_sources(block)
18832  *             if annotate_defs:
18833  *                 for stat in block.stats:             # <<<<<<<<<<<<<<
18834  *                     if isinstance(stat, NameAssignment):
18835  *                         label += '\n %s [%s %s]' % (
18836  */
18837       __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_block, __pyx_n_s_stats); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 487, __pyx_L1_error)
18838       __Pyx_GOTREF(__pyx_t_2);
18839       if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
18840         __pyx_t_4 = __pyx_t_2; __Pyx_INCREF(__pyx_t_4); __pyx_t_8 = 0;
18841         __pyx_t_9 = NULL;
18842       } else {
18843         __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 487, __pyx_L1_error)
18844         __Pyx_GOTREF(__pyx_t_4);
18845         __pyx_t_9 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 487, __pyx_L1_error)
18846       }
18847       __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
18848       for (;;) {
18849         if (likely(!__pyx_t_9)) {
18850           if (likely(PyList_CheckExact(__pyx_t_4))) {
18851             if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_4)) break;
18852             #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
18853             __pyx_t_2 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_2); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 487, __pyx_L1_error)
18854             #else
18855             __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 487, __pyx_L1_error)
18856             __Pyx_GOTREF(__pyx_t_2);
18857             #endif
18858           } else {
18859             if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
18860             #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
18861             __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_2); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 487, __pyx_L1_error)
18862             #else
18863             __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 487, __pyx_L1_error)
18864             __Pyx_GOTREF(__pyx_t_2);
18865             #endif
18866           }
18867         } else {
18868           __pyx_t_2 = __pyx_t_9(__pyx_t_4);
18869           if (unlikely(!__pyx_t_2)) {
18870             PyObject* exc_type = PyErr_Occurred();
18871             if (exc_type) {
18872               if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
18873               else __PYX_ERR(0, 487, __pyx_L1_error)
18874             }
18875             break;
18876           }
18877           __Pyx_GOTREF(__pyx_t_2);
18878         }
18879         __Pyx_XDECREF_SET(__pyx_v_stat, __pyx_t_2);
18880         __pyx_t_2 = 0;
18881 
18882         /* "Cython/Compiler/FlowControl.py":488
18883  *             if annotate_defs:
18884  *                 for stat in block.stats:
18885  *                     if isinstance(stat, NameAssignment):             # <<<<<<<<<<<<<<
18886  *                         label += '\n %s [%s %s]' % (
18887  *                             stat.entry.name, 'deletion' if stat.is_deletion else 'definition', stat.pos[1])
18888  */
18889         __pyx_t_7 = __Pyx_TypeCheck(__pyx_v_stat, __pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment);
18890         __pyx_t_10 = (__pyx_t_7 != 0);
18891         if (__pyx_t_10) {
18892 
18893           /* "Cython/Compiler/FlowControl.py":490
18894  *                     if isinstance(stat, NameAssignment):
18895  *                         label += '\n %s [%s %s]' % (
18896  *                             stat.entry.name, 'deletion' if stat.is_deletion else 'definition', stat.pos[1])             # <<<<<<<<<<<<<<
18897  *                     elif isinstance(stat, NameReference):
18898  *                         if stat.entry:
18899  */
18900           __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_stat, __pyx_n_s_entry); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 490, __pyx_L1_error)
18901           __Pyx_GOTREF(__pyx_t_2);
18902           __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_name_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 490, __pyx_L1_error)
18903           __Pyx_GOTREF(__pyx_t_3);
18904           __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
18905           __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_stat, __pyx_n_s_is_deletion); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 490, __pyx_L1_error)
18906           __Pyx_GOTREF(__pyx_t_11);
18907           __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 490, __pyx_L1_error)
18908           __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
18909           if (__pyx_t_10) {
18910             __Pyx_INCREF(__pyx_n_s_deletion);
18911             __pyx_t_2 = __pyx_n_s_deletion;
18912           } else {
18913             __Pyx_INCREF(__pyx_n_s_definition);
18914             __pyx_t_2 = __pyx_n_s_definition;
18915           }
18916           __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_stat, __pyx_n_s_pos); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 490, __pyx_L1_error)
18917           __Pyx_GOTREF(__pyx_t_11);
18918           __pyx_t_12 = __Pyx_GetItemInt(__pyx_t_11, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 490, __pyx_L1_error)
18919           __Pyx_GOTREF(__pyx_t_12);
18920           __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
18921           __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 490, __pyx_L1_error)
18922           __Pyx_GOTREF(__pyx_t_11);
18923           __Pyx_GIVEREF(__pyx_t_3);
18924           PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_3);
18925           __Pyx_GIVEREF(__pyx_t_2);
18926           PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_2);
18927           __Pyx_GIVEREF(__pyx_t_12);
18928           PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_12);
18929           __pyx_t_3 = 0;
18930           __pyx_t_2 = 0;
18931           __pyx_t_12 = 0;
18932 
18933           /* "Cython/Compiler/FlowControl.py":489
18934  *                 for stat in block.stats:
18935  *                     if isinstance(stat, NameAssignment):
18936  *                         label += '\n %s [%s %s]' % (             # <<<<<<<<<<<<<<
18937  *                             stat.entry.name, 'deletion' if stat.is_deletion else 'definition', stat.pos[1])
18938  *                     elif isinstance(stat, NameReference):
18939  */
18940           __pyx_t_12 = __Pyx_PyString_Format(__pyx_kp_s_s_s_s, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 489, __pyx_L1_error)
18941           __Pyx_GOTREF(__pyx_t_12);
18942           __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
18943           __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_label, __pyx_t_12); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 489, __pyx_L1_error)
18944           __Pyx_GOTREF(__pyx_t_11);
18945           __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
18946           __Pyx_DECREF_SET(__pyx_v_label, __pyx_t_11);
18947           __pyx_t_11 = 0;
18948 
18949           /* "Cython/Compiler/FlowControl.py":488
18950  *             if annotate_defs:
18951  *                 for stat in block.stats:
18952  *                     if isinstance(stat, NameAssignment):             # <<<<<<<<<<<<<<
18953  *                         label += '\n %s [%s %s]' % (
18954  *                             stat.entry.name, 'deletion' if stat.is_deletion else 'definition', stat.pos[1])
18955  */
18956           goto __pyx_L8;
18957         }
18958 
18959         /* "Cython/Compiler/FlowControl.py":491
18960  *                         label += '\n %s [%s %s]' % (
18961  *                             stat.entry.name, 'deletion' if stat.is_deletion else 'definition', stat.pos[1])
18962  *                     elif isinstance(stat, NameReference):             # <<<<<<<<<<<<<<
18963  *                         if stat.entry:
18964  *                             label += '\n %s [reference %s]' % (stat.entry.name, stat.pos[1])
18965  */
18966         __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_NameReference); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 491, __pyx_L1_error)
18967         __Pyx_GOTREF(__pyx_t_11);
18968         __pyx_t_10 = PyObject_IsInstance(__pyx_v_stat, __pyx_t_11); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(0, 491, __pyx_L1_error)
18969         __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
18970         __pyx_t_7 = (__pyx_t_10 != 0);
18971         if (__pyx_t_7) {
18972 
18973           /* "Cython/Compiler/FlowControl.py":492
18974  *                             stat.entry.name, 'deletion' if stat.is_deletion else 'definition', stat.pos[1])
18975  *                     elif isinstance(stat, NameReference):
18976  *                         if stat.entry:             # <<<<<<<<<<<<<<
18977  *                             label += '\n %s [reference %s]' % (stat.entry.name, stat.pos[1])
18978  *             if not label:
18979  */
18980           __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_stat, __pyx_n_s_entry); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 492, __pyx_L1_error)
18981           __Pyx_GOTREF(__pyx_t_11);
18982           __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 492, __pyx_L1_error)
18983           __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
18984           if (__pyx_t_7) {
18985 
18986             /* "Cython/Compiler/FlowControl.py":493
18987  *                     elif isinstance(stat, NameReference):
18988  *                         if stat.entry:
18989  *                             label += '\n %s [reference %s]' % (stat.entry.name, stat.pos[1])             # <<<<<<<<<<<<<<
18990  *             if not label:
18991  *                 label = 'empty'
18992  */
18993             __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_stat, __pyx_n_s_entry); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 493, __pyx_L1_error)
18994             __Pyx_GOTREF(__pyx_t_11);
18995             __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_name_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 493, __pyx_L1_error)
18996             __Pyx_GOTREF(__pyx_t_12);
18997             __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
18998             __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_stat, __pyx_n_s_pos); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 493, __pyx_L1_error)
18999             __Pyx_GOTREF(__pyx_t_11);
19000             __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_11, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 493, __pyx_L1_error)
19001             __Pyx_GOTREF(__pyx_t_2);
19002             __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
19003             __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 493, __pyx_L1_error)
19004             __Pyx_GOTREF(__pyx_t_11);
19005             __Pyx_GIVEREF(__pyx_t_12);
19006             PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_12);
19007             __Pyx_GIVEREF(__pyx_t_2);
19008             PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_2);
19009             __pyx_t_12 = 0;
19010             __pyx_t_2 = 0;
19011             __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_s_reference_s, __pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 493, __pyx_L1_error)
19012             __Pyx_GOTREF(__pyx_t_2);
19013             __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
19014             __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_label, __pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 493, __pyx_L1_error)
19015             __Pyx_GOTREF(__pyx_t_11);
19016             __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
19017             __Pyx_DECREF_SET(__pyx_v_label, __pyx_t_11);
19018             __pyx_t_11 = 0;
19019 
19020             /* "Cython/Compiler/FlowControl.py":492
19021  *                             stat.entry.name, 'deletion' if stat.is_deletion else 'definition', stat.pos[1])
19022  *                     elif isinstance(stat, NameReference):
19023  *                         if stat.entry:             # <<<<<<<<<<<<<<
19024  *                             label += '\n %s [reference %s]' % (stat.entry.name, stat.pos[1])
19025  *             if not label:
19026  */
19027           }
19028 
19029           /* "Cython/Compiler/FlowControl.py":491
19030  *                         label += '\n %s [%s %s]' % (
19031  *                             stat.entry.name, 'deletion' if stat.is_deletion else 'definition', stat.pos[1])
19032  *                     elif isinstance(stat, NameReference):             # <<<<<<<<<<<<<<
19033  *                         if stat.entry:
19034  *                             label += '\n %s [reference %s]' % (stat.entry.name, stat.pos[1])
19035  */
19036         }
19037         __pyx_L8:;
19038 
19039         /* "Cython/Compiler/FlowControl.py":487
19040  *             label = ctx.extract_sources(block)
19041  *             if annotate_defs:
19042  *                 for stat in block.stats:             # <<<<<<<<<<<<<<
19043  *                     if isinstance(stat, NameAssignment):
19044  *                         label += '\n %s [%s %s]' % (
19045  */
19046       }
19047       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
19048 
19049       /* "Cython/Compiler/FlowControl.py":486
19050  *         for block in self.flow.blocks:
19051  *             label = ctx.extract_sources(block)
19052  *             if annotate_defs:             # <<<<<<<<<<<<<<
19053  *                 for stat in block.stats:
19054  *                     if isinstance(stat, NameAssignment):
19055  */
19056     }
19057 
19058     /* "Cython/Compiler/FlowControl.py":494
19059  *                         if stat.entry:
19060  *                             label += '\n %s [reference %s]' % (stat.entry.name, stat.pos[1])
19061  *             if not label:             # <<<<<<<<<<<<<<
19062  *                 label = 'empty'
19063  *             pid = ctx.nodeid(block)
19064  */
19065     __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_label); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 494, __pyx_L1_error)
19066     __pyx_t_10 = ((!__pyx_t_7) != 0);
19067     if (__pyx_t_10) {
19068 
19069       /* "Cython/Compiler/FlowControl.py":495
19070  *                             label += '\n %s [reference %s]' % (stat.entry.name, stat.pos[1])
19071  *             if not label:
19072  *                 label = 'empty'             # <<<<<<<<<<<<<<
19073  *             pid = ctx.nodeid(block)
19074  *             fp.write('  %s [label="%s"];\n' % (pid, ctx.escape(label)))
19075  */
19076       __Pyx_INCREF(__pyx_n_s_empty);
19077       __Pyx_DECREF_SET(__pyx_v_label, __pyx_n_s_empty);
19078 
19079       /* "Cython/Compiler/FlowControl.py":494
19080  *                         if stat.entry:
19081  *                             label += '\n %s [reference %s]' % (stat.entry.name, stat.pos[1])
19082  *             if not label:             # <<<<<<<<<<<<<<
19083  *                 label = 'empty'
19084  *             pid = ctx.nodeid(block)
19085  */
19086     }
19087 
19088     /* "Cython/Compiler/FlowControl.py":496
19089  *             if not label:
19090  *                 label = 'empty'
19091  *             pid = ctx.nodeid(block)             # <<<<<<<<<<<<<<
19092  *             fp.write('  %s [label="%s"];\n' % (pid, ctx.escape(label)))
19093  *         for block in self.flow.blocks:
19094  */
19095     __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_ctx, __pyx_n_s_nodeid); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 496, __pyx_L1_error)
19096     __Pyx_GOTREF(__pyx_t_11);
19097     __pyx_t_2 = NULL;
19098     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
19099       __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_11);
19100       if (likely(__pyx_t_2)) {
19101         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
19102         __Pyx_INCREF(__pyx_t_2);
19103         __Pyx_INCREF(function);
19104         __Pyx_DECREF_SET(__pyx_t_11, function);
19105       }
19106     }
19107     __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_2, __pyx_v_block) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_v_block);
19108     __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
19109     if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 496, __pyx_L1_error)
19110     __Pyx_GOTREF(__pyx_t_4);
19111     __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
19112     __Pyx_XDECREF_SET(__pyx_v_pid, __pyx_t_4);
19113     __pyx_t_4 = 0;
19114 
19115     /* "Cython/Compiler/FlowControl.py":497
19116  *                 label = 'empty'
19117  *             pid = ctx.nodeid(block)
19118  *             fp.write('  %s [label="%s"];\n' % (pid, ctx.escape(label)))             # <<<<<<<<<<<<<<
19119  *         for block in self.flow.blocks:
19120  *             pid = ctx.nodeid(block)
19121  */
19122     __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_fp, __pyx_n_s_write); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 497, __pyx_L1_error)
19123     __Pyx_GOTREF(__pyx_t_11);
19124     __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_ctx, __pyx_n_s_escape); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 497, __pyx_L1_error)
19125     __Pyx_GOTREF(__pyx_t_12);
19126     __pyx_t_3 = NULL;
19127     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) {
19128       __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_12);
19129       if (likely(__pyx_t_3)) {
19130         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
19131         __Pyx_INCREF(__pyx_t_3);
19132         __Pyx_INCREF(function);
19133         __Pyx_DECREF_SET(__pyx_t_12, function);
19134       }
19135     }
19136     __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_3, __pyx_v_label) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_label);
19137     __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
19138     if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 497, __pyx_L1_error)
19139     __Pyx_GOTREF(__pyx_t_2);
19140     __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
19141     __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 497, __pyx_L1_error)
19142     __Pyx_GOTREF(__pyx_t_12);
19143     __Pyx_INCREF(__pyx_v_pid);
19144     __Pyx_GIVEREF(__pyx_v_pid);
19145     PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_v_pid);
19146     __Pyx_GIVEREF(__pyx_t_2);
19147     PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_2);
19148     __pyx_t_2 = 0;
19149     __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_s_label_s, __pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 497, __pyx_L1_error)
19150     __Pyx_GOTREF(__pyx_t_2);
19151     __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
19152     __pyx_t_12 = NULL;
19153     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
19154       __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_11);
19155       if (likely(__pyx_t_12)) {
19156         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
19157         __Pyx_INCREF(__pyx_t_12);
19158         __Pyx_INCREF(function);
19159         __Pyx_DECREF_SET(__pyx_t_11, function);
19160       }
19161     }
19162     __pyx_t_4 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_12, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_2);
19163     __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
19164     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
19165     if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 497, __pyx_L1_error)
19166     __Pyx_GOTREF(__pyx_t_4);
19167     __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
19168     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
19169 
19170     /* "Cython/Compiler/FlowControl.py":484
19171  *     def render(self, fp, ctx, annotate_defs=False):
19172  *         fp.write(' subgraph %s {\n' % self.name)
19173  *         for block in self.flow.blocks:             # <<<<<<<<<<<<<<
19174  *             label = ctx.extract_sources(block)
19175  *             if annotate_defs:
19176  */
19177   }
19178   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
19179 
19180   /* "Cython/Compiler/FlowControl.py":498
19181  *             pid = ctx.nodeid(block)
19182  *             fp.write('  %s [label="%s"];\n' % (pid, ctx.escape(label)))
19183  *         for block in self.flow.blocks:             # <<<<<<<<<<<<<<
19184  *             pid = ctx.nodeid(block)
19185  *             for child in block.children:
19186  */
19187   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_flow); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 498, __pyx_L1_error)
19188   __Pyx_GOTREF(__pyx_t_1);
19189   __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_blocks); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 498, __pyx_L1_error)
19190   __Pyx_GOTREF(__pyx_t_4);
19191   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
19192   if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
19193     __pyx_t_1 = __pyx_t_4; __Pyx_INCREF(__pyx_t_1); __pyx_t_5 = 0;
19194     __pyx_t_6 = NULL;
19195   } else {
19196     __pyx_t_5 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 498, __pyx_L1_error)
19197     __Pyx_GOTREF(__pyx_t_1);
19198     __pyx_t_6 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 498, __pyx_L1_error)
19199   }
19200   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
19201   for (;;) {
19202     if (likely(!__pyx_t_6)) {
19203       if (likely(PyList_CheckExact(__pyx_t_1))) {
19204         if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_1)) break;
19205         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
19206         __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 498, __pyx_L1_error)
19207         #else
19208         __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 498, __pyx_L1_error)
19209         __Pyx_GOTREF(__pyx_t_4);
19210         #endif
19211       } else {
19212         if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
19213         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
19214         __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 498, __pyx_L1_error)
19215         #else
19216         __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 498, __pyx_L1_error)
19217         __Pyx_GOTREF(__pyx_t_4);
19218         #endif
19219       }
19220     } else {
19221       __pyx_t_4 = __pyx_t_6(__pyx_t_1);
19222       if (unlikely(!__pyx_t_4)) {
19223         PyObject* exc_type = PyErr_Occurred();
19224         if (exc_type) {
19225           if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
19226           else __PYX_ERR(0, 498, __pyx_L1_error)
19227         }
19228         break;
19229       }
19230       __Pyx_GOTREF(__pyx_t_4);
19231     }
19232     __Pyx_XDECREF_SET(__pyx_v_block, __pyx_t_4);
19233     __pyx_t_4 = 0;
19234 
19235     /* "Cython/Compiler/FlowControl.py":499
19236  *             fp.write('  %s [label="%s"];\n' % (pid, ctx.escape(label)))
19237  *         for block in self.flow.blocks:
19238  *             pid = ctx.nodeid(block)             # <<<<<<<<<<<<<<
19239  *             for child in block.children:
19240  *                 fp.write('  %s -> %s;\n' % (pid, ctx.nodeid(child)))
19241  */
19242     __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_ctx, __pyx_n_s_nodeid); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 499, __pyx_L1_error)
19243     __Pyx_GOTREF(__pyx_t_11);
19244     __pyx_t_2 = NULL;
19245     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
19246       __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_11);
19247       if (likely(__pyx_t_2)) {
19248         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
19249         __Pyx_INCREF(__pyx_t_2);
19250         __Pyx_INCREF(function);
19251         __Pyx_DECREF_SET(__pyx_t_11, function);
19252       }
19253     }
19254     __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_2, __pyx_v_block) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_v_block);
19255     __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
19256     if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 499, __pyx_L1_error)
19257     __Pyx_GOTREF(__pyx_t_4);
19258     __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
19259     __Pyx_XDECREF_SET(__pyx_v_pid, __pyx_t_4);
19260     __pyx_t_4 = 0;
19261 
19262     /* "Cython/Compiler/FlowControl.py":500
19263  *         for block in self.flow.blocks:
19264  *             pid = ctx.nodeid(block)
19265  *             for child in block.children:             # <<<<<<<<<<<<<<
19266  *                 fp.write('  %s -> %s;\n' % (pid, ctx.nodeid(child)))
19267  *         fp.write(' }\n')
19268  */
19269     __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_block, __pyx_n_s_children); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 500, __pyx_L1_error)
19270     __Pyx_GOTREF(__pyx_t_4);
19271     if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
19272       __pyx_t_11 = __pyx_t_4; __Pyx_INCREF(__pyx_t_11); __pyx_t_8 = 0;
19273       __pyx_t_9 = NULL;
19274     } else {
19275       __pyx_t_8 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 500, __pyx_L1_error)
19276       __Pyx_GOTREF(__pyx_t_11);
19277       __pyx_t_9 = Py_TYPE(__pyx_t_11)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 500, __pyx_L1_error)
19278     }
19279     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
19280     for (;;) {
19281       if (likely(!__pyx_t_9)) {
19282         if (likely(PyList_CheckExact(__pyx_t_11))) {
19283           if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_11)) break;
19284           #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
19285           __pyx_t_4 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_8); __Pyx_INCREF(__pyx_t_4); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 500, __pyx_L1_error)
19286           #else
19287           __pyx_t_4 = PySequence_ITEM(__pyx_t_11, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 500, __pyx_L1_error)
19288           __Pyx_GOTREF(__pyx_t_4);
19289           #endif
19290         } else {
19291           if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_11)) break;
19292           #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
19293           __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_8); __Pyx_INCREF(__pyx_t_4); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 500, __pyx_L1_error)
19294           #else
19295           __pyx_t_4 = PySequence_ITEM(__pyx_t_11, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 500, __pyx_L1_error)
19296           __Pyx_GOTREF(__pyx_t_4);
19297           #endif
19298         }
19299       } else {
19300         __pyx_t_4 = __pyx_t_9(__pyx_t_11);
19301         if (unlikely(!__pyx_t_4)) {
19302           PyObject* exc_type = PyErr_Occurred();
19303           if (exc_type) {
19304             if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
19305             else __PYX_ERR(0, 500, __pyx_L1_error)
19306           }
19307           break;
19308         }
19309         __Pyx_GOTREF(__pyx_t_4);
19310       }
19311       __Pyx_XDECREF_SET(__pyx_v_child, __pyx_t_4);
19312       __pyx_t_4 = 0;
19313 
19314       /* "Cython/Compiler/FlowControl.py":501
19315  *             pid = ctx.nodeid(block)
19316  *             for child in block.children:
19317  *                 fp.write('  %s -> %s;\n' % (pid, ctx.nodeid(child)))             # <<<<<<<<<<<<<<
19318  *         fp.write(' }\n')
19319  *
19320  */
19321       __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_fp, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 501, __pyx_L1_error)
19322       __Pyx_GOTREF(__pyx_t_2);
19323       __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_ctx, __pyx_n_s_nodeid); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 501, __pyx_L1_error)
19324       __Pyx_GOTREF(__pyx_t_3);
19325       __pyx_t_13 = NULL;
19326       if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
19327         __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3);
19328         if (likely(__pyx_t_13)) {
19329           PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
19330           __Pyx_INCREF(__pyx_t_13);
19331           __Pyx_INCREF(function);
19332           __Pyx_DECREF_SET(__pyx_t_3, function);
19333         }
19334       }
19335       __pyx_t_12 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_13, __pyx_v_child) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_child);
19336       __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
19337       if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 501, __pyx_L1_error)
19338       __Pyx_GOTREF(__pyx_t_12);
19339       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
19340       __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 501, __pyx_L1_error)
19341       __Pyx_GOTREF(__pyx_t_3);
19342       __Pyx_INCREF(__pyx_v_pid);
19343       __Pyx_GIVEREF(__pyx_v_pid);
19344       PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_pid);
19345       __Pyx_GIVEREF(__pyx_t_12);
19346       PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_12);
19347       __pyx_t_12 = 0;
19348       __pyx_t_12 = __Pyx_PyString_Format(__pyx_kp_s_s_s, __pyx_t_3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 501, __pyx_L1_error)
19349       __Pyx_GOTREF(__pyx_t_12);
19350       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
19351       __pyx_t_3 = NULL;
19352       if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
19353         __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
19354         if (likely(__pyx_t_3)) {
19355           PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
19356           __Pyx_INCREF(__pyx_t_3);
19357           __Pyx_INCREF(function);
19358           __Pyx_DECREF_SET(__pyx_t_2, function);
19359         }
19360       }
19361       __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_12);
19362       __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
19363       __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
19364       if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 501, __pyx_L1_error)
19365       __Pyx_GOTREF(__pyx_t_4);
19366       __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
19367       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
19368 
19369       /* "Cython/Compiler/FlowControl.py":500
19370  *         for block in self.flow.blocks:
19371  *             pid = ctx.nodeid(block)
19372  *             for child in block.children:             # <<<<<<<<<<<<<<
19373  *                 fp.write('  %s -> %s;\n' % (pid, ctx.nodeid(child)))
19374  *         fp.write(' }\n')
19375  */
19376     }
19377     __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
19378 
19379     /* "Cython/Compiler/FlowControl.py":498
19380  *             pid = ctx.nodeid(block)
19381  *             fp.write('  %s [label="%s"];\n' % (pid, ctx.escape(label)))
19382  *         for block in self.flow.blocks:             # <<<<<<<<<<<<<<
19383  *             pid = ctx.nodeid(block)
19384  *             for child in block.children:
19385  */
19386   }
19387   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
19388 
19389   /* "Cython/Compiler/FlowControl.py":502
19390  *             for child in block.children:
19391  *                 fp.write('  %s -> %s;\n' % (pid, ctx.nodeid(child)))
19392  *         fp.write(' }\n')             # <<<<<<<<<<<<<<
19393  *
19394  *
19395  */
19396   __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_fp, __pyx_n_s_write); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 502, __pyx_L1_error)
19397   __Pyx_GOTREF(__pyx_t_11);
19398   __pyx_t_4 = NULL;
19399   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
19400     __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_11);
19401     if (likely(__pyx_t_4)) {
19402       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
19403       __Pyx_INCREF(__pyx_t_4);
19404       __Pyx_INCREF(function);
19405       __Pyx_DECREF_SET(__pyx_t_11, function);
19406     }
19407   }
19408   __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_4, __pyx_kp_s__9) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_kp_s__9);
19409   __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
19410   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 502, __pyx_L1_error)
19411   __Pyx_GOTREF(__pyx_t_1);
19412   __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
19413   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
19414 
19415   /* "Cython/Compiler/FlowControl.py":482
19416  *         self.flow = flow
19417  *
19418  *     def render(self, fp, ctx, annotate_defs=False):             # <<<<<<<<<<<<<<
19419  *         fp.write(' subgraph %s {\n' % self.name)
19420  *         for block in self.flow.blocks:
19421  */
19422 
19423   /* function exit code */
19424   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
19425   goto __pyx_L0;
19426   __pyx_L1_error:;
19427   __Pyx_XDECREF(__pyx_t_1);
19428   __Pyx_XDECREF(__pyx_t_2);
19429   __Pyx_XDECREF(__pyx_t_3);
19430   __Pyx_XDECREF(__pyx_t_4);
19431   __Pyx_XDECREF(__pyx_t_11);
19432   __Pyx_XDECREF(__pyx_t_12);
19433   __Pyx_XDECREF(__pyx_t_13);
19434   __Pyx_AddTraceback("Cython.Compiler.FlowControl.GV.render", __pyx_clineno, __pyx_lineno, __pyx_filename);
19435   __pyx_r = NULL;
19436   __pyx_L0:;
19437   __Pyx_XDECREF(__pyx_v_block);
19438   __Pyx_XDECREF(__pyx_v_label);
19439   __Pyx_XDECREF(__pyx_v_stat);
19440   __Pyx_XDECREF(__pyx_v_pid);
19441   __Pyx_XDECREF(__pyx_v_child);
19442   __Pyx_XGIVEREF(__pyx_r);
19443   __Pyx_RefNannyFinishContext();
19444   return __pyx_r;
19445 }
19446 
19447 /* "Cython/Compiler/FlowControl.py":507
19448  * class MessageCollection(object):
19449  *     """Collect error/warnings messages first then sort"""
19450  *     def __init__(self):             # <<<<<<<<<<<<<<
19451  *         self.messages = set()
19452  *
19453  */
19454 
19455 /* Python wrapper */
19456 static int __pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_1__init__(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)19457 static int __pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
19458   int __pyx_r;
19459   __Pyx_RefNannyDeclarations
19460   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
19461   if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
19462     __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
19463   if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 0))) return -1;
19464   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection___init__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *)__pyx_v_self));
19465 
19466   /* function exit code */
19467   __Pyx_RefNannyFinishContext();
19468   return __pyx_r;
19469 }
19470 
__pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection___init__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection * __pyx_v_self)19471 static int __pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection___init__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *__pyx_v_self) {
19472   int __pyx_r;
19473   __Pyx_RefNannyDeclarations
19474   PyObject *__pyx_t_1 = NULL;
19475   int __pyx_lineno = 0;
19476   const char *__pyx_filename = NULL;
19477   int __pyx_clineno = 0;
19478   __Pyx_RefNannySetupContext("__init__", 0);
19479 
19480   /* "Cython/Compiler/FlowControl.py":508
19481  *     """Collect error/warnings messages first then sort"""
19482  *     def __init__(self):
19483  *         self.messages = set()             # <<<<<<<<<<<<<<
19484  *
19485  *     def error(self, pos, message):
19486  */
19487   __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 508, __pyx_L1_error)
19488   __Pyx_GOTREF(__pyx_t_1);
19489   __Pyx_GIVEREF(__pyx_t_1);
19490   __Pyx_GOTREF(__pyx_v_self->messages);
19491   __Pyx_DECREF(__pyx_v_self->messages);
19492   __pyx_v_self->messages = ((PyObject*)__pyx_t_1);
19493   __pyx_t_1 = 0;
19494 
19495   /* "Cython/Compiler/FlowControl.py":507
19496  * class MessageCollection(object):
19497  *     """Collect error/warnings messages first then sort"""
19498  *     def __init__(self):             # <<<<<<<<<<<<<<
19499  *         self.messages = set()
19500  *
19501  */
19502 
19503   /* function exit code */
19504   __pyx_r = 0;
19505   goto __pyx_L0;
19506   __pyx_L1_error:;
19507   __Pyx_XDECREF(__pyx_t_1);
19508   __Pyx_AddTraceback("Cython.Compiler.FlowControl.MessageCollection.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
19509   __pyx_r = -1;
19510   __pyx_L0:;
19511   __Pyx_RefNannyFinishContext();
19512   return __pyx_r;
19513 }
19514 
19515 /* "Cython/Compiler/FlowControl.py":510
19516  *         self.messages = set()
19517  *
19518  *     def error(self, pos, message):             # <<<<<<<<<<<<<<
19519  *         self.messages.add((pos, True, message))
19520  *
19521  */
19522 
19523 /* Python wrapper */
19524 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_3error(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
19525 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_17MessageCollection_3error = {"error", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_3error, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_3error(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)19526 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_3error(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
19527   PyObject *__pyx_v_pos = 0;
19528   PyObject *__pyx_v_message = 0;
19529   int __pyx_lineno = 0;
19530   const char *__pyx_filename = NULL;
19531   int __pyx_clineno = 0;
19532   PyObject *__pyx_r = 0;
19533   __Pyx_RefNannyDeclarations
19534   __Pyx_RefNannySetupContext("error (wrapper)", 0);
19535   {
19536     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pos,&__pyx_n_s_message,0};
19537     PyObject* values[2] = {0,0};
19538     if (unlikely(__pyx_kwds)) {
19539       Py_ssize_t kw_args;
19540       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
19541       switch (pos_args) {
19542         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
19543         CYTHON_FALLTHROUGH;
19544         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
19545         CYTHON_FALLTHROUGH;
19546         case  0: break;
19547         default: goto __pyx_L5_argtuple_error;
19548       }
19549       kw_args = PyDict_Size(__pyx_kwds);
19550       switch (pos_args) {
19551         case  0:
19552         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pos)) != 0)) kw_args--;
19553         else goto __pyx_L5_argtuple_error;
19554         CYTHON_FALLTHROUGH;
19555         case  1:
19556         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_message)) != 0)) kw_args--;
19557         else {
19558           __Pyx_RaiseArgtupleInvalid("error", 1, 2, 2, 1); __PYX_ERR(0, 510, __pyx_L3_error)
19559         }
19560       }
19561       if (unlikely(kw_args > 0)) {
19562         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "error") < 0)) __PYX_ERR(0, 510, __pyx_L3_error)
19563       }
19564     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
19565       goto __pyx_L5_argtuple_error;
19566     } else {
19567       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
19568       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
19569     }
19570     __pyx_v_pos = values[0];
19571     __pyx_v_message = values[1];
19572   }
19573   goto __pyx_L4_argument_unpacking_done;
19574   __pyx_L5_argtuple_error:;
19575   __Pyx_RaiseArgtupleInvalid("error", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 510, __pyx_L3_error)
19576   __pyx_L3_error:;
19577   __Pyx_AddTraceback("Cython.Compiler.FlowControl.MessageCollection.error", __pyx_clineno, __pyx_lineno, __pyx_filename);
19578   __Pyx_RefNannyFinishContext();
19579   return NULL;
19580   __pyx_L4_argument_unpacking_done:;
19581   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection_2error(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *)__pyx_v_self), __pyx_v_pos, __pyx_v_message);
19582 
19583   /* function exit code */
19584   __Pyx_RefNannyFinishContext();
19585   return __pyx_r;
19586 }
19587 
__pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection_2error(struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection * __pyx_v_self,PyObject * __pyx_v_pos,PyObject * __pyx_v_message)19588 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection_2error(struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_message) {
19589   PyObject *__pyx_r = NULL;
19590   __Pyx_RefNannyDeclarations
19591   PyObject *__pyx_t_1 = NULL;
19592   int __pyx_t_2;
19593   int __pyx_lineno = 0;
19594   const char *__pyx_filename = NULL;
19595   int __pyx_clineno = 0;
19596   __Pyx_RefNannySetupContext("error", 0);
19597 
19598   /* "Cython/Compiler/FlowControl.py":511
19599  *
19600  *     def error(self, pos, message):
19601  *         self.messages.add((pos, True, message))             # <<<<<<<<<<<<<<
19602  *
19603  *     def warning(self, pos, message):
19604  */
19605   if (unlikely(__pyx_v_self->messages == Py_None)) {
19606     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "add");
19607     __PYX_ERR(0, 511, __pyx_L1_error)
19608   }
19609   __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 511, __pyx_L1_error)
19610   __Pyx_GOTREF(__pyx_t_1);
19611   __Pyx_INCREF(__pyx_v_pos);
19612   __Pyx_GIVEREF(__pyx_v_pos);
19613   PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_pos);
19614   __Pyx_INCREF(Py_True);
19615   __Pyx_GIVEREF(Py_True);
19616   PyTuple_SET_ITEM(__pyx_t_1, 1, Py_True);
19617   __Pyx_INCREF(__pyx_v_message);
19618   __Pyx_GIVEREF(__pyx_v_message);
19619   PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_message);
19620   __pyx_t_2 = PySet_Add(__pyx_v_self->messages, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 511, __pyx_L1_error)
19621   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
19622 
19623   /* "Cython/Compiler/FlowControl.py":510
19624  *         self.messages = set()
19625  *
19626  *     def error(self, pos, message):             # <<<<<<<<<<<<<<
19627  *         self.messages.add((pos, True, message))
19628  *
19629  */
19630 
19631   /* function exit code */
19632   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
19633   goto __pyx_L0;
19634   __pyx_L1_error:;
19635   __Pyx_XDECREF(__pyx_t_1);
19636   __Pyx_AddTraceback("Cython.Compiler.FlowControl.MessageCollection.error", __pyx_clineno, __pyx_lineno, __pyx_filename);
19637   __pyx_r = NULL;
19638   __pyx_L0:;
19639   __Pyx_XGIVEREF(__pyx_r);
19640   __Pyx_RefNannyFinishContext();
19641   return __pyx_r;
19642 }
19643 
19644 /* "Cython/Compiler/FlowControl.py":513
19645  *         self.messages.add((pos, True, message))
19646  *
19647  *     def warning(self, pos, message):             # <<<<<<<<<<<<<<
19648  *         self.messages.add((pos, False, message))
19649  *
19650  */
19651 
19652 /* Python wrapper */
19653 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_5warning(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
19654 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_17MessageCollection_5warning = {"warning", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_5warning, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_5warning(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)19655 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_5warning(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
19656   PyObject *__pyx_v_pos = 0;
19657   PyObject *__pyx_v_message = 0;
19658   int __pyx_lineno = 0;
19659   const char *__pyx_filename = NULL;
19660   int __pyx_clineno = 0;
19661   PyObject *__pyx_r = 0;
19662   __Pyx_RefNannyDeclarations
19663   __Pyx_RefNannySetupContext("warning (wrapper)", 0);
19664   {
19665     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pos,&__pyx_n_s_message,0};
19666     PyObject* values[2] = {0,0};
19667     if (unlikely(__pyx_kwds)) {
19668       Py_ssize_t kw_args;
19669       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
19670       switch (pos_args) {
19671         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
19672         CYTHON_FALLTHROUGH;
19673         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
19674         CYTHON_FALLTHROUGH;
19675         case  0: break;
19676         default: goto __pyx_L5_argtuple_error;
19677       }
19678       kw_args = PyDict_Size(__pyx_kwds);
19679       switch (pos_args) {
19680         case  0:
19681         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pos)) != 0)) kw_args--;
19682         else goto __pyx_L5_argtuple_error;
19683         CYTHON_FALLTHROUGH;
19684         case  1:
19685         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_message)) != 0)) kw_args--;
19686         else {
19687           __Pyx_RaiseArgtupleInvalid("warning", 1, 2, 2, 1); __PYX_ERR(0, 513, __pyx_L3_error)
19688         }
19689       }
19690       if (unlikely(kw_args > 0)) {
19691         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "warning") < 0)) __PYX_ERR(0, 513, __pyx_L3_error)
19692       }
19693     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
19694       goto __pyx_L5_argtuple_error;
19695     } else {
19696       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
19697       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
19698     }
19699     __pyx_v_pos = values[0];
19700     __pyx_v_message = values[1];
19701   }
19702   goto __pyx_L4_argument_unpacking_done;
19703   __pyx_L5_argtuple_error:;
19704   __Pyx_RaiseArgtupleInvalid("warning", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 513, __pyx_L3_error)
19705   __pyx_L3_error:;
19706   __Pyx_AddTraceback("Cython.Compiler.FlowControl.MessageCollection.warning", __pyx_clineno, __pyx_lineno, __pyx_filename);
19707   __Pyx_RefNannyFinishContext();
19708   return NULL;
19709   __pyx_L4_argument_unpacking_done:;
19710   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection_4warning(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *)__pyx_v_self), __pyx_v_pos, __pyx_v_message);
19711 
19712   /* function exit code */
19713   __Pyx_RefNannyFinishContext();
19714   return __pyx_r;
19715 }
19716 
__pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection_4warning(struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection * __pyx_v_self,PyObject * __pyx_v_pos,PyObject * __pyx_v_message)19717 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection_4warning(struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_message) {
19718   PyObject *__pyx_r = NULL;
19719   __Pyx_RefNannyDeclarations
19720   PyObject *__pyx_t_1 = NULL;
19721   int __pyx_t_2;
19722   int __pyx_lineno = 0;
19723   const char *__pyx_filename = NULL;
19724   int __pyx_clineno = 0;
19725   __Pyx_RefNannySetupContext("warning", 0);
19726 
19727   /* "Cython/Compiler/FlowControl.py":514
19728  *
19729  *     def warning(self, pos, message):
19730  *         self.messages.add((pos, False, message))             # <<<<<<<<<<<<<<
19731  *
19732  *     def report(self):
19733  */
19734   if (unlikely(__pyx_v_self->messages == Py_None)) {
19735     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "add");
19736     __PYX_ERR(0, 514, __pyx_L1_error)
19737   }
19738   __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 514, __pyx_L1_error)
19739   __Pyx_GOTREF(__pyx_t_1);
19740   __Pyx_INCREF(__pyx_v_pos);
19741   __Pyx_GIVEREF(__pyx_v_pos);
19742   PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_pos);
19743   __Pyx_INCREF(Py_False);
19744   __Pyx_GIVEREF(Py_False);
19745   PyTuple_SET_ITEM(__pyx_t_1, 1, Py_False);
19746   __Pyx_INCREF(__pyx_v_message);
19747   __Pyx_GIVEREF(__pyx_v_message);
19748   PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_message);
19749   __pyx_t_2 = PySet_Add(__pyx_v_self->messages, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 514, __pyx_L1_error)
19750   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
19751 
19752   /* "Cython/Compiler/FlowControl.py":513
19753  *         self.messages.add((pos, True, message))
19754  *
19755  *     def warning(self, pos, message):             # <<<<<<<<<<<<<<
19756  *         self.messages.add((pos, False, message))
19757  *
19758  */
19759 
19760   /* function exit code */
19761   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
19762   goto __pyx_L0;
19763   __pyx_L1_error:;
19764   __Pyx_XDECREF(__pyx_t_1);
19765   __Pyx_AddTraceback("Cython.Compiler.FlowControl.MessageCollection.warning", __pyx_clineno, __pyx_lineno, __pyx_filename);
19766   __pyx_r = NULL;
19767   __pyx_L0:;
19768   __Pyx_XGIVEREF(__pyx_r);
19769   __Pyx_RefNannyFinishContext();
19770   return __pyx_r;
19771 }
19772 
19773 /* "Cython/Compiler/FlowControl.py":516
19774  *         self.messages.add((pos, False, message))
19775  *
19776  *     def report(self):             # <<<<<<<<<<<<<<
19777  *         for pos, is_error, message in sorted(self.messages):
19778  *             if is_error:
19779  */
19780 
19781 /* Python wrapper */
19782 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_7report(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
19783 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_17MessageCollection_7report = {"report", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_7report, METH_NOARGS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_7report(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)19784 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_7report(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
19785   PyObject *__pyx_r = 0;
19786   __Pyx_RefNannyDeclarations
19787   __Pyx_RefNannySetupContext("report (wrapper)", 0);
19788   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection_6report(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *)__pyx_v_self));
19789 
19790   /* function exit code */
19791   __Pyx_RefNannyFinishContext();
19792   return __pyx_r;
19793 }
19794 
__pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection_6report(struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection * __pyx_v_self)19795 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection_6report(struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *__pyx_v_self) {
19796   PyObject *__pyx_v_pos = NULL;
19797   PyObject *__pyx_v_is_error = NULL;
19798   PyObject *__pyx_v_message = NULL;
19799   PyObject *__pyx_r = NULL;
19800   __Pyx_RefNannyDeclarations
19801   PyObject *__pyx_t_1 = NULL;
19802   PyObject *__pyx_t_2 = NULL;
19803   PyObject *__pyx_t_3 = NULL;
19804   int __pyx_t_4;
19805   Py_ssize_t __pyx_t_5;
19806   PyObject *__pyx_t_6 = NULL;
19807   PyObject *__pyx_t_7 = NULL;
19808   PyObject *__pyx_t_8 = NULL;
19809   PyObject *(*__pyx_t_9)(PyObject *);
19810   int __pyx_t_10;
19811   int __pyx_t_11;
19812   int __pyx_lineno = 0;
19813   const char *__pyx_filename = NULL;
19814   int __pyx_clineno = 0;
19815   __Pyx_RefNannySetupContext("report", 0);
19816 
19817   /* "Cython/Compiler/FlowControl.py":517
19818  *
19819  *     def report(self):
19820  *         for pos, is_error, message in sorted(self.messages):             # <<<<<<<<<<<<<<
19821  *             if is_error:
19822  *                 error(pos, message)
19823  */
19824   __pyx_t_2 = __pyx_v_self->messages;
19825   __Pyx_INCREF(__pyx_t_2);
19826   __pyx_t_3 = PySequence_List(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 517, __pyx_L1_error)
19827   __Pyx_GOTREF(__pyx_t_3);
19828   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
19829   __pyx_t_1 = ((PyObject*)__pyx_t_3);
19830   __pyx_t_3 = 0;
19831   __pyx_t_4 = PyList_Sort(__pyx_t_1); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 517, __pyx_L1_error)
19832   if (unlikely(__pyx_t_1 == Py_None)) {
19833     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
19834     __PYX_ERR(0, 517, __pyx_L1_error)
19835   }
19836   __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
19837   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
19838   for (;;) {
19839     if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
19840     #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
19841     __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 517, __pyx_L1_error)
19842     #else
19843     __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 517, __pyx_L1_error)
19844     __Pyx_GOTREF(__pyx_t_1);
19845     #endif
19846     if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
19847       PyObject* sequence = __pyx_t_1;
19848       Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
19849       if (unlikely(size != 3)) {
19850         if (size > 3) __Pyx_RaiseTooManyValuesError(3);
19851         else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
19852         __PYX_ERR(0, 517, __pyx_L1_error)
19853       }
19854       #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
19855       if (likely(PyTuple_CheckExact(sequence))) {
19856         __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0);
19857         __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1);
19858         __pyx_t_7 = PyTuple_GET_ITEM(sequence, 2);
19859       } else {
19860         __pyx_t_2 = PyList_GET_ITEM(sequence, 0);
19861         __pyx_t_6 = PyList_GET_ITEM(sequence, 1);
19862         __pyx_t_7 = PyList_GET_ITEM(sequence, 2);
19863       }
19864       __Pyx_INCREF(__pyx_t_2);
19865       __Pyx_INCREF(__pyx_t_6);
19866       __Pyx_INCREF(__pyx_t_7);
19867       #else
19868       __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 517, __pyx_L1_error)
19869       __Pyx_GOTREF(__pyx_t_2);
19870       __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 517, __pyx_L1_error)
19871       __Pyx_GOTREF(__pyx_t_6);
19872       __pyx_t_7 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 517, __pyx_L1_error)
19873       __Pyx_GOTREF(__pyx_t_7);
19874       #endif
19875       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
19876     } else {
19877       Py_ssize_t index = -1;
19878       __pyx_t_8 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 517, __pyx_L1_error)
19879       __Pyx_GOTREF(__pyx_t_8);
19880       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
19881       __pyx_t_9 = Py_TYPE(__pyx_t_8)->tp_iternext;
19882       index = 0; __pyx_t_2 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_2)) goto __pyx_L5_unpacking_failed;
19883       __Pyx_GOTREF(__pyx_t_2);
19884       index = 1; __pyx_t_6 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
19885       __Pyx_GOTREF(__pyx_t_6);
19886       index = 2; __pyx_t_7 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_7)) goto __pyx_L5_unpacking_failed;
19887       __Pyx_GOTREF(__pyx_t_7);
19888       if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 3) < 0) __PYX_ERR(0, 517, __pyx_L1_error)
19889       __pyx_t_9 = NULL;
19890       __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
19891       goto __pyx_L6_unpacking_done;
19892       __pyx_L5_unpacking_failed:;
19893       __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
19894       __pyx_t_9 = NULL;
19895       if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
19896       __PYX_ERR(0, 517, __pyx_L1_error)
19897       __pyx_L6_unpacking_done:;
19898     }
19899     __Pyx_XDECREF_SET(__pyx_v_pos, __pyx_t_2);
19900     __pyx_t_2 = 0;
19901     __Pyx_XDECREF_SET(__pyx_v_is_error, __pyx_t_6);
19902     __pyx_t_6 = 0;
19903     __Pyx_XDECREF_SET(__pyx_v_message, __pyx_t_7);
19904     __pyx_t_7 = 0;
19905 
19906     /* "Cython/Compiler/FlowControl.py":518
19907  *     def report(self):
19908  *         for pos, is_error, message in sorted(self.messages):
19909  *             if is_error:             # <<<<<<<<<<<<<<
19910  *                 error(pos, message)
19911  *             else:
19912  */
19913     __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_is_error); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 518, __pyx_L1_error)
19914     if (__pyx_t_10) {
19915 
19916       /* "Cython/Compiler/FlowControl.py":519
19917  *         for pos, is_error, message in sorted(self.messages):
19918  *             if is_error:
19919  *                 error(pos, message)             # <<<<<<<<<<<<<<
19920  *             else:
19921  *                 warning(pos, message, 2)
19922  */
19923       __Pyx_INCREF(__pyx_v_6Cython_8Compiler_11FlowControl_error);
19924       __pyx_t_7 = __pyx_v_6Cython_8Compiler_11FlowControl_error; __pyx_t_6 = NULL;
19925       __pyx_t_11 = 0;
19926       if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
19927         __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7);
19928         if (likely(__pyx_t_6)) {
19929           PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
19930           __Pyx_INCREF(__pyx_t_6);
19931           __Pyx_INCREF(function);
19932           __Pyx_DECREF_SET(__pyx_t_7, function);
19933           __pyx_t_11 = 1;
19934         }
19935       }
19936       #if CYTHON_FAST_PYCALL
19937       if (PyFunction_Check(__pyx_t_7)) {
19938         PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_pos, __pyx_v_message};
19939         __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 519, __pyx_L1_error)
19940         __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
19941         __Pyx_GOTREF(__pyx_t_1);
19942       } else
19943       #endif
19944       #if CYTHON_FAST_PYCCALL
19945       if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
19946         PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_pos, __pyx_v_message};
19947         __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 519, __pyx_L1_error)
19948         __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
19949         __Pyx_GOTREF(__pyx_t_1);
19950       } else
19951       #endif
19952       {
19953         __pyx_t_2 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 519, __pyx_L1_error)
19954         __Pyx_GOTREF(__pyx_t_2);
19955         if (__pyx_t_6) {
19956           __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __pyx_t_6 = NULL;
19957         }
19958         __Pyx_INCREF(__pyx_v_pos);
19959         __Pyx_GIVEREF(__pyx_v_pos);
19960         PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_11, __pyx_v_pos);
19961         __Pyx_INCREF(__pyx_v_message);
19962         __Pyx_GIVEREF(__pyx_v_message);
19963         PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_11, __pyx_v_message);
19964         __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 519, __pyx_L1_error)
19965         __Pyx_GOTREF(__pyx_t_1);
19966         __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
19967       }
19968       __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
19969       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
19970 
19971       /* "Cython/Compiler/FlowControl.py":518
19972  *     def report(self):
19973  *         for pos, is_error, message in sorted(self.messages):
19974  *             if is_error:             # <<<<<<<<<<<<<<
19975  *                 error(pos, message)
19976  *             else:
19977  */
19978       goto __pyx_L7;
19979     }
19980 
19981     /* "Cython/Compiler/FlowControl.py":521
19982  *                 error(pos, message)
19983  *             else:
19984  *                 warning(pos, message, 2)             # <<<<<<<<<<<<<<
19985  *
19986  *
19987  */
19988     /*else*/ {
19989       __Pyx_INCREF(__pyx_v_6Cython_8Compiler_11FlowControl_warning);
19990       __pyx_t_7 = __pyx_v_6Cython_8Compiler_11FlowControl_warning; __pyx_t_2 = NULL;
19991       __pyx_t_11 = 0;
19992       if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
19993         __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_7);
19994         if (likely(__pyx_t_2)) {
19995           PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
19996           __Pyx_INCREF(__pyx_t_2);
19997           __Pyx_INCREF(function);
19998           __Pyx_DECREF_SET(__pyx_t_7, function);
19999           __pyx_t_11 = 1;
20000         }
20001       }
20002       #if CYTHON_FAST_PYCALL
20003       if (PyFunction_Check(__pyx_t_7)) {
20004         PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_v_pos, __pyx_v_message, __pyx_int_2};
20005         __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 521, __pyx_L1_error)
20006         __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
20007         __Pyx_GOTREF(__pyx_t_1);
20008       } else
20009       #endif
20010       #if CYTHON_FAST_PYCCALL
20011       if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
20012         PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_v_pos, __pyx_v_message, __pyx_int_2};
20013         __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 521, __pyx_L1_error)
20014         __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
20015         __Pyx_GOTREF(__pyx_t_1);
20016       } else
20017       #endif
20018       {
20019         __pyx_t_6 = PyTuple_New(3+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 521, __pyx_L1_error)
20020         __Pyx_GOTREF(__pyx_t_6);
20021         if (__pyx_t_2) {
20022           __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = NULL;
20023         }
20024         __Pyx_INCREF(__pyx_v_pos);
20025         __Pyx_GIVEREF(__pyx_v_pos);
20026         PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_11, __pyx_v_pos);
20027         __Pyx_INCREF(__pyx_v_message);
20028         __Pyx_GIVEREF(__pyx_v_message);
20029         PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_11, __pyx_v_message);
20030         __Pyx_INCREF(__pyx_int_2);
20031         __Pyx_GIVEREF(__pyx_int_2);
20032         PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_11, __pyx_int_2);
20033         __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 521, __pyx_L1_error)
20034         __Pyx_GOTREF(__pyx_t_1);
20035         __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
20036       }
20037       __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
20038       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
20039     }
20040     __pyx_L7:;
20041 
20042     /* "Cython/Compiler/FlowControl.py":517
20043  *
20044  *     def report(self):
20045  *         for pos, is_error, message in sorted(self.messages):             # <<<<<<<<<<<<<<
20046  *             if is_error:
20047  *                 error(pos, message)
20048  */
20049   }
20050   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
20051 
20052   /* "Cython/Compiler/FlowControl.py":516
20053  *         self.messages.add((pos, False, message))
20054  *
20055  *     def report(self):             # <<<<<<<<<<<<<<
20056  *         for pos, is_error, message in sorted(self.messages):
20057  *             if is_error:
20058  */
20059 
20060   /* function exit code */
20061   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
20062   goto __pyx_L0;
20063   __pyx_L1_error:;
20064   __Pyx_XDECREF(__pyx_t_1);
20065   __Pyx_XDECREF(__pyx_t_2);
20066   __Pyx_XDECREF(__pyx_t_3);
20067   __Pyx_XDECREF(__pyx_t_6);
20068   __Pyx_XDECREF(__pyx_t_7);
20069   __Pyx_XDECREF(__pyx_t_8);
20070   __Pyx_AddTraceback("Cython.Compiler.FlowControl.MessageCollection.report", __pyx_clineno, __pyx_lineno, __pyx_filename);
20071   __pyx_r = NULL;
20072   __pyx_L0:;
20073   __Pyx_XDECREF(__pyx_v_pos);
20074   __Pyx_XDECREF(__pyx_v_is_error);
20075   __Pyx_XDECREF(__pyx_v_message);
20076   __Pyx_XGIVEREF(__pyx_r);
20077   __Pyx_RefNannyFinishContext();
20078   return __pyx_r;
20079 }
20080 
20081 /* "(tree fragment)":1
20082  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
20083  *     cdef tuple state
20084  *     cdef object _dict
20085  */
20086 
20087 /* Python wrapper */
20088 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
20089 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_17MessageCollection_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_9__reduce_cython__, METH_NOARGS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_9__reduce_cython__(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)20090 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
20091   PyObject *__pyx_r = 0;
20092   __Pyx_RefNannyDeclarations
20093   __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
20094   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection_8__reduce_cython__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *)__pyx_v_self));
20095 
20096   /* function exit code */
20097   __Pyx_RefNannyFinishContext();
20098   return __pyx_r;
20099 }
20100 
__pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection_8__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection * __pyx_v_self)20101 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection_8__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *__pyx_v_self) {
20102   PyObject *__pyx_v_state = 0;
20103   PyObject *__pyx_v__dict = 0;
20104   int __pyx_v_use_setstate;
20105   PyObject *__pyx_r = NULL;
20106   __Pyx_RefNannyDeclarations
20107   PyObject *__pyx_t_1 = NULL;
20108   int __pyx_t_2;
20109   int __pyx_t_3;
20110   PyObject *__pyx_t_4 = NULL;
20111   PyObject *__pyx_t_5 = NULL;
20112   int __pyx_lineno = 0;
20113   const char *__pyx_filename = NULL;
20114   int __pyx_clineno = 0;
20115   __Pyx_RefNannySetupContext("__reduce_cython__", 0);
20116 
20117   /* "(tree fragment)":5
20118  *     cdef object _dict
20119  *     cdef bint use_setstate
20120  *     state = (self.messages,)             # <<<<<<<<<<<<<<
20121  *     _dict = getattr(self, '__dict__', None)
20122  *     if _dict is not None:
20123  */
20124   __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error)
20125   __Pyx_GOTREF(__pyx_t_1);
20126   __Pyx_INCREF(__pyx_v_self->messages);
20127   __Pyx_GIVEREF(__pyx_v_self->messages);
20128   PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->messages);
20129   __pyx_v_state = ((PyObject*)__pyx_t_1);
20130   __pyx_t_1 = 0;
20131 
20132   /* "(tree fragment)":6
20133  *     cdef bint use_setstate
20134  *     state = (self.messages,)
20135  *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
20136  *     if _dict is not None:
20137  *         state += (_dict,)
20138  */
20139   __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error)
20140   __Pyx_GOTREF(__pyx_t_1);
20141   __pyx_v__dict = __pyx_t_1;
20142   __pyx_t_1 = 0;
20143 
20144   /* "(tree fragment)":7
20145  *     state = (self.messages,)
20146  *     _dict = getattr(self, '__dict__', None)
20147  *     if _dict is not None:             # <<<<<<<<<<<<<<
20148  *         state += (_dict,)
20149  *         use_setstate = True
20150  */
20151   __pyx_t_2 = (__pyx_v__dict != Py_None);
20152   __pyx_t_3 = (__pyx_t_2 != 0);
20153   if (__pyx_t_3) {
20154 
20155     /* "(tree fragment)":8
20156  *     _dict = getattr(self, '__dict__', None)
20157  *     if _dict is not None:
20158  *         state += (_dict,)             # <<<<<<<<<<<<<<
20159  *         use_setstate = True
20160  *     else:
20161  */
20162     __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8, __pyx_L1_error)
20163     __Pyx_GOTREF(__pyx_t_1);
20164     __Pyx_INCREF(__pyx_v__dict);
20165     __Pyx_GIVEREF(__pyx_v__dict);
20166     PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
20167     __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8, __pyx_L1_error)
20168     __Pyx_GOTREF(__pyx_t_4);
20169     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
20170     __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
20171     __pyx_t_4 = 0;
20172 
20173     /* "(tree fragment)":9
20174  *     if _dict is not None:
20175  *         state += (_dict,)
20176  *         use_setstate = True             # <<<<<<<<<<<<<<
20177  *     else:
20178  *         use_setstate = self.messages is not None
20179  */
20180     __pyx_v_use_setstate = 1;
20181 
20182     /* "(tree fragment)":7
20183  *     state = (self.messages,)
20184  *     _dict = getattr(self, '__dict__', None)
20185  *     if _dict is not None:             # <<<<<<<<<<<<<<
20186  *         state += (_dict,)
20187  *         use_setstate = True
20188  */
20189     goto __pyx_L3;
20190   }
20191 
20192   /* "(tree fragment)":11
20193  *         use_setstate = True
20194  *     else:
20195  *         use_setstate = self.messages is not None             # <<<<<<<<<<<<<<
20196  *     if use_setstate:
20197  *         return __pyx_unpickle_MessageCollection, (type(self), 0xde70938, None), state
20198  */
20199   /*else*/ {
20200     __pyx_t_3 = (__pyx_v_self->messages != ((PyObject*)Py_None));
20201     __pyx_v_use_setstate = __pyx_t_3;
20202   }
20203   __pyx_L3:;
20204 
20205   /* "(tree fragment)":12
20206  *     else:
20207  *         use_setstate = self.messages is not None
20208  *     if use_setstate:             # <<<<<<<<<<<<<<
20209  *         return __pyx_unpickle_MessageCollection, (type(self), 0xde70938, None), state
20210  *     else:
20211  */
20212   __pyx_t_3 = (__pyx_v_use_setstate != 0);
20213   if (__pyx_t_3) {
20214 
20215     /* "(tree fragment)":13
20216  *         use_setstate = self.messages is not None
20217  *     if use_setstate:
20218  *         return __pyx_unpickle_MessageCollection, (type(self), 0xde70938, None), state             # <<<<<<<<<<<<<<
20219  *     else:
20220  *         return __pyx_unpickle_MessageCollection, (type(self), 0xde70938, state)
20221  */
20222     __Pyx_XDECREF(__pyx_r);
20223     __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_MessageCollection); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 13, __pyx_L1_error)
20224     __Pyx_GOTREF(__pyx_t_4);
20225     __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error)
20226     __Pyx_GOTREF(__pyx_t_1);
20227     __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
20228     __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
20229     PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
20230     __Pyx_INCREF(__pyx_int_233244984);
20231     __Pyx_GIVEREF(__pyx_int_233244984);
20232     PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_233244984);
20233     __Pyx_INCREF(Py_None);
20234     __Pyx_GIVEREF(Py_None);
20235     PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
20236     __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 13, __pyx_L1_error)
20237     __Pyx_GOTREF(__pyx_t_5);
20238     __Pyx_GIVEREF(__pyx_t_4);
20239     PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
20240     __Pyx_GIVEREF(__pyx_t_1);
20241     PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
20242     __Pyx_INCREF(__pyx_v_state);
20243     __Pyx_GIVEREF(__pyx_v_state);
20244     PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state);
20245     __pyx_t_4 = 0;
20246     __pyx_t_1 = 0;
20247     __pyx_r = __pyx_t_5;
20248     __pyx_t_5 = 0;
20249     goto __pyx_L0;
20250 
20251     /* "(tree fragment)":12
20252  *     else:
20253  *         use_setstate = self.messages is not None
20254  *     if use_setstate:             # <<<<<<<<<<<<<<
20255  *         return __pyx_unpickle_MessageCollection, (type(self), 0xde70938, None), state
20256  *     else:
20257  */
20258   }
20259 
20260   /* "(tree fragment)":15
20261  *         return __pyx_unpickle_MessageCollection, (type(self), 0xde70938, None), state
20262  *     else:
20263  *         return __pyx_unpickle_MessageCollection, (type(self), 0xde70938, state)             # <<<<<<<<<<<<<<
20264  * def __setstate_cython__(self, __pyx_state):
20265  *     __pyx_unpickle_MessageCollection__set_state(self, __pyx_state)
20266  */
20267   /*else*/ {
20268     __Pyx_XDECREF(__pyx_r);
20269     __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_MessageCollection); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 15, __pyx_L1_error)
20270     __Pyx_GOTREF(__pyx_t_5);
20271     __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error)
20272     __Pyx_GOTREF(__pyx_t_1);
20273     __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
20274     __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
20275     PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
20276     __Pyx_INCREF(__pyx_int_233244984);
20277     __Pyx_GIVEREF(__pyx_int_233244984);
20278     PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_233244984);
20279     __Pyx_INCREF(__pyx_v_state);
20280     __Pyx_GIVEREF(__pyx_v_state);
20281     PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
20282     __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 15, __pyx_L1_error)
20283     __Pyx_GOTREF(__pyx_t_4);
20284     __Pyx_GIVEREF(__pyx_t_5);
20285     PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
20286     __Pyx_GIVEREF(__pyx_t_1);
20287     PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
20288     __pyx_t_5 = 0;
20289     __pyx_t_1 = 0;
20290     __pyx_r = __pyx_t_4;
20291     __pyx_t_4 = 0;
20292     goto __pyx_L0;
20293   }
20294 
20295   /* "(tree fragment)":1
20296  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
20297  *     cdef tuple state
20298  *     cdef object _dict
20299  */
20300 
20301   /* function exit code */
20302   __pyx_L1_error:;
20303   __Pyx_XDECREF(__pyx_t_1);
20304   __Pyx_XDECREF(__pyx_t_4);
20305   __Pyx_XDECREF(__pyx_t_5);
20306   __Pyx_AddTraceback("Cython.Compiler.FlowControl.MessageCollection.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
20307   __pyx_r = NULL;
20308   __pyx_L0:;
20309   __Pyx_XDECREF(__pyx_v_state);
20310   __Pyx_XDECREF(__pyx_v__dict);
20311   __Pyx_XGIVEREF(__pyx_r);
20312   __Pyx_RefNannyFinishContext();
20313   return __pyx_r;
20314 }
20315 
20316 /* "(tree fragment)":16
20317  *     else:
20318  *         return __pyx_unpickle_MessageCollection, (type(self), 0xde70938, state)
20319  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
20320  *     __pyx_unpickle_MessageCollection__set_state(self, __pyx_state)
20321  */
20322 
20323 /* Python wrapper */
20324 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
20325 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_17MessageCollection_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_11__setstate_cython__, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_11__setstate_cython__(PyObject * __pyx_v_self,PyObject * __pyx_v___pyx_state)20326 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
20327   PyObject *__pyx_r = 0;
20328   __Pyx_RefNannyDeclarations
20329   __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
20330   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection_10__setstate_cython__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
20331 
20332   /* function exit code */
20333   __Pyx_RefNannyFinishContext();
20334   return __pyx_r;
20335 }
20336 
__pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection_10__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection * __pyx_v_self,PyObject * __pyx_v___pyx_state)20337 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_17MessageCollection_10__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
20338   PyObject *__pyx_r = NULL;
20339   __Pyx_RefNannyDeclarations
20340   PyObject *__pyx_t_1 = NULL;
20341   int __pyx_lineno = 0;
20342   const char *__pyx_filename = NULL;
20343   int __pyx_clineno = 0;
20344   __Pyx_RefNannySetupContext("__setstate_cython__", 0);
20345 
20346   /* "(tree fragment)":17
20347  *         return __pyx_unpickle_MessageCollection, (type(self), 0xde70938, state)
20348  * def __setstate_cython__(self, __pyx_state):
20349  *     __pyx_unpickle_MessageCollection__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
20350  */
20351   if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 17, __pyx_L1_error)
20352   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_MessageCollection__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 17, __pyx_L1_error)
20353   __Pyx_GOTREF(__pyx_t_1);
20354   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
20355 
20356   /* "(tree fragment)":16
20357  *     else:
20358  *         return __pyx_unpickle_MessageCollection, (type(self), 0xde70938, state)
20359  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
20360  *     __pyx_unpickle_MessageCollection__set_state(self, __pyx_state)
20361  */
20362 
20363   /* function exit code */
20364   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
20365   goto __pyx_L0;
20366   __pyx_L1_error:;
20367   __Pyx_XDECREF(__pyx_t_1);
20368   __Pyx_AddTraceback("Cython.Compiler.FlowControl.MessageCollection.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
20369   __pyx_r = NULL;
20370   __pyx_L0:;
20371   __Pyx_XGIVEREF(__pyx_r);
20372   __Pyx_RefNannyFinishContext();
20373   return __pyx_r;
20374 }
20375 
20376 /* "Cython/Compiler/FlowControl.py":524
20377  *
20378  *
20379  * def check_definitions(flow, compiler_directives):             # <<<<<<<<<<<<<<
20380  *     flow.initialize()
20381  *     flow.reaching_definitions()
20382  */
20383 
__pyx_f_6Cython_8Compiler_11FlowControl_check_definitions(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v_flow,PyObject * __pyx_v_compiler_directives)20384 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_check_definitions(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v_flow, PyObject *__pyx_v_compiler_directives) {
20385   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_block = 0;
20386   struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v_assmt = 0;
20387   PyObject *__pyx_v_assignments = NULL;
20388   PyObject *__pyx_v_references = NULL;
20389   PyObject *__pyx_v_assmt_nodes = NULL;
20390   PyObject *__pyx_v_i_state = NULL;
20391   PyObject *__pyx_v_stat = NULL;
20392   PyObject *__pyx_v_i_assmts = NULL;
20393   PyObject *__pyx_v_state = NULL;
20394   PyObject *__pyx_v_warn_maybe_uninitialized = NULL;
20395   PyObject *__pyx_v_warn_unused_result = NULL;
20396   PyObject *__pyx_v_warn_unused = NULL;
20397   PyObject *__pyx_v_warn_unused_arg = NULL;
20398   struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *__pyx_v_messages = NULL;
20399   PyObject *__pyx_v_node = NULL;
20400   PyObject *__pyx_v_entry = NULL;
20401   PyObject *__pyx_r = NULL;
20402   __Pyx_RefNannyDeclarations
20403   PyObject *__pyx_t_1 = NULL;
20404   Py_ssize_t __pyx_t_2;
20405   Py_ssize_t __pyx_t_3;
20406   int __pyx_t_4;
20407   PyObject *__pyx_t_5 = NULL;
20408   int __pyx_t_6;
20409   Py_ssize_t __pyx_t_7;
20410   PyObject *__pyx_t_8 = NULL;
20411   PyObject *__pyx_t_9 = NULL;
20412   int __pyx_t_10;
20413   int __pyx_t_11;
20414   PyObject *__pyx_t_12 = NULL;
20415   int __pyx_t_13;
20416   Py_ssize_t __pyx_t_14;
20417   Py_ssize_t __pyx_t_15;
20418   int __pyx_t_16;
20419   PyObject *(*__pyx_t_17)(PyObject *);
20420   PyObject *(*__pyx_t_18)(PyObject *);
20421   int __pyx_t_19;
20422   PyObject *__pyx_t_20 = NULL;
20423   PyObject *__pyx_t_21 = NULL;
20424   int __pyx_lineno = 0;
20425   const char *__pyx_filename = NULL;
20426   int __pyx_clineno = 0;
20427   __Pyx_RefNannySetupContext("check_definitions", 0);
20428 
20429   /* "Cython/Compiler/FlowControl.py":525
20430  *
20431  * def check_definitions(flow, compiler_directives):
20432  *     flow.initialize()             # <<<<<<<<<<<<<<
20433  *     flow.reaching_definitions()
20434  *
20435  */
20436   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_initialize(__pyx_v_flow, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 525, __pyx_L1_error)
20437   __Pyx_GOTREF(__pyx_t_1);
20438   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
20439 
20440   /* "Cython/Compiler/FlowControl.py":526
20441  * def check_definitions(flow, compiler_directives):
20442  *     flow.initialize()
20443  *     flow.reaching_definitions()             # <<<<<<<<<<<<<<
20444  *
20445  *     # Track down state
20446  */
20447   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_reaching_definitions(__pyx_v_flow); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 526, __pyx_L1_error)
20448   __Pyx_GOTREF(__pyx_t_1);
20449   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
20450 
20451   /* "Cython/Compiler/FlowControl.py":529
20452  *
20453  *     # Track down state
20454  *     assignments = set()             # <<<<<<<<<<<<<<
20455  *     # Node to entry map
20456  *     references = {}
20457  */
20458   __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 529, __pyx_L1_error)
20459   __Pyx_GOTREF(__pyx_t_1);
20460   __pyx_v_assignments = ((PyObject*)__pyx_t_1);
20461   __pyx_t_1 = 0;
20462 
20463   /* "Cython/Compiler/FlowControl.py":531
20464  *     assignments = set()
20465  *     # Node to entry map
20466  *     references = {}             # <<<<<<<<<<<<<<
20467  *     assmt_nodes = set()
20468  *
20469  */
20470   __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 531, __pyx_L1_error)
20471   __Pyx_GOTREF(__pyx_t_1);
20472   __pyx_v_references = ((PyObject*)__pyx_t_1);
20473   __pyx_t_1 = 0;
20474 
20475   /* "Cython/Compiler/FlowControl.py":532
20476  *     # Node to entry map
20477  *     references = {}
20478  *     assmt_nodes = set()             # <<<<<<<<<<<<<<
20479  *
20480  *     for block in flow.blocks:
20481  */
20482   __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 532, __pyx_L1_error)
20483   __Pyx_GOTREF(__pyx_t_1);
20484   __pyx_v_assmt_nodes = ((PyObject*)__pyx_t_1);
20485   __pyx_t_1 = 0;
20486 
20487   /* "Cython/Compiler/FlowControl.py":534
20488  *     assmt_nodes = set()
20489  *
20490  *     for block in flow.blocks:             # <<<<<<<<<<<<<<
20491  *         i_state = block.i_input
20492  *         for stat in block.stats:
20493  */
20494   __pyx_t_2 = 0;
20495   __pyx_t_5 = __Pyx_set_iterator(__pyx_v_flow->blocks, 1, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 534, __pyx_L1_error)
20496   __Pyx_GOTREF(__pyx_t_5);
20497   __Pyx_XDECREF(__pyx_t_1);
20498   __pyx_t_1 = __pyx_t_5;
20499   __pyx_t_5 = 0;
20500   while (1) {
20501     __pyx_t_6 = __Pyx_set_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, __pyx_t_4);
20502     if (unlikely(__pyx_t_6 == 0)) break;
20503     if (unlikely(__pyx_t_6 == -1)) __PYX_ERR(0, 534, __pyx_L1_error)
20504     __Pyx_GOTREF(__pyx_t_5);
20505     if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(0, 534, __pyx_L1_error)
20506     __Pyx_XDECREF_SET(__pyx_v_block, ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_5));
20507     __pyx_t_5 = 0;
20508 
20509     /* "Cython/Compiler/FlowControl.py":535
20510  *
20511  *     for block in flow.blocks:
20512  *         i_state = block.i_input             # <<<<<<<<<<<<<<
20513  *         for stat in block.stats:
20514  *             i_assmts = flow.assmts[stat.entry]
20515  */
20516     __pyx_t_5 = __pyx_v_block->i_input;
20517     __Pyx_INCREF(__pyx_t_5);
20518     __Pyx_XDECREF_SET(__pyx_v_i_state, __pyx_t_5);
20519     __pyx_t_5 = 0;
20520 
20521     /* "Cython/Compiler/FlowControl.py":536
20522  *     for block in flow.blocks:
20523  *         i_state = block.i_input
20524  *         for stat in block.stats:             # <<<<<<<<<<<<<<
20525  *             i_assmts = flow.assmts[stat.entry]
20526  *             state = flow.map_one(i_state, stat.entry)
20527  */
20528     if (unlikely(__pyx_v_block->stats == Py_None)) {
20529       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
20530       __PYX_ERR(0, 536, __pyx_L1_error)
20531     }
20532     __pyx_t_5 = __pyx_v_block->stats; __Pyx_INCREF(__pyx_t_5); __pyx_t_7 = 0;
20533     for (;;) {
20534       if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_5)) break;
20535       #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
20536       __pyx_t_8 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_8); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 536, __pyx_L1_error)
20537       #else
20538       __pyx_t_8 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 536, __pyx_L1_error)
20539       __Pyx_GOTREF(__pyx_t_8);
20540       #endif
20541       __Pyx_XDECREF_SET(__pyx_v_stat, __pyx_t_8);
20542       __pyx_t_8 = 0;
20543 
20544       /* "Cython/Compiler/FlowControl.py":537
20545  *         i_state = block.i_input
20546  *         for stat in block.stats:
20547  *             i_assmts = flow.assmts[stat.entry]             # <<<<<<<<<<<<<<
20548  *             state = flow.map_one(i_state, stat.entry)
20549  *             if isinstance(stat, NameAssignment):
20550  */
20551       if (unlikely(__pyx_v_flow->assmts == Py_None)) {
20552         PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
20553         __PYX_ERR(0, 537, __pyx_L1_error)
20554       }
20555       __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_stat, __pyx_n_s_entry); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 537, __pyx_L1_error)
20556       __Pyx_GOTREF(__pyx_t_8);
20557       __pyx_t_9 = __Pyx_PyDict_GetItem(__pyx_v_flow->assmts, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 537, __pyx_L1_error)
20558       __Pyx_GOTREF(__pyx_t_9);
20559       __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
20560       __Pyx_XDECREF_SET(__pyx_v_i_assmts, __pyx_t_9);
20561       __pyx_t_9 = 0;
20562 
20563       /* "Cython/Compiler/FlowControl.py":538
20564  *         for stat in block.stats:
20565  *             i_assmts = flow.assmts[stat.entry]
20566  *             state = flow.map_one(i_state, stat.entry)             # <<<<<<<<<<<<<<
20567  *             if isinstance(stat, NameAssignment):
20568  *                 stat.lhs.cf_state.update(state)
20569  */
20570       __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_stat, __pyx_n_s_entry); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 538, __pyx_L1_error)
20571       __Pyx_GOTREF(__pyx_t_9);
20572       __pyx_t_8 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_map_one(__pyx_v_flow, __pyx_v_i_state, __pyx_t_9, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 538, __pyx_L1_error)
20573       __Pyx_GOTREF(__pyx_t_8);
20574       __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
20575       __Pyx_XDECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_8));
20576       __pyx_t_8 = 0;
20577 
20578       /* "Cython/Compiler/FlowControl.py":539
20579  *             i_assmts = flow.assmts[stat.entry]
20580  *             state = flow.map_one(i_state, stat.entry)
20581  *             if isinstance(stat, NameAssignment):             # <<<<<<<<<<<<<<
20582  *                 stat.lhs.cf_state.update(state)
20583  *                 assmt_nodes.add(stat.lhs)
20584  */
20585       __pyx_t_10 = __Pyx_TypeCheck(__pyx_v_stat, __pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment);
20586       __pyx_t_11 = (__pyx_t_10 != 0);
20587       if (__pyx_t_11) {
20588 
20589         /* "Cython/Compiler/FlowControl.py":540
20590  *             state = flow.map_one(i_state, stat.entry)
20591  *             if isinstance(stat, NameAssignment):
20592  *                 stat.lhs.cf_state.update(state)             # <<<<<<<<<<<<<<
20593  *                 assmt_nodes.add(stat.lhs)
20594  *                 i_state = i_state & ~i_assmts.mask
20595  */
20596         __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_stat, __pyx_n_s_lhs); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 540, __pyx_L1_error)
20597         __Pyx_GOTREF(__pyx_t_9);
20598         __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_cf_state); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 540, __pyx_L1_error)
20599         __Pyx_GOTREF(__pyx_t_12);
20600         __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
20601         __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_update); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 540, __pyx_L1_error)
20602         __Pyx_GOTREF(__pyx_t_9);
20603         __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
20604         __pyx_t_12 = NULL;
20605         if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
20606           __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_9);
20607           if (likely(__pyx_t_12)) {
20608             PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
20609             __Pyx_INCREF(__pyx_t_12);
20610             __Pyx_INCREF(function);
20611             __Pyx_DECREF_SET(__pyx_t_9, function);
20612           }
20613         }
20614         __pyx_t_8 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_12, __pyx_v_state) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_state);
20615         __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
20616         if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 540, __pyx_L1_error)
20617         __Pyx_GOTREF(__pyx_t_8);
20618         __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
20619         __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
20620 
20621         /* "Cython/Compiler/FlowControl.py":541
20622  *             if isinstance(stat, NameAssignment):
20623  *                 stat.lhs.cf_state.update(state)
20624  *                 assmt_nodes.add(stat.lhs)             # <<<<<<<<<<<<<<
20625  *                 i_state = i_state & ~i_assmts.mask
20626  *                 if stat.is_deletion:
20627  */
20628         __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_stat, __pyx_n_s_lhs); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 541, __pyx_L1_error)
20629         __Pyx_GOTREF(__pyx_t_8);
20630         __pyx_t_13 = PySet_Add(__pyx_v_assmt_nodes, __pyx_t_8); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 541, __pyx_L1_error)
20631         __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
20632 
20633         /* "Cython/Compiler/FlowControl.py":542
20634  *                 stat.lhs.cf_state.update(state)
20635  *                 assmt_nodes.add(stat.lhs)
20636  *                 i_state = i_state & ~i_assmts.mask             # <<<<<<<<<<<<<<
20637  *                 if stat.is_deletion:
20638  *                     i_state |= i_assmts.bit
20639  */
20640         __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_i_assmts, __pyx_n_s_mask); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 542, __pyx_L1_error)
20641         __Pyx_GOTREF(__pyx_t_8);
20642         __pyx_t_9 = PyNumber_Invert(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 542, __pyx_L1_error)
20643         __Pyx_GOTREF(__pyx_t_9);
20644         __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
20645         __pyx_t_8 = PyNumber_And(__pyx_v_i_state, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 542, __pyx_L1_error)
20646         __Pyx_GOTREF(__pyx_t_8);
20647         __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
20648         __Pyx_DECREF_SET(__pyx_v_i_state, __pyx_t_8);
20649         __pyx_t_8 = 0;
20650 
20651         /* "Cython/Compiler/FlowControl.py":543
20652  *                 assmt_nodes.add(stat.lhs)
20653  *                 i_state = i_state & ~i_assmts.mask
20654  *                 if stat.is_deletion:             # <<<<<<<<<<<<<<
20655  *                     i_state |= i_assmts.bit
20656  *                 else:
20657  */
20658         __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_stat, __pyx_n_s_is_deletion); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 543, __pyx_L1_error)
20659         __Pyx_GOTREF(__pyx_t_8);
20660         __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 543, __pyx_L1_error)
20661         __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
20662         if (__pyx_t_11) {
20663 
20664           /* "Cython/Compiler/FlowControl.py":544
20665  *                 i_state = i_state & ~i_assmts.mask
20666  *                 if stat.is_deletion:
20667  *                     i_state |= i_assmts.bit             # <<<<<<<<<<<<<<
20668  *                 else:
20669  *                     i_state |= stat.bit
20670  */
20671           __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_i_assmts, __pyx_n_s_bit); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 544, __pyx_L1_error)
20672           __Pyx_GOTREF(__pyx_t_8);
20673           __pyx_t_9 = PyNumber_InPlaceOr(__pyx_v_i_state, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 544, __pyx_L1_error)
20674           __Pyx_GOTREF(__pyx_t_9);
20675           __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
20676           __Pyx_DECREF_SET(__pyx_v_i_state, __pyx_t_9);
20677           __pyx_t_9 = 0;
20678 
20679           /* "Cython/Compiler/FlowControl.py":543
20680  *                 assmt_nodes.add(stat.lhs)
20681  *                 i_state = i_state & ~i_assmts.mask
20682  *                 if stat.is_deletion:             # <<<<<<<<<<<<<<
20683  *                     i_state |= i_assmts.bit
20684  *                 else:
20685  */
20686           goto __pyx_L8;
20687         }
20688 
20689         /* "Cython/Compiler/FlowControl.py":546
20690  *                     i_state |= i_assmts.bit
20691  *                 else:
20692  *                     i_state |= stat.bit             # <<<<<<<<<<<<<<
20693  *                 assignments.add(stat)
20694  *                 if stat.rhs is not fake_rhs_expr:
20695  */
20696         /*else*/ {
20697           __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_stat, __pyx_n_s_bit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 546, __pyx_L1_error)
20698           __Pyx_GOTREF(__pyx_t_9);
20699           __pyx_t_8 = PyNumber_InPlaceOr(__pyx_v_i_state, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 546, __pyx_L1_error)
20700           __Pyx_GOTREF(__pyx_t_8);
20701           __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
20702           __Pyx_DECREF_SET(__pyx_v_i_state, __pyx_t_8);
20703           __pyx_t_8 = 0;
20704         }
20705         __pyx_L8:;
20706 
20707         /* "Cython/Compiler/FlowControl.py":547
20708  *                 else:
20709  *                     i_state |= stat.bit
20710  *                 assignments.add(stat)             # <<<<<<<<<<<<<<
20711  *                 if stat.rhs is not fake_rhs_expr:
20712  *                     stat.entry.cf_assignments.append(stat)
20713  */
20714         __pyx_t_13 = PySet_Add(__pyx_v_assignments, __pyx_v_stat); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 547, __pyx_L1_error)
20715 
20716         /* "Cython/Compiler/FlowControl.py":548
20717  *                     i_state |= stat.bit
20718  *                 assignments.add(stat)
20719  *                 if stat.rhs is not fake_rhs_expr:             # <<<<<<<<<<<<<<
20720  *                     stat.entry.cf_assignments.append(stat)
20721  *             elif isinstance(stat, NameReference):
20722  */
20723         __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_stat, __pyx_n_s_rhs); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 548, __pyx_L1_error)
20724         __Pyx_GOTREF(__pyx_t_8);
20725         __pyx_t_11 = (__pyx_t_8 != __pyx_v_6Cython_8Compiler_11FlowControl_fake_rhs_expr);
20726         __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
20727         __pyx_t_10 = (__pyx_t_11 != 0);
20728         if (__pyx_t_10) {
20729 
20730           /* "Cython/Compiler/FlowControl.py":549
20731  *                 assignments.add(stat)
20732  *                 if stat.rhs is not fake_rhs_expr:
20733  *                     stat.entry.cf_assignments.append(stat)             # <<<<<<<<<<<<<<
20734  *             elif isinstance(stat, NameReference):
20735  *                 references[stat.node] = stat.entry
20736  */
20737           __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_stat, __pyx_n_s_entry); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 549, __pyx_L1_error)
20738           __Pyx_GOTREF(__pyx_t_8);
20739           __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_cf_assignments); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 549, __pyx_L1_error)
20740           __Pyx_GOTREF(__pyx_t_9);
20741           __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
20742           __pyx_t_13 = __Pyx_PyObject_Append(__pyx_t_9, __pyx_v_stat); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 549, __pyx_L1_error)
20743           __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
20744 
20745           /* "Cython/Compiler/FlowControl.py":548
20746  *                     i_state |= stat.bit
20747  *                 assignments.add(stat)
20748  *                 if stat.rhs is not fake_rhs_expr:             # <<<<<<<<<<<<<<
20749  *                     stat.entry.cf_assignments.append(stat)
20750  *             elif isinstance(stat, NameReference):
20751  */
20752         }
20753 
20754         /* "Cython/Compiler/FlowControl.py":539
20755  *             i_assmts = flow.assmts[stat.entry]
20756  *             state = flow.map_one(i_state, stat.entry)
20757  *             if isinstance(stat, NameAssignment):             # <<<<<<<<<<<<<<
20758  *                 stat.lhs.cf_state.update(state)
20759  *                 assmt_nodes.add(stat.lhs)
20760  */
20761         goto __pyx_L7;
20762       }
20763 
20764       /* "Cython/Compiler/FlowControl.py":550
20765  *                 if stat.rhs is not fake_rhs_expr:
20766  *                     stat.entry.cf_assignments.append(stat)
20767  *             elif isinstance(stat, NameReference):             # <<<<<<<<<<<<<<
20768  *                 references[stat.node] = stat.entry
20769  *                 stat.entry.cf_references.append(stat)
20770  */
20771       __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_NameReference); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 550, __pyx_L1_error)
20772       __Pyx_GOTREF(__pyx_t_9);
20773       __pyx_t_10 = PyObject_IsInstance(__pyx_v_stat, __pyx_t_9); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(0, 550, __pyx_L1_error)
20774       __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
20775       __pyx_t_11 = (__pyx_t_10 != 0);
20776       if (__pyx_t_11) {
20777 
20778         /* "Cython/Compiler/FlowControl.py":551
20779  *                     stat.entry.cf_assignments.append(stat)
20780  *             elif isinstance(stat, NameReference):
20781  *                 references[stat.node] = stat.entry             # <<<<<<<<<<<<<<
20782  *                 stat.entry.cf_references.append(stat)
20783  *                 stat.node.cf_state.update(state)
20784  */
20785         __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_stat, __pyx_n_s_entry); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 551, __pyx_L1_error)
20786         __Pyx_GOTREF(__pyx_t_9);
20787         __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_stat, __pyx_n_s_node); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 551, __pyx_L1_error)
20788         __Pyx_GOTREF(__pyx_t_8);
20789         if (unlikely(PyDict_SetItem(__pyx_v_references, __pyx_t_8, __pyx_t_9) < 0)) __PYX_ERR(0, 551, __pyx_L1_error)
20790         __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
20791         __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
20792 
20793         /* "Cython/Compiler/FlowControl.py":552
20794  *             elif isinstance(stat, NameReference):
20795  *                 references[stat.node] = stat.entry
20796  *                 stat.entry.cf_references.append(stat)             # <<<<<<<<<<<<<<
20797  *                 stat.node.cf_state.update(state)
20798  *                 ## if not stat.node.allow_null:
20799  */
20800         __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_stat, __pyx_n_s_entry); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 552, __pyx_L1_error)
20801         __Pyx_GOTREF(__pyx_t_9);
20802         __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_cf_references); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 552, __pyx_L1_error)
20803         __Pyx_GOTREF(__pyx_t_8);
20804         __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
20805         __pyx_t_13 = __Pyx_PyObject_Append(__pyx_t_8, __pyx_v_stat); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 552, __pyx_L1_error)
20806         __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
20807 
20808         /* "Cython/Compiler/FlowControl.py":553
20809  *                 references[stat.node] = stat.entry
20810  *                 stat.entry.cf_references.append(stat)
20811  *                 stat.node.cf_state.update(state)             # <<<<<<<<<<<<<<
20812  *                 ## if not stat.node.allow_null:
20813  *                 ##     i_state &= ~i_assmts.bit
20814  */
20815         __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_stat, __pyx_n_s_node); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 553, __pyx_L1_error)
20816         __Pyx_GOTREF(__pyx_t_9);
20817         __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_cf_state); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 553, __pyx_L1_error)
20818         __Pyx_GOTREF(__pyx_t_12);
20819         __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
20820         __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_update); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 553, __pyx_L1_error)
20821         __Pyx_GOTREF(__pyx_t_9);
20822         __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
20823         __pyx_t_12 = NULL;
20824         if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
20825           __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_9);
20826           if (likely(__pyx_t_12)) {
20827             PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
20828             __Pyx_INCREF(__pyx_t_12);
20829             __Pyx_INCREF(function);
20830             __Pyx_DECREF_SET(__pyx_t_9, function);
20831           }
20832         }
20833         __pyx_t_8 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_12, __pyx_v_state) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_state);
20834         __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
20835         if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 553, __pyx_L1_error)
20836         __Pyx_GOTREF(__pyx_t_8);
20837         __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
20838         __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
20839 
20840         /* "Cython/Compiler/FlowControl.py":557
20841  *                 ##     i_state &= ~i_assmts.bit
20842  *                 ## # after successful read, the state is known to be initialised
20843  *                 state.discard(Uninitialized)             # <<<<<<<<<<<<<<
20844  *                 state.discard(Unknown)
20845  *                 for assmt in state:
20846  */
20847         if (unlikely(__pyx_v_state == Py_None)) {
20848           PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "discard");
20849           __PYX_ERR(0, 557, __pyx_L1_error)
20850         }
20851         __pyx_t_13 = __Pyx_PySet_Discard(__pyx_v_state, ((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_Uninitialized)); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 557, __pyx_L1_error)
20852 
20853         /* "Cython/Compiler/FlowControl.py":558
20854  *                 ## # after successful read, the state is known to be initialised
20855  *                 state.discard(Uninitialized)
20856  *                 state.discard(Unknown)             # <<<<<<<<<<<<<<
20857  *                 for assmt in state:
20858  *                     assmt.refs.add(stat)
20859  */
20860         if (unlikely(__pyx_v_state == Py_None)) {
20861           PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "discard");
20862           __PYX_ERR(0, 558, __pyx_L1_error)
20863         }
20864         __pyx_t_13 = __Pyx_PySet_Discard(__pyx_v_state, ((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_Unknown)); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 558, __pyx_L1_error)
20865 
20866         /* "Cython/Compiler/FlowControl.py":559
20867  *                 state.discard(Uninitialized)
20868  *                 state.discard(Unknown)
20869  *                 for assmt in state:             # <<<<<<<<<<<<<<
20870  *                     assmt.refs.add(stat)
20871  *
20872  */
20873         __pyx_t_14 = 0;
20874         __pyx_t_9 = __Pyx_set_iterator(__pyx_v_state, 1, (&__pyx_t_15), (&__pyx_t_6)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 559, __pyx_L1_error)
20875         __Pyx_GOTREF(__pyx_t_9);
20876         __Pyx_XDECREF(__pyx_t_8);
20877         __pyx_t_8 = __pyx_t_9;
20878         __pyx_t_9 = 0;
20879         while (1) {
20880           __pyx_t_16 = __Pyx_set_iter_next(__pyx_t_8, __pyx_t_15, &__pyx_t_14, &__pyx_t_9, __pyx_t_6);
20881           if (unlikely(__pyx_t_16 == 0)) break;
20882           if (unlikely(__pyx_t_16 == -1)) __PYX_ERR(0, 559, __pyx_L1_error)
20883           __Pyx_GOTREF(__pyx_t_9);
20884           if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment))))) __PYX_ERR(0, 559, __pyx_L1_error)
20885           __Pyx_XDECREF_SET(__pyx_v_assmt, ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_t_9));
20886           __pyx_t_9 = 0;
20887 
20888           /* "Cython/Compiler/FlowControl.py":560
20889  *                 state.discard(Unknown)
20890  *                 for assmt in state:
20891  *                     assmt.refs.add(stat)             # <<<<<<<<<<<<<<
20892  *
20893  *     # Check variable usage
20894  */
20895           if (unlikely(__pyx_v_assmt->refs == Py_None)) {
20896             PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "add");
20897             __PYX_ERR(0, 560, __pyx_L1_error)
20898           }
20899           __pyx_t_13 = PySet_Add(__pyx_v_assmt->refs, __pyx_v_stat); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 560, __pyx_L1_error)
20900         }
20901         __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
20902 
20903         /* "Cython/Compiler/FlowControl.py":550
20904  *                 if stat.rhs is not fake_rhs_expr:
20905  *                     stat.entry.cf_assignments.append(stat)
20906  *             elif isinstance(stat, NameReference):             # <<<<<<<<<<<<<<
20907  *                 references[stat.node] = stat.entry
20908  *                 stat.entry.cf_references.append(stat)
20909  */
20910       }
20911       __pyx_L7:;
20912 
20913       /* "Cython/Compiler/FlowControl.py":536
20914  *     for block in flow.blocks:
20915  *         i_state = block.i_input
20916  *         for stat in block.stats:             # <<<<<<<<<<<<<<
20917  *             i_assmts = flow.assmts[stat.entry]
20918  *             state = flow.map_one(i_state, stat.entry)
20919  */
20920     }
20921     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
20922   }
20923   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
20924 
20925   /* "Cython/Compiler/FlowControl.py":563
20926  *
20927  *     # Check variable usage
20928  *     warn_maybe_uninitialized = compiler_directives['warn.maybe_uninitialized']             # <<<<<<<<<<<<<<
20929  *     warn_unused_result = compiler_directives['warn.unused_result']
20930  *     warn_unused = compiler_directives['warn.unused']
20931  */
20932   if (unlikely(__pyx_v_compiler_directives == Py_None)) {
20933     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
20934     __PYX_ERR(0, 563, __pyx_L1_error)
20935   }
20936   __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_compiler_directives, __pyx_kp_s_warn_maybe_uninitialized); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 563, __pyx_L1_error)
20937   __Pyx_GOTREF(__pyx_t_1);
20938   __pyx_v_warn_maybe_uninitialized = __pyx_t_1;
20939   __pyx_t_1 = 0;
20940 
20941   /* "Cython/Compiler/FlowControl.py":564
20942  *     # Check variable usage
20943  *     warn_maybe_uninitialized = compiler_directives['warn.maybe_uninitialized']
20944  *     warn_unused_result = compiler_directives['warn.unused_result']             # <<<<<<<<<<<<<<
20945  *     warn_unused = compiler_directives['warn.unused']
20946  *     warn_unused_arg = compiler_directives['warn.unused_arg']
20947  */
20948   if (unlikely(__pyx_v_compiler_directives == Py_None)) {
20949     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
20950     __PYX_ERR(0, 564, __pyx_L1_error)
20951   }
20952   __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_compiler_directives, __pyx_kp_s_warn_unused_result); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 564, __pyx_L1_error)
20953   __Pyx_GOTREF(__pyx_t_1);
20954   __pyx_v_warn_unused_result = __pyx_t_1;
20955   __pyx_t_1 = 0;
20956 
20957   /* "Cython/Compiler/FlowControl.py":565
20958  *     warn_maybe_uninitialized = compiler_directives['warn.maybe_uninitialized']
20959  *     warn_unused_result = compiler_directives['warn.unused_result']
20960  *     warn_unused = compiler_directives['warn.unused']             # <<<<<<<<<<<<<<
20961  *     warn_unused_arg = compiler_directives['warn.unused_arg']
20962  *
20963  */
20964   if (unlikely(__pyx_v_compiler_directives == Py_None)) {
20965     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
20966     __PYX_ERR(0, 565, __pyx_L1_error)
20967   }
20968   __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_compiler_directives, __pyx_kp_s_warn_unused); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 565, __pyx_L1_error)
20969   __Pyx_GOTREF(__pyx_t_1);
20970   __pyx_v_warn_unused = __pyx_t_1;
20971   __pyx_t_1 = 0;
20972 
20973   /* "Cython/Compiler/FlowControl.py":566
20974  *     warn_unused_result = compiler_directives['warn.unused_result']
20975  *     warn_unused = compiler_directives['warn.unused']
20976  *     warn_unused_arg = compiler_directives['warn.unused_arg']             # <<<<<<<<<<<<<<
20977  *
20978  *     messages = MessageCollection()
20979  */
20980   if (unlikely(__pyx_v_compiler_directives == Py_None)) {
20981     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
20982     __PYX_ERR(0, 566, __pyx_L1_error)
20983   }
20984   __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_compiler_directives, __pyx_kp_s_warn_unused_arg); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 566, __pyx_L1_error)
20985   __Pyx_GOTREF(__pyx_t_1);
20986   __pyx_v_warn_unused_arg = __pyx_t_1;
20987   __pyx_t_1 = 0;
20988 
20989   /* "Cython/Compiler/FlowControl.py":568
20990  *     warn_unused_arg = compiler_directives['warn.unused_arg']
20991  *
20992  *     messages = MessageCollection()             # <<<<<<<<<<<<<<
20993  *
20994  *     # assignment hints
20995  */
20996   __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_MessageCollection)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 568, __pyx_L1_error)
20997   __Pyx_GOTREF(__pyx_t_1);
20998   __pyx_v_messages = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *)__pyx_t_1);
20999   __pyx_t_1 = 0;
21000 
21001   /* "Cython/Compiler/FlowControl.py":571
21002  *
21003  *     # assignment hints
21004  *     for node in assmt_nodes:             # <<<<<<<<<<<<<<
21005  *         if Uninitialized in node.cf_state:
21006  *             node.cf_maybe_null = True
21007  */
21008   __pyx_t_3 = 0;
21009   __pyx_t_5 = __Pyx_set_iterator(__pyx_v_assmt_nodes, 1, (&__pyx_t_2), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 571, __pyx_L1_error)
21010   __Pyx_GOTREF(__pyx_t_5);
21011   __Pyx_XDECREF(__pyx_t_1);
21012   __pyx_t_1 = __pyx_t_5;
21013   __pyx_t_5 = 0;
21014   while (1) {
21015     __pyx_t_6 = __Pyx_set_iter_next(__pyx_t_1, __pyx_t_2, &__pyx_t_3, &__pyx_t_5, __pyx_t_4);
21016     if (unlikely(__pyx_t_6 == 0)) break;
21017     if (unlikely(__pyx_t_6 == -1)) __PYX_ERR(0, 571, __pyx_L1_error)
21018     __Pyx_GOTREF(__pyx_t_5);
21019     __Pyx_XDECREF_SET(__pyx_v_node, __pyx_t_5);
21020     __pyx_t_5 = 0;
21021 
21022     /* "Cython/Compiler/FlowControl.py":572
21023  *     # assignment hints
21024  *     for node in assmt_nodes:
21025  *         if Uninitialized in node.cf_state:             # <<<<<<<<<<<<<<
21026  *             node.cf_maybe_null = True
21027  *             if len(node.cf_state) == 1:
21028  */
21029     __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_cf_state); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 572, __pyx_L1_error)
21030     __Pyx_GOTREF(__pyx_t_5);
21031     __pyx_t_11 = (__Pyx_PySequence_ContainsTF(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_Uninitialized), __pyx_t_5, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 572, __pyx_L1_error)
21032     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
21033     __pyx_t_10 = (__pyx_t_11 != 0);
21034     if (__pyx_t_10) {
21035 
21036       /* "Cython/Compiler/FlowControl.py":573
21037  *     for node in assmt_nodes:
21038  *         if Uninitialized in node.cf_state:
21039  *             node.cf_maybe_null = True             # <<<<<<<<<<<<<<
21040  *             if len(node.cf_state) == 1:
21041  *                 node.cf_is_null = True
21042  */
21043       if (__Pyx_PyObject_SetAttrStr(__pyx_v_node, __pyx_n_s_cf_maybe_null, Py_True) < 0) __PYX_ERR(0, 573, __pyx_L1_error)
21044 
21045       /* "Cython/Compiler/FlowControl.py":574
21046  *         if Uninitialized in node.cf_state:
21047  *             node.cf_maybe_null = True
21048  *             if len(node.cf_state) == 1:             # <<<<<<<<<<<<<<
21049  *                 node.cf_is_null = True
21050  *             else:
21051  */
21052       __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_cf_state); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 574, __pyx_L1_error)
21053       __Pyx_GOTREF(__pyx_t_5);
21054       __pyx_t_7 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 574, __pyx_L1_error)
21055       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
21056       __pyx_t_10 = ((__pyx_t_7 == 1) != 0);
21057       if (__pyx_t_10) {
21058 
21059         /* "Cython/Compiler/FlowControl.py":575
21060  *             node.cf_maybe_null = True
21061  *             if len(node.cf_state) == 1:
21062  *                 node.cf_is_null = True             # <<<<<<<<<<<<<<
21063  *             else:
21064  *                 node.cf_is_null = False
21065  */
21066         if (__Pyx_PyObject_SetAttrStr(__pyx_v_node, __pyx_n_s_cf_is_null, Py_True) < 0) __PYX_ERR(0, 575, __pyx_L1_error)
21067 
21068         /* "Cython/Compiler/FlowControl.py":574
21069  *         if Uninitialized in node.cf_state:
21070  *             node.cf_maybe_null = True
21071  *             if len(node.cf_state) == 1:             # <<<<<<<<<<<<<<
21072  *                 node.cf_is_null = True
21073  *             else:
21074  */
21075         goto __pyx_L15;
21076       }
21077 
21078       /* "Cython/Compiler/FlowControl.py":577
21079  *                 node.cf_is_null = True
21080  *             else:
21081  *                 node.cf_is_null = False             # <<<<<<<<<<<<<<
21082  *         elif Unknown in node.cf_state:
21083  *             node.cf_maybe_null = True
21084  */
21085       /*else*/ {
21086         if (__Pyx_PyObject_SetAttrStr(__pyx_v_node, __pyx_n_s_cf_is_null, Py_False) < 0) __PYX_ERR(0, 577, __pyx_L1_error)
21087       }
21088       __pyx_L15:;
21089 
21090       /* "Cython/Compiler/FlowControl.py":572
21091  *     # assignment hints
21092  *     for node in assmt_nodes:
21093  *         if Uninitialized in node.cf_state:             # <<<<<<<<<<<<<<
21094  *             node.cf_maybe_null = True
21095  *             if len(node.cf_state) == 1:
21096  */
21097       goto __pyx_L14;
21098     }
21099 
21100     /* "Cython/Compiler/FlowControl.py":578
21101  *             else:
21102  *                 node.cf_is_null = False
21103  *         elif Unknown in node.cf_state:             # <<<<<<<<<<<<<<
21104  *             node.cf_maybe_null = True
21105  *         else:
21106  */
21107     __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_cf_state); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 578, __pyx_L1_error)
21108     __Pyx_GOTREF(__pyx_t_5);
21109     __pyx_t_10 = (__Pyx_PySequence_ContainsTF(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_Unknown), __pyx_t_5, Py_EQ)); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 578, __pyx_L1_error)
21110     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
21111     __pyx_t_11 = (__pyx_t_10 != 0);
21112     if (__pyx_t_11) {
21113 
21114       /* "Cython/Compiler/FlowControl.py":579
21115  *                 node.cf_is_null = False
21116  *         elif Unknown in node.cf_state:
21117  *             node.cf_maybe_null = True             # <<<<<<<<<<<<<<
21118  *         else:
21119  *             node.cf_is_null = False
21120  */
21121       if (__Pyx_PyObject_SetAttrStr(__pyx_v_node, __pyx_n_s_cf_maybe_null, Py_True) < 0) __PYX_ERR(0, 579, __pyx_L1_error)
21122 
21123       /* "Cython/Compiler/FlowControl.py":578
21124  *             else:
21125  *                 node.cf_is_null = False
21126  *         elif Unknown in node.cf_state:             # <<<<<<<<<<<<<<
21127  *             node.cf_maybe_null = True
21128  *         else:
21129  */
21130       goto __pyx_L14;
21131     }
21132 
21133     /* "Cython/Compiler/FlowControl.py":581
21134  *             node.cf_maybe_null = True
21135  *         else:
21136  *             node.cf_is_null = False             # <<<<<<<<<<<<<<
21137  *             node.cf_maybe_null = False
21138  *
21139  */
21140     /*else*/ {
21141       if (__Pyx_PyObject_SetAttrStr(__pyx_v_node, __pyx_n_s_cf_is_null, Py_False) < 0) __PYX_ERR(0, 581, __pyx_L1_error)
21142 
21143       /* "Cython/Compiler/FlowControl.py":582
21144  *         else:
21145  *             node.cf_is_null = False
21146  *             node.cf_maybe_null = False             # <<<<<<<<<<<<<<
21147  *
21148  *     # Find uninitialized references and cf-hints
21149  */
21150       if (__Pyx_PyObject_SetAttrStr(__pyx_v_node, __pyx_n_s_cf_maybe_null, Py_False) < 0) __PYX_ERR(0, 582, __pyx_L1_error)
21151     }
21152     __pyx_L14:;
21153   }
21154   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21155 
21156   /* "Cython/Compiler/FlowControl.py":585
21157  *
21158  *     # Find uninitialized references and cf-hints
21159  *     for node, entry in references.items():             # <<<<<<<<<<<<<<
21160  *         if Uninitialized in node.cf_state:
21161  *             node.cf_maybe_null = True
21162  */
21163   __pyx_t_1 = __Pyx_PyDict_Items(__pyx_v_references); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 585, __pyx_L1_error)
21164   __Pyx_GOTREF(__pyx_t_1);
21165   if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
21166     __pyx_t_5 = __pyx_t_1; __Pyx_INCREF(__pyx_t_5); __pyx_t_2 = 0;
21167     __pyx_t_17 = NULL;
21168   } else {
21169     __pyx_t_2 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 585, __pyx_L1_error)
21170     __Pyx_GOTREF(__pyx_t_5);
21171     __pyx_t_17 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 585, __pyx_L1_error)
21172   }
21173   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21174   for (;;) {
21175     if (likely(!__pyx_t_17)) {
21176       if (likely(PyList_CheckExact(__pyx_t_5))) {
21177         if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_5)) break;
21178         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
21179         __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_2); __Pyx_INCREF(__pyx_t_1); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 585, __pyx_L1_error)
21180         #else
21181         __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 585, __pyx_L1_error)
21182         __Pyx_GOTREF(__pyx_t_1);
21183         #endif
21184       } else {
21185         if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
21186         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
21187         __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_2); __Pyx_INCREF(__pyx_t_1); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 585, __pyx_L1_error)
21188         #else
21189         __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 585, __pyx_L1_error)
21190         __Pyx_GOTREF(__pyx_t_1);
21191         #endif
21192       }
21193     } else {
21194       __pyx_t_1 = __pyx_t_17(__pyx_t_5);
21195       if (unlikely(!__pyx_t_1)) {
21196         PyObject* exc_type = PyErr_Occurred();
21197         if (exc_type) {
21198           if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
21199           else __PYX_ERR(0, 585, __pyx_L1_error)
21200         }
21201         break;
21202       }
21203       __Pyx_GOTREF(__pyx_t_1);
21204     }
21205     if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
21206       PyObject* sequence = __pyx_t_1;
21207       Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
21208       if (unlikely(size != 2)) {
21209         if (size > 2) __Pyx_RaiseTooManyValuesError(2);
21210         else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
21211         __PYX_ERR(0, 585, __pyx_L1_error)
21212       }
21213       #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
21214       if (likely(PyTuple_CheckExact(sequence))) {
21215         __pyx_t_8 = PyTuple_GET_ITEM(sequence, 0);
21216         __pyx_t_9 = PyTuple_GET_ITEM(sequence, 1);
21217       } else {
21218         __pyx_t_8 = PyList_GET_ITEM(sequence, 0);
21219         __pyx_t_9 = PyList_GET_ITEM(sequence, 1);
21220       }
21221       __Pyx_INCREF(__pyx_t_8);
21222       __Pyx_INCREF(__pyx_t_9);
21223       #else
21224       __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 585, __pyx_L1_error)
21225       __Pyx_GOTREF(__pyx_t_8);
21226       __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 585, __pyx_L1_error)
21227       __Pyx_GOTREF(__pyx_t_9);
21228       #endif
21229       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21230     } else {
21231       Py_ssize_t index = -1;
21232       __pyx_t_12 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 585, __pyx_L1_error)
21233       __Pyx_GOTREF(__pyx_t_12);
21234       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21235       __pyx_t_18 = Py_TYPE(__pyx_t_12)->tp_iternext;
21236       index = 0; __pyx_t_8 = __pyx_t_18(__pyx_t_12); if (unlikely(!__pyx_t_8)) goto __pyx_L18_unpacking_failed;
21237       __Pyx_GOTREF(__pyx_t_8);
21238       index = 1; __pyx_t_9 = __pyx_t_18(__pyx_t_12); if (unlikely(!__pyx_t_9)) goto __pyx_L18_unpacking_failed;
21239       __Pyx_GOTREF(__pyx_t_9);
21240       if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_12), 2) < 0) __PYX_ERR(0, 585, __pyx_L1_error)
21241       __pyx_t_18 = NULL;
21242       __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
21243       goto __pyx_L19_unpacking_done;
21244       __pyx_L18_unpacking_failed:;
21245       __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
21246       __pyx_t_18 = NULL;
21247       if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
21248       __PYX_ERR(0, 585, __pyx_L1_error)
21249       __pyx_L19_unpacking_done:;
21250     }
21251     __Pyx_XDECREF_SET(__pyx_v_node, __pyx_t_8);
21252     __pyx_t_8 = 0;
21253     __Pyx_XDECREF_SET(__pyx_v_entry, __pyx_t_9);
21254     __pyx_t_9 = 0;
21255 
21256     /* "Cython/Compiler/FlowControl.py":586
21257  *     # Find uninitialized references and cf-hints
21258  *     for node, entry in references.items():
21259  *         if Uninitialized in node.cf_state:             # <<<<<<<<<<<<<<
21260  *             node.cf_maybe_null = True
21261  *             if not entry.from_closure and len(node.cf_state) == 1:
21262  */
21263     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_cf_state); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 586, __pyx_L1_error)
21264     __Pyx_GOTREF(__pyx_t_1);
21265     __pyx_t_11 = (__Pyx_PySequence_ContainsTF(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_Uninitialized), __pyx_t_1, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 586, __pyx_L1_error)
21266     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21267     __pyx_t_10 = (__pyx_t_11 != 0);
21268     if (__pyx_t_10) {
21269 
21270       /* "Cython/Compiler/FlowControl.py":587
21271  *     for node, entry in references.items():
21272  *         if Uninitialized in node.cf_state:
21273  *             node.cf_maybe_null = True             # <<<<<<<<<<<<<<
21274  *             if not entry.from_closure and len(node.cf_state) == 1:
21275  *                 node.cf_is_null = True
21276  */
21277       if (__Pyx_PyObject_SetAttrStr(__pyx_v_node, __pyx_n_s_cf_maybe_null, Py_True) < 0) __PYX_ERR(0, 587, __pyx_L1_error)
21278 
21279       /* "Cython/Compiler/FlowControl.py":588
21280  *         if Uninitialized in node.cf_state:
21281  *             node.cf_maybe_null = True
21282  *             if not entry.from_closure and len(node.cf_state) == 1:             # <<<<<<<<<<<<<<
21283  *                 node.cf_is_null = True
21284  *             if (node.allow_null or entry.from_closure
21285  */
21286       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_from_closure); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 588, __pyx_L1_error)
21287       __Pyx_GOTREF(__pyx_t_1);
21288       __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 588, __pyx_L1_error)
21289       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21290       __pyx_t_19 = ((!__pyx_t_11) != 0);
21291       if (__pyx_t_19) {
21292       } else {
21293         __pyx_t_10 = __pyx_t_19;
21294         goto __pyx_L22_bool_binop_done;
21295       }
21296       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_cf_state); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 588, __pyx_L1_error)
21297       __Pyx_GOTREF(__pyx_t_1);
21298       __pyx_t_3 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 588, __pyx_L1_error)
21299       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21300       __pyx_t_19 = ((__pyx_t_3 == 1) != 0);
21301       __pyx_t_10 = __pyx_t_19;
21302       __pyx_L22_bool_binop_done:;
21303       if (__pyx_t_10) {
21304 
21305         /* "Cython/Compiler/FlowControl.py":589
21306  *             node.cf_maybe_null = True
21307  *             if not entry.from_closure and len(node.cf_state) == 1:
21308  *                 node.cf_is_null = True             # <<<<<<<<<<<<<<
21309  *             if (node.allow_null or entry.from_closure
21310  *                     or entry.is_pyclass_attr or entry.type.is_error):
21311  */
21312         if (__Pyx_PyObject_SetAttrStr(__pyx_v_node, __pyx_n_s_cf_is_null, Py_True) < 0) __PYX_ERR(0, 589, __pyx_L1_error)
21313 
21314         /* "Cython/Compiler/FlowControl.py":588
21315  *         if Uninitialized in node.cf_state:
21316  *             node.cf_maybe_null = True
21317  *             if not entry.from_closure and len(node.cf_state) == 1:             # <<<<<<<<<<<<<<
21318  *                 node.cf_is_null = True
21319  *             if (node.allow_null or entry.from_closure
21320  */
21321       }
21322 
21323       /* "Cython/Compiler/FlowControl.py":590
21324  *             if not entry.from_closure and len(node.cf_state) == 1:
21325  *                 node.cf_is_null = True
21326  *             if (node.allow_null or entry.from_closure             # <<<<<<<<<<<<<<
21327  *                     or entry.is_pyclass_attr or entry.type.is_error):
21328  *                 pass  # Can be uninitialized here
21329  */
21330       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_allow_null); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 590, __pyx_L1_error)
21331       __Pyx_GOTREF(__pyx_t_1);
21332       __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 590, __pyx_L1_error)
21333       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21334       if (!__pyx_t_19) {
21335       } else {
21336         __pyx_t_10 = __pyx_t_19;
21337         goto __pyx_L25_bool_binop_done;
21338       }
21339 
21340       /* "Cython/Compiler/FlowControl.py":591
21341  *                 node.cf_is_null = True
21342  *             if (node.allow_null or entry.from_closure
21343  *                     or entry.is_pyclass_attr or entry.type.is_error):             # <<<<<<<<<<<<<<
21344  *                 pass  # Can be uninitialized here
21345  *             elif node.cf_is_null:
21346  */
21347       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_from_closure); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 590, __pyx_L1_error)
21348       __Pyx_GOTREF(__pyx_t_1);
21349 
21350       /* "Cython/Compiler/FlowControl.py":590
21351  *             if not entry.from_closure and len(node.cf_state) == 1:
21352  *                 node.cf_is_null = True
21353  *             if (node.allow_null or entry.from_closure             # <<<<<<<<<<<<<<
21354  *                     or entry.is_pyclass_attr or entry.type.is_error):
21355  *                 pass  # Can be uninitialized here
21356  */
21357       __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 590, __pyx_L1_error)
21358       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21359       if (!__pyx_t_19) {
21360       } else {
21361         __pyx_t_10 = __pyx_t_19;
21362         goto __pyx_L25_bool_binop_done;
21363       }
21364 
21365       /* "Cython/Compiler/FlowControl.py":591
21366  *                 node.cf_is_null = True
21367  *             if (node.allow_null or entry.from_closure
21368  *                     or entry.is_pyclass_attr or entry.type.is_error):             # <<<<<<<<<<<<<<
21369  *                 pass  # Can be uninitialized here
21370  *             elif node.cf_is_null:
21371  */
21372       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_is_pyclass_attr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 591, __pyx_L1_error)
21373       __Pyx_GOTREF(__pyx_t_1);
21374       __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 591, __pyx_L1_error)
21375       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21376       if (!__pyx_t_19) {
21377       } else {
21378         __pyx_t_10 = __pyx_t_19;
21379         goto __pyx_L25_bool_binop_done;
21380       }
21381       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 591, __pyx_L1_error)
21382       __Pyx_GOTREF(__pyx_t_1);
21383       __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_is_error); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 591, __pyx_L1_error)
21384       __Pyx_GOTREF(__pyx_t_9);
21385       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21386       __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 591, __pyx_L1_error)
21387       __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
21388       __pyx_t_10 = __pyx_t_19;
21389       __pyx_L25_bool_binop_done:;
21390 
21391       /* "Cython/Compiler/FlowControl.py":590
21392  *             if not entry.from_closure and len(node.cf_state) == 1:
21393  *                 node.cf_is_null = True
21394  *             if (node.allow_null or entry.from_closure             # <<<<<<<<<<<<<<
21395  *                     or entry.is_pyclass_attr or entry.type.is_error):
21396  *                 pass  # Can be uninitialized here
21397  */
21398       if (__pyx_t_10) {
21399         goto __pyx_L24;
21400       }
21401 
21402       /* "Cython/Compiler/FlowControl.py":593
21403  *                     or entry.is_pyclass_attr or entry.type.is_error):
21404  *                 pass  # Can be uninitialized here
21405  *             elif node.cf_is_null:             # <<<<<<<<<<<<<<
21406  *                 if entry.error_on_uninitialized or (
21407  *                         Options.error_on_uninitialized and (
21408  */
21409       __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_cf_is_null); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 593, __pyx_L1_error)
21410       __Pyx_GOTREF(__pyx_t_9);
21411       __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 593, __pyx_L1_error)
21412       __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
21413       if (__pyx_t_10) {
21414 
21415         /* "Cython/Compiler/FlowControl.py":594
21416  *                 pass  # Can be uninitialized here
21417  *             elif node.cf_is_null:
21418  *                 if entry.error_on_uninitialized or (             # <<<<<<<<<<<<<<
21419  *                         Options.error_on_uninitialized and (
21420  *                         entry.type.is_pyobject or entry.type.is_unspecified)):
21421  */
21422         __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_error_on_uninitialized); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 594, __pyx_L1_error)
21423         __Pyx_GOTREF(__pyx_t_9);
21424         __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 594, __pyx_L1_error)
21425         __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
21426         if (!__pyx_t_19) {
21427         } else {
21428           __pyx_t_10 = __pyx_t_19;
21429           goto __pyx_L30_bool_binop_done;
21430         }
21431 
21432         /* "Cython/Compiler/FlowControl.py":595
21433  *             elif node.cf_is_null:
21434  *                 if entry.error_on_uninitialized or (
21435  *                         Options.error_on_uninitialized and (             # <<<<<<<<<<<<<<
21436  *                         entry.type.is_pyobject or entry.type.is_unspecified)):
21437  *                     messages.error(
21438  */
21439         __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_Options); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 595, __pyx_L1_error)
21440         __Pyx_GOTREF(__pyx_t_9);
21441         __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_error_on_uninitialized); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 595, __pyx_L1_error)
21442         __Pyx_GOTREF(__pyx_t_1);
21443         __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
21444         __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 595, __pyx_L1_error)
21445         __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21446         if (__pyx_t_19) {
21447         } else {
21448           __pyx_t_10 = __pyx_t_19;
21449           goto __pyx_L30_bool_binop_done;
21450         }
21451 
21452         /* "Cython/Compiler/FlowControl.py":596
21453  *                 if entry.error_on_uninitialized or (
21454  *                         Options.error_on_uninitialized and (
21455  *                         entry.type.is_pyobject or entry.type.is_unspecified)):             # <<<<<<<<<<<<<<
21456  *                     messages.error(
21457  *                         node.pos,
21458  */
21459         __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 596, __pyx_L1_error)
21460         __Pyx_GOTREF(__pyx_t_1);
21461         __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_is_pyobject); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 596, __pyx_L1_error)
21462         __Pyx_GOTREF(__pyx_t_9);
21463         __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21464         __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 596, __pyx_L1_error)
21465         __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
21466         if (!__pyx_t_19) {
21467         } else {
21468           __pyx_t_10 = __pyx_t_19;
21469           goto __pyx_L30_bool_binop_done;
21470         }
21471         __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 596, __pyx_L1_error)
21472         __Pyx_GOTREF(__pyx_t_9);
21473         __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_is_unspecified); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 596, __pyx_L1_error)
21474         __Pyx_GOTREF(__pyx_t_1);
21475         __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
21476         __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 596, __pyx_L1_error)
21477         __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21478         __pyx_t_10 = __pyx_t_19;
21479         __pyx_L30_bool_binop_done:;
21480 
21481         /* "Cython/Compiler/FlowControl.py":594
21482  *                 pass  # Can be uninitialized here
21483  *             elif node.cf_is_null:
21484  *                 if entry.error_on_uninitialized or (             # <<<<<<<<<<<<<<
21485  *                         Options.error_on_uninitialized and (
21486  *                         entry.type.is_pyobject or entry.type.is_unspecified)):
21487  */
21488         if (__pyx_t_10) {
21489 
21490           /* "Cython/Compiler/FlowControl.py":597
21491  *                         Options.error_on_uninitialized and (
21492  *                         entry.type.is_pyobject or entry.type.is_unspecified)):
21493  *                     messages.error(             # <<<<<<<<<<<<<<
21494  *                         node.pos,
21495  *                         "local variable '%s' referenced before assignment"
21496  */
21497           __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_messages), __pyx_n_s_error); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 597, __pyx_L1_error)
21498           __Pyx_GOTREF(__pyx_t_9);
21499 
21500           /* "Cython/Compiler/FlowControl.py":598
21501  *                         entry.type.is_pyobject or entry.type.is_unspecified)):
21502  *                     messages.error(
21503  *                         node.pos,             # <<<<<<<<<<<<<<
21504  *                         "local variable '%s' referenced before assignment"
21505  *                         % entry.name)
21506  */
21507           __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_pos); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 598, __pyx_L1_error)
21508           __Pyx_GOTREF(__pyx_t_8);
21509 
21510           /* "Cython/Compiler/FlowControl.py":600
21511  *                         node.pos,
21512  *                         "local variable '%s' referenced before assignment"
21513  *                         % entry.name)             # <<<<<<<<<<<<<<
21514  *                 else:
21515  *                     messages.warning(
21516  */
21517           __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_name_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 600, __pyx_L1_error)
21518           __Pyx_GOTREF(__pyx_t_12);
21519           __pyx_t_20 = __Pyx_PyString_FormatSafe(__pyx_kp_s_local_variable_s_referenced_befo, __pyx_t_12); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 600, __pyx_L1_error)
21520           __Pyx_GOTREF(__pyx_t_20);
21521           __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
21522           __pyx_t_12 = NULL;
21523           __pyx_t_4 = 0;
21524           if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
21525             __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_9);
21526             if (likely(__pyx_t_12)) {
21527               PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
21528               __Pyx_INCREF(__pyx_t_12);
21529               __Pyx_INCREF(function);
21530               __Pyx_DECREF_SET(__pyx_t_9, function);
21531               __pyx_t_4 = 1;
21532             }
21533           }
21534           #if CYTHON_FAST_PYCALL
21535           if (PyFunction_Check(__pyx_t_9)) {
21536             PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_t_8, __pyx_t_20};
21537             __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 597, __pyx_L1_error)
21538             __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
21539             __Pyx_GOTREF(__pyx_t_1);
21540             __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
21541             __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
21542           } else
21543           #endif
21544           #if CYTHON_FAST_PYCCALL
21545           if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
21546             PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_t_8, __pyx_t_20};
21547             __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 597, __pyx_L1_error)
21548             __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
21549             __Pyx_GOTREF(__pyx_t_1);
21550             __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
21551             __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
21552           } else
21553           #endif
21554           {
21555             __pyx_t_21 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 597, __pyx_L1_error)
21556             __Pyx_GOTREF(__pyx_t_21);
21557             if (__pyx_t_12) {
21558               __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_12); __pyx_t_12 = NULL;
21559             }
21560             __Pyx_GIVEREF(__pyx_t_8);
21561             PyTuple_SET_ITEM(__pyx_t_21, 0+__pyx_t_4, __pyx_t_8);
21562             __Pyx_GIVEREF(__pyx_t_20);
21563             PyTuple_SET_ITEM(__pyx_t_21, 1+__pyx_t_4, __pyx_t_20);
21564             __pyx_t_8 = 0;
21565             __pyx_t_20 = 0;
21566             __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_21, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 597, __pyx_L1_error)
21567             __Pyx_GOTREF(__pyx_t_1);
21568             __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
21569           }
21570           __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
21571           __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21572 
21573           /* "Cython/Compiler/FlowControl.py":594
21574  *                 pass  # Can be uninitialized here
21575  *             elif node.cf_is_null:
21576  *                 if entry.error_on_uninitialized or (             # <<<<<<<<<<<<<<
21577  *                         Options.error_on_uninitialized and (
21578  *                         entry.type.is_pyobject or entry.type.is_unspecified)):
21579  */
21580           goto __pyx_L29;
21581         }
21582 
21583         /* "Cython/Compiler/FlowControl.py":602
21584  *                         % entry.name)
21585  *                 else:
21586  *                     messages.warning(             # <<<<<<<<<<<<<<
21587  *                         node.pos,
21588  *                         "local variable '%s' referenced before assignment"
21589  */
21590         /*else*/ {
21591           __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_messages), __pyx_n_s_warning); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 602, __pyx_L1_error)
21592           __Pyx_GOTREF(__pyx_t_9);
21593 
21594           /* "Cython/Compiler/FlowControl.py":603
21595  *                 else:
21596  *                     messages.warning(
21597  *                         node.pos,             # <<<<<<<<<<<<<<
21598  *                         "local variable '%s' referenced before assignment"
21599  *                         % entry.name)
21600  */
21601           __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_pos); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 603, __pyx_L1_error)
21602           __Pyx_GOTREF(__pyx_t_21);
21603 
21604           /* "Cython/Compiler/FlowControl.py":605
21605  *                         node.pos,
21606  *                         "local variable '%s' referenced before assignment"
21607  *                         % entry.name)             # <<<<<<<<<<<<<<
21608  *             elif warn_maybe_uninitialized:
21609  *                 messages.warning(
21610  */
21611           __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_name_2); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 605, __pyx_L1_error)
21612           __Pyx_GOTREF(__pyx_t_20);
21613           __pyx_t_8 = __Pyx_PyString_FormatSafe(__pyx_kp_s_local_variable_s_referenced_befo, __pyx_t_20); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 605, __pyx_L1_error)
21614           __Pyx_GOTREF(__pyx_t_8);
21615           __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
21616           __pyx_t_20 = NULL;
21617           __pyx_t_4 = 0;
21618           if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
21619             __pyx_t_20 = PyMethod_GET_SELF(__pyx_t_9);
21620             if (likely(__pyx_t_20)) {
21621               PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
21622               __Pyx_INCREF(__pyx_t_20);
21623               __Pyx_INCREF(function);
21624               __Pyx_DECREF_SET(__pyx_t_9, function);
21625               __pyx_t_4 = 1;
21626             }
21627           }
21628           #if CYTHON_FAST_PYCALL
21629           if (PyFunction_Check(__pyx_t_9)) {
21630             PyObject *__pyx_temp[3] = {__pyx_t_20, __pyx_t_21, __pyx_t_8};
21631             __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 602, __pyx_L1_error)
21632             __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0;
21633             __Pyx_GOTREF(__pyx_t_1);
21634             __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
21635             __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
21636           } else
21637           #endif
21638           #if CYTHON_FAST_PYCCALL
21639           if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
21640             PyObject *__pyx_temp[3] = {__pyx_t_20, __pyx_t_21, __pyx_t_8};
21641             __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 602, __pyx_L1_error)
21642             __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0;
21643             __Pyx_GOTREF(__pyx_t_1);
21644             __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
21645             __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
21646           } else
21647           #endif
21648           {
21649             __pyx_t_12 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 602, __pyx_L1_error)
21650             __Pyx_GOTREF(__pyx_t_12);
21651             if (__pyx_t_20) {
21652               __Pyx_GIVEREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_20); __pyx_t_20 = NULL;
21653             }
21654             __Pyx_GIVEREF(__pyx_t_21);
21655             PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_4, __pyx_t_21);
21656             __Pyx_GIVEREF(__pyx_t_8);
21657             PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_4, __pyx_t_8);
21658             __pyx_t_21 = 0;
21659             __pyx_t_8 = 0;
21660             __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_12, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 602, __pyx_L1_error)
21661             __Pyx_GOTREF(__pyx_t_1);
21662             __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
21663           }
21664           __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
21665           __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21666         }
21667         __pyx_L29:;
21668 
21669         /* "Cython/Compiler/FlowControl.py":593
21670  *                     or entry.is_pyclass_attr or entry.type.is_error):
21671  *                 pass  # Can be uninitialized here
21672  *             elif node.cf_is_null:             # <<<<<<<<<<<<<<
21673  *                 if entry.error_on_uninitialized or (
21674  *                         Options.error_on_uninitialized and (
21675  */
21676         goto __pyx_L24;
21677       }
21678 
21679       /* "Cython/Compiler/FlowControl.py":606
21680  *                         "local variable '%s' referenced before assignment"
21681  *                         % entry.name)
21682  *             elif warn_maybe_uninitialized:             # <<<<<<<<<<<<<<
21683  *                 messages.warning(
21684  *                     node.pos,
21685  */
21686       __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_warn_maybe_uninitialized); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 606, __pyx_L1_error)
21687       if (__pyx_t_10) {
21688 
21689         /* "Cython/Compiler/FlowControl.py":607
21690  *                         % entry.name)
21691  *             elif warn_maybe_uninitialized:
21692  *                 messages.warning(             # <<<<<<<<<<<<<<
21693  *                     node.pos,
21694  *                     "local variable '%s' might be referenced before assignment"
21695  */
21696         __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_messages), __pyx_n_s_warning); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 607, __pyx_L1_error)
21697         __Pyx_GOTREF(__pyx_t_9);
21698 
21699         /* "Cython/Compiler/FlowControl.py":608
21700  *             elif warn_maybe_uninitialized:
21701  *                 messages.warning(
21702  *                     node.pos,             # <<<<<<<<<<<<<<
21703  *                     "local variable '%s' might be referenced before assignment"
21704  *                     % entry.name)
21705  */
21706         __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_pos); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 608, __pyx_L1_error)
21707         __Pyx_GOTREF(__pyx_t_12);
21708 
21709         /* "Cython/Compiler/FlowControl.py":610
21710  *                     node.pos,
21711  *                     "local variable '%s' might be referenced before assignment"
21712  *                     % entry.name)             # <<<<<<<<<<<<<<
21713  *         elif Unknown in node.cf_state:
21714  *             # TODO: better cross-closure analysis to know when inner functions
21715  */
21716         __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_name_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 610, __pyx_L1_error)
21717         __Pyx_GOTREF(__pyx_t_8);
21718         __pyx_t_21 = __Pyx_PyString_FormatSafe(__pyx_kp_s_local_variable_s_might_be_refere, __pyx_t_8); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 610, __pyx_L1_error)
21719         __Pyx_GOTREF(__pyx_t_21);
21720         __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
21721         __pyx_t_8 = NULL;
21722         __pyx_t_4 = 0;
21723         if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
21724           __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9);
21725           if (likely(__pyx_t_8)) {
21726             PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
21727             __Pyx_INCREF(__pyx_t_8);
21728             __Pyx_INCREF(function);
21729             __Pyx_DECREF_SET(__pyx_t_9, function);
21730             __pyx_t_4 = 1;
21731           }
21732         }
21733         #if CYTHON_FAST_PYCALL
21734         if (PyFunction_Check(__pyx_t_9)) {
21735           PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_12, __pyx_t_21};
21736           __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 607, __pyx_L1_error)
21737           __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
21738           __Pyx_GOTREF(__pyx_t_1);
21739           __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
21740           __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
21741         } else
21742         #endif
21743         #if CYTHON_FAST_PYCCALL
21744         if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
21745           PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_12, __pyx_t_21};
21746           __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 607, __pyx_L1_error)
21747           __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
21748           __Pyx_GOTREF(__pyx_t_1);
21749           __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
21750           __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
21751         } else
21752         #endif
21753         {
21754           __pyx_t_20 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 607, __pyx_L1_error)
21755           __Pyx_GOTREF(__pyx_t_20);
21756           if (__pyx_t_8) {
21757             __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_8); __pyx_t_8 = NULL;
21758           }
21759           __Pyx_GIVEREF(__pyx_t_12);
21760           PyTuple_SET_ITEM(__pyx_t_20, 0+__pyx_t_4, __pyx_t_12);
21761           __Pyx_GIVEREF(__pyx_t_21);
21762           PyTuple_SET_ITEM(__pyx_t_20, 1+__pyx_t_4, __pyx_t_21);
21763           __pyx_t_12 = 0;
21764           __pyx_t_21 = 0;
21765           __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_20, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 607, __pyx_L1_error)
21766           __Pyx_GOTREF(__pyx_t_1);
21767           __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
21768         }
21769         __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
21770         __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21771 
21772         /* "Cython/Compiler/FlowControl.py":606
21773  *                         "local variable '%s' referenced before assignment"
21774  *                         % entry.name)
21775  *             elif warn_maybe_uninitialized:             # <<<<<<<<<<<<<<
21776  *                 messages.warning(
21777  *                     node.pos,
21778  */
21779       }
21780       __pyx_L24:;
21781 
21782       /* "Cython/Compiler/FlowControl.py":586
21783  *     # Find uninitialized references and cf-hints
21784  *     for node, entry in references.items():
21785  *         if Uninitialized in node.cf_state:             # <<<<<<<<<<<<<<
21786  *             node.cf_maybe_null = True
21787  *             if not entry.from_closure and len(node.cf_state) == 1:
21788  */
21789       goto __pyx_L20;
21790     }
21791 
21792     /* "Cython/Compiler/FlowControl.py":611
21793  *                     "local variable '%s' might be referenced before assignment"
21794  *                     % entry.name)
21795  *         elif Unknown in node.cf_state:             # <<<<<<<<<<<<<<
21796  *             # TODO: better cross-closure analysis to know when inner functions
21797  *             #       are being called before a variable is being set, and when
21798  */
21799     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_cf_state); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 611, __pyx_L1_error)
21800     __Pyx_GOTREF(__pyx_t_1);
21801     __pyx_t_10 = (__Pyx_PySequence_ContainsTF(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_Unknown), __pyx_t_1, Py_EQ)); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 611, __pyx_L1_error)
21802     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21803     __pyx_t_19 = (__pyx_t_10 != 0);
21804     if (__pyx_t_19) {
21805 
21806       /* "Cython/Compiler/FlowControl.py":616
21807  *             #       a variable is known to be set before even defining the
21808  *             #       inner function, etc.
21809  *             node.cf_maybe_null = True             # <<<<<<<<<<<<<<
21810  *         else:
21811  *             node.cf_is_null = False
21812  */
21813       if (__Pyx_PyObject_SetAttrStr(__pyx_v_node, __pyx_n_s_cf_maybe_null, Py_True) < 0) __PYX_ERR(0, 616, __pyx_L1_error)
21814 
21815       /* "Cython/Compiler/FlowControl.py":611
21816  *                     "local variable '%s' might be referenced before assignment"
21817  *                     % entry.name)
21818  *         elif Unknown in node.cf_state:             # <<<<<<<<<<<<<<
21819  *             # TODO: better cross-closure analysis to know when inner functions
21820  *             #       are being called before a variable is being set, and when
21821  */
21822       goto __pyx_L20;
21823     }
21824 
21825     /* "Cython/Compiler/FlowControl.py":618
21826  *             node.cf_maybe_null = True
21827  *         else:
21828  *             node.cf_is_null = False             # <<<<<<<<<<<<<<
21829  *             node.cf_maybe_null = False
21830  *
21831  */
21832     /*else*/ {
21833       if (__Pyx_PyObject_SetAttrStr(__pyx_v_node, __pyx_n_s_cf_is_null, Py_False) < 0) __PYX_ERR(0, 618, __pyx_L1_error)
21834 
21835       /* "Cython/Compiler/FlowControl.py":619
21836  *         else:
21837  *             node.cf_is_null = False
21838  *             node.cf_maybe_null = False             # <<<<<<<<<<<<<<
21839  *
21840  *     # Unused result
21841  */
21842       if (__Pyx_PyObject_SetAttrStr(__pyx_v_node, __pyx_n_s_cf_maybe_null, Py_False) < 0) __PYX_ERR(0, 619, __pyx_L1_error)
21843     }
21844     __pyx_L20:;
21845 
21846     /* "Cython/Compiler/FlowControl.py":585
21847  *
21848  *     # Find uninitialized references and cf-hints
21849  *     for node, entry in references.items():             # <<<<<<<<<<<<<<
21850  *         if Uninitialized in node.cf_state:
21851  *             node.cf_maybe_null = True
21852  */
21853   }
21854   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
21855 
21856   /* "Cython/Compiler/FlowControl.py":622
21857  *
21858  *     # Unused result
21859  *     for assmt in assignments:             # <<<<<<<<<<<<<<
21860  *         if (not assmt.refs and not assmt.entry.is_pyclass_attr
21861  *             and not assmt.entry.in_closure):
21862  */
21863   __pyx_t_2 = 0;
21864   __pyx_t_1 = __Pyx_set_iterator(__pyx_v_assignments, 1, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 622, __pyx_L1_error)
21865   __Pyx_GOTREF(__pyx_t_1);
21866   __Pyx_XDECREF(__pyx_t_5);
21867   __pyx_t_5 = __pyx_t_1;
21868   __pyx_t_1 = 0;
21869   while (1) {
21870     __pyx_t_6 = __Pyx_set_iter_next(__pyx_t_5, __pyx_t_3, &__pyx_t_2, &__pyx_t_1, __pyx_t_4);
21871     if (unlikely(__pyx_t_6 == 0)) break;
21872     if (unlikely(__pyx_t_6 == -1)) __PYX_ERR(0, 622, __pyx_L1_error)
21873     __Pyx_GOTREF(__pyx_t_1);
21874     if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment))))) __PYX_ERR(0, 622, __pyx_L1_error)
21875     __Pyx_XDECREF_SET(__pyx_v_assmt, ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_t_1));
21876     __pyx_t_1 = 0;
21877 
21878     /* "Cython/Compiler/FlowControl.py":623
21879  *     # Unused result
21880  *     for assmt in assignments:
21881  *         if (not assmt.refs and not assmt.entry.is_pyclass_attr             # <<<<<<<<<<<<<<
21882  *             and not assmt.entry.in_closure):
21883  *             if assmt.entry.cf_references and warn_unused_result:
21884  */
21885     __pyx_t_10 = (__pyx_v_assmt->refs != Py_None)&&(PySet_GET_SIZE(__pyx_v_assmt->refs) != 0);
21886     __pyx_t_11 = ((!__pyx_t_10) != 0);
21887     if (__pyx_t_11) {
21888     } else {
21889       __pyx_t_19 = __pyx_t_11;
21890       goto __pyx_L37_bool_binop_done;
21891     }
21892 
21893     /* "Cython/Compiler/FlowControl.py":624
21894  *     for assmt in assignments:
21895  *         if (not assmt.refs and not assmt.entry.is_pyclass_attr
21896  *             and not assmt.entry.in_closure):             # <<<<<<<<<<<<<<
21897  *             if assmt.entry.cf_references and warn_unused_result:
21898  *                 if assmt.is_arg:
21899  */
21900     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_assmt->entry, __pyx_n_s_is_pyclass_attr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 623, __pyx_L1_error)
21901     __Pyx_GOTREF(__pyx_t_1);
21902 
21903     /* "Cython/Compiler/FlowControl.py":623
21904  *     # Unused result
21905  *     for assmt in assignments:
21906  *         if (not assmt.refs and not assmt.entry.is_pyclass_attr             # <<<<<<<<<<<<<<
21907  *             and not assmt.entry.in_closure):
21908  *             if assmt.entry.cf_references and warn_unused_result:
21909  */
21910     __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 623, __pyx_L1_error)
21911     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21912     __pyx_t_10 = ((!__pyx_t_11) != 0);
21913     if (__pyx_t_10) {
21914     } else {
21915       __pyx_t_19 = __pyx_t_10;
21916       goto __pyx_L37_bool_binop_done;
21917     }
21918 
21919     /* "Cython/Compiler/FlowControl.py":624
21920  *     for assmt in assignments:
21921  *         if (not assmt.refs and not assmt.entry.is_pyclass_attr
21922  *             and not assmt.entry.in_closure):             # <<<<<<<<<<<<<<
21923  *             if assmt.entry.cf_references and warn_unused_result:
21924  *                 if assmt.is_arg:
21925  */
21926     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_assmt->entry, __pyx_n_s_in_closure); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 624, __pyx_L1_error)
21927     __Pyx_GOTREF(__pyx_t_1);
21928     __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 624, __pyx_L1_error)
21929     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21930     __pyx_t_11 = ((!__pyx_t_10) != 0);
21931     __pyx_t_19 = __pyx_t_11;
21932     __pyx_L37_bool_binop_done:;
21933 
21934     /* "Cython/Compiler/FlowControl.py":623
21935  *     # Unused result
21936  *     for assmt in assignments:
21937  *         if (not assmt.refs and not assmt.entry.is_pyclass_attr             # <<<<<<<<<<<<<<
21938  *             and not assmt.entry.in_closure):
21939  *             if assmt.entry.cf_references and warn_unused_result:
21940  */
21941     if (__pyx_t_19) {
21942 
21943       /* "Cython/Compiler/FlowControl.py":625
21944  *         if (not assmt.refs and not assmt.entry.is_pyclass_attr
21945  *             and not assmt.entry.in_closure):
21946  *             if assmt.entry.cf_references and warn_unused_result:             # <<<<<<<<<<<<<<
21947  *                 if assmt.is_arg:
21948  *                     messages.warning(assmt.pos, "Unused argument value '%s'" %
21949  */
21950       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_assmt->entry, __pyx_n_s_cf_references); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 625, __pyx_L1_error)
21951       __Pyx_GOTREF(__pyx_t_1);
21952       __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 625, __pyx_L1_error)
21953       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21954       if (__pyx_t_11) {
21955       } else {
21956         __pyx_t_19 = __pyx_t_11;
21957         goto __pyx_L41_bool_binop_done;
21958       }
21959       __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_warn_unused_result); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 625, __pyx_L1_error)
21960       __pyx_t_19 = __pyx_t_11;
21961       __pyx_L41_bool_binop_done:;
21962       if (__pyx_t_19) {
21963 
21964         /* "Cython/Compiler/FlowControl.py":626
21965  *             and not assmt.entry.in_closure):
21966  *             if assmt.entry.cf_references and warn_unused_result:
21967  *                 if assmt.is_arg:             # <<<<<<<<<<<<<<
21968  *                     messages.warning(assmt.pos, "Unused argument value '%s'" %
21969  *                                      assmt.entry.name)
21970  */
21971         __pyx_t_19 = (__pyx_v_assmt->is_arg != 0);
21972         if (__pyx_t_19) {
21973 
21974           /* "Cython/Compiler/FlowControl.py":627
21975  *             if assmt.entry.cf_references and warn_unused_result:
21976  *                 if assmt.is_arg:
21977  *                     messages.warning(assmt.pos, "Unused argument value '%s'" %             # <<<<<<<<<<<<<<
21978  *                                      assmt.entry.name)
21979  *                 else:
21980  */
21981           __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_messages), __pyx_n_s_warning); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 627, __pyx_L1_error)
21982           __Pyx_GOTREF(__pyx_t_9);
21983 
21984           /* "Cython/Compiler/FlowControl.py":628
21985  *                 if assmt.is_arg:
21986  *                     messages.warning(assmt.pos, "Unused argument value '%s'" %
21987  *                                      assmt.entry.name)             # <<<<<<<<<<<<<<
21988  *                 else:
21989  *                     messages.warning(assmt.pos, "Unused result in '%s'" %
21990  */
21991           __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_assmt->entry, __pyx_n_s_name_2); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 628, __pyx_L1_error)
21992           __Pyx_GOTREF(__pyx_t_20);
21993 
21994           /* "Cython/Compiler/FlowControl.py":627
21995  *             if assmt.entry.cf_references and warn_unused_result:
21996  *                 if assmt.is_arg:
21997  *                     messages.warning(assmt.pos, "Unused argument value '%s'" %             # <<<<<<<<<<<<<<
21998  *                                      assmt.entry.name)
21999  *                 else:
22000  */
22001           __pyx_t_21 = __Pyx_PyString_FormatSafe(__pyx_kp_s_Unused_argument_value_s, __pyx_t_20); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 627, __pyx_L1_error)
22002           __Pyx_GOTREF(__pyx_t_21);
22003           __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
22004           __pyx_t_20 = NULL;
22005           __pyx_t_6 = 0;
22006           if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
22007             __pyx_t_20 = PyMethod_GET_SELF(__pyx_t_9);
22008             if (likely(__pyx_t_20)) {
22009               PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
22010               __Pyx_INCREF(__pyx_t_20);
22011               __Pyx_INCREF(function);
22012               __Pyx_DECREF_SET(__pyx_t_9, function);
22013               __pyx_t_6 = 1;
22014             }
22015           }
22016           #if CYTHON_FAST_PYCALL
22017           if (PyFunction_Check(__pyx_t_9)) {
22018             PyObject *__pyx_temp[3] = {__pyx_t_20, __pyx_v_assmt->pos, __pyx_t_21};
22019             __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 627, __pyx_L1_error)
22020             __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0;
22021             __Pyx_GOTREF(__pyx_t_1);
22022             __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
22023           } else
22024           #endif
22025           #if CYTHON_FAST_PYCCALL
22026           if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
22027             PyObject *__pyx_temp[3] = {__pyx_t_20, __pyx_v_assmt->pos, __pyx_t_21};
22028             __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 627, __pyx_L1_error)
22029             __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0;
22030             __Pyx_GOTREF(__pyx_t_1);
22031             __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
22032           } else
22033           #endif
22034           {
22035             __pyx_t_12 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 627, __pyx_L1_error)
22036             __Pyx_GOTREF(__pyx_t_12);
22037             if (__pyx_t_20) {
22038               __Pyx_GIVEREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_20); __pyx_t_20 = NULL;
22039             }
22040             __Pyx_INCREF(__pyx_v_assmt->pos);
22041             __Pyx_GIVEREF(__pyx_v_assmt->pos);
22042             PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_6, __pyx_v_assmt->pos);
22043             __Pyx_GIVEREF(__pyx_t_21);
22044             PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_6, __pyx_t_21);
22045             __pyx_t_21 = 0;
22046             __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_12, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 627, __pyx_L1_error)
22047             __Pyx_GOTREF(__pyx_t_1);
22048             __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
22049           }
22050           __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
22051           __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22052 
22053           /* "Cython/Compiler/FlowControl.py":626
22054  *             and not assmt.entry.in_closure):
22055  *             if assmt.entry.cf_references and warn_unused_result:
22056  *                 if assmt.is_arg:             # <<<<<<<<<<<<<<
22057  *                     messages.warning(assmt.pos, "Unused argument value '%s'" %
22058  *                                      assmt.entry.name)
22059  */
22060           goto __pyx_L43;
22061         }
22062 
22063         /* "Cython/Compiler/FlowControl.py":630
22064  *                                      assmt.entry.name)
22065  *                 else:
22066  *                     messages.warning(assmt.pos, "Unused result in '%s'" %             # <<<<<<<<<<<<<<
22067  *                                      assmt.entry.name)
22068  *             assmt.lhs.cf_used = False
22069  */
22070         /*else*/ {
22071           __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_messages), __pyx_n_s_warning); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 630, __pyx_L1_error)
22072           __Pyx_GOTREF(__pyx_t_9);
22073 
22074           /* "Cython/Compiler/FlowControl.py":631
22075  *                 else:
22076  *                     messages.warning(assmt.pos, "Unused result in '%s'" %
22077  *                                      assmt.entry.name)             # <<<<<<<<<<<<<<
22078  *             assmt.lhs.cf_used = False
22079  *
22080  */
22081           __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_assmt->entry, __pyx_n_s_name_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 631, __pyx_L1_error)
22082           __Pyx_GOTREF(__pyx_t_12);
22083 
22084           /* "Cython/Compiler/FlowControl.py":630
22085  *                                      assmt.entry.name)
22086  *                 else:
22087  *                     messages.warning(assmt.pos, "Unused result in '%s'" %             # <<<<<<<<<<<<<<
22088  *                                      assmt.entry.name)
22089  *             assmt.lhs.cf_used = False
22090  */
22091           __pyx_t_21 = __Pyx_PyString_FormatSafe(__pyx_kp_s_Unused_result_in_s, __pyx_t_12); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 630, __pyx_L1_error)
22092           __Pyx_GOTREF(__pyx_t_21);
22093           __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
22094           __pyx_t_12 = NULL;
22095           __pyx_t_6 = 0;
22096           if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
22097             __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_9);
22098             if (likely(__pyx_t_12)) {
22099               PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
22100               __Pyx_INCREF(__pyx_t_12);
22101               __Pyx_INCREF(function);
22102               __Pyx_DECREF_SET(__pyx_t_9, function);
22103               __pyx_t_6 = 1;
22104             }
22105           }
22106           #if CYTHON_FAST_PYCALL
22107           if (PyFunction_Check(__pyx_t_9)) {
22108             PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_v_assmt->pos, __pyx_t_21};
22109             __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 630, __pyx_L1_error)
22110             __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
22111             __Pyx_GOTREF(__pyx_t_1);
22112             __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
22113           } else
22114           #endif
22115           #if CYTHON_FAST_PYCCALL
22116           if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
22117             PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_v_assmt->pos, __pyx_t_21};
22118             __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 630, __pyx_L1_error)
22119             __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
22120             __Pyx_GOTREF(__pyx_t_1);
22121             __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
22122           } else
22123           #endif
22124           {
22125             __pyx_t_20 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 630, __pyx_L1_error)
22126             __Pyx_GOTREF(__pyx_t_20);
22127             if (__pyx_t_12) {
22128               __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_12); __pyx_t_12 = NULL;
22129             }
22130             __Pyx_INCREF(__pyx_v_assmt->pos);
22131             __Pyx_GIVEREF(__pyx_v_assmt->pos);
22132             PyTuple_SET_ITEM(__pyx_t_20, 0+__pyx_t_6, __pyx_v_assmt->pos);
22133             __Pyx_GIVEREF(__pyx_t_21);
22134             PyTuple_SET_ITEM(__pyx_t_20, 1+__pyx_t_6, __pyx_t_21);
22135             __pyx_t_21 = 0;
22136             __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_20, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 630, __pyx_L1_error)
22137             __Pyx_GOTREF(__pyx_t_1);
22138             __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
22139           }
22140           __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
22141           __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22142         }
22143         __pyx_L43:;
22144 
22145         /* "Cython/Compiler/FlowControl.py":625
22146  *         if (not assmt.refs and not assmt.entry.is_pyclass_attr
22147  *             and not assmt.entry.in_closure):
22148  *             if assmt.entry.cf_references and warn_unused_result:             # <<<<<<<<<<<<<<
22149  *                 if assmt.is_arg:
22150  *                     messages.warning(assmt.pos, "Unused argument value '%s'" %
22151  */
22152       }
22153 
22154       /* "Cython/Compiler/FlowControl.py":632
22155  *                     messages.warning(assmt.pos, "Unused result in '%s'" %
22156  *                                      assmt.entry.name)
22157  *             assmt.lhs.cf_used = False             # <<<<<<<<<<<<<<
22158  *
22159  *     # Unused entries
22160  */
22161       if (__Pyx_PyObject_SetAttrStr(__pyx_v_assmt->lhs, __pyx_n_s_cf_used, Py_False) < 0) __PYX_ERR(0, 632, __pyx_L1_error)
22162 
22163       /* "Cython/Compiler/FlowControl.py":623
22164  *     # Unused result
22165  *     for assmt in assignments:
22166  *         if (not assmt.refs and not assmt.entry.is_pyclass_attr             # <<<<<<<<<<<<<<
22167  *             and not assmt.entry.in_closure):
22168  *             if assmt.entry.cf_references and warn_unused_result:
22169  */
22170     }
22171   }
22172   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
22173 
22174   /* "Cython/Compiler/FlowControl.py":635
22175  *
22176  *     # Unused entries
22177  *     for entry in flow.entries:             # <<<<<<<<<<<<<<
22178  *         if (not entry.cf_references
22179  *                 and not entry.is_pyclass_attr):
22180  */
22181   __pyx_t_3 = 0;
22182   __pyx_t_1 = __Pyx_set_iterator(__pyx_v_flow->entries, 1, (&__pyx_t_2), (&__pyx_t_4)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 635, __pyx_L1_error)
22183   __Pyx_GOTREF(__pyx_t_1);
22184   __Pyx_XDECREF(__pyx_t_5);
22185   __pyx_t_5 = __pyx_t_1;
22186   __pyx_t_1 = 0;
22187   while (1) {
22188     __pyx_t_6 = __Pyx_set_iter_next(__pyx_t_5, __pyx_t_2, &__pyx_t_3, &__pyx_t_1, __pyx_t_4);
22189     if (unlikely(__pyx_t_6 == 0)) break;
22190     if (unlikely(__pyx_t_6 == -1)) __PYX_ERR(0, 635, __pyx_L1_error)
22191     __Pyx_GOTREF(__pyx_t_1);
22192     __Pyx_XDECREF_SET(__pyx_v_entry, __pyx_t_1);
22193     __pyx_t_1 = 0;
22194 
22195     /* "Cython/Compiler/FlowControl.py":636
22196  *     # Unused entries
22197  *     for entry in flow.entries:
22198  *         if (not entry.cf_references             # <<<<<<<<<<<<<<
22199  *                 and not entry.is_pyclass_attr):
22200  *             if entry.name != '_' and not entry.name.startswith('unused'):
22201  */
22202     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_cf_references); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 636, __pyx_L1_error)
22203     __Pyx_GOTREF(__pyx_t_1);
22204     __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 636, __pyx_L1_error)
22205     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22206     __pyx_t_10 = ((!__pyx_t_11) != 0);
22207     if (__pyx_t_10) {
22208     } else {
22209       __pyx_t_19 = __pyx_t_10;
22210       goto __pyx_L47_bool_binop_done;
22211     }
22212 
22213     /* "Cython/Compiler/FlowControl.py":637
22214  *     for entry in flow.entries:
22215  *         if (not entry.cf_references
22216  *                 and not entry.is_pyclass_attr):             # <<<<<<<<<<<<<<
22217  *             if entry.name != '_' and not entry.name.startswith('unused'):
22218  *                 # '_' is often used for unused variables, e.g. in loops
22219  */
22220     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_is_pyclass_attr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 637, __pyx_L1_error)
22221     __Pyx_GOTREF(__pyx_t_1);
22222     __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 637, __pyx_L1_error)
22223     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22224     __pyx_t_11 = ((!__pyx_t_10) != 0);
22225     __pyx_t_19 = __pyx_t_11;
22226     __pyx_L47_bool_binop_done:;
22227 
22228     /* "Cython/Compiler/FlowControl.py":636
22229  *     # Unused entries
22230  *     for entry in flow.entries:
22231  *         if (not entry.cf_references             # <<<<<<<<<<<<<<
22232  *                 and not entry.is_pyclass_attr):
22233  *             if entry.name != '_' and not entry.name.startswith('unused'):
22234  */
22235     if (__pyx_t_19) {
22236 
22237       /* "Cython/Compiler/FlowControl.py":638
22238  *         if (not entry.cf_references
22239  *                 and not entry.is_pyclass_attr):
22240  *             if entry.name != '_' and not entry.name.startswith('unused'):             # <<<<<<<<<<<<<<
22241  *                 # '_' is often used for unused variables, e.g. in loops
22242  *                 if entry.is_arg:
22243  */
22244       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_name_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 638, __pyx_L1_error)
22245       __Pyx_GOTREF(__pyx_t_1);
22246       __pyx_t_11 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_n_s__10, Py_NE)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 638, __pyx_L1_error)
22247       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22248       if (__pyx_t_11) {
22249       } else {
22250         __pyx_t_19 = __pyx_t_11;
22251         goto __pyx_L50_bool_binop_done;
22252       }
22253       __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_name_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 638, __pyx_L1_error)
22254       __Pyx_GOTREF(__pyx_t_9);
22255       __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_startswith); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 638, __pyx_L1_error)
22256       __Pyx_GOTREF(__pyx_t_20);
22257       __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
22258       __pyx_t_9 = NULL;
22259       if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_20))) {
22260         __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_20);
22261         if (likely(__pyx_t_9)) {
22262           PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20);
22263           __Pyx_INCREF(__pyx_t_9);
22264           __Pyx_INCREF(function);
22265           __Pyx_DECREF_SET(__pyx_t_20, function);
22266         }
22267       }
22268       __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_20, __pyx_t_9, __pyx_n_s_unused) : __Pyx_PyObject_CallOneArg(__pyx_t_20, __pyx_n_s_unused);
22269       __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
22270       if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 638, __pyx_L1_error)
22271       __Pyx_GOTREF(__pyx_t_1);
22272       __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
22273       __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 638, __pyx_L1_error)
22274       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22275       __pyx_t_10 = ((!__pyx_t_11) != 0);
22276       __pyx_t_19 = __pyx_t_10;
22277       __pyx_L50_bool_binop_done:;
22278       if (__pyx_t_19) {
22279 
22280         /* "Cython/Compiler/FlowControl.py":640
22281  *             if entry.name != '_' and not entry.name.startswith('unused'):
22282  *                 # '_' is often used for unused variables, e.g. in loops
22283  *                 if entry.is_arg:             # <<<<<<<<<<<<<<
22284  *                     if warn_unused_arg:
22285  *                         messages.warning(entry.pos, "Unused argument '%s'" %
22286  */
22287         __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_is_arg); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 640, __pyx_L1_error)
22288         __Pyx_GOTREF(__pyx_t_1);
22289         __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 640, __pyx_L1_error)
22290         __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22291         if (__pyx_t_19) {
22292 
22293           /* "Cython/Compiler/FlowControl.py":641
22294  *                 # '_' is often used for unused variables, e.g. in loops
22295  *                 if entry.is_arg:
22296  *                     if warn_unused_arg:             # <<<<<<<<<<<<<<
22297  *                         messages.warning(entry.pos, "Unused argument '%s'" %
22298  *                                          entry.name)
22299  */
22300           __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_v_warn_unused_arg); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 641, __pyx_L1_error)
22301           if (__pyx_t_19) {
22302 
22303             /* "Cython/Compiler/FlowControl.py":642
22304  *                 if entry.is_arg:
22305  *                     if warn_unused_arg:
22306  *                         messages.warning(entry.pos, "Unused argument '%s'" %             # <<<<<<<<<<<<<<
22307  *                                          entry.name)
22308  *                 else:
22309  */
22310             __pyx_t_20 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_messages), __pyx_n_s_warning); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 642, __pyx_L1_error)
22311             __Pyx_GOTREF(__pyx_t_20);
22312             __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_pos); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 642, __pyx_L1_error)
22313             __Pyx_GOTREF(__pyx_t_9);
22314 
22315             /* "Cython/Compiler/FlowControl.py":643
22316  *                     if warn_unused_arg:
22317  *                         messages.warning(entry.pos, "Unused argument '%s'" %
22318  *                                          entry.name)             # <<<<<<<<<<<<<<
22319  *                 else:
22320  *                     if warn_unused:
22321  */
22322             __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_name_2); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 643, __pyx_L1_error)
22323             __Pyx_GOTREF(__pyx_t_21);
22324 
22325             /* "Cython/Compiler/FlowControl.py":642
22326  *                 if entry.is_arg:
22327  *                     if warn_unused_arg:
22328  *                         messages.warning(entry.pos, "Unused argument '%s'" %             # <<<<<<<<<<<<<<
22329  *                                          entry.name)
22330  *                 else:
22331  */
22332             __pyx_t_12 = __Pyx_PyString_FormatSafe(__pyx_kp_s_Unused_argument_s, __pyx_t_21); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 642, __pyx_L1_error)
22333             __Pyx_GOTREF(__pyx_t_12);
22334             __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
22335             __pyx_t_21 = NULL;
22336             __pyx_t_6 = 0;
22337             if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_20))) {
22338               __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_20);
22339               if (likely(__pyx_t_21)) {
22340                 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20);
22341                 __Pyx_INCREF(__pyx_t_21);
22342                 __Pyx_INCREF(function);
22343                 __Pyx_DECREF_SET(__pyx_t_20, function);
22344                 __pyx_t_6 = 1;
22345               }
22346             }
22347             #if CYTHON_FAST_PYCALL
22348             if (PyFunction_Check(__pyx_t_20)) {
22349               PyObject *__pyx_temp[3] = {__pyx_t_21, __pyx_t_9, __pyx_t_12};
22350               __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 642, __pyx_L1_error)
22351               __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
22352               __Pyx_GOTREF(__pyx_t_1);
22353               __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
22354               __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
22355             } else
22356             #endif
22357             #if CYTHON_FAST_PYCCALL
22358             if (__Pyx_PyFastCFunction_Check(__pyx_t_20)) {
22359               PyObject *__pyx_temp[3] = {__pyx_t_21, __pyx_t_9, __pyx_t_12};
22360               __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 642, __pyx_L1_error)
22361               __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
22362               __Pyx_GOTREF(__pyx_t_1);
22363               __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
22364               __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
22365             } else
22366             #endif
22367             {
22368               __pyx_t_8 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 642, __pyx_L1_error)
22369               __Pyx_GOTREF(__pyx_t_8);
22370               if (__pyx_t_21) {
22371                 __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_21); __pyx_t_21 = NULL;
22372               }
22373               __Pyx_GIVEREF(__pyx_t_9);
22374               PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_6, __pyx_t_9);
22375               __Pyx_GIVEREF(__pyx_t_12);
22376               PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_6, __pyx_t_12);
22377               __pyx_t_9 = 0;
22378               __pyx_t_12 = 0;
22379               __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_20, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 642, __pyx_L1_error)
22380               __Pyx_GOTREF(__pyx_t_1);
22381               __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
22382             }
22383             __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
22384             __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22385 
22386             /* "Cython/Compiler/FlowControl.py":641
22387  *                 # '_' is often used for unused variables, e.g. in loops
22388  *                 if entry.is_arg:
22389  *                     if warn_unused_arg:             # <<<<<<<<<<<<<<
22390  *                         messages.warning(entry.pos, "Unused argument '%s'" %
22391  *                                          entry.name)
22392  */
22393           }
22394 
22395           /* "Cython/Compiler/FlowControl.py":640
22396  *             if entry.name != '_' and not entry.name.startswith('unused'):
22397  *                 # '_' is often used for unused variables, e.g. in loops
22398  *                 if entry.is_arg:             # <<<<<<<<<<<<<<
22399  *                     if warn_unused_arg:
22400  *                         messages.warning(entry.pos, "Unused argument '%s'" %
22401  */
22402           goto __pyx_L52;
22403         }
22404 
22405         /* "Cython/Compiler/FlowControl.py":645
22406  *                                          entry.name)
22407  *                 else:
22408  *                     if warn_unused:             # <<<<<<<<<<<<<<
22409  *                         messages.warning(entry.pos, "Unused entry '%s'" %
22410  *                                          entry.name)
22411  */
22412         /*else*/ {
22413           __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_v_warn_unused); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 645, __pyx_L1_error)
22414           if (__pyx_t_19) {
22415 
22416             /* "Cython/Compiler/FlowControl.py":646
22417  *                 else:
22418  *                     if warn_unused:
22419  *                         messages.warning(entry.pos, "Unused entry '%s'" %             # <<<<<<<<<<<<<<
22420  *                                          entry.name)
22421  *             entry.cf_used = False
22422  */
22423             __pyx_t_20 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_messages), __pyx_n_s_warning); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 646, __pyx_L1_error)
22424             __Pyx_GOTREF(__pyx_t_20);
22425             __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_pos); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 646, __pyx_L1_error)
22426             __Pyx_GOTREF(__pyx_t_8);
22427 
22428             /* "Cython/Compiler/FlowControl.py":647
22429  *                     if warn_unused:
22430  *                         messages.warning(entry.pos, "Unused entry '%s'" %
22431  *                                          entry.name)             # <<<<<<<<<<<<<<
22432  *             entry.cf_used = False
22433  *
22434  */
22435             __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_name_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 647, __pyx_L1_error)
22436             __Pyx_GOTREF(__pyx_t_12);
22437 
22438             /* "Cython/Compiler/FlowControl.py":646
22439  *                 else:
22440  *                     if warn_unused:
22441  *                         messages.warning(entry.pos, "Unused entry '%s'" %             # <<<<<<<<<<<<<<
22442  *                                          entry.name)
22443  *             entry.cf_used = False
22444  */
22445             __pyx_t_9 = __Pyx_PyString_FormatSafe(__pyx_kp_s_Unused_entry_s, __pyx_t_12); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 646, __pyx_L1_error)
22446             __Pyx_GOTREF(__pyx_t_9);
22447             __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
22448             __pyx_t_12 = NULL;
22449             __pyx_t_6 = 0;
22450             if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_20))) {
22451               __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_20);
22452               if (likely(__pyx_t_12)) {
22453                 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20);
22454                 __Pyx_INCREF(__pyx_t_12);
22455                 __Pyx_INCREF(function);
22456                 __Pyx_DECREF_SET(__pyx_t_20, function);
22457                 __pyx_t_6 = 1;
22458               }
22459             }
22460             #if CYTHON_FAST_PYCALL
22461             if (PyFunction_Check(__pyx_t_20)) {
22462               PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_t_8, __pyx_t_9};
22463               __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 646, __pyx_L1_error)
22464               __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
22465               __Pyx_GOTREF(__pyx_t_1);
22466               __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
22467               __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
22468             } else
22469             #endif
22470             #if CYTHON_FAST_PYCCALL
22471             if (__Pyx_PyFastCFunction_Check(__pyx_t_20)) {
22472               PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_t_8, __pyx_t_9};
22473               __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 646, __pyx_L1_error)
22474               __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
22475               __Pyx_GOTREF(__pyx_t_1);
22476               __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
22477               __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
22478             } else
22479             #endif
22480             {
22481               __pyx_t_21 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 646, __pyx_L1_error)
22482               __Pyx_GOTREF(__pyx_t_21);
22483               if (__pyx_t_12) {
22484                 __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_12); __pyx_t_12 = NULL;
22485               }
22486               __Pyx_GIVEREF(__pyx_t_8);
22487               PyTuple_SET_ITEM(__pyx_t_21, 0+__pyx_t_6, __pyx_t_8);
22488               __Pyx_GIVEREF(__pyx_t_9);
22489               PyTuple_SET_ITEM(__pyx_t_21, 1+__pyx_t_6, __pyx_t_9);
22490               __pyx_t_8 = 0;
22491               __pyx_t_9 = 0;
22492               __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_20, __pyx_t_21, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 646, __pyx_L1_error)
22493               __Pyx_GOTREF(__pyx_t_1);
22494               __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
22495             }
22496             __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
22497             __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22498 
22499             /* "Cython/Compiler/FlowControl.py":645
22500  *                                          entry.name)
22501  *                 else:
22502  *                     if warn_unused:             # <<<<<<<<<<<<<<
22503  *                         messages.warning(entry.pos, "Unused entry '%s'" %
22504  *                                          entry.name)
22505  */
22506           }
22507         }
22508         __pyx_L52:;
22509 
22510         /* "Cython/Compiler/FlowControl.py":638
22511  *         if (not entry.cf_references
22512  *                 and not entry.is_pyclass_attr):
22513  *             if entry.name != '_' and not entry.name.startswith('unused'):             # <<<<<<<<<<<<<<
22514  *                 # '_' is often used for unused variables, e.g. in loops
22515  *                 if entry.is_arg:
22516  */
22517       }
22518 
22519       /* "Cython/Compiler/FlowControl.py":648
22520  *                         messages.warning(entry.pos, "Unused entry '%s'" %
22521  *                                          entry.name)
22522  *             entry.cf_used = False             # <<<<<<<<<<<<<<
22523  *
22524  *     messages.report()
22525  */
22526       if (__Pyx_PyObject_SetAttrStr(__pyx_v_entry, __pyx_n_s_cf_used, Py_False) < 0) __PYX_ERR(0, 648, __pyx_L1_error)
22527 
22528       /* "Cython/Compiler/FlowControl.py":636
22529  *     # Unused entries
22530  *     for entry in flow.entries:
22531  *         if (not entry.cf_references             # <<<<<<<<<<<<<<
22532  *                 and not entry.is_pyclass_attr):
22533  *             if entry.name != '_' and not entry.name.startswith('unused'):
22534  */
22535     }
22536   }
22537   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
22538 
22539   /* "Cython/Compiler/FlowControl.py":650
22540  *             entry.cf_used = False
22541  *
22542  *     messages.report()             # <<<<<<<<<<<<<<
22543  *
22544  *     for node in assmt_nodes:
22545  */
22546   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_messages), __pyx_n_s_report); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 650, __pyx_L1_error)
22547   __Pyx_GOTREF(__pyx_t_1);
22548   __pyx_t_20 = NULL;
22549   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
22550     __pyx_t_20 = PyMethod_GET_SELF(__pyx_t_1);
22551     if (likely(__pyx_t_20)) {
22552       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
22553       __Pyx_INCREF(__pyx_t_20);
22554       __Pyx_INCREF(function);
22555       __Pyx_DECREF_SET(__pyx_t_1, function);
22556     }
22557   }
22558   __pyx_t_5 = (__pyx_t_20) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_20) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
22559   __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0;
22560   if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 650, __pyx_L1_error)
22561   __Pyx_GOTREF(__pyx_t_5);
22562   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22563   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
22564 
22565   /* "Cython/Compiler/FlowControl.py":652
22566  *     messages.report()
22567  *
22568  *     for node in assmt_nodes:             # <<<<<<<<<<<<<<
22569  *         node.cf_state = ControlFlowState(node.cf_state)
22570  *     for node in references:
22571  */
22572   __pyx_t_2 = 0;
22573   __pyx_t_1 = __Pyx_set_iterator(__pyx_v_assmt_nodes, 1, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 652, __pyx_L1_error)
22574   __Pyx_GOTREF(__pyx_t_1);
22575   __Pyx_XDECREF(__pyx_t_5);
22576   __pyx_t_5 = __pyx_t_1;
22577   __pyx_t_1 = 0;
22578   while (1) {
22579     __pyx_t_6 = __Pyx_set_iter_next(__pyx_t_5, __pyx_t_3, &__pyx_t_2, &__pyx_t_1, __pyx_t_4);
22580     if (unlikely(__pyx_t_6 == 0)) break;
22581     if (unlikely(__pyx_t_6 == -1)) __PYX_ERR(0, 652, __pyx_L1_error)
22582     __Pyx_GOTREF(__pyx_t_1);
22583     __Pyx_XDECREF_SET(__pyx_v_node, __pyx_t_1);
22584     __pyx_t_1 = 0;
22585 
22586     /* "Cython/Compiler/FlowControl.py":653
22587  *
22588  *     for node in assmt_nodes:
22589  *         node.cf_state = ControlFlowState(node.cf_state)             # <<<<<<<<<<<<<<
22590  *     for node in references:
22591  *         node.cf_state = ControlFlowState(node.cf_state)
22592  */
22593     __Pyx_GetModuleGlobalName(__pyx_t_20, __pyx_n_s_ControlFlowState); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 653, __pyx_L1_error)
22594     __Pyx_GOTREF(__pyx_t_20);
22595     __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_cf_state); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 653, __pyx_L1_error)
22596     __Pyx_GOTREF(__pyx_t_21);
22597     __pyx_t_9 = NULL;
22598     if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_20))) {
22599       __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_20);
22600       if (likely(__pyx_t_9)) {
22601         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20);
22602         __Pyx_INCREF(__pyx_t_9);
22603         __Pyx_INCREF(function);
22604         __Pyx_DECREF_SET(__pyx_t_20, function);
22605       }
22606     }
22607     __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_20, __pyx_t_9, __pyx_t_21) : __Pyx_PyObject_CallOneArg(__pyx_t_20, __pyx_t_21);
22608     __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
22609     __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
22610     if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 653, __pyx_L1_error)
22611     __Pyx_GOTREF(__pyx_t_1);
22612     __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
22613     if (__Pyx_PyObject_SetAttrStr(__pyx_v_node, __pyx_n_s_cf_state, __pyx_t_1) < 0) __PYX_ERR(0, 653, __pyx_L1_error)
22614     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22615   }
22616   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
22617 
22618   /* "Cython/Compiler/FlowControl.py":654
22619  *     for node in assmt_nodes:
22620  *         node.cf_state = ControlFlowState(node.cf_state)
22621  *     for node in references:             # <<<<<<<<<<<<<<
22622  *         node.cf_state = ControlFlowState(node.cf_state)
22623  *
22624  */
22625   __pyx_t_3 = 0;
22626   __pyx_t_1 = __Pyx_dict_iterator(__pyx_v_references, 1, ((PyObject *)NULL), (&__pyx_t_2), (&__pyx_t_4)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 654, __pyx_L1_error)
22627   __Pyx_GOTREF(__pyx_t_1);
22628   __Pyx_XDECREF(__pyx_t_5);
22629   __pyx_t_5 = __pyx_t_1;
22630   __pyx_t_1 = 0;
22631   while (1) {
22632     __pyx_t_6 = __Pyx_dict_iter_next(__pyx_t_5, __pyx_t_2, &__pyx_t_3, &__pyx_t_1, NULL, NULL, __pyx_t_4);
22633     if (unlikely(__pyx_t_6 == 0)) break;
22634     if (unlikely(__pyx_t_6 == -1)) __PYX_ERR(0, 654, __pyx_L1_error)
22635     __Pyx_GOTREF(__pyx_t_1);
22636     __Pyx_XDECREF_SET(__pyx_v_node, __pyx_t_1);
22637     __pyx_t_1 = 0;
22638 
22639     /* "Cython/Compiler/FlowControl.py":655
22640  *         node.cf_state = ControlFlowState(node.cf_state)
22641  *     for node in references:
22642  *         node.cf_state = ControlFlowState(node.cf_state)             # <<<<<<<<<<<<<<
22643  *
22644  *
22645  */
22646     __Pyx_GetModuleGlobalName(__pyx_t_20, __pyx_n_s_ControlFlowState); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 655, __pyx_L1_error)
22647     __Pyx_GOTREF(__pyx_t_20);
22648     __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_cf_state); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 655, __pyx_L1_error)
22649     __Pyx_GOTREF(__pyx_t_21);
22650     __pyx_t_9 = NULL;
22651     if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_20))) {
22652       __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_20);
22653       if (likely(__pyx_t_9)) {
22654         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20);
22655         __Pyx_INCREF(__pyx_t_9);
22656         __Pyx_INCREF(function);
22657         __Pyx_DECREF_SET(__pyx_t_20, function);
22658       }
22659     }
22660     __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_20, __pyx_t_9, __pyx_t_21) : __Pyx_PyObject_CallOneArg(__pyx_t_20, __pyx_t_21);
22661     __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
22662     __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
22663     if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 655, __pyx_L1_error)
22664     __Pyx_GOTREF(__pyx_t_1);
22665     __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
22666     if (__Pyx_PyObject_SetAttrStr(__pyx_v_node, __pyx_n_s_cf_state, __pyx_t_1) < 0) __PYX_ERR(0, 655, __pyx_L1_error)
22667     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22668   }
22669   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
22670 
22671   /* "Cython/Compiler/FlowControl.py":524
22672  *
22673  *
22674  * def check_definitions(flow, compiler_directives):             # <<<<<<<<<<<<<<
22675  *     flow.initialize()
22676  *     flow.reaching_definitions()
22677  */
22678 
22679   /* function exit code */
22680   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
22681   goto __pyx_L0;
22682   __pyx_L1_error:;
22683   __Pyx_XDECREF(__pyx_t_1);
22684   __Pyx_XDECREF(__pyx_t_5);
22685   __Pyx_XDECREF(__pyx_t_8);
22686   __Pyx_XDECREF(__pyx_t_9);
22687   __Pyx_XDECREF(__pyx_t_12);
22688   __Pyx_XDECREF(__pyx_t_20);
22689   __Pyx_XDECREF(__pyx_t_21);
22690   __Pyx_AddTraceback("Cython.Compiler.FlowControl.check_definitions", __pyx_clineno, __pyx_lineno, __pyx_filename);
22691   __pyx_r = 0;
22692   __pyx_L0:;
22693   __Pyx_XDECREF((PyObject *)__pyx_v_block);
22694   __Pyx_XDECREF((PyObject *)__pyx_v_assmt);
22695   __Pyx_XDECREF(__pyx_v_assignments);
22696   __Pyx_XDECREF(__pyx_v_references);
22697   __Pyx_XDECREF(__pyx_v_assmt_nodes);
22698   __Pyx_XDECREF(__pyx_v_i_state);
22699   __Pyx_XDECREF(__pyx_v_stat);
22700   __Pyx_XDECREF(__pyx_v_i_assmts);
22701   __Pyx_XDECREF(__pyx_v_state);
22702   __Pyx_XDECREF(__pyx_v_warn_maybe_uninitialized);
22703   __Pyx_XDECREF(__pyx_v_warn_unused_result);
22704   __Pyx_XDECREF(__pyx_v_warn_unused);
22705   __Pyx_XDECREF(__pyx_v_warn_unused_arg);
22706   __Pyx_XDECREF((PyObject *)__pyx_v_messages);
22707   __Pyx_XDECREF(__pyx_v_node);
22708   __Pyx_XDECREF(__pyx_v_entry);
22709   __Pyx_XGIVEREF(__pyx_r);
22710   __Pyx_RefNannyFinishContext();
22711   return __pyx_r;
22712 }
22713 
22714 /* "Cython/Compiler/FlowControl.py":659
22715  *
22716  * class AssignmentCollector(TreeVisitor):
22717  *     def __init__(self):             # <<<<<<<<<<<<<<
22718  *         super(AssignmentCollector, self).__init__()
22719  *         self.assignments = []
22720  */
22721 
22722 /* Python wrapper */
22723 static int __pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_1__init__(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)22724 static int __pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
22725   int __pyx_r;
22726   __Pyx_RefNannyDeclarations
22727   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
22728   if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
22729     __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
22730   if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 0))) return -1;
22731   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector___init__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *)__pyx_v_self));
22732 
22733   /* function exit code */
22734   __Pyx_RefNannyFinishContext();
22735   return __pyx_r;
22736 }
22737 
__pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector___init__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector * __pyx_v_self)22738 static int __pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector___init__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *__pyx_v_self) {
22739   int __pyx_r;
22740   __Pyx_RefNannyDeclarations
22741   PyObject *__pyx_t_1 = NULL;
22742   PyObject *__pyx_t_2 = NULL;
22743   PyObject *__pyx_t_3 = NULL;
22744   int __pyx_lineno = 0;
22745   const char *__pyx_filename = NULL;
22746   int __pyx_clineno = 0;
22747   __Pyx_RefNannySetupContext("__init__", 0);
22748 
22749   /* "Cython/Compiler/FlowControl.py":660
22750  * class AssignmentCollector(TreeVisitor):
22751  *     def __init__(self):
22752  *         super(AssignmentCollector, self).__init__()             # <<<<<<<<<<<<<<
22753  *         self.assignments = []
22754  *
22755  */
22756   __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 660, __pyx_L1_error)
22757   __Pyx_GOTREF(__pyx_t_2);
22758   __Pyx_INCREF(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentCollector));
22759   __Pyx_GIVEREF(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentCollector));
22760   PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentCollector));
22761   __Pyx_INCREF(((PyObject *)__pyx_v_self));
22762   __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
22763   PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
22764   __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 660, __pyx_L1_error)
22765   __Pyx_GOTREF(__pyx_t_3);
22766   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
22767   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 660, __pyx_L1_error)
22768   __Pyx_GOTREF(__pyx_t_2);
22769   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
22770   __pyx_t_3 = NULL;
22771   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
22772     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
22773     if (likely(__pyx_t_3)) {
22774       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
22775       __Pyx_INCREF(__pyx_t_3);
22776       __Pyx_INCREF(function);
22777       __Pyx_DECREF_SET(__pyx_t_2, function);
22778     }
22779   }
22780   __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
22781   __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
22782   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 660, __pyx_L1_error)
22783   __Pyx_GOTREF(__pyx_t_1);
22784   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
22785   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22786 
22787   /* "Cython/Compiler/FlowControl.py":661
22788  *     def __init__(self):
22789  *         super(AssignmentCollector, self).__init__()
22790  *         self.assignments = []             # <<<<<<<<<<<<<<
22791  *
22792  *     def visit_Node(self):
22793  */
22794   __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 661, __pyx_L1_error)
22795   __Pyx_GOTREF(__pyx_t_1);
22796   __Pyx_GIVEREF(__pyx_t_1);
22797   __Pyx_GOTREF(__pyx_v_self->assignments);
22798   __Pyx_DECREF(__pyx_v_self->assignments);
22799   __pyx_v_self->assignments = ((PyObject*)__pyx_t_1);
22800   __pyx_t_1 = 0;
22801 
22802   /* "Cython/Compiler/FlowControl.py":659
22803  *
22804  * class AssignmentCollector(TreeVisitor):
22805  *     def __init__(self):             # <<<<<<<<<<<<<<
22806  *         super(AssignmentCollector, self).__init__()
22807  *         self.assignments = []
22808  */
22809 
22810   /* function exit code */
22811   __pyx_r = 0;
22812   goto __pyx_L0;
22813   __pyx_L1_error:;
22814   __Pyx_XDECREF(__pyx_t_1);
22815   __Pyx_XDECREF(__pyx_t_2);
22816   __Pyx_XDECREF(__pyx_t_3);
22817   __Pyx_AddTraceback("Cython.Compiler.FlowControl.AssignmentCollector.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
22818   __pyx_r = -1;
22819   __pyx_L0:;
22820   __Pyx_RefNannyFinishContext();
22821   return __pyx_r;
22822 }
22823 
22824 /* "Cython/Compiler/FlowControl.py":663
22825  *         self.assignments = []
22826  *
22827  *     def visit_Node(self):             # <<<<<<<<<<<<<<
22828  *         self._visitchildren(self, None)
22829  *
22830  */
22831 
22832 /* Python wrapper */
22833 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_3visit_Node(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
22834 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19AssignmentCollector_3visit_Node = {"visit_Node", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_3visit_Node, METH_NOARGS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_3visit_Node(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)22835 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_3visit_Node(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
22836   PyObject *__pyx_r = 0;
22837   __Pyx_RefNannyDeclarations
22838   __Pyx_RefNannySetupContext("visit_Node (wrapper)", 0);
22839   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector_2visit_Node(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *)__pyx_v_self));
22840 
22841   /* function exit code */
22842   __Pyx_RefNannyFinishContext();
22843   return __pyx_r;
22844 }
22845 
__pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector_2visit_Node(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector * __pyx_v_self)22846 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector_2visit_Node(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *__pyx_v_self) {
22847   PyObject *__pyx_r = NULL;
22848   __Pyx_RefNannyDeclarations
22849   PyObject *__pyx_t_1 = NULL;
22850   int __pyx_lineno = 0;
22851   const char *__pyx_filename = NULL;
22852   int __pyx_clineno = 0;
22853   __Pyx_RefNannySetupContext("visit_Node", 0);
22854 
22855   /* "Cython/Compiler/FlowControl.py":664
22856  *
22857  *     def visit_Node(self):
22858  *         self._visitchildren(self, None)             # <<<<<<<<<<<<<<
22859  *
22860  *     def visit_SingleAssignmentNode(self, node):
22861  */
22862   __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_AssignmentCollector *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._visitchildren(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), ((PyObject *)__pyx_v_self), Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 664, __pyx_L1_error)
22863   __Pyx_GOTREF(__pyx_t_1);
22864   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22865 
22866   /* "Cython/Compiler/FlowControl.py":663
22867  *         self.assignments = []
22868  *
22869  *     def visit_Node(self):             # <<<<<<<<<<<<<<
22870  *         self._visitchildren(self, None)
22871  *
22872  */
22873 
22874   /* function exit code */
22875   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
22876   goto __pyx_L0;
22877   __pyx_L1_error:;
22878   __Pyx_XDECREF(__pyx_t_1);
22879   __Pyx_AddTraceback("Cython.Compiler.FlowControl.AssignmentCollector.visit_Node", __pyx_clineno, __pyx_lineno, __pyx_filename);
22880   __pyx_r = NULL;
22881   __pyx_L0:;
22882   __Pyx_XGIVEREF(__pyx_r);
22883   __Pyx_RefNannyFinishContext();
22884   return __pyx_r;
22885 }
22886 
22887 /* "Cython/Compiler/FlowControl.py":666
22888  *         self._visitchildren(self, None)
22889  *
22890  *     def visit_SingleAssignmentNode(self, node):             # <<<<<<<<<<<<<<
22891  *         self.assignments.append((node.lhs, node.rhs))
22892  *
22893  */
22894 
22895 /* Python wrapper */
22896 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_5visit_SingleAssignmentNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
22897 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19AssignmentCollector_5visit_SingleAssignmentNode = {"visit_SingleAssignmentNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_5visit_SingleAssignmentNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_5visit_SingleAssignmentNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)22898 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_5visit_SingleAssignmentNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
22899   PyObject *__pyx_r = 0;
22900   __Pyx_RefNannyDeclarations
22901   __Pyx_RefNannySetupContext("visit_SingleAssignmentNode (wrapper)", 0);
22902   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector_4visit_SingleAssignmentNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *)__pyx_v_self), ((PyObject *)__pyx_v_node));
22903 
22904   /* function exit code */
22905   __Pyx_RefNannyFinishContext();
22906   return __pyx_r;
22907 }
22908 
__pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector_4visit_SingleAssignmentNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector * __pyx_v_self,PyObject * __pyx_v_node)22909 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector_4visit_SingleAssignmentNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *__pyx_v_self, PyObject *__pyx_v_node) {
22910   PyObject *__pyx_r = NULL;
22911   __Pyx_RefNannyDeclarations
22912   PyObject *__pyx_t_1 = NULL;
22913   PyObject *__pyx_t_2 = NULL;
22914   PyObject *__pyx_t_3 = NULL;
22915   int __pyx_t_4;
22916   int __pyx_lineno = 0;
22917   const char *__pyx_filename = NULL;
22918   int __pyx_clineno = 0;
22919   __Pyx_RefNannySetupContext("visit_SingleAssignmentNode", 0);
22920 
22921   /* "Cython/Compiler/FlowControl.py":667
22922  *
22923  *     def visit_SingleAssignmentNode(self, node):
22924  *         self.assignments.append((node.lhs, node.rhs))             # <<<<<<<<<<<<<<
22925  *
22926  *     def visit_CascadedAssignmentNode(self, node):
22927  */
22928   if (unlikely(__pyx_v_self->assignments == Py_None)) {
22929     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
22930     __PYX_ERR(0, 667, __pyx_L1_error)
22931   }
22932   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_lhs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 667, __pyx_L1_error)
22933   __Pyx_GOTREF(__pyx_t_1);
22934   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_rhs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 667, __pyx_L1_error)
22935   __Pyx_GOTREF(__pyx_t_2);
22936   __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 667, __pyx_L1_error)
22937   __Pyx_GOTREF(__pyx_t_3);
22938   __Pyx_GIVEREF(__pyx_t_1);
22939   PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
22940   __Pyx_GIVEREF(__pyx_t_2);
22941   PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
22942   __pyx_t_1 = 0;
22943   __pyx_t_2 = 0;
22944   __pyx_t_4 = __Pyx_PyList_Append(__pyx_v_self->assignments, __pyx_t_3); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 667, __pyx_L1_error)
22945   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
22946 
22947   /* "Cython/Compiler/FlowControl.py":666
22948  *         self._visitchildren(self, None)
22949  *
22950  *     def visit_SingleAssignmentNode(self, node):             # <<<<<<<<<<<<<<
22951  *         self.assignments.append((node.lhs, node.rhs))
22952  *
22953  */
22954 
22955   /* function exit code */
22956   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
22957   goto __pyx_L0;
22958   __pyx_L1_error:;
22959   __Pyx_XDECREF(__pyx_t_1);
22960   __Pyx_XDECREF(__pyx_t_2);
22961   __Pyx_XDECREF(__pyx_t_3);
22962   __Pyx_AddTraceback("Cython.Compiler.FlowControl.AssignmentCollector.visit_SingleAssignmentNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
22963   __pyx_r = NULL;
22964   __pyx_L0:;
22965   __Pyx_XGIVEREF(__pyx_r);
22966   __Pyx_RefNannyFinishContext();
22967   return __pyx_r;
22968 }
22969 
22970 /* "Cython/Compiler/FlowControl.py":669
22971  *         self.assignments.append((node.lhs, node.rhs))
22972  *
22973  *     def visit_CascadedAssignmentNode(self, node):             # <<<<<<<<<<<<<<
22974  *         for lhs in node.lhs_list:
22975  *             self.assignments.append((lhs, node.rhs))
22976  */
22977 
22978 /* Python wrapper */
22979 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_7visit_CascadedAssignmentNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
22980 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19AssignmentCollector_7visit_CascadedAssignmentNode = {"visit_CascadedAssignmentNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_7visit_CascadedAssignmentNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_7visit_CascadedAssignmentNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)22981 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_7visit_CascadedAssignmentNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
22982   PyObject *__pyx_r = 0;
22983   __Pyx_RefNannyDeclarations
22984   __Pyx_RefNannySetupContext("visit_CascadedAssignmentNode (wrapper)", 0);
22985   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector_6visit_CascadedAssignmentNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *)__pyx_v_self), ((PyObject *)__pyx_v_node));
22986 
22987   /* function exit code */
22988   __Pyx_RefNannyFinishContext();
22989   return __pyx_r;
22990 }
22991 
__pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector_6visit_CascadedAssignmentNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector * __pyx_v_self,PyObject * __pyx_v_node)22992 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector_6visit_CascadedAssignmentNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *__pyx_v_self, PyObject *__pyx_v_node) {
22993   PyObject *__pyx_v_lhs = NULL;
22994   PyObject *__pyx_r = NULL;
22995   __Pyx_RefNannyDeclarations
22996   PyObject *__pyx_t_1 = NULL;
22997   PyObject *__pyx_t_2 = NULL;
22998   Py_ssize_t __pyx_t_3;
22999   PyObject *(*__pyx_t_4)(PyObject *);
23000   PyObject *__pyx_t_5 = NULL;
23001   int __pyx_t_6;
23002   int __pyx_lineno = 0;
23003   const char *__pyx_filename = NULL;
23004   int __pyx_clineno = 0;
23005   __Pyx_RefNannySetupContext("visit_CascadedAssignmentNode", 0);
23006 
23007   /* "Cython/Compiler/FlowControl.py":670
23008  *
23009  *     def visit_CascadedAssignmentNode(self, node):
23010  *         for lhs in node.lhs_list:             # <<<<<<<<<<<<<<
23011  *             self.assignments.append((lhs, node.rhs))
23012  *
23013  */
23014   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_lhs_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 670, __pyx_L1_error)
23015   __Pyx_GOTREF(__pyx_t_1);
23016   if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
23017     __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
23018     __pyx_t_4 = NULL;
23019   } else {
23020     __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 670, __pyx_L1_error)
23021     __Pyx_GOTREF(__pyx_t_2);
23022     __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 670, __pyx_L1_error)
23023   }
23024   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23025   for (;;) {
23026     if (likely(!__pyx_t_4)) {
23027       if (likely(PyList_CheckExact(__pyx_t_2))) {
23028         if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
23029         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
23030         __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 670, __pyx_L1_error)
23031         #else
23032         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 670, __pyx_L1_error)
23033         __Pyx_GOTREF(__pyx_t_1);
23034         #endif
23035       } else {
23036         if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
23037         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
23038         __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 670, __pyx_L1_error)
23039         #else
23040         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 670, __pyx_L1_error)
23041         __Pyx_GOTREF(__pyx_t_1);
23042         #endif
23043       }
23044     } else {
23045       __pyx_t_1 = __pyx_t_4(__pyx_t_2);
23046       if (unlikely(!__pyx_t_1)) {
23047         PyObject* exc_type = PyErr_Occurred();
23048         if (exc_type) {
23049           if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
23050           else __PYX_ERR(0, 670, __pyx_L1_error)
23051         }
23052         break;
23053       }
23054       __Pyx_GOTREF(__pyx_t_1);
23055     }
23056     __Pyx_XDECREF_SET(__pyx_v_lhs, __pyx_t_1);
23057     __pyx_t_1 = 0;
23058 
23059     /* "Cython/Compiler/FlowControl.py":671
23060  *     def visit_CascadedAssignmentNode(self, node):
23061  *         for lhs in node.lhs_list:
23062  *             self.assignments.append((lhs, node.rhs))             # <<<<<<<<<<<<<<
23063  *
23064  *
23065  */
23066     if (unlikely(__pyx_v_self->assignments == Py_None)) {
23067       PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
23068       __PYX_ERR(0, 671, __pyx_L1_error)
23069     }
23070     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_rhs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 671, __pyx_L1_error)
23071     __Pyx_GOTREF(__pyx_t_1);
23072     __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 671, __pyx_L1_error)
23073     __Pyx_GOTREF(__pyx_t_5);
23074     __Pyx_INCREF(__pyx_v_lhs);
23075     __Pyx_GIVEREF(__pyx_v_lhs);
23076     PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_lhs);
23077     __Pyx_GIVEREF(__pyx_t_1);
23078     PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
23079     __pyx_t_1 = 0;
23080     __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_self->assignments, __pyx_t_5); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 671, __pyx_L1_error)
23081     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23082 
23083     /* "Cython/Compiler/FlowControl.py":670
23084  *
23085  *     def visit_CascadedAssignmentNode(self, node):
23086  *         for lhs in node.lhs_list:             # <<<<<<<<<<<<<<
23087  *             self.assignments.append((lhs, node.rhs))
23088  *
23089  */
23090   }
23091   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23092 
23093   /* "Cython/Compiler/FlowControl.py":669
23094  *         self.assignments.append((node.lhs, node.rhs))
23095  *
23096  *     def visit_CascadedAssignmentNode(self, node):             # <<<<<<<<<<<<<<
23097  *         for lhs in node.lhs_list:
23098  *             self.assignments.append((lhs, node.rhs))
23099  */
23100 
23101   /* function exit code */
23102   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
23103   goto __pyx_L0;
23104   __pyx_L1_error:;
23105   __Pyx_XDECREF(__pyx_t_1);
23106   __Pyx_XDECREF(__pyx_t_2);
23107   __Pyx_XDECREF(__pyx_t_5);
23108   __Pyx_AddTraceback("Cython.Compiler.FlowControl.AssignmentCollector.visit_CascadedAssignmentNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
23109   __pyx_r = NULL;
23110   __pyx_L0:;
23111   __Pyx_XDECREF(__pyx_v_lhs);
23112   __Pyx_XGIVEREF(__pyx_r);
23113   __Pyx_RefNannyFinishContext();
23114   return __pyx_r;
23115 }
23116 
23117 /* "(tree fragment)":1
23118  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
23119  *     cdef tuple state
23120  *     cdef object _dict
23121  */
23122 
23123 /* Python wrapper */
23124 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
23125 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19AssignmentCollector_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_9__reduce_cython__, METH_NOARGS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_9__reduce_cython__(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)23126 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
23127   PyObject *__pyx_r = 0;
23128   __Pyx_RefNannyDeclarations
23129   __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
23130   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector_8__reduce_cython__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *)__pyx_v_self));
23131 
23132   /* function exit code */
23133   __Pyx_RefNannyFinishContext();
23134   return __pyx_r;
23135 }
23136 
__pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector_8__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector * __pyx_v_self)23137 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector_8__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *__pyx_v_self) {
23138   PyObject *__pyx_v_state = 0;
23139   PyObject *__pyx_v__dict = 0;
23140   int __pyx_v_use_setstate;
23141   PyObject *__pyx_r = NULL;
23142   __Pyx_RefNannyDeclarations
23143   PyObject *__pyx_t_1 = NULL;
23144   int __pyx_t_2;
23145   int __pyx_t_3;
23146   PyObject *__pyx_t_4 = NULL;
23147   int __pyx_t_5;
23148   PyObject *__pyx_t_6 = NULL;
23149   int __pyx_lineno = 0;
23150   const char *__pyx_filename = NULL;
23151   int __pyx_clineno = 0;
23152   __Pyx_RefNannySetupContext("__reduce_cython__", 0);
23153 
23154   /* "(tree fragment)":5
23155  *     cdef object _dict
23156  *     cdef bint use_setstate
23157  *     state = (self.access_path, self.assignments, self.dispatch_table)             # <<<<<<<<<<<<<<
23158  *     _dict = getattr(self, '__dict__', None)
23159  *     if _dict is not None:
23160  */
23161   __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error)
23162   __Pyx_GOTREF(__pyx_t_1);
23163   __Pyx_INCREF(__pyx_v_self->__pyx_base.access_path);
23164   __Pyx_GIVEREF(__pyx_v_self->__pyx_base.access_path);
23165   PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->__pyx_base.access_path);
23166   __Pyx_INCREF(__pyx_v_self->assignments);
23167   __Pyx_GIVEREF(__pyx_v_self->assignments);
23168   PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->assignments);
23169   __Pyx_INCREF(__pyx_v_self->__pyx_base.dispatch_table);
23170   __Pyx_GIVEREF(__pyx_v_self->__pyx_base.dispatch_table);
23171   PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_self->__pyx_base.dispatch_table);
23172   __pyx_v_state = ((PyObject*)__pyx_t_1);
23173   __pyx_t_1 = 0;
23174 
23175   /* "(tree fragment)":6
23176  *     cdef bint use_setstate
23177  *     state = (self.access_path, self.assignments, self.dispatch_table)
23178  *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
23179  *     if _dict is not None:
23180  *         state += (_dict,)
23181  */
23182   __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error)
23183   __Pyx_GOTREF(__pyx_t_1);
23184   __pyx_v__dict = __pyx_t_1;
23185   __pyx_t_1 = 0;
23186 
23187   /* "(tree fragment)":7
23188  *     state = (self.access_path, self.assignments, self.dispatch_table)
23189  *     _dict = getattr(self, '__dict__', None)
23190  *     if _dict is not None:             # <<<<<<<<<<<<<<
23191  *         state += (_dict,)
23192  *         use_setstate = True
23193  */
23194   __pyx_t_2 = (__pyx_v__dict != Py_None);
23195   __pyx_t_3 = (__pyx_t_2 != 0);
23196   if (__pyx_t_3) {
23197 
23198     /* "(tree fragment)":8
23199  *     _dict = getattr(self, '__dict__', None)
23200  *     if _dict is not None:
23201  *         state += (_dict,)             # <<<<<<<<<<<<<<
23202  *         use_setstate = True
23203  *     else:
23204  */
23205     __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8, __pyx_L1_error)
23206     __Pyx_GOTREF(__pyx_t_1);
23207     __Pyx_INCREF(__pyx_v__dict);
23208     __Pyx_GIVEREF(__pyx_v__dict);
23209     PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
23210     __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8, __pyx_L1_error)
23211     __Pyx_GOTREF(__pyx_t_4);
23212     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23213     __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
23214     __pyx_t_4 = 0;
23215 
23216     /* "(tree fragment)":9
23217  *     if _dict is not None:
23218  *         state += (_dict,)
23219  *         use_setstate = True             # <<<<<<<<<<<<<<
23220  *     else:
23221  *         use_setstate = self.access_path is not None or self.assignments is not None or self.dispatch_table is not None
23222  */
23223     __pyx_v_use_setstate = 1;
23224 
23225     /* "(tree fragment)":7
23226  *     state = (self.access_path, self.assignments, self.dispatch_table)
23227  *     _dict = getattr(self, '__dict__', None)
23228  *     if _dict is not None:             # <<<<<<<<<<<<<<
23229  *         state += (_dict,)
23230  *         use_setstate = True
23231  */
23232     goto __pyx_L3;
23233   }
23234 
23235   /* "(tree fragment)":11
23236  *         use_setstate = True
23237  *     else:
23238  *         use_setstate = self.access_path is not None or self.assignments is not None or self.dispatch_table is not None             # <<<<<<<<<<<<<<
23239  *     if use_setstate:
23240  *         return __pyx_unpickle_AssignmentCollector, (type(self), 0xdf44812, None), state
23241  */
23242   /*else*/ {
23243     __pyx_t_2 = (__pyx_v_self->__pyx_base.access_path != ((PyObject*)Py_None));
23244     __pyx_t_5 = (__pyx_t_2 != 0);
23245     if (!__pyx_t_5) {
23246     } else {
23247       __pyx_t_3 = __pyx_t_5;
23248       goto __pyx_L4_bool_binop_done;
23249     }
23250     __pyx_t_5 = (__pyx_v_self->assignments != ((PyObject*)Py_None));
23251     __pyx_t_2 = (__pyx_t_5 != 0);
23252     if (!__pyx_t_2) {
23253     } else {
23254       __pyx_t_3 = __pyx_t_2;
23255       goto __pyx_L4_bool_binop_done;
23256     }
23257     __pyx_t_2 = (__pyx_v_self->__pyx_base.dispatch_table != ((PyObject*)Py_None));
23258     __pyx_t_5 = (__pyx_t_2 != 0);
23259     __pyx_t_3 = __pyx_t_5;
23260     __pyx_L4_bool_binop_done:;
23261     __pyx_v_use_setstate = __pyx_t_3;
23262   }
23263   __pyx_L3:;
23264 
23265   /* "(tree fragment)":12
23266  *     else:
23267  *         use_setstate = self.access_path is not None or self.assignments is not None or self.dispatch_table is not None
23268  *     if use_setstate:             # <<<<<<<<<<<<<<
23269  *         return __pyx_unpickle_AssignmentCollector, (type(self), 0xdf44812, None), state
23270  *     else:
23271  */
23272   __pyx_t_3 = (__pyx_v_use_setstate != 0);
23273   if (__pyx_t_3) {
23274 
23275     /* "(tree fragment)":13
23276  *         use_setstate = self.access_path is not None or self.assignments is not None or self.dispatch_table is not None
23277  *     if use_setstate:
23278  *         return __pyx_unpickle_AssignmentCollector, (type(self), 0xdf44812, None), state             # <<<<<<<<<<<<<<
23279  *     else:
23280  *         return __pyx_unpickle_AssignmentCollector, (type(self), 0xdf44812, state)
23281  */
23282     __Pyx_XDECREF(__pyx_r);
23283     __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_AssignmentCollect); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 13, __pyx_L1_error)
23284     __Pyx_GOTREF(__pyx_t_4);
23285     __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error)
23286     __Pyx_GOTREF(__pyx_t_1);
23287     __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
23288     __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
23289     PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
23290     __Pyx_INCREF(__pyx_int_234113042);
23291     __Pyx_GIVEREF(__pyx_int_234113042);
23292     PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_234113042);
23293     __Pyx_INCREF(Py_None);
23294     __Pyx_GIVEREF(Py_None);
23295     PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
23296     __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 13, __pyx_L1_error)
23297     __Pyx_GOTREF(__pyx_t_6);
23298     __Pyx_GIVEREF(__pyx_t_4);
23299     PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
23300     __Pyx_GIVEREF(__pyx_t_1);
23301     PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_1);
23302     __Pyx_INCREF(__pyx_v_state);
23303     __Pyx_GIVEREF(__pyx_v_state);
23304     PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_state);
23305     __pyx_t_4 = 0;
23306     __pyx_t_1 = 0;
23307     __pyx_r = __pyx_t_6;
23308     __pyx_t_6 = 0;
23309     goto __pyx_L0;
23310 
23311     /* "(tree fragment)":12
23312  *     else:
23313  *         use_setstate = self.access_path is not None or self.assignments is not None or self.dispatch_table is not None
23314  *     if use_setstate:             # <<<<<<<<<<<<<<
23315  *         return __pyx_unpickle_AssignmentCollector, (type(self), 0xdf44812, None), state
23316  *     else:
23317  */
23318   }
23319 
23320   /* "(tree fragment)":15
23321  *         return __pyx_unpickle_AssignmentCollector, (type(self), 0xdf44812, None), state
23322  *     else:
23323  *         return __pyx_unpickle_AssignmentCollector, (type(self), 0xdf44812, state)             # <<<<<<<<<<<<<<
23324  * def __setstate_cython__(self, __pyx_state):
23325  *     __pyx_unpickle_AssignmentCollector__set_state(self, __pyx_state)
23326  */
23327   /*else*/ {
23328     __Pyx_XDECREF(__pyx_r);
23329     __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pyx_unpickle_AssignmentCollect); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 15, __pyx_L1_error)
23330     __Pyx_GOTREF(__pyx_t_6);
23331     __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error)
23332     __Pyx_GOTREF(__pyx_t_1);
23333     __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
23334     __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
23335     PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
23336     __Pyx_INCREF(__pyx_int_234113042);
23337     __Pyx_GIVEREF(__pyx_int_234113042);
23338     PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_234113042);
23339     __Pyx_INCREF(__pyx_v_state);
23340     __Pyx_GIVEREF(__pyx_v_state);
23341     PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
23342     __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 15, __pyx_L1_error)
23343     __Pyx_GOTREF(__pyx_t_4);
23344     __Pyx_GIVEREF(__pyx_t_6);
23345     PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
23346     __Pyx_GIVEREF(__pyx_t_1);
23347     PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
23348     __pyx_t_6 = 0;
23349     __pyx_t_1 = 0;
23350     __pyx_r = __pyx_t_4;
23351     __pyx_t_4 = 0;
23352     goto __pyx_L0;
23353   }
23354 
23355   /* "(tree fragment)":1
23356  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
23357  *     cdef tuple state
23358  *     cdef object _dict
23359  */
23360 
23361   /* function exit code */
23362   __pyx_L1_error:;
23363   __Pyx_XDECREF(__pyx_t_1);
23364   __Pyx_XDECREF(__pyx_t_4);
23365   __Pyx_XDECREF(__pyx_t_6);
23366   __Pyx_AddTraceback("Cython.Compiler.FlowControl.AssignmentCollector.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
23367   __pyx_r = NULL;
23368   __pyx_L0:;
23369   __Pyx_XDECREF(__pyx_v_state);
23370   __Pyx_XDECREF(__pyx_v__dict);
23371   __Pyx_XGIVEREF(__pyx_r);
23372   __Pyx_RefNannyFinishContext();
23373   return __pyx_r;
23374 }
23375 
23376 /* "(tree fragment)":16
23377  *     else:
23378  *         return __pyx_unpickle_AssignmentCollector, (type(self), 0xdf44812, state)
23379  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
23380  *     __pyx_unpickle_AssignmentCollector__set_state(self, __pyx_state)
23381  */
23382 
23383 /* Python wrapper */
23384 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
23385 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19AssignmentCollector_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_11__setstate_cython__, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_11__setstate_cython__(PyObject * __pyx_v_self,PyObject * __pyx_v___pyx_state)23386 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
23387   PyObject *__pyx_r = 0;
23388   __Pyx_RefNannyDeclarations
23389   __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
23390   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector_10__setstate_cython__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
23391 
23392   /* function exit code */
23393   __Pyx_RefNannyFinishContext();
23394   return __pyx_r;
23395 }
23396 
__pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector_10__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector * __pyx_v_self,PyObject * __pyx_v___pyx_state)23397 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19AssignmentCollector_10__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
23398   PyObject *__pyx_r = NULL;
23399   __Pyx_RefNannyDeclarations
23400   PyObject *__pyx_t_1 = NULL;
23401   int __pyx_lineno = 0;
23402   const char *__pyx_filename = NULL;
23403   int __pyx_clineno = 0;
23404   __Pyx_RefNannySetupContext("__setstate_cython__", 0);
23405 
23406   /* "(tree fragment)":17
23407  *         return __pyx_unpickle_AssignmentCollector, (type(self), 0xdf44812, state)
23408  * def __setstate_cython__(self, __pyx_state):
23409  *     __pyx_unpickle_AssignmentCollector__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
23410  */
23411   if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 17, __pyx_L1_error)
23412   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_AssignmentCollector__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 17, __pyx_L1_error)
23413   __Pyx_GOTREF(__pyx_t_1);
23414   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23415 
23416   /* "(tree fragment)":16
23417  *     else:
23418  *         return __pyx_unpickle_AssignmentCollector, (type(self), 0xdf44812, state)
23419  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
23420  *     __pyx_unpickle_AssignmentCollector__set_state(self, __pyx_state)
23421  */
23422 
23423   /* function exit code */
23424   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
23425   goto __pyx_L0;
23426   __pyx_L1_error:;
23427   __Pyx_XDECREF(__pyx_t_1);
23428   __Pyx_AddTraceback("Cython.Compiler.FlowControl.AssignmentCollector.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
23429   __pyx_r = NULL;
23430   __pyx_L0:;
23431   __Pyx_XGIVEREF(__pyx_r);
23432   __Pyx_RefNannyFinishContext();
23433   return __pyx_r;
23434 }
23435 
23436 /* "Cython/Compiler/FlowControl.py":676
23437  * class ControlFlowAnalysis(CythonTransform):
23438  *
23439  *     def visit_ModuleNode(self, node):             # <<<<<<<<<<<<<<
23440  *         self.gv_ctx = GVContext()
23441  *         self.constant_folder = ConstantFolding()
23442  */
23443 
23444 /* Python wrapper */
23445 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_1visit_ModuleNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
23446 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_1visit_ModuleNode = {"visit_ModuleNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_1visit_ModuleNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_1visit_ModuleNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)23447 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_1visit_ModuleNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
23448   PyObject *__pyx_r = 0;
23449   __Pyx_RefNannyDeclarations
23450   __Pyx_RefNannySetupContext("visit_ModuleNode (wrapper)", 0);
23451   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_visit_ModuleNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
23452 
23453   /* function exit code */
23454   __Pyx_RefNannyFinishContext();
23455   return __pyx_r;
23456 }
23457 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_visit_ModuleNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)23458 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_visit_ModuleNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
23459   PyObject *__pyx_v_dot_output = NULL;
23460   PyObject *__pyx_v_annotate_defs = NULL;
23461   PyObject *__pyx_v_fp = NULL;
23462   PyObject *__pyx_r = NULL;
23463   __Pyx_RefNannyDeclarations
23464   PyObject *__pyx_t_1 = NULL;
23465   PyObject *__pyx_t_2 = NULL;
23466   PyObject *__pyx_t_3 = NULL;
23467   int __pyx_t_4;
23468   PyObject *__pyx_t_5 = NULL;
23469   int __pyx_t_6;
23470   int __pyx_t_7;
23471   char const *__pyx_t_8;
23472   PyObject *__pyx_t_9 = NULL;
23473   PyObject *__pyx_t_10 = NULL;
23474   PyObject *__pyx_t_11 = NULL;
23475   PyObject *__pyx_t_12 = NULL;
23476   PyObject *__pyx_t_13 = NULL;
23477   PyObject *__pyx_t_14 = NULL;
23478   int __pyx_lineno = 0;
23479   const char *__pyx_filename = NULL;
23480   int __pyx_clineno = 0;
23481   __Pyx_RefNannySetupContext("visit_ModuleNode", 0);
23482 
23483   /* "Cython/Compiler/FlowControl.py":677
23484  *
23485  *     def visit_ModuleNode(self, node):
23486  *         self.gv_ctx = GVContext()             # <<<<<<<<<<<<<<
23487  *         self.constant_folder = ConstantFolding()
23488  *
23489  */
23490   __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_GVContext); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 677, __pyx_L1_error)
23491   __Pyx_GOTREF(__pyx_t_2);
23492   __pyx_t_3 = NULL;
23493   if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
23494     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
23495     if (likely(__pyx_t_3)) {
23496       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
23497       __Pyx_INCREF(__pyx_t_3);
23498       __Pyx_INCREF(function);
23499       __Pyx_DECREF_SET(__pyx_t_2, function);
23500     }
23501   }
23502   __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
23503   __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
23504   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 677, __pyx_L1_error)
23505   __Pyx_GOTREF(__pyx_t_1);
23506   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23507   __Pyx_GIVEREF(__pyx_t_1);
23508   __Pyx_GOTREF(__pyx_v_self->gv_ctx);
23509   __Pyx_DECREF(__pyx_v_self->gv_ctx);
23510   __pyx_v_self->gv_ctx = __pyx_t_1;
23511   __pyx_t_1 = 0;
23512 
23513   /* "Cython/Compiler/FlowControl.py":678
23514  *     def visit_ModuleNode(self, node):
23515  *         self.gv_ctx = GVContext()
23516  *         self.constant_folder = ConstantFolding()             # <<<<<<<<<<<<<<
23517  *
23518  *         # Set of NameNode reductions
23519  */
23520   __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ConstantFolding); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 678, __pyx_L1_error)
23521   __Pyx_GOTREF(__pyx_t_2);
23522   __pyx_t_3 = NULL;
23523   if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
23524     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
23525     if (likely(__pyx_t_3)) {
23526       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
23527       __Pyx_INCREF(__pyx_t_3);
23528       __Pyx_INCREF(function);
23529       __Pyx_DECREF_SET(__pyx_t_2, function);
23530     }
23531   }
23532   __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
23533   __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
23534   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 678, __pyx_L1_error)
23535   __Pyx_GOTREF(__pyx_t_1);
23536   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23537   __Pyx_GIVEREF(__pyx_t_1);
23538   __Pyx_GOTREF(__pyx_v_self->constant_folder);
23539   __Pyx_DECREF(__pyx_v_self->constant_folder);
23540   __pyx_v_self->constant_folder = __pyx_t_1;
23541   __pyx_t_1 = 0;
23542 
23543   /* "Cython/Compiler/FlowControl.py":681
23544  *
23545  *         # Set of NameNode reductions
23546  *         self.reductions = set()             # <<<<<<<<<<<<<<
23547  *
23548  *         self.in_inplace_assignment = False
23549  */
23550   __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 681, __pyx_L1_error)
23551   __Pyx_GOTREF(__pyx_t_1);
23552   __Pyx_GIVEREF(__pyx_t_1);
23553   __Pyx_GOTREF(__pyx_v_self->reductions);
23554   __Pyx_DECREF(__pyx_v_self->reductions);
23555   __pyx_v_self->reductions = ((PyObject*)__pyx_t_1);
23556   __pyx_t_1 = 0;
23557 
23558   /* "Cython/Compiler/FlowControl.py":683
23559  *         self.reductions = set()
23560  *
23561  *         self.in_inplace_assignment = False             # <<<<<<<<<<<<<<
23562  *         self.env_stack = []
23563  *         self.env = node.scope
23564  */
23565   __pyx_v_self->in_inplace_assignment = 0;
23566 
23567   /* "Cython/Compiler/FlowControl.py":684
23568  *
23569  *         self.in_inplace_assignment = False
23570  *         self.env_stack = []             # <<<<<<<<<<<<<<
23571  *         self.env = node.scope
23572  *         self.stack = []
23573  */
23574   __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 684, __pyx_L1_error)
23575   __Pyx_GOTREF(__pyx_t_1);
23576   __Pyx_GIVEREF(__pyx_t_1);
23577   __Pyx_GOTREF(__pyx_v_self->env_stack);
23578   __Pyx_DECREF(__pyx_v_self->env_stack);
23579   __pyx_v_self->env_stack = ((PyObject*)__pyx_t_1);
23580   __pyx_t_1 = 0;
23581 
23582   /* "Cython/Compiler/FlowControl.py":685
23583  *         self.in_inplace_assignment = False
23584  *         self.env_stack = []
23585  *         self.env = node.scope             # <<<<<<<<<<<<<<
23586  *         self.stack = []
23587  *         self.flow = ControlFlow()
23588  */
23589   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_scope); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 685, __pyx_L1_error)
23590   __Pyx_GOTREF(__pyx_t_1);
23591   __Pyx_GIVEREF(__pyx_t_1);
23592   __Pyx_GOTREF(__pyx_v_self->env);
23593   __Pyx_DECREF(__pyx_v_self->env);
23594   __pyx_v_self->env = __pyx_t_1;
23595   __pyx_t_1 = 0;
23596 
23597   /* "Cython/Compiler/FlowControl.py":686
23598  *         self.env_stack = []
23599  *         self.env = node.scope
23600  *         self.stack = []             # <<<<<<<<<<<<<<
23601  *         self.flow = ControlFlow()
23602  *         self.visitchildren(node)
23603  */
23604   __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 686, __pyx_L1_error)
23605   __Pyx_GOTREF(__pyx_t_1);
23606   __Pyx_GIVEREF(__pyx_t_1);
23607   __Pyx_GOTREF(__pyx_v_self->stack);
23608   __Pyx_DECREF(__pyx_v_self->stack);
23609   __pyx_v_self->stack = ((PyObject*)__pyx_t_1);
23610   __pyx_t_1 = 0;
23611 
23612   /* "Cython/Compiler/FlowControl.py":687
23613  *         self.env = node.scope
23614  *         self.stack = []
23615  *         self.flow = ControlFlow()             # <<<<<<<<<<<<<<
23616  *         self.visitchildren(node)
23617  *
23618  */
23619   __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 687, __pyx_L1_error)
23620   __Pyx_GOTREF(__pyx_t_1);
23621   __Pyx_GIVEREF(__pyx_t_1);
23622   __Pyx_GOTREF(__pyx_v_self->flow);
23623   __Pyx_DECREF(((PyObject *)__pyx_v_self->flow));
23624   __pyx_v_self->flow = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_t_1);
23625   __pyx_t_1 = 0;
23626 
23627   /* "Cython/Compiler/FlowControl.py":688
23628  *         self.stack = []
23629  *         self.flow = ControlFlow()
23630  *         self.visitchildren(node)             # <<<<<<<<<<<<<<
23631  *
23632  *         check_definitions(self.flow, self.current_directives)
23633  */
23634   __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.visitchildren(((struct __pyx_obj_6Cython_8Compiler_7Visitor_VisitorTransform *)__pyx_v_self), __pyx_v_node, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 688, __pyx_L1_error)
23635   __Pyx_GOTREF(__pyx_t_1);
23636   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23637 
23638   /* "Cython/Compiler/FlowControl.py":690
23639  *         self.visitchildren(node)
23640  *
23641  *         check_definitions(self.flow, self.current_directives)             # <<<<<<<<<<<<<<
23642  *
23643  *         dot_output = self.current_directives['control_flow.dot_output']
23644  */
23645   __pyx_t_1 = ((PyObject *)__pyx_v_self->flow);
23646   __Pyx_INCREF(__pyx_t_1);
23647   if (!(likely(PyDict_CheckExact(__pyx_v_self->__pyx_base.current_directives))||((__pyx_v_self->__pyx_base.current_directives) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_self->__pyx_base.current_directives)->tp_name), 0))) __PYX_ERR(0, 690, __pyx_L1_error)
23648   __pyx_t_2 = __pyx_v_self->__pyx_base.current_directives;
23649   __Pyx_INCREF(__pyx_t_2);
23650   __pyx_t_3 = __pyx_f_6Cython_8Compiler_11FlowControl_check_definitions(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_t_1), ((PyObject*)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 690, __pyx_L1_error)
23651   __Pyx_GOTREF(__pyx_t_3);
23652   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23653   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23654   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
23655 
23656   /* "Cython/Compiler/FlowControl.py":692
23657  *         check_definitions(self.flow, self.current_directives)
23658  *
23659  *         dot_output = self.current_directives['control_flow.dot_output']             # <<<<<<<<<<<<<<
23660  *         if dot_output:
23661  *             annotate_defs = self.current_directives['control_flow.dot_annotate_defs']
23662  */
23663   __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_v_self->__pyx_base.current_directives, __pyx_kp_s_control_flow_dot_output); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 692, __pyx_L1_error)
23664   __Pyx_GOTREF(__pyx_t_3);
23665   __pyx_v_dot_output = __pyx_t_3;
23666   __pyx_t_3 = 0;
23667 
23668   /* "Cython/Compiler/FlowControl.py":693
23669  *
23670  *         dot_output = self.current_directives['control_flow.dot_output']
23671  *         if dot_output:             # <<<<<<<<<<<<<<
23672  *             annotate_defs = self.current_directives['control_flow.dot_annotate_defs']
23673  *             fp = open(dot_output, 'wt')
23674  */
23675   __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_dot_output); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 693, __pyx_L1_error)
23676   if (__pyx_t_4) {
23677 
23678     /* "Cython/Compiler/FlowControl.py":694
23679  *         dot_output = self.current_directives['control_flow.dot_output']
23680  *         if dot_output:
23681  *             annotate_defs = self.current_directives['control_flow.dot_annotate_defs']             # <<<<<<<<<<<<<<
23682  *             fp = open(dot_output, 'wt')
23683  *             try:
23684  */
23685     __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_v_self->__pyx_base.current_directives, __pyx_kp_s_control_flow_dot_annotate_defs); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 694, __pyx_L1_error)
23686     __Pyx_GOTREF(__pyx_t_3);
23687     __pyx_v_annotate_defs = __pyx_t_3;
23688     __pyx_t_3 = 0;
23689 
23690     /* "Cython/Compiler/FlowControl.py":695
23691  *         if dot_output:
23692  *             annotate_defs = self.current_directives['control_flow.dot_annotate_defs']
23693  *             fp = open(dot_output, 'wt')             # <<<<<<<<<<<<<<
23694  *             try:
23695  *                 self.gv_ctx.render(fp, 'module', annotate_defs=annotate_defs)
23696  */
23697     __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 695, __pyx_L1_error)
23698     __Pyx_GOTREF(__pyx_t_3);
23699     __Pyx_INCREF(__pyx_v_dot_output);
23700     __Pyx_GIVEREF(__pyx_v_dot_output);
23701     PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_dot_output);
23702     __Pyx_INCREF(__pyx_n_s_wt);
23703     __Pyx_GIVEREF(__pyx_n_s_wt);
23704     PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_wt);
23705     __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 695, __pyx_L1_error)
23706     __Pyx_GOTREF(__pyx_t_2);
23707     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
23708     __pyx_v_fp = __pyx_t_2;
23709     __pyx_t_2 = 0;
23710 
23711     /* "Cython/Compiler/FlowControl.py":696
23712  *             annotate_defs = self.current_directives['control_flow.dot_annotate_defs']
23713  *             fp = open(dot_output, 'wt')
23714  *             try:             # <<<<<<<<<<<<<<
23715  *                 self.gv_ctx.render(fp, 'module', annotate_defs=annotate_defs)
23716  *             finally:
23717  */
23718     /*try:*/ {
23719 
23720       /* "Cython/Compiler/FlowControl.py":697
23721  *             fp = open(dot_output, 'wt')
23722  *             try:
23723  *                 self.gv_ctx.render(fp, 'module', annotate_defs=annotate_defs)             # <<<<<<<<<<<<<<
23724  *             finally:
23725  *                 fp.close()
23726  */
23727       __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->gv_ctx, __pyx_n_s_render); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 697, __pyx_L5_error)
23728       __Pyx_GOTREF(__pyx_t_2);
23729       __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 697, __pyx_L5_error)
23730       __Pyx_GOTREF(__pyx_t_3);
23731       __Pyx_INCREF(__pyx_v_fp);
23732       __Pyx_GIVEREF(__pyx_v_fp);
23733       PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_fp);
23734       __Pyx_INCREF(__pyx_n_s_module);
23735       __Pyx_GIVEREF(__pyx_n_s_module);
23736       PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_module);
23737       __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 697, __pyx_L5_error)
23738       __Pyx_GOTREF(__pyx_t_1);
23739       if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_annotate_defs, __pyx_v_annotate_defs) < 0) __PYX_ERR(0, 697, __pyx_L5_error)
23740       __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 697, __pyx_L5_error)
23741       __Pyx_GOTREF(__pyx_t_5);
23742       __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23743       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
23744       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23745       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23746     }
23747 
23748     /* "Cython/Compiler/FlowControl.py":699
23749  *                 self.gv_ctx.render(fp, 'module', annotate_defs=annotate_defs)
23750  *             finally:
23751  *                 fp.close()             # <<<<<<<<<<<<<<
23752  *         return node
23753  *
23754  */
23755     /*finally:*/ {
23756       /*normal exit:*/{
23757         __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_fp, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 699, __pyx_L1_error)
23758         __Pyx_GOTREF(__pyx_t_1);
23759         __pyx_t_3 = NULL;
23760         if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
23761           __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
23762           if (likely(__pyx_t_3)) {
23763             PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
23764             __Pyx_INCREF(__pyx_t_3);
23765             __Pyx_INCREF(function);
23766             __Pyx_DECREF_SET(__pyx_t_1, function);
23767           }
23768         }
23769         __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
23770         __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
23771         if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 699, __pyx_L1_error)
23772         __Pyx_GOTREF(__pyx_t_5);
23773         __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23774         __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23775         goto __pyx_L6;
23776       }
23777       __pyx_L5_error:;
23778       /*exception exit:*/{
23779         __Pyx_PyThreadState_declare
23780         __Pyx_PyThreadState_assign
23781         __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0;
23782         __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
23783         __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
23784         __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
23785         __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
23786         if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14);
23787         if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11) < 0)) __Pyx_ErrFetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11);
23788         __Pyx_XGOTREF(__pyx_t_9);
23789         __Pyx_XGOTREF(__pyx_t_10);
23790         __Pyx_XGOTREF(__pyx_t_11);
23791         __Pyx_XGOTREF(__pyx_t_12);
23792         __Pyx_XGOTREF(__pyx_t_13);
23793         __Pyx_XGOTREF(__pyx_t_14);
23794         __pyx_t_6 = __pyx_lineno; __pyx_t_7 = __pyx_clineno; __pyx_t_8 = __pyx_filename;
23795         {
23796           __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_fp, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 699, __pyx_L8_error)
23797           __Pyx_GOTREF(__pyx_t_1);
23798           __pyx_t_3 = NULL;
23799           if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
23800             __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
23801             if (likely(__pyx_t_3)) {
23802               PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
23803               __Pyx_INCREF(__pyx_t_3);
23804               __Pyx_INCREF(function);
23805               __Pyx_DECREF_SET(__pyx_t_1, function);
23806             }
23807           }
23808           __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
23809           __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
23810           if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 699, __pyx_L8_error)
23811           __Pyx_GOTREF(__pyx_t_5);
23812           __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23813           __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23814         }
23815         if (PY_MAJOR_VERSION >= 3) {
23816           __Pyx_XGIVEREF(__pyx_t_12);
23817           __Pyx_XGIVEREF(__pyx_t_13);
23818           __Pyx_XGIVEREF(__pyx_t_14);
23819           __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
23820         }
23821         __Pyx_XGIVEREF(__pyx_t_9);
23822         __Pyx_XGIVEREF(__pyx_t_10);
23823         __Pyx_XGIVEREF(__pyx_t_11);
23824         __Pyx_ErrRestore(__pyx_t_9, __pyx_t_10, __pyx_t_11);
23825         __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0;
23826         __pyx_lineno = __pyx_t_6; __pyx_clineno = __pyx_t_7; __pyx_filename = __pyx_t_8;
23827         goto __pyx_L1_error;
23828         __pyx_L8_error:;
23829         if (PY_MAJOR_VERSION >= 3) {
23830           __Pyx_XGIVEREF(__pyx_t_12);
23831           __Pyx_XGIVEREF(__pyx_t_13);
23832           __Pyx_XGIVEREF(__pyx_t_14);
23833           __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
23834         }
23835         __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
23836         __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
23837         __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
23838         __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0;
23839         goto __pyx_L1_error;
23840       }
23841       __pyx_L6:;
23842     }
23843 
23844     /* "Cython/Compiler/FlowControl.py":693
23845  *
23846  *         dot_output = self.current_directives['control_flow.dot_output']
23847  *         if dot_output:             # <<<<<<<<<<<<<<
23848  *             annotate_defs = self.current_directives['control_flow.dot_annotate_defs']
23849  *             fp = open(dot_output, 'wt')
23850  */
23851   }
23852 
23853   /* "Cython/Compiler/FlowControl.py":700
23854  *             finally:
23855  *                 fp.close()
23856  *         return node             # <<<<<<<<<<<<<<
23857  *
23858  *     def visit_FuncDefNode(self, node):
23859  */
23860   __Pyx_XDECREF(__pyx_r);
23861   __Pyx_INCREF(__pyx_v_node);
23862   __pyx_r = __pyx_v_node;
23863   goto __pyx_L0;
23864 
23865   /* "Cython/Compiler/FlowControl.py":676
23866  * class ControlFlowAnalysis(CythonTransform):
23867  *
23868  *     def visit_ModuleNode(self, node):             # <<<<<<<<<<<<<<
23869  *         self.gv_ctx = GVContext()
23870  *         self.constant_folder = ConstantFolding()
23871  */
23872 
23873   /* function exit code */
23874   __pyx_L1_error:;
23875   __Pyx_XDECREF(__pyx_t_1);
23876   __Pyx_XDECREF(__pyx_t_2);
23877   __Pyx_XDECREF(__pyx_t_3);
23878   __Pyx_XDECREF(__pyx_t_5);
23879   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_ModuleNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
23880   __pyx_r = NULL;
23881   __pyx_L0:;
23882   __Pyx_XDECREF(__pyx_v_dot_output);
23883   __Pyx_XDECREF(__pyx_v_annotate_defs);
23884   __Pyx_XDECREF(__pyx_v_fp);
23885   __Pyx_XGIVEREF(__pyx_r);
23886   __Pyx_RefNannyFinishContext();
23887   return __pyx_r;
23888 }
23889 
23890 /* "Cython/Compiler/FlowControl.py":702
23891  *         return node
23892  *
23893  *     def visit_FuncDefNode(self, node):             # <<<<<<<<<<<<<<
23894  *         for arg in node.args:
23895  *             if arg.default:
23896  */
23897 
23898 /* Python wrapper */
23899 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_3visit_FuncDefNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
23900 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_3visit_FuncDefNode = {"visit_FuncDefNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_3visit_FuncDefNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_3visit_FuncDefNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)23901 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_3visit_FuncDefNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
23902   PyObject *__pyx_r = 0;
23903   __Pyx_RefNannyDeclarations
23904   __Pyx_RefNannySetupContext("visit_FuncDefNode (wrapper)", 0);
23905   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_2visit_FuncDefNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
23906 
23907   /* function exit code */
23908   __Pyx_RefNannyFinishContext();
23909   return __pyx_r;
23910 }
23911 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_2visit_FuncDefNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)23912 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_2visit_FuncDefNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
23913   PyObject *__pyx_v_arg = NULL;
23914   PyObject *__pyx_v_entry = NULL;
23915   PyObject *__pyx_r = NULL;
23916   __Pyx_RefNannyDeclarations
23917   PyObject *__pyx_t_1 = NULL;
23918   PyObject *__pyx_t_2 = NULL;
23919   Py_ssize_t __pyx_t_3;
23920   PyObject *(*__pyx_t_4)(PyObject *);
23921   int __pyx_t_5;
23922   struct __pyx_opt_args_6Cython_8Compiler_7Visitor_16VisitorTransform_visitchildren __pyx_t_6;
23923   int __pyx_t_7;
23924   PyObject *__pyx_t_8 = NULL;
23925   PyObject *__pyx_t_9 = NULL;
23926   PyObject *__pyx_t_10 = NULL;
23927   PyObject *__pyx_t_11 = NULL;
23928   int __pyx_t_12;
23929   PyObject *__pyx_t_13 = NULL;
23930   int __pyx_lineno = 0;
23931   const char *__pyx_filename = NULL;
23932   int __pyx_clineno = 0;
23933   __Pyx_RefNannySetupContext("visit_FuncDefNode", 0);
23934 
23935   /* "Cython/Compiler/FlowControl.py":703
23936  *
23937  *     def visit_FuncDefNode(self, node):
23938  *         for arg in node.args:             # <<<<<<<<<<<<<<
23939  *             if arg.default:
23940  *                 self.visitchildren(arg)
23941  */
23942   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 703, __pyx_L1_error)
23943   __Pyx_GOTREF(__pyx_t_1);
23944   if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
23945     __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
23946     __pyx_t_4 = NULL;
23947   } else {
23948     __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 703, __pyx_L1_error)
23949     __Pyx_GOTREF(__pyx_t_2);
23950     __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 703, __pyx_L1_error)
23951   }
23952   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23953   for (;;) {
23954     if (likely(!__pyx_t_4)) {
23955       if (likely(PyList_CheckExact(__pyx_t_2))) {
23956         if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
23957         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
23958         __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 703, __pyx_L1_error)
23959         #else
23960         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 703, __pyx_L1_error)
23961         __Pyx_GOTREF(__pyx_t_1);
23962         #endif
23963       } else {
23964         if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
23965         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
23966         __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 703, __pyx_L1_error)
23967         #else
23968         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 703, __pyx_L1_error)
23969         __Pyx_GOTREF(__pyx_t_1);
23970         #endif
23971       }
23972     } else {
23973       __pyx_t_1 = __pyx_t_4(__pyx_t_2);
23974       if (unlikely(!__pyx_t_1)) {
23975         PyObject* exc_type = PyErr_Occurred();
23976         if (exc_type) {
23977           if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
23978           else __PYX_ERR(0, 703, __pyx_L1_error)
23979         }
23980         break;
23981       }
23982       __Pyx_GOTREF(__pyx_t_1);
23983     }
23984     __Pyx_XDECREF_SET(__pyx_v_arg, __pyx_t_1);
23985     __pyx_t_1 = 0;
23986 
23987     /* "Cython/Compiler/FlowControl.py":704
23988  *     def visit_FuncDefNode(self, node):
23989  *         for arg in node.args:
23990  *             if arg.default:             # <<<<<<<<<<<<<<
23991  *                 self.visitchildren(arg)
23992  *         self.visitchildren(node, ('decorators',))
23993  */
23994     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_default); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 704, __pyx_L1_error)
23995     __Pyx_GOTREF(__pyx_t_1);
23996     __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 704, __pyx_L1_error)
23997     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23998     if (__pyx_t_5) {
23999 
24000       /* "Cython/Compiler/FlowControl.py":705
24001  *         for arg in node.args:
24002  *             if arg.default:
24003  *                 self.visitchildren(arg)             # <<<<<<<<<<<<<<
24004  *         self.visitchildren(node, ('decorators',))
24005  *         self.env_stack.append(self.env)
24006  */
24007       __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.visitchildren(((struct __pyx_obj_6Cython_8Compiler_7Visitor_VisitorTransform *)__pyx_v_self), __pyx_v_arg, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 705, __pyx_L1_error)
24008       __Pyx_GOTREF(__pyx_t_1);
24009       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24010 
24011       /* "Cython/Compiler/FlowControl.py":704
24012  *     def visit_FuncDefNode(self, node):
24013  *         for arg in node.args:
24014  *             if arg.default:             # <<<<<<<<<<<<<<
24015  *                 self.visitchildren(arg)
24016  *         self.visitchildren(node, ('decorators',))
24017  */
24018     }
24019 
24020     /* "Cython/Compiler/FlowControl.py":703
24021  *
24022  *     def visit_FuncDefNode(self, node):
24023  *         for arg in node.args:             # <<<<<<<<<<<<<<
24024  *             if arg.default:
24025  *                 self.visitchildren(arg)
24026  */
24027   }
24028   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
24029 
24030   /* "Cython/Compiler/FlowControl.py":706
24031  *             if arg.default:
24032  *                 self.visitchildren(arg)
24033  *         self.visitchildren(node, ('decorators',))             # <<<<<<<<<<<<<<
24034  *         self.env_stack.append(self.env)
24035  *         self.env = node.local_scope
24036  */
24037   __pyx_t_6.__pyx_n = 1;
24038   __pyx_t_6.attrs = __pyx_tuple__11;
24039   __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.visitchildren(((struct __pyx_obj_6Cython_8Compiler_7Visitor_VisitorTransform *)__pyx_v_self), __pyx_v_node, 0, &__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 706, __pyx_L1_error)
24040   __Pyx_GOTREF(__pyx_t_2);
24041   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
24042 
24043   /* "Cython/Compiler/FlowControl.py":707
24044  *                 self.visitchildren(arg)
24045  *         self.visitchildren(node, ('decorators',))
24046  *         self.env_stack.append(self.env)             # <<<<<<<<<<<<<<
24047  *         self.env = node.local_scope
24048  *         self.stack.append(self.flow)
24049  */
24050   if (unlikely(__pyx_v_self->env_stack == Py_None)) {
24051     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
24052     __PYX_ERR(0, 707, __pyx_L1_error)
24053   }
24054   __pyx_t_2 = __pyx_v_self->env;
24055   __Pyx_INCREF(__pyx_t_2);
24056   __pyx_t_7 = __Pyx_PyList_Append(__pyx_v_self->env_stack, __pyx_t_2); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 707, __pyx_L1_error)
24057   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
24058 
24059   /* "Cython/Compiler/FlowControl.py":708
24060  *         self.visitchildren(node, ('decorators',))
24061  *         self.env_stack.append(self.env)
24062  *         self.env = node.local_scope             # <<<<<<<<<<<<<<
24063  *         self.stack.append(self.flow)
24064  *         self.flow = ControlFlow()
24065  */
24066   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_local_scope); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 708, __pyx_L1_error)
24067   __Pyx_GOTREF(__pyx_t_2);
24068   __Pyx_GIVEREF(__pyx_t_2);
24069   __Pyx_GOTREF(__pyx_v_self->env);
24070   __Pyx_DECREF(__pyx_v_self->env);
24071   __pyx_v_self->env = __pyx_t_2;
24072   __pyx_t_2 = 0;
24073 
24074   /* "Cython/Compiler/FlowControl.py":709
24075  *         self.env_stack.append(self.env)
24076  *         self.env = node.local_scope
24077  *         self.stack.append(self.flow)             # <<<<<<<<<<<<<<
24078  *         self.flow = ControlFlow()
24079  *
24080  */
24081   if (unlikely(__pyx_v_self->stack == Py_None)) {
24082     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
24083     __PYX_ERR(0, 709, __pyx_L1_error)
24084   }
24085   __pyx_t_2 = ((PyObject *)__pyx_v_self->flow);
24086   __Pyx_INCREF(__pyx_t_2);
24087   __pyx_t_7 = __Pyx_PyList_Append(__pyx_v_self->stack, __pyx_t_2); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 709, __pyx_L1_error)
24088   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
24089 
24090   /* "Cython/Compiler/FlowControl.py":710
24091  *         self.env = node.local_scope
24092  *         self.stack.append(self.flow)
24093  *         self.flow = ControlFlow()             # <<<<<<<<<<<<<<
24094  *
24095  *         # Collect all entries
24096  */
24097   __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 710, __pyx_L1_error)
24098   __Pyx_GOTREF(__pyx_t_2);
24099   __Pyx_GIVEREF(__pyx_t_2);
24100   __Pyx_GOTREF(__pyx_v_self->flow);
24101   __Pyx_DECREF(((PyObject *)__pyx_v_self->flow));
24102   __pyx_v_self->flow = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_t_2);
24103   __pyx_t_2 = 0;
24104 
24105   /* "Cython/Compiler/FlowControl.py":713
24106  *
24107  *         # Collect all entries
24108  *         for entry in node.local_scope.entries.values():             # <<<<<<<<<<<<<<
24109  *             if self.flow.is_tracked(entry):
24110  *                 self.flow.entries.add(entry)
24111  */
24112   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_local_scope); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 713, __pyx_L1_error)
24113   __Pyx_GOTREF(__pyx_t_1);
24114   __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_entries); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 713, __pyx_L1_error)
24115   __Pyx_GOTREF(__pyx_t_8);
24116   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24117   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_values); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 713, __pyx_L1_error)
24118   __Pyx_GOTREF(__pyx_t_1);
24119   __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
24120   __pyx_t_8 = NULL;
24121   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
24122     __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1);
24123     if (likely(__pyx_t_8)) {
24124       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
24125       __Pyx_INCREF(__pyx_t_8);
24126       __Pyx_INCREF(function);
24127       __Pyx_DECREF_SET(__pyx_t_1, function);
24128     }
24129   }
24130   __pyx_t_2 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
24131   __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
24132   if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 713, __pyx_L1_error)
24133   __Pyx_GOTREF(__pyx_t_2);
24134   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24135   if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
24136     __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0;
24137     __pyx_t_4 = NULL;
24138   } else {
24139     __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 713, __pyx_L1_error)
24140     __Pyx_GOTREF(__pyx_t_1);
24141     __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 713, __pyx_L1_error)
24142   }
24143   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
24144   for (;;) {
24145     if (likely(!__pyx_t_4)) {
24146       if (likely(PyList_CheckExact(__pyx_t_1))) {
24147         if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break;
24148         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
24149         __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 713, __pyx_L1_error)
24150         #else
24151         __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 713, __pyx_L1_error)
24152         __Pyx_GOTREF(__pyx_t_2);
24153         #endif
24154       } else {
24155         if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
24156         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
24157         __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 713, __pyx_L1_error)
24158         #else
24159         __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 713, __pyx_L1_error)
24160         __Pyx_GOTREF(__pyx_t_2);
24161         #endif
24162       }
24163     } else {
24164       __pyx_t_2 = __pyx_t_4(__pyx_t_1);
24165       if (unlikely(!__pyx_t_2)) {
24166         PyObject* exc_type = PyErr_Occurred();
24167         if (exc_type) {
24168           if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
24169           else __PYX_ERR(0, 713, __pyx_L1_error)
24170         }
24171         break;
24172       }
24173       __Pyx_GOTREF(__pyx_t_2);
24174     }
24175     __Pyx_XDECREF_SET(__pyx_v_entry, __pyx_t_2);
24176     __pyx_t_2 = 0;
24177 
24178     /* "Cython/Compiler/FlowControl.py":714
24179  *         # Collect all entries
24180  *         for entry in node.local_scope.entries.values():
24181  *             if self.flow.is_tracked(entry):             # <<<<<<<<<<<<<<
24182  *                 self.flow.entries.add(entry)
24183  *
24184  */
24185     __pyx_t_5 = (__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_is_tracked(__pyx_v_self->flow, __pyx_v_entry, 0) != 0);
24186     if (__pyx_t_5) {
24187 
24188       /* "Cython/Compiler/FlowControl.py":715
24189  *         for entry in node.local_scope.entries.values():
24190  *             if self.flow.is_tracked(entry):
24191  *                 self.flow.entries.add(entry)             # <<<<<<<<<<<<<<
24192  *
24193  *         self.mark_position(node)
24194  */
24195       if (unlikely(__pyx_v_self->flow->entries == Py_None)) {
24196         PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "add");
24197         __PYX_ERR(0, 715, __pyx_L1_error)
24198       }
24199       __pyx_t_7 = PySet_Add(__pyx_v_self->flow->entries, __pyx_v_entry); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 715, __pyx_L1_error)
24200 
24201       /* "Cython/Compiler/FlowControl.py":714
24202  *         # Collect all entries
24203  *         for entry in node.local_scope.entries.values():
24204  *             if self.flow.is_tracked(entry):             # <<<<<<<<<<<<<<
24205  *                 self.flow.entries.add(entry)
24206  *
24207  */
24208     }
24209 
24210     /* "Cython/Compiler/FlowControl.py":713
24211  *
24212  *         # Collect all entries
24213  *         for entry in node.local_scope.entries.values():             # <<<<<<<<<<<<<<
24214  *             if self.flow.is_tracked(entry):
24215  *                 self.flow.entries.add(entry)
24216  */
24217   }
24218   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24219 
24220   /* "Cython/Compiler/FlowControl.py":717
24221  *                 self.flow.entries.add(entry)
24222  *
24223  *         self.mark_position(node)             # <<<<<<<<<<<<<<
24224  *         # Function body block
24225  *         self.flow.nextblock()
24226  */
24227   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_position(__pyx_v_self, __pyx_v_node, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 717, __pyx_L1_error)
24228   __Pyx_GOTREF(__pyx_t_1);
24229   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24230 
24231   /* "Cython/Compiler/FlowControl.py":719
24232  *         self.mark_position(node)
24233  *         # Function body block
24234  *         self.flow.nextblock()             # <<<<<<<<<<<<<<
24235  *
24236  *         for arg in node.args:
24237  */
24238   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 719, __pyx_L1_error)
24239   __Pyx_GOTREF(__pyx_t_1);
24240   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24241 
24242   /* "Cython/Compiler/FlowControl.py":721
24243  *         self.flow.nextblock()
24244  *
24245  *         for arg in node.args:             # <<<<<<<<<<<<<<
24246  *             self._visit(arg)
24247  *         if node.star_arg:
24248  */
24249   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 721, __pyx_L1_error)
24250   __Pyx_GOTREF(__pyx_t_1);
24251   if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
24252     __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
24253     __pyx_t_4 = NULL;
24254   } else {
24255     __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 721, __pyx_L1_error)
24256     __Pyx_GOTREF(__pyx_t_2);
24257     __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 721, __pyx_L1_error)
24258   }
24259   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24260   for (;;) {
24261     if (likely(!__pyx_t_4)) {
24262       if (likely(PyList_CheckExact(__pyx_t_2))) {
24263         if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
24264         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
24265         __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 721, __pyx_L1_error)
24266         #else
24267         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 721, __pyx_L1_error)
24268         __Pyx_GOTREF(__pyx_t_1);
24269         #endif
24270       } else {
24271         if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
24272         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
24273         __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 721, __pyx_L1_error)
24274         #else
24275         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 721, __pyx_L1_error)
24276         __Pyx_GOTREF(__pyx_t_1);
24277         #endif
24278       }
24279     } else {
24280       __pyx_t_1 = __pyx_t_4(__pyx_t_2);
24281       if (unlikely(!__pyx_t_1)) {
24282         PyObject* exc_type = PyErr_Occurred();
24283         if (exc_type) {
24284           if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
24285           else __PYX_ERR(0, 721, __pyx_L1_error)
24286         }
24287         break;
24288       }
24289       __Pyx_GOTREF(__pyx_t_1);
24290     }
24291     __Pyx_XDECREF_SET(__pyx_v_arg, __pyx_t_1);
24292     __pyx_t_1 = 0;
24293 
24294     /* "Cython/Compiler/FlowControl.py":722
24295  *
24296  *         for arg in node.args:
24297  *             self._visit(arg)             # <<<<<<<<<<<<<<
24298  *         if node.star_arg:
24299  *             self.flow.mark_argument(node.star_arg,
24300  */
24301     __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_v_arg); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 722, __pyx_L1_error)
24302     __Pyx_GOTREF(__pyx_t_1);
24303     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24304 
24305     /* "Cython/Compiler/FlowControl.py":721
24306  *         self.flow.nextblock()
24307  *
24308  *         for arg in node.args:             # <<<<<<<<<<<<<<
24309  *             self._visit(arg)
24310  *         if node.star_arg:
24311  */
24312   }
24313   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
24314 
24315   /* "Cython/Compiler/FlowControl.py":723
24316  *         for arg in node.args:
24317  *             self._visit(arg)
24318  *         if node.star_arg:             # <<<<<<<<<<<<<<
24319  *             self.flow.mark_argument(node.star_arg,
24320  *                                     TypedExprNode(Builtin.tuple_type,
24321  */
24322   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_star_arg); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 723, __pyx_L1_error)
24323   __Pyx_GOTREF(__pyx_t_2);
24324   __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 723, __pyx_L1_error)
24325   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
24326   if (__pyx_t_5) {
24327 
24328     /* "Cython/Compiler/FlowControl.py":724
24329  *             self._visit(arg)
24330  *         if node.star_arg:
24331  *             self.flow.mark_argument(node.star_arg,             # <<<<<<<<<<<<<<
24332  *                                     TypedExprNode(Builtin.tuple_type,
24333  *                                                   may_be_none=False),
24334  */
24335     __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_star_arg); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 724, __pyx_L1_error)
24336     __Pyx_GOTREF(__pyx_t_2);
24337 
24338     /* "Cython/Compiler/FlowControl.py":725
24339  *         if node.star_arg:
24340  *             self.flow.mark_argument(node.star_arg,
24341  *                                     TypedExprNode(Builtin.tuple_type,             # <<<<<<<<<<<<<<
24342  *                                                   may_be_none=False),
24343  *                                     node.star_arg.entry)
24344  */
24345     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_11FlowControl_Builtin, __pyx_n_s_tuple_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 725, __pyx_L1_error)
24346     __Pyx_GOTREF(__pyx_t_1);
24347     __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 725, __pyx_L1_error)
24348     __Pyx_GOTREF(__pyx_t_8);
24349     __Pyx_GIVEREF(__pyx_t_1);
24350     PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_1);
24351     __pyx_t_1 = 0;
24352 
24353     /* "Cython/Compiler/FlowControl.py":726
24354  *             self.flow.mark_argument(node.star_arg,
24355  *                                     TypedExprNode(Builtin.tuple_type,
24356  *                                                   may_be_none=False),             # <<<<<<<<<<<<<<
24357  *                                     node.star_arg.entry)
24358  *         if node.starstar_arg:
24359  */
24360     __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 726, __pyx_L1_error)
24361     __Pyx_GOTREF(__pyx_t_1);
24362     if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_may_be_none, Py_False) < 0) __PYX_ERR(0, 726, __pyx_L1_error)
24363 
24364     /* "Cython/Compiler/FlowControl.py":725
24365  *         if node.star_arg:
24366  *             self.flow.mark_argument(node.star_arg,
24367  *                                     TypedExprNode(Builtin.tuple_type,             # <<<<<<<<<<<<<<
24368  *                                                   may_be_none=False),
24369  *                                     node.star_arg.entry)
24370  */
24371     __pyx_t_9 = __Pyx_PyObject_Call(__pyx_v_6Cython_8Compiler_11FlowControl_TypedExprNode, __pyx_t_8, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 725, __pyx_L1_error)
24372     __Pyx_GOTREF(__pyx_t_9);
24373     __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
24374     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24375 
24376     /* "Cython/Compiler/FlowControl.py":727
24377  *                                     TypedExprNode(Builtin.tuple_type,
24378  *                                                   may_be_none=False),
24379  *                                     node.star_arg.entry)             # <<<<<<<<<<<<<<
24380  *         if node.starstar_arg:
24381  *             self.flow.mark_argument(node.starstar_arg,
24382  */
24383     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_star_arg); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 727, __pyx_L1_error)
24384     __Pyx_GOTREF(__pyx_t_1);
24385     __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_entry); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 727, __pyx_L1_error)
24386     __Pyx_GOTREF(__pyx_t_8);
24387     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24388 
24389     /* "Cython/Compiler/FlowControl.py":724
24390  *             self._visit(arg)
24391  *         if node.star_arg:
24392  *             self.flow.mark_argument(node.star_arg,             # <<<<<<<<<<<<<<
24393  *                                     TypedExprNode(Builtin.tuple_type,
24394  *                                                   may_be_none=False),
24395  */
24396     __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_argument(__pyx_v_self->flow, __pyx_t_2, __pyx_t_9, __pyx_t_8, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 724, __pyx_L1_error)
24397     __Pyx_GOTREF(__pyx_t_1);
24398     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
24399     __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
24400     __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
24401     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24402 
24403     /* "Cython/Compiler/FlowControl.py":723
24404  *         for arg in node.args:
24405  *             self._visit(arg)
24406  *         if node.star_arg:             # <<<<<<<<<<<<<<
24407  *             self.flow.mark_argument(node.star_arg,
24408  *                                     TypedExprNode(Builtin.tuple_type,
24409  */
24410   }
24411 
24412   /* "Cython/Compiler/FlowControl.py":728
24413  *                                                   may_be_none=False),
24414  *                                     node.star_arg.entry)
24415  *         if node.starstar_arg:             # <<<<<<<<<<<<<<
24416  *             self.flow.mark_argument(node.starstar_arg,
24417  *                                     TypedExprNode(Builtin.dict_type,
24418  */
24419   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_starstar_arg); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 728, __pyx_L1_error)
24420   __Pyx_GOTREF(__pyx_t_1);
24421   __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 728, __pyx_L1_error)
24422   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24423   if (__pyx_t_5) {
24424 
24425     /* "Cython/Compiler/FlowControl.py":729
24426  *                                     node.star_arg.entry)
24427  *         if node.starstar_arg:
24428  *             self.flow.mark_argument(node.starstar_arg,             # <<<<<<<<<<<<<<
24429  *                                     TypedExprNode(Builtin.dict_type,
24430  *                                                   may_be_none=False),
24431  */
24432     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_starstar_arg); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 729, __pyx_L1_error)
24433     __Pyx_GOTREF(__pyx_t_1);
24434 
24435     /* "Cython/Compiler/FlowControl.py":730
24436  *         if node.starstar_arg:
24437  *             self.flow.mark_argument(node.starstar_arg,
24438  *                                     TypedExprNode(Builtin.dict_type,             # <<<<<<<<<<<<<<
24439  *                                                   may_be_none=False),
24440  *                                     node.starstar_arg.entry)
24441  */
24442     __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_11FlowControl_Builtin, __pyx_n_s_dict_type); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 730, __pyx_L1_error)
24443     __Pyx_GOTREF(__pyx_t_8);
24444     __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 730, __pyx_L1_error)
24445     __Pyx_GOTREF(__pyx_t_9);
24446     __Pyx_GIVEREF(__pyx_t_8);
24447     PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8);
24448     __pyx_t_8 = 0;
24449 
24450     /* "Cython/Compiler/FlowControl.py":731
24451  *             self.flow.mark_argument(node.starstar_arg,
24452  *                                     TypedExprNode(Builtin.dict_type,
24453  *                                                   may_be_none=False),             # <<<<<<<<<<<<<<
24454  *                                     node.starstar_arg.entry)
24455  *         self._visit(node.body)
24456  */
24457     __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 731, __pyx_L1_error)
24458     __Pyx_GOTREF(__pyx_t_8);
24459     if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_may_be_none, Py_False) < 0) __PYX_ERR(0, 731, __pyx_L1_error)
24460 
24461     /* "Cython/Compiler/FlowControl.py":730
24462  *         if node.starstar_arg:
24463  *             self.flow.mark_argument(node.starstar_arg,
24464  *                                     TypedExprNode(Builtin.dict_type,             # <<<<<<<<<<<<<<
24465  *                                                   may_be_none=False),
24466  *                                     node.starstar_arg.entry)
24467  */
24468     __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v_6Cython_8Compiler_11FlowControl_TypedExprNode, __pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 730, __pyx_L1_error)
24469     __Pyx_GOTREF(__pyx_t_2);
24470     __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
24471     __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
24472 
24473     /* "Cython/Compiler/FlowControl.py":732
24474  *                                     TypedExprNode(Builtin.dict_type,
24475  *                                                   may_be_none=False),
24476  *                                     node.starstar_arg.entry)             # <<<<<<<<<<<<<<
24477  *         self._visit(node.body)
24478  *         # Workaround for generators
24479  */
24480     __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_starstar_arg); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 732, __pyx_L1_error)
24481     __Pyx_GOTREF(__pyx_t_8);
24482     __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_entry); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 732, __pyx_L1_error)
24483     __Pyx_GOTREF(__pyx_t_9);
24484     __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
24485 
24486     /* "Cython/Compiler/FlowControl.py":729
24487  *                                     node.star_arg.entry)
24488  *         if node.starstar_arg:
24489  *             self.flow.mark_argument(node.starstar_arg,             # <<<<<<<<<<<<<<
24490  *                                     TypedExprNode(Builtin.dict_type,
24491  *                                                   may_be_none=False),
24492  */
24493     __pyx_t_8 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_argument(__pyx_v_self->flow, __pyx_t_1, __pyx_t_2, __pyx_t_9, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 729, __pyx_L1_error)
24494     __Pyx_GOTREF(__pyx_t_8);
24495     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24496     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
24497     __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
24498     __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
24499 
24500     /* "Cython/Compiler/FlowControl.py":728
24501  *                                                   may_be_none=False),
24502  *                                     node.star_arg.entry)
24503  *         if node.starstar_arg:             # <<<<<<<<<<<<<<
24504  *             self.flow.mark_argument(node.starstar_arg,
24505  *                                     TypedExprNode(Builtin.dict_type,
24506  */
24507   }
24508 
24509   /* "Cython/Compiler/FlowControl.py":733
24510  *                                                   may_be_none=False),
24511  *                                     node.starstar_arg.entry)
24512  *         self._visit(node.body)             # <<<<<<<<<<<<<<
24513  *         # Workaround for generators
24514  *         if node.is_generator:
24515  */
24516   __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_body); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 733, __pyx_L1_error)
24517   __Pyx_GOTREF(__pyx_t_8);
24518   __pyx_t_9 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 733, __pyx_L1_error)
24519   __Pyx_GOTREF(__pyx_t_9);
24520   __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
24521   __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
24522 
24523   /* "Cython/Compiler/FlowControl.py":735
24524  *         self._visit(node.body)
24525  *         # Workaround for generators
24526  *         if node.is_generator:             # <<<<<<<<<<<<<<
24527  *             self._visit(node.gbody.body)
24528  *
24529  */
24530   __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_is_generator); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 735, __pyx_L1_error)
24531   __Pyx_GOTREF(__pyx_t_9);
24532   __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 735, __pyx_L1_error)
24533   __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
24534   if (__pyx_t_5) {
24535 
24536     /* "Cython/Compiler/FlowControl.py":736
24537  *         # Workaround for generators
24538  *         if node.is_generator:
24539  *             self._visit(node.gbody.body)             # <<<<<<<<<<<<<<
24540  *
24541  *         # Exit point
24542  */
24543     __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_gbody); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 736, __pyx_L1_error)
24544     __Pyx_GOTREF(__pyx_t_9);
24545     __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_body); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 736, __pyx_L1_error)
24546     __Pyx_GOTREF(__pyx_t_8);
24547     __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
24548     __pyx_t_9 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 736, __pyx_L1_error)
24549     __Pyx_GOTREF(__pyx_t_9);
24550     __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
24551     __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
24552 
24553     /* "Cython/Compiler/FlowControl.py":735
24554  *         self._visit(node.body)
24555  *         # Workaround for generators
24556  *         if node.is_generator:             # <<<<<<<<<<<<<<
24557  *             self._visit(node.gbody.body)
24558  *
24559  */
24560   }
24561 
24562   /* "Cython/Compiler/FlowControl.py":739
24563  *
24564  *         # Exit point
24565  *         if self.flow.block:             # <<<<<<<<<<<<<<
24566  *             self.flow.block.add_child(self.flow.exit_point)
24567  *
24568  */
24569   __pyx_t_5 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->flow->block)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 739, __pyx_L1_error)
24570   if (__pyx_t_5) {
24571 
24572     /* "Cython/Compiler/FlowControl.py":740
24573  *         # Exit point
24574  *         if self.flow.block:
24575  *             self.flow.block.add_child(self.flow.exit_point)             # <<<<<<<<<<<<<<
24576  *
24577  *         # Cleanup graph
24578  */
24579     __pyx_t_9 = ((PyObject *)__pyx_v_self->flow->exit_point);
24580     __Pyx_INCREF(__pyx_t_9);
24581     __pyx_t_8 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_t_9, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 740, __pyx_L1_error)
24582     __Pyx_GOTREF(__pyx_t_8);
24583     __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
24584     __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
24585 
24586     /* "Cython/Compiler/FlowControl.py":739
24587  *
24588  *         # Exit point
24589  *         if self.flow.block:             # <<<<<<<<<<<<<<
24590  *             self.flow.block.add_child(self.flow.exit_point)
24591  *
24592  */
24593   }
24594 
24595   /* "Cython/Compiler/FlowControl.py":743
24596  *
24597  *         # Cleanup graph
24598  *         self.flow.normalize()             # <<<<<<<<<<<<<<
24599  *         check_definitions(self.flow, self.current_directives)
24600  *         self.flow.blocks.add(self.flow.entry_point)
24601  */
24602   __pyx_t_8 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_normalize(__pyx_v_self->flow, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 743, __pyx_L1_error)
24603   __Pyx_GOTREF(__pyx_t_8);
24604   __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
24605 
24606   /* "Cython/Compiler/FlowControl.py":744
24607  *         # Cleanup graph
24608  *         self.flow.normalize()
24609  *         check_definitions(self.flow, self.current_directives)             # <<<<<<<<<<<<<<
24610  *         self.flow.blocks.add(self.flow.entry_point)
24611  *
24612  */
24613   __pyx_t_8 = ((PyObject *)__pyx_v_self->flow);
24614   __Pyx_INCREF(__pyx_t_8);
24615   if (!(likely(PyDict_CheckExact(__pyx_v_self->__pyx_base.current_directives))||((__pyx_v_self->__pyx_base.current_directives) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_self->__pyx_base.current_directives)->tp_name), 0))) __PYX_ERR(0, 744, __pyx_L1_error)
24616   __pyx_t_9 = __pyx_v_self->__pyx_base.current_directives;
24617   __Pyx_INCREF(__pyx_t_9);
24618   __pyx_t_2 = __pyx_f_6Cython_8Compiler_11FlowControl_check_definitions(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_t_8), ((PyObject*)__pyx_t_9)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 744, __pyx_L1_error)
24619   __Pyx_GOTREF(__pyx_t_2);
24620   __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
24621   __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
24622   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
24623 
24624   /* "Cython/Compiler/FlowControl.py":745
24625  *         self.flow.normalize()
24626  *         check_definitions(self.flow, self.current_directives)
24627  *         self.flow.blocks.add(self.flow.entry_point)             # <<<<<<<<<<<<<<
24628  *
24629  *         self.gv_ctx.add(GV(node.local_scope.name, self.flow))
24630  */
24631   if (unlikely(__pyx_v_self->flow->blocks == Py_None)) {
24632     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "add");
24633     __PYX_ERR(0, 745, __pyx_L1_error)
24634   }
24635   __pyx_t_2 = ((PyObject *)__pyx_v_self->flow->entry_point);
24636   __Pyx_INCREF(__pyx_t_2);
24637   __pyx_t_7 = PySet_Add(__pyx_v_self->flow->blocks, __pyx_t_2); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 745, __pyx_L1_error)
24638   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
24639 
24640   /* "Cython/Compiler/FlowControl.py":747
24641  *         self.flow.blocks.add(self.flow.entry_point)
24642  *
24643  *         self.gv_ctx.add(GV(node.local_scope.name, self.flow))             # <<<<<<<<<<<<<<
24644  *
24645  *         self.flow = self.stack.pop()
24646  */
24647   __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->gv_ctx, __pyx_n_s_add); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 747, __pyx_L1_error)
24648   __Pyx_GOTREF(__pyx_t_9);
24649   __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_GV); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 747, __pyx_L1_error)
24650   __Pyx_GOTREF(__pyx_t_1);
24651   __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_local_scope); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 747, __pyx_L1_error)
24652   __Pyx_GOTREF(__pyx_t_10);
24653   __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_name_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 747, __pyx_L1_error)
24654   __Pyx_GOTREF(__pyx_t_11);
24655   __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
24656   __pyx_t_10 = NULL;
24657   __pyx_t_12 = 0;
24658   if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
24659     __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_1);
24660     if (likely(__pyx_t_10)) {
24661       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
24662       __Pyx_INCREF(__pyx_t_10);
24663       __Pyx_INCREF(function);
24664       __Pyx_DECREF_SET(__pyx_t_1, function);
24665       __pyx_t_12 = 1;
24666     }
24667   }
24668   #if CYTHON_FAST_PYCALL
24669   if (PyFunction_Check(__pyx_t_1)) {
24670     PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_t_11, ((PyObject *)__pyx_v_self->flow)};
24671     __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 747, __pyx_L1_error)
24672     __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
24673     __Pyx_GOTREF(__pyx_t_8);
24674     __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
24675   } else
24676   #endif
24677   #if CYTHON_FAST_PYCCALL
24678   if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
24679     PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_t_11, ((PyObject *)__pyx_v_self->flow)};
24680     __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 747, __pyx_L1_error)
24681     __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
24682     __Pyx_GOTREF(__pyx_t_8);
24683     __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
24684   } else
24685   #endif
24686   {
24687     __pyx_t_13 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 747, __pyx_L1_error)
24688     __Pyx_GOTREF(__pyx_t_13);
24689     if (__pyx_t_10) {
24690       __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_10); __pyx_t_10 = NULL;
24691     }
24692     __Pyx_GIVEREF(__pyx_t_11);
24693     PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_12, __pyx_t_11);
24694     __Pyx_INCREF(((PyObject *)__pyx_v_self->flow));
24695     __Pyx_GIVEREF(((PyObject *)__pyx_v_self->flow));
24696     PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_12, ((PyObject *)__pyx_v_self->flow));
24697     __pyx_t_11 = 0;
24698     __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_13, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 747, __pyx_L1_error)
24699     __Pyx_GOTREF(__pyx_t_8);
24700     __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
24701   }
24702   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24703   __pyx_t_1 = NULL;
24704   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
24705     __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_9);
24706     if (likely(__pyx_t_1)) {
24707       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
24708       __Pyx_INCREF(__pyx_t_1);
24709       __Pyx_INCREF(function);
24710       __Pyx_DECREF_SET(__pyx_t_9, function);
24711     }
24712   }
24713   __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_1, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8);
24714   __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
24715   __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
24716   if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 747, __pyx_L1_error)
24717   __Pyx_GOTREF(__pyx_t_2);
24718   __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
24719   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
24720 
24721   /* "Cython/Compiler/FlowControl.py":749
24722  *         self.gv_ctx.add(GV(node.local_scope.name, self.flow))
24723  *
24724  *         self.flow = self.stack.pop()             # <<<<<<<<<<<<<<
24725  *         self.env = self.env_stack.pop()
24726  *         return node
24727  */
24728   if (unlikely(__pyx_v_self->stack == Py_None)) {
24729     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "pop");
24730     __PYX_ERR(0, 749, __pyx_L1_error)
24731   }
24732   __pyx_t_2 = __Pyx_PyList_Pop(__pyx_v_self->stack); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 749, __pyx_L1_error)
24733   __Pyx_GOTREF(__pyx_t_2);
24734   if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow))))) __PYX_ERR(0, 749, __pyx_L1_error)
24735   __Pyx_GIVEREF(__pyx_t_2);
24736   __Pyx_GOTREF(__pyx_v_self->flow);
24737   __Pyx_DECREF(((PyObject *)__pyx_v_self->flow));
24738   __pyx_v_self->flow = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_t_2);
24739   __pyx_t_2 = 0;
24740 
24741   /* "Cython/Compiler/FlowControl.py":750
24742  *
24743  *         self.flow = self.stack.pop()
24744  *         self.env = self.env_stack.pop()             # <<<<<<<<<<<<<<
24745  *         return node
24746  *
24747  */
24748   if (unlikely(__pyx_v_self->env_stack == Py_None)) {
24749     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "pop");
24750     __PYX_ERR(0, 750, __pyx_L1_error)
24751   }
24752   __pyx_t_2 = __Pyx_PyList_Pop(__pyx_v_self->env_stack); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 750, __pyx_L1_error)
24753   __Pyx_GOTREF(__pyx_t_2);
24754   __Pyx_GIVEREF(__pyx_t_2);
24755   __Pyx_GOTREF(__pyx_v_self->env);
24756   __Pyx_DECREF(__pyx_v_self->env);
24757   __pyx_v_self->env = __pyx_t_2;
24758   __pyx_t_2 = 0;
24759 
24760   /* "Cython/Compiler/FlowControl.py":751
24761  *         self.flow = self.stack.pop()
24762  *         self.env = self.env_stack.pop()
24763  *         return node             # <<<<<<<<<<<<<<
24764  *
24765  *     def visit_DefNode(self, node):
24766  */
24767   __Pyx_XDECREF(__pyx_r);
24768   __Pyx_INCREF(__pyx_v_node);
24769   __pyx_r = __pyx_v_node;
24770   goto __pyx_L0;
24771 
24772   /* "Cython/Compiler/FlowControl.py":702
24773  *         return node
24774  *
24775  *     def visit_FuncDefNode(self, node):             # <<<<<<<<<<<<<<
24776  *         for arg in node.args:
24777  *             if arg.default:
24778  */
24779 
24780   /* function exit code */
24781   __pyx_L1_error:;
24782   __Pyx_XDECREF(__pyx_t_1);
24783   __Pyx_XDECREF(__pyx_t_2);
24784   __Pyx_XDECREF(__pyx_t_8);
24785   __Pyx_XDECREF(__pyx_t_9);
24786   __Pyx_XDECREF(__pyx_t_10);
24787   __Pyx_XDECREF(__pyx_t_11);
24788   __Pyx_XDECREF(__pyx_t_13);
24789   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_FuncDefNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
24790   __pyx_r = NULL;
24791   __pyx_L0:;
24792   __Pyx_XDECREF(__pyx_v_arg);
24793   __Pyx_XDECREF(__pyx_v_entry);
24794   __Pyx_XGIVEREF(__pyx_r);
24795   __Pyx_RefNannyFinishContext();
24796   return __pyx_r;
24797 }
24798 
24799 /* "Cython/Compiler/FlowControl.py":753
24800  *         return node
24801  *
24802  *     def visit_DefNode(self, node):             # <<<<<<<<<<<<<<
24803  *         node.used = True
24804  *         return self.visit_FuncDefNode(node)
24805  */
24806 
24807 /* Python wrapper */
24808 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_5visit_DefNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
24809 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_5visit_DefNode = {"visit_DefNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_5visit_DefNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_5visit_DefNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)24810 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_5visit_DefNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
24811   PyObject *__pyx_r = 0;
24812   __Pyx_RefNannyDeclarations
24813   __Pyx_RefNannySetupContext("visit_DefNode (wrapper)", 0);
24814   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_4visit_DefNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
24815 
24816   /* function exit code */
24817   __Pyx_RefNannyFinishContext();
24818   return __pyx_r;
24819 }
24820 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_4visit_DefNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)24821 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_4visit_DefNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
24822   PyObject *__pyx_r = NULL;
24823   __Pyx_RefNannyDeclarations
24824   PyObject *__pyx_t_1 = NULL;
24825   PyObject *__pyx_t_2 = NULL;
24826   PyObject *__pyx_t_3 = NULL;
24827   int __pyx_lineno = 0;
24828   const char *__pyx_filename = NULL;
24829   int __pyx_clineno = 0;
24830   __Pyx_RefNannySetupContext("visit_DefNode", 0);
24831 
24832   /* "Cython/Compiler/FlowControl.py":754
24833  *
24834  *     def visit_DefNode(self, node):
24835  *         node.used = True             # <<<<<<<<<<<<<<
24836  *         return self.visit_FuncDefNode(node)
24837  *
24838  */
24839   if (__Pyx_PyObject_SetAttrStr(__pyx_v_node, __pyx_n_s_used, Py_True) < 0) __PYX_ERR(0, 754, __pyx_L1_error)
24840 
24841   /* "Cython/Compiler/FlowControl.py":755
24842  *     def visit_DefNode(self, node):
24843  *         node.used = True
24844  *         return self.visit_FuncDefNode(node)             # <<<<<<<<<<<<<<
24845  *
24846  *     def visit_GeneratorBodyDefNode(self, node):
24847  */
24848   __Pyx_XDECREF(__pyx_r);
24849   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_visit_FuncDefNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 755, __pyx_L1_error)
24850   __Pyx_GOTREF(__pyx_t_2);
24851   __pyx_t_3 = NULL;
24852   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
24853     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
24854     if (likely(__pyx_t_3)) {
24855       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
24856       __Pyx_INCREF(__pyx_t_3);
24857       __Pyx_INCREF(function);
24858       __Pyx_DECREF_SET(__pyx_t_2, function);
24859     }
24860   }
24861   __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_node) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_node);
24862   __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
24863   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 755, __pyx_L1_error)
24864   __Pyx_GOTREF(__pyx_t_1);
24865   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
24866   __pyx_r = __pyx_t_1;
24867   __pyx_t_1 = 0;
24868   goto __pyx_L0;
24869 
24870   /* "Cython/Compiler/FlowControl.py":753
24871  *         return node
24872  *
24873  *     def visit_DefNode(self, node):             # <<<<<<<<<<<<<<
24874  *         node.used = True
24875  *         return self.visit_FuncDefNode(node)
24876  */
24877 
24878   /* function exit code */
24879   __pyx_L1_error:;
24880   __Pyx_XDECREF(__pyx_t_1);
24881   __Pyx_XDECREF(__pyx_t_2);
24882   __Pyx_XDECREF(__pyx_t_3);
24883   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_DefNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
24884   __pyx_r = NULL;
24885   __pyx_L0:;
24886   __Pyx_XGIVEREF(__pyx_r);
24887   __Pyx_RefNannyFinishContext();
24888   return __pyx_r;
24889 }
24890 
24891 /* "Cython/Compiler/FlowControl.py":757
24892  *         return self.visit_FuncDefNode(node)
24893  *
24894  *     def visit_GeneratorBodyDefNode(self, node):             # <<<<<<<<<<<<<<
24895  *         return node
24896  *
24897  */
24898 
24899 /* Python wrapper */
24900 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_7visit_GeneratorBodyDefNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
24901 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_7visit_GeneratorBodyDefNode = {"visit_GeneratorBodyDefNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_7visit_GeneratorBodyDefNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_7visit_GeneratorBodyDefNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)24902 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_7visit_GeneratorBodyDefNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
24903   PyObject *__pyx_r = 0;
24904   __Pyx_RefNannyDeclarations
24905   __Pyx_RefNannySetupContext("visit_GeneratorBodyDefNode (wrapper)", 0);
24906   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_6visit_GeneratorBodyDefNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
24907 
24908   /* function exit code */
24909   __Pyx_RefNannyFinishContext();
24910   return __pyx_r;
24911 }
24912 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_6visit_GeneratorBodyDefNode(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)24913 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_6visit_GeneratorBodyDefNode(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
24914   PyObject *__pyx_r = NULL;
24915   __Pyx_RefNannyDeclarations
24916   __Pyx_RefNannySetupContext("visit_GeneratorBodyDefNode", 0);
24917 
24918   /* "Cython/Compiler/FlowControl.py":758
24919  *
24920  *     def visit_GeneratorBodyDefNode(self, node):
24921  *         return node             # <<<<<<<<<<<<<<
24922  *
24923  *     def visit_CTypeDefNode(self, node):
24924  */
24925   __Pyx_XDECREF(__pyx_r);
24926   __Pyx_INCREF(__pyx_v_node);
24927   __pyx_r = __pyx_v_node;
24928   goto __pyx_L0;
24929 
24930   /* "Cython/Compiler/FlowControl.py":757
24931  *         return self.visit_FuncDefNode(node)
24932  *
24933  *     def visit_GeneratorBodyDefNode(self, node):             # <<<<<<<<<<<<<<
24934  *         return node
24935  *
24936  */
24937 
24938   /* function exit code */
24939   __pyx_L0:;
24940   __Pyx_XGIVEREF(__pyx_r);
24941   __Pyx_RefNannyFinishContext();
24942   return __pyx_r;
24943 }
24944 
24945 /* "Cython/Compiler/FlowControl.py":760
24946  *         return node
24947  *
24948  *     def visit_CTypeDefNode(self, node):             # <<<<<<<<<<<<<<
24949  *         return node
24950  *
24951  */
24952 
24953 /* Python wrapper */
24954 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_9visit_CTypeDefNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
24955 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_9visit_CTypeDefNode = {"visit_CTypeDefNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_9visit_CTypeDefNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_9visit_CTypeDefNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)24956 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_9visit_CTypeDefNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
24957   PyObject *__pyx_r = 0;
24958   __Pyx_RefNannyDeclarations
24959   __Pyx_RefNannySetupContext("visit_CTypeDefNode (wrapper)", 0);
24960   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_8visit_CTypeDefNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
24961 
24962   /* function exit code */
24963   __Pyx_RefNannyFinishContext();
24964   return __pyx_r;
24965 }
24966 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_8visit_CTypeDefNode(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)24967 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_8visit_CTypeDefNode(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
24968   PyObject *__pyx_r = NULL;
24969   __Pyx_RefNannyDeclarations
24970   __Pyx_RefNannySetupContext("visit_CTypeDefNode", 0);
24971 
24972   /* "Cython/Compiler/FlowControl.py":761
24973  *
24974  *     def visit_CTypeDefNode(self, node):
24975  *         return node             # <<<<<<<<<<<<<<
24976  *
24977  *     def mark_assignment(self, lhs, rhs=None):
24978  */
24979   __Pyx_XDECREF(__pyx_r);
24980   __Pyx_INCREF(__pyx_v_node);
24981   __pyx_r = __pyx_v_node;
24982   goto __pyx_L0;
24983 
24984   /* "Cython/Compiler/FlowControl.py":760
24985  *         return node
24986  *
24987  *     def visit_CTypeDefNode(self, node):             # <<<<<<<<<<<<<<
24988  *         return node
24989  *
24990  */
24991 
24992   /* function exit code */
24993   __pyx_L0:;
24994   __Pyx_XGIVEREF(__pyx_r);
24995   __Pyx_RefNannyFinishContext();
24996   return __pyx_r;
24997 }
24998 
24999 /* "Cython/Compiler/FlowControl.py":763
25000  *         return node
25001  *
25002  *     def mark_assignment(self, lhs, rhs=None):             # <<<<<<<<<<<<<<
25003  *         if not self.flow.block:
25004  *             return
25005  */
25006 
25007 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_11mark_assignment(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
__pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_lhs,CYTHON_UNUSED int __pyx_skip_dispatch,struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment * __pyx_optional_args)25008 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_lhs, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment *__pyx_optional_args) {
25009   PyObject *__pyx_v_rhs = ((PyObject *)Py_None);
25010   PyObject *__pyx_v_exc_descr = NULL;
25011   PyObject *__pyx_v_entry = NULL;
25012   PyObject *__pyx_v_i = NULL;
25013   PyObject *__pyx_v_arg = NULL;
25014   PyObject *__pyx_v_item_node = NULL;
25015   PyObject *__pyx_r = NULL;
25016   __Pyx_RefNannyDeclarations
25017   int __pyx_t_1;
25018   int __pyx_t_2;
25019   PyObject *__pyx_t_3 = NULL;
25020   PyObject *__pyx_t_4 = NULL;
25021   PyObject *__pyx_t_5 = NULL;
25022   PyObject *__pyx_t_6 = NULL;
25023   Py_ssize_t __pyx_t_7;
25024   PyObject *(*__pyx_t_8)(PyObject *);
25025   int __pyx_t_9;
25026   PyObject *__pyx_t_10 = NULL;
25027   struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment __pyx_t_11;
25028   int __pyx_lineno = 0;
25029   const char *__pyx_filename = NULL;
25030   int __pyx_clineno = 0;
25031   __Pyx_RefNannySetupContext("mark_assignment", 0);
25032   if (__pyx_optional_args) {
25033     if (__pyx_optional_args->__pyx_n > 0) {
25034       __pyx_v_rhs = __pyx_optional_args->rhs;
25035     }
25036   }
25037   __Pyx_INCREF(__pyx_v_rhs);
25038 
25039   /* "Cython/Compiler/FlowControl.py":764
25040  *
25041  *     def mark_assignment(self, lhs, rhs=None):
25042  *         if not self.flow.block:             # <<<<<<<<<<<<<<
25043  *             return
25044  *         if self.flow.exceptions:
25045  */
25046   __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->flow->block)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 764, __pyx_L1_error)
25047   __pyx_t_2 = ((!__pyx_t_1) != 0);
25048   if (__pyx_t_2) {
25049 
25050     /* "Cython/Compiler/FlowControl.py":765
25051  *     def mark_assignment(self, lhs, rhs=None):
25052  *         if not self.flow.block:
25053  *             return             # <<<<<<<<<<<<<<
25054  *         if self.flow.exceptions:
25055  *             exc_descr = self.flow.exceptions[-1]
25056  */
25057     __Pyx_XDECREF(__pyx_r);
25058     __pyx_r = Py_None; __Pyx_INCREF(Py_None);
25059     goto __pyx_L0;
25060 
25061     /* "Cython/Compiler/FlowControl.py":764
25062  *
25063  *     def mark_assignment(self, lhs, rhs=None):
25064  *         if not self.flow.block:             # <<<<<<<<<<<<<<
25065  *             return
25066  *         if self.flow.exceptions:
25067  */
25068   }
25069 
25070   /* "Cython/Compiler/FlowControl.py":766
25071  *         if not self.flow.block:
25072  *             return
25073  *         if self.flow.exceptions:             # <<<<<<<<<<<<<<
25074  *             exc_descr = self.flow.exceptions[-1]
25075  *             self.flow.block.add_child(exc_descr.entry_point)
25076  */
25077   __pyx_t_2 = (__pyx_v_self->flow->exceptions != Py_None)&&(PyList_GET_SIZE(__pyx_v_self->flow->exceptions) != 0);
25078   if (__pyx_t_2) {
25079 
25080     /* "Cython/Compiler/FlowControl.py":767
25081  *             return
25082  *         if self.flow.exceptions:
25083  *             exc_descr = self.flow.exceptions[-1]             # <<<<<<<<<<<<<<
25084  *             self.flow.block.add_child(exc_descr.entry_point)
25085  *             self.flow.nextblock()
25086  */
25087     if (unlikely(__pyx_v_self->flow->exceptions == Py_None)) {
25088       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
25089       __PYX_ERR(0, 767, __pyx_L1_error)
25090     }
25091     __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_self->flow->exceptions, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 767, __pyx_L1_error)
25092     __Pyx_GOTREF(__pyx_t_3);
25093     __pyx_v_exc_descr = __pyx_t_3;
25094     __pyx_t_3 = 0;
25095 
25096     /* "Cython/Compiler/FlowControl.py":768
25097  *         if self.flow.exceptions:
25098  *             exc_descr = self.flow.exceptions[-1]
25099  *             self.flow.block.add_child(exc_descr.entry_point)             # <<<<<<<<<<<<<<
25100  *             self.flow.nextblock()
25101  *
25102  */
25103     __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc_descr, __pyx_n_s_entry_point); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 768, __pyx_L1_error)
25104     __Pyx_GOTREF(__pyx_t_3);
25105     __pyx_t_4 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_t_3, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 768, __pyx_L1_error)
25106     __Pyx_GOTREF(__pyx_t_4);
25107     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
25108     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
25109 
25110     /* "Cython/Compiler/FlowControl.py":769
25111  *             exc_descr = self.flow.exceptions[-1]
25112  *             self.flow.block.add_child(exc_descr.entry_point)
25113  *             self.flow.nextblock()             # <<<<<<<<<<<<<<
25114  *
25115  *         if not rhs:
25116  */
25117     __pyx_t_4 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 769, __pyx_L1_error)
25118     __Pyx_GOTREF(__pyx_t_4);
25119     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
25120 
25121     /* "Cython/Compiler/FlowControl.py":766
25122  *         if not self.flow.block:
25123  *             return
25124  *         if self.flow.exceptions:             # <<<<<<<<<<<<<<
25125  *             exc_descr = self.flow.exceptions[-1]
25126  *             self.flow.block.add_child(exc_descr.entry_point)
25127  */
25128   }
25129 
25130   /* "Cython/Compiler/FlowControl.py":771
25131  *             self.flow.nextblock()
25132  *
25133  *         if not rhs:             # <<<<<<<<<<<<<<
25134  *             rhs = object_expr
25135  *         if lhs.is_name:
25136  */
25137   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_rhs); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 771, __pyx_L1_error)
25138   __pyx_t_1 = ((!__pyx_t_2) != 0);
25139   if (__pyx_t_1) {
25140 
25141     /* "Cython/Compiler/FlowControl.py":772
25142  *
25143  *         if not rhs:
25144  *             rhs = object_expr             # <<<<<<<<<<<<<<
25145  *         if lhs.is_name:
25146  *             if lhs.entry is not None:
25147  */
25148     __Pyx_INCREF(__pyx_v_6Cython_8Compiler_11FlowControl_object_expr);
25149     __Pyx_DECREF_SET(__pyx_v_rhs, __pyx_v_6Cython_8Compiler_11FlowControl_object_expr);
25150 
25151     /* "Cython/Compiler/FlowControl.py":771
25152  *             self.flow.nextblock()
25153  *
25154  *         if not rhs:             # <<<<<<<<<<<<<<
25155  *             rhs = object_expr
25156  *         if lhs.is_name:
25157  */
25158   }
25159 
25160   /* "Cython/Compiler/FlowControl.py":773
25161  *         if not rhs:
25162  *             rhs = object_expr
25163  *         if lhs.is_name:             # <<<<<<<<<<<<<<
25164  *             if lhs.entry is not None:
25165  *                 entry = lhs.entry
25166  */
25167   __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_lhs, __pyx_n_s_is_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 773, __pyx_L1_error)
25168   __Pyx_GOTREF(__pyx_t_4);
25169   __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 773, __pyx_L1_error)
25170   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
25171   if (__pyx_t_1) {
25172 
25173     /* "Cython/Compiler/FlowControl.py":774
25174  *             rhs = object_expr
25175  *         if lhs.is_name:
25176  *             if lhs.entry is not None:             # <<<<<<<<<<<<<<
25177  *                 entry = lhs.entry
25178  *             else:
25179  */
25180     __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_lhs, __pyx_n_s_entry); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 774, __pyx_L1_error)
25181     __Pyx_GOTREF(__pyx_t_4);
25182     __pyx_t_1 = (__pyx_t_4 != Py_None);
25183     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
25184     __pyx_t_2 = (__pyx_t_1 != 0);
25185     if (__pyx_t_2) {
25186 
25187       /* "Cython/Compiler/FlowControl.py":775
25188  *         if lhs.is_name:
25189  *             if lhs.entry is not None:
25190  *                 entry = lhs.entry             # <<<<<<<<<<<<<<
25191  *             else:
25192  *                 entry = self.env.lookup(lhs.name)
25193  */
25194       __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_lhs, __pyx_n_s_entry); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 775, __pyx_L1_error)
25195       __Pyx_GOTREF(__pyx_t_4);
25196       __pyx_v_entry = __pyx_t_4;
25197       __pyx_t_4 = 0;
25198 
25199       /* "Cython/Compiler/FlowControl.py":774
25200  *             rhs = object_expr
25201  *         if lhs.is_name:
25202  *             if lhs.entry is not None:             # <<<<<<<<<<<<<<
25203  *                 entry = lhs.entry
25204  *             else:
25205  */
25206       goto __pyx_L7;
25207     }
25208 
25209     /* "Cython/Compiler/FlowControl.py":777
25210  *                 entry = lhs.entry
25211  *             else:
25212  *                 entry = self.env.lookup(lhs.name)             # <<<<<<<<<<<<<<
25213  *             if entry is None: # TODO: This shouldn't happen...
25214  *                 return
25215  */
25216     /*else*/ {
25217       __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->env, __pyx_n_s_lookup); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 777, __pyx_L1_error)
25218       __Pyx_GOTREF(__pyx_t_3);
25219       __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_lhs, __pyx_n_s_name_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 777, __pyx_L1_error)
25220       __Pyx_GOTREF(__pyx_t_5);
25221       __pyx_t_6 = NULL;
25222       if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
25223         __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
25224         if (likely(__pyx_t_6)) {
25225           PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
25226           __Pyx_INCREF(__pyx_t_6);
25227           __Pyx_INCREF(function);
25228           __Pyx_DECREF_SET(__pyx_t_3, function);
25229         }
25230       }
25231       __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5);
25232       __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
25233       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
25234       if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 777, __pyx_L1_error)
25235       __Pyx_GOTREF(__pyx_t_4);
25236       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
25237       __pyx_v_entry = __pyx_t_4;
25238       __pyx_t_4 = 0;
25239     }
25240     __pyx_L7:;
25241 
25242     /* "Cython/Compiler/FlowControl.py":778
25243  *             else:
25244  *                 entry = self.env.lookup(lhs.name)
25245  *             if entry is None: # TODO: This shouldn't happen...             # <<<<<<<<<<<<<<
25246  *                 return
25247  *             self.flow.mark_assignment(lhs, rhs, entry)
25248  */
25249     __pyx_t_2 = (__pyx_v_entry == Py_None);
25250     __pyx_t_1 = (__pyx_t_2 != 0);
25251     if (__pyx_t_1) {
25252 
25253       /* "Cython/Compiler/FlowControl.py":779
25254  *                 entry = self.env.lookup(lhs.name)
25255  *             if entry is None: # TODO: This shouldn't happen...
25256  *                 return             # <<<<<<<<<<<<<<
25257  *             self.flow.mark_assignment(lhs, rhs, entry)
25258  *         elif lhs.is_sequence_constructor:
25259  */
25260       __Pyx_XDECREF(__pyx_r);
25261       __pyx_r = Py_None; __Pyx_INCREF(Py_None);
25262       goto __pyx_L0;
25263 
25264       /* "Cython/Compiler/FlowControl.py":778
25265  *             else:
25266  *                 entry = self.env.lookup(lhs.name)
25267  *             if entry is None: # TODO: This shouldn't happen...             # <<<<<<<<<<<<<<
25268  *                 return
25269  *             self.flow.mark_assignment(lhs, rhs, entry)
25270  */
25271     }
25272 
25273     /* "Cython/Compiler/FlowControl.py":780
25274  *             if entry is None: # TODO: This shouldn't happen...
25275  *                 return
25276  *             self.flow.mark_assignment(lhs, rhs, entry)             # <<<<<<<<<<<<<<
25277  *         elif lhs.is_sequence_constructor:
25278  *             for i, arg in enumerate(lhs.args):
25279  */
25280     __pyx_t_4 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_assignment(__pyx_v_self->flow, __pyx_v_lhs, __pyx_v_rhs, __pyx_v_entry, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 780, __pyx_L1_error)
25281     __Pyx_GOTREF(__pyx_t_4);
25282     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
25283 
25284     /* "Cython/Compiler/FlowControl.py":773
25285  *         if not rhs:
25286  *             rhs = object_expr
25287  *         if lhs.is_name:             # <<<<<<<<<<<<<<
25288  *             if lhs.entry is not None:
25289  *                 entry = lhs.entry
25290  */
25291     goto __pyx_L6;
25292   }
25293 
25294   /* "Cython/Compiler/FlowControl.py":781
25295  *                 return
25296  *             self.flow.mark_assignment(lhs, rhs, entry)
25297  *         elif lhs.is_sequence_constructor:             # <<<<<<<<<<<<<<
25298  *             for i, arg in enumerate(lhs.args):
25299  *                 if not rhs or arg.is_starred:
25300  */
25301   __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_lhs, __pyx_n_s_is_sequence_constructor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 781, __pyx_L1_error)
25302   __Pyx_GOTREF(__pyx_t_4);
25303   __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 781, __pyx_L1_error)
25304   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
25305   if (__pyx_t_1) {
25306 
25307     /* "Cython/Compiler/FlowControl.py":782
25308  *             self.flow.mark_assignment(lhs, rhs, entry)
25309  *         elif lhs.is_sequence_constructor:
25310  *             for i, arg in enumerate(lhs.args):             # <<<<<<<<<<<<<<
25311  *                 if not rhs or arg.is_starred:
25312  *                     item_node = None
25313  */
25314     __Pyx_INCREF(__pyx_int_0);
25315     __pyx_t_4 = __pyx_int_0;
25316     __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_lhs, __pyx_n_s_args); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 782, __pyx_L1_error)
25317     __Pyx_GOTREF(__pyx_t_3);
25318     if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
25319       __pyx_t_5 = __pyx_t_3; __Pyx_INCREF(__pyx_t_5); __pyx_t_7 = 0;
25320       __pyx_t_8 = NULL;
25321     } else {
25322       __pyx_t_7 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 782, __pyx_L1_error)
25323       __Pyx_GOTREF(__pyx_t_5);
25324       __pyx_t_8 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 782, __pyx_L1_error)
25325     }
25326     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
25327     for (;;) {
25328       if (likely(!__pyx_t_8)) {
25329         if (likely(PyList_CheckExact(__pyx_t_5))) {
25330           if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_5)) break;
25331           #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
25332           __pyx_t_3 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 782, __pyx_L1_error)
25333           #else
25334           __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 782, __pyx_L1_error)
25335           __Pyx_GOTREF(__pyx_t_3);
25336           #endif
25337         } else {
25338           if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
25339           #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
25340           __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 782, __pyx_L1_error)
25341           #else
25342           __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 782, __pyx_L1_error)
25343           __Pyx_GOTREF(__pyx_t_3);
25344           #endif
25345         }
25346       } else {
25347         __pyx_t_3 = __pyx_t_8(__pyx_t_5);
25348         if (unlikely(!__pyx_t_3)) {
25349           PyObject* exc_type = PyErr_Occurred();
25350           if (exc_type) {
25351             if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
25352             else __PYX_ERR(0, 782, __pyx_L1_error)
25353           }
25354           break;
25355         }
25356         __Pyx_GOTREF(__pyx_t_3);
25357       }
25358       __Pyx_XDECREF_SET(__pyx_v_arg, __pyx_t_3);
25359       __pyx_t_3 = 0;
25360       __Pyx_INCREF(__pyx_t_4);
25361       __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_4);
25362       __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 782, __pyx_L1_error)
25363       __Pyx_GOTREF(__pyx_t_3);
25364       __Pyx_DECREF(__pyx_t_4);
25365       __pyx_t_4 = __pyx_t_3;
25366       __pyx_t_3 = 0;
25367 
25368       /* "Cython/Compiler/FlowControl.py":783
25369  *         elif lhs.is_sequence_constructor:
25370  *             for i, arg in enumerate(lhs.args):
25371  *                 if not rhs or arg.is_starred:             # <<<<<<<<<<<<<<
25372  *                     item_node = None
25373  *                 else:
25374  */
25375       __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_rhs); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 783, __pyx_L1_error)
25376       __pyx_t_9 = ((!__pyx_t_2) != 0);
25377       if (!__pyx_t_9) {
25378       } else {
25379         __pyx_t_1 = __pyx_t_9;
25380         goto __pyx_L12_bool_binop_done;
25381       }
25382       __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_is_starred); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 783, __pyx_L1_error)
25383       __Pyx_GOTREF(__pyx_t_3);
25384       __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 783, __pyx_L1_error)
25385       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
25386       __pyx_t_1 = __pyx_t_9;
25387       __pyx_L12_bool_binop_done:;
25388       if (__pyx_t_1) {
25389 
25390         /* "Cython/Compiler/FlowControl.py":784
25391  *             for i, arg in enumerate(lhs.args):
25392  *                 if not rhs or arg.is_starred:
25393  *                     item_node = None             # <<<<<<<<<<<<<<
25394  *                 else:
25395  *                     item_node = rhs.inferable_item_node(i)
25396  */
25397         __Pyx_INCREF(Py_None);
25398         __Pyx_XDECREF_SET(__pyx_v_item_node, Py_None);
25399 
25400         /* "Cython/Compiler/FlowControl.py":783
25401  *         elif lhs.is_sequence_constructor:
25402  *             for i, arg in enumerate(lhs.args):
25403  *                 if not rhs or arg.is_starred:             # <<<<<<<<<<<<<<
25404  *                     item_node = None
25405  *                 else:
25406  */
25407         goto __pyx_L11;
25408       }
25409 
25410       /* "Cython/Compiler/FlowControl.py":786
25411  *                     item_node = None
25412  *                 else:
25413  *                     item_node = rhs.inferable_item_node(i)             # <<<<<<<<<<<<<<
25414  *                 self.mark_assignment(arg, item_node)
25415  *         else:
25416  */
25417       /*else*/ {
25418         __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_rhs, __pyx_n_s_inferable_item_node); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 786, __pyx_L1_error)
25419         __Pyx_GOTREF(__pyx_t_6);
25420         __pyx_t_10 = NULL;
25421         if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
25422           __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_6);
25423           if (likely(__pyx_t_10)) {
25424             PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
25425             __Pyx_INCREF(__pyx_t_10);
25426             __Pyx_INCREF(function);
25427             __Pyx_DECREF_SET(__pyx_t_6, function);
25428           }
25429         }
25430         __pyx_t_3 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_10, __pyx_v_i) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_i);
25431         __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
25432         if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 786, __pyx_L1_error)
25433         __Pyx_GOTREF(__pyx_t_3);
25434         __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
25435         __Pyx_XDECREF_SET(__pyx_v_item_node, __pyx_t_3);
25436         __pyx_t_3 = 0;
25437       }
25438       __pyx_L11:;
25439 
25440       /* "Cython/Compiler/FlowControl.py":787
25441  *                 else:
25442  *                     item_node = rhs.inferable_item_node(i)
25443  *                 self.mark_assignment(arg, item_node)             # <<<<<<<<<<<<<<
25444  *         else:
25445  *             self._visit(lhs)
25446  */
25447       __pyx_t_11.__pyx_n = 1;
25448       __pyx_t_11.rhs = __pyx_v_item_node;
25449       __pyx_t_3 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment(__pyx_v_self, __pyx_v_arg, 0, &__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 787, __pyx_L1_error)
25450       __Pyx_GOTREF(__pyx_t_3);
25451       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
25452 
25453       /* "Cython/Compiler/FlowControl.py":782
25454  *             self.flow.mark_assignment(lhs, rhs, entry)
25455  *         elif lhs.is_sequence_constructor:
25456  *             for i, arg in enumerate(lhs.args):             # <<<<<<<<<<<<<<
25457  *                 if not rhs or arg.is_starred:
25458  *                     item_node = None
25459  */
25460     }
25461     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
25462     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
25463 
25464     /* "Cython/Compiler/FlowControl.py":781
25465  *                 return
25466  *             self.flow.mark_assignment(lhs, rhs, entry)
25467  *         elif lhs.is_sequence_constructor:             # <<<<<<<<<<<<<<
25468  *             for i, arg in enumerate(lhs.args):
25469  *                 if not rhs or arg.is_starred:
25470  */
25471     goto __pyx_L6;
25472   }
25473 
25474   /* "Cython/Compiler/FlowControl.py":789
25475  *                 self.mark_assignment(arg, item_node)
25476  *         else:
25477  *             self._visit(lhs)             # <<<<<<<<<<<<<<
25478  *
25479  *         if self.flow.exceptions:
25480  */
25481   /*else*/ {
25482     __pyx_t_4 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_v_lhs); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 789, __pyx_L1_error)
25483     __Pyx_GOTREF(__pyx_t_4);
25484     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
25485   }
25486   __pyx_L6:;
25487 
25488   /* "Cython/Compiler/FlowControl.py":791
25489  *             self._visit(lhs)
25490  *
25491  *         if self.flow.exceptions:             # <<<<<<<<<<<<<<
25492  *             exc_descr = self.flow.exceptions[-1]
25493  *             self.flow.block.add_child(exc_descr.entry_point)
25494  */
25495   __pyx_t_1 = (__pyx_v_self->flow->exceptions != Py_None)&&(PyList_GET_SIZE(__pyx_v_self->flow->exceptions) != 0);
25496   if (__pyx_t_1) {
25497 
25498     /* "Cython/Compiler/FlowControl.py":792
25499  *
25500  *         if self.flow.exceptions:
25501  *             exc_descr = self.flow.exceptions[-1]             # <<<<<<<<<<<<<<
25502  *             self.flow.block.add_child(exc_descr.entry_point)
25503  *             self.flow.nextblock()
25504  */
25505     if (unlikely(__pyx_v_self->flow->exceptions == Py_None)) {
25506       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
25507       __PYX_ERR(0, 792, __pyx_L1_error)
25508     }
25509     __pyx_t_4 = __Pyx_GetItemInt_List(__pyx_v_self->flow->exceptions, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 792, __pyx_L1_error)
25510     __Pyx_GOTREF(__pyx_t_4);
25511     __Pyx_XDECREF_SET(__pyx_v_exc_descr, __pyx_t_4);
25512     __pyx_t_4 = 0;
25513 
25514     /* "Cython/Compiler/FlowControl.py":793
25515  *         if self.flow.exceptions:
25516  *             exc_descr = self.flow.exceptions[-1]
25517  *             self.flow.block.add_child(exc_descr.entry_point)             # <<<<<<<<<<<<<<
25518  *             self.flow.nextblock()
25519  *
25520  */
25521     __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc_descr, __pyx_n_s_entry_point); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 793, __pyx_L1_error)
25522     __Pyx_GOTREF(__pyx_t_4);
25523     __pyx_t_5 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_t_4, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 793, __pyx_L1_error)
25524     __Pyx_GOTREF(__pyx_t_5);
25525     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
25526     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
25527 
25528     /* "Cython/Compiler/FlowControl.py":794
25529  *             exc_descr = self.flow.exceptions[-1]
25530  *             self.flow.block.add_child(exc_descr.entry_point)
25531  *             self.flow.nextblock()             # <<<<<<<<<<<<<<
25532  *
25533  *     def mark_position(self, node):
25534  */
25535     __pyx_t_5 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 794, __pyx_L1_error)
25536     __Pyx_GOTREF(__pyx_t_5);
25537     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
25538 
25539     /* "Cython/Compiler/FlowControl.py":791
25540  *             self._visit(lhs)
25541  *
25542  *         if self.flow.exceptions:             # <<<<<<<<<<<<<<
25543  *             exc_descr = self.flow.exceptions[-1]
25544  *             self.flow.block.add_child(exc_descr.entry_point)
25545  */
25546   }
25547 
25548   /* "Cython/Compiler/FlowControl.py":763
25549  *         return node
25550  *
25551  *     def mark_assignment(self, lhs, rhs=None):             # <<<<<<<<<<<<<<
25552  *         if not self.flow.block:
25553  *             return
25554  */
25555 
25556   /* function exit code */
25557   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
25558   goto __pyx_L0;
25559   __pyx_L1_error:;
25560   __Pyx_XDECREF(__pyx_t_3);
25561   __Pyx_XDECREF(__pyx_t_4);
25562   __Pyx_XDECREF(__pyx_t_5);
25563   __Pyx_XDECREF(__pyx_t_6);
25564   __Pyx_XDECREF(__pyx_t_10);
25565   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.mark_assignment", __pyx_clineno, __pyx_lineno, __pyx_filename);
25566   __pyx_r = 0;
25567   __pyx_L0:;
25568   __Pyx_XDECREF(__pyx_v_exc_descr);
25569   __Pyx_XDECREF(__pyx_v_entry);
25570   __Pyx_XDECREF(__pyx_v_i);
25571   __Pyx_XDECREF(__pyx_v_arg);
25572   __Pyx_XDECREF(__pyx_v_item_node);
25573   __Pyx_XDECREF(__pyx_v_rhs);
25574   __Pyx_XGIVEREF(__pyx_r);
25575   __Pyx_RefNannyFinishContext();
25576   return __pyx_r;
25577 }
25578 
25579 /* Python wrapper */
25580 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_11mark_assignment(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
25581 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_11mark_assignment = {"mark_assignment", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_11mark_assignment, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_11mark_assignment(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)25582 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_11mark_assignment(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
25583   PyObject *__pyx_v_lhs = 0;
25584   PyObject *__pyx_v_rhs = 0;
25585   int __pyx_lineno = 0;
25586   const char *__pyx_filename = NULL;
25587   int __pyx_clineno = 0;
25588   PyObject *__pyx_r = 0;
25589   __Pyx_RefNannyDeclarations
25590   __Pyx_RefNannySetupContext("mark_assignment (wrapper)", 0);
25591   {
25592     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_lhs,&__pyx_n_s_rhs,0};
25593     PyObject* values[2] = {0,0};
25594     values[1] = ((PyObject *)Py_None);
25595     if (unlikely(__pyx_kwds)) {
25596       Py_ssize_t kw_args;
25597       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
25598       switch (pos_args) {
25599         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
25600         CYTHON_FALLTHROUGH;
25601         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
25602         CYTHON_FALLTHROUGH;
25603         case  0: break;
25604         default: goto __pyx_L5_argtuple_error;
25605       }
25606       kw_args = PyDict_Size(__pyx_kwds);
25607       switch (pos_args) {
25608         case  0:
25609         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lhs)) != 0)) kw_args--;
25610         else goto __pyx_L5_argtuple_error;
25611         CYTHON_FALLTHROUGH;
25612         case  1:
25613         if (kw_args > 0) {
25614           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_rhs);
25615           if (value) { values[1] = value; kw_args--; }
25616         }
25617       }
25618       if (unlikely(kw_args > 0)) {
25619         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "mark_assignment") < 0)) __PYX_ERR(0, 763, __pyx_L3_error)
25620       }
25621     } else {
25622       switch (PyTuple_GET_SIZE(__pyx_args)) {
25623         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
25624         CYTHON_FALLTHROUGH;
25625         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
25626         break;
25627         default: goto __pyx_L5_argtuple_error;
25628       }
25629     }
25630     __pyx_v_lhs = values[0];
25631     __pyx_v_rhs = values[1];
25632   }
25633   goto __pyx_L4_argument_unpacking_done;
25634   __pyx_L5_argtuple_error:;
25635   __Pyx_RaiseArgtupleInvalid("mark_assignment", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 763, __pyx_L3_error)
25636   __pyx_L3_error:;
25637   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.mark_assignment", __pyx_clineno, __pyx_lineno, __pyx_filename);
25638   __Pyx_RefNannyFinishContext();
25639   return NULL;
25640   __pyx_L4_argument_unpacking_done:;
25641   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_10mark_assignment(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), __pyx_v_lhs, __pyx_v_rhs);
25642 
25643   /* function exit code */
25644   __Pyx_RefNannyFinishContext();
25645   return __pyx_r;
25646 }
25647 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_10mark_assignment(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_lhs,PyObject * __pyx_v_rhs)25648 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_10mark_assignment(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs) {
25649   PyObject *__pyx_r = NULL;
25650   __Pyx_RefNannyDeclarations
25651   PyObject *__pyx_t_1 = NULL;
25652   struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment __pyx_t_2;
25653   int __pyx_lineno = 0;
25654   const char *__pyx_filename = NULL;
25655   int __pyx_clineno = 0;
25656   __Pyx_RefNannySetupContext("mark_assignment", 0);
25657   __Pyx_XDECREF(__pyx_r);
25658   __pyx_t_2.__pyx_n = 1;
25659   __pyx_t_2.rhs = __pyx_v_rhs;
25660   __pyx_t_1 = __pyx_vtabptr_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->mark_assignment(__pyx_v_self, __pyx_v_lhs, 1, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 763, __pyx_L1_error)
25661   __Pyx_GOTREF(__pyx_t_1);
25662   __pyx_r = __pyx_t_1;
25663   __pyx_t_1 = 0;
25664   goto __pyx_L0;
25665 
25666   /* function exit code */
25667   __pyx_L1_error:;
25668   __Pyx_XDECREF(__pyx_t_1);
25669   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.mark_assignment", __pyx_clineno, __pyx_lineno, __pyx_filename);
25670   __pyx_r = NULL;
25671   __pyx_L0:;
25672   __Pyx_XGIVEREF(__pyx_r);
25673   __Pyx_RefNannyFinishContext();
25674   return __pyx_r;
25675 }
25676 
25677 /* "Cython/Compiler/FlowControl.py":796
25678  *             self.flow.nextblock()
25679  *
25680  *     def mark_position(self, node):             # <<<<<<<<<<<<<<
25681  *         """Mark position if DOT output is enabled."""
25682  *         if self.current_directives['control_flow.dot_output']:
25683  */
25684 
25685 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_13mark_position(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
__pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_position(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node,CYTHON_UNUSED int __pyx_skip_dispatch)25686 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_position(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node, CYTHON_UNUSED int __pyx_skip_dispatch) {
25687   PyObject *__pyx_r = NULL;
25688   __Pyx_RefNannyDeclarations
25689   PyObject *__pyx_t_1 = NULL;
25690   int __pyx_t_2;
25691   int __pyx_lineno = 0;
25692   const char *__pyx_filename = NULL;
25693   int __pyx_clineno = 0;
25694   __Pyx_RefNannySetupContext("mark_position", 0);
25695 
25696   /* "Cython/Compiler/FlowControl.py":798
25697  *     def mark_position(self, node):
25698  *         """Mark position if DOT output is enabled."""
25699  *         if self.current_directives['control_flow.dot_output']:             # <<<<<<<<<<<<<<
25700  *             self.flow.mark_position(node)
25701  *
25702  */
25703   __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_v_self->__pyx_base.current_directives, __pyx_kp_s_control_flow_dot_output); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 798, __pyx_L1_error)
25704   __Pyx_GOTREF(__pyx_t_1);
25705   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 798, __pyx_L1_error)
25706   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
25707   if (__pyx_t_2) {
25708 
25709     /* "Cython/Compiler/FlowControl.py":799
25710  *         """Mark position if DOT output is enabled."""
25711  *         if self.current_directives['control_flow.dot_output']:
25712  *             self.flow.mark_position(node)             # <<<<<<<<<<<<<<
25713  *
25714  *     def visit_FromImportStatNode(self, node):
25715  */
25716     __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_position(__pyx_v_self->flow, __pyx_v_node, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 799, __pyx_L1_error)
25717     __Pyx_GOTREF(__pyx_t_1);
25718     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
25719 
25720     /* "Cython/Compiler/FlowControl.py":798
25721  *     def mark_position(self, node):
25722  *         """Mark position if DOT output is enabled."""
25723  *         if self.current_directives['control_flow.dot_output']:             # <<<<<<<<<<<<<<
25724  *             self.flow.mark_position(node)
25725  *
25726  */
25727   }
25728 
25729   /* "Cython/Compiler/FlowControl.py":796
25730  *             self.flow.nextblock()
25731  *
25732  *     def mark_position(self, node):             # <<<<<<<<<<<<<<
25733  *         """Mark position if DOT output is enabled."""
25734  *         if self.current_directives['control_flow.dot_output']:
25735  */
25736 
25737   /* function exit code */
25738   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
25739   goto __pyx_L0;
25740   __pyx_L1_error:;
25741   __Pyx_XDECREF(__pyx_t_1);
25742   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.mark_position", __pyx_clineno, __pyx_lineno, __pyx_filename);
25743   __pyx_r = 0;
25744   __pyx_L0:;
25745   __Pyx_XGIVEREF(__pyx_r);
25746   __Pyx_RefNannyFinishContext();
25747   return __pyx_r;
25748 }
25749 
25750 /* Python wrapper */
25751 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_13mark_position(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
25752 static char __pyx_doc_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_12mark_position[] = "Mark position if DOT output is enabled.";
25753 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_13mark_position = {"mark_position", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_13mark_position, METH_O, __pyx_doc_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_12mark_position};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_13mark_position(PyObject * __pyx_v_self,PyObject * __pyx_v_node)25754 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_13mark_position(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
25755   PyObject *__pyx_r = 0;
25756   __Pyx_RefNannyDeclarations
25757   __Pyx_RefNannySetupContext("mark_position (wrapper)", 0);
25758   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_12mark_position(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
25759 
25760   /* function exit code */
25761   __Pyx_RefNannyFinishContext();
25762   return __pyx_r;
25763 }
25764 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_12mark_position(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)25765 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_12mark_position(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
25766   PyObject *__pyx_r = NULL;
25767   __Pyx_RefNannyDeclarations
25768   PyObject *__pyx_t_1 = NULL;
25769   int __pyx_lineno = 0;
25770   const char *__pyx_filename = NULL;
25771   int __pyx_clineno = 0;
25772   __Pyx_RefNannySetupContext("mark_position", 0);
25773   __Pyx_XDECREF(__pyx_r);
25774   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_position(__pyx_v_self, __pyx_v_node, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 796, __pyx_L1_error)
25775   __Pyx_GOTREF(__pyx_t_1);
25776   __pyx_r = __pyx_t_1;
25777   __pyx_t_1 = 0;
25778   goto __pyx_L0;
25779 
25780   /* function exit code */
25781   __pyx_L1_error:;
25782   __Pyx_XDECREF(__pyx_t_1);
25783   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.mark_position", __pyx_clineno, __pyx_lineno, __pyx_filename);
25784   __pyx_r = NULL;
25785   __pyx_L0:;
25786   __Pyx_XGIVEREF(__pyx_r);
25787   __Pyx_RefNannyFinishContext();
25788   return __pyx_r;
25789 }
25790 
25791 /* "Cython/Compiler/FlowControl.py":801
25792  *             self.flow.mark_position(node)
25793  *
25794  *     def visit_FromImportStatNode(self, node):             # <<<<<<<<<<<<<<
25795  *         for name, target in node.items:
25796  *             if name != "*":
25797  */
25798 
25799 /* Python wrapper */
25800 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_15visit_FromImportStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
25801 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_15visit_FromImportStatNode = {"visit_FromImportStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_15visit_FromImportStatNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_15visit_FromImportStatNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)25802 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_15visit_FromImportStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
25803   PyObject *__pyx_r = 0;
25804   __Pyx_RefNannyDeclarations
25805   __Pyx_RefNannySetupContext("visit_FromImportStatNode (wrapper)", 0);
25806   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_14visit_FromImportStatNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
25807 
25808   /* function exit code */
25809   __Pyx_RefNannyFinishContext();
25810   return __pyx_r;
25811 }
25812 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_14visit_FromImportStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)25813 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_14visit_FromImportStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
25814   PyObject *__pyx_v_name = NULL;
25815   PyObject *__pyx_v_target = NULL;
25816   PyObject *__pyx_r = NULL;
25817   __Pyx_RefNannyDeclarations
25818   PyObject *__pyx_t_1 = NULL;
25819   PyObject *__pyx_t_2 = NULL;
25820   Py_ssize_t __pyx_t_3;
25821   PyObject *(*__pyx_t_4)(PyObject *);
25822   PyObject *__pyx_t_5 = NULL;
25823   PyObject *__pyx_t_6 = NULL;
25824   PyObject *__pyx_t_7 = NULL;
25825   PyObject *(*__pyx_t_8)(PyObject *);
25826   int __pyx_t_9;
25827   int __pyx_lineno = 0;
25828   const char *__pyx_filename = NULL;
25829   int __pyx_clineno = 0;
25830   __Pyx_RefNannySetupContext("visit_FromImportStatNode", 0);
25831 
25832   /* "Cython/Compiler/FlowControl.py":802
25833  *
25834  *     def visit_FromImportStatNode(self, node):
25835  *         for name, target in node.items:             # <<<<<<<<<<<<<<
25836  *             if name != "*":
25837  *                 self.mark_assignment(target)
25838  */
25839   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_items); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 802, __pyx_L1_error)
25840   __Pyx_GOTREF(__pyx_t_1);
25841   if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
25842     __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
25843     __pyx_t_4 = NULL;
25844   } else {
25845     __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 802, __pyx_L1_error)
25846     __Pyx_GOTREF(__pyx_t_2);
25847     __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 802, __pyx_L1_error)
25848   }
25849   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
25850   for (;;) {
25851     if (likely(!__pyx_t_4)) {
25852       if (likely(PyList_CheckExact(__pyx_t_2))) {
25853         if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
25854         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
25855         __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 802, __pyx_L1_error)
25856         #else
25857         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 802, __pyx_L1_error)
25858         __Pyx_GOTREF(__pyx_t_1);
25859         #endif
25860       } else {
25861         if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
25862         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
25863         __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 802, __pyx_L1_error)
25864         #else
25865         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 802, __pyx_L1_error)
25866         __Pyx_GOTREF(__pyx_t_1);
25867         #endif
25868       }
25869     } else {
25870       __pyx_t_1 = __pyx_t_4(__pyx_t_2);
25871       if (unlikely(!__pyx_t_1)) {
25872         PyObject* exc_type = PyErr_Occurred();
25873         if (exc_type) {
25874           if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
25875           else __PYX_ERR(0, 802, __pyx_L1_error)
25876         }
25877         break;
25878       }
25879       __Pyx_GOTREF(__pyx_t_1);
25880     }
25881     if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
25882       PyObject* sequence = __pyx_t_1;
25883       Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
25884       if (unlikely(size != 2)) {
25885         if (size > 2) __Pyx_RaiseTooManyValuesError(2);
25886         else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
25887         __PYX_ERR(0, 802, __pyx_L1_error)
25888       }
25889       #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
25890       if (likely(PyTuple_CheckExact(sequence))) {
25891         __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0);
25892         __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1);
25893       } else {
25894         __pyx_t_5 = PyList_GET_ITEM(sequence, 0);
25895         __pyx_t_6 = PyList_GET_ITEM(sequence, 1);
25896       }
25897       __Pyx_INCREF(__pyx_t_5);
25898       __Pyx_INCREF(__pyx_t_6);
25899       #else
25900       __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 802, __pyx_L1_error)
25901       __Pyx_GOTREF(__pyx_t_5);
25902       __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 802, __pyx_L1_error)
25903       __Pyx_GOTREF(__pyx_t_6);
25904       #endif
25905       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
25906     } else {
25907       Py_ssize_t index = -1;
25908       __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 802, __pyx_L1_error)
25909       __Pyx_GOTREF(__pyx_t_7);
25910       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
25911       __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
25912       index = 0; __pyx_t_5 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_5)) goto __pyx_L5_unpacking_failed;
25913       __Pyx_GOTREF(__pyx_t_5);
25914       index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
25915       __Pyx_GOTREF(__pyx_t_6);
25916       if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 802, __pyx_L1_error)
25917       __pyx_t_8 = NULL;
25918       __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
25919       goto __pyx_L6_unpacking_done;
25920       __pyx_L5_unpacking_failed:;
25921       __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
25922       __pyx_t_8 = NULL;
25923       if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
25924       __PYX_ERR(0, 802, __pyx_L1_error)
25925       __pyx_L6_unpacking_done:;
25926     }
25927     __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_5);
25928     __pyx_t_5 = 0;
25929     __Pyx_XDECREF_SET(__pyx_v_target, __pyx_t_6);
25930     __pyx_t_6 = 0;
25931 
25932     /* "Cython/Compiler/FlowControl.py":803
25933  *     def visit_FromImportStatNode(self, node):
25934  *         for name, target in node.items:
25935  *             if name != "*":             # <<<<<<<<<<<<<<
25936  *                 self.mark_assignment(target)
25937  *         self.visitchildren(node)
25938  */
25939     __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_v_name, __pyx_kp_s__12, Py_NE)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 803, __pyx_L1_error)
25940     if (__pyx_t_9) {
25941 
25942       /* "Cython/Compiler/FlowControl.py":804
25943  *         for name, target in node.items:
25944  *             if name != "*":
25945  *                 self.mark_assignment(target)             # <<<<<<<<<<<<<<
25946  *         self.visitchildren(node)
25947  *         return node
25948  */
25949       __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment(__pyx_v_self, __pyx_v_target, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 804, __pyx_L1_error)
25950       __Pyx_GOTREF(__pyx_t_1);
25951       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
25952 
25953       /* "Cython/Compiler/FlowControl.py":803
25954  *     def visit_FromImportStatNode(self, node):
25955  *         for name, target in node.items:
25956  *             if name != "*":             # <<<<<<<<<<<<<<
25957  *                 self.mark_assignment(target)
25958  *         self.visitchildren(node)
25959  */
25960     }
25961 
25962     /* "Cython/Compiler/FlowControl.py":802
25963  *
25964  *     def visit_FromImportStatNode(self, node):
25965  *         for name, target in node.items:             # <<<<<<<<<<<<<<
25966  *             if name != "*":
25967  *                 self.mark_assignment(target)
25968  */
25969   }
25970   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25971 
25972   /* "Cython/Compiler/FlowControl.py":805
25973  *             if name != "*":
25974  *                 self.mark_assignment(target)
25975  *         self.visitchildren(node)             # <<<<<<<<<<<<<<
25976  *         return node
25977  *
25978  */
25979   __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.visitchildren(((struct __pyx_obj_6Cython_8Compiler_7Visitor_VisitorTransform *)__pyx_v_self), __pyx_v_node, 0, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 805, __pyx_L1_error)
25980   __Pyx_GOTREF(__pyx_t_2);
25981   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25982 
25983   /* "Cython/Compiler/FlowControl.py":806
25984  *                 self.mark_assignment(target)
25985  *         self.visitchildren(node)
25986  *         return node             # <<<<<<<<<<<<<<
25987  *
25988  *     def visit_AssignmentNode(self, node):
25989  */
25990   __Pyx_XDECREF(__pyx_r);
25991   __Pyx_INCREF(__pyx_v_node);
25992   __pyx_r = __pyx_v_node;
25993   goto __pyx_L0;
25994 
25995   /* "Cython/Compiler/FlowControl.py":801
25996  *             self.flow.mark_position(node)
25997  *
25998  *     def visit_FromImportStatNode(self, node):             # <<<<<<<<<<<<<<
25999  *         for name, target in node.items:
26000  *             if name != "*":
26001  */
26002 
26003   /* function exit code */
26004   __pyx_L1_error:;
26005   __Pyx_XDECREF(__pyx_t_1);
26006   __Pyx_XDECREF(__pyx_t_2);
26007   __Pyx_XDECREF(__pyx_t_5);
26008   __Pyx_XDECREF(__pyx_t_6);
26009   __Pyx_XDECREF(__pyx_t_7);
26010   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_FromImportStatNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
26011   __pyx_r = NULL;
26012   __pyx_L0:;
26013   __Pyx_XDECREF(__pyx_v_name);
26014   __Pyx_XDECREF(__pyx_v_target);
26015   __Pyx_XGIVEREF(__pyx_r);
26016   __Pyx_RefNannyFinishContext();
26017   return __pyx_r;
26018 }
26019 
26020 /* "Cython/Compiler/FlowControl.py":808
26021  *         return node
26022  *
26023  *     def visit_AssignmentNode(self, node):             # <<<<<<<<<<<<<<
26024  *         raise InternalError("Unhandled assignment node")
26025  *
26026  */
26027 
26028 /* Python wrapper */
26029 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_17visit_AssignmentNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
26030 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_17visit_AssignmentNode = {"visit_AssignmentNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_17visit_AssignmentNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_17visit_AssignmentNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)26031 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_17visit_AssignmentNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
26032   PyObject *__pyx_r = 0;
26033   __Pyx_RefNannyDeclarations
26034   __Pyx_RefNannySetupContext("visit_AssignmentNode (wrapper)", 0);
26035   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_16visit_AssignmentNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
26036 
26037   /* function exit code */
26038   __Pyx_RefNannyFinishContext();
26039   return __pyx_r;
26040 }
26041 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_16visit_AssignmentNode(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,CYTHON_UNUSED PyObject * __pyx_v_node)26042 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_16visit_AssignmentNode(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_node) {
26043   PyObject *__pyx_r = NULL;
26044   __Pyx_RefNannyDeclarations
26045   PyObject *__pyx_t_1 = NULL;
26046   PyObject *__pyx_t_2 = NULL;
26047   PyObject *__pyx_t_3 = NULL;
26048   int __pyx_lineno = 0;
26049   const char *__pyx_filename = NULL;
26050   int __pyx_clineno = 0;
26051   __Pyx_RefNannySetupContext("visit_AssignmentNode", 0);
26052 
26053   /* "Cython/Compiler/FlowControl.py":809
26054  *
26055  *     def visit_AssignmentNode(self, node):
26056  *         raise InternalError("Unhandled assignment node")             # <<<<<<<<<<<<<<
26057  *
26058  *     def visit_SingleAssignmentNode(self, node):
26059  */
26060   __Pyx_INCREF(__pyx_v_6Cython_8Compiler_11FlowControl_InternalError);
26061   __pyx_t_2 = __pyx_v_6Cython_8Compiler_11FlowControl_InternalError; __pyx_t_3 = NULL;
26062   if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
26063     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
26064     if (likely(__pyx_t_3)) {
26065       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
26066       __Pyx_INCREF(__pyx_t_3);
26067       __Pyx_INCREF(function);
26068       __Pyx_DECREF_SET(__pyx_t_2, function);
26069     }
26070   }
26071   __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_s_Unhandled_assignment_node) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_s_Unhandled_assignment_node);
26072   __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
26073   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 809, __pyx_L1_error)
26074   __Pyx_GOTREF(__pyx_t_1);
26075   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
26076   __Pyx_Raise(__pyx_t_1, 0, 0, 0);
26077   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
26078   __PYX_ERR(0, 809, __pyx_L1_error)
26079 
26080   /* "Cython/Compiler/FlowControl.py":808
26081  *         return node
26082  *
26083  *     def visit_AssignmentNode(self, node):             # <<<<<<<<<<<<<<
26084  *         raise InternalError("Unhandled assignment node")
26085  *
26086  */
26087 
26088   /* function exit code */
26089   __pyx_L1_error:;
26090   __Pyx_XDECREF(__pyx_t_1);
26091   __Pyx_XDECREF(__pyx_t_2);
26092   __Pyx_XDECREF(__pyx_t_3);
26093   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_AssignmentNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
26094   __pyx_r = NULL;
26095   __Pyx_XGIVEREF(__pyx_r);
26096   __Pyx_RefNannyFinishContext();
26097   return __pyx_r;
26098 }
26099 
26100 /* "Cython/Compiler/FlowControl.py":811
26101  *         raise InternalError("Unhandled assignment node")
26102  *
26103  *     def visit_SingleAssignmentNode(self, node):             # <<<<<<<<<<<<<<
26104  *         self._visit(node.rhs)
26105  *         self.mark_assignment(node.lhs, node.rhs)
26106  */
26107 
26108 /* Python wrapper */
26109 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_19visit_SingleAssignmentNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
26110 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_19visit_SingleAssignmentNode = {"visit_SingleAssignmentNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_19visit_SingleAssignmentNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_19visit_SingleAssignmentNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)26111 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_19visit_SingleAssignmentNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
26112   PyObject *__pyx_r = 0;
26113   __Pyx_RefNannyDeclarations
26114   __Pyx_RefNannySetupContext("visit_SingleAssignmentNode (wrapper)", 0);
26115   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_18visit_SingleAssignmentNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
26116 
26117   /* function exit code */
26118   __Pyx_RefNannyFinishContext();
26119   return __pyx_r;
26120 }
26121 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_18visit_SingleAssignmentNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)26122 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_18visit_SingleAssignmentNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
26123   PyObject *__pyx_r = NULL;
26124   __Pyx_RefNannyDeclarations
26125   PyObject *__pyx_t_1 = NULL;
26126   PyObject *__pyx_t_2 = NULL;
26127   PyObject *__pyx_t_3 = NULL;
26128   struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment __pyx_t_4;
26129   int __pyx_lineno = 0;
26130   const char *__pyx_filename = NULL;
26131   int __pyx_clineno = 0;
26132   __Pyx_RefNannySetupContext("visit_SingleAssignmentNode", 0);
26133 
26134   /* "Cython/Compiler/FlowControl.py":812
26135  *
26136  *     def visit_SingleAssignmentNode(self, node):
26137  *         self._visit(node.rhs)             # <<<<<<<<<<<<<<
26138  *         self.mark_assignment(node.lhs, node.rhs)
26139  *         return node
26140  */
26141   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_rhs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 812, __pyx_L1_error)
26142   __Pyx_GOTREF(__pyx_t_1);
26143   __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 812, __pyx_L1_error)
26144   __Pyx_GOTREF(__pyx_t_2);
26145   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
26146   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
26147 
26148   /* "Cython/Compiler/FlowControl.py":813
26149  *     def visit_SingleAssignmentNode(self, node):
26150  *         self._visit(node.rhs)
26151  *         self.mark_assignment(node.lhs, node.rhs)             # <<<<<<<<<<<<<<
26152  *         return node
26153  *
26154  */
26155   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_lhs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 813, __pyx_L1_error)
26156   __Pyx_GOTREF(__pyx_t_2);
26157   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_rhs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 813, __pyx_L1_error)
26158   __Pyx_GOTREF(__pyx_t_1);
26159   __pyx_t_4.__pyx_n = 1;
26160   __pyx_t_4.rhs = __pyx_t_1;
26161   __pyx_t_3 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment(__pyx_v_self, __pyx_t_2, 0, &__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 813, __pyx_L1_error)
26162   __Pyx_GOTREF(__pyx_t_3);
26163   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
26164   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
26165   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
26166 
26167   /* "Cython/Compiler/FlowControl.py":814
26168  *         self._visit(node.rhs)
26169  *         self.mark_assignment(node.lhs, node.rhs)
26170  *         return node             # <<<<<<<<<<<<<<
26171  *
26172  *     def visit_CascadedAssignmentNode(self, node):
26173  */
26174   __Pyx_XDECREF(__pyx_r);
26175   __Pyx_INCREF(__pyx_v_node);
26176   __pyx_r = __pyx_v_node;
26177   goto __pyx_L0;
26178 
26179   /* "Cython/Compiler/FlowControl.py":811
26180  *         raise InternalError("Unhandled assignment node")
26181  *
26182  *     def visit_SingleAssignmentNode(self, node):             # <<<<<<<<<<<<<<
26183  *         self._visit(node.rhs)
26184  *         self.mark_assignment(node.lhs, node.rhs)
26185  */
26186 
26187   /* function exit code */
26188   __pyx_L1_error:;
26189   __Pyx_XDECREF(__pyx_t_1);
26190   __Pyx_XDECREF(__pyx_t_2);
26191   __Pyx_XDECREF(__pyx_t_3);
26192   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_SingleAssignmentNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
26193   __pyx_r = NULL;
26194   __pyx_L0:;
26195   __Pyx_XGIVEREF(__pyx_r);
26196   __Pyx_RefNannyFinishContext();
26197   return __pyx_r;
26198 }
26199 
26200 /* "Cython/Compiler/FlowControl.py":816
26201  *         return node
26202  *
26203  *     def visit_CascadedAssignmentNode(self, node):             # <<<<<<<<<<<<<<
26204  *         self._visit(node.rhs)
26205  *         for lhs in node.lhs_list:
26206  */
26207 
26208 /* Python wrapper */
26209 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_21visit_CascadedAssignmentNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
26210 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_21visit_CascadedAssignmentNode = {"visit_CascadedAssignmentNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_21visit_CascadedAssignmentNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_21visit_CascadedAssignmentNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)26211 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_21visit_CascadedAssignmentNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
26212   PyObject *__pyx_r = 0;
26213   __Pyx_RefNannyDeclarations
26214   __Pyx_RefNannySetupContext("visit_CascadedAssignmentNode (wrapper)", 0);
26215   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_20visit_CascadedAssignmentNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
26216 
26217   /* function exit code */
26218   __Pyx_RefNannyFinishContext();
26219   return __pyx_r;
26220 }
26221 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_20visit_CascadedAssignmentNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)26222 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_20visit_CascadedAssignmentNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
26223   PyObject *__pyx_v_lhs = NULL;
26224   PyObject *__pyx_r = NULL;
26225   __Pyx_RefNannyDeclarations
26226   PyObject *__pyx_t_1 = NULL;
26227   PyObject *__pyx_t_2 = NULL;
26228   Py_ssize_t __pyx_t_3;
26229   PyObject *(*__pyx_t_4)(PyObject *);
26230   PyObject *__pyx_t_5 = NULL;
26231   struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment __pyx_t_6;
26232   int __pyx_lineno = 0;
26233   const char *__pyx_filename = NULL;
26234   int __pyx_clineno = 0;
26235   __Pyx_RefNannySetupContext("visit_CascadedAssignmentNode", 0);
26236 
26237   /* "Cython/Compiler/FlowControl.py":817
26238  *
26239  *     def visit_CascadedAssignmentNode(self, node):
26240  *         self._visit(node.rhs)             # <<<<<<<<<<<<<<
26241  *         for lhs in node.lhs_list:
26242  *             self.mark_assignment(lhs, node.rhs)
26243  */
26244   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_rhs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 817, __pyx_L1_error)
26245   __Pyx_GOTREF(__pyx_t_1);
26246   __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 817, __pyx_L1_error)
26247   __Pyx_GOTREF(__pyx_t_2);
26248   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
26249   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
26250 
26251   /* "Cython/Compiler/FlowControl.py":818
26252  *     def visit_CascadedAssignmentNode(self, node):
26253  *         self._visit(node.rhs)
26254  *         for lhs in node.lhs_list:             # <<<<<<<<<<<<<<
26255  *             self.mark_assignment(lhs, node.rhs)
26256  *         return node
26257  */
26258   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_lhs_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 818, __pyx_L1_error)
26259   __Pyx_GOTREF(__pyx_t_2);
26260   if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
26261     __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0;
26262     __pyx_t_4 = NULL;
26263   } else {
26264     __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 818, __pyx_L1_error)
26265     __Pyx_GOTREF(__pyx_t_1);
26266     __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 818, __pyx_L1_error)
26267   }
26268   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
26269   for (;;) {
26270     if (likely(!__pyx_t_4)) {
26271       if (likely(PyList_CheckExact(__pyx_t_1))) {
26272         if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break;
26273         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
26274         __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 818, __pyx_L1_error)
26275         #else
26276         __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 818, __pyx_L1_error)
26277         __Pyx_GOTREF(__pyx_t_2);
26278         #endif
26279       } else {
26280         if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
26281         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
26282         __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 818, __pyx_L1_error)
26283         #else
26284         __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 818, __pyx_L1_error)
26285         __Pyx_GOTREF(__pyx_t_2);
26286         #endif
26287       }
26288     } else {
26289       __pyx_t_2 = __pyx_t_4(__pyx_t_1);
26290       if (unlikely(!__pyx_t_2)) {
26291         PyObject* exc_type = PyErr_Occurred();
26292         if (exc_type) {
26293           if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
26294           else __PYX_ERR(0, 818, __pyx_L1_error)
26295         }
26296         break;
26297       }
26298       __Pyx_GOTREF(__pyx_t_2);
26299     }
26300     __Pyx_XDECREF_SET(__pyx_v_lhs, __pyx_t_2);
26301     __pyx_t_2 = 0;
26302 
26303     /* "Cython/Compiler/FlowControl.py":819
26304  *         self._visit(node.rhs)
26305  *         for lhs in node.lhs_list:
26306  *             self.mark_assignment(lhs, node.rhs)             # <<<<<<<<<<<<<<
26307  *         return node
26308  *
26309  */
26310     __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_rhs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 819, __pyx_L1_error)
26311     __Pyx_GOTREF(__pyx_t_2);
26312     __pyx_t_6.__pyx_n = 1;
26313     __pyx_t_6.rhs = __pyx_t_2;
26314     __pyx_t_5 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment(__pyx_v_self, __pyx_v_lhs, 0, &__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 819, __pyx_L1_error)
26315     __Pyx_GOTREF(__pyx_t_5);
26316     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
26317     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
26318 
26319     /* "Cython/Compiler/FlowControl.py":818
26320  *     def visit_CascadedAssignmentNode(self, node):
26321  *         self._visit(node.rhs)
26322  *         for lhs in node.lhs_list:             # <<<<<<<<<<<<<<
26323  *             self.mark_assignment(lhs, node.rhs)
26324  *         return node
26325  */
26326   }
26327   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
26328 
26329   /* "Cython/Compiler/FlowControl.py":820
26330  *         for lhs in node.lhs_list:
26331  *             self.mark_assignment(lhs, node.rhs)
26332  *         return node             # <<<<<<<<<<<<<<
26333  *
26334  *     def visit_ParallelAssignmentNode(self, node):
26335  */
26336   __Pyx_XDECREF(__pyx_r);
26337   __Pyx_INCREF(__pyx_v_node);
26338   __pyx_r = __pyx_v_node;
26339   goto __pyx_L0;
26340 
26341   /* "Cython/Compiler/FlowControl.py":816
26342  *         return node
26343  *
26344  *     def visit_CascadedAssignmentNode(self, node):             # <<<<<<<<<<<<<<
26345  *         self._visit(node.rhs)
26346  *         for lhs in node.lhs_list:
26347  */
26348 
26349   /* function exit code */
26350   __pyx_L1_error:;
26351   __Pyx_XDECREF(__pyx_t_1);
26352   __Pyx_XDECREF(__pyx_t_2);
26353   __Pyx_XDECREF(__pyx_t_5);
26354   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_CascadedAssignmentNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
26355   __pyx_r = NULL;
26356   __pyx_L0:;
26357   __Pyx_XDECREF(__pyx_v_lhs);
26358   __Pyx_XGIVEREF(__pyx_r);
26359   __Pyx_RefNannyFinishContext();
26360   return __pyx_r;
26361 }
26362 
26363 /* "Cython/Compiler/FlowControl.py":822
26364  *         return node
26365  *
26366  *     def visit_ParallelAssignmentNode(self, node):             # <<<<<<<<<<<<<<
26367  *         collector = AssignmentCollector()
26368  *         collector.visitchildren(node)
26369  */
26370 
26371 /* Python wrapper */
26372 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_23visit_ParallelAssignmentNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
26373 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_23visit_ParallelAssignmentNode = {"visit_ParallelAssignmentNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_23visit_ParallelAssignmentNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_23visit_ParallelAssignmentNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)26374 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_23visit_ParallelAssignmentNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
26375   PyObject *__pyx_r = 0;
26376   __Pyx_RefNannyDeclarations
26377   __Pyx_RefNannySetupContext("visit_ParallelAssignmentNode (wrapper)", 0);
26378   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_22visit_ParallelAssignmentNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
26379 
26380   /* function exit code */
26381   __Pyx_RefNannyFinishContext();
26382   return __pyx_r;
26383 }
26384 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_22visit_ParallelAssignmentNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)26385 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_22visit_ParallelAssignmentNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
26386   struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *__pyx_v_collector = NULL;
26387   PyObject *__pyx_v_lhs = NULL;
26388   PyObject *__pyx_v_rhs = NULL;
26389   PyObject *__pyx_r = NULL;
26390   __Pyx_RefNannyDeclarations
26391   PyObject *__pyx_t_1 = NULL;
26392   Py_ssize_t __pyx_t_2;
26393   PyObject *__pyx_t_3 = NULL;
26394   PyObject *__pyx_t_4 = NULL;
26395   PyObject *__pyx_t_5 = NULL;
26396   PyObject *__pyx_t_6 = NULL;
26397   PyObject *(*__pyx_t_7)(PyObject *);
26398   struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment __pyx_t_8;
26399   int __pyx_lineno = 0;
26400   const char *__pyx_filename = NULL;
26401   int __pyx_clineno = 0;
26402   __Pyx_RefNannySetupContext("visit_ParallelAssignmentNode", 0);
26403 
26404   /* "Cython/Compiler/FlowControl.py":823
26405  *
26406  *     def visit_ParallelAssignmentNode(self, node):
26407  *         collector = AssignmentCollector()             # <<<<<<<<<<<<<<
26408  *         collector.visitchildren(node)
26409  *         for lhs, rhs in collector.assignments:
26410  */
26411   __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentCollector)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 823, __pyx_L1_error)
26412   __Pyx_GOTREF(__pyx_t_1);
26413   __pyx_v_collector = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *)__pyx_t_1);
26414   __pyx_t_1 = 0;
26415 
26416   /* "Cython/Compiler/FlowControl.py":824
26417  *     def visit_ParallelAssignmentNode(self, node):
26418  *         collector = AssignmentCollector()
26419  *         collector.visitchildren(node)             # <<<<<<<<<<<<<<
26420  *         for lhs, rhs in collector.assignments:
26421  *             self._visit(rhs)
26422  */
26423   __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_AssignmentCollector *)__pyx_v_collector->__pyx_base.__pyx_vtab)->__pyx_base.visitchildren(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_collector), __pyx_v_node, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 824, __pyx_L1_error)
26424   __Pyx_GOTREF(__pyx_t_1);
26425   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
26426 
26427   /* "Cython/Compiler/FlowControl.py":825
26428  *         collector = AssignmentCollector()
26429  *         collector.visitchildren(node)
26430  *         for lhs, rhs in collector.assignments:             # <<<<<<<<<<<<<<
26431  *             self._visit(rhs)
26432  *         for lhs, rhs in collector.assignments:
26433  */
26434   if (unlikely(__pyx_v_collector->assignments == Py_None)) {
26435     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
26436     __PYX_ERR(0, 825, __pyx_L1_error)
26437   }
26438   __pyx_t_1 = __pyx_v_collector->assignments; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
26439   for (;;) {
26440     if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
26441     #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
26442     __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 825, __pyx_L1_error)
26443     #else
26444     __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 825, __pyx_L1_error)
26445     __Pyx_GOTREF(__pyx_t_3);
26446     #endif
26447     if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) {
26448       PyObject* sequence = __pyx_t_3;
26449       Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
26450       if (unlikely(size != 2)) {
26451         if (size > 2) __Pyx_RaiseTooManyValuesError(2);
26452         else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
26453         __PYX_ERR(0, 825, __pyx_L1_error)
26454       }
26455       #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
26456       if (likely(PyTuple_CheckExact(sequence))) {
26457         __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0);
26458         __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1);
26459       } else {
26460         __pyx_t_4 = PyList_GET_ITEM(sequence, 0);
26461         __pyx_t_5 = PyList_GET_ITEM(sequence, 1);
26462       }
26463       __Pyx_INCREF(__pyx_t_4);
26464       __Pyx_INCREF(__pyx_t_5);
26465       #else
26466       __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 825, __pyx_L1_error)
26467       __Pyx_GOTREF(__pyx_t_4);
26468       __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 825, __pyx_L1_error)
26469       __Pyx_GOTREF(__pyx_t_5);
26470       #endif
26471       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
26472     } else {
26473       Py_ssize_t index = -1;
26474       __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 825, __pyx_L1_error)
26475       __Pyx_GOTREF(__pyx_t_6);
26476       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
26477       __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext;
26478       index = 0; __pyx_t_4 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_4)) goto __pyx_L5_unpacking_failed;
26479       __Pyx_GOTREF(__pyx_t_4);
26480       index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L5_unpacking_failed;
26481       __Pyx_GOTREF(__pyx_t_5);
26482       if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) __PYX_ERR(0, 825, __pyx_L1_error)
26483       __pyx_t_7 = NULL;
26484       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
26485       goto __pyx_L6_unpacking_done;
26486       __pyx_L5_unpacking_failed:;
26487       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
26488       __pyx_t_7 = NULL;
26489       if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
26490       __PYX_ERR(0, 825, __pyx_L1_error)
26491       __pyx_L6_unpacking_done:;
26492     }
26493     __Pyx_XDECREF_SET(__pyx_v_lhs, __pyx_t_4);
26494     __pyx_t_4 = 0;
26495     __Pyx_XDECREF_SET(__pyx_v_rhs, __pyx_t_5);
26496     __pyx_t_5 = 0;
26497 
26498     /* "Cython/Compiler/FlowControl.py":826
26499  *         collector.visitchildren(node)
26500  *         for lhs, rhs in collector.assignments:
26501  *             self._visit(rhs)             # <<<<<<<<<<<<<<
26502  *         for lhs, rhs in collector.assignments:
26503  *             self.mark_assignment(lhs, rhs)
26504  */
26505     __pyx_t_3 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_v_rhs); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 826, __pyx_L1_error)
26506     __Pyx_GOTREF(__pyx_t_3);
26507     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
26508 
26509     /* "Cython/Compiler/FlowControl.py":825
26510  *         collector = AssignmentCollector()
26511  *         collector.visitchildren(node)
26512  *         for lhs, rhs in collector.assignments:             # <<<<<<<<<<<<<<
26513  *             self._visit(rhs)
26514  *         for lhs, rhs in collector.assignments:
26515  */
26516   }
26517   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
26518 
26519   /* "Cython/Compiler/FlowControl.py":827
26520  *         for lhs, rhs in collector.assignments:
26521  *             self._visit(rhs)
26522  *         for lhs, rhs in collector.assignments:             # <<<<<<<<<<<<<<
26523  *             self.mark_assignment(lhs, rhs)
26524  *         return node
26525  */
26526   if (unlikely(__pyx_v_collector->assignments == Py_None)) {
26527     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
26528     __PYX_ERR(0, 827, __pyx_L1_error)
26529   }
26530   __pyx_t_1 = __pyx_v_collector->assignments; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
26531   for (;;) {
26532     if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
26533     #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
26534     __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 827, __pyx_L1_error)
26535     #else
26536     __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 827, __pyx_L1_error)
26537     __Pyx_GOTREF(__pyx_t_3);
26538     #endif
26539     if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) {
26540       PyObject* sequence = __pyx_t_3;
26541       Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
26542       if (unlikely(size != 2)) {
26543         if (size > 2) __Pyx_RaiseTooManyValuesError(2);
26544         else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
26545         __PYX_ERR(0, 827, __pyx_L1_error)
26546       }
26547       #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
26548       if (likely(PyTuple_CheckExact(sequence))) {
26549         __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0);
26550         __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1);
26551       } else {
26552         __pyx_t_5 = PyList_GET_ITEM(sequence, 0);
26553         __pyx_t_4 = PyList_GET_ITEM(sequence, 1);
26554       }
26555       __Pyx_INCREF(__pyx_t_5);
26556       __Pyx_INCREF(__pyx_t_4);
26557       #else
26558       __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 827, __pyx_L1_error)
26559       __Pyx_GOTREF(__pyx_t_5);
26560       __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 827, __pyx_L1_error)
26561       __Pyx_GOTREF(__pyx_t_4);
26562       #endif
26563       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
26564     } else {
26565       Py_ssize_t index = -1;
26566       __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 827, __pyx_L1_error)
26567       __Pyx_GOTREF(__pyx_t_6);
26568       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
26569       __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext;
26570       index = 0; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L9_unpacking_failed;
26571       __Pyx_GOTREF(__pyx_t_5);
26572       index = 1; __pyx_t_4 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_4)) goto __pyx_L9_unpacking_failed;
26573       __Pyx_GOTREF(__pyx_t_4);
26574       if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) __PYX_ERR(0, 827, __pyx_L1_error)
26575       __pyx_t_7 = NULL;
26576       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
26577       goto __pyx_L10_unpacking_done;
26578       __pyx_L9_unpacking_failed:;
26579       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
26580       __pyx_t_7 = NULL;
26581       if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
26582       __PYX_ERR(0, 827, __pyx_L1_error)
26583       __pyx_L10_unpacking_done:;
26584     }
26585     __Pyx_XDECREF_SET(__pyx_v_lhs, __pyx_t_5);
26586     __pyx_t_5 = 0;
26587     __Pyx_XDECREF_SET(__pyx_v_rhs, __pyx_t_4);
26588     __pyx_t_4 = 0;
26589 
26590     /* "Cython/Compiler/FlowControl.py":828
26591  *             self._visit(rhs)
26592  *         for lhs, rhs in collector.assignments:
26593  *             self.mark_assignment(lhs, rhs)             # <<<<<<<<<<<<<<
26594  *         return node
26595  *
26596  */
26597     __pyx_t_8.__pyx_n = 1;
26598     __pyx_t_8.rhs = __pyx_v_rhs;
26599     __pyx_t_3 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment(__pyx_v_self, __pyx_v_lhs, 0, &__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 828, __pyx_L1_error)
26600     __Pyx_GOTREF(__pyx_t_3);
26601     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
26602 
26603     /* "Cython/Compiler/FlowControl.py":827
26604  *         for lhs, rhs in collector.assignments:
26605  *             self._visit(rhs)
26606  *         for lhs, rhs in collector.assignments:             # <<<<<<<<<<<<<<
26607  *             self.mark_assignment(lhs, rhs)
26608  *         return node
26609  */
26610   }
26611   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
26612 
26613   /* "Cython/Compiler/FlowControl.py":829
26614  *         for lhs, rhs in collector.assignments:
26615  *             self.mark_assignment(lhs, rhs)
26616  *         return node             # <<<<<<<<<<<<<<
26617  *
26618  *     def visit_InPlaceAssignmentNode(self, node):
26619  */
26620   __Pyx_XDECREF(__pyx_r);
26621   __Pyx_INCREF(__pyx_v_node);
26622   __pyx_r = __pyx_v_node;
26623   goto __pyx_L0;
26624 
26625   /* "Cython/Compiler/FlowControl.py":822
26626  *         return node
26627  *
26628  *     def visit_ParallelAssignmentNode(self, node):             # <<<<<<<<<<<<<<
26629  *         collector = AssignmentCollector()
26630  *         collector.visitchildren(node)
26631  */
26632 
26633   /* function exit code */
26634   __pyx_L1_error:;
26635   __Pyx_XDECREF(__pyx_t_1);
26636   __Pyx_XDECREF(__pyx_t_3);
26637   __Pyx_XDECREF(__pyx_t_4);
26638   __Pyx_XDECREF(__pyx_t_5);
26639   __Pyx_XDECREF(__pyx_t_6);
26640   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_ParallelAssignmentNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
26641   __pyx_r = NULL;
26642   __pyx_L0:;
26643   __Pyx_XDECREF((PyObject *)__pyx_v_collector);
26644   __Pyx_XDECREF(__pyx_v_lhs);
26645   __Pyx_XDECREF(__pyx_v_rhs);
26646   __Pyx_XGIVEREF(__pyx_r);
26647   __Pyx_RefNannyFinishContext();
26648   return __pyx_r;
26649 }
26650 
26651 /* "Cython/Compiler/FlowControl.py":831
26652  *         return node
26653  *
26654  *     def visit_InPlaceAssignmentNode(self, node):             # <<<<<<<<<<<<<<
26655  *         self.in_inplace_assignment = True
26656  *         self.visitchildren(node)
26657  */
26658 
26659 /* Python wrapper */
26660 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_25visit_InPlaceAssignmentNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
26661 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_25visit_InPlaceAssignmentNode = {"visit_InPlaceAssignmentNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_25visit_InPlaceAssignmentNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_25visit_InPlaceAssignmentNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)26662 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_25visit_InPlaceAssignmentNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
26663   PyObject *__pyx_r = 0;
26664   __Pyx_RefNannyDeclarations
26665   __Pyx_RefNannySetupContext("visit_InPlaceAssignmentNode (wrapper)", 0);
26666   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_24visit_InPlaceAssignmentNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
26667 
26668   /* function exit code */
26669   __Pyx_RefNannyFinishContext();
26670   return __pyx_r;
26671 }
26672 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_24visit_InPlaceAssignmentNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)26673 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_24visit_InPlaceAssignmentNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
26674   PyObject *__pyx_r = NULL;
26675   __Pyx_RefNannyDeclarations
26676   PyObject *__pyx_t_1 = NULL;
26677   PyObject *__pyx_t_2 = NULL;
26678   PyObject *__pyx_t_3 = NULL;
26679   PyObject *__pyx_t_4 = NULL;
26680   PyObject *__pyx_t_5 = NULL;
26681   struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment __pyx_t_6;
26682   int __pyx_lineno = 0;
26683   const char *__pyx_filename = NULL;
26684   int __pyx_clineno = 0;
26685   __Pyx_RefNannySetupContext("visit_InPlaceAssignmentNode", 0);
26686 
26687   /* "Cython/Compiler/FlowControl.py":832
26688  *
26689  *     def visit_InPlaceAssignmentNode(self, node):
26690  *         self.in_inplace_assignment = True             # <<<<<<<<<<<<<<
26691  *         self.visitchildren(node)
26692  *         self.in_inplace_assignment = False
26693  */
26694   __pyx_v_self->in_inplace_assignment = 1;
26695 
26696   /* "Cython/Compiler/FlowControl.py":833
26697  *     def visit_InPlaceAssignmentNode(self, node):
26698  *         self.in_inplace_assignment = True
26699  *         self.visitchildren(node)             # <<<<<<<<<<<<<<
26700  *         self.in_inplace_assignment = False
26701  *         self.mark_assignment(node.lhs, self.constant_folder(node.create_binop_node()))
26702  */
26703   __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.visitchildren(((struct __pyx_obj_6Cython_8Compiler_7Visitor_VisitorTransform *)__pyx_v_self), __pyx_v_node, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 833, __pyx_L1_error)
26704   __Pyx_GOTREF(__pyx_t_1);
26705   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
26706 
26707   /* "Cython/Compiler/FlowControl.py":834
26708  *         self.in_inplace_assignment = True
26709  *         self.visitchildren(node)
26710  *         self.in_inplace_assignment = False             # <<<<<<<<<<<<<<
26711  *         self.mark_assignment(node.lhs, self.constant_folder(node.create_binop_node()))
26712  *         return node
26713  */
26714   __pyx_v_self->in_inplace_assignment = 0;
26715 
26716   /* "Cython/Compiler/FlowControl.py":835
26717  *         self.visitchildren(node)
26718  *         self.in_inplace_assignment = False
26719  *         self.mark_assignment(node.lhs, self.constant_folder(node.create_binop_node()))             # <<<<<<<<<<<<<<
26720  *         return node
26721  *
26722  */
26723   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_lhs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 835, __pyx_L1_error)
26724   __Pyx_GOTREF(__pyx_t_1);
26725   __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_create_binop_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 835, __pyx_L1_error)
26726   __Pyx_GOTREF(__pyx_t_4);
26727   __pyx_t_5 = NULL;
26728   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
26729     __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
26730     if (likely(__pyx_t_5)) {
26731       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
26732       __Pyx_INCREF(__pyx_t_5);
26733       __Pyx_INCREF(function);
26734       __Pyx_DECREF_SET(__pyx_t_4, function);
26735     }
26736   }
26737   __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
26738   __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
26739   if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 835, __pyx_L1_error)
26740   __Pyx_GOTREF(__pyx_t_3);
26741   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
26742   __Pyx_INCREF(__pyx_v_self->constant_folder);
26743   __pyx_t_4 = __pyx_v_self->constant_folder; __pyx_t_5 = NULL;
26744   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
26745     __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
26746     if (likely(__pyx_t_5)) {
26747       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
26748       __Pyx_INCREF(__pyx_t_5);
26749       __Pyx_INCREF(function);
26750       __Pyx_DECREF_SET(__pyx_t_4, function);
26751     }
26752   }
26753   __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3);
26754   __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
26755   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
26756   if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 835, __pyx_L1_error)
26757   __Pyx_GOTREF(__pyx_t_2);
26758   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
26759   __pyx_t_6.__pyx_n = 1;
26760   __pyx_t_6.rhs = __pyx_t_2;
26761   __pyx_t_4 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment(__pyx_v_self, __pyx_t_1, 0, &__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 835, __pyx_L1_error)
26762   __Pyx_GOTREF(__pyx_t_4);
26763   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
26764   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
26765   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
26766 
26767   /* "Cython/Compiler/FlowControl.py":836
26768  *         self.in_inplace_assignment = False
26769  *         self.mark_assignment(node.lhs, self.constant_folder(node.create_binop_node()))
26770  *         return node             # <<<<<<<<<<<<<<
26771  *
26772  *     def visit_DelStatNode(self, node):
26773  */
26774   __Pyx_XDECREF(__pyx_r);
26775   __Pyx_INCREF(__pyx_v_node);
26776   __pyx_r = __pyx_v_node;
26777   goto __pyx_L0;
26778 
26779   /* "Cython/Compiler/FlowControl.py":831
26780  *         return node
26781  *
26782  *     def visit_InPlaceAssignmentNode(self, node):             # <<<<<<<<<<<<<<
26783  *         self.in_inplace_assignment = True
26784  *         self.visitchildren(node)
26785  */
26786 
26787   /* function exit code */
26788   __pyx_L1_error:;
26789   __Pyx_XDECREF(__pyx_t_1);
26790   __Pyx_XDECREF(__pyx_t_2);
26791   __Pyx_XDECREF(__pyx_t_3);
26792   __Pyx_XDECREF(__pyx_t_4);
26793   __Pyx_XDECREF(__pyx_t_5);
26794   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_InPlaceAssignmentNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
26795   __pyx_r = NULL;
26796   __pyx_L0:;
26797   __Pyx_XGIVEREF(__pyx_r);
26798   __Pyx_RefNannyFinishContext();
26799   return __pyx_r;
26800 }
26801 
26802 /* "Cython/Compiler/FlowControl.py":838
26803  *         return node
26804  *
26805  *     def visit_DelStatNode(self, node):             # <<<<<<<<<<<<<<
26806  *         for arg in node.args:
26807  *             if arg.is_name:
26808  */
26809 
26810 /* Python wrapper */
26811 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_27visit_DelStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
26812 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_27visit_DelStatNode = {"visit_DelStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_27visit_DelStatNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_27visit_DelStatNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)26813 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_27visit_DelStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
26814   PyObject *__pyx_r = 0;
26815   __Pyx_RefNannyDeclarations
26816   __Pyx_RefNannySetupContext("visit_DelStatNode (wrapper)", 0);
26817   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_26visit_DelStatNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
26818 
26819   /* function exit code */
26820   __Pyx_RefNannyFinishContext();
26821   return __pyx_r;
26822 }
26823 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_26visit_DelStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)26824 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_26visit_DelStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
26825   PyObject *__pyx_v_arg = NULL;
26826   PyObject *__pyx_v_entry = NULL;
26827   PyObject *__pyx_r = NULL;
26828   __Pyx_RefNannyDeclarations
26829   PyObject *__pyx_t_1 = NULL;
26830   PyObject *__pyx_t_2 = NULL;
26831   Py_ssize_t __pyx_t_3;
26832   PyObject *(*__pyx_t_4)(PyObject *);
26833   int __pyx_t_5;
26834   PyObject *__pyx_t_6 = NULL;
26835   PyObject *__pyx_t_7 = NULL;
26836   PyObject *__pyx_t_8 = NULL;
26837   PyObject *__pyx_t_9 = NULL;
26838   int __pyx_t_10;
26839   int __pyx_t_11;
26840   PyObject *__pyx_t_12 = NULL;
26841   int __pyx_lineno = 0;
26842   const char *__pyx_filename = NULL;
26843   int __pyx_clineno = 0;
26844   __Pyx_RefNannySetupContext("visit_DelStatNode", 0);
26845 
26846   /* "Cython/Compiler/FlowControl.py":839
26847  *
26848  *     def visit_DelStatNode(self, node):
26849  *         for arg in node.args:             # <<<<<<<<<<<<<<
26850  *             if arg.is_name:
26851  *                 entry = arg.entry or self.env.lookup(arg.name)
26852  */
26853   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 839, __pyx_L1_error)
26854   __Pyx_GOTREF(__pyx_t_1);
26855   if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
26856     __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
26857     __pyx_t_4 = NULL;
26858   } else {
26859     __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 839, __pyx_L1_error)
26860     __Pyx_GOTREF(__pyx_t_2);
26861     __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 839, __pyx_L1_error)
26862   }
26863   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
26864   for (;;) {
26865     if (likely(!__pyx_t_4)) {
26866       if (likely(PyList_CheckExact(__pyx_t_2))) {
26867         if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
26868         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
26869         __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 839, __pyx_L1_error)
26870         #else
26871         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 839, __pyx_L1_error)
26872         __Pyx_GOTREF(__pyx_t_1);
26873         #endif
26874       } else {
26875         if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
26876         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
26877         __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 839, __pyx_L1_error)
26878         #else
26879         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 839, __pyx_L1_error)
26880         __Pyx_GOTREF(__pyx_t_1);
26881         #endif
26882       }
26883     } else {
26884       __pyx_t_1 = __pyx_t_4(__pyx_t_2);
26885       if (unlikely(!__pyx_t_1)) {
26886         PyObject* exc_type = PyErr_Occurred();
26887         if (exc_type) {
26888           if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
26889           else __PYX_ERR(0, 839, __pyx_L1_error)
26890         }
26891         break;
26892       }
26893       __Pyx_GOTREF(__pyx_t_1);
26894     }
26895     __Pyx_XDECREF_SET(__pyx_v_arg, __pyx_t_1);
26896     __pyx_t_1 = 0;
26897 
26898     /* "Cython/Compiler/FlowControl.py":840
26899  *     def visit_DelStatNode(self, node):
26900  *         for arg in node.args:
26901  *             if arg.is_name:             # <<<<<<<<<<<<<<
26902  *                 entry = arg.entry or self.env.lookup(arg.name)
26903  *                 if entry.in_closure or entry.from_closure:
26904  */
26905     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_is_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 840, __pyx_L1_error)
26906     __Pyx_GOTREF(__pyx_t_1);
26907     __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 840, __pyx_L1_error)
26908     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
26909     if (__pyx_t_5) {
26910 
26911       /* "Cython/Compiler/FlowControl.py":841
26912  *         for arg in node.args:
26913  *             if arg.is_name:
26914  *                 entry = arg.entry or self.env.lookup(arg.name)             # <<<<<<<<<<<<<<
26915  *                 if entry.in_closure or entry.from_closure:
26916  *                     error(arg.pos,
26917  */
26918       __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_entry); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 841, __pyx_L1_error)
26919       __Pyx_GOTREF(__pyx_t_6);
26920       __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 841, __pyx_L1_error)
26921       if (!__pyx_t_5) {
26922         __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
26923       } else {
26924         __Pyx_INCREF(__pyx_t_6);
26925         __pyx_t_1 = __pyx_t_6;
26926         __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
26927         goto __pyx_L6_bool_binop_done;
26928       }
26929       __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->env, __pyx_n_s_lookup); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 841, __pyx_L1_error)
26930       __Pyx_GOTREF(__pyx_t_7);
26931       __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_name_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 841, __pyx_L1_error)
26932       __Pyx_GOTREF(__pyx_t_8);
26933       __pyx_t_9 = NULL;
26934       if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
26935         __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_7);
26936         if (likely(__pyx_t_9)) {
26937           PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
26938           __Pyx_INCREF(__pyx_t_9);
26939           __Pyx_INCREF(function);
26940           __Pyx_DECREF_SET(__pyx_t_7, function);
26941         }
26942       }
26943       __pyx_t_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_8);
26944       __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
26945       __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
26946       if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 841, __pyx_L1_error)
26947       __Pyx_GOTREF(__pyx_t_6);
26948       __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
26949       __Pyx_INCREF(__pyx_t_6);
26950       __pyx_t_1 = __pyx_t_6;
26951       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
26952       __pyx_L6_bool_binop_done:;
26953       __Pyx_XDECREF_SET(__pyx_v_entry, __pyx_t_1);
26954       __pyx_t_1 = 0;
26955 
26956       /* "Cython/Compiler/FlowControl.py":842
26957  *             if arg.is_name:
26958  *                 entry = arg.entry or self.env.lookup(arg.name)
26959  *                 if entry.in_closure or entry.from_closure:             # <<<<<<<<<<<<<<
26960  *                     error(arg.pos,
26961  *                           "can not delete variable '%s' "
26962  */
26963       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_in_closure); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 842, __pyx_L1_error)
26964       __Pyx_GOTREF(__pyx_t_1);
26965       __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 842, __pyx_L1_error)
26966       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
26967       if (!__pyx_t_10) {
26968       } else {
26969         __pyx_t_5 = __pyx_t_10;
26970         goto __pyx_L9_bool_binop_done;
26971       }
26972       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_from_closure); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 842, __pyx_L1_error)
26973       __Pyx_GOTREF(__pyx_t_1);
26974       __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 842, __pyx_L1_error)
26975       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
26976       __pyx_t_5 = __pyx_t_10;
26977       __pyx_L9_bool_binop_done:;
26978       if (__pyx_t_5) {
26979 
26980         /* "Cython/Compiler/FlowControl.py":843
26981  *                 entry = arg.entry or self.env.lookup(arg.name)
26982  *                 if entry.in_closure or entry.from_closure:
26983  *                     error(arg.pos,             # <<<<<<<<<<<<<<
26984  *                           "can not delete variable '%s' "
26985  *                           "referenced in nested scope" % entry.name)
26986  */
26987         __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_pos); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 843, __pyx_L1_error)
26988         __Pyx_GOTREF(__pyx_t_6);
26989 
26990         /* "Cython/Compiler/FlowControl.py":845
26991  *                     error(arg.pos,
26992  *                           "can not delete variable '%s' "
26993  *                           "referenced in nested scope" % entry.name)             # <<<<<<<<<<<<<<
26994  *                 if not node.ignore_nonexisting:
26995  *                     self._visit(arg)  # mark reference
26996  */
26997         __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_name_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 845, __pyx_L1_error)
26998         __Pyx_GOTREF(__pyx_t_7);
26999         __pyx_t_8 = __Pyx_PyString_FormatSafe(__pyx_kp_s_can_not_delete_variable_s_refere, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 845, __pyx_L1_error)
27000         __Pyx_GOTREF(__pyx_t_8);
27001         __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
27002         __Pyx_INCREF(__pyx_v_6Cython_8Compiler_11FlowControl_error);
27003         __pyx_t_7 = __pyx_v_6Cython_8Compiler_11FlowControl_error; __pyx_t_9 = NULL;
27004         __pyx_t_11 = 0;
27005         if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
27006           __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_7);
27007           if (likely(__pyx_t_9)) {
27008             PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
27009             __Pyx_INCREF(__pyx_t_9);
27010             __Pyx_INCREF(function);
27011             __Pyx_DECREF_SET(__pyx_t_7, function);
27012             __pyx_t_11 = 1;
27013           }
27014         }
27015         #if CYTHON_FAST_PYCALL
27016         if (PyFunction_Check(__pyx_t_7)) {
27017           PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_6, __pyx_t_8};
27018           __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 843, __pyx_L1_error)
27019           __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
27020           __Pyx_GOTREF(__pyx_t_1);
27021           __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
27022           __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
27023         } else
27024         #endif
27025         #if CYTHON_FAST_PYCCALL
27026         if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
27027           PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_6, __pyx_t_8};
27028           __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 843, __pyx_L1_error)
27029           __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
27030           __Pyx_GOTREF(__pyx_t_1);
27031           __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
27032           __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
27033         } else
27034         #endif
27035         {
27036           __pyx_t_12 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 843, __pyx_L1_error)
27037           __Pyx_GOTREF(__pyx_t_12);
27038           if (__pyx_t_9) {
27039             __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_9); __pyx_t_9 = NULL;
27040           }
27041           __Pyx_GIVEREF(__pyx_t_6);
27042           PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_11, __pyx_t_6);
27043           __Pyx_GIVEREF(__pyx_t_8);
27044           PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_11, __pyx_t_8);
27045           __pyx_t_6 = 0;
27046           __pyx_t_8 = 0;
27047           __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_12, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 843, __pyx_L1_error)
27048           __Pyx_GOTREF(__pyx_t_1);
27049           __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
27050         }
27051         __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
27052         __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
27053 
27054         /* "Cython/Compiler/FlowControl.py":842
27055  *             if arg.is_name:
27056  *                 entry = arg.entry or self.env.lookup(arg.name)
27057  *                 if entry.in_closure or entry.from_closure:             # <<<<<<<<<<<<<<
27058  *                     error(arg.pos,
27059  *                           "can not delete variable '%s' "
27060  */
27061       }
27062 
27063       /* "Cython/Compiler/FlowControl.py":846
27064  *                           "can not delete variable '%s' "
27065  *                           "referenced in nested scope" % entry.name)
27066  *                 if not node.ignore_nonexisting:             # <<<<<<<<<<<<<<
27067  *                     self._visit(arg)  # mark reference
27068  *                 self.flow.mark_deletion(arg, entry)
27069  */
27070       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_ignore_nonexisting); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 846, __pyx_L1_error)
27071       __Pyx_GOTREF(__pyx_t_1);
27072       __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 846, __pyx_L1_error)
27073       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
27074       __pyx_t_10 = ((!__pyx_t_5) != 0);
27075       if (__pyx_t_10) {
27076 
27077         /* "Cython/Compiler/FlowControl.py":847
27078  *                           "referenced in nested scope" % entry.name)
27079  *                 if not node.ignore_nonexisting:
27080  *                     self._visit(arg)  # mark reference             # <<<<<<<<<<<<<<
27081  *                 self.flow.mark_deletion(arg, entry)
27082  *             else:
27083  */
27084         __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_v_arg); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 847, __pyx_L1_error)
27085         __Pyx_GOTREF(__pyx_t_1);
27086         __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
27087 
27088         /* "Cython/Compiler/FlowControl.py":846
27089  *                           "can not delete variable '%s' "
27090  *                           "referenced in nested scope" % entry.name)
27091  *                 if not node.ignore_nonexisting:             # <<<<<<<<<<<<<<
27092  *                     self._visit(arg)  # mark reference
27093  *                 self.flow.mark_deletion(arg, entry)
27094  */
27095       }
27096 
27097       /* "Cython/Compiler/FlowControl.py":848
27098  *                 if not node.ignore_nonexisting:
27099  *                     self._visit(arg)  # mark reference
27100  *                 self.flow.mark_deletion(arg, entry)             # <<<<<<<<<<<<<<
27101  *             else:
27102  *                 self._visit(arg)
27103  */
27104       __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_deletion(__pyx_v_self->flow, __pyx_v_arg, __pyx_v_entry, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 848, __pyx_L1_error)
27105       __Pyx_GOTREF(__pyx_t_1);
27106       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
27107 
27108       /* "Cython/Compiler/FlowControl.py":840
27109  *     def visit_DelStatNode(self, node):
27110  *         for arg in node.args:
27111  *             if arg.is_name:             # <<<<<<<<<<<<<<
27112  *                 entry = arg.entry or self.env.lookup(arg.name)
27113  *                 if entry.in_closure or entry.from_closure:
27114  */
27115       goto __pyx_L5;
27116     }
27117 
27118     /* "Cython/Compiler/FlowControl.py":850
27119  *                 self.flow.mark_deletion(arg, entry)
27120  *             else:
27121  *                 self._visit(arg)             # <<<<<<<<<<<<<<
27122  *         return node
27123  *
27124  */
27125     /*else*/ {
27126       __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_v_arg); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 850, __pyx_L1_error)
27127       __Pyx_GOTREF(__pyx_t_1);
27128       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
27129     }
27130     __pyx_L5:;
27131 
27132     /* "Cython/Compiler/FlowControl.py":839
27133  *
27134  *     def visit_DelStatNode(self, node):
27135  *         for arg in node.args:             # <<<<<<<<<<<<<<
27136  *             if arg.is_name:
27137  *                 entry = arg.entry or self.env.lookup(arg.name)
27138  */
27139   }
27140   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
27141 
27142   /* "Cython/Compiler/FlowControl.py":851
27143  *             else:
27144  *                 self._visit(arg)
27145  *         return node             # <<<<<<<<<<<<<<
27146  *
27147  *     def visit_CArgDeclNode(self, node):
27148  */
27149   __Pyx_XDECREF(__pyx_r);
27150   __Pyx_INCREF(__pyx_v_node);
27151   __pyx_r = __pyx_v_node;
27152   goto __pyx_L0;
27153 
27154   /* "Cython/Compiler/FlowControl.py":838
27155  *         return node
27156  *
27157  *     def visit_DelStatNode(self, node):             # <<<<<<<<<<<<<<
27158  *         for arg in node.args:
27159  *             if arg.is_name:
27160  */
27161 
27162   /* function exit code */
27163   __pyx_L1_error:;
27164   __Pyx_XDECREF(__pyx_t_1);
27165   __Pyx_XDECREF(__pyx_t_2);
27166   __Pyx_XDECREF(__pyx_t_6);
27167   __Pyx_XDECREF(__pyx_t_7);
27168   __Pyx_XDECREF(__pyx_t_8);
27169   __Pyx_XDECREF(__pyx_t_9);
27170   __Pyx_XDECREF(__pyx_t_12);
27171   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_DelStatNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
27172   __pyx_r = NULL;
27173   __pyx_L0:;
27174   __Pyx_XDECREF(__pyx_v_arg);
27175   __Pyx_XDECREF(__pyx_v_entry);
27176   __Pyx_XGIVEREF(__pyx_r);
27177   __Pyx_RefNannyFinishContext();
27178   return __pyx_r;
27179 }
27180 
27181 /* "Cython/Compiler/FlowControl.py":853
27182  *         return node
27183  *
27184  *     def visit_CArgDeclNode(self, node):             # <<<<<<<<<<<<<<
27185  *         entry = self.env.lookup(node.name)
27186  *         if entry:
27187  */
27188 
27189 /* Python wrapper */
27190 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_29visit_CArgDeclNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
27191 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_29visit_CArgDeclNode = {"visit_CArgDeclNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_29visit_CArgDeclNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_29visit_CArgDeclNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)27192 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_29visit_CArgDeclNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
27193   PyObject *__pyx_r = 0;
27194   __Pyx_RefNannyDeclarations
27195   __Pyx_RefNannySetupContext("visit_CArgDeclNode (wrapper)", 0);
27196   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_28visit_CArgDeclNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
27197 
27198   /* function exit code */
27199   __Pyx_RefNannyFinishContext();
27200   return __pyx_r;
27201 }
27202 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_28visit_CArgDeclNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)27203 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_28visit_CArgDeclNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
27204   PyObject *__pyx_v_entry = NULL;
27205   int __pyx_v_may_be_none;
27206   PyObject *__pyx_r = NULL;
27207   __Pyx_RefNannyDeclarations
27208   PyObject *__pyx_t_1 = NULL;
27209   PyObject *__pyx_t_2 = NULL;
27210   PyObject *__pyx_t_3 = NULL;
27211   PyObject *__pyx_t_4 = NULL;
27212   int __pyx_t_5;
27213   PyObject *__pyx_t_6 = NULL;
27214   int __pyx_t_7;
27215   PyObject *__pyx_t_8 = NULL;
27216   int __pyx_lineno = 0;
27217   const char *__pyx_filename = NULL;
27218   int __pyx_clineno = 0;
27219   __Pyx_RefNannySetupContext("visit_CArgDeclNode", 0);
27220 
27221   /* "Cython/Compiler/FlowControl.py":854
27222  *
27223  *     def visit_CArgDeclNode(self, node):
27224  *         entry = self.env.lookup(node.name)             # <<<<<<<<<<<<<<
27225  *         if entry:
27226  *             may_be_none = not node.not_none
27227  */
27228   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->env, __pyx_n_s_lookup); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 854, __pyx_L1_error)
27229   __Pyx_GOTREF(__pyx_t_2);
27230   __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_name_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 854, __pyx_L1_error)
27231   __Pyx_GOTREF(__pyx_t_3);
27232   __pyx_t_4 = NULL;
27233   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
27234     __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
27235     if (likely(__pyx_t_4)) {
27236       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
27237       __Pyx_INCREF(__pyx_t_4);
27238       __Pyx_INCREF(function);
27239       __Pyx_DECREF_SET(__pyx_t_2, function);
27240     }
27241   }
27242   __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
27243   __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
27244   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
27245   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 854, __pyx_L1_error)
27246   __Pyx_GOTREF(__pyx_t_1);
27247   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
27248   __pyx_v_entry = __pyx_t_1;
27249   __pyx_t_1 = 0;
27250 
27251   /* "Cython/Compiler/FlowControl.py":855
27252  *     def visit_CArgDeclNode(self, node):
27253  *         entry = self.env.lookup(node.name)
27254  *         if entry:             # <<<<<<<<<<<<<<
27255  *             may_be_none = not node.not_none
27256  *             self.flow.mark_argument(
27257  */
27258   __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_entry); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 855, __pyx_L1_error)
27259   if (__pyx_t_5) {
27260 
27261     /* "Cython/Compiler/FlowControl.py":856
27262  *         entry = self.env.lookup(node.name)
27263  *         if entry:
27264  *             may_be_none = not node.not_none             # <<<<<<<<<<<<<<
27265  *             self.flow.mark_argument(
27266  *                 node, TypedExprNode(entry.type, may_be_none), entry)
27267  */
27268     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_not_none); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 856, __pyx_L1_error)
27269     __Pyx_GOTREF(__pyx_t_1);
27270     __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 856, __pyx_L1_error)
27271     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
27272     __pyx_v_may_be_none = (!__pyx_t_5);
27273 
27274     /* "Cython/Compiler/FlowControl.py":858
27275  *             may_be_none = not node.not_none
27276  *             self.flow.mark_argument(
27277  *                 node, TypedExprNode(entry.type, may_be_none), entry)             # <<<<<<<<<<<<<<
27278  *         return node
27279  *
27280  */
27281     __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 858, __pyx_L1_error)
27282     __Pyx_GOTREF(__pyx_t_2);
27283     __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_may_be_none); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 858, __pyx_L1_error)
27284     __Pyx_GOTREF(__pyx_t_3);
27285     __Pyx_INCREF(__pyx_v_6Cython_8Compiler_11FlowControl_TypedExprNode);
27286     __pyx_t_4 = __pyx_v_6Cython_8Compiler_11FlowControl_TypedExprNode; __pyx_t_6 = NULL;
27287     __pyx_t_7 = 0;
27288     if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
27289       __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
27290       if (likely(__pyx_t_6)) {
27291         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
27292         __Pyx_INCREF(__pyx_t_6);
27293         __Pyx_INCREF(function);
27294         __Pyx_DECREF_SET(__pyx_t_4, function);
27295         __pyx_t_7 = 1;
27296       }
27297     }
27298     #if CYTHON_FAST_PYCALL
27299     if (PyFunction_Check(__pyx_t_4)) {
27300       PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_2, __pyx_t_3};
27301       __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 858, __pyx_L1_error)
27302       __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
27303       __Pyx_GOTREF(__pyx_t_1);
27304       __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
27305       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
27306     } else
27307     #endif
27308     #if CYTHON_FAST_PYCCALL
27309     if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
27310       PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_2, __pyx_t_3};
27311       __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 858, __pyx_L1_error)
27312       __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
27313       __Pyx_GOTREF(__pyx_t_1);
27314       __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
27315       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
27316     } else
27317     #endif
27318     {
27319       __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 858, __pyx_L1_error)
27320       __Pyx_GOTREF(__pyx_t_8);
27321       if (__pyx_t_6) {
27322         __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
27323       }
27324       __Pyx_GIVEREF(__pyx_t_2);
27325       PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_2);
27326       __Pyx_GIVEREF(__pyx_t_3);
27327       PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_3);
27328       __pyx_t_2 = 0;
27329       __pyx_t_3 = 0;
27330       __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 858, __pyx_L1_error)
27331       __Pyx_GOTREF(__pyx_t_1);
27332       __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
27333     }
27334     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
27335 
27336     /* "Cython/Compiler/FlowControl.py":857
27337  *         if entry:
27338  *             may_be_none = not node.not_none
27339  *             self.flow.mark_argument(             # <<<<<<<<<<<<<<
27340  *                 node, TypedExprNode(entry.type, may_be_none), entry)
27341  *         return node
27342  */
27343     __pyx_t_4 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_argument(__pyx_v_self->flow, __pyx_v_node, __pyx_t_1, __pyx_v_entry, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 857, __pyx_L1_error)
27344     __Pyx_GOTREF(__pyx_t_4);
27345     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
27346     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
27347 
27348     /* "Cython/Compiler/FlowControl.py":855
27349  *     def visit_CArgDeclNode(self, node):
27350  *         entry = self.env.lookup(node.name)
27351  *         if entry:             # <<<<<<<<<<<<<<
27352  *             may_be_none = not node.not_none
27353  *             self.flow.mark_argument(
27354  */
27355   }
27356 
27357   /* "Cython/Compiler/FlowControl.py":859
27358  *             self.flow.mark_argument(
27359  *                 node, TypedExprNode(entry.type, may_be_none), entry)
27360  *         return node             # <<<<<<<<<<<<<<
27361  *
27362  *     def visit_NameNode(self, node):
27363  */
27364   __Pyx_XDECREF(__pyx_r);
27365   __Pyx_INCREF(__pyx_v_node);
27366   __pyx_r = __pyx_v_node;
27367   goto __pyx_L0;
27368 
27369   /* "Cython/Compiler/FlowControl.py":853
27370  *         return node
27371  *
27372  *     def visit_CArgDeclNode(self, node):             # <<<<<<<<<<<<<<
27373  *         entry = self.env.lookup(node.name)
27374  *         if entry:
27375  */
27376 
27377   /* function exit code */
27378   __pyx_L1_error:;
27379   __Pyx_XDECREF(__pyx_t_1);
27380   __Pyx_XDECREF(__pyx_t_2);
27381   __Pyx_XDECREF(__pyx_t_3);
27382   __Pyx_XDECREF(__pyx_t_4);
27383   __Pyx_XDECREF(__pyx_t_6);
27384   __Pyx_XDECREF(__pyx_t_8);
27385   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_CArgDeclNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
27386   __pyx_r = NULL;
27387   __pyx_L0:;
27388   __Pyx_XDECREF(__pyx_v_entry);
27389   __Pyx_XGIVEREF(__pyx_r);
27390   __Pyx_RefNannyFinishContext();
27391   return __pyx_r;
27392 }
27393 
27394 /* "Cython/Compiler/FlowControl.py":861
27395  *         return node
27396  *
27397  *     def visit_NameNode(self, node):             # <<<<<<<<<<<<<<
27398  *         if self.flow.block:
27399  *             entry = node.entry or self.env.lookup(node.name)
27400  */
27401 
27402 /* Python wrapper */
27403 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_31visit_NameNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
27404 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_31visit_NameNode = {"visit_NameNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_31visit_NameNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_31visit_NameNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)27405 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_31visit_NameNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
27406   PyObject *__pyx_r = 0;
27407   __Pyx_RefNannyDeclarations
27408   __Pyx_RefNannySetupContext("visit_NameNode (wrapper)", 0);
27409   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_30visit_NameNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
27410 
27411   /* function exit code */
27412   __Pyx_RefNannyFinishContext();
27413   return __pyx_r;
27414 }
27415 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_30visit_NameNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)27416 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_30visit_NameNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
27417   PyObject *__pyx_v_entry = NULL;
27418   PyObject *__pyx_r = NULL;
27419   __Pyx_RefNannyDeclarations
27420   int __pyx_t_1;
27421   PyObject *__pyx_t_2 = NULL;
27422   PyObject *__pyx_t_3 = NULL;
27423   PyObject *__pyx_t_4 = NULL;
27424   PyObject *__pyx_t_5 = NULL;
27425   PyObject *__pyx_t_6 = NULL;
27426   int __pyx_t_7;
27427   int __pyx_t_8;
27428   int __pyx_t_9;
27429   int __pyx_lineno = 0;
27430   const char *__pyx_filename = NULL;
27431   int __pyx_clineno = 0;
27432   __Pyx_RefNannySetupContext("visit_NameNode", 0);
27433 
27434   /* "Cython/Compiler/FlowControl.py":862
27435  *
27436  *     def visit_NameNode(self, node):
27437  *         if self.flow.block:             # <<<<<<<<<<<<<<
27438  *             entry = node.entry or self.env.lookup(node.name)
27439  *             if entry:
27440  */
27441   __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->flow->block)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 862, __pyx_L1_error)
27442   if (__pyx_t_1) {
27443 
27444     /* "Cython/Compiler/FlowControl.py":863
27445  *     def visit_NameNode(self, node):
27446  *         if self.flow.block:
27447  *             entry = node.entry or self.env.lookup(node.name)             # <<<<<<<<<<<<<<
27448  *             if entry:
27449  *                 self.flow.mark_reference(node, entry)
27450  */
27451     __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_entry); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 863, __pyx_L1_error)
27452     __Pyx_GOTREF(__pyx_t_3);
27453     __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 863, __pyx_L1_error)
27454     if (!__pyx_t_1) {
27455       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
27456     } else {
27457       __Pyx_INCREF(__pyx_t_3);
27458       __pyx_t_2 = __pyx_t_3;
27459       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
27460       goto __pyx_L4_bool_binop_done;
27461     }
27462     __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->env, __pyx_n_s_lookup); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 863, __pyx_L1_error)
27463     __Pyx_GOTREF(__pyx_t_4);
27464     __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_name_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 863, __pyx_L1_error)
27465     __Pyx_GOTREF(__pyx_t_5);
27466     __pyx_t_6 = NULL;
27467     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
27468       __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
27469       if (likely(__pyx_t_6)) {
27470         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
27471         __Pyx_INCREF(__pyx_t_6);
27472         __Pyx_INCREF(function);
27473         __Pyx_DECREF_SET(__pyx_t_4, function);
27474       }
27475     }
27476     __pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
27477     __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
27478     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
27479     if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 863, __pyx_L1_error)
27480     __Pyx_GOTREF(__pyx_t_3);
27481     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
27482     __Pyx_INCREF(__pyx_t_3);
27483     __pyx_t_2 = __pyx_t_3;
27484     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
27485     __pyx_L4_bool_binop_done:;
27486     __pyx_v_entry = __pyx_t_2;
27487     __pyx_t_2 = 0;
27488 
27489     /* "Cython/Compiler/FlowControl.py":864
27490  *         if self.flow.block:
27491  *             entry = node.entry or self.env.lookup(node.name)
27492  *             if entry:             # <<<<<<<<<<<<<<
27493  *                 self.flow.mark_reference(node, entry)
27494  *
27495  */
27496     __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_entry); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 864, __pyx_L1_error)
27497     if (__pyx_t_1) {
27498 
27499       /* "Cython/Compiler/FlowControl.py":865
27500  *             entry = node.entry or self.env.lookup(node.name)
27501  *             if entry:
27502  *                 self.flow.mark_reference(node, entry)             # <<<<<<<<<<<<<<
27503  *
27504  *                 if entry in self.reductions and not self.in_inplace_assignment:
27505  */
27506       __pyx_t_2 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_reference(__pyx_v_self->flow, __pyx_v_node, __pyx_v_entry, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 865, __pyx_L1_error)
27507       __Pyx_GOTREF(__pyx_t_2);
27508       __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
27509 
27510       /* "Cython/Compiler/FlowControl.py":867
27511  *                 self.flow.mark_reference(node, entry)
27512  *
27513  *                 if entry in self.reductions and not self.in_inplace_assignment:             # <<<<<<<<<<<<<<
27514  *                     error(node.pos,
27515  *                           "Cannot read reduction variable in loop body")
27516  */
27517       if (unlikely(__pyx_v_self->reductions == Py_None)) {
27518         PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
27519         __PYX_ERR(0, 867, __pyx_L1_error)
27520       }
27521       __pyx_t_7 = (__Pyx_PySet_ContainsTF(__pyx_v_entry, __pyx_v_self->reductions, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 867, __pyx_L1_error)
27522       __pyx_t_8 = (__pyx_t_7 != 0);
27523       if (__pyx_t_8) {
27524       } else {
27525         __pyx_t_1 = __pyx_t_8;
27526         goto __pyx_L8_bool_binop_done;
27527       }
27528       __pyx_t_8 = ((!(__pyx_v_self->in_inplace_assignment != 0)) != 0);
27529       __pyx_t_1 = __pyx_t_8;
27530       __pyx_L8_bool_binop_done:;
27531       if (__pyx_t_1) {
27532 
27533         /* "Cython/Compiler/FlowControl.py":868
27534  *
27535  *                 if entry in self.reductions and not self.in_inplace_assignment:
27536  *                     error(node.pos,             # <<<<<<<<<<<<<<
27537  *                           "Cannot read reduction variable in loop body")
27538  *
27539  */
27540         __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_pos); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 868, __pyx_L1_error)
27541         __Pyx_GOTREF(__pyx_t_3);
27542         __Pyx_INCREF(__pyx_v_6Cython_8Compiler_11FlowControl_error);
27543         __pyx_t_4 = __pyx_v_6Cython_8Compiler_11FlowControl_error; __pyx_t_5 = NULL;
27544         __pyx_t_9 = 0;
27545         if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
27546           __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
27547           if (likely(__pyx_t_5)) {
27548             PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
27549             __Pyx_INCREF(__pyx_t_5);
27550             __Pyx_INCREF(function);
27551             __Pyx_DECREF_SET(__pyx_t_4, function);
27552             __pyx_t_9 = 1;
27553           }
27554         }
27555         #if CYTHON_FAST_PYCALL
27556         if (PyFunction_Check(__pyx_t_4)) {
27557           PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_3, __pyx_kp_s_Cannot_read_reduction_variable_i};
27558           __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 868, __pyx_L1_error)
27559           __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
27560           __Pyx_GOTREF(__pyx_t_2);
27561           __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
27562         } else
27563         #endif
27564         #if CYTHON_FAST_PYCCALL
27565         if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
27566           PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_3, __pyx_kp_s_Cannot_read_reduction_variable_i};
27567           __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 868, __pyx_L1_error)
27568           __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
27569           __Pyx_GOTREF(__pyx_t_2);
27570           __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
27571         } else
27572         #endif
27573         {
27574           __pyx_t_6 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 868, __pyx_L1_error)
27575           __Pyx_GOTREF(__pyx_t_6);
27576           if (__pyx_t_5) {
27577             __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
27578           }
27579           __Pyx_GIVEREF(__pyx_t_3);
27580           PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_9, __pyx_t_3);
27581           __Pyx_INCREF(__pyx_kp_s_Cannot_read_reduction_variable_i);
27582           __Pyx_GIVEREF(__pyx_kp_s_Cannot_read_reduction_variable_i);
27583           PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_9, __pyx_kp_s_Cannot_read_reduction_variable_i);
27584           __pyx_t_3 = 0;
27585           __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 868, __pyx_L1_error)
27586           __Pyx_GOTREF(__pyx_t_2);
27587           __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
27588         }
27589         __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
27590         __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
27591 
27592         /* "Cython/Compiler/FlowControl.py":867
27593  *                 self.flow.mark_reference(node, entry)
27594  *
27595  *                 if entry in self.reductions and not self.in_inplace_assignment:             # <<<<<<<<<<<<<<
27596  *                     error(node.pos,
27597  *                           "Cannot read reduction variable in loop body")
27598  */
27599       }
27600 
27601       /* "Cython/Compiler/FlowControl.py":864
27602  *         if self.flow.block:
27603  *             entry = node.entry or self.env.lookup(node.name)
27604  *             if entry:             # <<<<<<<<<<<<<<
27605  *                 self.flow.mark_reference(node, entry)
27606  *
27607  */
27608     }
27609 
27610     /* "Cython/Compiler/FlowControl.py":862
27611  *
27612  *     def visit_NameNode(self, node):
27613  *         if self.flow.block:             # <<<<<<<<<<<<<<
27614  *             entry = node.entry or self.env.lookup(node.name)
27615  *             if entry:
27616  */
27617   }
27618 
27619   /* "Cython/Compiler/FlowControl.py":871
27620  *                           "Cannot read reduction variable in loop body")
27621  *
27622  *         return node             # <<<<<<<<<<<<<<
27623  *
27624  *     def visit_StatListNode(self, node):
27625  */
27626   __Pyx_XDECREF(__pyx_r);
27627   __Pyx_INCREF(__pyx_v_node);
27628   __pyx_r = __pyx_v_node;
27629   goto __pyx_L0;
27630 
27631   /* "Cython/Compiler/FlowControl.py":861
27632  *         return node
27633  *
27634  *     def visit_NameNode(self, node):             # <<<<<<<<<<<<<<
27635  *         if self.flow.block:
27636  *             entry = node.entry or self.env.lookup(node.name)
27637  */
27638 
27639   /* function exit code */
27640   __pyx_L1_error:;
27641   __Pyx_XDECREF(__pyx_t_2);
27642   __Pyx_XDECREF(__pyx_t_3);
27643   __Pyx_XDECREF(__pyx_t_4);
27644   __Pyx_XDECREF(__pyx_t_5);
27645   __Pyx_XDECREF(__pyx_t_6);
27646   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_NameNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
27647   __pyx_r = NULL;
27648   __pyx_L0:;
27649   __Pyx_XDECREF(__pyx_v_entry);
27650   __Pyx_XGIVEREF(__pyx_r);
27651   __Pyx_RefNannyFinishContext();
27652   return __pyx_r;
27653 }
27654 
27655 /* "Cython/Compiler/FlowControl.py":873
27656  *         return node
27657  *
27658  *     def visit_StatListNode(self, node):             # <<<<<<<<<<<<<<
27659  *         if self.flow.block:
27660  *             for stat in node.stats:
27661  */
27662 
27663 /* Python wrapper */
27664 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_33visit_StatListNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
27665 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_33visit_StatListNode = {"visit_StatListNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_33visit_StatListNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_33visit_StatListNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)27666 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_33visit_StatListNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
27667   PyObject *__pyx_r = 0;
27668   __Pyx_RefNannyDeclarations
27669   __Pyx_RefNannySetupContext("visit_StatListNode (wrapper)", 0);
27670   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_32visit_StatListNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
27671 
27672   /* function exit code */
27673   __Pyx_RefNannyFinishContext();
27674   return __pyx_r;
27675 }
27676 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_32visit_StatListNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)27677 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_32visit_StatListNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
27678   PyObject *__pyx_v_stat = NULL;
27679   PyObject *__pyx_r = NULL;
27680   __Pyx_RefNannyDeclarations
27681   int __pyx_t_1;
27682   PyObject *__pyx_t_2 = NULL;
27683   PyObject *__pyx_t_3 = NULL;
27684   Py_ssize_t __pyx_t_4;
27685   PyObject *(*__pyx_t_5)(PyObject *);
27686   int __pyx_t_6;
27687   int __pyx_lineno = 0;
27688   const char *__pyx_filename = NULL;
27689   int __pyx_clineno = 0;
27690   __Pyx_RefNannySetupContext("visit_StatListNode", 0);
27691 
27692   /* "Cython/Compiler/FlowControl.py":874
27693  *
27694  *     def visit_StatListNode(self, node):
27695  *         if self.flow.block:             # <<<<<<<<<<<<<<
27696  *             for stat in node.stats:
27697  *                 self._visit(stat)
27698  */
27699   __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->flow->block)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 874, __pyx_L1_error)
27700   if (__pyx_t_1) {
27701 
27702     /* "Cython/Compiler/FlowControl.py":875
27703  *     def visit_StatListNode(self, node):
27704  *         if self.flow.block:
27705  *             for stat in node.stats:             # <<<<<<<<<<<<<<
27706  *                 self._visit(stat)
27707  *                 if not self.flow.block:
27708  */
27709     __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_stats); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 875, __pyx_L1_error)
27710     __Pyx_GOTREF(__pyx_t_2);
27711     if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
27712       __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
27713       __pyx_t_5 = NULL;
27714     } else {
27715       __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 875, __pyx_L1_error)
27716       __Pyx_GOTREF(__pyx_t_3);
27717       __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 875, __pyx_L1_error)
27718     }
27719     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
27720     for (;;) {
27721       if (likely(!__pyx_t_5)) {
27722         if (likely(PyList_CheckExact(__pyx_t_3))) {
27723           if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
27724           #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
27725           __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 875, __pyx_L1_error)
27726           #else
27727           __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 875, __pyx_L1_error)
27728           __Pyx_GOTREF(__pyx_t_2);
27729           #endif
27730         } else {
27731           if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
27732           #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
27733           __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 875, __pyx_L1_error)
27734           #else
27735           __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 875, __pyx_L1_error)
27736           __Pyx_GOTREF(__pyx_t_2);
27737           #endif
27738         }
27739       } else {
27740         __pyx_t_2 = __pyx_t_5(__pyx_t_3);
27741         if (unlikely(!__pyx_t_2)) {
27742           PyObject* exc_type = PyErr_Occurred();
27743           if (exc_type) {
27744             if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
27745             else __PYX_ERR(0, 875, __pyx_L1_error)
27746           }
27747           break;
27748         }
27749         __Pyx_GOTREF(__pyx_t_2);
27750       }
27751       __Pyx_XDECREF_SET(__pyx_v_stat, __pyx_t_2);
27752       __pyx_t_2 = 0;
27753 
27754       /* "Cython/Compiler/FlowControl.py":876
27755  *         if self.flow.block:
27756  *             for stat in node.stats:
27757  *                 self._visit(stat)             # <<<<<<<<<<<<<<
27758  *                 if not self.flow.block:
27759  *                     stat.is_terminator = True
27760  */
27761       __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_v_stat); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 876, __pyx_L1_error)
27762       __Pyx_GOTREF(__pyx_t_2);
27763       __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
27764 
27765       /* "Cython/Compiler/FlowControl.py":877
27766  *             for stat in node.stats:
27767  *                 self._visit(stat)
27768  *                 if not self.flow.block:             # <<<<<<<<<<<<<<
27769  *                     stat.is_terminator = True
27770  *                     break
27771  */
27772       __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->flow->block)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 877, __pyx_L1_error)
27773       __pyx_t_6 = ((!__pyx_t_1) != 0);
27774       if (__pyx_t_6) {
27775 
27776         /* "Cython/Compiler/FlowControl.py":878
27777  *                 self._visit(stat)
27778  *                 if not self.flow.block:
27779  *                     stat.is_terminator = True             # <<<<<<<<<<<<<<
27780  *                     break
27781  *         return node
27782  */
27783         if (__Pyx_PyObject_SetAttrStr(__pyx_v_stat, __pyx_n_s_is_terminator, Py_True) < 0) __PYX_ERR(0, 878, __pyx_L1_error)
27784 
27785         /* "Cython/Compiler/FlowControl.py":879
27786  *                 if not self.flow.block:
27787  *                     stat.is_terminator = True
27788  *                     break             # <<<<<<<<<<<<<<
27789  *         return node
27790  *
27791  */
27792         goto __pyx_L5_break;
27793 
27794         /* "Cython/Compiler/FlowControl.py":877
27795  *             for stat in node.stats:
27796  *                 self._visit(stat)
27797  *                 if not self.flow.block:             # <<<<<<<<<<<<<<
27798  *                     stat.is_terminator = True
27799  *                     break
27800  */
27801       }
27802 
27803       /* "Cython/Compiler/FlowControl.py":875
27804  *     def visit_StatListNode(self, node):
27805  *         if self.flow.block:
27806  *             for stat in node.stats:             # <<<<<<<<<<<<<<
27807  *                 self._visit(stat)
27808  *                 if not self.flow.block:
27809  */
27810     }
27811     __pyx_L5_break:;
27812     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
27813 
27814     /* "Cython/Compiler/FlowControl.py":874
27815  *
27816  *     def visit_StatListNode(self, node):
27817  *         if self.flow.block:             # <<<<<<<<<<<<<<
27818  *             for stat in node.stats:
27819  *                 self._visit(stat)
27820  */
27821   }
27822 
27823   /* "Cython/Compiler/FlowControl.py":880
27824  *                     stat.is_terminator = True
27825  *                     break
27826  *         return node             # <<<<<<<<<<<<<<
27827  *
27828  *     def visit_Node(self, node):
27829  */
27830   __Pyx_XDECREF(__pyx_r);
27831   __Pyx_INCREF(__pyx_v_node);
27832   __pyx_r = __pyx_v_node;
27833   goto __pyx_L0;
27834 
27835   /* "Cython/Compiler/FlowControl.py":873
27836  *         return node
27837  *
27838  *     def visit_StatListNode(self, node):             # <<<<<<<<<<<<<<
27839  *         if self.flow.block:
27840  *             for stat in node.stats:
27841  */
27842 
27843   /* function exit code */
27844   __pyx_L1_error:;
27845   __Pyx_XDECREF(__pyx_t_2);
27846   __Pyx_XDECREF(__pyx_t_3);
27847   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_StatListNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
27848   __pyx_r = NULL;
27849   __pyx_L0:;
27850   __Pyx_XDECREF(__pyx_v_stat);
27851   __Pyx_XGIVEREF(__pyx_r);
27852   __Pyx_RefNannyFinishContext();
27853   return __pyx_r;
27854 }
27855 
27856 /* "Cython/Compiler/FlowControl.py":882
27857  *         return node
27858  *
27859  *     def visit_Node(self, node):             # <<<<<<<<<<<<<<
27860  *         self.visitchildren(node)
27861  *         self.mark_position(node)
27862  */
27863 
27864 /* Python wrapper */
27865 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_35visit_Node(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
27866 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_35visit_Node = {"visit_Node", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_35visit_Node, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_35visit_Node(PyObject * __pyx_v_self,PyObject * __pyx_v_node)27867 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_35visit_Node(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
27868   PyObject *__pyx_r = 0;
27869   __Pyx_RefNannyDeclarations
27870   __Pyx_RefNannySetupContext("visit_Node (wrapper)", 0);
27871   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_34visit_Node(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
27872 
27873   /* function exit code */
27874   __Pyx_RefNannyFinishContext();
27875   return __pyx_r;
27876 }
27877 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_34visit_Node(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)27878 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_34visit_Node(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
27879   PyObject *__pyx_r = NULL;
27880   __Pyx_RefNannyDeclarations
27881   PyObject *__pyx_t_1 = NULL;
27882   int __pyx_lineno = 0;
27883   const char *__pyx_filename = NULL;
27884   int __pyx_clineno = 0;
27885   __Pyx_RefNannySetupContext("visit_Node", 0);
27886 
27887   /* "Cython/Compiler/FlowControl.py":883
27888  *
27889  *     def visit_Node(self, node):
27890  *         self.visitchildren(node)             # <<<<<<<<<<<<<<
27891  *         self.mark_position(node)
27892  *         return node
27893  */
27894   __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.visitchildren(((struct __pyx_obj_6Cython_8Compiler_7Visitor_VisitorTransform *)__pyx_v_self), __pyx_v_node, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 883, __pyx_L1_error)
27895   __Pyx_GOTREF(__pyx_t_1);
27896   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
27897 
27898   /* "Cython/Compiler/FlowControl.py":884
27899  *     def visit_Node(self, node):
27900  *         self.visitchildren(node)
27901  *         self.mark_position(node)             # <<<<<<<<<<<<<<
27902  *         return node
27903  *
27904  */
27905   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_position(__pyx_v_self, __pyx_v_node, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 884, __pyx_L1_error)
27906   __Pyx_GOTREF(__pyx_t_1);
27907   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
27908 
27909   /* "Cython/Compiler/FlowControl.py":885
27910  *         self.visitchildren(node)
27911  *         self.mark_position(node)
27912  *         return node             # <<<<<<<<<<<<<<
27913  *
27914  *     def visit_SizeofVarNode(self, node):
27915  */
27916   __Pyx_XDECREF(__pyx_r);
27917   __Pyx_INCREF(__pyx_v_node);
27918   __pyx_r = __pyx_v_node;
27919   goto __pyx_L0;
27920 
27921   /* "Cython/Compiler/FlowControl.py":882
27922  *         return node
27923  *
27924  *     def visit_Node(self, node):             # <<<<<<<<<<<<<<
27925  *         self.visitchildren(node)
27926  *         self.mark_position(node)
27927  */
27928 
27929   /* function exit code */
27930   __pyx_L1_error:;
27931   __Pyx_XDECREF(__pyx_t_1);
27932   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_Node", __pyx_clineno, __pyx_lineno, __pyx_filename);
27933   __pyx_r = NULL;
27934   __pyx_L0:;
27935   __Pyx_XGIVEREF(__pyx_r);
27936   __Pyx_RefNannyFinishContext();
27937   return __pyx_r;
27938 }
27939 
27940 /* "Cython/Compiler/FlowControl.py":887
27941  *         return node
27942  *
27943  *     def visit_SizeofVarNode(self, node):             # <<<<<<<<<<<<<<
27944  *         return node
27945  *
27946  */
27947 
27948 /* Python wrapper */
27949 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_37visit_SizeofVarNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
27950 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_37visit_SizeofVarNode = {"visit_SizeofVarNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_37visit_SizeofVarNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_37visit_SizeofVarNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)27951 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_37visit_SizeofVarNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
27952   PyObject *__pyx_r = 0;
27953   __Pyx_RefNannyDeclarations
27954   __Pyx_RefNannySetupContext("visit_SizeofVarNode (wrapper)", 0);
27955   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_36visit_SizeofVarNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
27956 
27957   /* function exit code */
27958   __Pyx_RefNannyFinishContext();
27959   return __pyx_r;
27960 }
27961 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_36visit_SizeofVarNode(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)27962 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_36visit_SizeofVarNode(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
27963   PyObject *__pyx_r = NULL;
27964   __Pyx_RefNannyDeclarations
27965   __Pyx_RefNannySetupContext("visit_SizeofVarNode", 0);
27966 
27967   /* "Cython/Compiler/FlowControl.py":888
27968  *
27969  *     def visit_SizeofVarNode(self, node):
27970  *         return node             # <<<<<<<<<<<<<<
27971  *
27972  *     def visit_TypeidNode(self, node):
27973  */
27974   __Pyx_XDECREF(__pyx_r);
27975   __Pyx_INCREF(__pyx_v_node);
27976   __pyx_r = __pyx_v_node;
27977   goto __pyx_L0;
27978 
27979   /* "Cython/Compiler/FlowControl.py":887
27980  *         return node
27981  *
27982  *     def visit_SizeofVarNode(self, node):             # <<<<<<<<<<<<<<
27983  *         return node
27984  *
27985  */
27986 
27987   /* function exit code */
27988   __pyx_L0:;
27989   __Pyx_XGIVEREF(__pyx_r);
27990   __Pyx_RefNannyFinishContext();
27991   return __pyx_r;
27992 }
27993 
27994 /* "Cython/Compiler/FlowControl.py":890
27995  *         return node
27996  *
27997  *     def visit_TypeidNode(self, node):             # <<<<<<<<<<<<<<
27998  *         return node
27999  *
28000  */
28001 
28002 /* Python wrapper */
28003 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_39visit_TypeidNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
28004 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_39visit_TypeidNode = {"visit_TypeidNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_39visit_TypeidNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_39visit_TypeidNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)28005 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_39visit_TypeidNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
28006   PyObject *__pyx_r = 0;
28007   __Pyx_RefNannyDeclarations
28008   __Pyx_RefNannySetupContext("visit_TypeidNode (wrapper)", 0);
28009   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_38visit_TypeidNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
28010 
28011   /* function exit code */
28012   __Pyx_RefNannyFinishContext();
28013   return __pyx_r;
28014 }
28015 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_38visit_TypeidNode(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)28016 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_38visit_TypeidNode(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
28017   PyObject *__pyx_r = NULL;
28018   __Pyx_RefNannyDeclarations
28019   __Pyx_RefNannySetupContext("visit_TypeidNode", 0);
28020 
28021   /* "Cython/Compiler/FlowControl.py":891
28022  *
28023  *     def visit_TypeidNode(self, node):
28024  *         return node             # <<<<<<<<<<<<<<
28025  *
28026  *     def visit_IfStatNode(self, node):
28027  */
28028   __Pyx_XDECREF(__pyx_r);
28029   __Pyx_INCREF(__pyx_v_node);
28030   __pyx_r = __pyx_v_node;
28031   goto __pyx_L0;
28032 
28033   /* "Cython/Compiler/FlowControl.py":890
28034  *         return node
28035  *
28036  *     def visit_TypeidNode(self, node):             # <<<<<<<<<<<<<<
28037  *         return node
28038  *
28039  */
28040 
28041   /* function exit code */
28042   __pyx_L0:;
28043   __Pyx_XGIVEREF(__pyx_r);
28044   __Pyx_RefNannyFinishContext();
28045   return __pyx_r;
28046 }
28047 
28048 /* "Cython/Compiler/FlowControl.py":893
28049  *         return node
28050  *
28051  *     def visit_IfStatNode(self, node):             # <<<<<<<<<<<<<<
28052  *         next_block = self.flow.newblock()
28053  *         parent = self.flow.block
28054  */
28055 
28056 /* Python wrapper */
28057 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_41visit_IfStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
28058 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_41visit_IfStatNode = {"visit_IfStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_41visit_IfStatNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_41visit_IfStatNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)28059 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_41visit_IfStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
28060   PyObject *__pyx_r = 0;
28061   __Pyx_RefNannyDeclarations
28062   __Pyx_RefNannySetupContext("visit_IfStatNode (wrapper)", 0);
28063   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_40visit_IfStatNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
28064 
28065   /* function exit code */
28066   __Pyx_RefNannyFinishContext();
28067   return __pyx_r;
28068 }
28069 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_40visit_IfStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)28070 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_40visit_IfStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
28071   PyObject *__pyx_v_next_block = NULL;
28072   PyObject *__pyx_v_parent = NULL;
28073   PyObject *__pyx_v_clause = NULL;
28074   PyObject *__pyx_r = NULL;
28075   __Pyx_RefNannyDeclarations
28076   PyObject *__pyx_t_1 = NULL;
28077   PyObject *__pyx_t_2 = NULL;
28078   Py_ssize_t __pyx_t_3;
28079   PyObject *(*__pyx_t_4)(PyObject *);
28080   struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock __pyx_t_5;
28081   PyObject *__pyx_t_6 = NULL;
28082   int __pyx_t_7;
28083   int __pyx_lineno = 0;
28084   const char *__pyx_filename = NULL;
28085   int __pyx_clineno = 0;
28086   __Pyx_RefNannySetupContext("visit_IfStatNode", 0);
28087 
28088   /* "Cython/Compiler/FlowControl.py":894
28089  *
28090  *     def visit_IfStatNode(self, node):
28091  *         next_block = self.flow.newblock()             # <<<<<<<<<<<<<<
28092  *         parent = self.flow.block
28093  *         # If clauses
28094  */
28095   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 894, __pyx_L1_error)
28096   __Pyx_GOTREF(__pyx_t_1);
28097   __pyx_v_next_block = __pyx_t_1;
28098   __pyx_t_1 = 0;
28099 
28100   /* "Cython/Compiler/FlowControl.py":895
28101  *     def visit_IfStatNode(self, node):
28102  *         next_block = self.flow.newblock()
28103  *         parent = self.flow.block             # <<<<<<<<<<<<<<
28104  *         # If clauses
28105  *         for clause in node.if_clauses:
28106  */
28107   __pyx_t_1 = ((PyObject *)__pyx_v_self->flow->block);
28108   __Pyx_INCREF(__pyx_t_1);
28109   __pyx_v_parent = __pyx_t_1;
28110   __pyx_t_1 = 0;
28111 
28112   /* "Cython/Compiler/FlowControl.py":897
28113  *         parent = self.flow.block
28114  *         # If clauses
28115  *         for clause in node.if_clauses:             # <<<<<<<<<<<<<<
28116  *             parent = self.flow.nextblock(parent)
28117  *             self._visit(clause.condition)
28118  */
28119   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_if_clauses); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 897, __pyx_L1_error)
28120   __Pyx_GOTREF(__pyx_t_1);
28121   if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
28122     __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
28123     __pyx_t_4 = NULL;
28124   } else {
28125     __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 897, __pyx_L1_error)
28126     __Pyx_GOTREF(__pyx_t_2);
28127     __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 897, __pyx_L1_error)
28128   }
28129   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
28130   for (;;) {
28131     if (likely(!__pyx_t_4)) {
28132       if (likely(PyList_CheckExact(__pyx_t_2))) {
28133         if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
28134         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
28135         __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 897, __pyx_L1_error)
28136         #else
28137         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 897, __pyx_L1_error)
28138         __Pyx_GOTREF(__pyx_t_1);
28139         #endif
28140       } else {
28141         if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
28142         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
28143         __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 897, __pyx_L1_error)
28144         #else
28145         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 897, __pyx_L1_error)
28146         __Pyx_GOTREF(__pyx_t_1);
28147         #endif
28148       }
28149     } else {
28150       __pyx_t_1 = __pyx_t_4(__pyx_t_2);
28151       if (unlikely(!__pyx_t_1)) {
28152         PyObject* exc_type = PyErr_Occurred();
28153         if (exc_type) {
28154           if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
28155           else __PYX_ERR(0, 897, __pyx_L1_error)
28156         }
28157         break;
28158       }
28159       __Pyx_GOTREF(__pyx_t_1);
28160     }
28161     __Pyx_XDECREF_SET(__pyx_v_clause, __pyx_t_1);
28162     __pyx_t_1 = 0;
28163 
28164     /* "Cython/Compiler/FlowControl.py":898
28165  *         # If clauses
28166  *         for clause in node.if_clauses:
28167  *             parent = self.flow.nextblock(parent)             # <<<<<<<<<<<<<<
28168  *             self._visit(clause.condition)
28169  *             self.flow.nextblock()
28170  */
28171     if (!(likely(((__pyx_v_parent) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_parent, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(0, 898, __pyx_L1_error)
28172     __pyx_t_5.__pyx_n = 1;
28173     __pyx_t_5.parent = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_parent);
28174     __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, &__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 898, __pyx_L1_error)
28175     __Pyx_GOTREF(__pyx_t_1);
28176     __Pyx_DECREF_SET(__pyx_v_parent, __pyx_t_1);
28177     __pyx_t_1 = 0;
28178 
28179     /* "Cython/Compiler/FlowControl.py":899
28180  *         for clause in node.if_clauses:
28181  *             parent = self.flow.nextblock(parent)
28182  *             self._visit(clause.condition)             # <<<<<<<<<<<<<<
28183  *             self.flow.nextblock()
28184  *             self._visit(clause.body)
28185  */
28186     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_clause, __pyx_n_s_condition); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 899, __pyx_L1_error)
28187     __Pyx_GOTREF(__pyx_t_1);
28188     __pyx_t_6 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 899, __pyx_L1_error)
28189     __Pyx_GOTREF(__pyx_t_6);
28190     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
28191     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
28192 
28193     /* "Cython/Compiler/FlowControl.py":900
28194  *             parent = self.flow.nextblock(parent)
28195  *             self._visit(clause.condition)
28196  *             self.flow.nextblock()             # <<<<<<<<<<<<<<
28197  *             self._visit(clause.body)
28198  *             if self.flow.block:
28199  */
28200     __pyx_t_6 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 900, __pyx_L1_error)
28201     __Pyx_GOTREF(__pyx_t_6);
28202     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
28203 
28204     /* "Cython/Compiler/FlowControl.py":901
28205  *             self._visit(clause.condition)
28206  *             self.flow.nextblock()
28207  *             self._visit(clause.body)             # <<<<<<<<<<<<<<
28208  *             if self.flow.block:
28209  *                 self.flow.block.add_child(next_block)
28210  */
28211     __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_clause, __pyx_n_s_body); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 901, __pyx_L1_error)
28212     __Pyx_GOTREF(__pyx_t_6);
28213     __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 901, __pyx_L1_error)
28214     __Pyx_GOTREF(__pyx_t_1);
28215     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
28216     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
28217 
28218     /* "Cython/Compiler/FlowControl.py":902
28219  *             self.flow.nextblock()
28220  *             self._visit(clause.body)
28221  *             if self.flow.block:             # <<<<<<<<<<<<<<
28222  *                 self.flow.block.add_child(next_block)
28223  *         # Else clause
28224  */
28225     __pyx_t_7 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->flow->block)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 902, __pyx_L1_error)
28226     if (__pyx_t_7) {
28227 
28228       /* "Cython/Compiler/FlowControl.py":903
28229  *             self._visit(clause.body)
28230  *             if self.flow.block:
28231  *                 self.flow.block.add_child(next_block)             # <<<<<<<<<<<<<<
28232  *         # Else clause
28233  *         if node.else_clause:
28234  */
28235       __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_v_next_block, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 903, __pyx_L1_error)
28236       __Pyx_GOTREF(__pyx_t_1);
28237       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
28238 
28239       /* "Cython/Compiler/FlowControl.py":902
28240  *             self.flow.nextblock()
28241  *             self._visit(clause.body)
28242  *             if self.flow.block:             # <<<<<<<<<<<<<<
28243  *                 self.flow.block.add_child(next_block)
28244  *         # Else clause
28245  */
28246     }
28247 
28248     /* "Cython/Compiler/FlowControl.py":897
28249  *         parent = self.flow.block
28250  *         # If clauses
28251  *         for clause in node.if_clauses:             # <<<<<<<<<<<<<<
28252  *             parent = self.flow.nextblock(parent)
28253  *             self._visit(clause.condition)
28254  */
28255   }
28256   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
28257 
28258   /* "Cython/Compiler/FlowControl.py":905
28259  *                 self.flow.block.add_child(next_block)
28260  *         # Else clause
28261  *         if node.else_clause:             # <<<<<<<<<<<<<<
28262  *             self.flow.nextblock(parent=parent)
28263  *             self._visit(node.else_clause)
28264  */
28265   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_else_clause); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 905, __pyx_L1_error)
28266   __Pyx_GOTREF(__pyx_t_2);
28267   __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 905, __pyx_L1_error)
28268   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
28269   if (__pyx_t_7) {
28270 
28271     /* "Cython/Compiler/FlowControl.py":906
28272  *         # Else clause
28273  *         if node.else_clause:
28274  *             self.flow.nextblock(parent=parent)             # <<<<<<<<<<<<<<
28275  *             self._visit(node.else_clause)
28276  *             if self.flow.block:
28277  */
28278     if (!(likely(((__pyx_v_parent) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_parent, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(0, 906, __pyx_L1_error)
28279     __pyx_t_5.__pyx_n = 1;
28280     __pyx_t_5.parent = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_parent);
28281     __pyx_t_2 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, &__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 906, __pyx_L1_error)
28282     __Pyx_GOTREF(__pyx_t_2);
28283     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
28284 
28285     /* "Cython/Compiler/FlowControl.py":907
28286  *         if node.else_clause:
28287  *             self.flow.nextblock(parent=parent)
28288  *             self._visit(node.else_clause)             # <<<<<<<<<<<<<<
28289  *             if self.flow.block:
28290  *                 self.flow.block.add_child(next_block)
28291  */
28292     __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_else_clause); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 907, __pyx_L1_error)
28293     __Pyx_GOTREF(__pyx_t_2);
28294     __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 907, __pyx_L1_error)
28295     __Pyx_GOTREF(__pyx_t_1);
28296     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
28297     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
28298 
28299     /* "Cython/Compiler/FlowControl.py":908
28300  *             self.flow.nextblock(parent=parent)
28301  *             self._visit(node.else_clause)
28302  *             if self.flow.block:             # <<<<<<<<<<<<<<
28303  *                 self.flow.block.add_child(next_block)
28304  *         else:
28305  */
28306     __pyx_t_7 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->flow->block)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 908, __pyx_L1_error)
28307     if (__pyx_t_7) {
28308 
28309       /* "Cython/Compiler/FlowControl.py":909
28310  *             self._visit(node.else_clause)
28311  *             if self.flow.block:
28312  *                 self.flow.block.add_child(next_block)             # <<<<<<<<<<<<<<
28313  *         else:
28314  *             parent.add_child(next_block)
28315  */
28316       __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_v_next_block, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 909, __pyx_L1_error)
28317       __Pyx_GOTREF(__pyx_t_1);
28318       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
28319 
28320       /* "Cython/Compiler/FlowControl.py":908
28321  *             self.flow.nextblock(parent=parent)
28322  *             self._visit(node.else_clause)
28323  *             if self.flow.block:             # <<<<<<<<<<<<<<
28324  *                 self.flow.block.add_child(next_block)
28325  *         else:
28326  */
28327     }
28328 
28329     /* "Cython/Compiler/FlowControl.py":905
28330  *                 self.flow.block.add_child(next_block)
28331  *         # Else clause
28332  *         if node.else_clause:             # <<<<<<<<<<<<<<
28333  *             self.flow.nextblock(parent=parent)
28334  *             self._visit(node.else_clause)
28335  */
28336     goto __pyx_L6;
28337   }
28338 
28339   /* "Cython/Compiler/FlowControl.py":911
28340  *                 self.flow.block.add_child(next_block)
28341  *         else:
28342  *             parent.add_child(next_block)             # <<<<<<<<<<<<<<
28343  *
28344  *         if next_block.parents:
28345  */
28346   /*else*/ {
28347     __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_add_child); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 911, __pyx_L1_error)
28348     __Pyx_GOTREF(__pyx_t_2);
28349     __pyx_t_6 = NULL;
28350     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
28351       __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
28352       if (likely(__pyx_t_6)) {
28353         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
28354         __Pyx_INCREF(__pyx_t_6);
28355         __Pyx_INCREF(function);
28356         __Pyx_DECREF_SET(__pyx_t_2, function);
28357       }
28358     }
28359     __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_6, __pyx_v_next_block) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_next_block);
28360     __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
28361     if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 911, __pyx_L1_error)
28362     __Pyx_GOTREF(__pyx_t_1);
28363     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
28364     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
28365   }
28366   __pyx_L6:;
28367 
28368   /* "Cython/Compiler/FlowControl.py":913
28369  *             parent.add_child(next_block)
28370  *
28371  *         if next_block.parents:             # <<<<<<<<<<<<<<
28372  *             self.flow.block = next_block
28373  *         else:
28374  */
28375   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_next_block, __pyx_n_s_parents); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 913, __pyx_L1_error)
28376   __Pyx_GOTREF(__pyx_t_1);
28377   __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 913, __pyx_L1_error)
28378   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
28379   if (__pyx_t_7) {
28380 
28381     /* "Cython/Compiler/FlowControl.py":914
28382  *
28383  *         if next_block.parents:
28384  *             self.flow.block = next_block             # <<<<<<<<<<<<<<
28385  *         else:
28386  *             self.flow.block = None
28387  */
28388     if (!(likely(((__pyx_v_next_block) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_next_block, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(0, 914, __pyx_L1_error)
28389     __pyx_t_1 = __pyx_v_next_block;
28390     __Pyx_INCREF(__pyx_t_1);
28391     __Pyx_GIVEREF(__pyx_t_1);
28392     __Pyx_GOTREF(__pyx_v_self->flow->block);
28393     __Pyx_DECREF(((PyObject *)__pyx_v_self->flow->block));
28394     __pyx_v_self->flow->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_1);
28395     __pyx_t_1 = 0;
28396 
28397     /* "Cython/Compiler/FlowControl.py":913
28398  *             parent.add_child(next_block)
28399  *
28400  *         if next_block.parents:             # <<<<<<<<<<<<<<
28401  *             self.flow.block = next_block
28402  *         else:
28403  */
28404     goto __pyx_L8;
28405   }
28406 
28407   /* "Cython/Compiler/FlowControl.py":916
28408  *             self.flow.block = next_block
28409  *         else:
28410  *             self.flow.block = None             # <<<<<<<<<<<<<<
28411  *         return node
28412  *
28413  */
28414   /*else*/ {
28415     __Pyx_INCREF(Py_None);
28416     __Pyx_GIVEREF(Py_None);
28417     __Pyx_GOTREF(__pyx_v_self->flow->block);
28418     __Pyx_DECREF(((PyObject *)__pyx_v_self->flow->block));
28419     __pyx_v_self->flow->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)Py_None);
28420   }
28421   __pyx_L8:;
28422 
28423   /* "Cython/Compiler/FlowControl.py":917
28424  *         else:
28425  *             self.flow.block = None
28426  *         return node             # <<<<<<<<<<<<<<
28427  *
28428  *     def visit_WhileStatNode(self, node):
28429  */
28430   __Pyx_XDECREF(__pyx_r);
28431   __Pyx_INCREF(__pyx_v_node);
28432   __pyx_r = __pyx_v_node;
28433   goto __pyx_L0;
28434 
28435   /* "Cython/Compiler/FlowControl.py":893
28436  *         return node
28437  *
28438  *     def visit_IfStatNode(self, node):             # <<<<<<<<<<<<<<
28439  *         next_block = self.flow.newblock()
28440  *         parent = self.flow.block
28441  */
28442 
28443   /* function exit code */
28444   __pyx_L1_error:;
28445   __Pyx_XDECREF(__pyx_t_1);
28446   __Pyx_XDECREF(__pyx_t_2);
28447   __Pyx_XDECREF(__pyx_t_6);
28448   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_IfStatNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
28449   __pyx_r = NULL;
28450   __pyx_L0:;
28451   __Pyx_XDECREF(__pyx_v_next_block);
28452   __Pyx_XDECREF(__pyx_v_parent);
28453   __Pyx_XDECREF(__pyx_v_clause);
28454   __Pyx_XGIVEREF(__pyx_r);
28455   __Pyx_RefNannyFinishContext();
28456   return __pyx_r;
28457 }
28458 
28459 /* "Cython/Compiler/FlowControl.py":919
28460  *         return node
28461  *
28462  *     def visit_WhileStatNode(self, node):             # <<<<<<<<<<<<<<
28463  *         condition_block = self.flow.nextblock()
28464  *         next_block = self.flow.newblock()
28465  */
28466 
28467 /* Python wrapper */
28468 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_43visit_WhileStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
28469 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_43visit_WhileStatNode = {"visit_WhileStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_43visit_WhileStatNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_43visit_WhileStatNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)28470 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_43visit_WhileStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
28471   PyObject *__pyx_r = 0;
28472   __Pyx_RefNannyDeclarations
28473   __Pyx_RefNannySetupContext("visit_WhileStatNode (wrapper)", 0);
28474   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_42visit_WhileStatNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
28475 
28476   /* function exit code */
28477   __Pyx_RefNannyFinishContext();
28478   return __pyx_r;
28479 }
28480 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_42visit_WhileStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)28481 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_42visit_WhileStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
28482   PyObject *__pyx_v_condition_block = NULL;
28483   PyObject *__pyx_v_next_block = NULL;
28484   PyObject *__pyx_r = NULL;
28485   __Pyx_RefNannyDeclarations
28486   PyObject *__pyx_t_1 = NULL;
28487   PyObject *__pyx_t_2 = NULL;
28488   PyObject *__pyx_t_3 = NULL;
28489   int __pyx_t_4;
28490   PyObject *__pyx_t_5 = NULL;
28491   int __pyx_t_6;
28492   int __pyx_t_7;
28493   struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock __pyx_t_8;
28494   int __pyx_lineno = 0;
28495   const char *__pyx_filename = NULL;
28496   int __pyx_clineno = 0;
28497   __Pyx_RefNannySetupContext("visit_WhileStatNode", 0);
28498 
28499   /* "Cython/Compiler/FlowControl.py":920
28500  *
28501  *     def visit_WhileStatNode(self, node):
28502  *         condition_block = self.flow.nextblock()             # <<<<<<<<<<<<<<
28503  *         next_block = self.flow.newblock()
28504  *         # Condition block
28505  */
28506   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 920, __pyx_L1_error)
28507   __Pyx_GOTREF(__pyx_t_1);
28508   __pyx_v_condition_block = __pyx_t_1;
28509   __pyx_t_1 = 0;
28510 
28511   /* "Cython/Compiler/FlowControl.py":921
28512  *     def visit_WhileStatNode(self, node):
28513  *         condition_block = self.flow.nextblock()
28514  *         next_block = self.flow.newblock()             # <<<<<<<<<<<<<<
28515  *         # Condition block
28516  *         self.flow.loops.append(LoopDescr(next_block, condition_block))
28517  */
28518   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 921, __pyx_L1_error)
28519   __Pyx_GOTREF(__pyx_t_1);
28520   __pyx_v_next_block = __pyx_t_1;
28521   __pyx_t_1 = 0;
28522 
28523   /* "Cython/Compiler/FlowControl.py":923
28524  *         next_block = self.flow.newblock()
28525  *         # Condition block
28526  *         self.flow.loops.append(LoopDescr(next_block, condition_block))             # <<<<<<<<<<<<<<
28527  *         if node.condition:
28528  *             self._visit(node.condition)
28529  */
28530   if (unlikely(__pyx_v_self->flow->loops == Py_None)) {
28531     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
28532     __PYX_ERR(0, 923, __pyx_L1_error)
28533   }
28534   __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_LoopDescr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 923, __pyx_L1_error)
28535   __Pyx_GOTREF(__pyx_t_2);
28536   __pyx_t_3 = NULL;
28537   __pyx_t_4 = 0;
28538   if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
28539     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
28540     if (likely(__pyx_t_3)) {
28541       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
28542       __Pyx_INCREF(__pyx_t_3);
28543       __Pyx_INCREF(function);
28544       __Pyx_DECREF_SET(__pyx_t_2, function);
28545       __pyx_t_4 = 1;
28546     }
28547   }
28548   #if CYTHON_FAST_PYCALL
28549   if (PyFunction_Check(__pyx_t_2)) {
28550     PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_next_block, __pyx_v_condition_block};
28551     __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 923, __pyx_L1_error)
28552     __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
28553     __Pyx_GOTREF(__pyx_t_1);
28554   } else
28555   #endif
28556   #if CYTHON_FAST_PYCCALL
28557   if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
28558     PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_next_block, __pyx_v_condition_block};
28559     __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 923, __pyx_L1_error)
28560     __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
28561     __Pyx_GOTREF(__pyx_t_1);
28562   } else
28563   #endif
28564   {
28565     __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 923, __pyx_L1_error)
28566     __Pyx_GOTREF(__pyx_t_5);
28567     if (__pyx_t_3) {
28568       __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
28569     }
28570     __Pyx_INCREF(__pyx_v_next_block);
28571     __Pyx_GIVEREF(__pyx_v_next_block);
28572     PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_next_block);
28573     __Pyx_INCREF(__pyx_v_condition_block);
28574     __Pyx_GIVEREF(__pyx_v_condition_block);
28575     PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_condition_block);
28576     __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 923, __pyx_L1_error)
28577     __Pyx_GOTREF(__pyx_t_1);
28578     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
28579   }
28580   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
28581   __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_self->flow->loops, __pyx_t_1); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 923, __pyx_L1_error)
28582   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
28583 
28584   /* "Cython/Compiler/FlowControl.py":924
28585  *         # Condition block
28586  *         self.flow.loops.append(LoopDescr(next_block, condition_block))
28587  *         if node.condition:             # <<<<<<<<<<<<<<
28588  *             self._visit(node.condition)
28589  *         # Body block
28590  */
28591   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_condition); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 924, __pyx_L1_error)
28592   __Pyx_GOTREF(__pyx_t_1);
28593   __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 924, __pyx_L1_error)
28594   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
28595   if (__pyx_t_7) {
28596 
28597     /* "Cython/Compiler/FlowControl.py":925
28598  *         self.flow.loops.append(LoopDescr(next_block, condition_block))
28599  *         if node.condition:
28600  *             self._visit(node.condition)             # <<<<<<<<<<<<<<
28601  *         # Body block
28602  *         self.flow.nextblock()
28603  */
28604     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_condition); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 925, __pyx_L1_error)
28605     __Pyx_GOTREF(__pyx_t_1);
28606     __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 925, __pyx_L1_error)
28607     __Pyx_GOTREF(__pyx_t_2);
28608     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
28609     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
28610 
28611     /* "Cython/Compiler/FlowControl.py":924
28612  *         # Condition block
28613  *         self.flow.loops.append(LoopDescr(next_block, condition_block))
28614  *         if node.condition:             # <<<<<<<<<<<<<<
28615  *             self._visit(node.condition)
28616  *         # Body block
28617  */
28618   }
28619 
28620   /* "Cython/Compiler/FlowControl.py":927
28621  *             self._visit(node.condition)
28622  *         # Body block
28623  *         self.flow.nextblock()             # <<<<<<<<<<<<<<
28624  *         self._visit(node.body)
28625  *         self.flow.loops.pop()
28626  */
28627   __pyx_t_2 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 927, __pyx_L1_error)
28628   __Pyx_GOTREF(__pyx_t_2);
28629   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
28630 
28631   /* "Cython/Compiler/FlowControl.py":928
28632  *         # Body block
28633  *         self.flow.nextblock()
28634  *         self._visit(node.body)             # <<<<<<<<<<<<<<
28635  *         self.flow.loops.pop()
28636  *         # Loop it
28637  */
28638   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_body); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 928, __pyx_L1_error)
28639   __Pyx_GOTREF(__pyx_t_2);
28640   __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 928, __pyx_L1_error)
28641   __Pyx_GOTREF(__pyx_t_1);
28642   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
28643   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
28644 
28645   /* "Cython/Compiler/FlowControl.py":929
28646  *         self.flow.nextblock()
28647  *         self._visit(node.body)
28648  *         self.flow.loops.pop()             # <<<<<<<<<<<<<<
28649  *         # Loop it
28650  *         if self.flow.block:
28651  */
28652   if (unlikely(__pyx_v_self->flow->loops == Py_None)) {
28653     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "pop");
28654     __PYX_ERR(0, 929, __pyx_L1_error)
28655   }
28656   __pyx_t_1 = __Pyx_PyList_Pop(__pyx_v_self->flow->loops); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 929, __pyx_L1_error)
28657   __Pyx_GOTREF(__pyx_t_1);
28658   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
28659 
28660   /* "Cython/Compiler/FlowControl.py":931
28661  *         self.flow.loops.pop()
28662  *         # Loop it
28663  *         if self.flow.block:             # <<<<<<<<<<<<<<
28664  *             self.flow.block.add_child(condition_block)
28665  *             self.flow.block.add_child(next_block)
28666  */
28667   __pyx_t_7 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->flow->block)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 931, __pyx_L1_error)
28668   if (__pyx_t_7) {
28669 
28670     /* "Cython/Compiler/FlowControl.py":932
28671  *         # Loop it
28672  *         if self.flow.block:
28673  *             self.flow.block.add_child(condition_block)             # <<<<<<<<<<<<<<
28674  *             self.flow.block.add_child(next_block)
28675  *         # Else clause
28676  */
28677     __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_v_condition_block, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 932, __pyx_L1_error)
28678     __Pyx_GOTREF(__pyx_t_1);
28679     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
28680 
28681     /* "Cython/Compiler/FlowControl.py":933
28682  *         if self.flow.block:
28683  *             self.flow.block.add_child(condition_block)
28684  *             self.flow.block.add_child(next_block)             # <<<<<<<<<<<<<<
28685  *         # Else clause
28686  *         if node.else_clause:
28687  */
28688     __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_v_next_block, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 933, __pyx_L1_error)
28689     __Pyx_GOTREF(__pyx_t_1);
28690     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
28691 
28692     /* "Cython/Compiler/FlowControl.py":931
28693  *         self.flow.loops.pop()
28694  *         # Loop it
28695  *         if self.flow.block:             # <<<<<<<<<<<<<<
28696  *             self.flow.block.add_child(condition_block)
28697  *             self.flow.block.add_child(next_block)
28698  */
28699   }
28700 
28701   /* "Cython/Compiler/FlowControl.py":935
28702  *             self.flow.block.add_child(next_block)
28703  *         # Else clause
28704  *         if node.else_clause:             # <<<<<<<<<<<<<<
28705  *             self.flow.nextblock(parent=condition_block)
28706  *             self._visit(node.else_clause)
28707  */
28708   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_else_clause); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 935, __pyx_L1_error)
28709   __Pyx_GOTREF(__pyx_t_1);
28710   __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 935, __pyx_L1_error)
28711   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
28712   if (__pyx_t_7) {
28713 
28714     /* "Cython/Compiler/FlowControl.py":936
28715  *         # Else clause
28716  *         if node.else_clause:
28717  *             self.flow.nextblock(parent=condition_block)             # <<<<<<<<<<<<<<
28718  *             self._visit(node.else_clause)
28719  *             if self.flow.block:
28720  */
28721     if (!(likely(((__pyx_v_condition_block) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_condition_block, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(0, 936, __pyx_L1_error)
28722     __pyx_t_8.__pyx_n = 1;
28723     __pyx_t_8.parent = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_condition_block);
28724     __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, &__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 936, __pyx_L1_error)
28725     __Pyx_GOTREF(__pyx_t_1);
28726     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
28727 
28728     /* "Cython/Compiler/FlowControl.py":937
28729  *         if node.else_clause:
28730  *             self.flow.nextblock(parent=condition_block)
28731  *             self._visit(node.else_clause)             # <<<<<<<<<<<<<<
28732  *             if self.flow.block:
28733  *                 self.flow.block.add_child(next_block)
28734  */
28735     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_else_clause); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 937, __pyx_L1_error)
28736     __Pyx_GOTREF(__pyx_t_1);
28737     __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 937, __pyx_L1_error)
28738     __Pyx_GOTREF(__pyx_t_2);
28739     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
28740     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
28741 
28742     /* "Cython/Compiler/FlowControl.py":938
28743  *             self.flow.nextblock(parent=condition_block)
28744  *             self._visit(node.else_clause)
28745  *             if self.flow.block:             # <<<<<<<<<<<<<<
28746  *                 self.flow.block.add_child(next_block)
28747  *         else:
28748  */
28749     __pyx_t_7 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->flow->block)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 938, __pyx_L1_error)
28750     if (__pyx_t_7) {
28751 
28752       /* "Cython/Compiler/FlowControl.py":939
28753  *             self._visit(node.else_clause)
28754  *             if self.flow.block:
28755  *                 self.flow.block.add_child(next_block)             # <<<<<<<<<<<<<<
28756  *         else:
28757  *             condition_block.add_child(next_block)
28758  */
28759       __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_v_next_block, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 939, __pyx_L1_error)
28760       __Pyx_GOTREF(__pyx_t_2);
28761       __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
28762 
28763       /* "Cython/Compiler/FlowControl.py":938
28764  *             self.flow.nextblock(parent=condition_block)
28765  *             self._visit(node.else_clause)
28766  *             if self.flow.block:             # <<<<<<<<<<<<<<
28767  *                 self.flow.block.add_child(next_block)
28768  *         else:
28769  */
28770     }
28771 
28772     /* "Cython/Compiler/FlowControl.py":935
28773  *             self.flow.block.add_child(next_block)
28774  *         # Else clause
28775  *         if node.else_clause:             # <<<<<<<<<<<<<<
28776  *             self.flow.nextblock(parent=condition_block)
28777  *             self._visit(node.else_clause)
28778  */
28779     goto __pyx_L5;
28780   }
28781 
28782   /* "Cython/Compiler/FlowControl.py":941
28783  *                 self.flow.block.add_child(next_block)
28784  *         else:
28785  *             condition_block.add_child(next_block)             # <<<<<<<<<<<<<<
28786  *
28787  *         if next_block.parents:
28788  */
28789   /*else*/ {
28790     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_condition_block, __pyx_n_s_add_child); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 941, __pyx_L1_error)
28791     __Pyx_GOTREF(__pyx_t_1);
28792     __pyx_t_5 = NULL;
28793     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
28794       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
28795       if (likely(__pyx_t_5)) {
28796         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
28797         __Pyx_INCREF(__pyx_t_5);
28798         __Pyx_INCREF(function);
28799         __Pyx_DECREF_SET(__pyx_t_1, function);
28800       }
28801     }
28802     __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v_next_block) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_next_block);
28803     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
28804     if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 941, __pyx_L1_error)
28805     __Pyx_GOTREF(__pyx_t_2);
28806     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
28807     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
28808   }
28809   __pyx_L5:;
28810 
28811   /* "Cython/Compiler/FlowControl.py":943
28812  *             condition_block.add_child(next_block)
28813  *
28814  *         if next_block.parents:             # <<<<<<<<<<<<<<
28815  *             self.flow.block = next_block
28816  *         else:
28817  */
28818   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_next_block, __pyx_n_s_parents); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 943, __pyx_L1_error)
28819   __Pyx_GOTREF(__pyx_t_2);
28820   __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 943, __pyx_L1_error)
28821   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
28822   if (__pyx_t_7) {
28823 
28824     /* "Cython/Compiler/FlowControl.py":944
28825  *
28826  *         if next_block.parents:
28827  *             self.flow.block = next_block             # <<<<<<<<<<<<<<
28828  *         else:
28829  *             self.flow.block = None
28830  */
28831     if (!(likely(((__pyx_v_next_block) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_next_block, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(0, 944, __pyx_L1_error)
28832     __pyx_t_2 = __pyx_v_next_block;
28833     __Pyx_INCREF(__pyx_t_2);
28834     __Pyx_GIVEREF(__pyx_t_2);
28835     __Pyx_GOTREF(__pyx_v_self->flow->block);
28836     __Pyx_DECREF(((PyObject *)__pyx_v_self->flow->block));
28837     __pyx_v_self->flow->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_2);
28838     __pyx_t_2 = 0;
28839 
28840     /* "Cython/Compiler/FlowControl.py":943
28841  *             condition_block.add_child(next_block)
28842  *
28843  *         if next_block.parents:             # <<<<<<<<<<<<<<
28844  *             self.flow.block = next_block
28845  *         else:
28846  */
28847     goto __pyx_L7;
28848   }
28849 
28850   /* "Cython/Compiler/FlowControl.py":946
28851  *             self.flow.block = next_block
28852  *         else:
28853  *             self.flow.block = None             # <<<<<<<<<<<<<<
28854  *         return node
28855  *
28856  */
28857   /*else*/ {
28858     __Pyx_INCREF(Py_None);
28859     __Pyx_GIVEREF(Py_None);
28860     __Pyx_GOTREF(__pyx_v_self->flow->block);
28861     __Pyx_DECREF(((PyObject *)__pyx_v_self->flow->block));
28862     __pyx_v_self->flow->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)Py_None);
28863   }
28864   __pyx_L7:;
28865 
28866   /* "Cython/Compiler/FlowControl.py":947
28867  *         else:
28868  *             self.flow.block = None
28869  *         return node             # <<<<<<<<<<<<<<
28870  *
28871  *     def mark_forloop_target(self, node):
28872  */
28873   __Pyx_XDECREF(__pyx_r);
28874   __Pyx_INCREF(__pyx_v_node);
28875   __pyx_r = __pyx_v_node;
28876   goto __pyx_L0;
28877 
28878   /* "Cython/Compiler/FlowControl.py":919
28879  *         return node
28880  *
28881  *     def visit_WhileStatNode(self, node):             # <<<<<<<<<<<<<<
28882  *         condition_block = self.flow.nextblock()
28883  *         next_block = self.flow.newblock()
28884  */
28885 
28886   /* function exit code */
28887   __pyx_L1_error:;
28888   __Pyx_XDECREF(__pyx_t_1);
28889   __Pyx_XDECREF(__pyx_t_2);
28890   __Pyx_XDECREF(__pyx_t_3);
28891   __Pyx_XDECREF(__pyx_t_5);
28892   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_WhileStatNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
28893   __pyx_r = NULL;
28894   __pyx_L0:;
28895   __Pyx_XDECREF(__pyx_v_condition_block);
28896   __Pyx_XDECREF(__pyx_v_next_block);
28897   __Pyx_XGIVEREF(__pyx_r);
28898   __Pyx_RefNannyFinishContext();
28899   return __pyx_r;
28900 }
28901 
28902 /* "Cython/Compiler/FlowControl.py":949
28903  *         return node
28904  *
28905  *     def mark_forloop_target(self, node):             # <<<<<<<<<<<<<<
28906  *         # TODO: Remove redundancy with range optimization...
28907  *         is_special = False
28908  */
28909 
28910 /* Python wrapper */
28911 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_45mark_forloop_target(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
28912 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_45mark_forloop_target = {"mark_forloop_target", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_45mark_forloop_target, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_45mark_forloop_target(PyObject * __pyx_v_self,PyObject * __pyx_v_node)28913 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_45mark_forloop_target(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
28914   PyObject *__pyx_r = 0;
28915   __Pyx_RefNannyDeclarations
28916   __Pyx_RefNannySetupContext("mark_forloop_target (wrapper)", 0);
28917   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_44mark_forloop_target(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
28918 
28919   /* function exit code */
28920   __Pyx_RefNannyFinishContext();
28921   return __pyx_r;
28922 }
28923 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_44mark_forloop_target(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)28924 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_44mark_forloop_target(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
28925   int __pyx_v_is_special;
28926   PyObject *__pyx_v_sequence = NULL;
28927   PyObject *__pyx_v_target = NULL;
28928   PyObject *__pyx_v_function = NULL;
28929   PyObject *__pyx_v_entry = NULL;
28930   PyObject *__pyx_v_iterator = NULL;
28931   PyObject *__pyx_v_iterator_type = NULL;
28932   PyObject *__pyx_v_arg = NULL;
28933   PyObject *__pyx_r = NULL;
28934   __Pyx_RefNannyDeclarations
28935   PyObject *__pyx_t_1 = NULL;
28936   PyObject *__pyx_t_2 = NULL;
28937   int __pyx_t_3;
28938   int __pyx_t_4;
28939   int __pyx_t_5;
28940   PyObject *__pyx_t_6 = NULL;
28941   PyObject *__pyx_t_7 = NULL;
28942   Py_ssize_t __pyx_t_8;
28943   PyObject *__pyx_t_9 = NULL;
28944   struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment __pyx_t_10;
28945   PyObject *(*__pyx_t_11)(PyObject *);
28946   PyObject *__pyx_t_12 = NULL;
28947   PyObject *__pyx_t_13 = NULL;
28948   int __pyx_t_14;
28949   PyObject *__pyx_t_15 = NULL;
28950   int __pyx_lineno = 0;
28951   const char *__pyx_filename = NULL;
28952   int __pyx_clineno = 0;
28953   __Pyx_RefNannySetupContext("mark_forloop_target", 0);
28954 
28955   /* "Cython/Compiler/FlowControl.py":951
28956  *     def mark_forloop_target(self, node):
28957  *         # TODO: Remove redundancy with range optimization...
28958  *         is_special = False             # <<<<<<<<<<<<<<
28959  *         sequence = node.iterator.sequence
28960  *         target = node.target
28961  */
28962   __pyx_v_is_special = 0;
28963 
28964   /* "Cython/Compiler/FlowControl.py":952
28965  *         # TODO: Remove redundancy with range optimization...
28966  *         is_special = False
28967  *         sequence = node.iterator.sequence             # <<<<<<<<<<<<<<
28968  *         target = node.target
28969  *         if isinstance(sequence, ExprNodes.SimpleCallNode):
28970  */
28971   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_iterator); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 952, __pyx_L1_error)
28972   __Pyx_GOTREF(__pyx_t_1);
28973   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_sequence); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 952, __pyx_L1_error)
28974   __Pyx_GOTREF(__pyx_t_2);
28975   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
28976   __pyx_v_sequence = __pyx_t_2;
28977   __pyx_t_2 = 0;
28978 
28979   /* "Cython/Compiler/FlowControl.py":953
28980  *         is_special = False
28981  *         sequence = node.iterator.sequence
28982  *         target = node.target             # <<<<<<<<<<<<<<
28983  *         if isinstance(sequence, ExprNodes.SimpleCallNode):
28984  *             function = sequence.function
28985  */
28986   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_target); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 953, __pyx_L1_error)
28987   __Pyx_GOTREF(__pyx_t_2);
28988   __pyx_v_target = __pyx_t_2;
28989   __pyx_t_2 = 0;
28990 
28991   /* "Cython/Compiler/FlowControl.py":954
28992  *         sequence = node.iterator.sequence
28993  *         target = node.target
28994  *         if isinstance(sequence, ExprNodes.SimpleCallNode):             # <<<<<<<<<<<<<<
28995  *             function = sequence.function
28996  *             if sequence.self is None and function.is_name:
28997  */
28998   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_11FlowControl_ExprNodes, __pyx_n_s_SimpleCallNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 954, __pyx_L1_error)
28999   __Pyx_GOTREF(__pyx_t_2);
29000   __pyx_t_3 = PyObject_IsInstance(__pyx_v_sequence, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 954, __pyx_L1_error)
29001   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
29002   __pyx_t_4 = (__pyx_t_3 != 0);
29003   if (__pyx_t_4) {
29004 
29005     /* "Cython/Compiler/FlowControl.py":955
29006  *         target = node.target
29007  *         if isinstance(sequence, ExprNodes.SimpleCallNode):
29008  *             function = sequence.function             # <<<<<<<<<<<<<<
29009  *             if sequence.self is None and function.is_name:
29010  *                 entry = self.env.lookup(function.name)
29011  */
29012     __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_sequence, __pyx_n_s_function); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 955, __pyx_L1_error)
29013     __Pyx_GOTREF(__pyx_t_2);
29014     __pyx_v_function = __pyx_t_2;
29015     __pyx_t_2 = 0;
29016 
29017     /* "Cython/Compiler/FlowControl.py":956
29018  *         if isinstance(sequence, ExprNodes.SimpleCallNode):
29019  *             function = sequence.function
29020  *             if sequence.self is None and function.is_name:             # <<<<<<<<<<<<<<
29021  *                 entry = self.env.lookup(function.name)
29022  *                 if not entry or entry.is_builtin:
29023  */
29024     __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_sequence, __pyx_n_s_self); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 956, __pyx_L1_error)
29025     __Pyx_GOTREF(__pyx_t_2);
29026     __pyx_t_3 = (__pyx_t_2 == Py_None);
29027     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
29028     __pyx_t_5 = (__pyx_t_3 != 0);
29029     if (__pyx_t_5) {
29030     } else {
29031       __pyx_t_4 = __pyx_t_5;
29032       goto __pyx_L5_bool_binop_done;
29033     }
29034     __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_function, __pyx_n_s_is_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 956, __pyx_L1_error)
29035     __Pyx_GOTREF(__pyx_t_2);
29036     __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 956, __pyx_L1_error)
29037     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
29038     __pyx_t_4 = __pyx_t_5;
29039     __pyx_L5_bool_binop_done:;
29040     if (__pyx_t_4) {
29041 
29042       /* "Cython/Compiler/FlowControl.py":957
29043  *             function = sequence.function
29044  *             if sequence.self is None and function.is_name:
29045  *                 entry = self.env.lookup(function.name)             # <<<<<<<<<<<<<<
29046  *                 if not entry or entry.is_builtin:
29047  *                     if function.name == 'reversed' and len(sequence.args) == 1:
29048  */
29049       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->env, __pyx_n_s_lookup); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 957, __pyx_L1_error)
29050       __Pyx_GOTREF(__pyx_t_1);
29051       __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_function, __pyx_n_s_name_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 957, __pyx_L1_error)
29052       __Pyx_GOTREF(__pyx_t_6);
29053       __pyx_t_7 = NULL;
29054       if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
29055         __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1);
29056         if (likely(__pyx_t_7)) {
29057           PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
29058           __Pyx_INCREF(__pyx_t_7);
29059           __Pyx_INCREF(function);
29060           __Pyx_DECREF_SET(__pyx_t_1, function);
29061         }
29062       }
29063       __pyx_t_2 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6);
29064       __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
29065       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
29066       if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 957, __pyx_L1_error)
29067       __Pyx_GOTREF(__pyx_t_2);
29068       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
29069       __pyx_v_entry = __pyx_t_2;
29070       __pyx_t_2 = 0;
29071 
29072       /* "Cython/Compiler/FlowControl.py":958
29073  *             if sequence.self is None and function.is_name:
29074  *                 entry = self.env.lookup(function.name)
29075  *                 if not entry or entry.is_builtin:             # <<<<<<<<<<<<<<
29076  *                     if function.name == 'reversed' and len(sequence.args) == 1:
29077  *                         sequence = sequence.args[0]
29078  */
29079       __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_entry); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 958, __pyx_L1_error)
29080       __pyx_t_3 = ((!__pyx_t_5) != 0);
29081       if (!__pyx_t_3) {
29082       } else {
29083         __pyx_t_4 = __pyx_t_3;
29084         goto __pyx_L8_bool_binop_done;
29085       }
29086       __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_is_builtin); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 958, __pyx_L1_error)
29087       __Pyx_GOTREF(__pyx_t_2);
29088       __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 958, __pyx_L1_error)
29089       __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
29090       __pyx_t_4 = __pyx_t_3;
29091       __pyx_L8_bool_binop_done:;
29092       if (__pyx_t_4) {
29093 
29094         /* "Cython/Compiler/FlowControl.py":959
29095  *                 entry = self.env.lookup(function.name)
29096  *                 if not entry or entry.is_builtin:
29097  *                     if function.name == 'reversed' and len(sequence.args) == 1:             # <<<<<<<<<<<<<<
29098  *                         sequence = sequence.args[0]
29099  *                     elif function.name == 'enumerate' and len(sequence.args) == 1:
29100  */
29101         __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_function, __pyx_n_s_name_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 959, __pyx_L1_error)
29102         __Pyx_GOTREF(__pyx_t_2);
29103         __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_reversed, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 959, __pyx_L1_error)
29104         __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
29105         if (__pyx_t_3) {
29106         } else {
29107           __pyx_t_4 = __pyx_t_3;
29108           goto __pyx_L11_bool_binop_done;
29109         }
29110         __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_sequence, __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 959, __pyx_L1_error)
29111         __Pyx_GOTREF(__pyx_t_2);
29112         __pyx_t_8 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 959, __pyx_L1_error)
29113         __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
29114         __pyx_t_3 = ((__pyx_t_8 == 1) != 0);
29115         __pyx_t_4 = __pyx_t_3;
29116         __pyx_L11_bool_binop_done:;
29117         if (__pyx_t_4) {
29118 
29119           /* "Cython/Compiler/FlowControl.py":960
29120  *                 if not entry or entry.is_builtin:
29121  *                     if function.name == 'reversed' and len(sequence.args) == 1:
29122  *                         sequence = sequence.args[0]             # <<<<<<<<<<<<<<
29123  *                     elif function.name == 'enumerate' and len(sequence.args) == 1:
29124  *                         if target.is_sequence_constructor and len(target.args) == 2:
29125  */
29126           __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_sequence, __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 960, __pyx_L1_error)
29127           __Pyx_GOTREF(__pyx_t_2);
29128           __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 960, __pyx_L1_error)
29129           __Pyx_GOTREF(__pyx_t_1);
29130           __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
29131           __Pyx_DECREF_SET(__pyx_v_sequence, __pyx_t_1);
29132           __pyx_t_1 = 0;
29133 
29134           /* "Cython/Compiler/FlowControl.py":959
29135  *                 entry = self.env.lookup(function.name)
29136  *                 if not entry or entry.is_builtin:
29137  *                     if function.name == 'reversed' and len(sequence.args) == 1:             # <<<<<<<<<<<<<<
29138  *                         sequence = sequence.args[0]
29139  *                     elif function.name == 'enumerate' and len(sequence.args) == 1:
29140  */
29141           goto __pyx_L10;
29142         }
29143 
29144         /* "Cython/Compiler/FlowControl.py":961
29145  *                     if function.name == 'reversed' and len(sequence.args) == 1:
29146  *                         sequence = sequence.args[0]
29147  *                     elif function.name == 'enumerate' and len(sequence.args) == 1:             # <<<<<<<<<<<<<<
29148  *                         if target.is_sequence_constructor and len(target.args) == 2:
29149  *                             iterator = sequence.args[0]
29150  */
29151         __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_function, __pyx_n_s_name_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 961, __pyx_L1_error)
29152         __Pyx_GOTREF(__pyx_t_1);
29153         __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_n_s_enumerate, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 961, __pyx_L1_error)
29154         __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
29155         if (__pyx_t_3) {
29156         } else {
29157           __pyx_t_4 = __pyx_t_3;
29158           goto __pyx_L13_bool_binop_done;
29159         }
29160         __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_sequence, __pyx_n_s_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 961, __pyx_L1_error)
29161         __Pyx_GOTREF(__pyx_t_1);
29162         __pyx_t_8 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 961, __pyx_L1_error)
29163         __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
29164         __pyx_t_3 = ((__pyx_t_8 == 1) != 0);
29165         __pyx_t_4 = __pyx_t_3;
29166         __pyx_L13_bool_binop_done:;
29167         if (__pyx_t_4) {
29168 
29169           /* "Cython/Compiler/FlowControl.py":962
29170  *                         sequence = sequence.args[0]
29171  *                     elif function.name == 'enumerate' and len(sequence.args) == 1:
29172  *                         if target.is_sequence_constructor and len(target.args) == 2:             # <<<<<<<<<<<<<<
29173  *                             iterator = sequence.args[0]
29174  *                             if iterator.is_name:
29175  */
29176           __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_target, __pyx_n_s_is_sequence_constructor); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 962, __pyx_L1_error)
29177           __Pyx_GOTREF(__pyx_t_1);
29178           __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 962, __pyx_L1_error)
29179           __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
29180           if (__pyx_t_3) {
29181           } else {
29182             __pyx_t_4 = __pyx_t_3;
29183             goto __pyx_L16_bool_binop_done;
29184           }
29185           __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_target, __pyx_n_s_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 962, __pyx_L1_error)
29186           __Pyx_GOTREF(__pyx_t_1);
29187           __pyx_t_8 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 962, __pyx_L1_error)
29188           __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
29189           __pyx_t_3 = ((__pyx_t_8 == 2) != 0);
29190           __pyx_t_4 = __pyx_t_3;
29191           __pyx_L16_bool_binop_done:;
29192           if (__pyx_t_4) {
29193 
29194             /* "Cython/Compiler/FlowControl.py":963
29195  *                     elif function.name == 'enumerate' and len(sequence.args) == 1:
29196  *                         if target.is_sequence_constructor and len(target.args) == 2:
29197  *                             iterator = sequence.args[0]             # <<<<<<<<<<<<<<
29198  *                             if iterator.is_name:
29199  *                                 iterator_type = iterator.infer_type(self.env)
29200  */
29201             __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_sequence, __pyx_n_s_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 963, __pyx_L1_error)
29202             __Pyx_GOTREF(__pyx_t_1);
29203             __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 963, __pyx_L1_error)
29204             __Pyx_GOTREF(__pyx_t_2);
29205             __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
29206             __pyx_v_iterator = __pyx_t_2;
29207             __pyx_t_2 = 0;
29208 
29209             /* "Cython/Compiler/FlowControl.py":964
29210  *                         if target.is_sequence_constructor and len(target.args) == 2:
29211  *                             iterator = sequence.args[0]
29212  *                             if iterator.is_name:             # <<<<<<<<<<<<<<
29213  *                                 iterator_type = iterator.infer_type(self.env)
29214  *                                 if iterator_type.is_builtin_type:
29215  */
29216             __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_iterator, __pyx_n_s_is_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 964, __pyx_L1_error)
29217             __Pyx_GOTREF(__pyx_t_2);
29218             __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 964, __pyx_L1_error)
29219             __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
29220             if (__pyx_t_4) {
29221 
29222               /* "Cython/Compiler/FlowControl.py":965
29223  *                             iterator = sequence.args[0]
29224  *                             if iterator.is_name:
29225  *                                 iterator_type = iterator.infer_type(self.env)             # <<<<<<<<<<<<<<
29226  *                                 if iterator_type.is_builtin_type:
29227  *                                     # assume that builtin types have a length within Py_ssize_t
29228  */
29229               __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_iterator, __pyx_n_s_infer_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 965, __pyx_L1_error)
29230               __Pyx_GOTREF(__pyx_t_1);
29231               __pyx_t_6 = NULL;
29232               if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
29233                 __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
29234                 if (likely(__pyx_t_6)) {
29235                   PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
29236                   __Pyx_INCREF(__pyx_t_6);
29237                   __Pyx_INCREF(function);
29238                   __Pyx_DECREF_SET(__pyx_t_1, function);
29239                 }
29240               }
29241               __pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_v_self->env) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_self->env);
29242               __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
29243               if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 965, __pyx_L1_error)
29244               __Pyx_GOTREF(__pyx_t_2);
29245               __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
29246               __pyx_v_iterator_type = __pyx_t_2;
29247               __pyx_t_2 = 0;
29248 
29249               /* "Cython/Compiler/FlowControl.py":966
29250  *                             if iterator.is_name:
29251  *                                 iterator_type = iterator.infer_type(self.env)
29252  *                                 if iterator_type.is_builtin_type:             # <<<<<<<<<<<<<<
29253  *                                     # assume that builtin types have a length within Py_ssize_t
29254  *                                     self.mark_assignment(
29255  */
29256               __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_iterator_type, __pyx_n_s_is_builtin_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 966, __pyx_L1_error)
29257               __Pyx_GOTREF(__pyx_t_2);
29258               __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 966, __pyx_L1_error)
29259               __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
29260               if (__pyx_t_4) {
29261 
29262                 /* "Cython/Compiler/FlowControl.py":969
29263  *                                     # assume that builtin types have a length within Py_ssize_t
29264  *                                     self.mark_assignment(
29265  *                                         target.args[0],             # <<<<<<<<<<<<<<
29266  *                                         ExprNodes.IntNode(target.pos, value='PY_SSIZE_T_MAX',
29267  *                                                           type=PyrexTypes.c_py_ssize_t_type))
29268  */
29269                 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_target, __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 969, __pyx_L1_error)
29270                 __Pyx_GOTREF(__pyx_t_2);
29271                 __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 969, __pyx_L1_error)
29272                 __Pyx_GOTREF(__pyx_t_1);
29273                 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
29274 
29275                 /* "Cython/Compiler/FlowControl.py":970
29276  *                                     self.mark_assignment(
29277  *                                         target.args[0],
29278  *                                         ExprNodes.IntNode(target.pos, value='PY_SSIZE_T_MAX',             # <<<<<<<<<<<<<<
29279  *                                                           type=PyrexTypes.c_py_ssize_t_type))
29280  *                                     target = target.args[1]
29281  */
29282                 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_11FlowControl_ExprNodes, __pyx_n_s_IntNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 970, __pyx_L1_error)
29283                 __Pyx_GOTREF(__pyx_t_2);
29284                 __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_target, __pyx_n_s_pos); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 970, __pyx_L1_error)
29285                 __Pyx_GOTREF(__pyx_t_6);
29286                 __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 970, __pyx_L1_error)
29287                 __Pyx_GOTREF(__pyx_t_7);
29288                 __Pyx_GIVEREF(__pyx_t_6);
29289                 PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6);
29290                 __pyx_t_6 = 0;
29291                 __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 970, __pyx_L1_error)
29292                 __Pyx_GOTREF(__pyx_t_6);
29293                 if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_value, __pyx_n_s_PY_SSIZE_T_MAX) < 0) __PYX_ERR(0, 970, __pyx_L1_error)
29294 
29295                 /* "Cython/Compiler/FlowControl.py":971
29296  *                                         target.args[0],
29297  *                                         ExprNodes.IntNode(target.pos, value='PY_SSIZE_T_MAX',
29298  *                                                           type=PyrexTypes.c_py_ssize_t_type))             # <<<<<<<<<<<<<<
29299  *                                     target = target.args[1]
29300  *                                     sequence = sequence.args[0]
29301  */
29302                 __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_11FlowControl_PyrexTypes, __pyx_n_s_c_py_ssize_t_type); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 971, __pyx_L1_error)
29303                 __Pyx_GOTREF(__pyx_t_9);
29304                 if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_type, __pyx_t_9) < 0) __PYX_ERR(0, 970, __pyx_L1_error)
29305                 __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
29306 
29307                 /* "Cython/Compiler/FlowControl.py":970
29308  *                                     self.mark_assignment(
29309  *                                         target.args[0],
29310  *                                         ExprNodes.IntNode(target.pos, value='PY_SSIZE_T_MAX',             # <<<<<<<<<<<<<<
29311  *                                                           type=PyrexTypes.c_py_ssize_t_type))
29312  *                                     target = target.args[1]
29313  */
29314                 __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 970, __pyx_L1_error)
29315                 __Pyx_GOTREF(__pyx_t_9);
29316                 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
29317                 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
29318                 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
29319 
29320                 /* "Cython/Compiler/FlowControl.py":968
29321  *                                 if iterator_type.is_builtin_type:
29322  *                                     # assume that builtin types have a length within Py_ssize_t
29323  *                                     self.mark_assignment(             # <<<<<<<<<<<<<<
29324  *                                         target.args[0],
29325  *                                         ExprNodes.IntNode(target.pos, value='PY_SSIZE_T_MAX',
29326  */
29327                 __pyx_t_10.__pyx_n = 1;
29328                 __pyx_t_10.rhs = __pyx_t_9;
29329                 __pyx_t_6 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment(__pyx_v_self, __pyx_t_1, 0, &__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 968, __pyx_L1_error)
29330                 __Pyx_GOTREF(__pyx_t_6);
29331                 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
29332                 __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
29333                 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
29334 
29335                 /* "Cython/Compiler/FlowControl.py":972
29336  *                                         ExprNodes.IntNode(target.pos, value='PY_SSIZE_T_MAX',
29337  *                                                           type=PyrexTypes.c_py_ssize_t_type))
29338  *                                     target = target.args[1]             # <<<<<<<<<<<<<<
29339  *                                     sequence = sequence.args[0]
29340  *         if isinstance(sequence, ExprNodes.SimpleCallNode):
29341  */
29342                 __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_target, __pyx_n_s_args); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 972, __pyx_L1_error)
29343                 __Pyx_GOTREF(__pyx_t_6);
29344                 __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_6, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 972, __pyx_L1_error)
29345                 __Pyx_GOTREF(__pyx_t_9);
29346                 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
29347                 __Pyx_DECREF_SET(__pyx_v_target, __pyx_t_9);
29348                 __pyx_t_9 = 0;
29349 
29350                 /* "Cython/Compiler/FlowControl.py":973
29351  *                                                           type=PyrexTypes.c_py_ssize_t_type))
29352  *                                     target = target.args[1]
29353  *                                     sequence = sequence.args[0]             # <<<<<<<<<<<<<<
29354  *         if isinstance(sequence, ExprNodes.SimpleCallNode):
29355  *             function = sequence.function
29356  */
29357                 __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_sequence, __pyx_n_s_args); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 973, __pyx_L1_error)
29358                 __Pyx_GOTREF(__pyx_t_9);
29359                 __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_9, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 973, __pyx_L1_error)
29360                 __Pyx_GOTREF(__pyx_t_6);
29361                 __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
29362                 __Pyx_DECREF_SET(__pyx_v_sequence, __pyx_t_6);
29363                 __pyx_t_6 = 0;
29364 
29365                 /* "Cython/Compiler/FlowControl.py":966
29366  *                             if iterator.is_name:
29367  *                                 iterator_type = iterator.infer_type(self.env)
29368  *                                 if iterator_type.is_builtin_type:             # <<<<<<<<<<<<<<
29369  *                                     # assume that builtin types have a length within Py_ssize_t
29370  *                                     self.mark_assignment(
29371  */
29372               }
29373 
29374               /* "Cython/Compiler/FlowControl.py":964
29375  *                         if target.is_sequence_constructor and len(target.args) == 2:
29376  *                             iterator = sequence.args[0]
29377  *                             if iterator.is_name:             # <<<<<<<<<<<<<<
29378  *                                 iterator_type = iterator.infer_type(self.env)
29379  *                                 if iterator_type.is_builtin_type:
29380  */
29381             }
29382 
29383             /* "Cython/Compiler/FlowControl.py":962
29384  *                         sequence = sequence.args[0]
29385  *                     elif function.name == 'enumerate' and len(sequence.args) == 1:
29386  *                         if target.is_sequence_constructor and len(target.args) == 2:             # <<<<<<<<<<<<<<
29387  *                             iterator = sequence.args[0]
29388  *                             if iterator.is_name:
29389  */
29390           }
29391 
29392           /* "Cython/Compiler/FlowControl.py":961
29393  *                     if function.name == 'reversed' and len(sequence.args) == 1:
29394  *                         sequence = sequence.args[0]
29395  *                     elif function.name == 'enumerate' and len(sequence.args) == 1:             # <<<<<<<<<<<<<<
29396  *                         if target.is_sequence_constructor and len(target.args) == 2:
29397  *                             iterator = sequence.args[0]
29398  */
29399         }
29400         __pyx_L10:;
29401 
29402         /* "Cython/Compiler/FlowControl.py":958
29403  *             if sequence.self is None and function.is_name:
29404  *                 entry = self.env.lookup(function.name)
29405  *                 if not entry or entry.is_builtin:             # <<<<<<<<<<<<<<
29406  *                     if function.name == 'reversed' and len(sequence.args) == 1:
29407  *                         sequence = sequence.args[0]
29408  */
29409       }
29410 
29411       /* "Cython/Compiler/FlowControl.py":956
29412  *         if isinstance(sequence, ExprNodes.SimpleCallNode):
29413  *             function = sequence.function
29414  *             if sequence.self is None and function.is_name:             # <<<<<<<<<<<<<<
29415  *                 entry = self.env.lookup(function.name)
29416  *                 if not entry or entry.is_builtin:
29417  */
29418     }
29419 
29420     /* "Cython/Compiler/FlowControl.py":954
29421  *         sequence = node.iterator.sequence
29422  *         target = node.target
29423  *         if isinstance(sequence, ExprNodes.SimpleCallNode):             # <<<<<<<<<<<<<<
29424  *             function = sequence.function
29425  *             if sequence.self is None and function.is_name:
29426  */
29427   }
29428 
29429   /* "Cython/Compiler/FlowControl.py":974
29430  *                                     target = target.args[1]
29431  *                                     sequence = sequence.args[0]
29432  *         if isinstance(sequence, ExprNodes.SimpleCallNode):             # <<<<<<<<<<<<<<
29433  *             function = sequence.function
29434  *             if sequence.self is None and function.is_name:
29435  */
29436   __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_11FlowControl_ExprNodes, __pyx_n_s_SimpleCallNode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 974, __pyx_L1_error)
29437   __Pyx_GOTREF(__pyx_t_6);
29438   __pyx_t_4 = PyObject_IsInstance(__pyx_v_sequence, __pyx_t_6); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 974, __pyx_L1_error)
29439   __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
29440   __pyx_t_3 = (__pyx_t_4 != 0);
29441   if (__pyx_t_3) {
29442 
29443     /* "Cython/Compiler/FlowControl.py":975
29444  *                                     sequence = sequence.args[0]
29445  *         if isinstance(sequence, ExprNodes.SimpleCallNode):
29446  *             function = sequence.function             # <<<<<<<<<<<<<<
29447  *             if sequence.self is None and function.is_name:
29448  *                 entry = self.env.lookup(function.name)
29449  */
29450     __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_sequence, __pyx_n_s_function); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 975, __pyx_L1_error)
29451     __Pyx_GOTREF(__pyx_t_6);
29452     __Pyx_XDECREF_SET(__pyx_v_function, __pyx_t_6);
29453     __pyx_t_6 = 0;
29454 
29455     /* "Cython/Compiler/FlowControl.py":976
29456  *         if isinstance(sequence, ExprNodes.SimpleCallNode):
29457  *             function = sequence.function
29458  *             if sequence.self is None and function.is_name:             # <<<<<<<<<<<<<<
29459  *                 entry = self.env.lookup(function.name)
29460  *                 if not entry or entry.is_builtin:
29461  */
29462     __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_sequence, __pyx_n_s_self); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 976, __pyx_L1_error)
29463     __Pyx_GOTREF(__pyx_t_6);
29464     __pyx_t_4 = (__pyx_t_6 == Py_None);
29465     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
29466     __pyx_t_5 = (__pyx_t_4 != 0);
29467     if (__pyx_t_5) {
29468     } else {
29469       __pyx_t_3 = __pyx_t_5;
29470       goto __pyx_L22_bool_binop_done;
29471     }
29472     __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_function, __pyx_n_s_is_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 976, __pyx_L1_error)
29473     __Pyx_GOTREF(__pyx_t_6);
29474     __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 976, __pyx_L1_error)
29475     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
29476     __pyx_t_3 = __pyx_t_5;
29477     __pyx_L22_bool_binop_done:;
29478     if (__pyx_t_3) {
29479 
29480       /* "Cython/Compiler/FlowControl.py":977
29481  *             function = sequence.function
29482  *             if sequence.self is None and function.is_name:
29483  *                 entry = self.env.lookup(function.name)             # <<<<<<<<<<<<<<
29484  *                 if not entry or entry.is_builtin:
29485  *                     if function.name in ('range', 'xrange'):
29486  */
29487       __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->env, __pyx_n_s_lookup); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 977, __pyx_L1_error)
29488       __Pyx_GOTREF(__pyx_t_9);
29489       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_function, __pyx_n_s_name_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 977, __pyx_L1_error)
29490       __Pyx_GOTREF(__pyx_t_1);
29491       __pyx_t_7 = NULL;
29492       if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
29493         __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_9);
29494         if (likely(__pyx_t_7)) {
29495           PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
29496           __Pyx_INCREF(__pyx_t_7);
29497           __Pyx_INCREF(function);
29498           __Pyx_DECREF_SET(__pyx_t_9, function);
29499         }
29500       }
29501       __pyx_t_6 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_7, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_1);
29502       __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
29503       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
29504       if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 977, __pyx_L1_error)
29505       __Pyx_GOTREF(__pyx_t_6);
29506       __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
29507       __Pyx_XDECREF_SET(__pyx_v_entry, __pyx_t_6);
29508       __pyx_t_6 = 0;
29509 
29510       /* "Cython/Compiler/FlowControl.py":978
29511  *             if sequence.self is None and function.is_name:
29512  *                 entry = self.env.lookup(function.name)
29513  *                 if not entry or entry.is_builtin:             # <<<<<<<<<<<<<<
29514  *                     if function.name in ('range', 'xrange'):
29515  *                         is_special = True
29516  */
29517       __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_entry); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 978, __pyx_L1_error)
29518       __pyx_t_4 = ((!__pyx_t_5) != 0);
29519       if (!__pyx_t_4) {
29520       } else {
29521         __pyx_t_3 = __pyx_t_4;
29522         goto __pyx_L25_bool_binop_done;
29523       }
29524       __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_is_builtin); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 978, __pyx_L1_error)
29525       __Pyx_GOTREF(__pyx_t_6);
29526       __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 978, __pyx_L1_error)
29527       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
29528       __pyx_t_3 = __pyx_t_4;
29529       __pyx_L25_bool_binop_done:;
29530       if (__pyx_t_3) {
29531 
29532         /* "Cython/Compiler/FlowControl.py":979
29533  *                 entry = self.env.lookup(function.name)
29534  *                 if not entry or entry.is_builtin:
29535  *                     if function.name in ('range', 'xrange'):             # <<<<<<<<<<<<<<
29536  *                         is_special = True
29537  *                         for arg in sequence.args[:2]:
29538  */
29539         __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_function, __pyx_n_s_name_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 979, __pyx_L1_error)
29540         __Pyx_GOTREF(__pyx_t_6);
29541         __pyx_t_4 = (__Pyx_PyString_Equals(__pyx_t_6, __pyx_n_s_range, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 979, __pyx_L1_error)
29542         if (!__pyx_t_4) {
29543         } else {
29544           __pyx_t_3 = __pyx_t_4;
29545           goto __pyx_L28_bool_binop_done;
29546         }
29547         __pyx_t_4 = (__Pyx_PyString_Equals(__pyx_t_6, __pyx_n_s_xrange, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 979, __pyx_L1_error)
29548         __pyx_t_3 = __pyx_t_4;
29549         __pyx_L28_bool_binop_done:;
29550         __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
29551         __pyx_t_4 = (__pyx_t_3 != 0);
29552         if (__pyx_t_4) {
29553 
29554           /* "Cython/Compiler/FlowControl.py":980
29555  *                 if not entry or entry.is_builtin:
29556  *                     if function.name in ('range', 'xrange'):
29557  *                         is_special = True             # <<<<<<<<<<<<<<
29558  *                         for arg in sequence.args[:2]:
29559  *                             self.mark_assignment(target, arg)
29560  */
29561           __pyx_v_is_special = 1;
29562 
29563           /* "Cython/Compiler/FlowControl.py":981
29564  *                     if function.name in ('range', 'xrange'):
29565  *                         is_special = True
29566  *                         for arg in sequence.args[:2]:             # <<<<<<<<<<<<<<
29567  *                             self.mark_assignment(target, arg)
29568  *                         if len(sequence.args) > 2:
29569  */
29570           __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_sequence, __pyx_n_s_args); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 981, __pyx_L1_error)
29571           __Pyx_GOTREF(__pyx_t_6);
29572           __pyx_t_9 = __Pyx_PyObject_GetSlice(__pyx_t_6, 0, 2, NULL, NULL, &__pyx_slice_, 0, 1, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 981, __pyx_L1_error)
29573           __Pyx_GOTREF(__pyx_t_9);
29574           __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
29575           if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) {
29576             __pyx_t_6 = __pyx_t_9; __Pyx_INCREF(__pyx_t_6); __pyx_t_8 = 0;
29577             __pyx_t_11 = NULL;
29578           } else {
29579             __pyx_t_8 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 981, __pyx_L1_error)
29580             __Pyx_GOTREF(__pyx_t_6);
29581             __pyx_t_11 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 981, __pyx_L1_error)
29582           }
29583           __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
29584           for (;;) {
29585             if (likely(!__pyx_t_11)) {
29586               if (likely(PyList_CheckExact(__pyx_t_6))) {
29587                 if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_6)) break;
29588                 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
29589                 __pyx_t_9 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_t_9); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 981, __pyx_L1_error)
29590                 #else
29591                 __pyx_t_9 = PySequence_ITEM(__pyx_t_6, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 981, __pyx_L1_error)
29592                 __Pyx_GOTREF(__pyx_t_9);
29593                 #endif
29594               } else {
29595                 if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
29596                 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
29597                 __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_t_9); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 981, __pyx_L1_error)
29598                 #else
29599                 __pyx_t_9 = PySequence_ITEM(__pyx_t_6, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 981, __pyx_L1_error)
29600                 __Pyx_GOTREF(__pyx_t_9);
29601                 #endif
29602               }
29603             } else {
29604               __pyx_t_9 = __pyx_t_11(__pyx_t_6);
29605               if (unlikely(!__pyx_t_9)) {
29606                 PyObject* exc_type = PyErr_Occurred();
29607                 if (exc_type) {
29608                   if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
29609                   else __PYX_ERR(0, 981, __pyx_L1_error)
29610                 }
29611                 break;
29612               }
29613               __Pyx_GOTREF(__pyx_t_9);
29614             }
29615             __Pyx_XDECREF_SET(__pyx_v_arg, __pyx_t_9);
29616             __pyx_t_9 = 0;
29617 
29618             /* "Cython/Compiler/FlowControl.py":982
29619  *                         is_special = True
29620  *                         for arg in sequence.args[:2]:
29621  *                             self.mark_assignment(target, arg)             # <<<<<<<<<<<<<<
29622  *                         if len(sequence.args) > 2:
29623  *                             self.mark_assignment(target, self.constant_folder(
29624  */
29625             __pyx_t_10.__pyx_n = 1;
29626             __pyx_t_10.rhs = __pyx_v_arg;
29627             __pyx_t_9 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment(__pyx_v_self, __pyx_v_target, 0, &__pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 982, __pyx_L1_error)
29628             __Pyx_GOTREF(__pyx_t_9);
29629             __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
29630 
29631             /* "Cython/Compiler/FlowControl.py":981
29632  *                     if function.name in ('range', 'xrange'):
29633  *                         is_special = True
29634  *                         for arg in sequence.args[:2]:             # <<<<<<<<<<<<<<
29635  *                             self.mark_assignment(target, arg)
29636  *                         if len(sequence.args) > 2:
29637  */
29638           }
29639           __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
29640 
29641           /* "Cython/Compiler/FlowControl.py":983
29642  *                         for arg in sequence.args[:2]:
29643  *                             self.mark_assignment(target, arg)
29644  *                         if len(sequence.args) > 2:             # <<<<<<<<<<<<<<
29645  *                             self.mark_assignment(target, self.constant_folder(
29646  *                                 ExprNodes.binop_node(node.pos,
29647  */
29648           __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_sequence, __pyx_n_s_args); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 983, __pyx_L1_error)
29649           __Pyx_GOTREF(__pyx_t_6);
29650           __pyx_t_8 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 983, __pyx_L1_error)
29651           __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
29652           __pyx_t_4 = ((__pyx_t_8 > 2) != 0);
29653           if (__pyx_t_4) {
29654 
29655             /* "Cython/Compiler/FlowControl.py":985
29656  *                         if len(sequence.args) > 2:
29657  *                             self.mark_assignment(target, self.constant_folder(
29658  *                                 ExprNodes.binop_node(node.pos,             # <<<<<<<<<<<<<<
29659  *                                                      '+',
29660  *                                                      sequence.args[0],
29661  */
29662             __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_11FlowControl_ExprNodes, __pyx_n_s_binop_node); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 985, __pyx_L1_error)
29663             __Pyx_GOTREF(__pyx_t_1);
29664             __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_pos); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 985, __pyx_L1_error)
29665             __Pyx_GOTREF(__pyx_t_7);
29666 
29667             /* "Cython/Compiler/FlowControl.py":987
29668  *                                 ExprNodes.binop_node(node.pos,
29669  *                                                      '+',
29670  *                                                      sequence.args[0],             # <<<<<<<<<<<<<<
29671  *                                                      sequence.args[2])))
29672  *
29673  */
29674             __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_sequence, __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 987, __pyx_L1_error)
29675             __Pyx_GOTREF(__pyx_t_2);
29676             __pyx_t_12 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 987, __pyx_L1_error)
29677             __Pyx_GOTREF(__pyx_t_12);
29678             __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
29679 
29680             /* "Cython/Compiler/FlowControl.py":988
29681  *                                                      '+',
29682  *                                                      sequence.args[0],
29683  *                                                      sequence.args[2])))             # <<<<<<<<<<<<<<
29684  *
29685  *         if not is_special:
29686  */
29687             __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_sequence, __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 988, __pyx_L1_error)
29688             __Pyx_GOTREF(__pyx_t_2);
29689             __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_2, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 988, __pyx_L1_error)
29690             __Pyx_GOTREF(__pyx_t_13);
29691             __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
29692             __pyx_t_2 = NULL;
29693             __pyx_t_14 = 0;
29694             if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
29695               __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
29696               if (likely(__pyx_t_2)) {
29697                 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
29698                 __Pyx_INCREF(__pyx_t_2);
29699                 __Pyx_INCREF(function);
29700                 __Pyx_DECREF_SET(__pyx_t_1, function);
29701                 __pyx_t_14 = 1;
29702               }
29703             }
29704             #if CYTHON_FAST_PYCALL
29705             if (PyFunction_Check(__pyx_t_1)) {
29706               PyObject *__pyx_temp[5] = {__pyx_t_2, __pyx_t_7, __pyx_kp_s__13, __pyx_t_12, __pyx_t_13};
29707               __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_14, 4+__pyx_t_14); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 985, __pyx_L1_error)
29708               __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
29709               __Pyx_GOTREF(__pyx_t_9);
29710               __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
29711               __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
29712               __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
29713             } else
29714             #endif
29715             #if CYTHON_FAST_PYCCALL
29716             if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
29717               PyObject *__pyx_temp[5] = {__pyx_t_2, __pyx_t_7, __pyx_kp_s__13, __pyx_t_12, __pyx_t_13};
29718               __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_14, 4+__pyx_t_14); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 985, __pyx_L1_error)
29719               __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
29720               __Pyx_GOTREF(__pyx_t_9);
29721               __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
29722               __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
29723               __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
29724             } else
29725             #endif
29726             {
29727               __pyx_t_15 = PyTuple_New(4+__pyx_t_14); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 985, __pyx_L1_error)
29728               __Pyx_GOTREF(__pyx_t_15);
29729               if (__pyx_t_2) {
29730                 __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_2); __pyx_t_2 = NULL;
29731               }
29732               __Pyx_GIVEREF(__pyx_t_7);
29733               PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_14, __pyx_t_7);
29734               __Pyx_INCREF(__pyx_kp_s__13);
29735               __Pyx_GIVEREF(__pyx_kp_s__13);
29736               PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_14, __pyx_kp_s__13);
29737               __Pyx_GIVEREF(__pyx_t_12);
29738               PyTuple_SET_ITEM(__pyx_t_15, 2+__pyx_t_14, __pyx_t_12);
29739               __Pyx_GIVEREF(__pyx_t_13);
29740               PyTuple_SET_ITEM(__pyx_t_15, 3+__pyx_t_14, __pyx_t_13);
29741               __pyx_t_7 = 0;
29742               __pyx_t_12 = 0;
29743               __pyx_t_13 = 0;
29744               __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_15, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 985, __pyx_L1_error)
29745               __Pyx_GOTREF(__pyx_t_9);
29746               __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
29747             }
29748             __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
29749             __Pyx_INCREF(__pyx_v_self->constant_folder);
29750             __pyx_t_1 = __pyx_v_self->constant_folder; __pyx_t_15 = NULL;
29751             if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
29752               __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_1);
29753               if (likely(__pyx_t_15)) {
29754                 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
29755                 __Pyx_INCREF(__pyx_t_15);
29756                 __Pyx_INCREF(function);
29757                 __Pyx_DECREF_SET(__pyx_t_1, function);
29758               }
29759             }
29760             __pyx_t_6 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_15, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_9);
29761             __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
29762             __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
29763             if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 984, __pyx_L1_error)
29764             __Pyx_GOTREF(__pyx_t_6);
29765             __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
29766 
29767             /* "Cython/Compiler/FlowControl.py":984
29768  *                             self.mark_assignment(target, arg)
29769  *                         if len(sequence.args) > 2:
29770  *                             self.mark_assignment(target, self.constant_folder(             # <<<<<<<<<<<<<<
29771  *                                 ExprNodes.binop_node(node.pos,
29772  *                                                      '+',
29773  */
29774             __pyx_t_10.__pyx_n = 1;
29775             __pyx_t_10.rhs = __pyx_t_6;
29776             __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment(__pyx_v_self, __pyx_v_target, 0, &__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 984, __pyx_L1_error)
29777             __Pyx_GOTREF(__pyx_t_1);
29778             __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
29779             __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
29780 
29781             /* "Cython/Compiler/FlowControl.py":983
29782  *                         for arg in sequence.args[:2]:
29783  *                             self.mark_assignment(target, arg)
29784  *                         if len(sequence.args) > 2:             # <<<<<<<<<<<<<<
29785  *                             self.mark_assignment(target, self.constant_folder(
29786  *                                 ExprNodes.binop_node(node.pos,
29787  */
29788           }
29789 
29790           /* "Cython/Compiler/FlowControl.py":979
29791  *                 entry = self.env.lookup(function.name)
29792  *                 if not entry or entry.is_builtin:
29793  *                     if function.name in ('range', 'xrange'):             # <<<<<<<<<<<<<<
29794  *                         is_special = True
29795  *                         for arg in sequence.args[:2]:
29796  */
29797         }
29798 
29799         /* "Cython/Compiler/FlowControl.py":978
29800  *             if sequence.self is None and function.is_name:
29801  *                 entry = self.env.lookup(function.name)
29802  *                 if not entry or entry.is_builtin:             # <<<<<<<<<<<<<<
29803  *                     if function.name in ('range', 'xrange'):
29804  *                         is_special = True
29805  */
29806       }
29807 
29808       /* "Cython/Compiler/FlowControl.py":976
29809  *         if isinstance(sequence, ExprNodes.SimpleCallNode):
29810  *             function = sequence.function
29811  *             if sequence.self is None and function.is_name:             # <<<<<<<<<<<<<<
29812  *                 entry = self.env.lookup(function.name)
29813  *                 if not entry or entry.is_builtin:
29814  */
29815     }
29816 
29817     /* "Cython/Compiler/FlowControl.py":974
29818  *                                     target = target.args[1]
29819  *                                     sequence = sequence.args[0]
29820  *         if isinstance(sequence, ExprNodes.SimpleCallNode):             # <<<<<<<<<<<<<<
29821  *             function = sequence.function
29822  *             if sequence.self is None and function.is_name:
29823  */
29824   }
29825 
29826   /* "Cython/Compiler/FlowControl.py":990
29827  *                                                      sequence.args[2])))
29828  *
29829  *         if not is_special:             # <<<<<<<<<<<<<<
29830  *             # A for-loop basically translates to subsequent calls to
29831  *             # __getitem__(), so using an IndexNode here allows us to
29832  */
29833   __pyx_t_4 = ((!(__pyx_v_is_special != 0)) != 0);
29834   if (__pyx_t_4) {
29835 
29836     /* "Cython/Compiler/FlowControl.py":997
29837  *             # object type when the base type cannot be handled.
29838  *
29839  *             self.mark_assignment(target, node.item)             # <<<<<<<<<<<<<<
29840  *
29841  *     def visit_AsyncForStatNode(self, node):
29842  */
29843     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_item); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 997, __pyx_L1_error)
29844     __Pyx_GOTREF(__pyx_t_1);
29845     __pyx_t_10.__pyx_n = 1;
29846     __pyx_t_10.rhs = __pyx_t_1;
29847     __pyx_t_6 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment(__pyx_v_self, __pyx_v_target, 0, &__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 997, __pyx_L1_error)
29848     __Pyx_GOTREF(__pyx_t_6);
29849     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
29850     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
29851 
29852     /* "Cython/Compiler/FlowControl.py":990
29853  *                                                      sequence.args[2])))
29854  *
29855  *         if not is_special:             # <<<<<<<<<<<<<<
29856  *             # A for-loop basically translates to subsequent calls to
29857  *             # __getitem__(), so using an IndexNode here allows us to
29858  */
29859   }
29860 
29861   /* "Cython/Compiler/FlowControl.py":949
29862  *         return node
29863  *
29864  *     def mark_forloop_target(self, node):             # <<<<<<<<<<<<<<
29865  *         # TODO: Remove redundancy with range optimization...
29866  *         is_special = False
29867  */
29868 
29869   /* function exit code */
29870   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
29871   goto __pyx_L0;
29872   __pyx_L1_error:;
29873   __Pyx_XDECREF(__pyx_t_1);
29874   __Pyx_XDECREF(__pyx_t_2);
29875   __Pyx_XDECREF(__pyx_t_6);
29876   __Pyx_XDECREF(__pyx_t_7);
29877   __Pyx_XDECREF(__pyx_t_9);
29878   __Pyx_XDECREF(__pyx_t_12);
29879   __Pyx_XDECREF(__pyx_t_13);
29880   __Pyx_XDECREF(__pyx_t_15);
29881   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.mark_forloop_target", __pyx_clineno, __pyx_lineno, __pyx_filename);
29882   __pyx_r = NULL;
29883   __pyx_L0:;
29884   __Pyx_XDECREF(__pyx_v_sequence);
29885   __Pyx_XDECREF(__pyx_v_target);
29886   __Pyx_XDECREF(__pyx_v_function);
29887   __Pyx_XDECREF(__pyx_v_entry);
29888   __Pyx_XDECREF(__pyx_v_iterator);
29889   __Pyx_XDECREF(__pyx_v_iterator_type);
29890   __Pyx_XDECREF(__pyx_v_arg);
29891   __Pyx_XGIVEREF(__pyx_r);
29892   __Pyx_RefNannyFinishContext();
29893   return __pyx_r;
29894 }
29895 
29896 /* "Cython/Compiler/FlowControl.py":999
29897  *             self.mark_assignment(target, node.item)
29898  *
29899  *     def visit_AsyncForStatNode(self, node):             # <<<<<<<<<<<<<<
29900  *         return self.visit_ForInStatNode(node)
29901  *
29902  */
29903 
29904 /* Python wrapper */
29905 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_47visit_AsyncForStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
29906 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_47visit_AsyncForStatNode = {"visit_AsyncForStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_47visit_AsyncForStatNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_47visit_AsyncForStatNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)29907 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_47visit_AsyncForStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
29908   PyObject *__pyx_r = 0;
29909   __Pyx_RefNannyDeclarations
29910   __Pyx_RefNannySetupContext("visit_AsyncForStatNode (wrapper)", 0);
29911   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_46visit_AsyncForStatNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
29912 
29913   /* function exit code */
29914   __Pyx_RefNannyFinishContext();
29915   return __pyx_r;
29916 }
29917 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_46visit_AsyncForStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)29918 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_46visit_AsyncForStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
29919   PyObject *__pyx_r = NULL;
29920   __Pyx_RefNannyDeclarations
29921   PyObject *__pyx_t_1 = NULL;
29922   PyObject *__pyx_t_2 = NULL;
29923   PyObject *__pyx_t_3 = NULL;
29924   int __pyx_lineno = 0;
29925   const char *__pyx_filename = NULL;
29926   int __pyx_clineno = 0;
29927   __Pyx_RefNannySetupContext("visit_AsyncForStatNode", 0);
29928 
29929   /* "Cython/Compiler/FlowControl.py":1000
29930  *
29931  *     def visit_AsyncForStatNode(self, node):
29932  *         return self.visit_ForInStatNode(node)             # <<<<<<<<<<<<<<
29933  *
29934  *     def visit_ForInStatNode(self, node):
29935  */
29936   __Pyx_XDECREF(__pyx_r);
29937   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_visit_ForInStatNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1000, __pyx_L1_error)
29938   __Pyx_GOTREF(__pyx_t_2);
29939   __pyx_t_3 = NULL;
29940   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
29941     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
29942     if (likely(__pyx_t_3)) {
29943       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
29944       __Pyx_INCREF(__pyx_t_3);
29945       __Pyx_INCREF(function);
29946       __Pyx_DECREF_SET(__pyx_t_2, function);
29947     }
29948   }
29949   __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_node) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_node);
29950   __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
29951   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1000, __pyx_L1_error)
29952   __Pyx_GOTREF(__pyx_t_1);
29953   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
29954   __pyx_r = __pyx_t_1;
29955   __pyx_t_1 = 0;
29956   goto __pyx_L0;
29957 
29958   /* "Cython/Compiler/FlowControl.py":999
29959  *             self.mark_assignment(target, node.item)
29960  *
29961  *     def visit_AsyncForStatNode(self, node):             # <<<<<<<<<<<<<<
29962  *         return self.visit_ForInStatNode(node)
29963  *
29964  */
29965 
29966   /* function exit code */
29967   __pyx_L1_error:;
29968   __Pyx_XDECREF(__pyx_t_1);
29969   __Pyx_XDECREF(__pyx_t_2);
29970   __Pyx_XDECREF(__pyx_t_3);
29971   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_AsyncForStatNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
29972   __pyx_r = NULL;
29973   __pyx_L0:;
29974   __Pyx_XGIVEREF(__pyx_r);
29975   __Pyx_RefNannyFinishContext();
29976   return __pyx_r;
29977 }
29978 
29979 /* "Cython/Compiler/FlowControl.py":1002
29980  *         return self.visit_ForInStatNode(node)
29981  *
29982  *     def visit_ForInStatNode(self, node):             # <<<<<<<<<<<<<<
29983  *         condition_block = self.flow.nextblock()
29984  *         next_block = self.flow.newblock()
29985  */
29986 
29987 /* Python wrapper */
29988 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_49visit_ForInStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
29989 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_49visit_ForInStatNode = {"visit_ForInStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_49visit_ForInStatNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_49visit_ForInStatNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)29990 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_49visit_ForInStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
29991   PyObject *__pyx_r = 0;
29992   __Pyx_RefNannyDeclarations
29993   __Pyx_RefNannySetupContext("visit_ForInStatNode (wrapper)", 0);
29994   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_48visit_ForInStatNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
29995 
29996   /* function exit code */
29997   __Pyx_RefNannyFinishContext();
29998   return __pyx_r;
29999 }
30000 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_48visit_ForInStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)30001 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_48visit_ForInStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
30002   PyObject *__pyx_v_condition_block = NULL;
30003   PyObject *__pyx_v_next_block = NULL;
30004   PyObject *__pyx_r = NULL;
30005   __Pyx_RefNannyDeclarations
30006   PyObject *__pyx_t_1 = NULL;
30007   PyObject *__pyx_t_2 = NULL;
30008   PyObject *__pyx_t_3 = NULL;
30009   int __pyx_t_4;
30010   PyObject *__pyx_t_5 = NULL;
30011   int __pyx_t_6;
30012   int __pyx_t_7;
30013   int __pyx_t_8;
30014   struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment __pyx_t_9;
30015   PyObject *__pyx_t_10 = NULL;
30016   struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock __pyx_t_11;
30017   int __pyx_lineno = 0;
30018   const char *__pyx_filename = NULL;
30019   int __pyx_clineno = 0;
30020   __Pyx_RefNannySetupContext("visit_ForInStatNode", 0);
30021 
30022   /* "Cython/Compiler/FlowControl.py":1003
30023  *
30024  *     def visit_ForInStatNode(self, node):
30025  *         condition_block = self.flow.nextblock()             # <<<<<<<<<<<<<<
30026  *         next_block = self.flow.newblock()
30027  *         # Condition with iterator
30028  */
30029   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1003, __pyx_L1_error)
30030   __Pyx_GOTREF(__pyx_t_1);
30031   __pyx_v_condition_block = __pyx_t_1;
30032   __pyx_t_1 = 0;
30033 
30034   /* "Cython/Compiler/FlowControl.py":1004
30035  *     def visit_ForInStatNode(self, node):
30036  *         condition_block = self.flow.nextblock()
30037  *         next_block = self.flow.newblock()             # <<<<<<<<<<<<<<
30038  *         # Condition with iterator
30039  *         self.flow.loops.append(LoopDescr(next_block, condition_block))
30040  */
30041   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1004, __pyx_L1_error)
30042   __Pyx_GOTREF(__pyx_t_1);
30043   __pyx_v_next_block = __pyx_t_1;
30044   __pyx_t_1 = 0;
30045 
30046   /* "Cython/Compiler/FlowControl.py":1006
30047  *         next_block = self.flow.newblock()
30048  *         # Condition with iterator
30049  *         self.flow.loops.append(LoopDescr(next_block, condition_block))             # <<<<<<<<<<<<<<
30050  *         self._visit(node.iterator)
30051  *         # Target assignment
30052  */
30053   if (unlikely(__pyx_v_self->flow->loops == Py_None)) {
30054     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
30055     __PYX_ERR(0, 1006, __pyx_L1_error)
30056   }
30057   __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_LoopDescr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1006, __pyx_L1_error)
30058   __Pyx_GOTREF(__pyx_t_2);
30059   __pyx_t_3 = NULL;
30060   __pyx_t_4 = 0;
30061   if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
30062     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
30063     if (likely(__pyx_t_3)) {
30064       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
30065       __Pyx_INCREF(__pyx_t_3);
30066       __Pyx_INCREF(function);
30067       __Pyx_DECREF_SET(__pyx_t_2, function);
30068       __pyx_t_4 = 1;
30069     }
30070   }
30071   #if CYTHON_FAST_PYCALL
30072   if (PyFunction_Check(__pyx_t_2)) {
30073     PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_next_block, __pyx_v_condition_block};
30074     __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1006, __pyx_L1_error)
30075     __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
30076     __Pyx_GOTREF(__pyx_t_1);
30077   } else
30078   #endif
30079   #if CYTHON_FAST_PYCCALL
30080   if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
30081     PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_next_block, __pyx_v_condition_block};
30082     __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1006, __pyx_L1_error)
30083     __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
30084     __Pyx_GOTREF(__pyx_t_1);
30085   } else
30086   #endif
30087   {
30088     __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1006, __pyx_L1_error)
30089     __Pyx_GOTREF(__pyx_t_5);
30090     if (__pyx_t_3) {
30091       __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
30092     }
30093     __Pyx_INCREF(__pyx_v_next_block);
30094     __Pyx_GIVEREF(__pyx_v_next_block);
30095     PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_next_block);
30096     __Pyx_INCREF(__pyx_v_condition_block);
30097     __Pyx_GIVEREF(__pyx_v_condition_block);
30098     PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_condition_block);
30099     __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1006, __pyx_L1_error)
30100     __Pyx_GOTREF(__pyx_t_1);
30101     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
30102   }
30103   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
30104   __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_self->flow->loops, __pyx_t_1); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 1006, __pyx_L1_error)
30105   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
30106 
30107   /* "Cython/Compiler/FlowControl.py":1007
30108  *         # Condition with iterator
30109  *         self.flow.loops.append(LoopDescr(next_block, condition_block))
30110  *         self._visit(node.iterator)             # <<<<<<<<<<<<<<
30111  *         # Target assignment
30112  *         self.flow.nextblock()
30113  */
30114   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_iterator); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1007, __pyx_L1_error)
30115   __Pyx_GOTREF(__pyx_t_1);
30116   __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1007, __pyx_L1_error)
30117   __Pyx_GOTREF(__pyx_t_2);
30118   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
30119   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
30120 
30121   /* "Cython/Compiler/FlowControl.py":1009
30122  *         self._visit(node.iterator)
30123  *         # Target assignment
30124  *         self.flow.nextblock()             # <<<<<<<<<<<<<<
30125  *
30126  *         if isinstance(node, Nodes.ForInStatNode):
30127  */
30128   __pyx_t_2 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1009, __pyx_L1_error)
30129   __Pyx_GOTREF(__pyx_t_2);
30130   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
30131 
30132   /* "Cython/Compiler/FlowControl.py":1011
30133  *         self.flow.nextblock()
30134  *
30135  *         if isinstance(node, Nodes.ForInStatNode):             # <<<<<<<<<<<<<<
30136  *             self.mark_forloop_target(node)
30137  *         elif isinstance(node, Nodes.AsyncForStatNode):
30138  */
30139   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_11FlowControl_Nodes, __pyx_n_s_ForInStatNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1011, __pyx_L1_error)
30140   __Pyx_GOTREF(__pyx_t_2);
30141   __pyx_t_7 = PyObject_IsInstance(__pyx_v_node, __pyx_t_2); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 1011, __pyx_L1_error)
30142   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
30143   __pyx_t_8 = (__pyx_t_7 != 0);
30144   if (__pyx_t_8) {
30145 
30146     /* "Cython/Compiler/FlowControl.py":1012
30147  *
30148  *         if isinstance(node, Nodes.ForInStatNode):
30149  *             self.mark_forloop_target(node)             # <<<<<<<<<<<<<<
30150  *         elif isinstance(node, Nodes.AsyncForStatNode):
30151  *             # not entirely correct, but good enough for now
30152  */
30153     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_mark_forloop_target); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1012, __pyx_L1_error)
30154     __Pyx_GOTREF(__pyx_t_1);
30155     __pyx_t_5 = NULL;
30156     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
30157       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
30158       if (likely(__pyx_t_5)) {
30159         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
30160         __Pyx_INCREF(__pyx_t_5);
30161         __Pyx_INCREF(function);
30162         __Pyx_DECREF_SET(__pyx_t_1, function);
30163       }
30164     }
30165     __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v_node) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_node);
30166     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
30167     if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1012, __pyx_L1_error)
30168     __Pyx_GOTREF(__pyx_t_2);
30169     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
30170     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
30171 
30172     /* "Cython/Compiler/FlowControl.py":1011
30173  *         self.flow.nextblock()
30174  *
30175  *         if isinstance(node, Nodes.ForInStatNode):             # <<<<<<<<<<<<<<
30176  *             self.mark_forloop_target(node)
30177  *         elif isinstance(node, Nodes.AsyncForStatNode):
30178  */
30179     goto __pyx_L3;
30180   }
30181 
30182   /* "Cython/Compiler/FlowControl.py":1013
30183  *         if isinstance(node, Nodes.ForInStatNode):
30184  *             self.mark_forloop_target(node)
30185  *         elif isinstance(node, Nodes.AsyncForStatNode):             # <<<<<<<<<<<<<<
30186  *             # not entirely correct, but good enough for now
30187  *             self.mark_assignment(node.target, node.item)
30188  */
30189   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_11FlowControl_Nodes, __pyx_n_s_AsyncForStatNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1013, __pyx_L1_error)
30190   __Pyx_GOTREF(__pyx_t_2);
30191   __pyx_t_8 = PyObject_IsInstance(__pyx_v_node, __pyx_t_2); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 1013, __pyx_L1_error)
30192   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
30193   __pyx_t_7 = (__pyx_t_8 != 0);
30194   if (__pyx_t_7) {
30195 
30196     /* "Cython/Compiler/FlowControl.py":1015
30197  *         elif isinstance(node, Nodes.AsyncForStatNode):
30198  *             # not entirely correct, but good enough for now
30199  *             self.mark_assignment(node.target, node.item)             # <<<<<<<<<<<<<<
30200  *         else: # Parallel
30201  *             self.mark_assignment(node.target)
30202  */
30203     __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_target); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1015, __pyx_L1_error)
30204     __Pyx_GOTREF(__pyx_t_2);
30205     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_item); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1015, __pyx_L1_error)
30206     __Pyx_GOTREF(__pyx_t_1);
30207     __pyx_t_9.__pyx_n = 1;
30208     __pyx_t_9.rhs = __pyx_t_1;
30209     __pyx_t_5 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment(__pyx_v_self, __pyx_t_2, 0, &__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1015, __pyx_L1_error)
30210     __Pyx_GOTREF(__pyx_t_5);
30211     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
30212     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
30213     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
30214 
30215     /* "Cython/Compiler/FlowControl.py":1013
30216  *         if isinstance(node, Nodes.ForInStatNode):
30217  *             self.mark_forloop_target(node)
30218  *         elif isinstance(node, Nodes.AsyncForStatNode):             # <<<<<<<<<<<<<<
30219  *             # not entirely correct, but good enough for now
30220  *             self.mark_assignment(node.target, node.item)
30221  */
30222     goto __pyx_L3;
30223   }
30224 
30225   /* "Cython/Compiler/FlowControl.py":1017
30226  *             self.mark_assignment(node.target, node.item)
30227  *         else: # Parallel
30228  *             self.mark_assignment(node.target)             # <<<<<<<<<<<<<<
30229  *
30230  *         # Body block
30231  */
30232   /*else*/ {
30233     __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_target); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1017, __pyx_L1_error)
30234     __Pyx_GOTREF(__pyx_t_5);
30235     __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment(__pyx_v_self, __pyx_t_5, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1017, __pyx_L1_error)
30236     __Pyx_GOTREF(__pyx_t_1);
30237     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
30238     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
30239   }
30240   __pyx_L3:;
30241 
30242   /* "Cython/Compiler/FlowControl.py":1020
30243  *
30244  *         # Body block
30245  *         if isinstance(node, Nodes.ParallelRangeNode):             # <<<<<<<<<<<<<<
30246  *             # In case of an invalid
30247  *             self._delete_privates(node, exclude=node.target.entry)
30248  */
30249   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_11FlowControl_Nodes, __pyx_n_s_ParallelRangeNode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1020, __pyx_L1_error)
30250   __Pyx_GOTREF(__pyx_t_1);
30251   __pyx_t_7 = PyObject_IsInstance(__pyx_v_node, __pyx_t_1); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 1020, __pyx_L1_error)
30252   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
30253   __pyx_t_8 = (__pyx_t_7 != 0);
30254   if (__pyx_t_8) {
30255 
30256     /* "Cython/Compiler/FlowControl.py":1022
30257  *         if isinstance(node, Nodes.ParallelRangeNode):
30258  *             # In case of an invalid
30259  *             self._delete_privates(node, exclude=node.target.entry)             # <<<<<<<<<<<<<<
30260  *
30261  *         self.flow.nextblock()
30262  */
30263     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_delete_privates); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1022, __pyx_L1_error)
30264     __Pyx_GOTREF(__pyx_t_1);
30265     __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1022, __pyx_L1_error)
30266     __Pyx_GOTREF(__pyx_t_5);
30267     __Pyx_INCREF(__pyx_v_node);
30268     __Pyx_GIVEREF(__pyx_v_node);
30269     PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_node);
30270     __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1022, __pyx_L1_error)
30271     __Pyx_GOTREF(__pyx_t_2);
30272     __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_target); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1022, __pyx_L1_error)
30273     __Pyx_GOTREF(__pyx_t_3);
30274     __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_entry); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1022, __pyx_L1_error)
30275     __Pyx_GOTREF(__pyx_t_10);
30276     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
30277     if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_exclude, __pyx_t_10) < 0) __PYX_ERR(0, 1022, __pyx_L1_error)
30278     __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
30279     __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1022, __pyx_L1_error)
30280     __Pyx_GOTREF(__pyx_t_10);
30281     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
30282     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
30283     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
30284     __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
30285 
30286     /* "Cython/Compiler/FlowControl.py":1020
30287  *
30288  *         # Body block
30289  *         if isinstance(node, Nodes.ParallelRangeNode):             # <<<<<<<<<<<<<<
30290  *             # In case of an invalid
30291  *             self._delete_privates(node, exclude=node.target.entry)
30292  */
30293   }
30294 
30295   /* "Cython/Compiler/FlowControl.py":1024
30296  *             self._delete_privates(node, exclude=node.target.entry)
30297  *
30298  *         self.flow.nextblock()             # <<<<<<<<<<<<<<
30299  *         self._visit(node.body)
30300  *         self.flow.loops.pop()
30301  */
30302   __pyx_t_10 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1024, __pyx_L1_error)
30303   __Pyx_GOTREF(__pyx_t_10);
30304   __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
30305 
30306   /* "Cython/Compiler/FlowControl.py":1025
30307  *
30308  *         self.flow.nextblock()
30309  *         self._visit(node.body)             # <<<<<<<<<<<<<<
30310  *         self.flow.loops.pop()
30311  *
30312  */
30313   __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_body); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1025, __pyx_L1_error)
30314   __Pyx_GOTREF(__pyx_t_10);
30315   __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1025, __pyx_L1_error)
30316   __Pyx_GOTREF(__pyx_t_2);
30317   __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
30318   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
30319 
30320   /* "Cython/Compiler/FlowControl.py":1026
30321  *         self.flow.nextblock()
30322  *         self._visit(node.body)
30323  *         self.flow.loops.pop()             # <<<<<<<<<<<<<<
30324  *
30325  *         # Loop it
30326  */
30327   if (unlikely(__pyx_v_self->flow->loops == Py_None)) {
30328     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "pop");
30329     __PYX_ERR(0, 1026, __pyx_L1_error)
30330   }
30331   __pyx_t_2 = __Pyx_PyList_Pop(__pyx_v_self->flow->loops); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1026, __pyx_L1_error)
30332   __Pyx_GOTREF(__pyx_t_2);
30333   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
30334 
30335   /* "Cython/Compiler/FlowControl.py":1029
30336  *
30337  *         # Loop it
30338  *         if self.flow.block:             # <<<<<<<<<<<<<<
30339  *             self.flow.block.add_child(condition_block)
30340  *         # Else clause
30341  */
30342   __pyx_t_8 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->flow->block)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1029, __pyx_L1_error)
30343   if (__pyx_t_8) {
30344 
30345     /* "Cython/Compiler/FlowControl.py":1030
30346  *         # Loop it
30347  *         if self.flow.block:
30348  *             self.flow.block.add_child(condition_block)             # <<<<<<<<<<<<<<
30349  *         # Else clause
30350  *         if node.else_clause:
30351  */
30352     __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_v_condition_block, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1030, __pyx_L1_error)
30353     __Pyx_GOTREF(__pyx_t_2);
30354     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
30355 
30356     /* "Cython/Compiler/FlowControl.py":1029
30357  *
30358  *         # Loop it
30359  *         if self.flow.block:             # <<<<<<<<<<<<<<
30360  *             self.flow.block.add_child(condition_block)
30361  *         # Else clause
30362  */
30363   }
30364 
30365   /* "Cython/Compiler/FlowControl.py":1032
30366  *             self.flow.block.add_child(condition_block)
30367  *         # Else clause
30368  *         if node.else_clause:             # <<<<<<<<<<<<<<
30369  *             self.flow.nextblock(parent=condition_block)
30370  *             self._visit(node.else_clause)
30371  */
30372   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_else_clause); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1032, __pyx_L1_error)
30373   __Pyx_GOTREF(__pyx_t_2);
30374   __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1032, __pyx_L1_error)
30375   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
30376   if (__pyx_t_8) {
30377 
30378     /* "Cython/Compiler/FlowControl.py":1033
30379  *         # Else clause
30380  *         if node.else_clause:
30381  *             self.flow.nextblock(parent=condition_block)             # <<<<<<<<<<<<<<
30382  *             self._visit(node.else_clause)
30383  *             if self.flow.block:
30384  */
30385     if (!(likely(((__pyx_v_condition_block) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_condition_block, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(0, 1033, __pyx_L1_error)
30386     __pyx_t_11.__pyx_n = 1;
30387     __pyx_t_11.parent = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_condition_block);
30388     __pyx_t_2 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, &__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1033, __pyx_L1_error)
30389     __Pyx_GOTREF(__pyx_t_2);
30390     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
30391 
30392     /* "Cython/Compiler/FlowControl.py":1034
30393  *         if node.else_clause:
30394  *             self.flow.nextblock(parent=condition_block)
30395  *             self._visit(node.else_clause)             # <<<<<<<<<<<<<<
30396  *             if self.flow.block:
30397  *                 self.flow.block.add_child(next_block)
30398  */
30399     __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_else_clause); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1034, __pyx_L1_error)
30400     __Pyx_GOTREF(__pyx_t_2);
30401     __pyx_t_10 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1034, __pyx_L1_error)
30402     __Pyx_GOTREF(__pyx_t_10);
30403     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
30404     __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
30405 
30406     /* "Cython/Compiler/FlowControl.py":1035
30407  *             self.flow.nextblock(parent=condition_block)
30408  *             self._visit(node.else_clause)
30409  *             if self.flow.block:             # <<<<<<<<<<<<<<
30410  *                 self.flow.block.add_child(next_block)
30411  *         else:
30412  */
30413     __pyx_t_8 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->flow->block)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1035, __pyx_L1_error)
30414     if (__pyx_t_8) {
30415 
30416       /* "Cython/Compiler/FlowControl.py":1036
30417  *             self._visit(node.else_clause)
30418  *             if self.flow.block:
30419  *                 self.flow.block.add_child(next_block)             # <<<<<<<<<<<<<<
30420  *         else:
30421  *             condition_block.add_child(next_block)
30422  */
30423       __pyx_t_10 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_v_next_block, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1036, __pyx_L1_error)
30424       __Pyx_GOTREF(__pyx_t_10);
30425       __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
30426 
30427       /* "Cython/Compiler/FlowControl.py":1035
30428  *             self.flow.nextblock(parent=condition_block)
30429  *             self._visit(node.else_clause)
30430  *             if self.flow.block:             # <<<<<<<<<<<<<<
30431  *                 self.flow.block.add_child(next_block)
30432  *         else:
30433  */
30434     }
30435 
30436     /* "Cython/Compiler/FlowControl.py":1032
30437  *             self.flow.block.add_child(condition_block)
30438  *         # Else clause
30439  *         if node.else_clause:             # <<<<<<<<<<<<<<
30440  *             self.flow.nextblock(parent=condition_block)
30441  *             self._visit(node.else_clause)
30442  */
30443     goto __pyx_L6;
30444   }
30445 
30446   /* "Cython/Compiler/FlowControl.py":1038
30447  *                 self.flow.block.add_child(next_block)
30448  *         else:
30449  *             condition_block.add_child(next_block)             # <<<<<<<<<<<<<<
30450  *
30451  *         if next_block.parents:
30452  */
30453   /*else*/ {
30454     __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_condition_block, __pyx_n_s_add_child); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1038, __pyx_L1_error)
30455     __Pyx_GOTREF(__pyx_t_2);
30456     __pyx_t_5 = NULL;
30457     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
30458       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
30459       if (likely(__pyx_t_5)) {
30460         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
30461         __Pyx_INCREF(__pyx_t_5);
30462         __Pyx_INCREF(function);
30463         __Pyx_DECREF_SET(__pyx_t_2, function);
30464       }
30465     }
30466     __pyx_t_10 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_v_next_block) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_next_block);
30467     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
30468     if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1038, __pyx_L1_error)
30469     __Pyx_GOTREF(__pyx_t_10);
30470     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
30471     __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
30472   }
30473   __pyx_L6:;
30474 
30475   /* "Cython/Compiler/FlowControl.py":1040
30476  *             condition_block.add_child(next_block)
30477  *
30478  *         if next_block.parents:             # <<<<<<<<<<<<<<
30479  *             self.flow.block = next_block
30480  *         else:
30481  */
30482   __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_next_block, __pyx_n_s_parents); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1040, __pyx_L1_error)
30483   __Pyx_GOTREF(__pyx_t_10);
30484   __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1040, __pyx_L1_error)
30485   __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
30486   if (__pyx_t_8) {
30487 
30488     /* "Cython/Compiler/FlowControl.py":1041
30489  *
30490  *         if next_block.parents:
30491  *             self.flow.block = next_block             # <<<<<<<<<<<<<<
30492  *         else:
30493  *             self.flow.block = None
30494  */
30495     if (!(likely(((__pyx_v_next_block) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_next_block, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(0, 1041, __pyx_L1_error)
30496     __pyx_t_10 = __pyx_v_next_block;
30497     __Pyx_INCREF(__pyx_t_10);
30498     __Pyx_GIVEREF(__pyx_t_10);
30499     __Pyx_GOTREF(__pyx_v_self->flow->block);
30500     __Pyx_DECREF(((PyObject *)__pyx_v_self->flow->block));
30501     __pyx_v_self->flow->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_10);
30502     __pyx_t_10 = 0;
30503 
30504     /* "Cython/Compiler/FlowControl.py":1040
30505  *             condition_block.add_child(next_block)
30506  *
30507  *         if next_block.parents:             # <<<<<<<<<<<<<<
30508  *             self.flow.block = next_block
30509  *         else:
30510  */
30511     goto __pyx_L8;
30512   }
30513 
30514   /* "Cython/Compiler/FlowControl.py":1043
30515  *             self.flow.block = next_block
30516  *         else:
30517  *             self.flow.block = None             # <<<<<<<<<<<<<<
30518  *         return node
30519  *
30520  */
30521   /*else*/ {
30522     __Pyx_INCREF(Py_None);
30523     __Pyx_GIVEREF(Py_None);
30524     __Pyx_GOTREF(__pyx_v_self->flow->block);
30525     __Pyx_DECREF(((PyObject *)__pyx_v_self->flow->block));
30526     __pyx_v_self->flow->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)Py_None);
30527   }
30528   __pyx_L8:;
30529 
30530   /* "Cython/Compiler/FlowControl.py":1044
30531  *         else:
30532  *             self.flow.block = None
30533  *         return node             # <<<<<<<<<<<<<<
30534  *
30535  *     def _delete_privates(self, node, exclude=None):
30536  */
30537   __Pyx_XDECREF(__pyx_r);
30538   __Pyx_INCREF(__pyx_v_node);
30539   __pyx_r = __pyx_v_node;
30540   goto __pyx_L0;
30541 
30542   /* "Cython/Compiler/FlowControl.py":1002
30543  *         return self.visit_ForInStatNode(node)
30544  *
30545  *     def visit_ForInStatNode(self, node):             # <<<<<<<<<<<<<<
30546  *         condition_block = self.flow.nextblock()
30547  *         next_block = self.flow.newblock()
30548  */
30549 
30550   /* function exit code */
30551   __pyx_L1_error:;
30552   __Pyx_XDECREF(__pyx_t_1);
30553   __Pyx_XDECREF(__pyx_t_2);
30554   __Pyx_XDECREF(__pyx_t_3);
30555   __Pyx_XDECREF(__pyx_t_5);
30556   __Pyx_XDECREF(__pyx_t_10);
30557   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_ForInStatNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
30558   __pyx_r = NULL;
30559   __pyx_L0:;
30560   __Pyx_XDECREF(__pyx_v_condition_block);
30561   __Pyx_XDECREF(__pyx_v_next_block);
30562   __Pyx_XGIVEREF(__pyx_r);
30563   __Pyx_RefNannyFinishContext();
30564   return __pyx_r;
30565 }
30566 
30567 /* "Cython/Compiler/FlowControl.py":1046
30568  *         return node
30569  *
30570  *     def _delete_privates(self, node, exclude=None):             # <<<<<<<<<<<<<<
30571  *         for private_node in node.assigned_nodes:
30572  *             if not exclude or private_node.entry is not exclude:
30573  */
30574 
30575 /* Python wrapper */
30576 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_51_delete_privates(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
30577 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_51_delete_privates = {"_delete_privates", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_51_delete_privates, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_51_delete_privates(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)30578 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_51_delete_privates(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
30579   PyObject *__pyx_v_node = 0;
30580   PyObject *__pyx_v_exclude = 0;
30581   int __pyx_lineno = 0;
30582   const char *__pyx_filename = NULL;
30583   int __pyx_clineno = 0;
30584   PyObject *__pyx_r = 0;
30585   __Pyx_RefNannyDeclarations
30586   __Pyx_RefNannySetupContext("_delete_privates (wrapper)", 0);
30587   {
30588     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_node,&__pyx_n_s_exclude,0};
30589     PyObject* values[2] = {0,0};
30590     values[1] = ((PyObject *)Py_None);
30591     if (unlikely(__pyx_kwds)) {
30592       Py_ssize_t kw_args;
30593       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
30594       switch (pos_args) {
30595         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
30596         CYTHON_FALLTHROUGH;
30597         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
30598         CYTHON_FALLTHROUGH;
30599         case  0: break;
30600         default: goto __pyx_L5_argtuple_error;
30601       }
30602       kw_args = PyDict_Size(__pyx_kwds);
30603       switch (pos_args) {
30604         case  0:
30605         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node)) != 0)) kw_args--;
30606         else goto __pyx_L5_argtuple_error;
30607         CYTHON_FALLTHROUGH;
30608         case  1:
30609         if (kw_args > 0) {
30610           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_exclude);
30611           if (value) { values[1] = value; kw_args--; }
30612         }
30613       }
30614       if (unlikely(kw_args > 0)) {
30615         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_delete_privates") < 0)) __PYX_ERR(0, 1046, __pyx_L3_error)
30616       }
30617     } else {
30618       switch (PyTuple_GET_SIZE(__pyx_args)) {
30619         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
30620         CYTHON_FALLTHROUGH;
30621         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
30622         break;
30623         default: goto __pyx_L5_argtuple_error;
30624       }
30625     }
30626     __pyx_v_node = values[0];
30627     __pyx_v_exclude = values[1];
30628   }
30629   goto __pyx_L4_argument_unpacking_done;
30630   __pyx_L5_argtuple_error:;
30631   __Pyx_RaiseArgtupleInvalid("_delete_privates", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1046, __pyx_L3_error)
30632   __pyx_L3_error:;
30633   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis._delete_privates", __pyx_clineno, __pyx_lineno, __pyx_filename);
30634   __Pyx_RefNannyFinishContext();
30635   return NULL;
30636   __pyx_L4_argument_unpacking_done:;
30637   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_50_delete_privates(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), __pyx_v_node, __pyx_v_exclude);
30638 
30639   /* function exit code */
30640   __Pyx_RefNannyFinishContext();
30641   return __pyx_r;
30642 }
30643 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_50_delete_privates(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node,PyObject * __pyx_v_exclude)30644 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_50_delete_privates(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node, PyObject *__pyx_v_exclude) {
30645   PyObject *__pyx_v_private_node = NULL;
30646   PyObject *__pyx_r = NULL;
30647   __Pyx_RefNannyDeclarations
30648   PyObject *__pyx_t_1 = NULL;
30649   PyObject *__pyx_t_2 = NULL;
30650   Py_ssize_t __pyx_t_3;
30651   PyObject *(*__pyx_t_4)(PyObject *);
30652   int __pyx_t_5;
30653   int __pyx_t_6;
30654   int __pyx_t_7;
30655   PyObject *__pyx_t_8 = NULL;
30656   int __pyx_lineno = 0;
30657   const char *__pyx_filename = NULL;
30658   int __pyx_clineno = 0;
30659   __Pyx_RefNannySetupContext("_delete_privates", 0);
30660 
30661   /* "Cython/Compiler/FlowControl.py":1047
30662  *
30663  *     def _delete_privates(self, node, exclude=None):
30664  *         for private_node in node.assigned_nodes:             # <<<<<<<<<<<<<<
30665  *             if not exclude or private_node.entry is not exclude:
30666  *                 self.flow.mark_deletion(private_node, private_node.entry)
30667  */
30668   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_assigned_nodes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1047, __pyx_L1_error)
30669   __Pyx_GOTREF(__pyx_t_1);
30670   if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
30671     __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
30672     __pyx_t_4 = NULL;
30673   } else {
30674     __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1047, __pyx_L1_error)
30675     __Pyx_GOTREF(__pyx_t_2);
30676     __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1047, __pyx_L1_error)
30677   }
30678   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
30679   for (;;) {
30680     if (likely(!__pyx_t_4)) {
30681       if (likely(PyList_CheckExact(__pyx_t_2))) {
30682         if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
30683         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
30684         __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1047, __pyx_L1_error)
30685         #else
30686         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1047, __pyx_L1_error)
30687         __Pyx_GOTREF(__pyx_t_1);
30688         #endif
30689       } else {
30690         if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
30691         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
30692         __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1047, __pyx_L1_error)
30693         #else
30694         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1047, __pyx_L1_error)
30695         __Pyx_GOTREF(__pyx_t_1);
30696         #endif
30697       }
30698     } else {
30699       __pyx_t_1 = __pyx_t_4(__pyx_t_2);
30700       if (unlikely(!__pyx_t_1)) {
30701         PyObject* exc_type = PyErr_Occurred();
30702         if (exc_type) {
30703           if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
30704           else __PYX_ERR(0, 1047, __pyx_L1_error)
30705         }
30706         break;
30707       }
30708       __Pyx_GOTREF(__pyx_t_1);
30709     }
30710     __Pyx_XDECREF_SET(__pyx_v_private_node, __pyx_t_1);
30711     __pyx_t_1 = 0;
30712 
30713     /* "Cython/Compiler/FlowControl.py":1048
30714  *     def _delete_privates(self, node, exclude=None):
30715  *         for private_node in node.assigned_nodes:
30716  *             if not exclude or private_node.entry is not exclude:             # <<<<<<<<<<<<<<
30717  *                 self.flow.mark_deletion(private_node, private_node.entry)
30718  *
30719  */
30720     __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_exclude); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 1048, __pyx_L1_error)
30721     __pyx_t_7 = ((!__pyx_t_6) != 0);
30722     if (!__pyx_t_7) {
30723     } else {
30724       __pyx_t_5 = __pyx_t_7;
30725       goto __pyx_L6_bool_binop_done;
30726     }
30727     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_private_node, __pyx_n_s_entry); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1048, __pyx_L1_error)
30728     __Pyx_GOTREF(__pyx_t_1);
30729     __pyx_t_7 = (__pyx_t_1 != __pyx_v_exclude);
30730     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
30731     __pyx_t_6 = (__pyx_t_7 != 0);
30732     __pyx_t_5 = __pyx_t_6;
30733     __pyx_L6_bool_binop_done:;
30734     if (__pyx_t_5) {
30735 
30736       /* "Cython/Compiler/FlowControl.py":1049
30737  *         for private_node in node.assigned_nodes:
30738  *             if not exclude or private_node.entry is not exclude:
30739  *                 self.flow.mark_deletion(private_node, private_node.entry)             # <<<<<<<<<<<<<<
30740  *
30741  *     def visit_ParallelRangeNode(self, node):
30742  */
30743       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_private_node, __pyx_n_s_entry); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1049, __pyx_L1_error)
30744       __Pyx_GOTREF(__pyx_t_1);
30745       __pyx_t_8 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_deletion(__pyx_v_self->flow, __pyx_v_private_node, __pyx_t_1, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1049, __pyx_L1_error)
30746       __Pyx_GOTREF(__pyx_t_8);
30747       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
30748       __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
30749 
30750       /* "Cython/Compiler/FlowControl.py":1048
30751  *     def _delete_privates(self, node, exclude=None):
30752  *         for private_node in node.assigned_nodes:
30753  *             if not exclude or private_node.entry is not exclude:             # <<<<<<<<<<<<<<
30754  *                 self.flow.mark_deletion(private_node, private_node.entry)
30755  *
30756  */
30757     }
30758 
30759     /* "Cython/Compiler/FlowControl.py":1047
30760  *
30761  *     def _delete_privates(self, node, exclude=None):
30762  *         for private_node in node.assigned_nodes:             # <<<<<<<<<<<<<<
30763  *             if not exclude or private_node.entry is not exclude:
30764  *                 self.flow.mark_deletion(private_node, private_node.entry)
30765  */
30766   }
30767   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
30768 
30769   /* "Cython/Compiler/FlowControl.py":1046
30770  *         return node
30771  *
30772  *     def _delete_privates(self, node, exclude=None):             # <<<<<<<<<<<<<<
30773  *         for private_node in node.assigned_nodes:
30774  *             if not exclude or private_node.entry is not exclude:
30775  */
30776 
30777   /* function exit code */
30778   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
30779   goto __pyx_L0;
30780   __pyx_L1_error:;
30781   __Pyx_XDECREF(__pyx_t_1);
30782   __Pyx_XDECREF(__pyx_t_2);
30783   __Pyx_XDECREF(__pyx_t_8);
30784   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis._delete_privates", __pyx_clineno, __pyx_lineno, __pyx_filename);
30785   __pyx_r = NULL;
30786   __pyx_L0:;
30787   __Pyx_XDECREF(__pyx_v_private_node);
30788   __Pyx_XGIVEREF(__pyx_r);
30789   __Pyx_RefNannyFinishContext();
30790   return __pyx_r;
30791 }
30792 
30793 /* "Cython/Compiler/FlowControl.py":1051
30794  *                 self.flow.mark_deletion(private_node, private_node.entry)
30795  *
30796  *     def visit_ParallelRangeNode(self, node):             # <<<<<<<<<<<<<<
30797  *         reductions = self.reductions
30798  *
30799  */
30800 
30801 /* Python wrapper */
30802 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_53visit_ParallelRangeNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
30803 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_53visit_ParallelRangeNode = {"visit_ParallelRangeNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_53visit_ParallelRangeNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_53visit_ParallelRangeNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)30804 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_53visit_ParallelRangeNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
30805   PyObject *__pyx_r = 0;
30806   __Pyx_RefNannyDeclarations
30807   __Pyx_RefNannySetupContext("visit_ParallelRangeNode (wrapper)", 0);
30808   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_52visit_ParallelRangeNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
30809 
30810   /* function exit code */
30811   __Pyx_RefNannyFinishContext();
30812   return __pyx_r;
30813 }
30814 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_52visit_ParallelRangeNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)30815 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_52visit_ParallelRangeNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
30816   PyObject *__pyx_v_reductions = NULL;
30817   PyObject *__pyx_v_private_node = NULL;
30818   CYTHON_UNUSED PyObject *__pyx_v_pos = NULL;
30819   PyObject *__pyx_v_reduction = NULL;
30820   PyObject *__pyx_r = NULL;
30821   __Pyx_RefNannyDeclarations
30822   PyObject *__pyx_t_1 = NULL;
30823   int __pyx_t_2;
30824   int __pyx_t_3;
30825   PyObject *__pyx_t_4 = NULL;
30826   Py_ssize_t __pyx_t_5;
30827   PyObject *(*__pyx_t_6)(PyObject *);
30828   PyObject *__pyx_t_7 = NULL;
30829   PyObject *__pyx_t_8 = NULL;
30830   PyObject *__pyx_t_9 = NULL;
30831   PyObject *(*__pyx_t_10)(PyObject *);
30832   int __pyx_t_11;
30833   int __pyx_lineno = 0;
30834   const char *__pyx_filename = NULL;
30835   int __pyx_clineno = 0;
30836   __Pyx_RefNannySetupContext("visit_ParallelRangeNode", 0);
30837   __Pyx_INCREF(__pyx_v_node);
30838 
30839   /* "Cython/Compiler/FlowControl.py":1052
30840  *
30841  *     def visit_ParallelRangeNode(self, node):
30842  *         reductions = self.reductions             # <<<<<<<<<<<<<<
30843  *
30844  *         # if node.target is None or not a NameNode, an error will have
30845  */
30846   __pyx_t_1 = __pyx_v_self->reductions;
30847   __Pyx_INCREF(__pyx_t_1);
30848   __pyx_v_reductions = ((PyObject*)__pyx_t_1);
30849   __pyx_t_1 = 0;
30850 
30851   /* "Cython/Compiler/FlowControl.py":1056
30852  *         # if node.target is None or not a NameNode, an error will have
30853  *         # been previously issued
30854  *         if hasattr(node.target, 'entry'):             # <<<<<<<<<<<<<<
30855  *             self.reductions = set(reductions)
30856  *
30857  */
30858   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_target); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1056, __pyx_L1_error)
30859   __Pyx_GOTREF(__pyx_t_1);
30860   __pyx_t_2 = __Pyx_HasAttr(__pyx_t_1, __pyx_n_s_entry); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1056, __pyx_L1_error)
30861   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
30862   __pyx_t_3 = (__pyx_t_2 != 0);
30863   if (__pyx_t_3) {
30864 
30865     /* "Cython/Compiler/FlowControl.py":1057
30866  *         # been previously issued
30867  *         if hasattr(node.target, 'entry'):
30868  *             self.reductions = set(reductions)             # <<<<<<<<<<<<<<
30869  *
30870  *             for private_node in node.assigned_nodes:
30871  */
30872     __pyx_t_1 = PySet_New(__pyx_v_reductions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1057, __pyx_L1_error)
30873     __Pyx_GOTREF(__pyx_t_1);
30874     __Pyx_GIVEREF(__pyx_t_1);
30875     __Pyx_GOTREF(__pyx_v_self->reductions);
30876     __Pyx_DECREF(__pyx_v_self->reductions);
30877     __pyx_v_self->reductions = ((PyObject*)__pyx_t_1);
30878     __pyx_t_1 = 0;
30879 
30880     /* "Cython/Compiler/FlowControl.py":1059
30881  *             self.reductions = set(reductions)
30882  *
30883  *             for private_node in node.assigned_nodes:             # <<<<<<<<<<<<<<
30884  *                 private_node.entry.error_on_uninitialized = True
30885  *                 pos, reduction = node.assignments[private_node.entry]
30886  */
30887     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_assigned_nodes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1059, __pyx_L1_error)
30888     __Pyx_GOTREF(__pyx_t_1);
30889     if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
30890       __pyx_t_4 = __pyx_t_1; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
30891       __pyx_t_6 = NULL;
30892     } else {
30893       __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1059, __pyx_L1_error)
30894       __Pyx_GOTREF(__pyx_t_4);
30895       __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1059, __pyx_L1_error)
30896     }
30897     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
30898     for (;;) {
30899       if (likely(!__pyx_t_6)) {
30900         if (likely(PyList_CheckExact(__pyx_t_4))) {
30901           if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
30902           #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
30903           __pyx_t_1 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1059, __pyx_L1_error)
30904           #else
30905           __pyx_t_1 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1059, __pyx_L1_error)
30906           __Pyx_GOTREF(__pyx_t_1);
30907           #endif
30908         } else {
30909           if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
30910           #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
30911           __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1059, __pyx_L1_error)
30912           #else
30913           __pyx_t_1 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1059, __pyx_L1_error)
30914           __Pyx_GOTREF(__pyx_t_1);
30915           #endif
30916         }
30917       } else {
30918         __pyx_t_1 = __pyx_t_6(__pyx_t_4);
30919         if (unlikely(!__pyx_t_1)) {
30920           PyObject* exc_type = PyErr_Occurred();
30921           if (exc_type) {
30922             if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
30923             else __PYX_ERR(0, 1059, __pyx_L1_error)
30924           }
30925           break;
30926         }
30927         __Pyx_GOTREF(__pyx_t_1);
30928       }
30929       __Pyx_XDECREF_SET(__pyx_v_private_node, __pyx_t_1);
30930       __pyx_t_1 = 0;
30931 
30932       /* "Cython/Compiler/FlowControl.py":1060
30933  *
30934  *             for private_node in node.assigned_nodes:
30935  *                 private_node.entry.error_on_uninitialized = True             # <<<<<<<<<<<<<<
30936  *                 pos, reduction = node.assignments[private_node.entry]
30937  *                 if reduction:
30938  */
30939       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_private_node, __pyx_n_s_entry); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1060, __pyx_L1_error)
30940       __Pyx_GOTREF(__pyx_t_1);
30941       if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_error_on_uninitialized, Py_True) < 0) __PYX_ERR(0, 1060, __pyx_L1_error)
30942       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
30943 
30944       /* "Cython/Compiler/FlowControl.py":1061
30945  *             for private_node in node.assigned_nodes:
30946  *                 private_node.entry.error_on_uninitialized = True
30947  *                 pos, reduction = node.assignments[private_node.entry]             # <<<<<<<<<<<<<<
30948  *                 if reduction:
30949  *                     self.reductions.add(private_node.entry)
30950  */
30951       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_assignments); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1061, __pyx_L1_error)
30952       __Pyx_GOTREF(__pyx_t_1);
30953       __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_private_node, __pyx_n_s_entry); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1061, __pyx_L1_error)
30954       __Pyx_GOTREF(__pyx_t_7);
30955       __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1061, __pyx_L1_error)
30956       __Pyx_GOTREF(__pyx_t_8);
30957       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
30958       __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
30959       if ((likely(PyTuple_CheckExact(__pyx_t_8))) || (PyList_CheckExact(__pyx_t_8))) {
30960         PyObject* sequence = __pyx_t_8;
30961         Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
30962         if (unlikely(size != 2)) {
30963           if (size > 2) __Pyx_RaiseTooManyValuesError(2);
30964           else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
30965           __PYX_ERR(0, 1061, __pyx_L1_error)
30966         }
30967         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
30968         if (likely(PyTuple_CheckExact(sequence))) {
30969           __pyx_t_7 = PyTuple_GET_ITEM(sequence, 0);
30970           __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1);
30971         } else {
30972           __pyx_t_7 = PyList_GET_ITEM(sequence, 0);
30973           __pyx_t_1 = PyList_GET_ITEM(sequence, 1);
30974         }
30975         __Pyx_INCREF(__pyx_t_7);
30976         __Pyx_INCREF(__pyx_t_1);
30977         #else
30978         __pyx_t_7 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1061, __pyx_L1_error)
30979         __Pyx_GOTREF(__pyx_t_7);
30980         __pyx_t_1 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1061, __pyx_L1_error)
30981         __Pyx_GOTREF(__pyx_t_1);
30982         #endif
30983         __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
30984       } else {
30985         Py_ssize_t index = -1;
30986         __pyx_t_9 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1061, __pyx_L1_error)
30987         __Pyx_GOTREF(__pyx_t_9);
30988         __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
30989         __pyx_t_10 = Py_TYPE(__pyx_t_9)->tp_iternext;
30990         index = 0; __pyx_t_7 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_7)) goto __pyx_L6_unpacking_failed;
30991         __Pyx_GOTREF(__pyx_t_7);
30992         index = 1; __pyx_t_1 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_1)) goto __pyx_L6_unpacking_failed;
30993         __Pyx_GOTREF(__pyx_t_1);
30994         if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 2) < 0) __PYX_ERR(0, 1061, __pyx_L1_error)
30995         __pyx_t_10 = NULL;
30996         __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
30997         goto __pyx_L7_unpacking_done;
30998         __pyx_L6_unpacking_failed:;
30999         __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
31000         __pyx_t_10 = NULL;
31001         if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
31002         __PYX_ERR(0, 1061, __pyx_L1_error)
31003         __pyx_L7_unpacking_done:;
31004       }
31005       __Pyx_XDECREF_SET(__pyx_v_pos, __pyx_t_7);
31006       __pyx_t_7 = 0;
31007       __Pyx_XDECREF_SET(__pyx_v_reduction, __pyx_t_1);
31008       __pyx_t_1 = 0;
31009 
31010       /* "Cython/Compiler/FlowControl.py":1062
31011  *                 private_node.entry.error_on_uninitialized = True
31012  *                 pos, reduction = node.assignments[private_node.entry]
31013  *                 if reduction:             # <<<<<<<<<<<<<<
31014  *                     self.reductions.add(private_node.entry)
31015  *
31016  */
31017       __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_reduction); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1062, __pyx_L1_error)
31018       if (__pyx_t_3) {
31019 
31020         /* "Cython/Compiler/FlowControl.py":1063
31021  *                 pos, reduction = node.assignments[private_node.entry]
31022  *                 if reduction:
31023  *                     self.reductions.add(private_node.entry)             # <<<<<<<<<<<<<<
31024  *
31025  *             node = self.visit_ForInStatNode(node)
31026  */
31027         if (unlikely(__pyx_v_self->reductions == Py_None)) {
31028           PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "add");
31029           __PYX_ERR(0, 1063, __pyx_L1_error)
31030         }
31031         __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_private_node, __pyx_n_s_entry); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1063, __pyx_L1_error)
31032         __Pyx_GOTREF(__pyx_t_8);
31033         __pyx_t_11 = PySet_Add(__pyx_v_self->reductions, __pyx_t_8); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 1063, __pyx_L1_error)
31034         __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
31035 
31036         /* "Cython/Compiler/FlowControl.py":1062
31037  *                 private_node.entry.error_on_uninitialized = True
31038  *                 pos, reduction = node.assignments[private_node.entry]
31039  *                 if reduction:             # <<<<<<<<<<<<<<
31040  *                     self.reductions.add(private_node.entry)
31041  *
31042  */
31043       }
31044 
31045       /* "Cython/Compiler/FlowControl.py":1059
31046  *             self.reductions = set(reductions)
31047  *
31048  *             for private_node in node.assigned_nodes:             # <<<<<<<<<<<<<<
31049  *                 private_node.entry.error_on_uninitialized = True
31050  *                 pos, reduction = node.assignments[private_node.entry]
31051  */
31052     }
31053     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
31054 
31055     /* "Cython/Compiler/FlowControl.py":1065
31056  *                     self.reductions.add(private_node.entry)
31057  *
31058  *             node = self.visit_ForInStatNode(node)             # <<<<<<<<<<<<<<
31059  *
31060  *         self.reductions = reductions
31061  */
31062     __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_visit_ForInStatNode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1065, __pyx_L1_error)
31063     __Pyx_GOTREF(__pyx_t_8);
31064     __pyx_t_1 = NULL;
31065     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
31066       __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8);
31067       if (likely(__pyx_t_1)) {
31068         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
31069         __Pyx_INCREF(__pyx_t_1);
31070         __Pyx_INCREF(function);
31071         __Pyx_DECREF_SET(__pyx_t_8, function);
31072       }
31073     }
31074     __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_1, __pyx_v_node) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_node);
31075     __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
31076     if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1065, __pyx_L1_error)
31077     __Pyx_GOTREF(__pyx_t_4);
31078     __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
31079     __Pyx_DECREF_SET(__pyx_v_node, __pyx_t_4);
31080     __pyx_t_4 = 0;
31081 
31082     /* "Cython/Compiler/FlowControl.py":1056
31083  *         # if node.target is None or not a NameNode, an error will have
31084  *         # been previously issued
31085  *         if hasattr(node.target, 'entry'):             # <<<<<<<<<<<<<<
31086  *             self.reductions = set(reductions)
31087  *
31088  */
31089   }
31090 
31091   /* "Cython/Compiler/FlowControl.py":1067
31092  *             node = self.visit_ForInStatNode(node)
31093  *
31094  *         self.reductions = reductions             # <<<<<<<<<<<<<<
31095  *         return node
31096  *
31097  */
31098   __Pyx_INCREF(__pyx_v_reductions);
31099   __Pyx_GIVEREF(__pyx_v_reductions);
31100   __Pyx_GOTREF(__pyx_v_self->reductions);
31101   __Pyx_DECREF(__pyx_v_self->reductions);
31102   __pyx_v_self->reductions = __pyx_v_reductions;
31103 
31104   /* "Cython/Compiler/FlowControl.py":1068
31105  *
31106  *         self.reductions = reductions
31107  *         return node             # <<<<<<<<<<<<<<
31108  *
31109  *     def visit_ParallelWithBlockNode(self, node):
31110  */
31111   __Pyx_XDECREF(__pyx_r);
31112   __Pyx_INCREF(__pyx_v_node);
31113   __pyx_r = __pyx_v_node;
31114   goto __pyx_L0;
31115 
31116   /* "Cython/Compiler/FlowControl.py":1051
31117  *                 self.flow.mark_deletion(private_node, private_node.entry)
31118  *
31119  *     def visit_ParallelRangeNode(self, node):             # <<<<<<<<<<<<<<
31120  *         reductions = self.reductions
31121  *
31122  */
31123 
31124   /* function exit code */
31125   __pyx_L1_error:;
31126   __Pyx_XDECREF(__pyx_t_1);
31127   __Pyx_XDECREF(__pyx_t_4);
31128   __Pyx_XDECREF(__pyx_t_7);
31129   __Pyx_XDECREF(__pyx_t_8);
31130   __Pyx_XDECREF(__pyx_t_9);
31131   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_ParallelRangeNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
31132   __pyx_r = NULL;
31133   __pyx_L0:;
31134   __Pyx_XDECREF(__pyx_v_reductions);
31135   __Pyx_XDECREF(__pyx_v_private_node);
31136   __Pyx_XDECREF(__pyx_v_pos);
31137   __Pyx_XDECREF(__pyx_v_reduction);
31138   __Pyx_XDECREF(__pyx_v_node);
31139   __Pyx_XGIVEREF(__pyx_r);
31140   __Pyx_RefNannyFinishContext();
31141   return __pyx_r;
31142 }
31143 
31144 /* "Cython/Compiler/FlowControl.py":1070
31145  *         return node
31146  *
31147  *     def visit_ParallelWithBlockNode(self, node):             # <<<<<<<<<<<<<<
31148  *         for private_node in node.assigned_nodes:
31149  *             private_node.entry.error_on_uninitialized = True
31150  */
31151 
31152 /* Python wrapper */
31153 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_55visit_ParallelWithBlockNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
31154 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_55visit_ParallelWithBlockNode = {"visit_ParallelWithBlockNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_55visit_ParallelWithBlockNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_55visit_ParallelWithBlockNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)31155 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_55visit_ParallelWithBlockNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
31156   PyObject *__pyx_r = 0;
31157   __Pyx_RefNannyDeclarations
31158   __Pyx_RefNannySetupContext("visit_ParallelWithBlockNode (wrapper)", 0);
31159   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_54visit_ParallelWithBlockNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
31160 
31161   /* function exit code */
31162   __Pyx_RefNannyFinishContext();
31163   return __pyx_r;
31164 }
31165 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_54visit_ParallelWithBlockNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)31166 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_54visit_ParallelWithBlockNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
31167   PyObject *__pyx_v_private_node = NULL;
31168   PyObject *__pyx_r = NULL;
31169   __Pyx_RefNannyDeclarations
31170   PyObject *__pyx_t_1 = NULL;
31171   PyObject *__pyx_t_2 = NULL;
31172   Py_ssize_t __pyx_t_3;
31173   PyObject *(*__pyx_t_4)(PyObject *);
31174   PyObject *__pyx_t_5 = NULL;
31175   int __pyx_lineno = 0;
31176   const char *__pyx_filename = NULL;
31177   int __pyx_clineno = 0;
31178   __Pyx_RefNannySetupContext("visit_ParallelWithBlockNode", 0);
31179 
31180   /* "Cython/Compiler/FlowControl.py":1071
31181  *
31182  *     def visit_ParallelWithBlockNode(self, node):
31183  *         for private_node in node.assigned_nodes:             # <<<<<<<<<<<<<<
31184  *             private_node.entry.error_on_uninitialized = True
31185  *
31186  */
31187   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_assigned_nodes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1071, __pyx_L1_error)
31188   __Pyx_GOTREF(__pyx_t_1);
31189   if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
31190     __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
31191     __pyx_t_4 = NULL;
31192   } else {
31193     __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1071, __pyx_L1_error)
31194     __Pyx_GOTREF(__pyx_t_2);
31195     __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1071, __pyx_L1_error)
31196   }
31197   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
31198   for (;;) {
31199     if (likely(!__pyx_t_4)) {
31200       if (likely(PyList_CheckExact(__pyx_t_2))) {
31201         if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
31202         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
31203         __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1071, __pyx_L1_error)
31204         #else
31205         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1071, __pyx_L1_error)
31206         __Pyx_GOTREF(__pyx_t_1);
31207         #endif
31208       } else {
31209         if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
31210         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
31211         __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1071, __pyx_L1_error)
31212         #else
31213         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1071, __pyx_L1_error)
31214         __Pyx_GOTREF(__pyx_t_1);
31215         #endif
31216       }
31217     } else {
31218       __pyx_t_1 = __pyx_t_4(__pyx_t_2);
31219       if (unlikely(!__pyx_t_1)) {
31220         PyObject* exc_type = PyErr_Occurred();
31221         if (exc_type) {
31222           if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
31223           else __PYX_ERR(0, 1071, __pyx_L1_error)
31224         }
31225         break;
31226       }
31227       __Pyx_GOTREF(__pyx_t_1);
31228     }
31229     __Pyx_XDECREF_SET(__pyx_v_private_node, __pyx_t_1);
31230     __pyx_t_1 = 0;
31231 
31232     /* "Cython/Compiler/FlowControl.py":1072
31233  *     def visit_ParallelWithBlockNode(self, node):
31234  *         for private_node in node.assigned_nodes:
31235  *             private_node.entry.error_on_uninitialized = True             # <<<<<<<<<<<<<<
31236  *
31237  *         self._delete_privates(node)
31238  */
31239     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_private_node, __pyx_n_s_entry); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1072, __pyx_L1_error)
31240     __Pyx_GOTREF(__pyx_t_1);
31241     if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_error_on_uninitialized, Py_True) < 0) __PYX_ERR(0, 1072, __pyx_L1_error)
31242     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
31243 
31244     /* "Cython/Compiler/FlowControl.py":1071
31245  *
31246  *     def visit_ParallelWithBlockNode(self, node):
31247  *         for private_node in node.assigned_nodes:             # <<<<<<<<<<<<<<
31248  *             private_node.entry.error_on_uninitialized = True
31249  *
31250  */
31251   }
31252   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
31253 
31254   /* "Cython/Compiler/FlowControl.py":1074
31255  *             private_node.entry.error_on_uninitialized = True
31256  *
31257  *         self._delete_privates(node)             # <<<<<<<<<<<<<<
31258  *         self.visitchildren(node)
31259  *         self._delete_privates(node)
31260  */
31261   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_delete_privates); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1074, __pyx_L1_error)
31262   __Pyx_GOTREF(__pyx_t_1);
31263   __pyx_t_5 = NULL;
31264   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
31265     __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
31266     if (likely(__pyx_t_5)) {
31267       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
31268       __Pyx_INCREF(__pyx_t_5);
31269       __Pyx_INCREF(function);
31270       __Pyx_DECREF_SET(__pyx_t_1, function);
31271     }
31272   }
31273   __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v_node) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_node);
31274   __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
31275   if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1074, __pyx_L1_error)
31276   __Pyx_GOTREF(__pyx_t_2);
31277   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
31278   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
31279 
31280   /* "Cython/Compiler/FlowControl.py":1075
31281  *
31282  *         self._delete_privates(node)
31283  *         self.visitchildren(node)             # <<<<<<<<<<<<<<
31284  *         self._delete_privates(node)
31285  *
31286  */
31287   __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.visitchildren(((struct __pyx_obj_6Cython_8Compiler_7Visitor_VisitorTransform *)__pyx_v_self), __pyx_v_node, 0, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1075, __pyx_L1_error)
31288   __Pyx_GOTREF(__pyx_t_2);
31289   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
31290 
31291   /* "Cython/Compiler/FlowControl.py":1076
31292  *         self._delete_privates(node)
31293  *         self.visitchildren(node)
31294  *         self._delete_privates(node)             # <<<<<<<<<<<<<<
31295  *
31296  *         return node
31297  */
31298   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_delete_privates); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1076, __pyx_L1_error)
31299   __Pyx_GOTREF(__pyx_t_1);
31300   __pyx_t_5 = NULL;
31301   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
31302     __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
31303     if (likely(__pyx_t_5)) {
31304       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
31305       __Pyx_INCREF(__pyx_t_5);
31306       __Pyx_INCREF(function);
31307       __Pyx_DECREF_SET(__pyx_t_1, function);
31308     }
31309   }
31310   __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v_node) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_node);
31311   __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
31312   if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1076, __pyx_L1_error)
31313   __Pyx_GOTREF(__pyx_t_2);
31314   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
31315   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
31316 
31317   /* "Cython/Compiler/FlowControl.py":1078
31318  *         self._delete_privates(node)
31319  *
31320  *         return node             # <<<<<<<<<<<<<<
31321  *
31322  *     def visit_ForFromStatNode(self, node):
31323  */
31324   __Pyx_XDECREF(__pyx_r);
31325   __Pyx_INCREF(__pyx_v_node);
31326   __pyx_r = __pyx_v_node;
31327   goto __pyx_L0;
31328 
31329   /* "Cython/Compiler/FlowControl.py":1070
31330  *         return node
31331  *
31332  *     def visit_ParallelWithBlockNode(self, node):             # <<<<<<<<<<<<<<
31333  *         for private_node in node.assigned_nodes:
31334  *             private_node.entry.error_on_uninitialized = True
31335  */
31336 
31337   /* function exit code */
31338   __pyx_L1_error:;
31339   __Pyx_XDECREF(__pyx_t_1);
31340   __Pyx_XDECREF(__pyx_t_2);
31341   __Pyx_XDECREF(__pyx_t_5);
31342   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_ParallelWithBlockNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
31343   __pyx_r = NULL;
31344   __pyx_L0:;
31345   __Pyx_XDECREF(__pyx_v_private_node);
31346   __Pyx_XGIVEREF(__pyx_r);
31347   __Pyx_RefNannyFinishContext();
31348   return __pyx_r;
31349 }
31350 
31351 /* "Cython/Compiler/FlowControl.py":1080
31352  *         return node
31353  *
31354  *     def visit_ForFromStatNode(self, node):             # <<<<<<<<<<<<<<
31355  *         condition_block = self.flow.nextblock()
31356  *         next_block = self.flow.newblock()
31357  */
31358 
31359 /* Python wrapper */
31360 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_57visit_ForFromStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
31361 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_57visit_ForFromStatNode = {"visit_ForFromStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_57visit_ForFromStatNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_57visit_ForFromStatNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)31362 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_57visit_ForFromStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
31363   PyObject *__pyx_r = 0;
31364   __Pyx_RefNannyDeclarations
31365   __Pyx_RefNannySetupContext("visit_ForFromStatNode (wrapper)", 0);
31366   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_56visit_ForFromStatNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
31367 
31368   /* function exit code */
31369   __Pyx_RefNannyFinishContext();
31370   return __pyx_r;
31371 }
31372 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_56visit_ForFromStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)31373 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_56visit_ForFromStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
31374   PyObject *__pyx_v_condition_block = NULL;
31375   PyObject *__pyx_v_next_block = NULL;
31376   PyObject *__pyx_r = NULL;
31377   __Pyx_RefNannyDeclarations
31378   PyObject *__pyx_t_1 = NULL;
31379   PyObject *__pyx_t_2 = NULL;
31380   PyObject *__pyx_t_3 = NULL;
31381   int __pyx_t_4;
31382   PyObject *__pyx_t_5 = NULL;
31383   int __pyx_t_6;
31384   int __pyx_t_7;
31385   int __pyx_t_8;
31386   struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment __pyx_t_9;
31387   PyObject *__pyx_t_10 = NULL;
31388   PyObject *__pyx_t_11 = NULL;
31389   PyObject *__pyx_t_12 = NULL;
31390   PyObject *__pyx_t_13 = NULL;
31391   PyObject *__pyx_t_14 = NULL;
31392   struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock __pyx_t_15;
31393   int __pyx_lineno = 0;
31394   const char *__pyx_filename = NULL;
31395   int __pyx_clineno = 0;
31396   __Pyx_RefNannySetupContext("visit_ForFromStatNode", 0);
31397 
31398   /* "Cython/Compiler/FlowControl.py":1081
31399  *
31400  *     def visit_ForFromStatNode(self, node):
31401  *         condition_block = self.flow.nextblock()             # <<<<<<<<<<<<<<
31402  *         next_block = self.flow.newblock()
31403  *         # Condition with iterator
31404  */
31405   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1081, __pyx_L1_error)
31406   __Pyx_GOTREF(__pyx_t_1);
31407   __pyx_v_condition_block = __pyx_t_1;
31408   __pyx_t_1 = 0;
31409 
31410   /* "Cython/Compiler/FlowControl.py":1082
31411  *     def visit_ForFromStatNode(self, node):
31412  *         condition_block = self.flow.nextblock()
31413  *         next_block = self.flow.newblock()             # <<<<<<<<<<<<<<
31414  *         # Condition with iterator
31415  *         self.flow.loops.append(LoopDescr(next_block, condition_block))
31416  */
31417   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1082, __pyx_L1_error)
31418   __Pyx_GOTREF(__pyx_t_1);
31419   __pyx_v_next_block = __pyx_t_1;
31420   __pyx_t_1 = 0;
31421 
31422   /* "Cython/Compiler/FlowControl.py":1084
31423  *         next_block = self.flow.newblock()
31424  *         # Condition with iterator
31425  *         self.flow.loops.append(LoopDescr(next_block, condition_block))             # <<<<<<<<<<<<<<
31426  *         self._visit(node.bound1)
31427  *         self._visit(node.bound2)
31428  */
31429   if (unlikely(__pyx_v_self->flow->loops == Py_None)) {
31430     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
31431     __PYX_ERR(0, 1084, __pyx_L1_error)
31432   }
31433   __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_LoopDescr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1084, __pyx_L1_error)
31434   __Pyx_GOTREF(__pyx_t_2);
31435   __pyx_t_3 = NULL;
31436   __pyx_t_4 = 0;
31437   if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
31438     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
31439     if (likely(__pyx_t_3)) {
31440       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
31441       __Pyx_INCREF(__pyx_t_3);
31442       __Pyx_INCREF(function);
31443       __Pyx_DECREF_SET(__pyx_t_2, function);
31444       __pyx_t_4 = 1;
31445     }
31446   }
31447   #if CYTHON_FAST_PYCALL
31448   if (PyFunction_Check(__pyx_t_2)) {
31449     PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_next_block, __pyx_v_condition_block};
31450     __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1084, __pyx_L1_error)
31451     __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
31452     __Pyx_GOTREF(__pyx_t_1);
31453   } else
31454   #endif
31455   #if CYTHON_FAST_PYCCALL
31456   if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
31457     PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_next_block, __pyx_v_condition_block};
31458     __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1084, __pyx_L1_error)
31459     __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
31460     __Pyx_GOTREF(__pyx_t_1);
31461   } else
31462   #endif
31463   {
31464     __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1084, __pyx_L1_error)
31465     __Pyx_GOTREF(__pyx_t_5);
31466     if (__pyx_t_3) {
31467       __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
31468     }
31469     __Pyx_INCREF(__pyx_v_next_block);
31470     __Pyx_GIVEREF(__pyx_v_next_block);
31471     PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_next_block);
31472     __Pyx_INCREF(__pyx_v_condition_block);
31473     __Pyx_GIVEREF(__pyx_v_condition_block);
31474     PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_condition_block);
31475     __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1084, __pyx_L1_error)
31476     __Pyx_GOTREF(__pyx_t_1);
31477     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
31478   }
31479   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
31480   __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_self->flow->loops, __pyx_t_1); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 1084, __pyx_L1_error)
31481   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
31482 
31483   /* "Cython/Compiler/FlowControl.py":1085
31484  *         # Condition with iterator
31485  *         self.flow.loops.append(LoopDescr(next_block, condition_block))
31486  *         self._visit(node.bound1)             # <<<<<<<<<<<<<<
31487  *         self._visit(node.bound2)
31488  *         if node.step is not None:
31489  */
31490   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_bound1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1085, __pyx_L1_error)
31491   __Pyx_GOTREF(__pyx_t_1);
31492   __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1085, __pyx_L1_error)
31493   __Pyx_GOTREF(__pyx_t_2);
31494   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
31495   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
31496 
31497   /* "Cython/Compiler/FlowControl.py":1086
31498  *         self.flow.loops.append(LoopDescr(next_block, condition_block))
31499  *         self._visit(node.bound1)
31500  *         self._visit(node.bound2)             # <<<<<<<<<<<<<<
31501  *         if node.step is not None:
31502  *             self._visit(node.step)
31503  */
31504   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_bound2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1086, __pyx_L1_error)
31505   __Pyx_GOTREF(__pyx_t_2);
31506   __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1086, __pyx_L1_error)
31507   __Pyx_GOTREF(__pyx_t_1);
31508   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
31509   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
31510 
31511   /* "Cython/Compiler/FlowControl.py":1087
31512  *         self._visit(node.bound1)
31513  *         self._visit(node.bound2)
31514  *         if node.step is not None:             # <<<<<<<<<<<<<<
31515  *             self._visit(node.step)
31516  *         # Target assignment
31517  */
31518   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_step); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1087, __pyx_L1_error)
31519   __Pyx_GOTREF(__pyx_t_1);
31520   __pyx_t_7 = (__pyx_t_1 != Py_None);
31521   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
31522   __pyx_t_8 = (__pyx_t_7 != 0);
31523   if (__pyx_t_8) {
31524 
31525     /* "Cython/Compiler/FlowControl.py":1088
31526  *         self._visit(node.bound2)
31527  *         if node.step is not None:
31528  *             self._visit(node.step)             # <<<<<<<<<<<<<<
31529  *         # Target assignment
31530  *         self.flow.nextblock()
31531  */
31532     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_step); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1088, __pyx_L1_error)
31533     __Pyx_GOTREF(__pyx_t_1);
31534     __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1088, __pyx_L1_error)
31535     __Pyx_GOTREF(__pyx_t_2);
31536     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
31537     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
31538 
31539     /* "Cython/Compiler/FlowControl.py":1087
31540  *         self._visit(node.bound1)
31541  *         self._visit(node.bound2)
31542  *         if node.step is not None:             # <<<<<<<<<<<<<<
31543  *             self._visit(node.step)
31544  *         # Target assignment
31545  */
31546   }
31547 
31548   /* "Cython/Compiler/FlowControl.py":1090
31549  *             self._visit(node.step)
31550  *         # Target assignment
31551  *         self.flow.nextblock()             # <<<<<<<<<<<<<<
31552  *         self.mark_assignment(node.target, node.bound1)
31553  *         if node.step is not None:
31554  */
31555   __pyx_t_2 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1090, __pyx_L1_error)
31556   __Pyx_GOTREF(__pyx_t_2);
31557   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
31558 
31559   /* "Cython/Compiler/FlowControl.py":1091
31560  *         # Target assignment
31561  *         self.flow.nextblock()
31562  *         self.mark_assignment(node.target, node.bound1)             # <<<<<<<<<<<<<<
31563  *         if node.step is not None:
31564  *             self.mark_assignment(node.target, self.constant_folder(
31565  */
31566   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_target); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1091, __pyx_L1_error)
31567   __Pyx_GOTREF(__pyx_t_2);
31568   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_bound1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1091, __pyx_L1_error)
31569   __Pyx_GOTREF(__pyx_t_1);
31570   __pyx_t_9.__pyx_n = 1;
31571   __pyx_t_9.rhs = __pyx_t_1;
31572   __pyx_t_5 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment(__pyx_v_self, __pyx_t_2, 0, &__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1091, __pyx_L1_error)
31573   __Pyx_GOTREF(__pyx_t_5);
31574   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
31575   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
31576   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
31577 
31578   /* "Cython/Compiler/FlowControl.py":1092
31579  *         self.flow.nextblock()
31580  *         self.mark_assignment(node.target, node.bound1)
31581  *         if node.step is not None:             # <<<<<<<<<<<<<<
31582  *             self.mark_assignment(node.target, self.constant_folder(
31583  *                 ExprNodes.binop_node(node.pos, '+', node.bound1, node.step)))
31584  */
31585   __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_step); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1092, __pyx_L1_error)
31586   __Pyx_GOTREF(__pyx_t_5);
31587   __pyx_t_8 = (__pyx_t_5 != Py_None);
31588   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
31589   __pyx_t_7 = (__pyx_t_8 != 0);
31590   if (__pyx_t_7) {
31591 
31592     /* "Cython/Compiler/FlowControl.py":1093
31593  *         self.mark_assignment(node.target, node.bound1)
31594  *         if node.step is not None:
31595  *             self.mark_assignment(node.target, self.constant_folder(             # <<<<<<<<<<<<<<
31596  *                 ExprNodes.binop_node(node.pos, '+', node.bound1, node.step)))
31597  *         # Body block
31598  */
31599     __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_target); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1093, __pyx_L1_error)
31600     __Pyx_GOTREF(__pyx_t_5);
31601 
31602     /* "Cython/Compiler/FlowControl.py":1094
31603  *         if node.step is not None:
31604  *             self.mark_assignment(node.target, self.constant_folder(
31605  *                 ExprNodes.binop_node(node.pos, '+', node.bound1, node.step)))             # <<<<<<<<<<<<<<
31606  *         # Body block
31607  *         self.flow.nextblock()
31608  */
31609     __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_11FlowControl_ExprNodes, __pyx_n_s_binop_node); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1094, __pyx_L1_error)
31610     __Pyx_GOTREF(__pyx_t_3);
31611     __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_pos); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1094, __pyx_L1_error)
31612     __Pyx_GOTREF(__pyx_t_10);
31613     __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_bound1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1094, __pyx_L1_error)
31614     __Pyx_GOTREF(__pyx_t_11);
31615     __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_step); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1094, __pyx_L1_error)
31616     __Pyx_GOTREF(__pyx_t_12);
31617     __pyx_t_13 = NULL;
31618     __pyx_t_4 = 0;
31619     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
31620       __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3);
31621       if (likely(__pyx_t_13)) {
31622         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
31623         __Pyx_INCREF(__pyx_t_13);
31624         __Pyx_INCREF(function);
31625         __Pyx_DECREF_SET(__pyx_t_3, function);
31626         __pyx_t_4 = 1;
31627       }
31628     }
31629     #if CYTHON_FAST_PYCALL
31630     if (PyFunction_Check(__pyx_t_3)) {
31631       PyObject *__pyx_temp[5] = {__pyx_t_13, __pyx_t_10, __pyx_kp_s__13, __pyx_t_11, __pyx_t_12};
31632       __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 4+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1094, __pyx_L1_error)
31633       __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
31634       __Pyx_GOTREF(__pyx_t_2);
31635       __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
31636       __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
31637       __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
31638     } else
31639     #endif
31640     #if CYTHON_FAST_PYCCALL
31641     if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
31642       PyObject *__pyx_temp[5] = {__pyx_t_13, __pyx_t_10, __pyx_kp_s__13, __pyx_t_11, __pyx_t_12};
31643       __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 4+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1094, __pyx_L1_error)
31644       __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
31645       __Pyx_GOTREF(__pyx_t_2);
31646       __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
31647       __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
31648       __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
31649     } else
31650     #endif
31651     {
31652       __pyx_t_14 = PyTuple_New(4+__pyx_t_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1094, __pyx_L1_error)
31653       __Pyx_GOTREF(__pyx_t_14);
31654       if (__pyx_t_13) {
31655         __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __pyx_t_13 = NULL;
31656       }
31657       __Pyx_GIVEREF(__pyx_t_10);
31658       PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_4, __pyx_t_10);
31659       __Pyx_INCREF(__pyx_kp_s__13);
31660       __Pyx_GIVEREF(__pyx_kp_s__13);
31661       PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_4, __pyx_kp_s__13);
31662       __Pyx_GIVEREF(__pyx_t_11);
31663       PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_4, __pyx_t_11);
31664       __Pyx_GIVEREF(__pyx_t_12);
31665       PyTuple_SET_ITEM(__pyx_t_14, 3+__pyx_t_4, __pyx_t_12);
31666       __pyx_t_10 = 0;
31667       __pyx_t_11 = 0;
31668       __pyx_t_12 = 0;
31669       __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_14, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1094, __pyx_L1_error)
31670       __Pyx_GOTREF(__pyx_t_2);
31671       __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
31672     }
31673     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
31674     __Pyx_INCREF(__pyx_v_self->constant_folder);
31675     __pyx_t_3 = __pyx_v_self->constant_folder; __pyx_t_14 = NULL;
31676     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
31677       __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3);
31678       if (likely(__pyx_t_14)) {
31679         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
31680         __Pyx_INCREF(__pyx_t_14);
31681         __Pyx_INCREF(function);
31682         __Pyx_DECREF_SET(__pyx_t_3, function);
31683       }
31684     }
31685     __pyx_t_1 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_14, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2);
31686     __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
31687     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
31688     if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1093, __pyx_L1_error)
31689     __Pyx_GOTREF(__pyx_t_1);
31690     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
31691 
31692     /* "Cython/Compiler/FlowControl.py":1093
31693  *         self.mark_assignment(node.target, node.bound1)
31694  *         if node.step is not None:
31695  *             self.mark_assignment(node.target, self.constant_folder(             # <<<<<<<<<<<<<<
31696  *                 ExprNodes.binop_node(node.pos, '+', node.bound1, node.step)))
31697  *         # Body block
31698  */
31699     __pyx_t_9.__pyx_n = 1;
31700     __pyx_t_9.rhs = __pyx_t_1;
31701     __pyx_t_3 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment(__pyx_v_self, __pyx_t_5, 0, &__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1093, __pyx_L1_error)
31702     __Pyx_GOTREF(__pyx_t_3);
31703     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
31704     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
31705     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
31706 
31707     /* "Cython/Compiler/FlowControl.py":1092
31708  *         self.flow.nextblock()
31709  *         self.mark_assignment(node.target, node.bound1)
31710  *         if node.step is not None:             # <<<<<<<<<<<<<<
31711  *             self.mark_assignment(node.target, self.constant_folder(
31712  *                 ExprNodes.binop_node(node.pos, '+', node.bound1, node.step)))
31713  */
31714   }
31715 
31716   /* "Cython/Compiler/FlowControl.py":1096
31717  *                 ExprNodes.binop_node(node.pos, '+', node.bound1, node.step)))
31718  *         # Body block
31719  *         self.flow.nextblock()             # <<<<<<<<<<<<<<
31720  *         self._visit(node.body)
31721  *         self.flow.loops.pop()
31722  */
31723   __pyx_t_3 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1096, __pyx_L1_error)
31724   __Pyx_GOTREF(__pyx_t_3);
31725   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
31726 
31727   /* "Cython/Compiler/FlowControl.py":1097
31728  *         # Body block
31729  *         self.flow.nextblock()
31730  *         self._visit(node.body)             # <<<<<<<<<<<<<<
31731  *         self.flow.loops.pop()
31732  *         # Loop it
31733  */
31734   __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_body); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1097, __pyx_L1_error)
31735   __Pyx_GOTREF(__pyx_t_3);
31736   __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1097, __pyx_L1_error)
31737   __Pyx_GOTREF(__pyx_t_1);
31738   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
31739   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
31740 
31741   /* "Cython/Compiler/FlowControl.py":1098
31742  *         self.flow.nextblock()
31743  *         self._visit(node.body)
31744  *         self.flow.loops.pop()             # <<<<<<<<<<<<<<
31745  *         # Loop it
31746  *         if self.flow.block:
31747  */
31748   if (unlikely(__pyx_v_self->flow->loops == Py_None)) {
31749     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "pop");
31750     __PYX_ERR(0, 1098, __pyx_L1_error)
31751   }
31752   __pyx_t_1 = __Pyx_PyList_Pop(__pyx_v_self->flow->loops); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1098, __pyx_L1_error)
31753   __Pyx_GOTREF(__pyx_t_1);
31754   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
31755 
31756   /* "Cython/Compiler/FlowControl.py":1100
31757  *         self.flow.loops.pop()
31758  *         # Loop it
31759  *         if self.flow.block:             # <<<<<<<<<<<<<<
31760  *             self.flow.block.add_child(condition_block)
31761  *         # Else clause
31762  */
31763   __pyx_t_7 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->flow->block)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1100, __pyx_L1_error)
31764   if (__pyx_t_7) {
31765 
31766     /* "Cython/Compiler/FlowControl.py":1101
31767  *         # Loop it
31768  *         if self.flow.block:
31769  *             self.flow.block.add_child(condition_block)             # <<<<<<<<<<<<<<
31770  *         # Else clause
31771  *         if node.else_clause:
31772  */
31773     __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_v_condition_block, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1101, __pyx_L1_error)
31774     __Pyx_GOTREF(__pyx_t_1);
31775     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
31776 
31777     /* "Cython/Compiler/FlowControl.py":1100
31778  *         self.flow.loops.pop()
31779  *         # Loop it
31780  *         if self.flow.block:             # <<<<<<<<<<<<<<
31781  *             self.flow.block.add_child(condition_block)
31782  *         # Else clause
31783  */
31784   }
31785 
31786   /* "Cython/Compiler/FlowControl.py":1103
31787  *             self.flow.block.add_child(condition_block)
31788  *         # Else clause
31789  *         if node.else_clause:             # <<<<<<<<<<<<<<
31790  *             self.flow.nextblock(parent=condition_block)
31791  *             self._visit(node.else_clause)
31792  */
31793   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_else_clause); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1103, __pyx_L1_error)
31794   __Pyx_GOTREF(__pyx_t_1);
31795   __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1103, __pyx_L1_error)
31796   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
31797   if (__pyx_t_7) {
31798 
31799     /* "Cython/Compiler/FlowControl.py":1104
31800  *         # Else clause
31801  *         if node.else_clause:
31802  *             self.flow.nextblock(parent=condition_block)             # <<<<<<<<<<<<<<
31803  *             self._visit(node.else_clause)
31804  *             if self.flow.block:
31805  */
31806     if (!(likely(((__pyx_v_condition_block) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_condition_block, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(0, 1104, __pyx_L1_error)
31807     __pyx_t_15.__pyx_n = 1;
31808     __pyx_t_15.parent = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_condition_block);
31809     __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, &__pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1104, __pyx_L1_error)
31810     __Pyx_GOTREF(__pyx_t_1);
31811     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
31812 
31813     /* "Cython/Compiler/FlowControl.py":1105
31814  *         if node.else_clause:
31815  *             self.flow.nextblock(parent=condition_block)
31816  *             self._visit(node.else_clause)             # <<<<<<<<<<<<<<
31817  *             if self.flow.block:
31818  *                 self.flow.block.add_child(next_block)
31819  */
31820     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_else_clause); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1105, __pyx_L1_error)
31821     __Pyx_GOTREF(__pyx_t_1);
31822     __pyx_t_3 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1105, __pyx_L1_error)
31823     __Pyx_GOTREF(__pyx_t_3);
31824     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
31825     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
31826 
31827     /* "Cython/Compiler/FlowControl.py":1106
31828  *             self.flow.nextblock(parent=condition_block)
31829  *             self._visit(node.else_clause)
31830  *             if self.flow.block:             # <<<<<<<<<<<<<<
31831  *                 self.flow.block.add_child(next_block)
31832  *         else:
31833  */
31834     __pyx_t_7 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->flow->block)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1106, __pyx_L1_error)
31835     if (__pyx_t_7) {
31836 
31837       /* "Cython/Compiler/FlowControl.py":1107
31838  *             self._visit(node.else_clause)
31839  *             if self.flow.block:
31840  *                 self.flow.block.add_child(next_block)             # <<<<<<<<<<<<<<
31841  *         else:
31842  *             condition_block.add_child(next_block)
31843  */
31844       __pyx_t_3 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_v_next_block, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1107, __pyx_L1_error)
31845       __Pyx_GOTREF(__pyx_t_3);
31846       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
31847 
31848       /* "Cython/Compiler/FlowControl.py":1106
31849  *             self.flow.nextblock(parent=condition_block)
31850  *             self._visit(node.else_clause)
31851  *             if self.flow.block:             # <<<<<<<<<<<<<<
31852  *                 self.flow.block.add_child(next_block)
31853  *         else:
31854  */
31855     }
31856 
31857     /* "Cython/Compiler/FlowControl.py":1103
31858  *             self.flow.block.add_child(condition_block)
31859  *         # Else clause
31860  *         if node.else_clause:             # <<<<<<<<<<<<<<
31861  *             self.flow.nextblock(parent=condition_block)
31862  *             self._visit(node.else_clause)
31863  */
31864     goto __pyx_L6;
31865   }
31866 
31867   /* "Cython/Compiler/FlowControl.py":1109
31868  *                 self.flow.block.add_child(next_block)
31869  *         else:
31870  *             condition_block.add_child(next_block)             # <<<<<<<<<<<<<<
31871  *
31872  *         if next_block.parents:
31873  */
31874   /*else*/ {
31875     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_condition_block, __pyx_n_s_add_child); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1109, __pyx_L1_error)
31876     __Pyx_GOTREF(__pyx_t_1);
31877     __pyx_t_5 = NULL;
31878     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
31879       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
31880       if (likely(__pyx_t_5)) {
31881         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
31882         __Pyx_INCREF(__pyx_t_5);
31883         __Pyx_INCREF(function);
31884         __Pyx_DECREF_SET(__pyx_t_1, function);
31885       }
31886     }
31887     __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v_next_block) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_next_block);
31888     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
31889     if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1109, __pyx_L1_error)
31890     __Pyx_GOTREF(__pyx_t_3);
31891     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
31892     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
31893   }
31894   __pyx_L6:;
31895 
31896   /* "Cython/Compiler/FlowControl.py":1111
31897  *             condition_block.add_child(next_block)
31898  *
31899  *         if next_block.parents:             # <<<<<<<<<<<<<<
31900  *             self.flow.block = next_block
31901  *         else:
31902  */
31903   __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_next_block, __pyx_n_s_parents); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1111, __pyx_L1_error)
31904   __Pyx_GOTREF(__pyx_t_3);
31905   __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1111, __pyx_L1_error)
31906   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
31907   if (__pyx_t_7) {
31908 
31909     /* "Cython/Compiler/FlowControl.py":1112
31910  *
31911  *         if next_block.parents:
31912  *             self.flow.block = next_block             # <<<<<<<<<<<<<<
31913  *         else:
31914  *             self.flow.block = None
31915  */
31916     if (!(likely(((__pyx_v_next_block) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_next_block, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(0, 1112, __pyx_L1_error)
31917     __pyx_t_3 = __pyx_v_next_block;
31918     __Pyx_INCREF(__pyx_t_3);
31919     __Pyx_GIVEREF(__pyx_t_3);
31920     __Pyx_GOTREF(__pyx_v_self->flow->block);
31921     __Pyx_DECREF(((PyObject *)__pyx_v_self->flow->block));
31922     __pyx_v_self->flow->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_3);
31923     __pyx_t_3 = 0;
31924 
31925     /* "Cython/Compiler/FlowControl.py":1111
31926  *             condition_block.add_child(next_block)
31927  *
31928  *         if next_block.parents:             # <<<<<<<<<<<<<<
31929  *             self.flow.block = next_block
31930  *         else:
31931  */
31932     goto __pyx_L8;
31933   }
31934 
31935   /* "Cython/Compiler/FlowControl.py":1114
31936  *             self.flow.block = next_block
31937  *         else:
31938  *             self.flow.block = None             # <<<<<<<<<<<<<<
31939  *         return node
31940  *
31941  */
31942   /*else*/ {
31943     __Pyx_INCREF(Py_None);
31944     __Pyx_GIVEREF(Py_None);
31945     __Pyx_GOTREF(__pyx_v_self->flow->block);
31946     __Pyx_DECREF(((PyObject *)__pyx_v_self->flow->block));
31947     __pyx_v_self->flow->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)Py_None);
31948   }
31949   __pyx_L8:;
31950 
31951   /* "Cython/Compiler/FlowControl.py":1115
31952  *         else:
31953  *             self.flow.block = None
31954  *         return node             # <<<<<<<<<<<<<<
31955  *
31956  *     def visit_LoopNode(self, node):
31957  */
31958   __Pyx_XDECREF(__pyx_r);
31959   __Pyx_INCREF(__pyx_v_node);
31960   __pyx_r = __pyx_v_node;
31961   goto __pyx_L0;
31962 
31963   /* "Cython/Compiler/FlowControl.py":1080
31964  *         return node
31965  *
31966  *     def visit_ForFromStatNode(self, node):             # <<<<<<<<<<<<<<
31967  *         condition_block = self.flow.nextblock()
31968  *         next_block = self.flow.newblock()
31969  */
31970 
31971   /* function exit code */
31972   __pyx_L1_error:;
31973   __Pyx_XDECREF(__pyx_t_1);
31974   __Pyx_XDECREF(__pyx_t_2);
31975   __Pyx_XDECREF(__pyx_t_3);
31976   __Pyx_XDECREF(__pyx_t_5);
31977   __Pyx_XDECREF(__pyx_t_10);
31978   __Pyx_XDECREF(__pyx_t_11);
31979   __Pyx_XDECREF(__pyx_t_12);
31980   __Pyx_XDECREF(__pyx_t_13);
31981   __Pyx_XDECREF(__pyx_t_14);
31982   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_ForFromStatNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
31983   __pyx_r = NULL;
31984   __pyx_L0:;
31985   __Pyx_XDECREF(__pyx_v_condition_block);
31986   __Pyx_XDECREF(__pyx_v_next_block);
31987   __Pyx_XGIVEREF(__pyx_r);
31988   __Pyx_RefNannyFinishContext();
31989   return __pyx_r;
31990 }
31991 
31992 /* "Cython/Compiler/FlowControl.py":1117
31993  *         return node
31994  *
31995  *     def visit_LoopNode(self, node):             # <<<<<<<<<<<<<<
31996  *         raise InternalError("Generic loops are not supported")
31997  *
31998  */
31999 
32000 /* Python wrapper */
32001 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_59visit_LoopNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
32002 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_59visit_LoopNode = {"visit_LoopNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_59visit_LoopNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_59visit_LoopNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)32003 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_59visit_LoopNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
32004   PyObject *__pyx_r = 0;
32005   __Pyx_RefNannyDeclarations
32006   __Pyx_RefNannySetupContext("visit_LoopNode (wrapper)", 0);
32007   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_58visit_LoopNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
32008 
32009   /* function exit code */
32010   __Pyx_RefNannyFinishContext();
32011   return __pyx_r;
32012 }
32013 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_58visit_LoopNode(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,CYTHON_UNUSED PyObject * __pyx_v_node)32014 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_58visit_LoopNode(CYTHON_UNUSED struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_node) {
32015   PyObject *__pyx_r = NULL;
32016   __Pyx_RefNannyDeclarations
32017   PyObject *__pyx_t_1 = NULL;
32018   PyObject *__pyx_t_2 = NULL;
32019   PyObject *__pyx_t_3 = NULL;
32020   int __pyx_lineno = 0;
32021   const char *__pyx_filename = NULL;
32022   int __pyx_clineno = 0;
32023   __Pyx_RefNannySetupContext("visit_LoopNode", 0);
32024 
32025   /* "Cython/Compiler/FlowControl.py":1118
32026  *
32027  *     def visit_LoopNode(self, node):
32028  *         raise InternalError("Generic loops are not supported")             # <<<<<<<<<<<<<<
32029  *
32030  *     def visit_WithTargetAssignmentStatNode(self, node):
32031  */
32032   __Pyx_INCREF(__pyx_v_6Cython_8Compiler_11FlowControl_InternalError);
32033   __pyx_t_2 = __pyx_v_6Cython_8Compiler_11FlowControl_InternalError; __pyx_t_3 = NULL;
32034   if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
32035     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
32036     if (likely(__pyx_t_3)) {
32037       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
32038       __Pyx_INCREF(__pyx_t_3);
32039       __Pyx_INCREF(function);
32040       __Pyx_DECREF_SET(__pyx_t_2, function);
32041     }
32042   }
32043   __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_s_Generic_loops_are_not_supported) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_s_Generic_loops_are_not_supported);
32044   __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
32045   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1118, __pyx_L1_error)
32046   __Pyx_GOTREF(__pyx_t_1);
32047   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
32048   __Pyx_Raise(__pyx_t_1, 0, 0, 0);
32049   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
32050   __PYX_ERR(0, 1118, __pyx_L1_error)
32051 
32052   /* "Cython/Compiler/FlowControl.py":1117
32053  *         return node
32054  *
32055  *     def visit_LoopNode(self, node):             # <<<<<<<<<<<<<<
32056  *         raise InternalError("Generic loops are not supported")
32057  *
32058  */
32059 
32060   /* function exit code */
32061   __pyx_L1_error:;
32062   __Pyx_XDECREF(__pyx_t_1);
32063   __Pyx_XDECREF(__pyx_t_2);
32064   __Pyx_XDECREF(__pyx_t_3);
32065   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_LoopNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
32066   __pyx_r = NULL;
32067   __Pyx_XGIVEREF(__pyx_r);
32068   __Pyx_RefNannyFinishContext();
32069   return __pyx_r;
32070 }
32071 
32072 /* "Cython/Compiler/FlowControl.py":1120
32073  *         raise InternalError("Generic loops are not supported")
32074  *
32075  *     def visit_WithTargetAssignmentStatNode(self, node):             # <<<<<<<<<<<<<<
32076  *         self.mark_assignment(node.lhs, node.with_node.enter_call)
32077  *         return node
32078  */
32079 
32080 /* Python wrapper */
32081 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_61visit_WithTargetAssignmentStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
32082 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_61visit_WithTargetAssignmentStatNode = {"visit_WithTargetAssignmentStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_61visit_WithTargetAssignmentStatNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_61visit_WithTargetAssignmentStatNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)32083 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_61visit_WithTargetAssignmentStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
32084   PyObject *__pyx_r = 0;
32085   __Pyx_RefNannyDeclarations
32086   __Pyx_RefNannySetupContext("visit_WithTargetAssignmentStatNode (wrapper)", 0);
32087   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_60visit_WithTargetAssignmentStatNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
32088 
32089   /* function exit code */
32090   __Pyx_RefNannyFinishContext();
32091   return __pyx_r;
32092 }
32093 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_60visit_WithTargetAssignmentStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)32094 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_60visit_WithTargetAssignmentStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
32095   PyObject *__pyx_r = NULL;
32096   __Pyx_RefNannyDeclarations
32097   PyObject *__pyx_t_1 = NULL;
32098   PyObject *__pyx_t_2 = NULL;
32099   PyObject *__pyx_t_3 = NULL;
32100   struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment __pyx_t_4;
32101   int __pyx_lineno = 0;
32102   const char *__pyx_filename = NULL;
32103   int __pyx_clineno = 0;
32104   __Pyx_RefNannySetupContext("visit_WithTargetAssignmentStatNode", 0);
32105 
32106   /* "Cython/Compiler/FlowControl.py":1121
32107  *
32108  *     def visit_WithTargetAssignmentStatNode(self, node):
32109  *         self.mark_assignment(node.lhs, node.with_node.enter_call)             # <<<<<<<<<<<<<<
32110  *         return node
32111  *
32112  */
32113   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_lhs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1121, __pyx_L1_error)
32114   __Pyx_GOTREF(__pyx_t_1);
32115   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_with_node); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1121, __pyx_L1_error)
32116   __Pyx_GOTREF(__pyx_t_2);
32117   __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_enter_call); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1121, __pyx_L1_error)
32118   __Pyx_GOTREF(__pyx_t_3);
32119   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
32120   __pyx_t_4.__pyx_n = 1;
32121   __pyx_t_4.rhs = __pyx_t_3;
32122   __pyx_t_2 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment(__pyx_v_self, __pyx_t_1, 0, &__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1121, __pyx_L1_error)
32123   __Pyx_GOTREF(__pyx_t_2);
32124   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
32125   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
32126   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
32127 
32128   /* "Cython/Compiler/FlowControl.py":1122
32129  *     def visit_WithTargetAssignmentStatNode(self, node):
32130  *         self.mark_assignment(node.lhs, node.with_node.enter_call)
32131  *         return node             # <<<<<<<<<<<<<<
32132  *
32133  *     def visit_WithStatNode(self, node):
32134  */
32135   __Pyx_XDECREF(__pyx_r);
32136   __Pyx_INCREF(__pyx_v_node);
32137   __pyx_r = __pyx_v_node;
32138   goto __pyx_L0;
32139 
32140   /* "Cython/Compiler/FlowControl.py":1120
32141  *         raise InternalError("Generic loops are not supported")
32142  *
32143  *     def visit_WithTargetAssignmentStatNode(self, node):             # <<<<<<<<<<<<<<
32144  *         self.mark_assignment(node.lhs, node.with_node.enter_call)
32145  *         return node
32146  */
32147 
32148   /* function exit code */
32149   __pyx_L1_error:;
32150   __Pyx_XDECREF(__pyx_t_1);
32151   __Pyx_XDECREF(__pyx_t_2);
32152   __Pyx_XDECREF(__pyx_t_3);
32153   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_WithTargetAssignmentStatNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
32154   __pyx_r = NULL;
32155   __pyx_L0:;
32156   __Pyx_XGIVEREF(__pyx_r);
32157   __Pyx_RefNannyFinishContext();
32158   return __pyx_r;
32159 }
32160 
32161 /* "Cython/Compiler/FlowControl.py":1124
32162  *         return node
32163  *
32164  *     def visit_WithStatNode(self, node):             # <<<<<<<<<<<<<<
32165  *         self._visit(node.manager)
32166  *         self._visit(node.enter_call)
32167  */
32168 
32169 /* Python wrapper */
32170 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_63visit_WithStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
32171 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_63visit_WithStatNode = {"visit_WithStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_63visit_WithStatNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_63visit_WithStatNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)32172 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_63visit_WithStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
32173   PyObject *__pyx_r = 0;
32174   __Pyx_RefNannyDeclarations
32175   __Pyx_RefNannySetupContext("visit_WithStatNode (wrapper)", 0);
32176   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_62visit_WithStatNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
32177 
32178   /* function exit code */
32179   __Pyx_RefNannyFinishContext();
32180   return __pyx_r;
32181 }
32182 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_62visit_WithStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)32183 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_62visit_WithStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
32184   PyObject *__pyx_r = NULL;
32185   __Pyx_RefNannyDeclarations
32186   PyObject *__pyx_t_1 = NULL;
32187   PyObject *__pyx_t_2 = NULL;
32188   int __pyx_lineno = 0;
32189   const char *__pyx_filename = NULL;
32190   int __pyx_clineno = 0;
32191   __Pyx_RefNannySetupContext("visit_WithStatNode", 0);
32192 
32193   /* "Cython/Compiler/FlowControl.py":1125
32194  *
32195  *     def visit_WithStatNode(self, node):
32196  *         self._visit(node.manager)             # <<<<<<<<<<<<<<
32197  *         self._visit(node.enter_call)
32198  *         self._visit(node.body)
32199  */
32200   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_manager); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1125, __pyx_L1_error)
32201   __Pyx_GOTREF(__pyx_t_1);
32202   __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1125, __pyx_L1_error)
32203   __Pyx_GOTREF(__pyx_t_2);
32204   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
32205   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
32206 
32207   /* "Cython/Compiler/FlowControl.py":1126
32208  *     def visit_WithStatNode(self, node):
32209  *         self._visit(node.manager)
32210  *         self._visit(node.enter_call)             # <<<<<<<<<<<<<<
32211  *         self._visit(node.body)
32212  *         return node
32213  */
32214   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_enter_call); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1126, __pyx_L1_error)
32215   __Pyx_GOTREF(__pyx_t_2);
32216   __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1126, __pyx_L1_error)
32217   __Pyx_GOTREF(__pyx_t_1);
32218   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
32219   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
32220 
32221   /* "Cython/Compiler/FlowControl.py":1127
32222  *         self._visit(node.manager)
32223  *         self._visit(node.enter_call)
32224  *         self._visit(node.body)             # <<<<<<<<<<<<<<
32225  *         return node
32226  *
32227  */
32228   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_body); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1127, __pyx_L1_error)
32229   __Pyx_GOTREF(__pyx_t_1);
32230   __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1127, __pyx_L1_error)
32231   __Pyx_GOTREF(__pyx_t_2);
32232   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
32233   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
32234 
32235   /* "Cython/Compiler/FlowControl.py":1128
32236  *         self._visit(node.enter_call)
32237  *         self._visit(node.body)
32238  *         return node             # <<<<<<<<<<<<<<
32239  *
32240  *     def visit_TryExceptStatNode(self, node):
32241  */
32242   __Pyx_XDECREF(__pyx_r);
32243   __Pyx_INCREF(__pyx_v_node);
32244   __pyx_r = __pyx_v_node;
32245   goto __pyx_L0;
32246 
32247   /* "Cython/Compiler/FlowControl.py":1124
32248  *         return node
32249  *
32250  *     def visit_WithStatNode(self, node):             # <<<<<<<<<<<<<<
32251  *         self._visit(node.manager)
32252  *         self._visit(node.enter_call)
32253  */
32254 
32255   /* function exit code */
32256   __pyx_L1_error:;
32257   __Pyx_XDECREF(__pyx_t_1);
32258   __Pyx_XDECREF(__pyx_t_2);
32259   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_WithStatNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
32260   __pyx_r = NULL;
32261   __pyx_L0:;
32262   __Pyx_XGIVEREF(__pyx_r);
32263   __Pyx_RefNannyFinishContext();
32264   return __pyx_r;
32265 }
32266 
32267 /* "Cython/Compiler/FlowControl.py":1130
32268  *         return node
32269  *
32270  *     def visit_TryExceptStatNode(self, node):             # <<<<<<<<<<<<<<
32271  *         # After exception handling
32272  *         next_block = self.flow.newblock()
32273  */
32274 
32275 /* Python wrapper */
32276 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_65visit_TryExceptStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
32277 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_65visit_TryExceptStatNode = {"visit_TryExceptStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_65visit_TryExceptStatNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_65visit_TryExceptStatNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)32278 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_65visit_TryExceptStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
32279   PyObject *__pyx_r = 0;
32280   __Pyx_RefNannyDeclarations
32281   __Pyx_RefNannySetupContext("visit_TryExceptStatNode (wrapper)", 0);
32282   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_64visit_TryExceptStatNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
32283 
32284   /* function exit code */
32285   __Pyx_RefNannyFinishContext();
32286   return __pyx_r;
32287 }
32288 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_64visit_TryExceptStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)32289 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_64visit_TryExceptStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
32290   PyObject *__pyx_v_next_block = NULL;
32291   PyObject *__pyx_v_entry_point = NULL;
32292   PyObject *__pyx_v_clause = NULL;
32293   PyObject *__pyx_v_pattern = NULL;
32294   PyObject *__pyx_r = NULL;
32295   __Pyx_RefNannyDeclarations
32296   PyObject *__pyx_t_1 = NULL;
32297   PyObject *__pyx_t_2 = NULL;
32298   PyObject *__pyx_t_3 = NULL;
32299   int __pyx_t_4;
32300   int __pyx_t_5;
32301   Py_ssize_t __pyx_t_6;
32302   PyObject *(*__pyx_t_7)(PyObject *);
32303   Py_ssize_t __pyx_t_8;
32304   PyObject *(*__pyx_t_9)(PyObject *);
32305   struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock __pyx_t_10;
32306   PyObject *__pyx_t_11 = NULL;
32307   int __pyx_lineno = 0;
32308   const char *__pyx_filename = NULL;
32309   int __pyx_clineno = 0;
32310   __Pyx_RefNannySetupContext("visit_TryExceptStatNode", 0);
32311 
32312   /* "Cython/Compiler/FlowControl.py":1132
32313  *     def visit_TryExceptStatNode(self, node):
32314  *         # After exception handling
32315  *         next_block = self.flow.newblock()             # <<<<<<<<<<<<<<
32316  *         # Body block
32317  *         self.flow.newblock()
32318  */
32319   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1132, __pyx_L1_error)
32320   __Pyx_GOTREF(__pyx_t_1);
32321   __pyx_v_next_block = __pyx_t_1;
32322   __pyx_t_1 = 0;
32323 
32324   /* "Cython/Compiler/FlowControl.py":1134
32325  *         next_block = self.flow.newblock()
32326  *         # Body block
32327  *         self.flow.newblock()             # <<<<<<<<<<<<<<
32328  *         # Exception entry point
32329  *         entry_point = self.flow.newblock()
32330  */
32331   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1134, __pyx_L1_error)
32332   __Pyx_GOTREF(__pyx_t_1);
32333   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
32334 
32335   /* "Cython/Compiler/FlowControl.py":1136
32336  *         self.flow.newblock()
32337  *         # Exception entry point
32338  *         entry_point = self.flow.newblock()             # <<<<<<<<<<<<<<
32339  *         self.flow.exceptions.append(ExceptionDescr(entry_point))
32340  *         self.flow.nextblock()
32341  */
32342   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1136, __pyx_L1_error)
32343   __Pyx_GOTREF(__pyx_t_1);
32344   __pyx_v_entry_point = __pyx_t_1;
32345   __pyx_t_1 = 0;
32346 
32347   /* "Cython/Compiler/FlowControl.py":1137
32348  *         # Exception entry point
32349  *         entry_point = self.flow.newblock()
32350  *         self.flow.exceptions.append(ExceptionDescr(entry_point))             # <<<<<<<<<<<<<<
32351  *         self.flow.nextblock()
32352  *         ## XXX: links to exception handling point should be added by
32353  */
32354   if (unlikely(__pyx_v_self->flow->exceptions == Py_None)) {
32355     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
32356     __PYX_ERR(0, 1137, __pyx_L1_error)
32357   }
32358   __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ExceptionDescr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1137, __pyx_L1_error)
32359   __Pyx_GOTREF(__pyx_t_2);
32360   __pyx_t_3 = NULL;
32361   if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
32362     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
32363     if (likely(__pyx_t_3)) {
32364       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
32365       __Pyx_INCREF(__pyx_t_3);
32366       __Pyx_INCREF(function);
32367       __Pyx_DECREF_SET(__pyx_t_2, function);
32368     }
32369   }
32370   __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_entry_point) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_entry_point);
32371   __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
32372   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1137, __pyx_L1_error)
32373   __Pyx_GOTREF(__pyx_t_1);
32374   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
32375   __pyx_t_4 = __Pyx_PyList_Append(__pyx_v_self->flow->exceptions, __pyx_t_1); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 1137, __pyx_L1_error)
32376   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
32377 
32378   /* "Cython/Compiler/FlowControl.py":1138
32379  *         entry_point = self.flow.newblock()
32380  *         self.flow.exceptions.append(ExceptionDescr(entry_point))
32381  *         self.flow.nextblock()             # <<<<<<<<<<<<<<
32382  *         ## XXX: links to exception handling point should be added by
32383  *         ## XXX: children nodes
32384  */
32385   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1138, __pyx_L1_error)
32386   __Pyx_GOTREF(__pyx_t_1);
32387   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
32388 
32389   /* "Cython/Compiler/FlowControl.py":1141
32390  *         ## XXX: links to exception handling point should be added by
32391  *         ## XXX: children nodes
32392  *         self.flow.block.add_child(entry_point)             # <<<<<<<<<<<<<<
32393  *         self.flow.nextblock()
32394  *         self._visit(node.body)
32395  */
32396   __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_v_entry_point, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1141, __pyx_L1_error)
32397   __Pyx_GOTREF(__pyx_t_1);
32398   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
32399 
32400   /* "Cython/Compiler/FlowControl.py":1142
32401  *         ## XXX: children nodes
32402  *         self.flow.block.add_child(entry_point)
32403  *         self.flow.nextblock()             # <<<<<<<<<<<<<<
32404  *         self._visit(node.body)
32405  *         self.flow.exceptions.pop()
32406  */
32407   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1142, __pyx_L1_error)
32408   __Pyx_GOTREF(__pyx_t_1);
32409   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
32410 
32411   /* "Cython/Compiler/FlowControl.py":1143
32412  *         self.flow.block.add_child(entry_point)
32413  *         self.flow.nextblock()
32414  *         self._visit(node.body)             # <<<<<<<<<<<<<<
32415  *         self.flow.exceptions.pop()
32416  *
32417  */
32418   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_body); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1143, __pyx_L1_error)
32419   __Pyx_GOTREF(__pyx_t_1);
32420   __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1143, __pyx_L1_error)
32421   __Pyx_GOTREF(__pyx_t_2);
32422   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
32423   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
32424 
32425   /* "Cython/Compiler/FlowControl.py":1144
32426  *         self.flow.nextblock()
32427  *         self._visit(node.body)
32428  *         self.flow.exceptions.pop()             # <<<<<<<<<<<<<<
32429  *
32430  *         # After exception
32431  */
32432   if (unlikely(__pyx_v_self->flow->exceptions == Py_None)) {
32433     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "pop");
32434     __PYX_ERR(0, 1144, __pyx_L1_error)
32435   }
32436   __pyx_t_2 = __Pyx_PyList_Pop(__pyx_v_self->flow->exceptions); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1144, __pyx_L1_error)
32437   __Pyx_GOTREF(__pyx_t_2);
32438   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
32439 
32440   /* "Cython/Compiler/FlowControl.py":1147
32441  *
32442  *         # After exception
32443  *         if self.flow.block:             # <<<<<<<<<<<<<<
32444  *             if node.else_clause:
32445  *                 self.flow.nextblock()
32446  */
32447   __pyx_t_5 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->flow->block)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1147, __pyx_L1_error)
32448   if (__pyx_t_5) {
32449 
32450     /* "Cython/Compiler/FlowControl.py":1148
32451  *         # After exception
32452  *         if self.flow.block:
32453  *             if node.else_clause:             # <<<<<<<<<<<<<<
32454  *                 self.flow.nextblock()
32455  *                 self._visit(node.else_clause)
32456  */
32457     __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_else_clause); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1148, __pyx_L1_error)
32458     __Pyx_GOTREF(__pyx_t_2);
32459     __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1148, __pyx_L1_error)
32460     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
32461     if (__pyx_t_5) {
32462 
32463       /* "Cython/Compiler/FlowControl.py":1149
32464  *         if self.flow.block:
32465  *             if node.else_clause:
32466  *                 self.flow.nextblock()             # <<<<<<<<<<<<<<
32467  *                 self._visit(node.else_clause)
32468  *             if self.flow.block:
32469  */
32470       __pyx_t_2 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1149, __pyx_L1_error)
32471       __Pyx_GOTREF(__pyx_t_2);
32472       __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
32473 
32474       /* "Cython/Compiler/FlowControl.py":1150
32475  *             if node.else_clause:
32476  *                 self.flow.nextblock()
32477  *                 self._visit(node.else_clause)             # <<<<<<<<<<<<<<
32478  *             if self.flow.block:
32479  *                 self.flow.block.add_child(next_block)
32480  */
32481       __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_else_clause); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1150, __pyx_L1_error)
32482       __Pyx_GOTREF(__pyx_t_2);
32483       __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1150, __pyx_L1_error)
32484       __Pyx_GOTREF(__pyx_t_1);
32485       __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
32486       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
32487 
32488       /* "Cython/Compiler/FlowControl.py":1148
32489  *         # After exception
32490  *         if self.flow.block:
32491  *             if node.else_clause:             # <<<<<<<<<<<<<<
32492  *                 self.flow.nextblock()
32493  *                 self._visit(node.else_clause)
32494  */
32495     }
32496 
32497     /* "Cython/Compiler/FlowControl.py":1151
32498  *                 self.flow.nextblock()
32499  *                 self._visit(node.else_clause)
32500  *             if self.flow.block:             # <<<<<<<<<<<<<<
32501  *                 self.flow.block.add_child(next_block)
32502  *
32503  */
32504     __pyx_t_5 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->flow->block)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1151, __pyx_L1_error)
32505     if (__pyx_t_5) {
32506 
32507       /* "Cython/Compiler/FlowControl.py":1152
32508  *                 self._visit(node.else_clause)
32509  *             if self.flow.block:
32510  *                 self.flow.block.add_child(next_block)             # <<<<<<<<<<<<<<
32511  *
32512  *         for clause in node.except_clauses:
32513  */
32514       __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_v_next_block, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1152, __pyx_L1_error)
32515       __Pyx_GOTREF(__pyx_t_1);
32516       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
32517 
32518       /* "Cython/Compiler/FlowControl.py":1151
32519  *                 self.flow.nextblock()
32520  *                 self._visit(node.else_clause)
32521  *             if self.flow.block:             # <<<<<<<<<<<<<<
32522  *                 self.flow.block.add_child(next_block)
32523  *
32524  */
32525     }
32526 
32527     /* "Cython/Compiler/FlowControl.py":1147
32528  *
32529  *         # After exception
32530  *         if self.flow.block:             # <<<<<<<<<<<<<<
32531  *             if node.else_clause:
32532  *                 self.flow.nextblock()
32533  */
32534   }
32535 
32536   /* "Cython/Compiler/FlowControl.py":1154
32537  *                 self.flow.block.add_child(next_block)
32538  *
32539  *         for clause in node.except_clauses:             # <<<<<<<<<<<<<<
32540  *             self.flow.block = entry_point
32541  *             if clause.pattern:
32542  */
32543   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_except_clauses); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1154, __pyx_L1_error)
32544   __Pyx_GOTREF(__pyx_t_1);
32545   if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
32546     __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
32547     __pyx_t_7 = NULL;
32548   } else {
32549     __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1154, __pyx_L1_error)
32550     __Pyx_GOTREF(__pyx_t_2);
32551     __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1154, __pyx_L1_error)
32552   }
32553   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
32554   for (;;) {
32555     if (likely(!__pyx_t_7)) {
32556       if (likely(PyList_CheckExact(__pyx_t_2))) {
32557         if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
32558         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
32559         __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1154, __pyx_L1_error)
32560         #else
32561         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1154, __pyx_L1_error)
32562         __Pyx_GOTREF(__pyx_t_1);
32563         #endif
32564       } else {
32565         if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
32566         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
32567         __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1154, __pyx_L1_error)
32568         #else
32569         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1154, __pyx_L1_error)
32570         __Pyx_GOTREF(__pyx_t_1);
32571         #endif
32572       }
32573     } else {
32574       __pyx_t_1 = __pyx_t_7(__pyx_t_2);
32575       if (unlikely(!__pyx_t_1)) {
32576         PyObject* exc_type = PyErr_Occurred();
32577         if (exc_type) {
32578           if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
32579           else __PYX_ERR(0, 1154, __pyx_L1_error)
32580         }
32581         break;
32582       }
32583       __Pyx_GOTREF(__pyx_t_1);
32584     }
32585     __Pyx_XDECREF_SET(__pyx_v_clause, __pyx_t_1);
32586     __pyx_t_1 = 0;
32587 
32588     /* "Cython/Compiler/FlowControl.py":1155
32589  *
32590  *         for clause in node.except_clauses:
32591  *             self.flow.block = entry_point             # <<<<<<<<<<<<<<
32592  *             if clause.pattern:
32593  *                 for pattern in clause.pattern:
32594  */
32595     if (!(likely(((__pyx_v_entry_point) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_entry_point, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(0, 1155, __pyx_L1_error)
32596     __pyx_t_1 = __pyx_v_entry_point;
32597     __Pyx_INCREF(__pyx_t_1);
32598     __Pyx_GIVEREF(__pyx_t_1);
32599     __Pyx_GOTREF(__pyx_v_self->flow->block);
32600     __Pyx_DECREF(((PyObject *)__pyx_v_self->flow->block));
32601     __pyx_v_self->flow->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_1);
32602     __pyx_t_1 = 0;
32603 
32604     /* "Cython/Compiler/FlowControl.py":1156
32605  *         for clause in node.except_clauses:
32606  *             self.flow.block = entry_point
32607  *             if clause.pattern:             # <<<<<<<<<<<<<<
32608  *                 for pattern in clause.pattern:
32609  *                     self._visit(pattern)
32610  */
32611     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_clause, __pyx_n_s_pattern); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1156, __pyx_L1_error)
32612     __Pyx_GOTREF(__pyx_t_1);
32613     __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1156, __pyx_L1_error)
32614     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
32615     if (__pyx_t_5) {
32616 
32617       /* "Cython/Compiler/FlowControl.py":1157
32618  *             self.flow.block = entry_point
32619  *             if clause.pattern:
32620  *                 for pattern in clause.pattern:             # <<<<<<<<<<<<<<
32621  *                     self._visit(pattern)
32622  *             else:
32623  */
32624       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_clause, __pyx_n_s_pattern); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1157, __pyx_L1_error)
32625       __Pyx_GOTREF(__pyx_t_1);
32626       if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
32627         __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_8 = 0;
32628         __pyx_t_9 = NULL;
32629       } else {
32630         __pyx_t_8 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1157, __pyx_L1_error)
32631         __Pyx_GOTREF(__pyx_t_3);
32632         __pyx_t_9 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1157, __pyx_L1_error)
32633       }
32634       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
32635       for (;;) {
32636         if (likely(!__pyx_t_9)) {
32637           if (likely(PyList_CheckExact(__pyx_t_3))) {
32638             if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_3)) break;
32639             #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
32640             __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_8); __Pyx_INCREF(__pyx_t_1); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1157, __pyx_L1_error)
32641             #else
32642             __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1157, __pyx_L1_error)
32643             __Pyx_GOTREF(__pyx_t_1);
32644             #endif
32645           } else {
32646             if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
32647             #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
32648             __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_8); __Pyx_INCREF(__pyx_t_1); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1157, __pyx_L1_error)
32649             #else
32650             __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1157, __pyx_L1_error)
32651             __Pyx_GOTREF(__pyx_t_1);
32652             #endif
32653           }
32654         } else {
32655           __pyx_t_1 = __pyx_t_9(__pyx_t_3);
32656           if (unlikely(!__pyx_t_1)) {
32657             PyObject* exc_type = PyErr_Occurred();
32658             if (exc_type) {
32659               if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
32660               else __PYX_ERR(0, 1157, __pyx_L1_error)
32661             }
32662             break;
32663           }
32664           __Pyx_GOTREF(__pyx_t_1);
32665         }
32666         __Pyx_XDECREF_SET(__pyx_v_pattern, __pyx_t_1);
32667         __pyx_t_1 = 0;
32668 
32669         /* "Cython/Compiler/FlowControl.py":1158
32670  *             if clause.pattern:
32671  *                 for pattern in clause.pattern:
32672  *                     self._visit(pattern)             # <<<<<<<<<<<<<<
32673  *             else:
32674  *                 # TODO: handle * pattern
32675  */
32676         __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_v_pattern); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1158, __pyx_L1_error)
32677         __Pyx_GOTREF(__pyx_t_1);
32678         __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
32679 
32680         /* "Cython/Compiler/FlowControl.py":1157
32681  *             self.flow.block = entry_point
32682  *             if clause.pattern:
32683  *                 for pattern in clause.pattern:             # <<<<<<<<<<<<<<
32684  *                     self._visit(pattern)
32685  *             else:
32686  */
32687       }
32688       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
32689 
32690       /* "Cython/Compiler/FlowControl.py":1156
32691  *         for clause in node.except_clauses:
32692  *             self.flow.block = entry_point
32693  *             if clause.pattern:             # <<<<<<<<<<<<<<
32694  *                 for pattern in clause.pattern:
32695  *                     self._visit(pattern)
32696  */
32697       goto __pyx_L8;
32698     }
32699 
32700     /* "Cython/Compiler/FlowControl.py":1161
32701  *             else:
32702  *                 # TODO: handle * pattern
32703  *                 pass             # <<<<<<<<<<<<<<
32704  *             entry_point = self.flow.newblock(parent=self.flow.block)
32705  *             self.flow.nextblock()
32706  */
32707     /*else*/ {
32708     }
32709     __pyx_L8:;
32710 
32711     /* "Cython/Compiler/FlowControl.py":1162
32712  *                 # TODO: handle * pattern
32713  *                 pass
32714  *             entry_point = self.flow.newblock(parent=self.flow.block)             # <<<<<<<<<<<<<<
32715  *             self.flow.nextblock()
32716  *             if clause.target:
32717  */
32718     __pyx_t_3 = ((PyObject *)__pyx_v_self->flow->block);
32719     __Pyx_INCREF(__pyx_t_3);
32720     __pyx_t_10.__pyx_n = 1;
32721     __pyx_t_10.parent = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_3);
32722     __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock(__pyx_v_self->flow, 0, &__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1162, __pyx_L1_error)
32723     __Pyx_GOTREF(__pyx_t_1);
32724     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
32725     __Pyx_DECREF_SET(__pyx_v_entry_point, __pyx_t_1);
32726     __pyx_t_1 = 0;
32727 
32728     /* "Cython/Compiler/FlowControl.py":1163
32729  *                 pass
32730  *             entry_point = self.flow.newblock(parent=self.flow.block)
32731  *             self.flow.nextblock()             # <<<<<<<<<<<<<<
32732  *             if clause.target:
32733  *                 self.mark_assignment(clause.target)
32734  */
32735     __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1163, __pyx_L1_error)
32736     __Pyx_GOTREF(__pyx_t_1);
32737     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
32738 
32739     /* "Cython/Compiler/FlowControl.py":1164
32740  *             entry_point = self.flow.newblock(parent=self.flow.block)
32741  *             self.flow.nextblock()
32742  *             if clause.target:             # <<<<<<<<<<<<<<
32743  *                 self.mark_assignment(clause.target)
32744  *             self._visit(clause.body)
32745  */
32746     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_clause, __pyx_n_s_target); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1164, __pyx_L1_error)
32747     __Pyx_GOTREF(__pyx_t_1);
32748     __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1164, __pyx_L1_error)
32749     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
32750     if (__pyx_t_5) {
32751 
32752       /* "Cython/Compiler/FlowControl.py":1165
32753  *             self.flow.nextblock()
32754  *             if clause.target:
32755  *                 self.mark_assignment(clause.target)             # <<<<<<<<<<<<<<
32756  *             self._visit(clause.body)
32757  *             if self.flow.block:
32758  */
32759       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_clause, __pyx_n_s_target); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1165, __pyx_L1_error)
32760       __Pyx_GOTREF(__pyx_t_1);
32761       __pyx_t_3 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment(__pyx_v_self, __pyx_t_1, 0, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1165, __pyx_L1_error)
32762       __Pyx_GOTREF(__pyx_t_3);
32763       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
32764       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
32765 
32766       /* "Cython/Compiler/FlowControl.py":1164
32767  *             entry_point = self.flow.newblock(parent=self.flow.block)
32768  *             self.flow.nextblock()
32769  *             if clause.target:             # <<<<<<<<<<<<<<
32770  *                 self.mark_assignment(clause.target)
32771  *             self._visit(clause.body)
32772  */
32773     }
32774 
32775     /* "Cython/Compiler/FlowControl.py":1166
32776  *             if clause.target:
32777  *                 self.mark_assignment(clause.target)
32778  *             self._visit(clause.body)             # <<<<<<<<<<<<<<
32779  *             if self.flow.block:
32780  *                 self.flow.block.add_child(next_block)
32781  */
32782     __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_clause, __pyx_n_s_body); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1166, __pyx_L1_error)
32783     __Pyx_GOTREF(__pyx_t_3);
32784     __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1166, __pyx_L1_error)
32785     __Pyx_GOTREF(__pyx_t_1);
32786     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
32787     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
32788 
32789     /* "Cython/Compiler/FlowControl.py":1167
32790  *                 self.mark_assignment(clause.target)
32791  *             self._visit(clause.body)
32792  *             if self.flow.block:             # <<<<<<<<<<<<<<
32793  *                 self.flow.block.add_child(next_block)
32794  *
32795  */
32796     __pyx_t_5 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->flow->block)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1167, __pyx_L1_error)
32797     if (__pyx_t_5) {
32798 
32799       /* "Cython/Compiler/FlowControl.py":1168
32800  *             self._visit(clause.body)
32801  *             if self.flow.block:
32802  *                 self.flow.block.add_child(next_block)             # <<<<<<<<<<<<<<
32803  *
32804  *         if self.flow.exceptions:
32805  */
32806       __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_v_next_block, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1168, __pyx_L1_error)
32807       __Pyx_GOTREF(__pyx_t_1);
32808       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
32809 
32810       /* "Cython/Compiler/FlowControl.py":1167
32811  *                 self.mark_assignment(clause.target)
32812  *             self._visit(clause.body)
32813  *             if self.flow.block:             # <<<<<<<<<<<<<<
32814  *                 self.flow.block.add_child(next_block)
32815  *
32816  */
32817     }
32818 
32819     /* "Cython/Compiler/FlowControl.py":1154
32820  *                 self.flow.block.add_child(next_block)
32821  *
32822  *         for clause in node.except_clauses:             # <<<<<<<<<<<<<<
32823  *             self.flow.block = entry_point
32824  *             if clause.pattern:
32825  */
32826   }
32827   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
32828 
32829   /* "Cython/Compiler/FlowControl.py":1170
32830  *                 self.flow.block.add_child(next_block)
32831  *
32832  *         if self.flow.exceptions:             # <<<<<<<<<<<<<<
32833  *             entry_point.add_child(self.flow.exceptions[-1].entry_point)
32834  *
32835  */
32836   __pyx_t_5 = (__pyx_v_self->flow->exceptions != Py_None)&&(PyList_GET_SIZE(__pyx_v_self->flow->exceptions) != 0);
32837   if (__pyx_t_5) {
32838 
32839     /* "Cython/Compiler/FlowControl.py":1171
32840  *
32841  *         if self.flow.exceptions:
32842  *             entry_point.add_child(self.flow.exceptions[-1].entry_point)             # <<<<<<<<<<<<<<
32843  *
32844  *         if next_block.parents:
32845  */
32846     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry_point, __pyx_n_s_add_child); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1171, __pyx_L1_error)
32847     __Pyx_GOTREF(__pyx_t_1);
32848     if (unlikely(__pyx_v_self->flow->exceptions == Py_None)) {
32849       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
32850       __PYX_ERR(0, 1171, __pyx_L1_error)
32851     }
32852     __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_self->flow->exceptions, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1171, __pyx_L1_error)
32853     __Pyx_GOTREF(__pyx_t_3);
32854     __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_entry_point); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1171, __pyx_L1_error)
32855     __Pyx_GOTREF(__pyx_t_11);
32856     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
32857     __pyx_t_3 = NULL;
32858     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
32859       __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
32860       if (likely(__pyx_t_3)) {
32861         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
32862         __Pyx_INCREF(__pyx_t_3);
32863         __Pyx_INCREF(function);
32864         __Pyx_DECREF_SET(__pyx_t_1, function);
32865       }
32866     }
32867     __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_t_11) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_11);
32868     __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
32869     __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
32870     if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1171, __pyx_L1_error)
32871     __Pyx_GOTREF(__pyx_t_2);
32872     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
32873     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
32874 
32875     /* "Cython/Compiler/FlowControl.py":1170
32876  *                 self.flow.block.add_child(next_block)
32877  *
32878  *         if self.flow.exceptions:             # <<<<<<<<<<<<<<
32879  *             entry_point.add_child(self.flow.exceptions[-1].entry_point)
32880  *
32881  */
32882   }
32883 
32884   /* "Cython/Compiler/FlowControl.py":1173
32885  *             entry_point.add_child(self.flow.exceptions[-1].entry_point)
32886  *
32887  *         if next_block.parents:             # <<<<<<<<<<<<<<
32888  *             self.flow.block = next_block
32889  *         else:
32890  */
32891   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_next_block, __pyx_n_s_parents); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1173, __pyx_L1_error)
32892   __Pyx_GOTREF(__pyx_t_2);
32893   __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1173, __pyx_L1_error)
32894   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
32895   if (__pyx_t_5) {
32896 
32897     /* "Cython/Compiler/FlowControl.py":1174
32898  *
32899  *         if next_block.parents:
32900  *             self.flow.block = next_block             # <<<<<<<<<<<<<<
32901  *         else:
32902  *             self.flow.block = None
32903  */
32904     if (!(likely(((__pyx_v_next_block) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_next_block, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(0, 1174, __pyx_L1_error)
32905     __pyx_t_2 = __pyx_v_next_block;
32906     __Pyx_INCREF(__pyx_t_2);
32907     __Pyx_GIVEREF(__pyx_t_2);
32908     __Pyx_GOTREF(__pyx_v_self->flow->block);
32909     __Pyx_DECREF(((PyObject *)__pyx_v_self->flow->block));
32910     __pyx_v_self->flow->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_2);
32911     __pyx_t_2 = 0;
32912 
32913     /* "Cython/Compiler/FlowControl.py":1173
32914  *             entry_point.add_child(self.flow.exceptions[-1].entry_point)
32915  *
32916  *         if next_block.parents:             # <<<<<<<<<<<<<<
32917  *             self.flow.block = next_block
32918  *         else:
32919  */
32920     goto __pyx_L14;
32921   }
32922 
32923   /* "Cython/Compiler/FlowControl.py":1176
32924  *             self.flow.block = next_block
32925  *         else:
32926  *             self.flow.block = None             # <<<<<<<<<<<<<<
32927  *         return node
32928  *
32929  */
32930   /*else*/ {
32931     __Pyx_INCREF(Py_None);
32932     __Pyx_GIVEREF(Py_None);
32933     __Pyx_GOTREF(__pyx_v_self->flow->block);
32934     __Pyx_DECREF(((PyObject *)__pyx_v_self->flow->block));
32935     __pyx_v_self->flow->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)Py_None);
32936   }
32937   __pyx_L14:;
32938 
32939   /* "Cython/Compiler/FlowControl.py":1177
32940  *         else:
32941  *             self.flow.block = None
32942  *         return node             # <<<<<<<<<<<<<<
32943  *
32944  *     def visit_TryFinallyStatNode(self, node):
32945  */
32946   __Pyx_XDECREF(__pyx_r);
32947   __Pyx_INCREF(__pyx_v_node);
32948   __pyx_r = __pyx_v_node;
32949   goto __pyx_L0;
32950 
32951   /* "Cython/Compiler/FlowControl.py":1130
32952  *         return node
32953  *
32954  *     def visit_TryExceptStatNode(self, node):             # <<<<<<<<<<<<<<
32955  *         # After exception handling
32956  *         next_block = self.flow.newblock()
32957  */
32958 
32959   /* function exit code */
32960   __pyx_L1_error:;
32961   __Pyx_XDECREF(__pyx_t_1);
32962   __Pyx_XDECREF(__pyx_t_2);
32963   __Pyx_XDECREF(__pyx_t_3);
32964   __Pyx_XDECREF(__pyx_t_11);
32965   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_TryExceptStatNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
32966   __pyx_r = NULL;
32967   __pyx_L0:;
32968   __Pyx_XDECREF(__pyx_v_next_block);
32969   __Pyx_XDECREF(__pyx_v_entry_point);
32970   __Pyx_XDECREF(__pyx_v_clause);
32971   __Pyx_XDECREF(__pyx_v_pattern);
32972   __Pyx_XGIVEREF(__pyx_r);
32973   __Pyx_RefNannyFinishContext();
32974   return __pyx_r;
32975 }
32976 
32977 /* "Cython/Compiler/FlowControl.py":1179
32978  *         return node
32979  *
32980  *     def visit_TryFinallyStatNode(self, node):             # <<<<<<<<<<<<<<
32981  *         body_block = self.flow.nextblock()
32982  *
32983  */
32984 
32985 /* Python wrapper */
32986 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_67visit_TryFinallyStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
32987 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_67visit_TryFinallyStatNode = {"visit_TryFinallyStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_67visit_TryFinallyStatNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_67visit_TryFinallyStatNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)32988 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_67visit_TryFinallyStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
32989   PyObject *__pyx_r = 0;
32990   __Pyx_RefNannyDeclarations
32991   __Pyx_RefNannySetupContext("visit_TryFinallyStatNode (wrapper)", 0);
32992   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_66visit_TryFinallyStatNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
32993 
32994   /* function exit code */
32995   __Pyx_RefNannyFinishContext();
32996   return __pyx_r;
32997 }
32998 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_66visit_TryFinallyStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)32999 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_66visit_TryFinallyStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
33000   PyObject *__pyx_v_body_block = NULL;
33001   PyObject *__pyx_v_entry_point = NULL;
33002   PyObject *__pyx_v_finally_enter = NULL;
33003   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v_finally_exit = NULL;
33004   PyObject *__pyx_v_descr = NULL;
33005   PyObject *__pyx_r = NULL;
33006   __Pyx_RefNannyDeclarations
33007   PyObject *__pyx_t_1 = NULL;
33008   PyObject *__pyx_t_2 = NULL;
33009   int __pyx_t_3;
33010   int __pyx_t_4;
33011   PyObject *__pyx_t_5 = NULL;
33012   int __pyx_t_6;
33013   PyObject *__pyx_t_7 = NULL;
33014   int __pyx_t_8;
33015   struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock __pyx_t_9;
33016   int __pyx_lineno = 0;
33017   const char *__pyx_filename = NULL;
33018   int __pyx_clineno = 0;
33019   __Pyx_RefNannySetupContext("visit_TryFinallyStatNode", 0);
33020 
33021   /* "Cython/Compiler/FlowControl.py":1180
33022  *
33023  *     def visit_TryFinallyStatNode(self, node):
33024  *         body_block = self.flow.nextblock()             # <<<<<<<<<<<<<<
33025  *
33026  *         # Exception entry point
33027  */
33028   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1180, __pyx_L1_error)
33029   __Pyx_GOTREF(__pyx_t_1);
33030   __pyx_v_body_block = __pyx_t_1;
33031   __pyx_t_1 = 0;
33032 
33033   /* "Cython/Compiler/FlowControl.py":1183
33034  *
33035  *         # Exception entry point
33036  *         entry_point = self.flow.newblock()             # <<<<<<<<<<<<<<
33037  *         self.flow.block = entry_point
33038  *         self._visit(node.finally_except_clause)
33039  */
33040   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1183, __pyx_L1_error)
33041   __Pyx_GOTREF(__pyx_t_1);
33042   __pyx_v_entry_point = __pyx_t_1;
33043   __pyx_t_1 = 0;
33044 
33045   /* "Cython/Compiler/FlowControl.py":1184
33046  *         # Exception entry point
33047  *         entry_point = self.flow.newblock()
33048  *         self.flow.block = entry_point             # <<<<<<<<<<<<<<
33049  *         self._visit(node.finally_except_clause)
33050  *
33051  */
33052   if (!(likely(((__pyx_v_entry_point) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_entry_point, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(0, 1184, __pyx_L1_error)
33053   __pyx_t_1 = __pyx_v_entry_point;
33054   __Pyx_INCREF(__pyx_t_1);
33055   __Pyx_GIVEREF(__pyx_t_1);
33056   __Pyx_GOTREF(__pyx_v_self->flow->block);
33057   __Pyx_DECREF(((PyObject *)__pyx_v_self->flow->block));
33058   __pyx_v_self->flow->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_1);
33059   __pyx_t_1 = 0;
33060 
33061   /* "Cython/Compiler/FlowControl.py":1185
33062  *         entry_point = self.flow.newblock()
33063  *         self.flow.block = entry_point
33064  *         self._visit(node.finally_except_clause)             # <<<<<<<<<<<<<<
33065  *
33066  *         if self.flow.block and self.flow.exceptions:
33067  */
33068   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_finally_except_clause); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1185, __pyx_L1_error)
33069   __Pyx_GOTREF(__pyx_t_1);
33070   __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1185, __pyx_L1_error)
33071   __Pyx_GOTREF(__pyx_t_2);
33072   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
33073   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
33074 
33075   /* "Cython/Compiler/FlowControl.py":1187
33076  *         self._visit(node.finally_except_clause)
33077  *
33078  *         if self.flow.block and self.flow.exceptions:             # <<<<<<<<<<<<<<
33079  *             self.flow.block.add_child(self.flow.exceptions[-1].entry_point)
33080  *
33081  */
33082   __pyx_t_4 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->flow->block)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 1187, __pyx_L1_error)
33083   if (__pyx_t_4) {
33084   } else {
33085     __pyx_t_3 = __pyx_t_4;
33086     goto __pyx_L4_bool_binop_done;
33087   }
33088   __pyx_t_4 = (__pyx_v_self->flow->exceptions != Py_None)&&(PyList_GET_SIZE(__pyx_v_self->flow->exceptions) != 0);
33089   __pyx_t_3 = __pyx_t_4;
33090   __pyx_L4_bool_binop_done:;
33091   if (__pyx_t_3) {
33092 
33093     /* "Cython/Compiler/FlowControl.py":1188
33094  *
33095  *         if self.flow.block and self.flow.exceptions:
33096  *             self.flow.block.add_child(self.flow.exceptions[-1].entry_point)             # <<<<<<<<<<<<<<
33097  *
33098  *         # Normal execution
33099  */
33100     if (unlikely(__pyx_v_self->flow->exceptions == Py_None)) {
33101       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
33102       __PYX_ERR(0, 1188, __pyx_L1_error)
33103     }
33104     __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_self->flow->exceptions, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1188, __pyx_L1_error)
33105     __Pyx_GOTREF(__pyx_t_2);
33106     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_entry_point); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1188, __pyx_L1_error)
33107     __Pyx_GOTREF(__pyx_t_1);
33108     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
33109     __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1188, __pyx_L1_error)
33110     __Pyx_GOTREF(__pyx_t_2);
33111     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
33112     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
33113 
33114     /* "Cython/Compiler/FlowControl.py":1187
33115  *         self._visit(node.finally_except_clause)
33116  *
33117  *         if self.flow.block and self.flow.exceptions:             # <<<<<<<<<<<<<<
33118  *             self.flow.block.add_child(self.flow.exceptions[-1].entry_point)
33119  *
33120  */
33121   }
33122 
33123   /* "Cython/Compiler/FlowControl.py":1191
33124  *
33125  *         # Normal execution
33126  *         finally_enter = self.flow.newblock()             # <<<<<<<<<<<<<<
33127  *         self.flow.block = finally_enter
33128  *         self._visit(node.finally_clause)
33129  */
33130   __pyx_t_2 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1191, __pyx_L1_error)
33131   __Pyx_GOTREF(__pyx_t_2);
33132   __pyx_v_finally_enter = __pyx_t_2;
33133   __pyx_t_2 = 0;
33134 
33135   /* "Cython/Compiler/FlowControl.py":1192
33136  *         # Normal execution
33137  *         finally_enter = self.flow.newblock()
33138  *         self.flow.block = finally_enter             # <<<<<<<<<<<<<<
33139  *         self._visit(node.finally_clause)
33140  *         finally_exit = self.flow.block
33141  */
33142   if (!(likely(((__pyx_v_finally_enter) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_finally_enter, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(0, 1192, __pyx_L1_error)
33143   __pyx_t_2 = __pyx_v_finally_enter;
33144   __Pyx_INCREF(__pyx_t_2);
33145   __Pyx_GIVEREF(__pyx_t_2);
33146   __Pyx_GOTREF(__pyx_v_self->flow->block);
33147   __Pyx_DECREF(((PyObject *)__pyx_v_self->flow->block));
33148   __pyx_v_self->flow->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_2);
33149   __pyx_t_2 = 0;
33150 
33151   /* "Cython/Compiler/FlowControl.py":1193
33152  *         finally_enter = self.flow.newblock()
33153  *         self.flow.block = finally_enter
33154  *         self._visit(node.finally_clause)             # <<<<<<<<<<<<<<
33155  *         finally_exit = self.flow.block
33156  *
33157  */
33158   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_finally_clause); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1193, __pyx_L1_error)
33159   __Pyx_GOTREF(__pyx_t_2);
33160   __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1193, __pyx_L1_error)
33161   __Pyx_GOTREF(__pyx_t_1);
33162   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
33163   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
33164 
33165   /* "Cython/Compiler/FlowControl.py":1194
33166  *         self.flow.block = finally_enter
33167  *         self._visit(node.finally_clause)
33168  *         finally_exit = self.flow.block             # <<<<<<<<<<<<<<
33169  *
33170  *         descr = ExceptionDescr(entry_point, finally_enter, finally_exit)
33171  */
33172   __pyx_t_1 = ((PyObject *)__pyx_v_self->flow->block);
33173   __Pyx_INCREF(__pyx_t_1);
33174   __pyx_v_finally_exit = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_1);
33175   __pyx_t_1 = 0;
33176 
33177   /* "Cython/Compiler/FlowControl.py":1196
33178  *         finally_exit = self.flow.block
33179  *
33180  *         descr = ExceptionDescr(entry_point, finally_enter, finally_exit)             # <<<<<<<<<<<<<<
33181  *         self.flow.exceptions.append(descr)
33182  *         if self.flow.loops:
33183  */
33184   __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ExceptionDescr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1196, __pyx_L1_error)
33185   __Pyx_GOTREF(__pyx_t_2);
33186   __pyx_t_5 = NULL;
33187   __pyx_t_6 = 0;
33188   if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
33189     __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
33190     if (likely(__pyx_t_5)) {
33191       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
33192       __Pyx_INCREF(__pyx_t_5);
33193       __Pyx_INCREF(function);
33194       __Pyx_DECREF_SET(__pyx_t_2, function);
33195       __pyx_t_6 = 1;
33196     }
33197   }
33198   #if CYTHON_FAST_PYCALL
33199   if (PyFunction_Check(__pyx_t_2)) {
33200     PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_entry_point, __pyx_v_finally_enter, ((PyObject *)__pyx_v_finally_exit)};
33201     __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1196, __pyx_L1_error)
33202     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
33203     __Pyx_GOTREF(__pyx_t_1);
33204   } else
33205   #endif
33206   #if CYTHON_FAST_PYCCALL
33207   if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
33208     PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_entry_point, __pyx_v_finally_enter, ((PyObject *)__pyx_v_finally_exit)};
33209     __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1196, __pyx_L1_error)
33210     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
33211     __Pyx_GOTREF(__pyx_t_1);
33212   } else
33213   #endif
33214   {
33215     __pyx_t_7 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1196, __pyx_L1_error)
33216     __Pyx_GOTREF(__pyx_t_7);
33217     if (__pyx_t_5) {
33218       __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
33219     }
33220     __Pyx_INCREF(__pyx_v_entry_point);
33221     __Pyx_GIVEREF(__pyx_v_entry_point);
33222     PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_entry_point);
33223     __Pyx_INCREF(__pyx_v_finally_enter);
33224     __Pyx_GIVEREF(__pyx_v_finally_enter);
33225     PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_finally_enter);
33226     __Pyx_INCREF(((PyObject *)__pyx_v_finally_exit));
33227     __Pyx_GIVEREF(((PyObject *)__pyx_v_finally_exit));
33228     PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, ((PyObject *)__pyx_v_finally_exit));
33229     __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1196, __pyx_L1_error)
33230     __Pyx_GOTREF(__pyx_t_1);
33231     __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
33232   }
33233   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
33234   __pyx_v_descr = __pyx_t_1;
33235   __pyx_t_1 = 0;
33236 
33237   /* "Cython/Compiler/FlowControl.py":1197
33238  *
33239  *         descr = ExceptionDescr(entry_point, finally_enter, finally_exit)
33240  *         self.flow.exceptions.append(descr)             # <<<<<<<<<<<<<<
33241  *         if self.flow.loops:
33242  *             self.flow.loops[-1].exceptions.append(descr)
33243  */
33244   if (unlikely(__pyx_v_self->flow->exceptions == Py_None)) {
33245     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
33246     __PYX_ERR(0, 1197, __pyx_L1_error)
33247   }
33248   __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_self->flow->exceptions, __pyx_v_descr); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 1197, __pyx_L1_error)
33249 
33250   /* "Cython/Compiler/FlowControl.py":1198
33251  *         descr = ExceptionDescr(entry_point, finally_enter, finally_exit)
33252  *         self.flow.exceptions.append(descr)
33253  *         if self.flow.loops:             # <<<<<<<<<<<<<<
33254  *             self.flow.loops[-1].exceptions.append(descr)
33255  *         self.flow.block = body_block
33256  */
33257   __pyx_t_3 = (__pyx_v_self->flow->loops != Py_None)&&(PyList_GET_SIZE(__pyx_v_self->flow->loops) != 0);
33258   if (__pyx_t_3) {
33259 
33260     /* "Cython/Compiler/FlowControl.py":1199
33261  *         self.flow.exceptions.append(descr)
33262  *         if self.flow.loops:
33263  *             self.flow.loops[-1].exceptions.append(descr)             # <<<<<<<<<<<<<<
33264  *         self.flow.block = body_block
33265  *         body_block.add_child(entry_point)
33266  */
33267     if (unlikely(__pyx_v_self->flow->loops == Py_None)) {
33268       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
33269       __PYX_ERR(0, 1199, __pyx_L1_error)
33270     }
33271     __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_self->flow->loops, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1199, __pyx_L1_error)
33272     __Pyx_GOTREF(__pyx_t_1);
33273     __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_exceptions); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1199, __pyx_L1_error)
33274     __Pyx_GOTREF(__pyx_t_2);
33275     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
33276     __pyx_t_8 = __Pyx_PyObject_Append(__pyx_t_2, __pyx_v_descr); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 1199, __pyx_L1_error)
33277     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
33278 
33279     /* "Cython/Compiler/FlowControl.py":1198
33280  *         descr = ExceptionDescr(entry_point, finally_enter, finally_exit)
33281  *         self.flow.exceptions.append(descr)
33282  *         if self.flow.loops:             # <<<<<<<<<<<<<<
33283  *             self.flow.loops[-1].exceptions.append(descr)
33284  *         self.flow.block = body_block
33285  */
33286   }
33287 
33288   /* "Cython/Compiler/FlowControl.py":1200
33289  *         if self.flow.loops:
33290  *             self.flow.loops[-1].exceptions.append(descr)
33291  *         self.flow.block = body_block             # <<<<<<<<<<<<<<
33292  *         body_block.add_child(entry_point)
33293  *         self.flow.nextblock()
33294  */
33295   if (!(likely(((__pyx_v_body_block) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_body_block, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(0, 1200, __pyx_L1_error)
33296   __pyx_t_2 = __pyx_v_body_block;
33297   __Pyx_INCREF(__pyx_t_2);
33298   __Pyx_GIVEREF(__pyx_t_2);
33299   __Pyx_GOTREF(__pyx_v_self->flow->block);
33300   __Pyx_DECREF(((PyObject *)__pyx_v_self->flow->block));
33301   __pyx_v_self->flow->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_2);
33302   __pyx_t_2 = 0;
33303 
33304   /* "Cython/Compiler/FlowControl.py":1201
33305  *             self.flow.loops[-1].exceptions.append(descr)
33306  *         self.flow.block = body_block
33307  *         body_block.add_child(entry_point)             # <<<<<<<<<<<<<<
33308  *         self.flow.nextblock()
33309  *         self._visit(node.body)
33310  */
33311   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_body_block, __pyx_n_s_add_child); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1201, __pyx_L1_error)
33312   __Pyx_GOTREF(__pyx_t_1);
33313   __pyx_t_7 = NULL;
33314   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
33315     __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1);
33316     if (likely(__pyx_t_7)) {
33317       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
33318       __Pyx_INCREF(__pyx_t_7);
33319       __Pyx_INCREF(function);
33320       __Pyx_DECREF_SET(__pyx_t_1, function);
33321     }
33322   }
33323   __pyx_t_2 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_7, __pyx_v_entry_point) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_entry_point);
33324   __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
33325   if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1201, __pyx_L1_error)
33326   __Pyx_GOTREF(__pyx_t_2);
33327   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
33328   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
33329 
33330   /* "Cython/Compiler/FlowControl.py":1202
33331  *         self.flow.block = body_block
33332  *         body_block.add_child(entry_point)
33333  *         self.flow.nextblock()             # <<<<<<<<<<<<<<
33334  *         self._visit(node.body)
33335  *         self.flow.exceptions.pop()
33336  */
33337   __pyx_t_2 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1202, __pyx_L1_error)
33338   __Pyx_GOTREF(__pyx_t_2);
33339   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
33340 
33341   /* "Cython/Compiler/FlowControl.py":1203
33342  *         body_block.add_child(entry_point)
33343  *         self.flow.nextblock()
33344  *         self._visit(node.body)             # <<<<<<<<<<<<<<
33345  *         self.flow.exceptions.pop()
33346  *         if self.flow.loops:
33347  */
33348   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_body); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1203, __pyx_L1_error)
33349   __Pyx_GOTREF(__pyx_t_2);
33350   __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1203, __pyx_L1_error)
33351   __Pyx_GOTREF(__pyx_t_1);
33352   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
33353   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
33354 
33355   /* "Cython/Compiler/FlowControl.py":1204
33356  *         self.flow.nextblock()
33357  *         self._visit(node.body)
33358  *         self.flow.exceptions.pop()             # <<<<<<<<<<<<<<
33359  *         if self.flow.loops:
33360  *             self.flow.loops[-1].exceptions.pop()
33361  */
33362   if (unlikely(__pyx_v_self->flow->exceptions == Py_None)) {
33363     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "pop");
33364     __PYX_ERR(0, 1204, __pyx_L1_error)
33365   }
33366   __pyx_t_1 = __Pyx_PyList_Pop(__pyx_v_self->flow->exceptions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1204, __pyx_L1_error)
33367   __Pyx_GOTREF(__pyx_t_1);
33368   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
33369 
33370   /* "Cython/Compiler/FlowControl.py":1205
33371  *         self._visit(node.body)
33372  *         self.flow.exceptions.pop()
33373  *         if self.flow.loops:             # <<<<<<<<<<<<<<
33374  *             self.flow.loops[-1].exceptions.pop()
33375  *
33376  */
33377   __pyx_t_3 = (__pyx_v_self->flow->loops != Py_None)&&(PyList_GET_SIZE(__pyx_v_self->flow->loops) != 0);
33378   if (__pyx_t_3) {
33379 
33380     /* "Cython/Compiler/FlowControl.py":1206
33381  *         self.flow.exceptions.pop()
33382  *         if self.flow.loops:
33383  *             self.flow.loops[-1].exceptions.pop()             # <<<<<<<<<<<<<<
33384  *
33385  *         if self.flow.block:
33386  */
33387     if (unlikely(__pyx_v_self->flow->loops == Py_None)) {
33388       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
33389       __PYX_ERR(0, 1206, __pyx_L1_error)
33390     }
33391     __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_self->flow->loops, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1206, __pyx_L1_error)
33392     __Pyx_GOTREF(__pyx_t_1);
33393     __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_exceptions); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1206, __pyx_L1_error)
33394     __Pyx_GOTREF(__pyx_t_2);
33395     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
33396     __pyx_t_1 = __Pyx_PyObject_Pop(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1206, __pyx_L1_error)
33397     __Pyx_GOTREF(__pyx_t_1);
33398     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
33399     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
33400 
33401     /* "Cython/Compiler/FlowControl.py":1205
33402  *         self._visit(node.body)
33403  *         self.flow.exceptions.pop()
33404  *         if self.flow.loops:             # <<<<<<<<<<<<<<
33405  *             self.flow.loops[-1].exceptions.pop()
33406  *
33407  */
33408   }
33409 
33410   /* "Cython/Compiler/FlowControl.py":1208
33411  *             self.flow.loops[-1].exceptions.pop()
33412  *
33413  *         if self.flow.block:             # <<<<<<<<<<<<<<
33414  *             self.flow.block.add_child(finally_enter)
33415  *             if finally_exit:
33416  */
33417   __pyx_t_3 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->flow->block)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1208, __pyx_L1_error)
33418   if (__pyx_t_3) {
33419 
33420     /* "Cython/Compiler/FlowControl.py":1209
33421  *
33422  *         if self.flow.block:
33423  *             self.flow.block.add_child(finally_enter)             # <<<<<<<<<<<<<<
33424  *             if finally_exit:
33425  *                 self.flow.block = self.flow.nextblock(parent=finally_exit)
33426  */
33427     __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_v_finally_enter, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1209, __pyx_L1_error)
33428     __Pyx_GOTREF(__pyx_t_1);
33429     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
33430 
33431     /* "Cython/Compiler/FlowControl.py":1210
33432  *         if self.flow.block:
33433  *             self.flow.block.add_child(finally_enter)
33434  *             if finally_exit:             # <<<<<<<<<<<<<<
33435  *                 self.flow.block = self.flow.nextblock(parent=finally_exit)
33436  *             else:
33437  */
33438     __pyx_t_3 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_finally_exit)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1210, __pyx_L1_error)
33439     if (__pyx_t_3) {
33440 
33441       /* "Cython/Compiler/FlowControl.py":1211
33442  *             self.flow.block.add_child(finally_enter)
33443  *             if finally_exit:
33444  *                 self.flow.block = self.flow.nextblock(parent=finally_exit)             # <<<<<<<<<<<<<<
33445  *             else:
33446  *                 self.flow.block = None
33447  */
33448       __pyx_t_9.__pyx_n = 1;
33449       __pyx_t_9.parent = __pyx_v_finally_exit;
33450       __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, &__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1211, __pyx_L1_error)
33451       __Pyx_GOTREF(__pyx_t_1);
33452       if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(0, 1211, __pyx_L1_error)
33453       __Pyx_GIVEREF(__pyx_t_1);
33454       __Pyx_GOTREF(__pyx_v_self->flow->block);
33455       __Pyx_DECREF(((PyObject *)__pyx_v_self->flow->block));
33456       __pyx_v_self->flow->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_1);
33457       __pyx_t_1 = 0;
33458 
33459       /* "Cython/Compiler/FlowControl.py":1210
33460  *         if self.flow.block:
33461  *             self.flow.block.add_child(finally_enter)
33462  *             if finally_exit:             # <<<<<<<<<<<<<<
33463  *                 self.flow.block = self.flow.nextblock(parent=finally_exit)
33464  *             else:
33465  */
33466       goto __pyx_L9;
33467     }
33468 
33469     /* "Cython/Compiler/FlowControl.py":1213
33470  *                 self.flow.block = self.flow.nextblock(parent=finally_exit)
33471  *             else:
33472  *                 self.flow.block = None             # <<<<<<<<<<<<<<
33473  *         return node
33474  *
33475  */
33476     /*else*/ {
33477       __Pyx_INCREF(Py_None);
33478       __Pyx_GIVEREF(Py_None);
33479       __Pyx_GOTREF(__pyx_v_self->flow->block);
33480       __Pyx_DECREF(((PyObject *)__pyx_v_self->flow->block));
33481       __pyx_v_self->flow->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)Py_None);
33482     }
33483     __pyx_L9:;
33484 
33485     /* "Cython/Compiler/FlowControl.py":1208
33486  *             self.flow.loops[-1].exceptions.pop()
33487  *
33488  *         if self.flow.block:             # <<<<<<<<<<<<<<
33489  *             self.flow.block.add_child(finally_enter)
33490  *             if finally_exit:
33491  */
33492   }
33493 
33494   /* "Cython/Compiler/FlowControl.py":1214
33495  *             else:
33496  *                 self.flow.block = None
33497  *         return node             # <<<<<<<<<<<<<<
33498  *
33499  *     def visit_RaiseStatNode(self, node):
33500  */
33501   __Pyx_XDECREF(__pyx_r);
33502   __Pyx_INCREF(__pyx_v_node);
33503   __pyx_r = __pyx_v_node;
33504   goto __pyx_L0;
33505 
33506   /* "Cython/Compiler/FlowControl.py":1179
33507  *         return node
33508  *
33509  *     def visit_TryFinallyStatNode(self, node):             # <<<<<<<<<<<<<<
33510  *         body_block = self.flow.nextblock()
33511  *
33512  */
33513 
33514   /* function exit code */
33515   __pyx_L1_error:;
33516   __Pyx_XDECREF(__pyx_t_1);
33517   __Pyx_XDECREF(__pyx_t_2);
33518   __Pyx_XDECREF(__pyx_t_5);
33519   __Pyx_XDECREF(__pyx_t_7);
33520   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_TryFinallyStatNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
33521   __pyx_r = NULL;
33522   __pyx_L0:;
33523   __Pyx_XDECREF(__pyx_v_body_block);
33524   __Pyx_XDECREF(__pyx_v_entry_point);
33525   __Pyx_XDECREF(__pyx_v_finally_enter);
33526   __Pyx_XDECREF((PyObject *)__pyx_v_finally_exit);
33527   __Pyx_XDECREF(__pyx_v_descr);
33528   __Pyx_XGIVEREF(__pyx_r);
33529   __Pyx_RefNannyFinishContext();
33530   return __pyx_r;
33531 }
33532 
33533 /* "Cython/Compiler/FlowControl.py":1216
33534  *         return node
33535  *
33536  *     def visit_RaiseStatNode(self, node):             # <<<<<<<<<<<<<<
33537  *         self.mark_position(node)
33538  *         self.visitchildren(node)
33539  */
33540 
33541 /* Python wrapper */
33542 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_69visit_RaiseStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
33543 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_69visit_RaiseStatNode = {"visit_RaiseStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_69visit_RaiseStatNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_69visit_RaiseStatNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)33544 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_69visit_RaiseStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
33545   PyObject *__pyx_r = 0;
33546   __Pyx_RefNannyDeclarations
33547   __Pyx_RefNannySetupContext("visit_RaiseStatNode (wrapper)", 0);
33548   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_68visit_RaiseStatNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
33549 
33550   /* function exit code */
33551   __Pyx_RefNannyFinishContext();
33552   return __pyx_r;
33553 }
33554 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_68visit_RaiseStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)33555 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_68visit_RaiseStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
33556   PyObject *__pyx_r = NULL;
33557   __Pyx_RefNannyDeclarations
33558   PyObject *__pyx_t_1 = NULL;
33559   int __pyx_t_2;
33560   PyObject *__pyx_t_3 = NULL;
33561   int __pyx_lineno = 0;
33562   const char *__pyx_filename = NULL;
33563   int __pyx_clineno = 0;
33564   __Pyx_RefNannySetupContext("visit_RaiseStatNode", 0);
33565 
33566   /* "Cython/Compiler/FlowControl.py":1217
33567  *
33568  *     def visit_RaiseStatNode(self, node):
33569  *         self.mark_position(node)             # <<<<<<<<<<<<<<
33570  *         self.visitchildren(node)
33571  *         if self.flow.exceptions:
33572  */
33573   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_position(__pyx_v_self, __pyx_v_node, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1217, __pyx_L1_error)
33574   __Pyx_GOTREF(__pyx_t_1);
33575   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
33576 
33577   /* "Cython/Compiler/FlowControl.py":1218
33578  *     def visit_RaiseStatNode(self, node):
33579  *         self.mark_position(node)
33580  *         self.visitchildren(node)             # <<<<<<<<<<<<<<
33581  *         if self.flow.exceptions:
33582  *             self.flow.block.add_child(self.flow.exceptions[-1].entry_point)
33583  */
33584   __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.visitchildren(((struct __pyx_obj_6Cython_8Compiler_7Visitor_VisitorTransform *)__pyx_v_self), __pyx_v_node, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1218, __pyx_L1_error)
33585   __Pyx_GOTREF(__pyx_t_1);
33586   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
33587 
33588   /* "Cython/Compiler/FlowControl.py":1219
33589  *         self.mark_position(node)
33590  *         self.visitchildren(node)
33591  *         if self.flow.exceptions:             # <<<<<<<<<<<<<<
33592  *             self.flow.block.add_child(self.flow.exceptions[-1].entry_point)
33593  *         self.flow.block = None
33594  */
33595   __pyx_t_2 = (__pyx_v_self->flow->exceptions != Py_None)&&(PyList_GET_SIZE(__pyx_v_self->flow->exceptions) != 0);
33596   if (__pyx_t_2) {
33597 
33598     /* "Cython/Compiler/FlowControl.py":1220
33599  *         self.visitchildren(node)
33600  *         if self.flow.exceptions:
33601  *             self.flow.block.add_child(self.flow.exceptions[-1].entry_point)             # <<<<<<<<<<<<<<
33602  *         self.flow.block = None
33603  *         return node
33604  */
33605     if (unlikely(__pyx_v_self->flow->exceptions == Py_None)) {
33606       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
33607       __PYX_ERR(0, 1220, __pyx_L1_error)
33608     }
33609     __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_self->flow->exceptions, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1220, __pyx_L1_error)
33610     __Pyx_GOTREF(__pyx_t_1);
33611     __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_entry_point); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1220, __pyx_L1_error)
33612     __Pyx_GOTREF(__pyx_t_3);
33613     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
33614     __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_t_3, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1220, __pyx_L1_error)
33615     __Pyx_GOTREF(__pyx_t_1);
33616     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
33617     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
33618 
33619     /* "Cython/Compiler/FlowControl.py":1219
33620  *         self.mark_position(node)
33621  *         self.visitchildren(node)
33622  *         if self.flow.exceptions:             # <<<<<<<<<<<<<<
33623  *             self.flow.block.add_child(self.flow.exceptions[-1].entry_point)
33624  *         self.flow.block = None
33625  */
33626   }
33627 
33628   /* "Cython/Compiler/FlowControl.py":1221
33629  *         if self.flow.exceptions:
33630  *             self.flow.block.add_child(self.flow.exceptions[-1].entry_point)
33631  *         self.flow.block = None             # <<<<<<<<<<<<<<
33632  *         return node
33633  *
33634  */
33635   __Pyx_INCREF(Py_None);
33636   __Pyx_GIVEREF(Py_None);
33637   __Pyx_GOTREF(__pyx_v_self->flow->block);
33638   __Pyx_DECREF(((PyObject *)__pyx_v_self->flow->block));
33639   __pyx_v_self->flow->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)Py_None);
33640 
33641   /* "Cython/Compiler/FlowControl.py":1222
33642  *             self.flow.block.add_child(self.flow.exceptions[-1].entry_point)
33643  *         self.flow.block = None
33644  *         return node             # <<<<<<<<<<<<<<
33645  *
33646  *     def visit_ReraiseStatNode(self, node):
33647  */
33648   __Pyx_XDECREF(__pyx_r);
33649   __Pyx_INCREF(__pyx_v_node);
33650   __pyx_r = __pyx_v_node;
33651   goto __pyx_L0;
33652 
33653   /* "Cython/Compiler/FlowControl.py":1216
33654  *         return node
33655  *
33656  *     def visit_RaiseStatNode(self, node):             # <<<<<<<<<<<<<<
33657  *         self.mark_position(node)
33658  *         self.visitchildren(node)
33659  */
33660 
33661   /* function exit code */
33662   __pyx_L1_error:;
33663   __Pyx_XDECREF(__pyx_t_1);
33664   __Pyx_XDECREF(__pyx_t_3);
33665   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_RaiseStatNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
33666   __pyx_r = NULL;
33667   __pyx_L0:;
33668   __Pyx_XGIVEREF(__pyx_r);
33669   __Pyx_RefNannyFinishContext();
33670   return __pyx_r;
33671 }
33672 
33673 /* "Cython/Compiler/FlowControl.py":1224
33674  *         return node
33675  *
33676  *     def visit_ReraiseStatNode(self, node):             # <<<<<<<<<<<<<<
33677  *         self.mark_position(node)
33678  *         if self.flow.exceptions:
33679  */
33680 
33681 /* Python wrapper */
33682 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_71visit_ReraiseStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
33683 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_71visit_ReraiseStatNode = {"visit_ReraiseStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_71visit_ReraiseStatNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_71visit_ReraiseStatNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)33684 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_71visit_ReraiseStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
33685   PyObject *__pyx_r = 0;
33686   __Pyx_RefNannyDeclarations
33687   __Pyx_RefNannySetupContext("visit_ReraiseStatNode (wrapper)", 0);
33688   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_70visit_ReraiseStatNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
33689 
33690   /* function exit code */
33691   __Pyx_RefNannyFinishContext();
33692   return __pyx_r;
33693 }
33694 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_70visit_ReraiseStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)33695 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_70visit_ReraiseStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
33696   PyObject *__pyx_r = NULL;
33697   __Pyx_RefNannyDeclarations
33698   PyObject *__pyx_t_1 = NULL;
33699   int __pyx_t_2;
33700   PyObject *__pyx_t_3 = NULL;
33701   int __pyx_lineno = 0;
33702   const char *__pyx_filename = NULL;
33703   int __pyx_clineno = 0;
33704   __Pyx_RefNannySetupContext("visit_ReraiseStatNode", 0);
33705 
33706   /* "Cython/Compiler/FlowControl.py":1225
33707  *
33708  *     def visit_ReraiseStatNode(self, node):
33709  *         self.mark_position(node)             # <<<<<<<<<<<<<<
33710  *         if self.flow.exceptions:
33711  *             self.flow.block.add_child(self.flow.exceptions[-1].entry_point)
33712  */
33713   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_position(__pyx_v_self, __pyx_v_node, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1225, __pyx_L1_error)
33714   __Pyx_GOTREF(__pyx_t_1);
33715   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
33716 
33717   /* "Cython/Compiler/FlowControl.py":1226
33718  *     def visit_ReraiseStatNode(self, node):
33719  *         self.mark_position(node)
33720  *         if self.flow.exceptions:             # <<<<<<<<<<<<<<
33721  *             self.flow.block.add_child(self.flow.exceptions[-1].entry_point)
33722  *         self.flow.block = None
33723  */
33724   __pyx_t_2 = (__pyx_v_self->flow->exceptions != Py_None)&&(PyList_GET_SIZE(__pyx_v_self->flow->exceptions) != 0);
33725   if (__pyx_t_2) {
33726 
33727     /* "Cython/Compiler/FlowControl.py":1227
33728  *         self.mark_position(node)
33729  *         if self.flow.exceptions:
33730  *             self.flow.block.add_child(self.flow.exceptions[-1].entry_point)             # <<<<<<<<<<<<<<
33731  *         self.flow.block = None
33732  *         return node
33733  */
33734     if (unlikely(__pyx_v_self->flow->exceptions == Py_None)) {
33735       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
33736       __PYX_ERR(0, 1227, __pyx_L1_error)
33737     }
33738     __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_self->flow->exceptions, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1227, __pyx_L1_error)
33739     __Pyx_GOTREF(__pyx_t_1);
33740     __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_entry_point); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1227, __pyx_L1_error)
33741     __Pyx_GOTREF(__pyx_t_3);
33742     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
33743     __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_t_3, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1227, __pyx_L1_error)
33744     __Pyx_GOTREF(__pyx_t_1);
33745     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
33746     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
33747 
33748     /* "Cython/Compiler/FlowControl.py":1226
33749  *     def visit_ReraiseStatNode(self, node):
33750  *         self.mark_position(node)
33751  *         if self.flow.exceptions:             # <<<<<<<<<<<<<<
33752  *             self.flow.block.add_child(self.flow.exceptions[-1].entry_point)
33753  *         self.flow.block = None
33754  */
33755   }
33756 
33757   /* "Cython/Compiler/FlowControl.py":1228
33758  *         if self.flow.exceptions:
33759  *             self.flow.block.add_child(self.flow.exceptions[-1].entry_point)
33760  *         self.flow.block = None             # <<<<<<<<<<<<<<
33761  *         return node
33762  *
33763  */
33764   __Pyx_INCREF(Py_None);
33765   __Pyx_GIVEREF(Py_None);
33766   __Pyx_GOTREF(__pyx_v_self->flow->block);
33767   __Pyx_DECREF(((PyObject *)__pyx_v_self->flow->block));
33768   __pyx_v_self->flow->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)Py_None);
33769 
33770   /* "Cython/Compiler/FlowControl.py":1229
33771  *             self.flow.block.add_child(self.flow.exceptions[-1].entry_point)
33772  *         self.flow.block = None
33773  *         return node             # <<<<<<<<<<<<<<
33774  *
33775  *     def visit_ReturnStatNode(self, node):
33776  */
33777   __Pyx_XDECREF(__pyx_r);
33778   __Pyx_INCREF(__pyx_v_node);
33779   __pyx_r = __pyx_v_node;
33780   goto __pyx_L0;
33781 
33782   /* "Cython/Compiler/FlowControl.py":1224
33783  *         return node
33784  *
33785  *     def visit_ReraiseStatNode(self, node):             # <<<<<<<<<<<<<<
33786  *         self.mark_position(node)
33787  *         if self.flow.exceptions:
33788  */
33789 
33790   /* function exit code */
33791   __pyx_L1_error:;
33792   __Pyx_XDECREF(__pyx_t_1);
33793   __Pyx_XDECREF(__pyx_t_3);
33794   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_ReraiseStatNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
33795   __pyx_r = NULL;
33796   __pyx_L0:;
33797   __Pyx_XGIVEREF(__pyx_r);
33798   __Pyx_RefNannyFinishContext();
33799   return __pyx_r;
33800 }
33801 
33802 /* "Cython/Compiler/FlowControl.py":1231
33803  *         return node
33804  *
33805  *     def visit_ReturnStatNode(self, node):             # <<<<<<<<<<<<<<
33806  *         self.mark_position(node)
33807  *         self.visitchildren(node)
33808  */
33809 
33810 /* Python wrapper */
33811 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_73visit_ReturnStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
33812 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_73visit_ReturnStatNode = {"visit_ReturnStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_73visit_ReturnStatNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_73visit_ReturnStatNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)33813 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_73visit_ReturnStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
33814   PyObject *__pyx_r = 0;
33815   __Pyx_RefNannyDeclarations
33816   __Pyx_RefNannySetupContext("visit_ReturnStatNode (wrapper)", 0);
33817   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_72visit_ReturnStatNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
33818 
33819   /* function exit code */
33820   __Pyx_RefNannyFinishContext();
33821   return __pyx_r;
33822 }
33823 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_72visit_ReturnStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)33824 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_72visit_ReturnStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
33825   PyObject *__pyx_v_outer_exception_handlers = NULL;
33826   PyObject *__pyx_v_handler = NULL;
33827   PyObject *__pyx_v_exit_point = NULL;
33828   PyObject *__pyx_v_next_handler = NULL;
33829   PyObject *__pyx_r = NULL;
33830   __Pyx_RefNannyDeclarations
33831   PyObject *__pyx_t_1 = NULL;
33832   PyObject *__pyx_t_2 = NULL;
33833   Py_ssize_t __pyx_t_3;
33834   PyObject *(*__pyx_t_4)(PyObject *);
33835   int __pyx_t_5;
33836   PyObject *__pyx_t_6 = NULL;
33837   Py_ssize_t __pyx_t_7;
33838   PyObject *(*__pyx_t_8)(PyObject *);
33839   PyObject *__pyx_t_9 = NULL;
33840   int __pyx_lineno = 0;
33841   const char *__pyx_filename = NULL;
33842   int __pyx_clineno = 0;
33843   __Pyx_RefNannySetupContext("visit_ReturnStatNode", 0);
33844 
33845   /* "Cython/Compiler/FlowControl.py":1232
33846  *
33847  *     def visit_ReturnStatNode(self, node):
33848  *         self.mark_position(node)             # <<<<<<<<<<<<<<
33849  *         self.visitchildren(node)
33850  *
33851  */
33852   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_position(__pyx_v_self, __pyx_v_node, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1232, __pyx_L1_error)
33853   __Pyx_GOTREF(__pyx_t_1);
33854   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
33855 
33856   /* "Cython/Compiler/FlowControl.py":1233
33857  *     def visit_ReturnStatNode(self, node):
33858  *         self.mark_position(node)
33859  *         self.visitchildren(node)             # <<<<<<<<<<<<<<
33860  *
33861  *         outer_exception_handlers = iter(self.flow.exceptions[::-1])
33862  */
33863   __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.visitchildren(((struct __pyx_obj_6Cython_8Compiler_7Visitor_VisitorTransform *)__pyx_v_self), __pyx_v_node, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1233, __pyx_L1_error)
33864   __Pyx_GOTREF(__pyx_t_1);
33865   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
33866 
33867   /* "Cython/Compiler/FlowControl.py":1235
33868  *         self.visitchildren(node)
33869  *
33870  *         outer_exception_handlers = iter(self.flow.exceptions[::-1])             # <<<<<<<<<<<<<<
33871  *         for handler in outer_exception_handlers:
33872  *             if handler.finally_enter:
33873  */
33874   __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_self->flow->exceptions, __pyx_slice__14); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1235, __pyx_L1_error)
33875   __Pyx_GOTREF(__pyx_t_1);
33876   __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1235, __pyx_L1_error)
33877   __Pyx_GOTREF(__pyx_t_2);
33878   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
33879   __pyx_v_outer_exception_handlers = __pyx_t_2;
33880   __pyx_t_2 = 0;
33881 
33882   /* "Cython/Compiler/FlowControl.py":1236
33883  *
33884  *         outer_exception_handlers = iter(self.flow.exceptions[::-1])
33885  *         for handler in outer_exception_handlers:             # <<<<<<<<<<<<<<
33886  *             if handler.finally_enter:
33887  *                 self.flow.block.add_child(handler.finally_enter)
33888  */
33889   if (likely(PyList_CheckExact(__pyx_v_outer_exception_handlers)) || PyTuple_CheckExact(__pyx_v_outer_exception_handlers)) {
33890     __pyx_t_2 = __pyx_v_outer_exception_handlers; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
33891     __pyx_t_4 = NULL;
33892   } else {
33893     __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_outer_exception_handlers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1236, __pyx_L1_error)
33894     __Pyx_GOTREF(__pyx_t_2);
33895     __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1236, __pyx_L1_error)
33896   }
33897   for (;;) {
33898     if (likely(!__pyx_t_4)) {
33899       if (likely(PyList_CheckExact(__pyx_t_2))) {
33900         if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
33901         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
33902         __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1236, __pyx_L1_error)
33903         #else
33904         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1236, __pyx_L1_error)
33905         __Pyx_GOTREF(__pyx_t_1);
33906         #endif
33907       } else {
33908         if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
33909         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
33910         __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1236, __pyx_L1_error)
33911         #else
33912         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1236, __pyx_L1_error)
33913         __Pyx_GOTREF(__pyx_t_1);
33914         #endif
33915       }
33916     } else {
33917       __pyx_t_1 = __pyx_t_4(__pyx_t_2);
33918       if (unlikely(!__pyx_t_1)) {
33919         PyObject* exc_type = PyErr_Occurred();
33920         if (exc_type) {
33921           if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
33922           else __PYX_ERR(0, 1236, __pyx_L1_error)
33923         }
33924         break;
33925       }
33926       __Pyx_GOTREF(__pyx_t_1);
33927     }
33928     __Pyx_XDECREF_SET(__pyx_v_handler, __pyx_t_1);
33929     __pyx_t_1 = 0;
33930 
33931     /* "Cython/Compiler/FlowControl.py":1237
33932  *         outer_exception_handlers = iter(self.flow.exceptions[::-1])
33933  *         for handler in outer_exception_handlers:
33934  *             if handler.finally_enter:             # <<<<<<<<<<<<<<
33935  *                 self.flow.block.add_child(handler.finally_enter)
33936  *                 if handler.finally_exit:
33937  */
33938     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_handler, __pyx_n_s_finally_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1237, __pyx_L1_error)
33939     __Pyx_GOTREF(__pyx_t_1);
33940     __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1237, __pyx_L1_error)
33941     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
33942     if (__pyx_t_5) {
33943 
33944       /* "Cython/Compiler/FlowControl.py":1238
33945  *         for handler in outer_exception_handlers:
33946  *             if handler.finally_enter:
33947  *                 self.flow.block.add_child(handler.finally_enter)             # <<<<<<<<<<<<<<
33948  *                 if handler.finally_exit:
33949  *                     # 'return' goes to function exit, or to the next outer 'finally' clause
33950  */
33951       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_handler, __pyx_n_s_finally_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1238, __pyx_L1_error)
33952       __Pyx_GOTREF(__pyx_t_1);
33953       __pyx_t_6 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_t_1, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1238, __pyx_L1_error)
33954       __Pyx_GOTREF(__pyx_t_6);
33955       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
33956       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
33957 
33958       /* "Cython/Compiler/FlowControl.py":1239
33959  *             if handler.finally_enter:
33960  *                 self.flow.block.add_child(handler.finally_enter)
33961  *                 if handler.finally_exit:             # <<<<<<<<<<<<<<
33962  *                     # 'return' goes to function exit, or to the next outer 'finally' clause
33963  *                     exit_point = self.flow.exit_point
33964  */
33965       __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_handler, __pyx_n_s_finally_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1239, __pyx_L1_error)
33966       __Pyx_GOTREF(__pyx_t_6);
33967       __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1239, __pyx_L1_error)
33968       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
33969       if (__pyx_t_5) {
33970 
33971         /* "Cython/Compiler/FlowControl.py":1241
33972  *                 if handler.finally_exit:
33973  *                     # 'return' goes to function exit, or to the next outer 'finally' clause
33974  *                     exit_point = self.flow.exit_point             # <<<<<<<<<<<<<<
33975  *                     for next_handler in outer_exception_handlers:
33976  *                         if next_handler.finally_enter:
33977  */
33978         __pyx_t_6 = ((PyObject *)__pyx_v_self->flow->exit_point);
33979         __Pyx_INCREF(__pyx_t_6);
33980         __pyx_v_exit_point = __pyx_t_6;
33981         __pyx_t_6 = 0;
33982 
33983         /* "Cython/Compiler/FlowControl.py":1242
33984  *                     # 'return' goes to function exit, or to the next outer 'finally' clause
33985  *                     exit_point = self.flow.exit_point
33986  *                     for next_handler in outer_exception_handlers:             # <<<<<<<<<<<<<<
33987  *                         if next_handler.finally_enter:
33988  *                             exit_point = next_handler.finally_enter
33989  */
33990         if (likely(PyList_CheckExact(__pyx_v_outer_exception_handlers)) || PyTuple_CheckExact(__pyx_v_outer_exception_handlers)) {
33991           __pyx_t_6 = __pyx_v_outer_exception_handlers; __Pyx_INCREF(__pyx_t_6); __pyx_t_7 = 0;
33992           __pyx_t_8 = NULL;
33993         } else {
33994           __pyx_t_7 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_v_outer_exception_handlers); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1242, __pyx_L1_error)
33995           __Pyx_GOTREF(__pyx_t_6);
33996           __pyx_t_8 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1242, __pyx_L1_error)
33997         }
33998         for (;;) {
33999           if (likely(!__pyx_t_8)) {
34000             if (likely(PyList_CheckExact(__pyx_t_6))) {
34001               if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_6)) break;
34002               #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
34003               __pyx_t_1 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1242, __pyx_L1_error)
34004               #else
34005               __pyx_t_1 = PySequence_ITEM(__pyx_t_6, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1242, __pyx_L1_error)
34006               __Pyx_GOTREF(__pyx_t_1);
34007               #endif
34008             } else {
34009               if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
34010               #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
34011               __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1242, __pyx_L1_error)
34012               #else
34013               __pyx_t_1 = PySequence_ITEM(__pyx_t_6, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1242, __pyx_L1_error)
34014               __Pyx_GOTREF(__pyx_t_1);
34015               #endif
34016             }
34017           } else {
34018             __pyx_t_1 = __pyx_t_8(__pyx_t_6);
34019             if (unlikely(!__pyx_t_1)) {
34020               PyObject* exc_type = PyErr_Occurred();
34021               if (exc_type) {
34022                 if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
34023                 else __PYX_ERR(0, 1242, __pyx_L1_error)
34024               }
34025               break;
34026             }
34027             __Pyx_GOTREF(__pyx_t_1);
34028           }
34029           __Pyx_XDECREF_SET(__pyx_v_next_handler, __pyx_t_1);
34030           __pyx_t_1 = 0;
34031 
34032           /* "Cython/Compiler/FlowControl.py":1243
34033  *                     exit_point = self.flow.exit_point
34034  *                     for next_handler in outer_exception_handlers:
34035  *                         if next_handler.finally_enter:             # <<<<<<<<<<<<<<
34036  *                             exit_point = next_handler.finally_enter
34037  *                             break
34038  */
34039           __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_next_handler, __pyx_n_s_finally_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1243, __pyx_L1_error)
34040           __Pyx_GOTREF(__pyx_t_1);
34041           __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1243, __pyx_L1_error)
34042           __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
34043           if (__pyx_t_5) {
34044 
34045             /* "Cython/Compiler/FlowControl.py":1244
34046  *                     for next_handler in outer_exception_handlers:
34047  *                         if next_handler.finally_enter:
34048  *                             exit_point = next_handler.finally_enter             # <<<<<<<<<<<<<<
34049  *                             break
34050  *                     handler.finally_exit.add_child(exit_point)
34051  */
34052             __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_next_handler, __pyx_n_s_finally_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1244, __pyx_L1_error)
34053             __Pyx_GOTREF(__pyx_t_1);
34054             __Pyx_DECREF_SET(__pyx_v_exit_point, __pyx_t_1);
34055             __pyx_t_1 = 0;
34056 
34057             /* "Cython/Compiler/FlowControl.py":1245
34058  *                         if next_handler.finally_enter:
34059  *                             exit_point = next_handler.finally_enter
34060  *                             break             # <<<<<<<<<<<<<<
34061  *                     handler.finally_exit.add_child(exit_point)
34062  *                 break
34063  */
34064             goto __pyx_L8_break;
34065 
34066             /* "Cython/Compiler/FlowControl.py":1243
34067  *                     exit_point = self.flow.exit_point
34068  *                     for next_handler in outer_exception_handlers:
34069  *                         if next_handler.finally_enter:             # <<<<<<<<<<<<<<
34070  *                             exit_point = next_handler.finally_enter
34071  *                             break
34072  */
34073           }
34074 
34075           /* "Cython/Compiler/FlowControl.py":1242
34076  *                     # 'return' goes to function exit, or to the next outer 'finally' clause
34077  *                     exit_point = self.flow.exit_point
34078  *                     for next_handler in outer_exception_handlers:             # <<<<<<<<<<<<<<
34079  *                         if next_handler.finally_enter:
34080  *                             exit_point = next_handler.finally_enter
34081  */
34082         }
34083         __pyx_L8_break:;
34084         __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
34085 
34086         /* "Cython/Compiler/FlowControl.py":1246
34087  *                             exit_point = next_handler.finally_enter
34088  *                             break
34089  *                     handler.finally_exit.add_child(exit_point)             # <<<<<<<<<<<<<<
34090  *                 break
34091  *         else:
34092  */
34093         __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_handler, __pyx_n_s_finally_exit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1246, __pyx_L1_error)
34094         __Pyx_GOTREF(__pyx_t_1);
34095         __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_add_child); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1246, __pyx_L1_error)
34096         __Pyx_GOTREF(__pyx_t_9);
34097         __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
34098         __pyx_t_1 = NULL;
34099         if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
34100           __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_9);
34101           if (likely(__pyx_t_1)) {
34102             PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
34103             __Pyx_INCREF(__pyx_t_1);
34104             __Pyx_INCREF(function);
34105             __Pyx_DECREF_SET(__pyx_t_9, function);
34106           }
34107         }
34108         __pyx_t_6 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_1, __pyx_v_exit_point) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_exit_point);
34109         __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
34110         if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1246, __pyx_L1_error)
34111         __Pyx_GOTREF(__pyx_t_6);
34112         __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
34113         __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
34114 
34115         /* "Cython/Compiler/FlowControl.py":1239
34116  *             if handler.finally_enter:
34117  *                 self.flow.block.add_child(handler.finally_enter)
34118  *                 if handler.finally_exit:             # <<<<<<<<<<<<<<
34119  *                     # 'return' goes to function exit, or to the next outer 'finally' clause
34120  *                     exit_point = self.flow.exit_point
34121  */
34122       }
34123 
34124       /* "Cython/Compiler/FlowControl.py":1247
34125  *                             break
34126  *                     handler.finally_exit.add_child(exit_point)
34127  *                 break             # <<<<<<<<<<<<<<
34128  *         else:
34129  *             if self.flow.block:
34130  */
34131       goto __pyx_L4_break;
34132 
34133       /* "Cython/Compiler/FlowControl.py":1237
34134  *         outer_exception_handlers = iter(self.flow.exceptions[::-1])
34135  *         for handler in outer_exception_handlers:
34136  *             if handler.finally_enter:             # <<<<<<<<<<<<<<
34137  *                 self.flow.block.add_child(handler.finally_enter)
34138  *                 if handler.finally_exit:
34139  */
34140     }
34141 
34142     /* "Cython/Compiler/FlowControl.py":1236
34143  *
34144  *         outer_exception_handlers = iter(self.flow.exceptions[::-1])
34145  *         for handler in outer_exception_handlers:             # <<<<<<<<<<<<<<
34146  *             if handler.finally_enter:
34147  *                 self.flow.block.add_child(handler.finally_enter)
34148  */
34149   }
34150   /*else*/ {
34151 
34152     /* "Cython/Compiler/FlowControl.py":1249
34153  *                 break
34154  *         else:
34155  *             if self.flow.block:             # <<<<<<<<<<<<<<
34156  *                 self.flow.block.add_child(self.flow.exit_point)
34157  *         self.flow.block = None
34158  */
34159     __pyx_t_5 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->flow->block)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1249, __pyx_L1_error)
34160     if (__pyx_t_5) {
34161 
34162       /* "Cython/Compiler/FlowControl.py":1250
34163  *         else:
34164  *             if self.flow.block:
34165  *                 self.flow.block.add_child(self.flow.exit_point)             # <<<<<<<<<<<<<<
34166  *         self.flow.block = None
34167  *         return node
34168  */
34169       __pyx_t_6 = ((PyObject *)__pyx_v_self->flow->exit_point);
34170       __Pyx_INCREF(__pyx_t_6);
34171       __pyx_t_9 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_t_6, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1250, __pyx_L1_error)
34172       __Pyx_GOTREF(__pyx_t_9);
34173       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
34174       __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
34175 
34176       /* "Cython/Compiler/FlowControl.py":1249
34177  *                 break
34178  *         else:
34179  *             if self.flow.block:             # <<<<<<<<<<<<<<
34180  *                 self.flow.block.add_child(self.flow.exit_point)
34181  *         self.flow.block = None
34182  */
34183     }
34184   }
34185 
34186   /* "Cython/Compiler/FlowControl.py":1236
34187  *
34188  *         outer_exception_handlers = iter(self.flow.exceptions[::-1])
34189  *         for handler in outer_exception_handlers:             # <<<<<<<<<<<<<<
34190  *             if handler.finally_enter:
34191  *                 self.flow.block.add_child(handler.finally_enter)
34192  */
34193   __pyx_L4_break:;
34194   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
34195 
34196   /* "Cython/Compiler/FlowControl.py":1251
34197  *             if self.flow.block:
34198  *                 self.flow.block.add_child(self.flow.exit_point)
34199  *         self.flow.block = None             # <<<<<<<<<<<<<<
34200  *         return node
34201  *
34202  */
34203   __Pyx_INCREF(Py_None);
34204   __Pyx_GIVEREF(Py_None);
34205   __Pyx_GOTREF(__pyx_v_self->flow->block);
34206   __Pyx_DECREF(((PyObject *)__pyx_v_self->flow->block));
34207   __pyx_v_self->flow->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)Py_None);
34208 
34209   /* "Cython/Compiler/FlowControl.py":1252
34210  *                 self.flow.block.add_child(self.flow.exit_point)
34211  *         self.flow.block = None
34212  *         return node             # <<<<<<<<<<<<<<
34213  *
34214  *     def visit_BreakStatNode(self, node):
34215  */
34216   __Pyx_XDECREF(__pyx_r);
34217   __Pyx_INCREF(__pyx_v_node);
34218   __pyx_r = __pyx_v_node;
34219   goto __pyx_L0;
34220 
34221   /* "Cython/Compiler/FlowControl.py":1231
34222  *         return node
34223  *
34224  *     def visit_ReturnStatNode(self, node):             # <<<<<<<<<<<<<<
34225  *         self.mark_position(node)
34226  *         self.visitchildren(node)
34227  */
34228 
34229   /* function exit code */
34230   __pyx_L1_error:;
34231   __Pyx_XDECREF(__pyx_t_1);
34232   __Pyx_XDECREF(__pyx_t_2);
34233   __Pyx_XDECREF(__pyx_t_6);
34234   __Pyx_XDECREF(__pyx_t_9);
34235   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_ReturnStatNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
34236   __pyx_r = NULL;
34237   __pyx_L0:;
34238   __Pyx_XDECREF(__pyx_v_outer_exception_handlers);
34239   __Pyx_XDECREF(__pyx_v_handler);
34240   __Pyx_XDECREF(__pyx_v_exit_point);
34241   __Pyx_XDECREF(__pyx_v_next_handler);
34242   __Pyx_XGIVEREF(__pyx_r);
34243   __Pyx_RefNannyFinishContext();
34244   return __pyx_r;
34245 }
34246 
34247 /* "Cython/Compiler/FlowControl.py":1254
34248  *         return node
34249  *
34250  *     def visit_BreakStatNode(self, node):             # <<<<<<<<<<<<<<
34251  *         if not self.flow.loops:
34252  *             #error(node.pos, "break statement not inside loop")
34253  */
34254 
34255 /* Python wrapper */
34256 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_75visit_BreakStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
34257 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_75visit_BreakStatNode = {"visit_BreakStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_75visit_BreakStatNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_75visit_BreakStatNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)34258 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_75visit_BreakStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
34259   PyObject *__pyx_r = 0;
34260   __Pyx_RefNannyDeclarations
34261   __Pyx_RefNannySetupContext("visit_BreakStatNode (wrapper)", 0);
34262   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_74visit_BreakStatNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
34263 
34264   /* function exit code */
34265   __Pyx_RefNannyFinishContext();
34266   return __pyx_r;
34267 }
34268 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_74visit_BreakStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)34269 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_74visit_BreakStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
34270   PyObject *__pyx_v_loop = NULL;
34271   PyObject *__pyx_v_exception = NULL;
34272   PyObject *__pyx_r = NULL;
34273   __Pyx_RefNannyDeclarations
34274   int __pyx_t_1;
34275   int __pyx_t_2;
34276   PyObject *__pyx_t_3 = NULL;
34277   PyObject *__pyx_t_4 = NULL;
34278   Py_ssize_t __pyx_t_5;
34279   PyObject *(*__pyx_t_6)(PyObject *);
34280   PyObject *__pyx_t_7 = NULL;
34281   PyObject *__pyx_t_8 = NULL;
34282   PyObject *__pyx_t_9 = NULL;
34283   int __pyx_lineno = 0;
34284   const char *__pyx_filename = NULL;
34285   int __pyx_clineno = 0;
34286   __Pyx_RefNannySetupContext("visit_BreakStatNode", 0);
34287 
34288   /* "Cython/Compiler/FlowControl.py":1255
34289  *
34290  *     def visit_BreakStatNode(self, node):
34291  *         if not self.flow.loops:             # <<<<<<<<<<<<<<
34292  *             #error(node.pos, "break statement not inside loop")
34293  *             return node
34294  */
34295   __pyx_t_1 = (__pyx_v_self->flow->loops != Py_None)&&(PyList_GET_SIZE(__pyx_v_self->flow->loops) != 0);
34296   __pyx_t_2 = ((!__pyx_t_1) != 0);
34297   if (__pyx_t_2) {
34298 
34299     /* "Cython/Compiler/FlowControl.py":1257
34300  *         if not self.flow.loops:
34301  *             #error(node.pos, "break statement not inside loop")
34302  *             return node             # <<<<<<<<<<<<<<
34303  *         loop = self.flow.loops[-1]
34304  *         self.mark_position(node)
34305  */
34306     __Pyx_XDECREF(__pyx_r);
34307     __Pyx_INCREF(__pyx_v_node);
34308     __pyx_r = __pyx_v_node;
34309     goto __pyx_L0;
34310 
34311     /* "Cython/Compiler/FlowControl.py":1255
34312  *
34313  *     def visit_BreakStatNode(self, node):
34314  *         if not self.flow.loops:             # <<<<<<<<<<<<<<
34315  *             #error(node.pos, "break statement not inside loop")
34316  *             return node
34317  */
34318   }
34319 
34320   /* "Cython/Compiler/FlowControl.py":1258
34321  *             #error(node.pos, "break statement not inside loop")
34322  *             return node
34323  *         loop = self.flow.loops[-1]             # <<<<<<<<<<<<<<
34324  *         self.mark_position(node)
34325  *         for exception in loop.exceptions[::-1]:
34326  */
34327   if (unlikely(__pyx_v_self->flow->loops == Py_None)) {
34328     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
34329     __PYX_ERR(0, 1258, __pyx_L1_error)
34330   }
34331   __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_self->flow->loops, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1258, __pyx_L1_error)
34332   __Pyx_GOTREF(__pyx_t_3);
34333   __pyx_v_loop = __pyx_t_3;
34334   __pyx_t_3 = 0;
34335 
34336   /* "Cython/Compiler/FlowControl.py":1259
34337  *             return node
34338  *         loop = self.flow.loops[-1]
34339  *         self.mark_position(node)             # <<<<<<<<<<<<<<
34340  *         for exception in loop.exceptions[::-1]:
34341  *             if exception.finally_enter:
34342  */
34343   __pyx_t_3 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_position(__pyx_v_self, __pyx_v_node, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1259, __pyx_L1_error)
34344   __Pyx_GOTREF(__pyx_t_3);
34345   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
34346 
34347   /* "Cython/Compiler/FlowControl.py":1260
34348  *         loop = self.flow.loops[-1]
34349  *         self.mark_position(node)
34350  *         for exception in loop.exceptions[::-1]:             # <<<<<<<<<<<<<<
34351  *             if exception.finally_enter:
34352  *                 self.flow.block.add_child(exception.finally_enter)
34353  */
34354   __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_loop, __pyx_n_s_exceptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1260, __pyx_L1_error)
34355   __Pyx_GOTREF(__pyx_t_3);
34356   __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_slice__14); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1260, __pyx_L1_error)
34357   __Pyx_GOTREF(__pyx_t_4);
34358   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
34359   if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
34360     __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
34361     __pyx_t_6 = NULL;
34362   } else {
34363     __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1260, __pyx_L1_error)
34364     __Pyx_GOTREF(__pyx_t_3);
34365     __pyx_t_6 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1260, __pyx_L1_error)
34366   }
34367   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
34368   for (;;) {
34369     if (likely(!__pyx_t_6)) {
34370       if (likely(PyList_CheckExact(__pyx_t_3))) {
34371         if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
34372         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
34373         __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1260, __pyx_L1_error)
34374         #else
34375         __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1260, __pyx_L1_error)
34376         __Pyx_GOTREF(__pyx_t_4);
34377         #endif
34378       } else {
34379         if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
34380         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
34381         __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1260, __pyx_L1_error)
34382         #else
34383         __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1260, __pyx_L1_error)
34384         __Pyx_GOTREF(__pyx_t_4);
34385         #endif
34386       }
34387     } else {
34388       __pyx_t_4 = __pyx_t_6(__pyx_t_3);
34389       if (unlikely(!__pyx_t_4)) {
34390         PyObject* exc_type = PyErr_Occurred();
34391         if (exc_type) {
34392           if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
34393           else __PYX_ERR(0, 1260, __pyx_L1_error)
34394         }
34395         break;
34396       }
34397       __Pyx_GOTREF(__pyx_t_4);
34398     }
34399     __Pyx_XDECREF_SET(__pyx_v_exception, __pyx_t_4);
34400     __pyx_t_4 = 0;
34401 
34402     /* "Cython/Compiler/FlowControl.py":1261
34403  *         self.mark_position(node)
34404  *         for exception in loop.exceptions[::-1]:
34405  *             if exception.finally_enter:             # <<<<<<<<<<<<<<
34406  *                 self.flow.block.add_child(exception.finally_enter)
34407  *                 if exception.finally_exit:
34408  */
34409     __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_finally_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1261, __pyx_L1_error)
34410     __Pyx_GOTREF(__pyx_t_4);
34411     __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1261, __pyx_L1_error)
34412     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
34413     if (__pyx_t_2) {
34414 
34415       /* "Cython/Compiler/FlowControl.py":1262
34416  *         for exception in loop.exceptions[::-1]:
34417  *             if exception.finally_enter:
34418  *                 self.flow.block.add_child(exception.finally_enter)             # <<<<<<<<<<<<<<
34419  *                 if exception.finally_exit:
34420  *                     exception.finally_exit.add_child(loop.next_block)
34421  */
34422       __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_finally_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1262, __pyx_L1_error)
34423       __Pyx_GOTREF(__pyx_t_4);
34424       __pyx_t_7 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_t_4, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1262, __pyx_L1_error)
34425       __Pyx_GOTREF(__pyx_t_7);
34426       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
34427       __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
34428 
34429       /* "Cython/Compiler/FlowControl.py":1263
34430  *             if exception.finally_enter:
34431  *                 self.flow.block.add_child(exception.finally_enter)
34432  *                 if exception.finally_exit:             # <<<<<<<<<<<<<<
34433  *                     exception.finally_exit.add_child(loop.next_block)
34434  *                 break
34435  */
34436       __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_finally_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1263, __pyx_L1_error)
34437       __Pyx_GOTREF(__pyx_t_7);
34438       __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1263, __pyx_L1_error)
34439       __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
34440       if (__pyx_t_2) {
34441 
34442         /* "Cython/Compiler/FlowControl.py":1264
34443  *                 self.flow.block.add_child(exception.finally_enter)
34444  *                 if exception.finally_exit:
34445  *                     exception.finally_exit.add_child(loop.next_block)             # <<<<<<<<<<<<<<
34446  *                 break
34447  *         else:
34448  */
34449         __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_finally_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1264, __pyx_L1_error)
34450         __Pyx_GOTREF(__pyx_t_4);
34451         __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_add_child); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1264, __pyx_L1_error)
34452         __Pyx_GOTREF(__pyx_t_8);
34453         __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
34454         __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_loop, __pyx_n_s_next_block); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1264, __pyx_L1_error)
34455         __Pyx_GOTREF(__pyx_t_4);
34456         __pyx_t_9 = NULL;
34457         if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
34458           __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
34459           if (likely(__pyx_t_9)) {
34460             PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
34461             __Pyx_INCREF(__pyx_t_9);
34462             __Pyx_INCREF(function);
34463             __Pyx_DECREF_SET(__pyx_t_8, function);
34464           }
34465         }
34466         __pyx_t_7 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_9, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_4);
34467         __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
34468         __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
34469         if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1264, __pyx_L1_error)
34470         __Pyx_GOTREF(__pyx_t_7);
34471         __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
34472         __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
34473 
34474         /* "Cython/Compiler/FlowControl.py":1263
34475  *             if exception.finally_enter:
34476  *                 self.flow.block.add_child(exception.finally_enter)
34477  *                 if exception.finally_exit:             # <<<<<<<<<<<<<<
34478  *                     exception.finally_exit.add_child(loop.next_block)
34479  *                 break
34480  */
34481       }
34482 
34483       /* "Cython/Compiler/FlowControl.py":1265
34484  *                 if exception.finally_exit:
34485  *                     exception.finally_exit.add_child(loop.next_block)
34486  *                 break             # <<<<<<<<<<<<<<
34487  *         else:
34488  *             self.flow.block.add_child(loop.next_block)
34489  */
34490       goto __pyx_L5_break;
34491 
34492       /* "Cython/Compiler/FlowControl.py":1261
34493  *         self.mark_position(node)
34494  *         for exception in loop.exceptions[::-1]:
34495  *             if exception.finally_enter:             # <<<<<<<<<<<<<<
34496  *                 self.flow.block.add_child(exception.finally_enter)
34497  *                 if exception.finally_exit:
34498  */
34499     }
34500 
34501     /* "Cython/Compiler/FlowControl.py":1260
34502  *         loop = self.flow.loops[-1]
34503  *         self.mark_position(node)
34504  *         for exception in loop.exceptions[::-1]:             # <<<<<<<<<<<<<<
34505  *             if exception.finally_enter:
34506  *                 self.flow.block.add_child(exception.finally_enter)
34507  */
34508   }
34509   /*else*/ {
34510 
34511     /* "Cython/Compiler/FlowControl.py":1267
34512  *                 break
34513  *         else:
34514  *             self.flow.block.add_child(loop.next_block)             # <<<<<<<<<<<<<<
34515  *         self.flow.block = None
34516  *         return node
34517  */
34518     __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_loop, __pyx_n_s_next_block); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1267, __pyx_L1_error)
34519     __Pyx_GOTREF(__pyx_t_7);
34520     __pyx_t_8 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_t_7, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1267, __pyx_L1_error)
34521     __Pyx_GOTREF(__pyx_t_8);
34522     __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
34523     __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
34524   }
34525 
34526   /* "Cython/Compiler/FlowControl.py":1260
34527  *         loop = self.flow.loops[-1]
34528  *         self.mark_position(node)
34529  *         for exception in loop.exceptions[::-1]:             # <<<<<<<<<<<<<<
34530  *             if exception.finally_enter:
34531  *                 self.flow.block.add_child(exception.finally_enter)
34532  */
34533   __pyx_L5_break:;
34534   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
34535 
34536   /* "Cython/Compiler/FlowControl.py":1268
34537  *         else:
34538  *             self.flow.block.add_child(loop.next_block)
34539  *         self.flow.block = None             # <<<<<<<<<<<<<<
34540  *         return node
34541  *
34542  */
34543   __Pyx_INCREF(Py_None);
34544   __Pyx_GIVEREF(Py_None);
34545   __Pyx_GOTREF(__pyx_v_self->flow->block);
34546   __Pyx_DECREF(((PyObject *)__pyx_v_self->flow->block));
34547   __pyx_v_self->flow->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)Py_None);
34548 
34549   /* "Cython/Compiler/FlowControl.py":1269
34550  *             self.flow.block.add_child(loop.next_block)
34551  *         self.flow.block = None
34552  *         return node             # <<<<<<<<<<<<<<
34553  *
34554  *     def visit_ContinueStatNode(self, node):
34555  */
34556   __Pyx_XDECREF(__pyx_r);
34557   __Pyx_INCREF(__pyx_v_node);
34558   __pyx_r = __pyx_v_node;
34559   goto __pyx_L0;
34560 
34561   /* "Cython/Compiler/FlowControl.py":1254
34562  *         return node
34563  *
34564  *     def visit_BreakStatNode(self, node):             # <<<<<<<<<<<<<<
34565  *         if not self.flow.loops:
34566  *             #error(node.pos, "break statement not inside loop")
34567  */
34568 
34569   /* function exit code */
34570   __pyx_L1_error:;
34571   __Pyx_XDECREF(__pyx_t_3);
34572   __Pyx_XDECREF(__pyx_t_4);
34573   __Pyx_XDECREF(__pyx_t_7);
34574   __Pyx_XDECREF(__pyx_t_8);
34575   __Pyx_XDECREF(__pyx_t_9);
34576   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_BreakStatNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
34577   __pyx_r = NULL;
34578   __pyx_L0:;
34579   __Pyx_XDECREF(__pyx_v_loop);
34580   __Pyx_XDECREF(__pyx_v_exception);
34581   __Pyx_XGIVEREF(__pyx_r);
34582   __Pyx_RefNannyFinishContext();
34583   return __pyx_r;
34584 }
34585 
34586 /* "Cython/Compiler/FlowControl.py":1271
34587  *         return node
34588  *
34589  *     def visit_ContinueStatNode(self, node):             # <<<<<<<<<<<<<<
34590  *         if not self.flow.loops:
34591  *             #error(node.pos, "continue statement not inside loop")
34592  */
34593 
34594 /* Python wrapper */
34595 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_77visit_ContinueStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
34596 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_77visit_ContinueStatNode = {"visit_ContinueStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_77visit_ContinueStatNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_77visit_ContinueStatNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)34597 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_77visit_ContinueStatNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
34598   PyObject *__pyx_r = 0;
34599   __Pyx_RefNannyDeclarations
34600   __Pyx_RefNannySetupContext("visit_ContinueStatNode (wrapper)", 0);
34601   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_76visit_ContinueStatNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
34602 
34603   /* function exit code */
34604   __Pyx_RefNannyFinishContext();
34605   return __pyx_r;
34606 }
34607 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_76visit_ContinueStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)34608 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_76visit_ContinueStatNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
34609   PyObject *__pyx_v_loop = NULL;
34610   PyObject *__pyx_v_exception = NULL;
34611   PyObject *__pyx_r = NULL;
34612   __Pyx_RefNannyDeclarations
34613   int __pyx_t_1;
34614   int __pyx_t_2;
34615   PyObject *__pyx_t_3 = NULL;
34616   PyObject *__pyx_t_4 = NULL;
34617   Py_ssize_t __pyx_t_5;
34618   PyObject *(*__pyx_t_6)(PyObject *);
34619   PyObject *__pyx_t_7 = NULL;
34620   PyObject *__pyx_t_8 = NULL;
34621   PyObject *__pyx_t_9 = NULL;
34622   int __pyx_lineno = 0;
34623   const char *__pyx_filename = NULL;
34624   int __pyx_clineno = 0;
34625   __Pyx_RefNannySetupContext("visit_ContinueStatNode", 0);
34626 
34627   /* "Cython/Compiler/FlowControl.py":1272
34628  *
34629  *     def visit_ContinueStatNode(self, node):
34630  *         if not self.flow.loops:             # <<<<<<<<<<<<<<
34631  *             #error(node.pos, "continue statement not inside loop")
34632  *             return node
34633  */
34634   __pyx_t_1 = (__pyx_v_self->flow->loops != Py_None)&&(PyList_GET_SIZE(__pyx_v_self->flow->loops) != 0);
34635   __pyx_t_2 = ((!__pyx_t_1) != 0);
34636   if (__pyx_t_2) {
34637 
34638     /* "Cython/Compiler/FlowControl.py":1274
34639  *         if not self.flow.loops:
34640  *             #error(node.pos, "continue statement not inside loop")
34641  *             return node             # <<<<<<<<<<<<<<
34642  *         loop = self.flow.loops[-1]
34643  *         self.mark_position(node)
34644  */
34645     __Pyx_XDECREF(__pyx_r);
34646     __Pyx_INCREF(__pyx_v_node);
34647     __pyx_r = __pyx_v_node;
34648     goto __pyx_L0;
34649 
34650     /* "Cython/Compiler/FlowControl.py":1272
34651  *
34652  *     def visit_ContinueStatNode(self, node):
34653  *         if not self.flow.loops:             # <<<<<<<<<<<<<<
34654  *             #error(node.pos, "continue statement not inside loop")
34655  *             return node
34656  */
34657   }
34658 
34659   /* "Cython/Compiler/FlowControl.py":1275
34660  *             #error(node.pos, "continue statement not inside loop")
34661  *             return node
34662  *         loop = self.flow.loops[-1]             # <<<<<<<<<<<<<<
34663  *         self.mark_position(node)
34664  *         for exception in loop.exceptions[::-1]:
34665  */
34666   if (unlikely(__pyx_v_self->flow->loops == Py_None)) {
34667     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
34668     __PYX_ERR(0, 1275, __pyx_L1_error)
34669   }
34670   __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_self->flow->loops, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1275, __pyx_L1_error)
34671   __Pyx_GOTREF(__pyx_t_3);
34672   __pyx_v_loop = __pyx_t_3;
34673   __pyx_t_3 = 0;
34674 
34675   /* "Cython/Compiler/FlowControl.py":1276
34676  *             return node
34677  *         loop = self.flow.loops[-1]
34678  *         self.mark_position(node)             # <<<<<<<<<<<<<<
34679  *         for exception in loop.exceptions[::-1]:
34680  *             if exception.finally_enter:
34681  */
34682   __pyx_t_3 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_position(__pyx_v_self, __pyx_v_node, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1276, __pyx_L1_error)
34683   __Pyx_GOTREF(__pyx_t_3);
34684   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
34685 
34686   /* "Cython/Compiler/FlowControl.py":1277
34687  *         loop = self.flow.loops[-1]
34688  *         self.mark_position(node)
34689  *         for exception in loop.exceptions[::-1]:             # <<<<<<<<<<<<<<
34690  *             if exception.finally_enter:
34691  *                 self.flow.block.add_child(exception.finally_enter)
34692  */
34693   __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_loop, __pyx_n_s_exceptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1277, __pyx_L1_error)
34694   __Pyx_GOTREF(__pyx_t_3);
34695   __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_slice__14); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1277, __pyx_L1_error)
34696   __Pyx_GOTREF(__pyx_t_4);
34697   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
34698   if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
34699     __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
34700     __pyx_t_6 = NULL;
34701   } else {
34702     __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1277, __pyx_L1_error)
34703     __Pyx_GOTREF(__pyx_t_3);
34704     __pyx_t_6 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1277, __pyx_L1_error)
34705   }
34706   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
34707   for (;;) {
34708     if (likely(!__pyx_t_6)) {
34709       if (likely(PyList_CheckExact(__pyx_t_3))) {
34710         if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
34711         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
34712         __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1277, __pyx_L1_error)
34713         #else
34714         __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1277, __pyx_L1_error)
34715         __Pyx_GOTREF(__pyx_t_4);
34716         #endif
34717       } else {
34718         if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
34719         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
34720         __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1277, __pyx_L1_error)
34721         #else
34722         __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1277, __pyx_L1_error)
34723         __Pyx_GOTREF(__pyx_t_4);
34724         #endif
34725       }
34726     } else {
34727       __pyx_t_4 = __pyx_t_6(__pyx_t_3);
34728       if (unlikely(!__pyx_t_4)) {
34729         PyObject* exc_type = PyErr_Occurred();
34730         if (exc_type) {
34731           if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
34732           else __PYX_ERR(0, 1277, __pyx_L1_error)
34733         }
34734         break;
34735       }
34736       __Pyx_GOTREF(__pyx_t_4);
34737     }
34738     __Pyx_XDECREF_SET(__pyx_v_exception, __pyx_t_4);
34739     __pyx_t_4 = 0;
34740 
34741     /* "Cython/Compiler/FlowControl.py":1278
34742  *         self.mark_position(node)
34743  *         for exception in loop.exceptions[::-1]:
34744  *             if exception.finally_enter:             # <<<<<<<<<<<<<<
34745  *                 self.flow.block.add_child(exception.finally_enter)
34746  *                 if exception.finally_exit:
34747  */
34748     __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_finally_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1278, __pyx_L1_error)
34749     __Pyx_GOTREF(__pyx_t_4);
34750     __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1278, __pyx_L1_error)
34751     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
34752     if (__pyx_t_2) {
34753 
34754       /* "Cython/Compiler/FlowControl.py":1279
34755  *         for exception in loop.exceptions[::-1]:
34756  *             if exception.finally_enter:
34757  *                 self.flow.block.add_child(exception.finally_enter)             # <<<<<<<<<<<<<<
34758  *                 if exception.finally_exit:
34759  *                     exception.finally_exit.add_child(loop.loop_block)
34760  */
34761       __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_finally_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1279, __pyx_L1_error)
34762       __Pyx_GOTREF(__pyx_t_4);
34763       __pyx_t_7 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_t_4, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1279, __pyx_L1_error)
34764       __Pyx_GOTREF(__pyx_t_7);
34765       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
34766       __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
34767 
34768       /* "Cython/Compiler/FlowControl.py":1280
34769  *             if exception.finally_enter:
34770  *                 self.flow.block.add_child(exception.finally_enter)
34771  *                 if exception.finally_exit:             # <<<<<<<<<<<<<<
34772  *                     exception.finally_exit.add_child(loop.loop_block)
34773  *                 break
34774  */
34775       __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_finally_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1280, __pyx_L1_error)
34776       __Pyx_GOTREF(__pyx_t_7);
34777       __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1280, __pyx_L1_error)
34778       __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
34779       if (__pyx_t_2) {
34780 
34781         /* "Cython/Compiler/FlowControl.py":1281
34782  *                 self.flow.block.add_child(exception.finally_enter)
34783  *                 if exception.finally_exit:
34784  *                     exception.finally_exit.add_child(loop.loop_block)             # <<<<<<<<<<<<<<
34785  *                 break
34786  *         else:
34787  */
34788         __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_finally_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1281, __pyx_L1_error)
34789         __Pyx_GOTREF(__pyx_t_4);
34790         __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_add_child); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1281, __pyx_L1_error)
34791         __Pyx_GOTREF(__pyx_t_8);
34792         __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
34793         __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_loop, __pyx_n_s_loop_block); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1281, __pyx_L1_error)
34794         __Pyx_GOTREF(__pyx_t_4);
34795         __pyx_t_9 = NULL;
34796         if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
34797           __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
34798           if (likely(__pyx_t_9)) {
34799             PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
34800             __Pyx_INCREF(__pyx_t_9);
34801             __Pyx_INCREF(function);
34802             __Pyx_DECREF_SET(__pyx_t_8, function);
34803           }
34804         }
34805         __pyx_t_7 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_9, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_4);
34806         __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
34807         __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
34808         if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1281, __pyx_L1_error)
34809         __Pyx_GOTREF(__pyx_t_7);
34810         __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
34811         __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
34812 
34813         /* "Cython/Compiler/FlowControl.py":1280
34814  *             if exception.finally_enter:
34815  *                 self.flow.block.add_child(exception.finally_enter)
34816  *                 if exception.finally_exit:             # <<<<<<<<<<<<<<
34817  *                     exception.finally_exit.add_child(loop.loop_block)
34818  *                 break
34819  */
34820       }
34821 
34822       /* "Cython/Compiler/FlowControl.py":1282
34823  *                 if exception.finally_exit:
34824  *                     exception.finally_exit.add_child(loop.loop_block)
34825  *                 break             # <<<<<<<<<<<<<<
34826  *         else:
34827  *             self.flow.block.add_child(loop.loop_block)
34828  */
34829       goto __pyx_L5_break;
34830 
34831       /* "Cython/Compiler/FlowControl.py":1278
34832  *         self.mark_position(node)
34833  *         for exception in loop.exceptions[::-1]:
34834  *             if exception.finally_enter:             # <<<<<<<<<<<<<<
34835  *                 self.flow.block.add_child(exception.finally_enter)
34836  *                 if exception.finally_exit:
34837  */
34838     }
34839 
34840     /* "Cython/Compiler/FlowControl.py":1277
34841  *         loop = self.flow.loops[-1]
34842  *         self.mark_position(node)
34843  *         for exception in loop.exceptions[::-1]:             # <<<<<<<<<<<<<<
34844  *             if exception.finally_enter:
34845  *                 self.flow.block.add_child(exception.finally_enter)
34846  */
34847   }
34848   /*else*/ {
34849 
34850     /* "Cython/Compiler/FlowControl.py":1284
34851  *                 break
34852  *         else:
34853  *             self.flow.block.add_child(loop.loop_block)             # <<<<<<<<<<<<<<
34854  *         self.flow.block = None
34855  *         return node
34856  */
34857     __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_loop, __pyx_n_s_loop_block); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1284, __pyx_L1_error)
34858     __Pyx_GOTREF(__pyx_t_7);
34859     __pyx_t_8 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v_self->flow->block->__pyx_vtab)->add_child(__pyx_v_self->flow->block, __pyx_t_7, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1284, __pyx_L1_error)
34860     __Pyx_GOTREF(__pyx_t_8);
34861     __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
34862     __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
34863   }
34864 
34865   /* "Cython/Compiler/FlowControl.py":1277
34866  *         loop = self.flow.loops[-1]
34867  *         self.mark_position(node)
34868  *         for exception in loop.exceptions[::-1]:             # <<<<<<<<<<<<<<
34869  *             if exception.finally_enter:
34870  *                 self.flow.block.add_child(exception.finally_enter)
34871  */
34872   __pyx_L5_break:;
34873   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
34874 
34875   /* "Cython/Compiler/FlowControl.py":1285
34876  *         else:
34877  *             self.flow.block.add_child(loop.loop_block)
34878  *         self.flow.block = None             # <<<<<<<<<<<<<<
34879  *         return node
34880  *
34881  */
34882   __Pyx_INCREF(Py_None);
34883   __Pyx_GIVEREF(Py_None);
34884   __Pyx_GOTREF(__pyx_v_self->flow->block);
34885   __Pyx_DECREF(((PyObject *)__pyx_v_self->flow->block));
34886   __pyx_v_self->flow->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)Py_None);
34887 
34888   /* "Cython/Compiler/FlowControl.py":1286
34889  *             self.flow.block.add_child(loop.loop_block)
34890  *         self.flow.block = None
34891  *         return node             # <<<<<<<<<<<<<<
34892  *
34893  *     def visit_ComprehensionNode(self, node):
34894  */
34895   __Pyx_XDECREF(__pyx_r);
34896   __Pyx_INCREF(__pyx_v_node);
34897   __pyx_r = __pyx_v_node;
34898   goto __pyx_L0;
34899 
34900   /* "Cython/Compiler/FlowControl.py":1271
34901  *         return node
34902  *
34903  *     def visit_ContinueStatNode(self, node):             # <<<<<<<<<<<<<<
34904  *         if not self.flow.loops:
34905  *             #error(node.pos, "continue statement not inside loop")
34906  */
34907 
34908   /* function exit code */
34909   __pyx_L1_error:;
34910   __Pyx_XDECREF(__pyx_t_3);
34911   __Pyx_XDECREF(__pyx_t_4);
34912   __Pyx_XDECREF(__pyx_t_7);
34913   __Pyx_XDECREF(__pyx_t_8);
34914   __Pyx_XDECREF(__pyx_t_9);
34915   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_ContinueStatNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
34916   __pyx_r = NULL;
34917   __pyx_L0:;
34918   __Pyx_XDECREF(__pyx_v_loop);
34919   __Pyx_XDECREF(__pyx_v_exception);
34920   __Pyx_XGIVEREF(__pyx_r);
34921   __Pyx_RefNannyFinishContext();
34922   return __pyx_r;
34923 }
34924 
34925 /* "Cython/Compiler/FlowControl.py":1288
34926  *         return node
34927  *
34928  *     def visit_ComprehensionNode(self, node):             # <<<<<<<<<<<<<<
34929  *         if node.expr_scope:
34930  *             self.env_stack.append(self.env)
34931  */
34932 
34933 /* Python wrapper */
34934 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_79visit_ComprehensionNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
34935 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_79visit_ComprehensionNode = {"visit_ComprehensionNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_79visit_ComprehensionNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_79visit_ComprehensionNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)34936 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_79visit_ComprehensionNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
34937   PyObject *__pyx_r = 0;
34938   __Pyx_RefNannyDeclarations
34939   __Pyx_RefNannySetupContext("visit_ComprehensionNode (wrapper)", 0);
34940   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_78visit_ComprehensionNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
34941 
34942   /* function exit code */
34943   __Pyx_RefNannyFinishContext();
34944   return __pyx_r;
34945 }
34946 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_78visit_ComprehensionNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)34947 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_78visit_ComprehensionNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
34948   PyObject *__pyx_r = NULL;
34949   __Pyx_RefNannyDeclarations
34950   PyObject *__pyx_t_1 = NULL;
34951   int __pyx_t_2;
34952   int __pyx_t_3;
34953   PyObject *__pyx_t_4 = NULL;
34954   int __pyx_lineno = 0;
34955   const char *__pyx_filename = NULL;
34956   int __pyx_clineno = 0;
34957   __Pyx_RefNannySetupContext("visit_ComprehensionNode", 0);
34958 
34959   /* "Cython/Compiler/FlowControl.py":1289
34960  *
34961  *     def visit_ComprehensionNode(self, node):
34962  *         if node.expr_scope:             # <<<<<<<<<<<<<<
34963  *             self.env_stack.append(self.env)
34964  *             self.env = node.expr_scope
34965  */
34966   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_expr_scope); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1289, __pyx_L1_error)
34967   __Pyx_GOTREF(__pyx_t_1);
34968   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1289, __pyx_L1_error)
34969   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
34970   if (__pyx_t_2) {
34971 
34972     /* "Cython/Compiler/FlowControl.py":1290
34973  *     def visit_ComprehensionNode(self, node):
34974  *         if node.expr_scope:
34975  *             self.env_stack.append(self.env)             # <<<<<<<<<<<<<<
34976  *             self.env = node.expr_scope
34977  *         # Skip append node here
34978  */
34979     if (unlikely(__pyx_v_self->env_stack == Py_None)) {
34980       PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
34981       __PYX_ERR(0, 1290, __pyx_L1_error)
34982     }
34983     __pyx_t_1 = __pyx_v_self->env;
34984     __Pyx_INCREF(__pyx_t_1);
34985     __pyx_t_3 = __Pyx_PyList_Append(__pyx_v_self->env_stack, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 1290, __pyx_L1_error)
34986     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
34987 
34988     /* "Cython/Compiler/FlowControl.py":1291
34989  *         if node.expr_scope:
34990  *             self.env_stack.append(self.env)
34991  *             self.env = node.expr_scope             # <<<<<<<<<<<<<<
34992  *         # Skip append node here
34993  *         self._visit(node.loop)
34994  */
34995     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_expr_scope); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1291, __pyx_L1_error)
34996     __Pyx_GOTREF(__pyx_t_1);
34997     __Pyx_GIVEREF(__pyx_t_1);
34998     __Pyx_GOTREF(__pyx_v_self->env);
34999     __Pyx_DECREF(__pyx_v_self->env);
35000     __pyx_v_self->env = __pyx_t_1;
35001     __pyx_t_1 = 0;
35002 
35003     /* "Cython/Compiler/FlowControl.py":1289
35004  *
35005  *     def visit_ComprehensionNode(self, node):
35006  *         if node.expr_scope:             # <<<<<<<<<<<<<<
35007  *             self.env_stack.append(self.env)
35008  *             self.env = node.expr_scope
35009  */
35010   }
35011 
35012   /* "Cython/Compiler/FlowControl.py":1293
35013  *             self.env = node.expr_scope
35014  *         # Skip append node here
35015  *         self._visit(node.loop)             # <<<<<<<<<<<<<<
35016  *         if node.expr_scope:
35017  *             self.env = self.env_stack.pop()
35018  */
35019   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_loop); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1293, __pyx_L1_error)
35020   __Pyx_GOTREF(__pyx_t_1);
35021   __pyx_t_4 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._visit(((struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor *)__pyx_v_self), __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1293, __pyx_L1_error)
35022   __Pyx_GOTREF(__pyx_t_4);
35023   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
35024   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
35025 
35026   /* "Cython/Compiler/FlowControl.py":1294
35027  *         # Skip append node here
35028  *         self._visit(node.loop)
35029  *         if node.expr_scope:             # <<<<<<<<<<<<<<
35030  *             self.env = self.env_stack.pop()
35031  *         return node
35032  */
35033   __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_expr_scope); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1294, __pyx_L1_error)
35034   __Pyx_GOTREF(__pyx_t_4);
35035   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1294, __pyx_L1_error)
35036   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
35037   if (__pyx_t_2) {
35038 
35039     /* "Cython/Compiler/FlowControl.py":1295
35040  *         self._visit(node.loop)
35041  *         if node.expr_scope:
35042  *             self.env = self.env_stack.pop()             # <<<<<<<<<<<<<<
35043  *         return node
35044  *
35045  */
35046     if (unlikely(__pyx_v_self->env_stack == Py_None)) {
35047       PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "pop");
35048       __PYX_ERR(0, 1295, __pyx_L1_error)
35049     }
35050     __pyx_t_4 = __Pyx_PyList_Pop(__pyx_v_self->env_stack); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1295, __pyx_L1_error)
35051     __Pyx_GOTREF(__pyx_t_4);
35052     __Pyx_GIVEREF(__pyx_t_4);
35053     __Pyx_GOTREF(__pyx_v_self->env);
35054     __Pyx_DECREF(__pyx_v_self->env);
35055     __pyx_v_self->env = __pyx_t_4;
35056     __pyx_t_4 = 0;
35057 
35058     /* "Cython/Compiler/FlowControl.py":1294
35059  *         # Skip append node here
35060  *         self._visit(node.loop)
35061  *         if node.expr_scope:             # <<<<<<<<<<<<<<
35062  *             self.env = self.env_stack.pop()
35063  *         return node
35064  */
35065   }
35066 
35067   /* "Cython/Compiler/FlowControl.py":1296
35068  *         if node.expr_scope:
35069  *             self.env = self.env_stack.pop()
35070  *         return node             # <<<<<<<<<<<<<<
35071  *
35072  *     def visit_ScopedExprNode(self, node):
35073  */
35074   __Pyx_XDECREF(__pyx_r);
35075   __Pyx_INCREF(__pyx_v_node);
35076   __pyx_r = __pyx_v_node;
35077   goto __pyx_L0;
35078 
35079   /* "Cython/Compiler/FlowControl.py":1288
35080  *         return node
35081  *
35082  *     def visit_ComprehensionNode(self, node):             # <<<<<<<<<<<<<<
35083  *         if node.expr_scope:
35084  *             self.env_stack.append(self.env)
35085  */
35086 
35087   /* function exit code */
35088   __pyx_L1_error:;
35089   __Pyx_XDECREF(__pyx_t_1);
35090   __Pyx_XDECREF(__pyx_t_4);
35091   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_ComprehensionNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
35092   __pyx_r = NULL;
35093   __pyx_L0:;
35094   __Pyx_XGIVEREF(__pyx_r);
35095   __Pyx_RefNannyFinishContext();
35096   return __pyx_r;
35097 }
35098 
35099 /* "Cython/Compiler/FlowControl.py":1298
35100  *         return node
35101  *
35102  *     def visit_ScopedExprNode(self, node):             # <<<<<<<<<<<<<<
35103  *         if node.expr_scope:
35104  *             self.env_stack.append(self.env)
35105  */
35106 
35107 /* Python wrapper */
35108 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_81visit_ScopedExprNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
35109 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_81visit_ScopedExprNode = {"visit_ScopedExprNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_81visit_ScopedExprNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_81visit_ScopedExprNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)35110 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_81visit_ScopedExprNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
35111   PyObject *__pyx_r = 0;
35112   __Pyx_RefNannyDeclarations
35113   __Pyx_RefNannySetupContext("visit_ScopedExprNode (wrapper)", 0);
35114   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_80visit_ScopedExprNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
35115 
35116   /* function exit code */
35117   __Pyx_RefNannyFinishContext();
35118   return __pyx_r;
35119 }
35120 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_80visit_ScopedExprNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)35121 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_80visit_ScopedExprNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
35122   PyObject *__pyx_r = NULL;
35123   __Pyx_RefNannyDeclarations
35124   PyObject *__pyx_t_1 = NULL;
35125   int __pyx_t_2;
35126   int __pyx_t_3;
35127   int __pyx_lineno = 0;
35128   const char *__pyx_filename = NULL;
35129   int __pyx_clineno = 0;
35130   __Pyx_RefNannySetupContext("visit_ScopedExprNode", 0);
35131 
35132   /* "Cython/Compiler/FlowControl.py":1299
35133  *
35134  *     def visit_ScopedExprNode(self, node):
35135  *         if node.expr_scope:             # <<<<<<<<<<<<<<
35136  *             self.env_stack.append(self.env)
35137  *             self.env = node.expr_scope
35138  */
35139   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_expr_scope); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1299, __pyx_L1_error)
35140   __Pyx_GOTREF(__pyx_t_1);
35141   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1299, __pyx_L1_error)
35142   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
35143   if (__pyx_t_2) {
35144 
35145     /* "Cython/Compiler/FlowControl.py":1300
35146  *     def visit_ScopedExprNode(self, node):
35147  *         if node.expr_scope:
35148  *             self.env_stack.append(self.env)             # <<<<<<<<<<<<<<
35149  *             self.env = node.expr_scope
35150  *         self.visitchildren(node)
35151  */
35152     if (unlikely(__pyx_v_self->env_stack == Py_None)) {
35153       PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
35154       __PYX_ERR(0, 1300, __pyx_L1_error)
35155     }
35156     __pyx_t_1 = __pyx_v_self->env;
35157     __Pyx_INCREF(__pyx_t_1);
35158     __pyx_t_3 = __Pyx_PyList_Append(__pyx_v_self->env_stack, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 1300, __pyx_L1_error)
35159     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
35160 
35161     /* "Cython/Compiler/FlowControl.py":1301
35162  *         if node.expr_scope:
35163  *             self.env_stack.append(self.env)
35164  *             self.env = node.expr_scope             # <<<<<<<<<<<<<<
35165  *         self.visitchildren(node)
35166  *         if node.expr_scope:
35167  */
35168     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_expr_scope); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1301, __pyx_L1_error)
35169     __Pyx_GOTREF(__pyx_t_1);
35170     __Pyx_GIVEREF(__pyx_t_1);
35171     __Pyx_GOTREF(__pyx_v_self->env);
35172     __Pyx_DECREF(__pyx_v_self->env);
35173     __pyx_v_self->env = __pyx_t_1;
35174     __pyx_t_1 = 0;
35175 
35176     /* "Cython/Compiler/FlowControl.py":1299
35177  *
35178  *     def visit_ScopedExprNode(self, node):
35179  *         if node.expr_scope:             # <<<<<<<<<<<<<<
35180  *             self.env_stack.append(self.env)
35181  *             self.env = node.expr_scope
35182  */
35183   }
35184 
35185   /* "Cython/Compiler/FlowControl.py":1302
35186  *             self.env_stack.append(self.env)
35187  *             self.env = node.expr_scope
35188  *         self.visitchildren(node)             # <<<<<<<<<<<<<<
35189  *         if node.expr_scope:
35190  *             self.env = self.env_stack.pop()
35191  */
35192   __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.visitchildren(((struct __pyx_obj_6Cython_8Compiler_7Visitor_VisitorTransform *)__pyx_v_self), __pyx_v_node, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1302, __pyx_L1_error)
35193   __Pyx_GOTREF(__pyx_t_1);
35194   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
35195 
35196   /* "Cython/Compiler/FlowControl.py":1303
35197  *             self.env = node.expr_scope
35198  *         self.visitchildren(node)
35199  *         if node.expr_scope:             # <<<<<<<<<<<<<<
35200  *             self.env = self.env_stack.pop()
35201  *         return node
35202  */
35203   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_expr_scope); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1303, __pyx_L1_error)
35204   __Pyx_GOTREF(__pyx_t_1);
35205   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1303, __pyx_L1_error)
35206   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
35207   if (__pyx_t_2) {
35208 
35209     /* "Cython/Compiler/FlowControl.py":1304
35210  *         self.visitchildren(node)
35211  *         if node.expr_scope:
35212  *             self.env = self.env_stack.pop()             # <<<<<<<<<<<<<<
35213  *         return node
35214  *
35215  */
35216     if (unlikely(__pyx_v_self->env_stack == Py_None)) {
35217       PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "pop");
35218       __PYX_ERR(0, 1304, __pyx_L1_error)
35219     }
35220     __pyx_t_1 = __Pyx_PyList_Pop(__pyx_v_self->env_stack); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1304, __pyx_L1_error)
35221     __Pyx_GOTREF(__pyx_t_1);
35222     __Pyx_GIVEREF(__pyx_t_1);
35223     __Pyx_GOTREF(__pyx_v_self->env);
35224     __Pyx_DECREF(__pyx_v_self->env);
35225     __pyx_v_self->env = __pyx_t_1;
35226     __pyx_t_1 = 0;
35227 
35228     /* "Cython/Compiler/FlowControl.py":1303
35229  *             self.env = node.expr_scope
35230  *         self.visitchildren(node)
35231  *         if node.expr_scope:             # <<<<<<<<<<<<<<
35232  *             self.env = self.env_stack.pop()
35233  *         return node
35234  */
35235   }
35236 
35237   /* "Cython/Compiler/FlowControl.py":1305
35238  *         if node.expr_scope:
35239  *             self.env = self.env_stack.pop()
35240  *         return node             # <<<<<<<<<<<<<<
35241  *
35242  *     def visit_PyClassDefNode(self, node):
35243  */
35244   __Pyx_XDECREF(__pyx_r);
35245   __Pyx_INCREF(__pyx_v_node);
35246   __pyx_r = __pyx_v_node;
35247   goto __pyx_L0;
35248 
35249   /* "Cython/Compiler/FlowControl.py":1298
35250  *         return node
35251  *
35252  *     def visit_ScopedExprNode(self, node):             # <<<<<<<<<<<<<<
35253  *         if node.expr_scope:
35254  *             self.env_stack.append(self.env)
35255  */
35256 
35257   /* function exit code */
35258   __pyx_L1_error:;
35259   __Pyx_XDECREF(__pyx_t_1);
35260   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_ScopedExprNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
35261   __pyx_r = NULL;
35262   __pyx_L0:;
35263   __Pyx_XGIVEREF(__pyx_r);
35264   __Pyx_RefNannyFinishContext();
35265   return __pyx_r;
35266 }
35267 
35268 /* "Cython/Compiler/FlowControl.py":1307
35269  *         return node
35270  *
35271  *     def visit_PyClassDefNode(self, node):             # <<<<<<<<<<<<<<
35272  *         self.visitchildren(node, ('dict', 'metaclass',
35273  *                                   'mkw', 'bases', 'class_result'))
35274  */
35275 
35276 /* Python wrapper */
35277 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_83visit_PyClassDefNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
35278 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_83visit_PyClassDefNode = {"visit_PyClassDefNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_83visit_PyClassDefNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_83visit_PyClassDefNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)35279 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_83visit_PyClassDefNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
35280   PyObject *__pyx_r = 0;
35281   __Pyx_RefNannyDeclarations
35282   __Pyx_RefNannySetupContext("visit_PyClassDefNode (wrapper)", 0);
35283   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_82visit_PyClassDefNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
35284 
35285   /* function exit code */
35286   __Pyx_RefNannyFinishContext();
35287   return __pyx_r;
35288 }
35289 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_82visit_PyClassDefNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)35290 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_82visit_PyClassDefNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
35291   PyObject *__pyx_r = NULL;
35292   __Pyx_RefNannyDeclarations
35293   PyObject *__pyx_t_1 = NULL;
35294   struct __pyx_opt_args_6Cython_8Compiler_7Visitor_16VisitorTransform_visitchildren __pyx_t_2;
35295   PyObject *__pyx_t_3 = NULL;
35296   PyObject *__pyx_t_4 = NULL;
35297   PyObject *__pyx_t_5 = NULL;
35298   PyObject *__pyx_t_6 = NULL;
35299   PyObject *__pyx_t_7 = NULL;
35300   int __pyx_t_8;
35301   int __pyx_lineno = 0;
35302   const char *__pyx_filename = NULL;
35303   int __pyx_clineno = 0;
35304   __Pyx_RefNannySetupContext("visit_PyClassDefNode", 0);
35305 
35306   /* "Cython/Compiler/FlowControl.py":1308
35307  *
35308  *     def visit_PyClassDefNode(self, node):
35309  *         self.visitchildren(node, ('dict', 'metaclass',             # <<<<<<<<<<<<<<
35310  *                                   'mkw', 'bases', 'class_result'))
35311  *         self.flow.mark_assignment(node.target, node.classobj,
35312  */
35313   __pyx_t_2.__pyx_n = 1;
35314   __pyx_t_2.attrs = __pyx_tuple__15;
35315   __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.visitchildren(((struct __pyx_obj_6Cython_8Compiler_7Visitor_VisitorTransform *)__pyx_v_self), __pyx_v_node, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1308, __pyx_L1_error)
35316   __Pyx_GOTREF(__pyx_t_1);
35317   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
35318 
35319   /* "Cython/Compiler/FlowControl.py":1310
35320  *         self.visitchildren(node, ('dict', 'metaclass',
35321  *                                   'mkw', 'bases', 'class_result'))
35322  *         self.flow.mark_assignment(node.target, node.classobj,             # <<<<<<<<<<<<<<
35323  *                                   self.env.lookup(node.name))
35324  *         self.env_stack.append(self.env)
35325  */
35326   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_target); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1310, __pyx_L1_error)
35327   __Pyx_GOTREF(__pyx_t_1);
35328   __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_classobj); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1310, __pyx_L1_error)
35329   __Pyx_GOTREF(__pyx_t_3);
35330 
35331   /* "Cython/Compiler/FlowControl.py":1311
35332  *                                   'mkw', 'bases', 'class_result'))
35333  *         self.flow.mark_assignment(node.target, node.classobj,
35334  *                                   self.env.lookup(node.name))             # <<<<<<<<<<<<<<
35335  *         self.env_stack.append(self.env)
35336  *         self.env = node.scope
35337  */
35338   __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->env, __pyx_n_s_lookup); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1311, __pyx_L1_error)
35339   __Pyx_GOTREF(__pyx_t_5);
35340   __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_name_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1311, __pyx_L1_error)
35341   __Pyx_GOTREF(__pyx_t_6);
35342   __pyx_t_7 = NULL;
35343   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
35344     __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
35345     if (likely(__pyx_t_7)) {
35346       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
35347       __Pyx_INCREF(__pyx_t_7);
35348       __Pyx_INCREF(function);
35349       __Pyx_DECREF_SET(__pyx_t_5, function);
35350     }
35351   }
35352   __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
35353   __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
35354   __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
35355   if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1311, __pyx_L1_error)
35356   __Pyx_GOTREF(__pyx_t_4);
35357   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
35358 
35359   /* "Cython/Compiler/FlowControl.py":1310
35360  *         self.visitchildren(node, ('dict', 'metaclass',
35361  *                                   'mkw', 'bases', 'class_result'))
35362  *         self.flow.mark_assignment(node.target, node.classobj,             # <<<<<<<<<<<<<<
35363  *                                   self.env.lookup(node.name))
35364  *         self.env_stack.append(self.env)
35365  */
35366   __pyx_t_5 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_assignment(__pyx_v_self->flow, __pyx_t_1, __pyx_t_3, __pyx_t_4, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1310, __pyx_L1_error)
35367   __Pyx_GOTREF(__pyx_t_5);
35368   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
35369   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
35370   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
35371   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
35372 
35373   /* "Cython/Compiler/FlowControl.py":1312
35374  *         self.flow.mark_assignment(node.target, node.classobj,
35375  *                                   self.env.lookup(node.name))
35376  *         self.env_stack.append(self.env)             # <<<<<<<<<<<<<<
35377  *         self.env = node.scope
35378  *         self.flow.nextblock()
35379  */
35380   if (unlikely(__pyx_v_self->env_stack == Py_None)) {
35381     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
35382     __PYX_ERR(0, 1312, __pyx_L1_error)
35383   }
35384   __pyx_t_5 = __pyx_v_self->env;
35385   __Pyx_INCREF(__pyx_t_5);
35386   __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_self->env_stack, __pyx_t_5); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 1312, __pyx_L1_error)
35387   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
35388 
35389   /* "Cython/Compiler/FlowControl.py":1313
35390  *                                   self.env.lookup(node.name))
35391  *         self.env_stack.append(self.env)
35392  *         self.env = node.scope             # <<<<<<<<<<<<<<
35393  *         self.flow.nextblock()
35394  *         self.visitchildren(node, ('body',))
35395  */
35396   __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_scope); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1313, __pyx_L1_error)
35397   __Pyx_GOTREF(__pyx_t_5);
35398   __Pyx_GIVEREF(__pyx_t_5);
35399   __Pyx_GOTREF(__pyx_v_self->env);
35400   __Pyx_DECREF(__pyx_v_self->env);
35401   __pyx_v_self->env = __pyx_t_5;
35402   __pyx_t_5 = 0;
35403 
35404   /* "Cython/Compiler/FlowControl.py":1314
35405  *         self.env_stack.append(self.env)
35406  *         self.env = node.scope
35407  *         self.flow.nextblock()             # <<<<<<<<<<<<<<
35408  *         self.visitchildren(node, ('body',))
35409  *         self.flow.nextblock()
35410  */
35411   __pyx_t_5 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1314, __pyx_L1_error)
35412   __Pyx_GOTREF(__pyx_t_5);
35413   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
35414 
35415   /* "Cython/Compiler/FlowControl.py":1315
35416  *         self.env = node.scope
35417  *         self.flow.nextblock()
35418  *         self.visitchildren(node, ('body',))             # <<<<<<<<<<<<<<
35419  *         self.flow.nextblock()
35420  *         self.env = self.env_stack.pop()
35421  */
35422   __pyx_t_2.__pyx_n = 1;
35423   __pyx_t_2.attrs = __pyx_tuple__16;
35424   __pyx_t_5 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.visitchildren(((struct __pyx_obj_6Cython_8Compiler_7Visitor_VisitorTransform *)__pyx_v_self), __pyx_v_node, 0, &__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1315, __pyx_L1_error)
35425   __Pyx_GOTREF(__pyx_t_5);
35426   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
35427 
35428   /* "Cython/Compiler/FlowControl.py":1316
35429  *         self.flow.nextblock()
35430  *         self.visitchildren(node, ('body',))
35431  *         self.flow.nextblock()             # <<<<<<<<<<<<<<
35432  *         self.env = self.env_stack.pop()
35433  *         return node
35434  */
35435   __pyx_t_5 = __pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock(__pyx_v_self->flow, 0, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1316, __pyx_L1_error)
35436   __Pyx_GOTREF(__pyx_t_5);
35437   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
35438 
35439   /* "Cython/Compiler/FlowControl.py":1317
35440  *         self.visitchildren(node, ('body',))
35441  *         self.flow.nextblock()
35442  *         self.env = self.env_stack.pop()             # <<<<<<<<<<<<<<
35443  *         return node
35444  *
35445  */
35446   if (unlikely(__pyx_v_self->env_stack == Py_None)) {
35447     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "pop");
35448     __PYX_ERR(0, 1317, __pyx_L1_error)
35449   }
35450   __pyx_t_5 = __Pyx_PyList_Pop(__pyx_v_self->env_stack); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1317, __pyx_L1_error)
35451   __Pyx_GOTREF(__pyx_t_5);
35452   __Pyx_GIVEREF(__pyx_t_5);
35453   __Pyx_GOTREF(__pyx_v_self->env);
35454   __Pyx_DECREF(__pyx_v_self->env);
35455   __pyx_v_self->env = __pyx_t_5;
35456   __pyx_t_5 = 0;
35457 
35458   /* "Cython/Compiler/FlowControl.py":1318
35459  *         self.flow.nextblock()
35460  *         self.env = self.env_stack.pop()
35461  *         return node             # <<<<<<<<<<<<<<
35462  *
35463  *     def visit_AmpersandNode(self, node):
35464  */
35465   __Pyx_XDECREF(__pyx_r);
35466   __Pyx_INCREF(__pyx_v_node);
35467   __pyx_r = __pyx_v_node;
35468   goto __pyx_L0;
35469 
35470   /* "Cython/Compiler/FlowControl.py":1307
35471  *         return node
35472  *
35473  *     def visit_PyClassDefNode(self, node):             # <<<<<<<<<<<<<<
35474  *         self.visitchildren(node, ('dict', 'metaclass',
35475  *                                   'mkw', 'bases', 'class_result'))
35476  */
35477 
35478   /* function exit code */
35479   __pyx_L1_error:;
35480   __Pyx_XDECREF(__pyx_t_1);
35481   __Pyx_XDECREF(__pyx_t_3);
35482   __Pyx_XDECREF(__pyx_t_4);
35483   __Pyx_XDECREF(__pyx_t_5);
35484   __Pyx_XDECREF(__pyx_t_6);
35485   __Pyx_XDECREF(__pyx_t_7);
35486   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_PyClassDefNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
35487   __pyx_r = NULL;
35488   __pyx_L0:;
35489   __Pyx_XGIVEREF(__pyx_r);
35490   __Pyx_RefNannyFinishContext();
35491   return __pyx_r;
35492 }
35493 
35494 /* "Cython/Compiler/FlowControl.py":1320
35495  *         return node
35496  *
35497  *     def visit_AmpersandNode(self, node):             # <<<<<<<<<<<<<<
35498  *         if node.operand.is_name:
35499  *             # Fake assignment to silence warning
35500  */
35501 
35502 /* Python wrapper */
35503 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_85visit_AmpersandNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node); /*proto*/
35504 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_85visit_AmpersandNode = {"visit_AmpersandNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_85visit_AmpersandNode, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_85visit_AmpersandNode(PyObject * __pyx_v_self,PyObject * __pyx_v_node)35505 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_85visit_AmpersandNode(PyObject *__pyx_v_self, PyObject *__pyx_v_node) {
35506   PyObject *__pyx_r = 0;
35507   __Pyx_RefNannyDeclarations
35508   __Pyx_RefNannySetupContext("visit_AmpersandNode (wrapper)", 0);
35509   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_84visit_AmpersandNode(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v_node));
35510 
35511   /* function exit code */
35512   __Pyx_RefNannyFinishContext();
35513   return __pyx_r;
35514 }
35515 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_84visit_AmpersandNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v_node)35516 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_84visit_AmpersandNode(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v_node) {
35517   PyObject *__pyx_r = NULL;
35518   __Pyx_RefNannyDeclarations
35519   PyObject *__pyx_t_1 = NULL;
35520   PyObject *__pyx_t_2 = NULL;
35521   int __pyx_t_3;
35522   PyObject *__pyx_t_4 = NULL;
35523   struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment __pyx_t_5;
35524   int __pyx_lineno = 0;
35525   const char *__pyx_filename = NULL;
35526   int __pyx_clineno = 0;
35527   __Pyx_RefNannySetupContext("visit_AmpersandNode", 0);
35528 
35529   /* "Cython/Compiler/FlowControl.py":1321
35530  *
35531  *     def visit_AmpersandNode(self, node):
35532  *         if node.operand.is_name:             # <<<<<<<<<<<<<<
35533  *             # Fake assignment to silence warning
35534  *             self.mark_assignment(node.operand, fake_rhs_expr)
35535  */
35536   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_operand); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1321, __pyx_L1_error)
35537   __Pyx_GOTREF(__pyx_t_1);
35538   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_is_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1321, __pyx_L1_error)
35539   __Pyx_GOTREF(__pyx_t_2);
35540   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
35541   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1321, __pyx_L1_error)
35542   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
35543   if (__pyx_t_3) {
35544 
35545     /* "Cython/Compiler/FlowControl.py":1323
35546  *         if node.operand.is_name:
35547  *             # Fake assignment to silence warning
35548  *             self.mark_assignment(node.operand, fake_rhs_expr)             # <<<<<<<<<<<<<<
35549  *         self.visitchildren(node)
35550  *         return node
35551  */
35552     __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_operand); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1323, __pyx_L1_error)
35553     __Pyx_GOTREF(__pyx_t_2);
35554     __pyx_t_1 = __pyx_v_6Cython_8Compiler_11FlowControl_fake_rhs_expr;
35555     __Pyx_INCREF(__pyx_t_1);
35556     __pyx_t_5.__pyx_n = 1;
35557     __pyx_t_5.rhs = __pyx_t_1;
35558     __pyx_t_4 = __pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment(__pyx_v_self, __pyx_t_2, 0, &__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1323, __pyx_L1_error)
35559     __Pyx_GOTREF(__pyx_t_4);
35560     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
35561     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
35562     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
35563 
35564     /* "Cython/Compiler/FlowControl.py":1321
35565  *
35566  *     def visit_AmpersandNode(self, node):
35567  *         if node.operand.is_name:             # <<<<<<<<<<<<<<
35568  *             # Fake assignment to silence warning
35569  *             self.mark_assignment(node.operand, fake_rhs_expr)
35570  */
35571   }
35572 
35573   /* "Cython/Compiler/FlowControl.py":1324
35574  *             # Fake assignment to silence warning
35575  *             self.mark_assignment(node.operand, fake_rhs_expr)
35576  *         self.visitchildren(node)             # <<<<<<<<<<<<<<
35577  *         return node
35578  */
35579   __pyx_t_4 = ((struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.visitchildren(((struct __pyx_obj_6Cython_8Compiler_7Visitor_VisitorTransform *)__pyx_v_self), __pyx_v_node, 0, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1324, __pyx_L1_error)
35580   __Pyx_GOTREF(__pyx_t_4);
35581   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
35582 
35583   /* "Cython/Compiler/FlowControl.py":1325
35584  *             self.mark_assignment(node.operand, fake_rhs_expr)
35585  *         self.visitchildren(node)
35586  *         return node             # <<<<<<<<<<<<<<
35587  */
35588   __Pyx_XDECREF(__pyx_r);
35589   __Pyx_INCREF(__pyx_v_node);
35590   __pyx_r = __pyx_v_node;
35591   goto __pyx_L0;
35592 
35593   /* "Cython/Compiler/FlowControl.py":1320
35594  *         return node
35595  *
35596  *     def visit_AmpersandNode(self, node):             # <<<<<<<<<<<<<<
35597  *         if node.operand.is_name:
35598  *             # Fake assignment to silence warning
35599  */
35600 
35601   /* function exit code */
35602   __pyx_L1_error:;
35603   __Pyx_XDECREF(__pyx_t_1);
35604   __Pyx_XDECREF(__pyx_t_2);
35605   __Pyx_XDECREF(__pyx_t_4);
35606   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.visit_AmpersandNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
35607   __pyx_r = NULL;
35608   __pyx_L0:;
35609   __Pyx_XGIVEREF(__pyx_r);
35610   __Pyx_RefNannyFinishContext();
35611   return __pyx_r;
35612 }
35613 
35614 /* "(tree fragment)":1
35615  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
35616  *     cdef tuple state
35617  *     cdef object _dict
35618  */
35619 
35620 /* Python wrapper */
35621 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_87__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
35622 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_87__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_87__reduce_cython__, METH_NOARGS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_87__reduce_cython__(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)35623 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_87__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
35624   PyObject *__pyx_r = 0;
35625   __Pyx_RefNannyDeclarations
35626   __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
35627   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_86__reduce_cython__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self));
35628 
35629   /* function exit code */
35630   __Pyx_RefNannyFinishContext();
35631   return __pyx_r;
35632 }
35633 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_86__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self)35634 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_86__reduce_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self) {
35635   PyObject *__pyx_v_state = 0;
35636   PyObject *__pyx_v__dict = 0;
35637   int __pyx_v_use_setstate;
35638   PyObject *__pyx_r = NULL;
35639   __Pyx_RefNannyDeclarations
35640   PyObject *__pyx_t_1 = NULL;
35641   PyObject *__pyx_t_2 = NULL;
35642   int __pyx_t_3;
35643   int __pyx_t_4;
35644   int __pyx_t_5;
35645   PyObject *__pyx_t_6 = NULL;
35646   int __pyx_lineno = 0;
35647   const char *__pyx_filename = NULL;
35648   int __pyx_clineno = 0;
35649   __Pyx_RefNannySetupContext("__reduce_cython__", 0);
35650 
35651   /* "(tree fragment)":5
35652  *     cdef object _dict
35653  *     cdef bint use_setstate
35654  *     state = (self.access_path, self.constant_folder, self.context, self.current_directives, self.dispatch_table, self.env, self.env_stack, self.flow, self.gv_ctx, self.in_inplace_assignment, self.reductions, self.stack)             # <<<<<<<<<<<<<<
35655  *     _dict = getattr(self, '__dict__', None)
35656  *     if _dict is not None:
35657  */
35658   __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->in_inplace_assignment); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error)
35659   __Pyx_GOTREF(__pyx_t_1);
35660   __pyx_t_2 = PyTuple_New(12); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
35661   __Pyx_GOTREF(__pyx_t_2);
35662   __Pyx_INCREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.access_path);
35663   __Pyx_GIVEREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.access_path);
35664   PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.access_path);
35665   __Pyx_INCREF(__pyx_v_self->constant_folder);
35666   __Pyx_GIVEREF(__pyx_v_self->constant_folder);
35667   PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_self->constant_folder);
35668   __Pyx_INCREF(__pyx_v_self->__pyx_base.context);
35669   __Pyx_GIVEREF(__pyx_v_self->__pyx_base.context);
35670   PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_self->__pyx_base.context);
35671   __Pyx_INCREF(__pyx_v_self->__pyx_base.current_directives);
35672   __Pyx_GIVEREF(__pyx_v_self->__pyx_base.current_directives);
35673   PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_v_self->__pyx_base.current_directives);
35674   __Pyx_INCREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.dispatch_table);
35675   __Pyx_GIVEREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.dispatch_table);
35676   PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.dispatch_table);
35677   __Pyx_INCREF(__pyx_v_self->env);
35678   __Pyx_GIVEREF(__pyx_v_self->env);
35679   PyTuple_SET_ITEM(__pyx_t_2, 5, __pyx_v_self->env);
35680   __Pyx_INCREF(__pyx_v_self->env_stack);
35681   __Pyx_GIVEREF(__pyx_v_self->env_stack);
35682   PyTuple_SET_ITEM(__pyx_t_2, 6, __pyx_v_self->env_stack);
35683   __Pyx_INCREF(((PyObject *)__pyx_v_self->flow));
35684   __Pyx_GIVEREF(((PyObject *)__pyx_v_self->flow));
35685   PyTuple_SET_ITEM(__pyx_t_2, 7, ((PyObject *)__pyx_v_self->flow));
35686   __Pyx_INCREF(__pyx_v_self->gv_ctx);
35687   __Pyx_GIVEREF(__pyx_v_self->gv_ctx);
35688   PyTuple_SET_ITEM(__pyx_t_2, 8, __pyx_v_self->gv_ctx);
35689   __Pyx_GIVEREF(__pyx_t_1);
35690   PyTuple_SET_ITEM(__pyx_t_2, 9, __pyx_t_1);
35691   __Pyx_INCREF(__pyx_v_self->reductions);
35692   __Pyx_GIVEREF(__pyx_v_self->reductions);
35693   PyTuple_SET_ITEM(__pyx_t_2, 10, __pyx_v_self->reductions);
35694   __Pyx_INCREF(__pyx_v_self->stack);
35695   __Pyx_GIVEREF(__pyx_v_self->stack);
35696   PyTuple_SET_ITEM(__pyx_t_2, 11, __pyx_v_self->stack);
35697   __pyx_t_1 = 0;
35698   __pyx_v_state = ((PyObject*)__pyx_t_2);
35699   __pyx_t_2 = 0;
35700 
35701   /* "(tree fragment)":6
35702  *     cdef bint use_setstate
35703  *     state = (self.access_path, self.constant_folder, self.context, self.current_directives, self.dispatch_table, self.env, self.env_stack, self.flow, self.gv_ctx, self.in_inplace_assignment, self.reductions, self.stack)
35704  *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
35705  *     if _dict is not None:
35706  *         state += (_dict,)
35707  */
35708   __pyx_t_2 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6, __pyx_L1_error)
35709   __Pyx_GOTREF(__pyx_t_2);
35710   __pyx_v__dict = __pyx_t_2;
35711   __pyx_t_2 = 0;
35712 
35713   /* "(tree fragment)":7
35714  *     state = (self.access_path, self.constant_folder, self.context, self.current_directives, self.dispatch_table, self.env, self.env_stack, self.flow, self.gv_ctx, self.in_inplace_assignment, self.reductions, self.stack)
35715  *     _dict = getattr(self, '__dict__', None)
35716  *     if _dict is not None:             # <<<<<<<<<<<<<<
35717  *         state += (_dict,)
35718  *         use_setstate = True
35719  */
35720   __pyx_t_3 = (__pyx_v__dict != Py_None);
35721   __pyx_t_4 = (__pyx_t_3 != 0);
35722   if (__pyx_t_4) {
35723 
35724     /* "(tree fragment)":8
35725  *     _dict = getattr(self, '__dict__', None)
35726  *     if _dict is not None:
35727  *         state += (_dict,)             # <<<<<<<<<<<<<<
35728  *         use_setstate = True
35729  *     else:
35730  */
35731     __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8, __pyx_L1_error)
35732     __Pyx_GOTREF(__pyx_t_2);
35733     __Pyx_INCREF(__pyx_v__dict);
35734     __Pyx_GIVEREF(__pyx_v__dict);
35735     PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v__dict);
35736     __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8, __pyx_L1_error)
35737     __Pyx_GOTREF(__pyx_t_1);
35738     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
35739     __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_1));
35740     __pyx_t_1 = 0;
35741 
35742     /* "(tree fragment)":9
35743  *     if _dict is not None:
35744  *         state += (_dict,)
35745  *         use_setstate = True             # <<<<<<<<<<<<<<
35746  *     else:
35747  *         use_setstate = self.access_path is not None or self.constant_folder is not None or self.context is not None or self.current_directives is not None or self.dispatch_table is not None or self.env is not None or self.env_stack is not None or self.flow is not None or self.gv_ctx is not None or self.reductions is not None or self.stack is not None
35748  */
35749     __pyx_v_use_setstate = 1;
35750 
35751     /* "(tree fragment)":7
35752  *     state = (self.access_path, self.constant_folder, self.context, self.current_directives, self.dispatch_table, self.env, self.env_stack, self.flow, self.gv_ctx, self.in_inplace_assignment, self.reductions, self.stack)
35753  *     _dict = getattr(self, '__dict__', None)
35754  *     if _dict is not None:             # <<<<<<<<<<<<<<
35755  *         state += (_dict,)
35756  *         use_setstate = True
35757  */
35758     goto __pyx_L3;
35759   }
35760 
35761   /* "(tree fragment)":11
35762  *         use_setstate = True
35763  *     else:
35764  *         use_setstate = self.access_path is not None or self.constant_folder is not None or self.context is not None or self.current_directives is not None or self.dispatch_table is not None or self.env is not None or self.env_stack is not None or self.flow is not None or self.gv_ctx is not None or self.reductions is not None or self.stack is not None             # <<<<<<<<<<<<<<
35765  *     if use_setstate:
35766  *         return __pyx_unpickle_ControlFlowAnalysis, (type(self), 0x9348192, None), state
35767  */
35768   /*else*/ {
35769     __pyx_t_3 = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.access_path != ((PyObject*)Py_None));
35770     __pyx_t_5 = (__pyx_t_3 != 0);
35771     if (!__pyx_t_5) {
35772     } else {
35773       __pyx_t_4 = __pyx_t_5;
35774       goto __pyx_L4_bool_binop_done;
35775     }
35776     __pyx_t_5 = (__pyx_v_self->constant_folder != Py_None);
35777     __pyx_t_3 = (__pyx_t_5 != 0);
35778     if (!__pyx_t_3) {
35779     } else {
35780       __pyx_t_4 = __pyx_t_3;
35781       goto __pyx_L4_bool_binop_done;
35782     }
35783     __pyx_t_3 = (__pyx_v_self->__pyx_base.context != Py_None);
35784     __pyx_t_5 = (__pyx_t_3 != 0);
35785     if (!__pyx_t_5) {
35786     } else {
35787       __pyx_t_4 = __pyx_t_5;
35788       goto __pyx_L4_bool_binop_done;
35789     }
35790     __pyx_t_5 = (__pyx_v_self->__pyx_base.current_directives != Py_None);
35791     __pyx_t_3 = (__pyx_t_5 != 0);
35792     if (!__pyx_t_3) {
35793     } else {
35794       __pyx_t_4 = __pyx_t_3;
35795       goto __pyx_L4_bool_binop_done;
35796     }
35797     __pyx_t_3 = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.dispatch_table != ((PyObject*)Py_None));
35798     __pyx_t_5 = (__pyx_t_3 != 0);
35799     if (!__pyx_t_5) {
35800     } else {
35801       __pyx_t_4 = __pyx_t_5;
35802       goto __pyx_L4_bool_binop_done;
35803     }
35804     __pyx_t_5 = (__pyx_v_self->env != Py_None);
35805     __pyx_t_3 = (__pyx_t_5 != 0);
35806     if (!__pyx_t_3) {
35807     } else {
35808       __pyx_t_4 = __pyx_t_3;
35809       goto __pyx_L4_bool_binop_done;
35810     }
35811     __pyx_t_3 = (__pyx_v_self->env_stack != ((PyObject*)Py_None));
35812     __pyx_t_5 = (__pyx_t_3 != 0);
35813     if (!__pyx_t_5) {
35814     } else {
35815       __pyx_t_4 = __pyx_t_5;
35816       goto __pyx_L4_bool_binop_done;
35817     }
35818     __pyx_t_5 = (((PyObject *)__pyx_v_self->flow) != Py_None);
35819     __pyx_t_3 = (__pyx_t_5 != 0);
35820     if (!__pyx_t_3) {
35821     } else {
35822       __pyx_t_4 = __pyx_t_3;
35823       goto __pyx_L4_bool_binop_done;
35824     }
35825     __pyx_t_3 = (__pyx_v_self->gv_ctx != Py_None);
35826     __pyx_t_5 = (__pyx_t_3 != 0);
35827     if (!__pyx_t_5) {
35828     } else {
35829       __pyx_t_4 = __pyx_t_5;
35830       goto __pyx_L4_bool_binop_done;
35831     }
35832     __pyx_t_5 = (__pyx_v_self->reductions != ((PyObject*)Py_None));
35833     __pyx_t_3 = (__pyx_t_5 != 0);
35834     if (!__pyx_t_3) {
35835     } else {
35836       __pyx_t_4 = __pyx_t_3;
35837       goto __pyx_L4_bool_binop_done;
35838     }
35839     __pyx_t_3 = (__pyx_v_self->stack != ((PyObject*)Py_None));
35840     __pyx_t_5 = (__pyx_t_3 != 0);
35841     __pyx_t_4 = __pyx_t_5;
35842     __pyx_L4_bool_binop_done:;
35843     __pyx_v_use_setstate = __pyx_t_4;
35844   }
35845   __pyx_L3:;
35846 
35847   /* "(tree fragment)":12
35848  *     else:
35849  *         use_setstate = self.access_path is not None or self.constant_folder is not None or self.context is not None or self.current_directives is not None or self.dispatch_table is not None or self.env is not None or self.env_stack is not None or self.flow is not None or self.gv_ctx is not None or self.reductions is not None or self.stack is not None
35850  *     if use_setstate:             # <<<<<<<<<<<<<<
35851  *         return __pyx_unpickle_ControlFlowAnalysis, (type(self), 0x9348192, None), state
35852  *     else:
35853  */
35854   __pyx_t_4 = (__pyx_v_use_setstate != 0);
35855   if (__pyx_t_4) {
35856 
35857     /* "(tree fragment)":13
35858  *         use_setstate = self.access_path is not None or self.constant_folder is not None or self.context is not None or self.current_directives is not None or self.dispatch_table is not None or self.env is not None or self.env_stack is not None or self.flow is not None or self.gv_ctx is not None or self.reductions is not None or self.stack is not None
35859  *     if use_setstate:
35860  *         return __pyx_unpickle_ControlFlowAnalysis, (type(self), 0x9348192, None), state             # <<<<<<<<<<<<<<
35861  *     else:
35862  *         return __pyx_unpickle_ControlFlowAnalysis, (type(self), 0x9348192, state)
35863  */
35864     __Pyx_XDECREF(__pyx_r);
35865     __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pyx_unpickle_ControlFlowAnalys); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error)
35866     __Pyx_GOTREF(__pyx_t_1);
35867     __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 13, __pyx_L1_error)
35868     __Pyx_GOTREF(__pyx_t_2);
35869     __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
35870     __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
35871     PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
35872     __Pyx_INCREF(__pyx_int_154435986);
35873     __Pyx_GIVEREF(__pyx_int_154435986);
35874     PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_154435986);
35875     __Pyx_INCREF(Py_None);
35876     __Pyx_GIVEREF(Py_None);
35877     PyTuple_SET_ITEM(__pyx_t_2, 2, Py_None);
35878     __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 13, __pyx_L1_error)
35879     __Pyx_GOTREF(__pyx_t_6);
35880     __Pyx_GIVEREF(__pyx_t_1);
35881     PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1);
35882     __Pyx_GIVEREF(__pyx_t_2);
35883     PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2);
35884     __Pyx_INCREF(__pyx_v_state);
35885     __Pyx_GIVEREF(__pyx_v_state);
35886     PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_state);
35887     __pyx_t_1 = 0;
35888     __pyx_t_2 = 0;
35889     __pyx_r = __pyx_t_6;
35890     __pyx_t_6 = 0;
35891     goto __pyx_L0;
35892 
35893     /* "(tree fragment)":12
35894  *     else:
35895  *         use_setstate = self.access_path is not None or self.constant_folder is not None or self.context is not None or self.current_directives is not None or self.dispatch_table is not None or self.env is not None or self.env_stack is not None or self.flow is not None or self.gv_ctx is not None or self.reductions is not None or self.stack is not None
35896  *     if use_setstate:             # <<<<<<<<<<<<<<
35897  *         return __pyx_unpickle_ControlFlowAnalysis, (type(self), 0x9348192, None), state
35898  *     else:
35899  */
35900   }
35901 
35902   /* "(tree fragment)":15
35903  *         return __pyx_unpickle_ControlFlowAnalysis, (type(self), 0x9348192, None), state
35904  *     else:
35905  *         return __pyx_unpickle_ControlFlowAnalysis, (type(self), 0x9348192, state)             # <<<<<<<<<<<<<<
35906  * def __setstate_cython__(self, __pyx_state):
35907  *     __pyx_unpickle_ControlFlowAnalysis__set_state(self, __pyx_state)
35908  */
35909   /*else*/ {
35910     __Pyx_XDECREF(__pyx_r);
35911     __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pyx_unpickle_ControlFlowAnalys); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 15, __pyx_L1_error)
35912     __Pyx_GOTREF(__pyx_t_6);
35913     __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 15, __pyx_L1_error)
35914     __Pyx_GOTREF(__pyx_t_2);
35915     __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
35916     __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
35917     PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
35918     __Pyx_INCREF(__pyx_int_154435986);
35919     __Pyx_GIVEREF(__pyx_int_154435986);
35920     PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_154435986);
35921     __Pyx_INCREF(__pyx_v_state);
35922     __Pyx_GIVEREF(__pyx_v_state);
35923     PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state);
35924     __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error)
35925     __Pyx_GOTREF(__pyx_t_1);
35926     __Pyx_GIVEREF(__pyx_t_6);
35927     PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_6);
35928     __Pyx_GIVEREF(__pyx_t_2);
35929     PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2);
35930     __pyx_t_6 = 0;
35931     __pyx_t_2 = 0;
35932     __pyx_r = __pyx_t_1;
35933     __pyx_t_1 = 0;
35934     goto __pyx_L0;
35935   }
35936 
35937   /* "(tree fragment)":1
35938  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
35939  *     cdef tuple state
35940  *     cdef object _dict
35941  */
35942 
35943   /* function exit code */
35944   __pyx_L1_error:;
35945   __Pyx_XDECREF(__pyx_t_1);
35946   __Pyx_XDECREF(__pyx_t_2);
35947   __Pyx_XDECREF(__pyx_t_6);
35948   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
35949   __pyx_r = NULL;
35950   __pyx_L0:;
35951   __Pyx_XDECREF(__pyx_v_state);
35952   __Pyx_XDECREF(__pyx_v__dict);
35953   __Pyx_XGIVEREF(__pyx_r);
35954   __Pyx_RefNannyFinishContext();
35955   return __pyx_r;
35956 }
35957 
35958 /* "(tree fragment)":16
35959  *     else:
35960  *         return __pyx_unpickle_ControlFlowAnalysis, (type(self), 0x9348192, state)
35961  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
35962  *     __pyx_unpickle_ControlFlowAnalysis__set_state(self, __pyx_state)
35963  */
35964 
35965 /* Python wrapper */
35966 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_89__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
35967 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_89__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_89__setstate_cython__, METH_O, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_89__setstate_cython__(PyObject * __pyx_v_self,PyObject * __pyx_v___pyx_state)35968 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_89__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
35969   PyObject *__pyx_r = 0;
35970   __Pyx_RefNannyDeclarations
35971   __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
35972   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_88__setstate_cython__(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
35973 
35974   /* function exit code */
35975   __Pyx_RefNannyFinishContext();
35976   return __pyx_r;
35977 }
35978 
__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_88__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v_self,PyObject * __pyx_v___pyx_state)35979 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_88__setstate_cython__(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
35980   PyObject *__pyx_r = NULL;
35981   __Pyx_RefNannyDeclarations
35982   PyObject *__pyx_t_1 = NULL;
35983   int __pyx_lineno = 0;
35984   const char *__pyx_filename = NULL;
35985   int __pyx_clineno = 0;
35986   __Pyx_RefNannySetupContext("__setstate_cython__", 0);
35987 
35988   /* "(tree fragment)":17
35989  *         return __pyx_unpickle_ControlFlowAnalysis, (type(self), 0x9348192, state)
35990  * def __setstate_cython__(self, __pyx_state):
35991  *     __pyx_unpickle_ControlFlowAnalysis__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
35992  */
35993   if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 17, __pyx_L1_error)
35994   __pyx_t_1 = __pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_ControlFlowAnalysis__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 17, __pyx_L1_error)
35995   __Pyx_GOTREF(__pyx_t_1);
35996   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
35997 
35998   /* "(tree fragment)":16
35999  *     else:
36000  *         return __pyx_unpickle_ControlFlowAnalysis, (type(self), 0x9348192, state)
36001  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
36002  *     __pyx_unpickle_ControlFlowAnalysis__set_state(self, __pyx_state)
36003  */
36004 
36005   /* function exit code */
36006   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
36007   goto __pyx_L0;
36008   __pyx_L1_error:;
36009   __Pyx_XDECREF(__pyx_t_1);
36010   __Pyx_AddTraceback("Cython.Compiler.FlowControl.ControlFlowAnalysis.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
36011   __pyx_r = NULL;
36012   __pyx_L0:;
36013   __Pyx_XGIVEREF(__pyx_r);
36014   __Pyx_RefNannyFinishContext();
36015   return __pyx_r;
36016 }
36017 
36018 /* "(tree fragment)":1
36019  * def __pyx_unpickle_ControlBlock(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
36020  *     cdef object __pyx_PickleError
36021  *     cdef object __pyx_result
36022  */
36023 
36024 /* Python wrapper */
36025 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_1__pyx_unpickle_ControlBlock(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
36026 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_1__pyx_unpickle_ControlBlock = {"__pyx_unpickle_ControlBlock", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_1__pyx_unpickle_ControlBlock, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_1__pyx_unpickle_ControlBlock(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)36027 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_1__pyx_unpickle_ControlBlock(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
36028   PyObject *__pyx_v___pyx_type = 0;
36029   long __pyx_v___pyx_checksum;
36030   PyObject *__pyx_v___pyx_state = 0;
36031   int __pyx_lineno = 0;
36032   const char *__pyx_filename = NULL;
36033   int __pyx_clineno = 0;
36034   PyObject *__pyx_r = 0;
36035   __Pyx_RefNannyDeclarations
36036   __Pyx_RefNannySetupContext("__pyx_unpickle_ControlBlock (wrapper)", 0);
36037   {
36038     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
36039     PyObject* values[3] = {0,0,0};
36040     if (unlikely(__pyx_kwds)) {
36041       Py_ssize_t kw_args;
36042       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
36043       switch (pos_args) {
36044         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
36045         CYTHON_FALLTHROUGH;
36046         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
36047         CYTHON_FALLTHROUGH;
36048         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
36049         CYTHON_FALLTHROUGH;
36050         case  0: break;
36051         default: goto __pyx_L5_argtuple_error;
36052       }
36053       kw_args = PyDict_Size(__pyx_kwds);
36054       switch (pos_args) {
36055         case  0:
36056         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
36057         else goto __pyx_L5_argtuple_error;
36058         CYTHON_FALLTHROUGH;
36059         case  1:
36060         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
36061         else {
36062           __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ControlBlock", 1, 3, 3, 1); __PYX_ERR(2, 1, __pyx_L3_error)
36063         }
36064         CYTHON_FALLTHROUGH;
36065         case  2:
36066         if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
36067         else {
36068           __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ControlBlock", 1, 3, 3, 2); __PYX_ERR(2, 1, __pyx_L3_error)
36069         }
36070       }
36071       if (unlikely(kw_args > 0)) {
36072         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_ControlBlock") < 0)) __PYX_ERR(2, 1, __pyx_L3_error)
36073       }
36074     } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
36075       goto __pyx_L5_argtuple_error;
36076     } else {
36077       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
36078       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
36079       values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
36080     }
36081     __pyx_v___pyx_type = values[0];
36082     __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
36083     __pyx_v___pyx_state = values[2];
36084   }
36085   goto __pyx_L4_argument_unpacking_done;
36086   __pyx_L5_argtuple_error:;
36087   __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ControlBlock", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(2, 1, __pyx_L3_error)
36088   __pyx_L3_error:;
36089   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_ControlBlock", __pyx_clineno, __pyx_lineno, __pyx_filename);
36090   __Pyx_RefNannyFinishContext();
36091   return NULL;
36092   __pyx_L4_argument_unpacking_done:;
36093   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl___pyx_unpickle_ControlBlock(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
36094 
36095   /* function exit code */
36096   __Pyx_RefNannyFinishContext();
36097   return __pyx_r;
36098 }
36099 
__pyx_pf_6Cython_8Compiler_11FlowControl___pyx_unpickle_ControlBlock(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v___pyx_type,long __pyx_v___pyx_checksum,PyObject * __pyx_v___pyx_state)36100 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl___pyx_unpickle_ControlBlock(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
36101   PyObject *__pyx_v___pyx_PickleError = 0;
36102   PyObject *__pyx_v___pyx_result = 0;
36103   PyObject *__pyx_r = NULL;
36104   __Pyx_RefNannyDeclarations
36105   int __pyx_t_1;
36106   PyObject *__pyx_t_2 = NULL;
36107   PyObject *__pyx_t_3 = NULL;
36108   PyObject *__pyx_t_4 = NULL;
36109   PyObject *__pyx_t_5 = NULL;
36110   int __pyx_t_6;
36111   int __pyx_lineno = 0;
36112   const char *__pyx_filename = NULL;
36113   int __pyx_clineno = 0;
36114   __Pyx_RefNannySetupContext("__pyx_unpickle_ControlBlock", 0);
36115 
36116   /* "(tree fragment)":4
36117  *     cdef object __pyx_PickleError
36118  *     cdef object __pyx_result
36119  *     if __pyx_checksum != 0xf2b1408:             # <<<<<<<<<<<<<<
36120  *         from pickle import PickleError as __pyx_PickleError
36121  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xf2b1408 = (bounded, children, gen, i_gen, i_input, i_kill, i_output, i_state, parents, positions, stats))" % __pyx_checksum)
36122  */
36123   __pyx_t_1 = ((__pyx_v___pyx_checksum != 0xf2b1408) != 0);
36124   if (__pyx_t_1) {
36125 
36126     /* "(tree fragment)":5
36127  *     cdef object __pyx_result
36128  *     if __pyx_checksum != 0xf2b1408:
36129  *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
36130  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xf2b1408 = (bounded, children, gen, i_gen, i_input, i_kill, i_output, i_state, parents, positions, stats))" % __pyx_checksum)
36131  *     __pyx_result = ControlBlock.__new__(__pyx_type)
36132  */
36133     __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
36134     __Pyx_GOTREF(__pyx_t_2);
36135     __Pyx_INCREF(__pyx_n_s_PickleError);
36136     __Pyx_GIVEREF(__pyx_n_s_PickleError);
36137     PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
36138     __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
36139     __Pyx_GOTREF(__pyx_t_3);
36140     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
36141     __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
36142     __Pyx_GOTREF(__pyx_t_2);
36143     __Pyx_INCREF(__pyx_t_2);
36144     __pyx_v___pyx_PickleError = __pyx_t_2;
36145     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
36146     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
36147 
36148     /* "(tree fragment)":6
36149  *     if __pyx_checksum != 0xf2b1408:
36150  *         from pickle import PickleError as __pyx_PickleError
36151  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xf2b1408 = (bounded, children, gen, i_gen, i_input, i_kill, i_output, i_state, parents, positions, stats))" % __pyx_checksum)             # <<<<<<<<<<<<<<
36152  *     __pyx_result = ControlBlock.__new__(__pyx_type)
36153  *     if __pyx_state is not None:
36154  */
36155     __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6, __pyx_L1_error)
36156     __Pyx_GOTREF(__pyx_t_2);
36157     __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0xf2, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6, __pyx_L1_error)
36158     __Pyx_GOTREF(__pyx_t_4);
36159     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
36160     __Pyx_INCREF(__pyx_v___pyx_PickleError);
36161     __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
36162     if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
36163       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
36164       if (likely(__pyx_t_5)) {
36165         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
36166         __Pyx_INCREF(__pyx_t_5);
36167         __Pyx_INCREF(function);
36168         __Pyx_DECREF_SET(__pyx_t_2, function);
36169       }
36170     }
36171     __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
36172     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
36173     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
36174     if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6, __pyx_L1_error)
36175     __Pyx_GOTREF(__pyx_t_3);
36176     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
36177     __Pyx_Raise(__pyx_t_3, 0, 0, 0);
36178     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
36179     __PYX_ERR(2, 6, __pyx_L1_error)
36180 
36181     /* "(tree fragment)":4
36182  *     cdef object __pyx_PickleError
36183  *     cdef object __pyx_result
36184  *     if __pyx_checksum != 0xf2b1408:             # <<<<<<<<<<<<<<
36185  *         from pickle import PickleError as __pyx_PickleError
36186  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xf2b1408 = (bounded, children, gen, i_gen, i_input, i_kill, i_output, i_state, parents, positions, stats))" % __pyx_checksum)
36187  */
36188   }
36189 
36190   /* "(tree fragment)":7
36191  *         from pickle import PickleError as __pyx_PickleError
36192  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xf2b1408 = (bounded, children, gen, i_gen, i_input, i_kill, i_output, i_state, parents, positions, stats))" % __pyx_checksum)
36193  *     __pyx_result = ControlBlock.__new__(__pyx_type)             # <<<<<<<<<<<<<<
36194  *     if __pyx_state is not None:
36195  *         __pyx_unpickle_ControlBlock__set_state(<ControlBlock> __pyx_result, __pyx_state)
36196  */
36197   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7, __pyx_L1_error)
36198   __Pyx_GOTREF(__pyx_t_2);
36199   __pyx_t_4 = NULL;
36200   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
36201     __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
36202     if (likely(__pyx_t_4)) {
36203       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
36204       __Pyx_INCREF(__pyx_t_4);
36205       __Pyx_INCREF(function);
36206       __Pyx_DECREF_SET(__pyx_t_2, function);
36207     }
36208   }
36209   __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
36210   __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
36211   if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7, __pyx_L1_error)
36212   __Pyx_GOTREF(__pyx_t_3);
36213   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
36214   __pyx_v___pyx_result = __pyx_t_3;
36215   __pyx_t_3 = 0;
36216 
36217   /* "(tree fragment)":8
36218  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xf2b1408 = (bounded, children, gen, i_gen, i_input, i_kill, i_output, i_state, parents, positions, stats))" % __pyx_checksum)
36219  *     __pyx_result = ControlBlock.__new__(__pyx_type)
36220  *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
36221  *         __pyx_unpickle_ControlBlock__set_state(<ControlBlock> __pyx_result, __pyx_state)
36222  *     return __pyx_result
36223  */
36224   __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
36225   __pyx_t_6 = (__pyx_t_1 != 0);
36226   if (__pyx_t_6) {
36227 
36228     /* "(tree fragment)":9
36229  *     __pyx_result = ControlBlock.__new__(__pyx_type)
36230  *     if __pyx_state is not None:
36231  *         __pyx_unpickle_ControlBlock__set_state(<ControlBlock> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
36232  *     return __pyx_result
36233  * cdef __pyx_unpickle_ControlBlock__set_state(ControlBlock __pyx_result, tuple __pyx_state):
36234  */
36235     if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 9, __pyx_L1_error)
36236     __pyx_t_3 = __pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_ControlBlock__set_state(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9, __pyx_L1_error)
36237     __Pyx_GOTREF(__pyx_t_3);
36238     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
36239 
36240     /* "(tree fragment)":8
36241  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xf2b1408 = (bounded, children, gen, i_gen, i_input, i_kill, i_output, i_state, parents, positions, stats))" % __pyx_checksum)
36242  *     __pyx_result = ControlBlock.__new__(__pyx_type)
36243  *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
36244  *         __pyx_unpickle_ControlBlock__set_state(<ControlBlock> __pyx_result, __pyx_state)
36245  *     return __pyx_result
36246  */
36247   }
36248 
36249   /* "(tree fragment)":10
36250  *     if __pyx_state is not None:
36251  *         __pyx_unpickle_ControlBlock__set_state(<ControlBlock> __pyx_result, __pyx_state)
36252  *     return __pyx_result             # <<<<<<<<<<<<<<
36253  * cdef __pyx_unpickle_ControlBlock__set_state(ControlBlock __pyx_result, tuple __pyx_state):
36254  *     __pyx_result.bounded = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.gen = __pyx_state[2]; __pyx_result.i_gen = __pyx_state[3]; __pyx_result.i_input = __pyx_state[4]; __pyx_result.i_kill = __pyx_state[5]; __pyx_result.i_output = __pyx_state[6]; __pyx_result.i_state = __pyx_state[7]; __pyx_result.parents = __pyx_state[8]; __pyx_result.positions = __pyx_state[9]; __pyx_result.stats = __pyx_state[10]
36255  */
36256   __Pyx_XDECREF(__pyx_r);
36257   __Pyx_INCREF(__pyx_v___pyx_result);
36258   __pyx_r = __pyx_v___pyx_result;
36259   goto __pyx_L0;
36260 
36261   /* "(tree fragment)":1
36262  * def __pyx_unpickle_ControlBlock(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
36263  *     cdef object __pyx_PickleError
36264  *     cdef object __pyx_result
36265  */
36266 
36267   /* function exit code */
36268   __pyx_L1_error:;
36269   __Pyx_XDECREF(__pyx_t_2);
36270   __Pyx_XDECREF(__pyx_t_3);
36271   __Pyx_XDECREF(__pyx_t_4);
36272   __Pyx_XDECREF(__pyx_t_5);
36273   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_ControlBlock", __pyx_clineno, __pyx_lineno, __pyx_filename);
36274   __pyx_r = NULL;
36275   __pyx_L0:;
36276   __Pyx_XDECREF(__pyx_v___pyx_PickleError);
36277   __Pyx_XDECREF(__pyx_v___pyx_result);
36278   __Pyx_XGIVEREF(__pyx_r);
36279   __Pyx_RefNannyFinishContext();
36280   return __pyx_r;
36281 }
36282 
36283 /* "(tree fragment)":11
36284  *         __pyx_unpickle_ControlBlock__set_state(<ControlBlock> __pyx_result, __pyx_state)
36285  *     return __pyx_result
36286  * cdef __pyx_unpickle_ControlBlock__set_state(ControlBlock __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
36287  *     __pyx_result.bounded = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.gen = __pyx_state[2]; __pyx_result.i_gen = __pyx_state[3]; __pyx_result.i_input = __pyx_state[4]; __pyx_result.i_kill = __pyx_state[5]; __pyx_result.i_output = __pyx_state[6]; __pyx_result.i_state = __pyx_state[7]; __pyx_result.parents = __pyx_state[8]; __pyx_result.positions = __pyx_state[9]; __pyx_result.stats = __pyx_state[10]
36288  *     if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):
36289  */
36290 
__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_ControlBlock__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock * __pyx_v___pyx_result,PyObject * __pyx_v___pyx_state)36291 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_ControlBlock__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
36292   PyObject *__pyx_r = NULL;
36293   __Pyx_RefNannyDeclarations
36294   PyObject *__pyx_t_1 = NULL;
36295   int __pyx_t_2;
36296   Py_ssize_t __pyx_t_3;
36297   int __pyx_t_4;
36298   int __pyx_t_5;
36299   PyObject *__pyx_t_6 = NULL;
36300   PyObject *__pyx_t_7 = NULL;
36301   PyObject *__pyx_t_8 = NULL;
36302   int __pyx_lineno = 0;
36303   const char *__pyx_filename = NULL;
36304   int __pyx_clineno = 0;
36305   __Pyx_RefNannySetupContext("__pyx_unpickle_ControlBlock__set_state", 0);
36306 
36307   /* "(tree fragment)":12
36308  *     return __pyx_result
36309  * cdef __pyx_unpickle_ControlBlock__set_state(ControlBlock __pyx_result, tuple __pyx_state):
36310  *     __pyx_result.bounded = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.gen = __pyx_state[2]; __pyx_result.i_gen = __pyx_state[3]; __pyx_result.i_input = __pyx_state[4]; __pyx_result.i_kill = __pyx_state[5]; __pyx_result.i_output = __pyx_state[6]; __pyx_result.i_state = __pyx_state[7]; __pyx_result.parents = __pyx_state[8]; __pyx_result.positions = __pyx_state[9]; __pyx_result.stats = __pyx_state[10]             # <<<<<<<<<<<<<<
36311  *     if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):
36312  *         __pyx_result.__dict__.update(__pyx_state[11])
36313  */
36314   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36315     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36316     __PYX_ERR(2, 12, __pyx_L1_error)
36317   }
36318   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
36319   __Pyx_GOTREF(__pyx_t_1);
36320   if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
36321   __Pyx_GIVEREF(__pyx_t_1);
36322   __Pyx_GOTREF(__pyx_v___pyx_result->bounded);
36323   __Pyx_DECREF(__pyx_v___pyx_result->bounded);
36324   __pyx_v___pyx_result->bounded = ((PyObject*)__pyx_t_1);
36325   __pyx_t_1 = 0;
36326   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36327     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36328     __PYX_ERR(2, 12, __pyx_L1_error)
36329   }
36330   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
36331   __Pyx_GOTREF(__pyx_t_1);
36332   if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
36333   __Pyx_GIVEREF(__pyx_t_1);
36334   __Pyx_GOTREF(__pyx_v___pyx_result->children);
36335   __Pyx_DECREF(__pyx_v___pyx_result->children);
36336   __pyx_v___pyx_result->children = ((PyObject*)__pyx_t_1);
36337   __pyx_t_1 = 0;
36338   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36339     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36340     __PYX_ERR(2, 12, __pyx_L1_error)
36341   }
36342   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
36343   __Pyx_GOTREF(__pyx_t_1);
36344   if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
36345   __Pyx_GIVEREF(__pyx_t_1);
36346   __Pyx_GOTREF(__pyx_v___pyx_result->gen);
36347   __Pyx_DECREF(__pyx_v___pyx_result->gen);
36348   __pyx_v___pyx_result->gen = ((PyObject*)__pyx_t_1);
36349   __pyx_t_1 = 0;
36350   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36351     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36352     __PYX_ERR(2, 12, __pyx_L1_error)
36353   }
36354   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
36355   __Pyx_GOTREF(__pyx_t_1);
36356   __Pyx_GIVEREF(__pyx_t_1);
36357   __Pyx_GOTREF(__pyx_v___pyx_result->i_gen);
36358   __Pyx_DECREF(__pyx_v___pyx_result->i_gen);
36359   __pyx_v___pyx_result->i_gen = __pyx_t_1;
36360   __pyx_t_1 = 0;
36361   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36362     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36363     __PYX_ERR(2, 12, __pyx_L1_error)
36364   }
36365   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
36366   __Pyx_GOTREF(__pyx_t_1);
36367   __Pyx_GIVEREF(__pyx_t_1);
36368   __Pyx_GOTREF(__pyx_v___pyx_result->i_input);
36369   __Pyx_DECREF(__pyx_v___pyx_result->i_input);
36370   __pyx_v___pyx_result->i_input = __pyx_t_1;
36371   __pyx_t_1 = 0;
36372   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36373     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36374     __PYX_ERR(2, 12, __pyx_L1_error)
36375   }
36376   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
36377   __Pyx_GOTREF(__pyx_t_1);
36378   __Pyx_GIVEREF(__pyx_t_1);
36379   __Pyx_GOTREF(__pyx_v___pyx_result->i_kill);
36380   __Pyx_DECREF(__pyx_v___pyx_result->i_kill);
36381   __pyx_v___pyx_result->i_kill = __pyx_t_1;
36382   __pyx_t_1 = 0;
36383   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36384     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36385     __PYX_ERR(2, 12, __pyx_L1_error)
36386   }
36387   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
36388   __Pyx_GOTREF(__pyx_t_1);
36389   __Pyx_GIVEREF(__pyx_t_1);
36390   __Pyx_GOTREF(__pyx_v___pyx_result->i_output);
36391   __Pyx_DECREF(__pyx_v___pyx_result->i_output);
36392   __pyx_v___pyx_result->i_output = __pyx_t_1;
36393   __pyx_t_1 = 0;
36394   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36395     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36396     __PYX_ERR(2, 12, __pyx_L1_error)
36397   }
36398   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
36399   __Pyx_GOTREF(__pyx_t_1);
36400   __Pyx_GIVEREF(__pyx_t_1);
36401   __Pyx_GOTREF(__pyx_v___pyx_result->i_state);
36402   __Pyx_DECREF(__pyx_v___pyx_result->i_state);
36403   __pyx_v___pyx_result->i_state = __pyx_t_1;
36404   __pyx_t_1 = 0;
36405   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36406     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36407     __PYX_ERR(2, 12, __pyx_L1_error)
36408   }
36409   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
36410   __Pyx_GOTREF(__pyx_t_1);
36411   if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
36412   __Pyx_GIVEREF(__pyx_t_1);
36413   __Pyx_GOTREF(__pyx_v___pyx_result->parents);
36414   __Pyx_DECREF(__pyx_v___pyx_result->parents);
36415   __pyx_v___pyx_result->parents = ((PyObject*)__pyx_t_1);
36416   __pyx_t_1 = 0;
36417   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36418     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36419     __PYX_ERR(2, 12, __pyx_L1_error)
36420   }
36421   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 9, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
36422   __Pyx_GOTREF(__pyx_t_1);
36423   if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
36424   __Pyx_GIVEREF(__pyx_t_1);
36425   __Pyx_GOTREF(__pyx_v___pyx_result->positions);
36426   __Pyx_DECREF(__pyx_v___pyx_result->positions);
36427   __pyx_v___pyx_result->positions = ((PyObject*)__pyx_t_1);
36428   __pyx_t_1 = 0;
36429   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36430     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36431     __PYX_ERR(2, 12, __pyx_L1_error)
36432   }
36433   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 10, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
36434   __Pyx_GOTREF(__pyx_t_1);
36435   if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
36436   __Pyx_GIVEREF(__pyx_t_1);
36437   __Pyx_GOTREF(__pyx_v___pyx_result->stats);
36438   __Pyx_DECREF(__pyx_v___pyx_result->stats);
36439   __pyx_v___pyx_result->stats = ((PyObject*)__pyx_t_1);
36440   __pyx_t_1 = 0;
36441 
36442   /* "(tree fragment)":13
36443  * cdef __pyx_unpickle_ControlBlock__set_state(ControlBlock __pyx_result, tuple __pyx_state):
36444  *     __pyx_result.bounded = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.gen = __pyx_state[2]; __pyx_result.i_gen = __pyx_state[3]; __pyx_result.i_input = __pyx_state[4]; __pyx_result.i_kill = __pyx_state[5]; __pyx_result.i_output = __pyx_state[6]; __pyx_result.i_state = __pyx_state[7]; __pyx_result.parents = __pyx_state[8]; __pyx_result.positions = __pyx_state[9]; __pyx_result.stats = __pyx_state[10]
36445  *     if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
36446  *         __pyx_result.__dict__.update(__pyx_state[11])
36447  */
36448   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36449     PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
36450     __PYX_ERR(2, 13, __pyx_L1_error)
36451   }
36452   __pyx_t_3 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(2, 13, __pyx_L1_error)
36453   __pyx_t_4 = ((__pyx_t_3 > 11) != 0);
36454   if (__pyx_t_4) {
36455   } else {
36456     __pyx_t_2 = __pyx_t_4;
36457     goto __pyx_L4_bool_binop_done;
36458   }
36459   __pyx_t_4 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 13, __pyx_L1_error)
36460   __pyx_t_5 = (__pyx_t_4 != 0);
36461   __pyx_t_2 = __pyx_t_5;
36462   __pyx_L4_bool_binop_done:;
36463   if (__pyx_t_2) {
36464 
36465     /* "(tree fragment)":14
36466  *     __pyx_result.bounded = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.gen = __pyx_state[2]; __pyx_result.i_gen = __pyx_state[3]; __pyx_result.i_input = __pyx_state[4]; __pyx_result.i_kill = __pyx_state[5]; __pyx_result.i_output = __pyx_state[6]; __pyx_result.i_state = __pyx_state[7]; __pyx_result.parents = __pyx_state[8]; __pyx_result.positions = __pyx_state[9]; __pyx_result.stats = __pyx_state[10]
36467  *     if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):
36468  *         __pyx_result.__dict__.update(__pyx_state[11])             # <<<<<<<<<<<<<<
36469  */
36470     __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error)
36471     __Pyx_GOTREF(__pyx_t_6);
36472     __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 14, __pyx_L1_error)
36473     __Pyx_GOTREF(__pyx_t_7);
36474     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
36475     if (unlikely(__pyx_v___pyx_state == Py_None)) {
36476       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36477       __PYX_ERR(2, 14, __pyx_L1_error)
36478     }
36479     __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 11, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error)
36480     __Pyx_GOTREF(__pyx_t_6);
36481     __pyx_t_8 = NULL;
36482     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
36483       __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
36484       if (likely(__pyx_t_8)) {
36485         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
36486         __Pyx_INCREF(__pyx_t_8);
36487         __Pyx_INCREF(function);
36488         __Pyx_DECREF_SET(__pyx_t_7, function);
36489       }
36490     }
36491     __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
36492     __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
36493     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
36494     if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 14, __pyx_L1_error)
36495     __Pyx_GOTREF(__pyx_t_1);
36496     __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
36497     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
36498 
36499     /* "(tree fragment)":13
36500  * cdef __pyx_unpickle_ControlBlock__set_state(ControlBlock __pyx_result, tuple __pyx_state):
36501  *     __pyx_result.bounded = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.gen = __pyx_state[2]; __pyx_result.i_gen = __pyx_state[3]; __pyx_result.i_input = __pyx_state[4]; __pyx_result.i_kill = __pyx_state[5]; __pyx_result.i_output = __pyx_state[6]; __pyx_result.i_state = __pyx_state[7]; __pyx_result.parents = __pyx_state[8]; __pyx_result.positions = __pyx_state[9]; __pyx_result.stats = __pyx_state[10]
36502  *     if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
36503  *         __pyx_result.__dict__.update(__pyx_state[11])
36504  */
36505   }
36506 
36507   /* "(tree fragment)":11
36508  *         __pyx_unpickle_ControlBlock__set_state(<ControlBlock> __pyx_result, __pyx_state)
36509  *     return __pyx_result
36510  * cdef __pyx_unpickle_ControlBlock__set_state(ControlBlock __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
36511  *     __pyx_result.bounded = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.gen = __pyx_state[2]; __pyx_result.i_gen = __pyx_state[3]; __pyx_result.i_input = __pyx_state[4]; __pyx_result.i_kill = __pyx_state[5]; __pyx_result.i_output = __pyx_state[6]; __pyx_result.i_state = __pyx_state[7]; __pyx_result.parents = __pyx_state[8]; __pyx_result.positions = __pyx_state[9]; __pyx_result.stats = __pyx_state[10]
36512  *     if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):
36513  */
36514 
36515   /* function exit code */
36516   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
36517   goto __pyx_L0;
36518   __pyx_L1_error:;
36519   __Pyx_XDECREF(__pyx_t_1);
36520   __Pyx_XDECREF(__pyx_t_6);
36521   __Pyx_XDECREF(__pyx_t_7);
36522   __Pyx_XDECREF(__pyx_t_8);
36523   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_ControlBlock__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
36524   __pyx_r = 0;
36525   __pyx_L0:;
36526   __Pyx_XGIVEREF(__pyx_r);
36527   __Pyx_RefNannyFinishContext();
36528   return __pyx_r;
36529 }
36530 
36531 /* "(tree fragment)":1
36532  * def __pyx_unpickle_ExitBlock(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
36533  *     cdef object __pyx_PickleError
36534  *     cdef object __pyx_result
36535  */
36536 
36537 /* Python wrapper */
36538 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_3__pyx_unpickle_ExitBlock(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
36539 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_3__pyx_unpickle_ExitBlock = {"__pyx_unpickle_ExitBlock", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_3__pyx_unpickle_ExitBlock, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_3__pyx_unpickle_ExitBlock(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)36540 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_3__pyx_unpickle_ExitBlock(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
36541   PyObject *__pyx_v___pyx_type = 0;
36542   long __pyx_v___pyx_checksum;
36543   PyObject *__pyx_v___pyx_state = 0;
36544   int __pyx_lineno = 0;
36545   const char *__pyx_filename = NULL;
36546   int __pyx_clineno = 0;
36547   PyObject *__pyx_r = 0;
36548   __Pyx_RefNannyDeclarations
36549   __Pyx_RefNannySetupContext("__pyx_unpickle_ExitBlock (wrapper)", 0);
36550   {
36551     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
36552     PyObject* values[3] = {0,0,0};
36553     if (unlikely(__pyx_kwds)) {
36554       Py_ssize_t kw_args;
36555       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
36556       switch (pos_args) {
36557         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
36558         CYTHON_FALLTHROUGH;
36559         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
36560         CYTHON_FALLTHROUGH;
36561         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
36562         CYTHON_FALLTHROUGH;
36563         case  0: break;
36564         default: goto __pyx_L5_argtuple_error;
36565       }
36566       kw_args = PyDict_Size(__pyx_kwds);
36567       switch (pos_args) {
36568         case  0:
36569         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
36570         else goto __pyx_L5_argtuple_error;
36571         CYTHON_FALLTHROUGH;
36572         case  1:
36573         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
36574         else {
36575           __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ExitBlock", 1, 3, 3, 1); __PYX_ERR(2, 1, __pyx_L3_error)
36576         }
36577         CYTHON_FALLTHROUGH;
36578         case  2:
36579         if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
36580         else {
36581           __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ExitBlock", 1, 3, 3, 2); __PYX_ERR(2, 1, __pyx_L3_error)
36582         }
36583       }
36584       if (unlikely(kw_args > 0)) {
36585         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_ExitBlock") < 0)) __PYX_ERR(2, 1, __pyx_L3_error)
36586       }
36587     } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
36588       goto __pyx_L5_argtuple_error;
36589     } else {
36590       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
36591       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
36592       values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
36593     }
36594     __pyx_v___pyx_type = values[0];
36595     __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
36596     __pyx_v___pyx_state = values[2];
36597   }
36598   goto __pyx_L4_argument_unpacking_done;
36599   __pyx_L5_argtuple_error:;
36600   __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ExitBlock", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(2, 1, __pyx_L3_error)
36601   __pyx_L3_error:;
36602   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_ExitBlock", __pyx_clineno, __pyx_lineno, __pyx_filename);
36603   __Pyx_RefNannyFinishContext();
36604   return NULL;
36605   __pyx_L4_argument_unpacking_done:;
36606   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_2__pyx_unpickle_ExitBlock(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
36607 
36608   /* function exit code */
36609   __Pyx_RefNannyFinishContext();
36610   return __pyx_r;
36611 }
36612 
__pyx_pf_6Cython_8Compiler_11FlowControl_2__pyx_unpickle_ExitBlock(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v___pyx_type,long __pyx_v___pyx_checksum,PyObject * __pyx_v___pyx_state)36613 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_2__pyx_unpickle_ExitBlock(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
36614   PyObject *__pyx_v___pyx_PickleError = 0;
36615   PyObject *__pyx_v___pyx_result = 0;
36616   PyObject *__pyx_r = NULL;
36617   __Pyx_RefNannyDeclarations
36618   int __pyx_t_1;
36619   PyObject *__pyx_t_2 = NULL;
36620   PyObject *__pyx_t_3 = NULL;
36621   PyObject *__pyx_t_4 = NULL;
36622   PyObject *__pyx_t_5 = NULL;
36623   int __pyx_t_6;
36624   int __pyx_lineno = 0;
36625   const char *__pyx_filename = NULL;
36626   int __pyx_clineno = 0;
36627   __Pyx_RefNannySetupContext("__pyx_unpickle_ExitBlock", 0);
36628 
36629   /* "(tree fragment)":4
36630  *     cdef object __pyx_PickleError
36631  *     cdef object __pyx_result
36632  *     if __pyx_checksum != 0xf2b1408:             # <<<<<<<<<<<<<<
36633  *         from pickle import PickleError as __pyx_PickleError
36634  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xf2b1408 = (bounded, children, gen, i_gen, i_input, i_kill, i_output, i_state, parents, positions, stats))" % __pyx_checksum)
36635  */
36636   __pyx_t_1 = ((__pyx_v___pyx_checksum != 0xf2b1408) != 0);
36637   if (__pyx_t_1) {
36638 
36639     /* "(tree fragment)":5
36640  *     cdef object __pyx_result
36641  *     if __pyx_checksum != 0xf2b1408:
36642  *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
36643  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xf2b1408 = (bounded, children, gen, i_gen, i_input, i_kill, i_output, i_state, parents, positions, stats))" % __pyx_checksum)
36644  *     __pyx_result = ExitBlock.__new__(__pyx_type)
36645  */
36646     __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
36647     __Pyx_GOTREF(__pyx_t_2);
36648     __Pyx_INCREF(__pyx_n_s_PickleError);
36649     __Pyx_GIVEREF(__pyx_n_s_PickleError);
36650     PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
36651     __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
36652     __Pyx_GOTREF(__pyx_t_3);
36653     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
36654     __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
36655     __Pyx_GOTREF(__pyx_t_2);
36656     __Pyx_INCREF(__pyx_t_2);
36657     __pyx_v___pyx_PickleError = __pyx_t_2;
36658     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
36659     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
36660 
36661     /* "(tree fragment)":6
36662  *     if __pyx_checksum != 0xf2b1408:
36663  *         from pickle import PickleError as __pyx_PickleError
36664  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xf2b1408 = (bounded, children, gen, i_gen, i_input, i_kill, i_output, i_state, parents, positions, stats))" % __pyx_checksum)             # <<<<<<<<<<<<<<
36665  *     __pyx_result = ExitBlock.__new__(__pyx_type)
36666  *     if __pyx_state is not None:
36667  */
36668     __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6, __pyx_L1_error)
36669     __Pyx_GOTREF(__pyx_t_2);
36670     __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0xf2, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6, __pyx_L1_error)
36671     __Pyx_GOTREF(__pyx_t_4);
36672     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
36673     __Pyx_INCREF(__pyx_v___pyx_PickleError);
36674     __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
36675     if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
36676       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
36677       if (likely(__pyx_t_5)) {
36678         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
36679         __Pyx_INCREF(__pyx_t_5);
36680         __Pyx_INCREF(function);
36681         __Pyx_DECREF_SET(__pyx_t_2, function);
36682       }
36683     }
36684     __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
36685     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
36686     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
36687     if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6, __pyx_L1_error)
36688     __Pyx_GOTREF(__pyx_t_3);
36689     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
36690     __Pyx_Raise(__pyx_t_3, 0, 0, 0);
36691     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
36692     __PYX_ERR(2, 6, __pyx_L1_error)
36693 
36694     /* "(tree fragment)":4
36695  *     cdef object __pyx_PickleError
36696  *     cdef object __pyx_result
36697  *     if __pyx_checksum != 0xf2b1408:             # <<<<<<<<<<<<<<
36698  *         from pickle import PickleError as __pyx_PickleError
36699  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xf2b1408 = (bounded, children, gen, i_gen, i_input, i_kill, i_output, i_state, parents, positions, stats))" % __pyx_checksum)
36700  */
36701   }
36702 
36703   /* "(tree fragment)":7
36704  *         from pickle import PickleError as __pyx_PickleError
36705  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xf2b1408 = (bounded, children, gen, i_gen, i_input, i_kill, i_output, i_state, parents, positions, stats))" % __pyx_checksum)
36706  *     __pyx_result = ExitBlock.__new__(__pyx_type)             # <<<<<<<<<<<<<<
36707  *     if __pyx_state is not None:
36708  *         __pyx_unpickle_ExitBlock__set_state(<ExitBlock> __pyx_result, __pyx_state)
36709  */
36710   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ExitBlock), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7, __pyx_L1_error)
36711   __Pyx_GOTREF(__pyx_t_2);
36712   __pyx_t_4 = NULL;
36713   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
36714     __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
36715     if (likely(__pyx_t_4)) {
36716       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
36717       __Pyx_INCREF(__pyx_t_4);
36718       __Pyx_INCREF(function);
36719       __Pyx_DECREF_SET(__pyx_t_2, function);
36720     }
36721   }
36722   __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
36723   __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
36724   if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7, __pyx_L1_error)
36725   __Pyx_GOTREF(__pyx_t_3);
36726   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
36727   __pyx_v___pyx_result = __pyx_t_3;
36728   __pyx_t_3 = 0;
36729 
36730   /* "(tree fragment)":8
36731  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xf2b1408 = (bounded, children, gen, i_gen, i_input, i_kill, i_output, i_state, parents, positions, stats))" % __pyx_checksum)
36732  *     __pyx_result = ExitBlock.__new__(__pyx_type)
36733  *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
36734  *         __pyx_unpickle_ExitBlock__set_state(<ExitBlock> __pyx_result, __pyx_state)
36735  *     return __pyx_result
36736  */
36737   __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
36738   __pyx_t_6 = (__pyx_t_1 != 0);
36739   if (__pyx_t_6) {
36740 
36741     /* "(tree fragment)":9
36742  *     __pyx_result = ExitBlock.__new__(__pyx_type)
36743  *     if __pyx_state is not None:
36744  *         __pyx_unpickle_ExitBlock__set_state(<ExitBlock> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
36745  *     return __pyx_result
36746  * cdef __pyx_unpickle_ExitBlock__set_state(ExitBlock __pyx_result, tuple __pyx_state):
36747  */
36748     if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 9, __pyx_L1_error)
36749     __pyx_t_3 = __pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_ExitBlock__set_state(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9, __pyx_L1_error)
36750     __Pyx_GOTREF(__pyx_t_3);
36751     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
36752 
36753     /* "(tree fragment)":8
36754  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xf2b1408 = (bounded, children, gen, i_gen, i_input, i_kill, i_output, i_state, parents, positions, stats))" % __pyx_checksum)
36755  *     __pyx_result = ExitBlock.__new__(__pyx_type)
36756  *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
36757  *         __pyx_unpickle_ExitBlock__set_state(<ExitBlock> __pyx_result, __pyx_state)
36758  *     return __pyx_result
36759  */
36760   }
36761 
36762   /* "(tree fragment)":10
36763  *     if __pyx_state is not None:
36764  *         __pyx_unpickle_ExitBlock__set_state(<ExitBlock> __pyx_result, __pyx_state)
36765  *     return __pyx_result             # <<<<<<<<<<<<<<
36766  * cdef __pyx_unpickle_ExitBlock__set_state(ExitBlock __pyx_result, tuple __pyx_state):
36767  *     __pyx_result.bounded = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.gen = __pyx_state[2]; __pyx_result.i_gen = __pyx_state[3]; __pyx_result.i_input = __pyx_state[4]; __pyx_result.i_kill = __pyx_state[5]; __pyx_result.i_output = __pyx_state[6]; __pyx_result.i_state = __pyx_state[7]; __pyx_result.parents = __pyx_state[8]; __pyx_result.positions = __pyx_state[9]; __pyx_result.stats = __pyx_state[10]
36768  */
36769   __Pyx_XDECREF(__pyx_r);
36770   __Pyx_INCREF(__pyx_v___pyx_result);
36771   __pyx_r = __pyx_v___pyx_result;
36772   goto __pyx_L0;
36773 
36774   /* "(tree fragment)":1
36775  * def __pyx_unpickle_ExitBlock(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
36776  *     cdef object __pyx_PickleError
36777  *     cdef object __pyx_result
36778  */
36779 
36780   /* function exit code */
36781   __pyx_L1_error:;
36782   __Pyx_XDECREF(__pyx_t_2);
36783   __Pyx_XDECREF(__pyx_t_3);
36784   __Pyx_XDECREF(__pyx_t_4);
36785   __Pyx_XDECREF(__pyx_t_5);
36786   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_ExitBlock", __pyx_clineno, __pyx_lineno, __pyx_filename);
36787   __pyx_r = NULL;
36788   __pyx_L0:;
36789   __Pyx_XDECREF(__pyx_v___pyx_PickleError);
36790   __Pyx_XDECREF(__pyx_v___pyx_result);
36791   __Pyx_XGIVEREF(__pyx_r);
36792   __Pyx_RefNannyFinishContext();
36793   return __pyx_r;
36794 }
36795 
36796 /* "(tree fragment)":11
36797  *         __pyx_unpickle_ExitBlock__set_state(<ExitBlock> __pyx_result, __pyx_state)
36798  *     return __pyx_result
36799  * cdef __pyx_unpickle_ExitBlock__set_state(ExitBlock __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
36800  *     __pyx_result.bounded = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.gen = __pyx_state[2]; __pyx_result.i_gen = __pyx_state[3]; __pyx_result.i_input = __pyx_state[4]; __pyx_result.i_kill = __pyx_state[5]; __pyx_result.i_output = __pyx_state[6]; __pyx_result.i_state = __pyx_state[7]; __pyx_result.parents = __pyx_state[8]; __pyx_result.positions = __pyx_state[9]; __pyx_result.stats = __pyx_state[10]
36801  *     if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):
36802  */
36803 
__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_ExitBlock__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock * __pyx_v___pyx_result,PyObject * __pyx_v___pyx_state)36804 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_ExitBlock__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
36805   PyObject *__pyx_r = NULL;
36806   __Pyx_RefNannyDeclarations
36807   PyObject *__pyx_t_1 = NULL;
36808   int __pyx_t_2;
36809   Py_ssize_t __pyx_t_3;
36810   int __pyx_t_4;
36811   int __pyx_t_5;
36812   PyObject *__pyx_t_6 = NULL;
36813   PyObject *__pyx_t_7 = NULL;
36814   PyObject *__pyx_t_8 = NULL;
36815   int __pyx_lineno = 0;
36816   const char *__pyx_filename = NULL;
36817   int __pyx_clineno = 0;
36818   __Pyx_RefNannySetupContext("__pyx_unpickle_ExitBlock__set_state", 0);
36819 
36820   /* "(tree fragment)":12
36821  *     return __pyx_result
36822  * cdef __pyx_unpickle_ExitBlock__set_state(ExitBlock __pyx_result, tuple __pyx_state):
36823  *     __pyx_result.bounded = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.gen = __pyx_state[2]; __pyx_result.i_gen = __pyx_state[3]; __pyx_result.i_input = __pyx_state[4]; __pyx_result.i_kill = __pyx_state[5]; __pyx_result.i_output = __pyx_state[6]; __pyx_result.i_state = __pyx_state[7]; __pyx_result.parents = __pyx_state[8]; __pyx_result.positions = __pyx_state[9]; __pyx_result.stats = __pyx_state[10]             # <<<<<<<<<<<<<<
36824  *     if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):
36825  *         __pyx_result.__dict__.update(__pyx_state[11])
36826  */
36827   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36828     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36829     __PYX_ERR(2, 12, __pyx_L1_error)
36830   }
36831   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
36832   __Pyx_GOTREF(__pyx_t_1);
36833   if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
36834   __Pyx_GIVEREF(__pyx_t_1);
36835   __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.bounded);
36836   __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.bounded);
36837   __pyx_v___pyx_result->__pyx_base.bounded = ((PyObject*)__pyx_t_1);
36838   __pyx_t_1 = 0;
36839   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36840     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36841     __PYX_ERR(2, 12, __pyx_L1_error)
36842   }
36843   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
36844   __Pyx_GOTREF(__pyx_t_1);
36845   if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
36846   __Pyx_GIVEREF(__pyx_t_1);
36847   __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.children);
36848   __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.children);
36849   __pyx_v___pyx_result->__pyx_base.children = ((PyObject*)__pyx_t_1);
36850   __pyx_t_1 = 0;
36851   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36852     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36853     __PYX_ERR(2, 12, __pyx_L1_error)
36854   }
36855   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
36856   __Pyx_GOTREF(__pyx_t_1);
36857   if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
36858   __Pyx_GIVEREF(__pyx_t_1);
36859   __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.gen);
36860   __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.gen);
36861   __pyx_v___pyx_result->__pyx_base.gen = ((PyObject*)__pyx_t_1);
36862   __pyx_t_1 = 0;
36863   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36864     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36865     __PYX_ERR(2, 12, __pyx_L1_error)
36866   }
36867   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
36868   __Pyx_GOTREF(__pyx_t_1);
36869   __Pyx_GIVEREF(__pyx_t_1);
36870   __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.i_gen);
36871   __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.i_gen);
36872   __pyx_v___pyx_result->__pyx_base.i_gen = __pyx_t_1;
36873   __pyx_t_1 = 0;
36874   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36875     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36876     __PYX_ERR(2, 12, __pyx_L1_error)
36877   }
36878   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
36879   __Pyx_GOTREF(__pyx_t_1);
36880   __Pyx_GIVEREF(__pyx_t_1);
36881   __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.i_input);
36882   __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.i_input);
36883   __pyx_v___pyx_result->__pyx_base.i_input = __pyx_t_1;
36884   __pyx_t_1 = 0;
36885   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36886     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36887     __PYX_ERR(2, 12, __pyx_L1_error)
36888   }
36889   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
36890   __Pyx_GOTREF(__pyx_t_1);
36891   __Pyx_GIVEREF(__pyx_t_1);
36892   __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.i_kill);
36893   __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.i_kill);
36894   __pyx_v___pyx_result->__pyx_base.i_kill = __pyx_t_1;
36895   __pyx_t_1 = 0;
36896   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36897     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36898     __PYX_ERR(2, 12, __pyx_L1_error)
36899   }
36900   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
36901   __Pyx_GOTREF(__pyx_t_1);
36902   __Pyx_GIVEREF(__pyx_t_1);
36903   __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.i_output);
36904   __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.i_output);
36905   __pyx_v___pyx_result->__pyx_base.i_output = __pyx_t_1;
36906   __pyx_t_1 = 0;
36907   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36908     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36909     __PYX_ERR(2, 12, __pyx_L1_error)
36910   }
36911   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
36912   __Pyx_GOTREF(__pyx_t_1);
36913   __Pyx_GIVEREF(__pyx_t_1);
36914   __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.i_state);
36915   __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.i_state);
36916   __pyx_v___pyx_result->__pyx_base.i_state = __pyx_t_1;
36917   __pyx_t_1 = 0;
36918   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36919     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36920     __PYX_ERR(2, 12, __pyx_L1_error)
36921   }
36922   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
36923   __Pyx_GOTREF(__pyx_t_1);
36924   if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
36925   __Pyx_GIVEREF(__pyx_t_1);
36926   __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.parents);
36927   __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.parents);
36928   __pyx_v___pyx_result->__pyx_base.parents = ((PyObject*)__pyx_t_1);
36929   __pyx_t_1 = 0;
36930   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36931     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36932     __PYX_ERR(2, 12, __pyx_L1_error)
36933   }
36934   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 9, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
36935   __Pyx_GOTREF(__pyx_t_1);
36936   if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
36937   __Pyx_GIVEREF(__pyx_t_1);
36938   __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.positions);
36939   __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.positions);
36940   __pyx_v___pyx_result->__pyx_base.positions = ((PyObject*)__pyx_t_1);
36941   __pyx_t_1 = 0;
36942   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36943     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36944     __PYX_ERR(2, 12, __pyx_L1_error)
36945   }
36946   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 10, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
36947   __Pyx_GOTREF(__pyx_t_1);
36948   if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
36949   __Pyx_GIVEREF(__pyx_t_1);
36950   __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.stats);
36951   __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.stats);
36952   __pyx_v___pyx_result->__pyx_base.stats = ((PyObject*)__pyx_t_1);
36953   __pyx_t_1 = 0;
36954 
36955   /* "(tree fragment)":13
36956  * cdef __pyx_unpickle_ExitBlock__set_state(ExitBlock __pyx_result, tuple __pyx_state):
36957  *     __pyx_result.bounded = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.gen = __pyx_state[2]; __pyx_result.i_gen = __pyx_state[3]; __pyx_result.i_input = __pyx_state[4]; __pyx_result.i_kill = __pyx_state[5]; __pyx_result.i_output = __pyx_state[6]; __pyx_result.i_state = __pyx_state[7]; __pyx_result.parents = __pyx_state[8]; __pyx_result.positions = __pyx_state[9]; __pyx_result.stats = __pyx_state[10]
36958  *     if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
36959  *         __pyx_result.__dict__.update(__pyx_state[11])
36960  */
36961   if (unlikely(__pyx_v___pyx_state == Py_None)) {
36962     PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
36963     __PYX_ERR(2, 13, __pyx_L1_error)
36964   }
36965   __pyx_t_3 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(2, 13, __pyx_L1_error)
36966   __pyx_t_4 = ((__pyx_t_3 > 11) != 0);
36967   if (__pyx_t_4) {
36968   } else {
36969     __pyx_t_2 = __pyx_t_4;
36970     goto __pyx_L4_bool_binop_done;
36971   }
36972   __pyx_t_4 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 13, __pyx_L1_error)
36973   __pyx_t_5 = (__pyx_t_4 != 0);
36974   __pyx_t_2 = __pyx_t_5;
36975   __pyx_L4_bool_binop_done:;
36976   if (__pyx_t_2) {
36977 
36978     /* "(tree fragment)":14
36979  *     __pyx_result.bounded = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.gen = __pyx_state[2]; __pyx_result.i_gen = __pyx_state[3]; __pyx_result.i_input = __pyx_state[4]; __pyx_result.i_kill = __pyx_state[5]; __pyx_result.i_output = __pyx_state[6]; __pyx_result.i_state = __pyx_state[7]; __pyx_result.parents = __pyx_state[8]; __pyx_result.positions = __pyx_state[9]; __pyx_result.stats = __pyx_state[10]
36980  *     if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):
36981  *         __pyx_result.__dict__.update(__pyx_state[11])             # <<<<<<<<<<<<<<
36982  */
36983     __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error)
36984     __Pyx_GOTREF(__pyx_t_6);
36985     __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 14, __pyx_L1_error)
36986     __Pyx_GOTREF(__pyx_t_7);
36987     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
36988     if (unlikely(__pyx_v___pyx_state == Py_None)) {
36989       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
36990       __PYX_ERR(2, 14, __pyx_L1_error)
36991     }
36992     __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 11, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error)
36993     __Pyx_GOTREF(__pyx_t_6);
36994     __pyx_t_8 = NULL;
36995     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
36996       __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
36997       if (likely(__pyx_t_8)) {
36998         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
36999         __Pyx_INCREF(__pyx_t_8);
37000         __Pyx_INCREF(function);
37001         __Pyx_DECREF_SET(__pyx_t_7, function);
37002       }
37003     }
37004     __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
37005     __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
37006     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
37007     if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 14, __pyx_L1_error)
37008     __Pyx_GOTREF(__pyx_t_1);
37009     __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
37010     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
37011 
37012     /* "(tree fragment)":13
37013  * cdef __pyx_unpickle_ExitBlock__set_state(ExitBlock __pyx_result, tuple __pyx_state):
37014  *     __pyx_result.bounded = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.gen = __pyx_state[2]; __pyx_result.i_gen = __pyx_state[3]; __pyx_result.i_input = __pyx_state[4]; __pyx_result.i_kill = __pyx_state[5]; __pyx_result.i_output = __pyx_state[6]; __pyx_result.i_state = __pyx_state[7]; __pyx_result.parents = __pyx_state[8]; __pyx_result.positions = __pyx_state[9]; __pyx_result.stats = __pyx_state[10]
37015  *     if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
37016  *         __pyx_result.__dict__.update(__pyx_state[11])
37017  */
37018   }
37019 
37020   /* "(tree fragment)":11
37021  *         __pyx_unpickle_ExitBlock__set_state(<ExitBlock> __pyx_result, __pyx_state)
37022  *     return __pyx_result
37023  * cdef __pyx_unpickle_ExitBlock__set_state(ExitBlock __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
37024  *     __pyx_result.bounded = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.gen = __pyx_state[2]; __pyx_result.i_gen = __pyx_state[3]; __pyx_result.i_input = __pyx_state[4]; __pyx_result.i_kill = __pyx_state[5]; __pyx_result.i_output = __pyx_state[6]; __pyx_result.i_state = __pyx_state[7]; __pyx_result.parents = __pyx_state[8]; __pyx_result.positions = __pyx_state[9]; __pyx_result.stats = __pyx_state[10]
37025  *     if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):
37026  */
37027 
37028   /* function exit code */
37029   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
37030   goto __pyx_L0;
37031   __pyx_L1_error:;
37032   __Pyx_XDECREF(__pyx_t_1);
37033   __Pyx_XDECREF(__pyx_t_6);
37034   __Pyx_XDECREF(__pyx_t_7);
37035   __Pyx_XDECREF(__pyx_t_8);
37036   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_ExitBlock__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
37037   __pyx_r = 0;
37038   __pyx_L0:;
37039   __Pyx_XGIVEREF(__pyx_r);
37040   __Pyx_RefNannyFinishContext();
37041   return __pyx_r;
37042 }
37043 
37044 /* "(tree fragment)":1
37045  * def __pyx_unpickle_AssignmentList(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
37046  *     cdef object __pyx_PickleError
37047  *     cdef object __pyx_result
37048  */
37049 
37050 /* Python wrapper */
37051 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_5__pyx_unpickle_AssignmentList(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
37052 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_5__pyx_unpickle_AssignmentList = {"__pyx_unpickle_AssignmentList", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_5__pyx_unpickle_AssignmentList, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_5__pyx_unpickle_AssignmentList(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)37053 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_5__pyx_unpickle_AssignmentList(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
37054   PyObject *__pyx_v___pyx_type = 0;
37055   long __pyx_v___pyx_checksum;
37056   PyObject *__pyx_v___pyx_state = 0;
37057   int __pyx_lineno = 0;
37058   const char *__pyx_filename = NULL;
37059   int __pyx_clineno = 0;
37060   PyObject *__pyx_r = 0;
37061   __Pyx_RefNannyDeclarations
37062   __Pyx_RefNannySetupContext("__pyx_unpickle_AssignmentList (wrapper)", 0);
37063   {
37064     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
37065     PyObject* values[3] = {0,0,0};
37066     if (unlikely(__pyx_kwds)) {
37067       Py_ssize_t kw_args;
37068       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
37069       switch (pos_args) {
37070         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
37071         CYTHON_FALLTHROUGH;
37072         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
37073         CYTHON_FALLTHROUGH;
37074         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
37075         CYTHON_FALLTHROUGH;
37076         case  0: break;
37077         default: goto __pyx_L5_argtuple_error;
37078       }
37079       kw_args = PyDict_Size(__pyx_kwds);
37080       switch (pos_args) {
37081         case  0:
37082         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
37083         else goto __pyx_L5_argtuple_error;
37084         CYTHON_FALLTHROUGH;
37085         case  1:
37086         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
37087         else {
37088           __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_AssignmentList", 1, 3, 3, 1); __PYX_ERR(2, 1, __pyx_L3_error)
37089         }
37090         CYTHON_FALLTHROUGH;
37091         case  2:
37092         if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
37093         else {
37094           __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_AssignmentList", 1, 3, 3, 2); __PYX_ERR(2, 1, __pyx_L3_error)
37095         }
37096       }
37097       if (unlikely(kw_args > 0)) {
37098         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_AssignmentList") < 0)) __PYX_ERR(2, 1, __pyx_L3_error)
37099       }
37100     } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
37101       goto __pyx_L5_argtuple_error;
37102     } else {
37103       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
37104       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
37105       values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
37106     }
37107     __pyx_v___pyx_type = values[0];
37108     __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
37109     __pyx_v___pyx_state = values[2];
37110   }
37111   goto __pyx_L4_argument_unpacking_done;
37112   __pyx_L5_argtuple_error:;
37113   __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_AssignmentList", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(2, 1, __pyx_L3_error)
37114   __pyx_L3_error:;
37115   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_AssignmentList", __pyx_clineno, __pyx_lineno, __pyx_filename);
37116   __Pyx_RefNannyFinishContext();
37117   return NULL;
37118   __pyx_L4_argument_unpacking_done:;
37119   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_4__pyx_unpickle_AssignmentList(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
37120 
37121   /* function exit code */
37122   __Pyx_RefNannyFinishContext();
37123   return __pyx_r;
37124 }
37125 
__pyx_pf_6Cython_8Compiler_11FlowControl_4__pyx_unpickle_AssignmentList(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v___pyx_type,long __pyx_v___pyx_checksum,PyObject * __pyx_v___pyx_state)37126 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_4__pyx_unpickle_AssignmentList(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
37127   PyObject *__pyx_v___pyx_PickleError = 0;
37128   PyObject *__pyx_v___pyx_result = 0;
37129   PyObject *__pyx_r = NULL;
37130   __Pyx_RefNannyDeclarations
37131   int __pyx_t_1;
37132   PyObject *__pyx_t_2 = NULL;
37133   PyObject *__pyx_t_3 = NULL;
37134   PyObject *__pyx_t_4 = NULL;
37135   PyObject *__pyx_t_5 = NULL;
37136   int __pyx_t_6;
37137   int __pyx_lineno = 0;
37138   const char *__pyx_filename = NULL;
37139   int __pyx_clineno = 0;
37140   __Pyx_RefNannySetupContext("__pyx_unpickle_AssignmentList", 0);
37141 
37142   /* "(tree fragment)":4
37143  *     cdef object __pyx_PickleError
37144  *     cdef object __pyx_result
37145  *     if __pyx_checksum != 0x39670e9:             # <<<<<<<<<<<<<<
37146  *         from pickle import PickleError as __pyx_PickleError
37147  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x39670e9 = (bit, mask, stats))" % __pyx_checksum)
37148  */
37149   __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x39670e9) != 0);
37150   if (__pyx_t_1) {
37151 
37152     /* "(tree fragment)":5
37153  *     cdef object __pyx_result
37154  *     if __pyx_checksum != 0x39670e9:
37155  *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
37156  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x39670e9 = (bit, mask, stats))" % __pyx_checksum)
37157  *     __pyx_result = AssignmentList.__new__(__pyx_type)
37158  */
37159     __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
37160     __Pyx_GOTREF(__pyx_t_2);
37161     __Pyx_INCREF(__pyx_n_s_PickleError);
37162     __Pyx_GIVEREF(__pyx_n_s_PickleError);
37163     PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
37164     __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
37165     __Pyx_GOTREF(__pyx_t_3);
37166     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
37167     __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
37168     __Pyx_GOTREF(__pyx_t_2);
37169     __Pyx_INCREF(__pyx_t_2);
37170     __pyx_v___pyx_PickleError = __pyx_t_2;
37171     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
37172     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
37173 
37174     /* "(tree fragment)":6
37175  *     if __pyx_checksum != 0x39670e9:
37176  *         from pickle import PickleError as __pyx_PickleError
37177  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x39670e9 = (bit, mask, stats))" % __pyx_checksum)             # <<<<<<<<<<<<<<
37178  *     __pyx_result = AssignmentList.__new__(__pyx_type)
37179  *     if __pyx_state is not None:
37180  */
37181     __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6, __pyx_L1_error)
37182     __Pyx_GOTREF(__pyx_t_2);
37183     __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x39, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6, __pyx_L1_error)
37184     __Pyx_GOTREF(__pyx_t_4);
37185     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
37186     __Pyx_INCREF(__pyx_v___pyx_PickleError);
37187     __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
37188     if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
37189       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
37190       if (likely(__pyx_t_5)) {
37191         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
37192         __Pyx_INCREF(__pyx_t_5);
37193         __Pyx_INCREF(function);
37194         __Pyx_DECREF_SET(__pyx_t_2, function);
37195       }
37196     }
37197     __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
37198     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
37199     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
37200     if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6, __pyx_L1_error)
37201     __Pyx_GOTREF(__pyx_t_3);
37202     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
37203     __Pyx_Raise(__pyx_t_3, 0, 0, 0);
37204     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
37205     __PYX_ERR(2, 6, __pyx_L1_error)
37206 
37207     /* "(tree fragment)":4
37208  *     cdef object __pyx_PickleError
37209  *     cdef object __pyx_result
37210  *     if __pyx_checksum != 0x39670e9:             # <<<<<<<<<<<<<<
37211  *         from pickle import PickleError as __pyx_PickleError
37212  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x39670e9 = (bit, mask, stats))" % __pyx_checksum)
37213  */
37214   }
37215 
37216   /* "(tree fragment)":7
37217  *         from pickle import PickleError as __pyx_PickleError
37218  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x39670e9 = (bit, mask, stats))" % __pyx_checksum)
37219  *     __pyx_result = AssignmentList.__new__(__pyx_type)             # <<<<<<<<<<<<<<
37220  *     if __pyx_state is not None:
37221  *         __pyx_unpickle_AssignmentList__set_state(<AssignmentList> __pyx_result, __pyx_state)
37222  */
37223   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentList), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7, __pyx_L1_error)
37224   __Pyx_GOTREF(__pyx_t_2);
37225   __pyx_t_4 = NULL;
37226   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
37227     __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
37228     if (likely(__pyx_t_4)) {
37229       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
37230       __Pyx_INCREF(__pyx_t_4);
37231       __Pyx_INCREF(function);
37232       __Pyx_DECREF_SET(__pyx_t_2, function);
37233     }
37234   }
37235   __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
37236   __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
37237   if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7, __pyx_L1_error)
37238   __Pyx_GOTREF(__pyx_t_3);
37239   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
37240   __pyx_v___pyx_result = __pyx_t_3;
37241   __pyx_t_3 = 0;
37242 
37243   /* "(tree fragment)":8
37244  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x39670e9 = (bit, mask, stats))" % __pyx_checksum)
37245  *     __pyx_result = AssignmentList.__new__(__pyx_type)
37246  *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
37247  *         __pyx_unpickle_AssignmentList__set_state(<AssignmentList> __pyx_result, __pyx_state)
37248  *     return __pyx_result
37249  */
37250   __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
37251   __pyx_t_6 = (__pyx_t_1 != 0);
37252   if (__pyx_t_6) {
37253 
37254     /* "(tree fragment)":9
37255  *     __pyx_result = AssignmentList.__new__(__pyx_type)
37256  *     if __pyx_state is not None:
37257  *         __pyx_unpickle_AssignmentList__set_state(<AssignmentList> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
37258  *     return __pyx_result
37259  * cdef __pyx_unpickle_AssignmentList__set_state(AssignmentList __pyx_result, tuple __pyx_state):
37260  */
37261     if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 9, __pyx_L1_error)
37262     __pyx_t_3 = __pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_AssignmentList__set_state(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9, __pyx_L1_error)
37263     __Pyx_GOTREF(__pyx_t_3);
37264     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
37265 
37266     /* "(tree fragment)":8
37267  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x39670e9 = (bit, mask, stats))" % __pyx_checksum)
37268  *     __pyx_result = AssignmentList.__new__(__pyx_type)
37269  *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
37270  *         __pyx_unpickle_AssignmentList__set_state(<AssignmentList> __pyx_result, __pyx_state)
37271  *     return __pyx_result
37272  */
37273   }
37274 
37275   /* "(tree fragment)":10
37276  *     if __pyx_state is not None:
37277  *         __pyx_unpickle_AssignmentList__set_state(<AssignmentList> __pyx_result, __pyx_state)
37278  *     return __pyx_result             # <<<<<<<<<<<<<<
37279  * cdef __pyx_unpickle_AssignmentList__set_state(AssignmentList __pyx_result, tuple __pyx_state):
37280  *     __pyx_result.bit = __pyx_state[0]; __pyx_result.mask = __pyx_state[1]; __pyx_result.stats = __pyx_state[2]
37281  */
37282   __Pyx_XDECREF(__pyx_r);
37283   __Pyx_INCREF(__pyx_v___pyx_result);
37284   __pyx_r = __pyx_v___pyx_result;
37285   goto __pyx_L0;
37286 
37287   /* "(tree fragment)":1
37288  * def __pyx_unpickle_AssignmentList(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
37289  *     cdef object __pyx_PickleError
37290  *     cdef object __pyx_result
37291  */
37292 
37293   /* function exit code */
37294   __pyx_L1_error:;
37295   __Pyx_XDECREF(__pyx_t_2);
37296   __Pyx_XDECREF(__pyx_t_3);
37297   __Pyx_XDECREF(__pyx_t_4);
37298   __Pyx_XDECREF(__pyx_t_5);
37299   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_AssignmentList", __pyx_clineno, __pyx_lineno, __pyx_filename);
37300   __pyx_r = NULL;
37301   __pyx_L0:;
37302   __Pyx_XDECREF(__pyx_v___pyx_PickleError);
37303   __Pyx_XDECREF(__pyx_v___pyx_result);
37304   __Pyx_XGIVEREF(__pyx_r);
37305   __Pyx_RefNannyFinishContext();
37306   return __pyx_r;
37307 }
37308 
37309 /* "(tree fragment)":11
37310  *         __pyx_unpickle_AssignmentList__set_state(<AssignmentList> __pyx_result, __pyx_state)
37311  *     return __pyx_result
37312  * cdef __pyx_unpickle_AssignmentList__set_state(AssignmentList __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
37313  *     __pyx_result.bit = __pyx_state[0]; __pyx_result.mask = __pyx_state[1]; __pyx_result.stats = __pyx_state[2]
37314  *     if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'):
37315  */
37316 
__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_AssignmentList__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList * __pyx_v___pyx_result,PyObject * __pyx_v___pyx_state)37317 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_AssignmentList__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
37318   PyObject *__pyx_r = NULL;
37319   __Pyx_RefNannyDeclarations
37320   PyObject *__pyx_t_1 = NULL;
37321   int __pyx_t_2;
37322   Py_ssize_t __pyx_t_3;
37323   int __pyx_t_4;
37324   int __pyx_t_5;
37325   PyObject *__pyx_t_6 = NULL;
37326   PyObject *__pyx_t_7 = NULL;
37327   PyObject *__pyx_t_8 = NULL;
37328   int __pyx_lineno = 0;
37329   const char *__pyx_filename = NULL;
37330   int __pyx_clineno = 0;
37331   __Pyx_RefNannySetupContext("__pyx_unpickle_AssignmentList__set_state", 0);
37332 
37333   /* "(tree fragment)":12
37334  *     return __pyx_result
37335  * cdef __pyx_unpickle_AssignmentList__set_state(AssignmentList __pyx_result, tuple __pyx_state):
37336  *     __pyx_result.bit = __pyx_state[0]; __pyx_result.mask = __pyx_state[1]; __pyx_result.stats = __pyx_state[2]             # <<<<<<<<<<<<<<
37337  *     if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'):
37338  *         __pyx_result.__dict__.update(__pyx_state[3])
37339  */
37340   if (unlikely(__pyx_v___pyx_state == Py_None)) {
37341     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
37342     __PYX_ERR(2, 12, __pyx_L1_error)
37343   }
37344   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
37345   __Pyx_GOTREF(__pyx_t_1);
37346   __Pyx_GIVEREF(__pyx_t_1);
37347   __Pyx_GOTREF(__pyx_v___pyx_result->bit);
37348   __Pyx_DECREF(__pyx_v___pyx_result->bit);
37349   __pyx_v___pyx_result->bit = __pyx_t_1;
37350   __pyx_t_1 = 0;
37351   if (unlikely(__pyx_v___pyx_state == Py_None)) {
37352     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
37353     __PYX_ERR(2, 12, __pyx_L1_error)
37354   }
37355   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
37356   __Pyx_GOTREF(__pyx_t_1);
37357   __Pyx_GIVEREF(__pyx_t_1);
37358   __Pyx_GOTREF(__pyx_v___pyx_result->mask);
37359   __Pyx_DECREF(__pyx_v___pyx_result->mask);
37360   __pyx_v___pyx_result->mask = __pyx_t_1;
37361   __pyx_t_1 = 0;
37362   if (unlikely(__pyx_v___pyx_state == Py_None)) {
37363     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
37364     __PYX_ERR(2, 12, __pyx_L1_error)
37365   }
37366   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
37367   __Pyx_GOTREF(__pyx_t_1);
37368   if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
37369   __Pyx_GIVEREF(__pyx_t_1);
37370   __Pyx_GOTREF(__pyx_v___pyx_result->stats);
37371   __Pyx_DECREF(__pyx_v___pyx_result->stats);
37372   __pyx_v___pyx_result->stats = ((PyObject*)__pyx_t_1);
37373   __pyx_t_1 = 0;
37374 
37375   /* "(tree fragment)":13
37376  * cdef __pyx_unpickle_AssignmentList__set_state(AssignmentList __pyx_result, tuple __pyx_state):
37377  *     __pyx_result.bit = __pyx_state[0]; __pyx_result.mask = __pyx_state[1]; __pyx_result.stats = __pyx_state[2]
37378  *     if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
37379  *         __pyx_result.__dict__.update(__pyx_state[3])
37380  */
37381   if (unlikely(__pyx_v___pyx_state == Py_None)) {
37382     PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
37383     __PYX_ERR(2, 13, __pyx_L1_error)
37384   }
37385   __pyx_t_3 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(2, 13, __pyx_L1_error)
37386   __pyx_t_4 = ((__pyx_t_3 > 3) != 0);
37387   if (__pyx_t_4) {
37388   } else {
37389     __pyx_t_2 = __pyx_t_4;
37390     goto __pyx_L4_bool_binop_done;
37391   }
37392   __pyx_t_4 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 13, __pyx_L1_error)
37393   __pyx_t_5 = (__pyx_t_4 != 0);
37394   __pyx_t_2 = __pyx_t_5;
37395   __pyx_L4_bool_binop_done:;
37396   if (__pyx_t_2) {
37397 
37398     /* "(tree fragment)":14
37399  *     __pyx_result.bit = __pyx_state[0]; __pyx_result.mask = __pyx_state[1]; __pyx_result.stats = __pyx_state[2]
37400  *     if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'):
37401  *         __pyx_result.__dict__.update(__pyx_state[3])             # <<<<<<<<<<<<<<
37402  */
37403     __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error)
37404     __Pyx_GOTREF(__pyx_t_6);
37405     __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 14, __pyx_L1_error)
37406     __Pyx_GOTREF(__pyx_t_7);
37407     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
37408     if (unlikely(__pyx_v___pyx_state == Py_None)) {
37409       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
37410       __PYX_ERR(2, 14, __pyx_L1_error)
37411     }
37412     __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error)
37413     __Pyx_GOTREF(__pyx_t_6);
37414     __pyx_t_8 = NULL;
37415     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
37416       __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
37417       if (likely(__pyx_t_8)) {
37418         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
37419         __Pyx_INCREF(__pyx_t_8);
37420         __Pyx_INCREF(function);
37421         __Pyx_DECREF_SET(__pyx_t_7, function);
37422       }
37423     }
37424     __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
37425     __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
37426     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
37427     if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 14, __pyx_L1_error)
37428     __Pyx_GOTREF(__pyx_t_1);
37429     __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
37430     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
37431 
37432     /* "(tree fragment)":13
37433  * cdef __pyx_unpickle_AssignmentList__set_state(AssignmentList __pyx_result, tuple __pyx_state):
37434  *     __pyx_result.bit = __pyx_state[0]; __pyx_result.mask = __pyx_state[1]; __pyx_result.stats = __pyx_state[2]
37435  *     if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
37436  *         __pyx_result.__dict__.update(__pyx_state[3])
37437  */
37438   }
37439 
37440   /* "(tree fragment)":11
37441  *         __pyx_unpickle_AssignmentList__set_state(<AssignmentList> __pyx_result, __pyx_state)
37442  *     return __pyx_result
37443  * cdef __pyx_unpickle_AssignmentList__set_state(AssignmentList __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
37444  *     __pyx_result.bit = __pyx_state[0]; __pyx_result.mask = __pyx_state[1]; __pyx_result.stats = __pyx_state[2]
37445  *     if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'):
37446  */
37447 
37448   /* function exit code */
37449   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
37450   goto __pyx_L0;
37451   __pyx_L1_error:;
37452   __Pyx_XDECREF(__pyx_t_1);
37453   __Pyx_XDECREF(__pyx_t_6);
37454   __Pyx_XDECREF(__pyx_t_7);
37455   __Pyx_XDECREF(__pyx_t_8);
37456   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_AssignmentList__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
37457   __pyx_r = 0;
37458   __pyx_L0:;
37459   __Pyx_XGIVEREF(__pyx_r);
37460   __Pyx_RefNannyFinishContext();
37461   return __pyx_r;
37462 }
37463 
37464 /* "(tree fragment)":1
37465  * def __pyx_unpickle_ControlFlow(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
37466  *     cdef object __pyx_PickleError
37467  *     cdef object __pyx_result
37468  */
37469 
37470 /* Python wrapper */
37471 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_7__pyx_unpickle_ControlFlow(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
37472 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_7__pyx_unpickle_ControlFlow = {"__pyx_unpickle_ControlFlow", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_7__pyx_unpickle_ControlFlow, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_7__pyx_unpickle_ControlFlow(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)37473 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_7__pyx_unpickle_ControlFlow(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
37474   PyObject *__pyx_v___pyx_type = 0;
37475   long __pyx_v___pyx_checksum;
37476   PyObject *__pyx_v___pyx_state = 0;
37477   int __pyx_lineno = 0;
37478   const char *__pyx_filename = NULL;
37479   int __pyx_clineno = 0;
37480   PyObject *__pyx_r = 0;
37481   __Pyx_RefNannyDeclarations
37482   __Pyx_RefNannySetupContext("__pyx_unpickle_ControlFlow (wrapper)", 0);
37483   {
37484     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
37485     PyObject* values[3] = {0,0,0};
37486     if (unlikely(__pyx_kwds)) {
37487       Py_ssize_t kw_args;
37488       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
37489       switch (pos_args) {
37490         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
37491         CYTHON_FALLTHROUGH;
37492         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
37493         CYTHON_FALLTHROUGH;
37494         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
37495         CYTHON_FALLTHROUGH;
37496         case  0: break;
37497         default: goto __pyx_L5_argtuple_error;
37498       }
37499       kw_args = PyDict_Size(__pyx_kwds);
37500       switch (pos_args) {
37501         case  0:
37502         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
37503         else goto __pyx_L5_argtuple_error;
37504         CYTHON_FALLTHROUGH;
37505         case  1:
37506         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
37507         else {
37508           __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ControlFlow", 1, 3, 3, 1); __PYX_ERR(2, 1, __pyx_L3_error)
37509         }
37510         CYTHON_FALLTHROUGH;
37511         case  2:
37512         if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
37513         else {
37514           __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ControlFlow", 1, 3, 3, 2); __PYX_ERR(2, 1, __pyx_L3_error)
37515         }
37516       }
37517       if (unlikely(kw_args > 0)) {
37518         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_ControlFlow") < 0)) __PYX_ERR(2, 1, __pyx_L3_error)
37519       }
37520     } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
37521       goto __pyx_L5_argtuple_error;
37522     } else {
37523       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
37524       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
37525       values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
37526     }
37527     __pyx_v___pyx_type = values[0];
37528     __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
37529     __pyx_v___pyx_state = values[2];
37530   }
37531   goto __pyx_L4_argument_unpacking_done;
37532   __pyx_L5_argtuple_error:;
37533   __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ControlFlow", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(2, 1, __pyx_L3_error)
37534   __pyx_L3_error:;
37535   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_ControlFlow", __pyx_clineno, __pyx_lineno, __pyx_filename);
37536   __Pyx_RefNannyFinishContext();
37537   return NULL;
37538   __pyx_L4_argument_unpacking_done:;
37539   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_6__pyx_unpickle_ControlFlow(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
37540 
37541   /* function exit code */
37542   __Pyx_RefNannyFinishContext();
37543   return __pyx_r;
37544 }
37545 
__pyx_pf_6Cython_8Compiler_11FlowControl_6__pyx_unpickle_ControlFlow(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v___pyx_type,long __pyx_v___pyx_checksum,PyObject * __pyx_v___pyx_state)37546 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_6__pyx_unpickle_ControlFlow(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
37547   PyObject *__pyx_v___pyx_PickleError = 0;
37548   PyObject *__pyx_v___pyx_result = 0;
37549   PyObject *__pyx_r = NULL;
37550   __Pyx_RefNannyDeclarations
37551   int __pyx_t_1;
37552   PyObject *__pyx_t_2 = NULL;
37553   PyObject *__pyx_t_3 = NULL;
37554   PyObject *__pyx_t_4 = NULL;
37555   PyObject *__pyx_t_5 = NULL;
37556   int __pyx_t_6;
37557   int __pyx_lineno = 0;
37558   const char *__pyx_filename = NULL;
37559   int __pyx_clineno = 0;
37560   __Pyx_RefNannySetupContext("__pyx_unpickle_ControlFlow", 0);
37561 
37562   /* "(tree fragment)":4
37563  *     cdef object __pyx_PickleError
37564  *     cdef object __pyx_result
37565  *     if __pyx_checksum != 0x61dbd8a:             # <<<<<<<<<<<<<<
37566  *         from pickle import PickleError as __pyx_PickleError
37567  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x61dbd8a = (assmts, block, blocks, entries, entry_point, exceptions, exit_point, loops))" % __pyx_checksum)
37568  */
37569   __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x61dbd8a) != 0);
37570   if (__pyx_t_1) {
37571 
37572     /* "(tree fragment)":5
37573  *     cdef object __pyx_result
37574  *     if __pyx_checksum != 0x61dbd8a:
37575  *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
37576  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x61dbd8a = (assmts, block, blocks, entries, entry_point, exceptions, exit_point, loops))" % __pyx_checksum)
37577  *     __pyx_result = ControlFlow.__new__(__pyx_type)
37578  */
37579     __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
37580     __Pyx_GOTREF(__pyx_t_2);
37581     __Pyx_INCREF(__pyx_n_s_PickleError);
37582     __Pyx_GIVEREF(__pyx_n_s_PickleError);
37583     PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
37584     __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
37585     __Pyx_GOTREF(__pyx_t_3);
37586     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
37587     __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
37588     __Pyx_GOTREF(__pyx_t_2);
37589     __Pyx_INCREF(__pyx_t_2);
37590     __pyx_v___pyx_PickleError = __pyx_t_2;
37591     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
37592     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
37593 
37594     /* "(tree fragment)":6
37595  *     if __pyx_checksum != 0x61dbd8a:
37596  *         from pickle import PickleError as __pyx_PickleError
37597  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x61dbd8a = (assmts, block, blocks, entries, entry_point, exceptions, exit_point, loops))" % __pyx_checksum)             # <<<<<<<<<<<<<<
37598  *     __pyx_result = ControlFlow.__new__(__pyx_type)
37599  *     if __pyx_state is not None:
37600  */
37601     __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6, __pyx_L1_error)
37602     __Pyx_GOTREF(__pyx_t_2);
37603     __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x61, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6, __pyx_L1_error)
37604     __Pyx_GOTREF(__pyx_t_4);
37605     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
37606     __Pyx_INCREF(__pyx_v___pyx_PickleError);
37607     __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
37608     if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
37609       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
37610       if (likely(__pyx_t_5)) {
37611         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
37612         __Pyx_INCREF(__pyx_t_5);
37613         __Pyx_INCREF(function);
37614         __Pyx_DECREF_SET(__pyx_t_2, function);
37615       }
37616     }
37617     __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
37618     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
37619     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
37620     if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6, __pyx_L1_error)
37621     __Pyx_GOTREF(__pyx_t_3);
37622     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
37623     __Pyx_Raise(__pyx_t_3, 0, 0, 0);
37624     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
37625     __PYX_ERR(2, 6, __pyx_L1_error)
37626 
37627     /* "(tree fragment)":4
37628  *     cdef object __pyx_PickleError
37629  *     cdef object __pyx_result
37630  *     if __pyx_checksum != 0x61dbd8a:             # <<<<<<<<<<<<<<
37631  *         from pickle import PickleError as __pyx_PickleError
37632  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x61dbd8a = (assmts, block, blocks, entries, entry_point, exceptions, exit_point, loops))" % __pyx_checksum)
37633  */
37634   }
37635 
37636   /* "(tree fragment)":7
37637  *         from pickle import PickleError as __pyx_PickleError
37638  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x61dbd8a = (assmts, block, blocks, entries, entry_point, exceptions, exit_point, loops))" % __pyx_checksum)
37639  *     __pyx_result = ControlFlow.__new__(__pyx_type)             # <<<<<<<<<<<<<<
37640  *     if __pyx_state is not None:
37641  *         __pyx_unpickle_ControlFlow__set_state(<ControlFlow> __pyx_result, __pyx_state)
37642  */
37643   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7, __pyx_L1_error)
37644   __Pyx_GOTREF(__pyx_t_2);
37645   __pyx_t_4 = NULL;
37646   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
37647     __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
37648     if (likely(__pyx_t_4)) {
37649       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
37650       __Pyx_INCREF(__pyx_t_4);
37651       __Pyx_INCREF(function);
37652       __Pyx_DECREF_SET(__pyx_t_2, function);
37653     }
37654   }
37655   __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
37656   __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
37657   if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7, __pyx_L1_error)
37658   __Pyx_GOTREF(__pyx_t_3);
37659   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
37660   __pyx_v___pyx_result = __pyx_t_3;
37661   __pyx_t_3 = 0;
37662 
37663   /* "(tree fragment)":8
37664  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x61dbd8a = (assmts, block, blocks, entries, entry_point, exceptions, exit_point, loops))" % __pyx_checksum)
37665  *     __pyx_result = ControlFlow.__new__(__pyx_type)
37666  *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
37667  *         __pyx_unpickle_ControlFlow__set_state(<ControlFlow> __pyx_result, __pyx_state)
37668  *     return __pyx_result
37669  */
37670   __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
37671   __pyx_t_6 = (__pyx_t_1 != 0);
37672   if (__pyx_t_6) {
37673 
37674     /* "(tree fragment)":9
37675  *     __pyx_result = ControlFlow.__new__(__pyx_type)
37676  *     if __pyx_state is not None:
37677  *         __pyx_unpickle_ControlFlow__set_state(<ControlFlow> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
37678  *     return __pyx_result
37679  * cdef __pyx_unpickle_ControlFlow__set_state(ControlFlow __pyx_result, tuple __pyx_state):
37680  */
37681     if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 9, __pyx_L1_error)
37682     __pyx_t_3 = __pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_ControlFlow__set_state(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9, __pyx_L1_error)
37683     __Pyx_GOTREF(__pyx_t_3);
37684     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
37685 
37686     /* "(tree fragment)":8
37687  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x61dbd8a = (assmts, block, blocks, entries, entry_point, exceptions, exit_point, loops))" % __pyx_checksum)
37688  *     __pyx_result = ControlFlow.__new__(__pyx_type)
37689  *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
37690  *         __pyx_unpickle_ControlFlow__set_state(<ControlFlow> __pyx_result, __pyx_state)
37691  *     return __pyx_result
37692  */
37693   }
37694 
37695   /* "(tree fragment)":10
37696  *     if __pyx_state is not None:
37697  *         __pyx_unpickle_ControlFlow__set_state(<ControlFlow> __pyx_result, __pyx_state)
37698  *     return __pyx_result             # <<<<<<<<<<<<<<
37699  * cdef __pyx_unpickle_ControlFlow__set_state(ControlFlow __pyx_result, tuple __pyx_state):
37700  *     __pyx_result.assmts = __pyx_state[0]; __pyx_result.block = __pyx_state[1]; __pyx_result.blocks = __pyx_state[2]; __pyx_result.entries = __pyx_state[3]; __pyx_result.entry_point = __pyx_state[4]; __pyx_result.exceptions = __pyx_state[5]; __pyx_result.exit_point = __pyx_state[6]; __pyx_result.loops = __pyx_state[7]
37701  */
37702   __Pyx_XDECREF(__pyx_r);
37703   __Pyx_INCREF(__pyx_v___pyx_result);
37704   __pyx_r = __pyx_v___pyx_result;
37705   goto __pyx_L0;
37706 
37707   /* "(tree fragment)":1
37708  * def __pyx_unpickle_ControlFlow(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
37709  *     cdef object __pyx_PickleError
37710  *     cdef object __pyx_result
37711  */
37712 
37713   /* function exit code */
37714   __pyx_L1_error:;
37715   __Pyx_XDECREF(__pyx_t_2);
37716   __Pyx_XDECREF(__pyx_t_3);
37717   __Pyx_XDECREF(__pyx_t_4);
37718   __Pyx_XDECREF(__pyx_t_5);
37719   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_ControlFlow", __pyx_clineno, __pyx_lineno, __pyx_filename);
37720   __pyx_r = NULL;
37721   __pyx_L0:;
37722   __Pyx_XDECREF(__pyx_v___pyx_PickleError);
37723   __Pyx_XDECREF(__pyx_v___pyx_result);
37724   __Pyx_XGIVEREF(__pyx_r);
37725   __Pyx_RefNannyFinishContext();
37726   return __pyx_r;
37727 }
37728 
37729 /* "(tree fragment)":11
37730  *         __pyx_unpickle_ControlFlow__set_state(<ControlFlow> __pyx_result, __pyx_state)
37731  *     return __pyx_result
37732  * cdef __pyx_unpickle_ControlFlow__set_state(ControlFlow __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
37733  *     __pyx_result.assmts = __pyx_state[0]; __pyx_result.block = __pyx_state[1]; __pyx_result.blocks = __pyx_state[2]; __pyx_result.entries = __pyx_state[3]; __pyx_result.entry_point = __pyx_state[4]; __pyx_result.exceptions = __pyx_state[5]; __pyx_result.exit_point = __pyx_state[6]; __pyx_result.loops = __pyx_state[7]
37734  *     if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'):
37735  */
37736 
__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_ControlFlow__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow * __pyx_v___pyx_result,PyObject * __pyx_v___pyx_state)37737 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_ControlFlow__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
37738   PyObject *__pyx_r = NULL;
37739   __Pyx_RefNannyDeclarations
37740   PyObject *__pyx_t_1 = NULL;
37741   int __pyx_t_2;
37742   Py_ssize_t __pyx_t_3;
37743   int __pyx_t_4;
37744   int __pyx_t_5;
37745   PyObject *__pyx_t_6 = NULL;
37746   PyObject *__pyx_t_7 = NULL;
37747   PyObject *__pyx_t_8 = NULL;
37748   int __pyx_lineno = 0;
37749   const char *__pyx_filename = NULL;
37750   int __pyx_clineno = 0;
37751   __Pyx_RefNannySetupContext("__pyx_unpickle_ControlFlow__set_state", 0);
37752 
37753   /* "(tree fragment)":12
37754  *     return __pyx_result
37755  * cdef __pyx_unpickle_ControlFlow__set_state(ControlFlow __pyx_result, tuple __pyx_state):
37756  *     __pyx_result.assmts = __pyx_state[0]; __pyx_result.block = __pyx_state[1]; __pyx_result.blocks = __pyx_state[2]; __pyx_result.entries = __pyx_state[3]; __pyx_result.entry_point = __pyx_state[4]; __pyx_result.exceptions = __pyx_state[5]; __pyx_result.exit_point = __pyx_state[6]; __pyx_result.loops = __pyx_state[7]             # <<<<<<<<<<<<<<
37757  *     if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'):
37758  *         __pyx_result.__dict__.update(__pyx_state[8])
37759  */
37760   if (unlikely(__pyx_v___pyx_state == Py_None)) {
37761     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
37762     __PYX_ERR(2, 12, __pyx_L1_error)
37763   }
37764   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
37765   __Pyx_GOTREF(__pyx_t_1);
37766   if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
37767   __Pyx_GIVEREF(__pyx_t_1);
37768   __Pyx_GOTREF(__pyx_v___pyx_result->assmts);
37769   __Pyx_DECREF(__pyx_v___pyx_result->assmts);
37770   __pyx_v___pyx_result->assmts = ((PyObject*)__pyx_t_1);
37771   __pyx_t_1 = 0;
37772   if (unlikely(__pyx_v___pyx_state == Py_None)) {
37773     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
37774     __PYX_ERR(2, 12, __pyx_L1_error)
37775   }
37776   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
37777   __Pyx_GOTREF(__pyx_t_1);
37778   if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(2, 12, __pyx_L1_error)
37779   __Pyx_GIVEREF(__pyx_t_1);
37780   __Pyx_GOTREF(__pyx_v___pyx_result->block);
37781   __Pyx_DECREF(((PyObject *)__pyx_v___pyx_result->block));
37782   __pyx_v___pyx_result->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_1);
37783   __pyx_t_1 = 0;
37784   if (unlikely(__pyx_v___pyx_state == Py_None)) {
37785     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
37786     __PYX_ERR(2, 12, __pyx_L1_error)
37787   }
37788   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
37789   __Pyx_GOTREF(__pyx_t_1);
37790   if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
37791   __Pyx_GIVEREF(__pyx_t_1);
37792   __Pyx_GOTREF(__pyx_v___pyx_result->blocks);
37793   __Pyx_DECREF(__pyx_v___pyx_result->blocks);
37794   __pyx_v___pyx_result->blocks = ((PyObject*)__pyx_t_1);
37795   __pyx_t_1 = 0;
37796   if (unlikely(__pyx_v___pyx_state == Py_None)) {
37797     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
37798     __PYX_ERR(2, 12, __pyx_L1_error)
37799   }
37800   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
37801   __Pyx_GOTREF(__pyx_t_1);
37802   if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
37803   __Pyx_GIVEREF(__pyx_t_1);
37804   __Pyx_GOTREF(__pyx_v___pyx_result->entries);
37805   __Pyx_DECREF(__pyx_v___pyx_result->entries);
37806   __pyx_v___pyx_result->entries = ((PyObject*)__pyx_t_1);
37807   __pyx_t_1 = 0;
37808   if (unlikely(__pyx_v___pyx_state == Py_None)) {
37809     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
37810     __PYX_ERR(2, 12, __pyx_L1_error)
37811   }
37812   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
37813   __Pyx_GOTREF(__pyx_t_1);
37814   if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock))))) __PYX_ERR(2, 12, __pyx_L1_error)
37815   __Pyx_GIVEREF(__pyx_t_1);
37816   __Pyx_GOTREF(__pyx_v___pyx_result->entry_point);
37817   __Pyx_DECREF(((PyObject *)__pyx_v___pyx_result->entry_point));
37818   __pyx_v___pyx_result->entry_point = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)__pyx_t_1);
37819   __pyx_t_1 = 0;
37820   if (unlikely(__pyx_v___pyx_state == Py_None)) {
37821     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
37822     __PYX_ERR(2, 12, __pyx_L1_error)
37823   }
37824   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
37825   __Pyx_GOTREF(__pyx_t_1);
37826   if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
37827   __Pyx_GIVEREF(__pyx_t_1);
37828   __Pyx_GOTREF(__pyx_v___pyx_result->exceptions);
37829   __Pyx_DECREF(__pyx_v___pyx_result->exceptions);
37830   __pyx_v___pyx_result->exceptions = ((PyObject*)__pyx_t_1);
37831   __pyx_t_1 = 0;
37832   if (unlikely(__pyx_v___pyx_state == Py_None)) {
37833     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
37834     __PYX_ERR(2, 12, __pyx_L1_error)
37835   }
37836   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
37837   __Pyx_GOTREF(__pyx_t_1);
37838   if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6Cython_8Compiler_11FlowControl_ExitBlock))))) __PYX_ERR(2, 12, __pyx_L1_error)
37839   __Pyx_GIVEREF(__pyx_t_1);
37840   __Pyx_GOTREF(__pyx_v___pyx_result->exit_point);
37841   __Pyx_DECREF(((PyObject *)__pyx_v___pyx_result->exit_point));
37842   __pyx_v___pyx_result->exit_point = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock *)__pyx_t_1);
37843   __pyx_t_1 = 0;
37844   if (unlikely(__pyx_v___pyx_state == Py_None)) {
37845     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
37846     __PYX_ERR(2, 12, __pyx_L1_error)
37847   }
37848   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
37849   __Pyx_GOTREF(__pyx_t_1);
37850   if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
37851   __Pyx_GIVEREF(__pyx_t_1);
37852   __Pyx_GOTREF(__pyx_v___pyx_result->loops);
37853   __Pyx_DECREF(__pyx_v___pyx_result->loops);
37854   __pyx_v___pyx_result->loops = ((PyObject*)__pyx_t_1);
37855   __pyx_t_1 = 0;
37856 
37857   /* "(tree fragment)":13
37858  * cdef __pyx_unpickle_ControlFlow__set_state(ControlFlow __pyx_result, tuple __pyx_state):
37859  *     __pyx_result.assmts = __pyx_state[0]; __pyx_result.block = __pyx_state[1]; __pyx_result.blocks = __pyx_state[2]; __pyx_result.entries = __pyx_state[3]; __pyx_result.entry_point = __pyx_state[4]; __pyx_result.exceptions = __pyx_state[5]; __pyx_result.exit_point = __pyx_state[6]; __pyx_result.loops = __pyx_state[7]
37860  *     if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
37861  *         __pyx_result.__dict__.update(__pyx_state[8])
37862  */
37863   if (unlikely(__pyx_v___pyx_state == Py_None)) {
37864     PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
37865     __PYX_ERR(2, 13, __pyx_L1_error)
37866   }
37867   __pyx_t_3 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(2, 13, __pyx_L1_error)
37868   __pyx_t_4 = ((__pyx_t_3 > 8) != 0);
37869   if (__pyx_t_4) {
37870   } else {
37871     __pyx_t_2 = __pyx_t_4;
37872     goto __pyx_L4_bool_binop_done;
37873   }
37874   __pyx_t_4 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 13, __pyx_L1_error)
37875   __pyx_t_5 = (__pyx_t_4 != 0);
37876   __pyx_t_2 = __pyx_t_5;
37877   __pyx_L4_bool_binop_done:;
37878   if (__pyx_t_2) {
37879 
37880     /* "(tree fragment)":14
37881  *     __pyx_result.assmts = __pyx_state[0]; __pyx_result.block = __pyx_state[1]; __pyx_result.blocks = __pyx_state[2]; __pyx_result.entries = __pyx_state[3]; __pyx_result.entry_point = __pyx_state[4]; __pyx_result.exceptions = __pyx_state[5]; __pyx_result.exit_point = __pyx_state[6]; __pyx_result.loops = __pyx_state[7]
37882  *     if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'):
37883  *         __pyx_result.__dict__.update(__pyx_state[8])             # <<<<<<<<<<<<<<
37884  */
37885     __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error)
37886     __Pyx_GOTREF(__pyx_t_6);
37887     __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 14, __pyx_L1_error)
37888     __Pyx_GOTREF(__pyx_t_7);
37889     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
37890     if (unlikely(__pyx_v___pyx_state == Py_None)) {
37891       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
37892       __PYX_ERR(2, 14, __pyx_L1_error)
37893     }
37894     __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error)
37895     __Pyx_GOTREF(__pyx_t_6);
37896     __pyx_t_8 = NULL;
37897     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
37898       __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
37899       if (likely(__pyx_t_8)) {
37900         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
37901         __Pyx_INCREF(__pyx_t_8);
37902         __Pyx_INCREF(function);
37903         __Pyx_DECREF_SET(__pyx_t_7, function);
37904       }
37905     }
37906     __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
37907     __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
37908     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
37909     if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 14, __pyx_L1_error)
37910     __Pyx_GOTREF(__pyx_t_1);
37911     __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
37912     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
37913 
37914     /* "(tree fragment)":13
37915  * cdef __pyx_unpickle_ControlFlow__set_state(ControlFlow __pyx_result, tuple __pyx_state):
37916  *     __pyx_result.assmts = __pyx_state[0]; __pyx_result.block = __pyx_state[1]; __pyx_result.blocks = __pyx_state[2]; __pyx_result.entries = __pyx_state[3]; __pyx_result.entry_point = __pyx_state[4]; __pyx_result.exceptions = __pyx_state[5]; __pyx_result.exit_point = __pyx_state[6]; __pyx_result.loops = __pyx_state[7]
37917  *     if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
37918  *         __pyx_result.__dict__.update(__pyx_state[8])
37919  */
37920   }
37921 
37922   /* "(tree fragment)":11
37923  *         __pyx_unpickle_ControlFlow__set_state(<ControlFlow> __pyx_result, __pyx_state)
37924  *     return __pyx_result
37925  * cdef __pyx_unpickle_ControlFlow__set_state(ControlFlow __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
37926  *     __pyx_result.assmts = __pyx_state[0]; __pyx_result.block = __pyx_state[1]; __pyx_result.blocks = __pyx_state[2]; __pyx_result.entries = __pyx_state[3]; __pyx_result.entry_point = __pyx_state[4]; __pyx_result.exceptions = __pyx_state[5]; __pyx_result.exit_point = __pyx_state[6]; __pyx_result.loops = __pyx_state[7]
37927  *     if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'):
37928  */
37929 
37930   /* function exit code */
37931   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
37932   goto __pyx_L0;
37933   __pyx_L1_error:;
37934   __Pyx_XDECREF(__pyx_t_1);
37935   __Pyx_XDECREF(__pyx_t_6);
37936   __Pyx_XDECREF(__pyx_t_7);
37937   __Pyx_XDECREF(__pyx_t_8);
37938   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_ControlFlow__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
37939   __pyx_r = 0;
37940   __pyx_L0:;
37941   __Pyx_XGIVEREF(__pyx_r);
37942   __Pyx_RefNannyFinishContext();
37943   return __pyx_r;
37944 }
37945 
37946 /* "(tree fragment)":1
37947  * def __pyx_unpickle_NameAssignment(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
37948  *     cdef object __pyx_PickleError
37949  *     cdef object __pyx_result
37950  */
37951 
37952 /* Python wrapper */
37953 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_9__pyx_unpickle_NameAssignment(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
37954 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_9__pyx_unpickle_NameAssignment = {"__pyx_unpickle_NameAssignment", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_9__pyx_unpickle_NameAssignment, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_9__pyx_unpickle_NameAssignment(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)37955 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_9__pyx_unpickle_NameAssignment(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
37956   PyObject *__pyx_v___pyx_type = 0;
37957   long __pyx_v___pyx_checksum;
37958   PyObject *__pyx_v___pyx_state = 0;
37959   int __pyx_lineno = 0;
37960   const char *__pyx_filename = NULL;
37961   int __pyx_clineno = 0;
37962   PyObject *__pyx_r = 0;
37963   __Pyx_RefNannyDeclarations
37964   __Pyx_RefNannySetupContext("__pyx_unpickle_NameAssignment (wrapper)", 0);
37965   {
37966     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
37967     PyObject* values[3] = {0,0,0};
37968     if (unlikely(__pyx_kwds)) {
37969       Py_ssize_t kw_args;
37970       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
37971       switch (pos_args) {
37972         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
37973         CYTHON_FALLTHROUGH;
37974         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
37975         CYTHON_FALLTHROUGH;
37976         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
37977         CYTHON_FALLTHROUGH;
37978         case  0: break;
37979         default: goto __pyx_L5_argtuple_error;
37980       }
37981       kw_args = PyDict_Size(__pyx_kwds);
37982       switch (pos_args) {
37983         case  0:
37984         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
37985         else goto __pyx_L5_argtuple_error;
37986         CYTHON_FALLTHROUGH;
37987         case  1:
37988         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
37989         else {
37990           __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_NameAssignment", 1, 3, 3, 1); __PYX_ERR(2, 1, __pyx_L3_error)
37991         }
37992         CYTHON_FALLTHROUGH;
37993         case  2:
37994         if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
37995         else {
37996           __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_NameAssignment", 1, 3, 3, 2); __PYX_ERR(2, 1, __pyx_L3_error)
37997         }
37998       }
37999       if (unlikely(kw_args > 0)) {
38000         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_NameAssignment") < 0)) __PYX_ERR(2, 1, __pyx_L3_error)
38001       }
38002     } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
38003       goto __pyx_L5_argtuple_error;
38004     } else {
38005       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
38006       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
38007       values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
38008     }
38009     __pyx_v___pyx_type = values[0];
38010     __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
38011     __pyx_v___pyx_state = values[2];
38012   }
38013   goto __pyx_L4_argument_unpacking_done;
38014   __pyx_L5_argtuple_error:;
38015   __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_NameAssignment", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(2, 1, __pyx_L3_error)
38016   __pyx_L3_error:;
38017   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_NameAssignment", __pyx_clineno, __pyx_lineno, __pyx_filename);
38018   __Pyx_RefNannyFinishContext();
38019   return NULL;
38020   __pyx_L4_argument_unpacking_done:;
38021   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_8__pyx_unpickle_NameAssignment(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
38022 
38023   /* function exit code */
38024   __Pyx_RefNannyFinishContext();
38025   return __pyx_r;
38026 }
38027 
__pyx_pf_6Cython_8Compiler_11FlowControl_8__pyx_unpickle_NameAssignment(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v___pyx_type,long __pyx_v___pyx_checksum,PyObject * __pyx_v___pyx_state)38028 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_8__pyx_unpickle_NameAssignment(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
38029   PyObject *__pyx_v___pyx_PickleError = 0;
38030   PyObject *__pyx_v___pyx_result = 0;
38031   PyObject *__pyx_r = NULL;
38032   __Pyx_RefNannyDeclarations
38033   int __pyx_t_1;
38034   PyObject *__pyx_t_2 = NULL;
38035   PyObject *__pyx_t_3 = NULL;
38036   PyObject *__pyx_t_4 = NULL;
38037   PyObject *__pyx_t_5 = NULL;
38038   int __pyx_t_6;
38039   int __pyx_lineno = 0;
38040   const char *__pyx_filename = NULL;
38041   int __pyx_clineno = 0;
38042   __Pyx_RefNannySetupContext("__pyx_unpickle_NameAssignment", 0);
38043 
38044   /* "(tree fragment)":4
38045  *     cdef object __pyx_PickleError
38046  *     cdef object __pyx_result
38047  *     if __pyx_checksum != 0x13117fb:             # <<<<<<<<<<<<<<
38048  *         from pickle import PickleError as __pyx_PickleError
38049  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x13117fb = (bit, entry, inferred_type, is_arg, is_deletion, lhs, pos, refs, rhs))" % __pyx_checksum)
38050  */
38051   __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x13117fb) != 0);
38052   if (__pyx_t_1) {
38053 
38054     /* "(tree fragment)":5
38055  *     cdef object __pyx_result
38056  *     if __pyx_checksum != 0x13117fb:
38057  *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
38058  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x13117fb = (bit, entry, inferred_type, is_arg, is_deletion, lhs, pos, refs, rhs))" % __pyx_checksum)
38059  *     __pyx_result = NameAssignment.__new__(__pyx_type)
38060  */
38061     __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
38062     __Pyx_GOTREF(__pyx_t_2);
38063     __Pyx_INCREF(__pyx_n_s_PickleError);
38064     __Pyx_GIVEREF(__pyx_n_s_PickleError);
38065     PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
38066     __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
38067     __Pyx_GOTREF(__pyx_t_3);
38068     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
38069     __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
38070     __Pyx_GOTREF(__pyx_t_2);
38071     __Pyx_INCREF(__pyx_t_2);
38072     __pyx_v___pyx_PickleError = __pyx_t_2;
38073     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
38074     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
38075 
38076     /* "(tree fragment)":6
38077  *     if __pyx_checksum != 0x13117fb:
38078  *         from pickle import PickleError as __pyx_PickleError
38079  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x13117fb = (bit, entry, inferred_type, is_arg, is_deletion, lhs, pos, refs, rhs))" % __pyx_checksum)             # <<<<<<<<<<<<<<
38080  *     __pyx_result = NameAssignment.__new__(__pyx_type)
38081  *     if __pyx_state is not None:
38082  */
38083     __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6, __pyx_L1_error)
38084     __Pyx_GOTREF(__pyx_t_2);
38085     __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x13, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6, __pyx_L1_error)
38086     __Pyx_GOTREF(__pyx_t_4);
38087     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
38088     __Pyx_INCREF(__pyx_v___pyx_PickleError);
38089     __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
38090     if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
38091       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
38092       if (likely(__pyx_t_5)) {
38093         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
38094         __Pyx_INCREF(__pyx_t_5);
38095         __Pyx_INCREF(function);
38096         __Pyx_DECREF_SET(__pyx_t_2, function);
38097       }
38098     }
38099     __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
38100     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
38101     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
38102     if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6, __pyx_L1_error)
38103     __Pyx_GOTREF(__pyx_t_3);
38104     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
38105     __Pyx_Raise(__pyx_t_3, 0, 0, 0);
38106     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
38107     __PYX_ERR(2, 6, __pyx_L1_error)
38108 
38109     /* "(tree fragment)":4
38110  *     cdef object __pyx_PickleError
38111  *     cdef object __pyx_result
38112  *     if __pyx_checksum != 0x13117fb:             # <<<<<<<<<<<<<<
38113  *         from pickle import PickleError as __pyx_PickleError
38114  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x13117fb = (bit, entry, inferred_type, is_arg, is_deletion, lhs, pos, refs, rhs))" % __pyx_checksum)
38115  */
38116   }
38117 
38118   /* "(tree fragment)":7
38119  *         from pickle import PickleError as __pyx_PickleError
38120  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x13117fb = (bit, entry, inferred_type, is_arg, is_deletion, lhs, pos, refs, rhs))" % __pyx_checksum)
38121  *     __pyx_result = NameAssignment.__new__(__pyx_type)             # <<<<<<<<<<<<<<
38122  *     if __pyx_state is not None:
38123  *         __pyx_unpickle_NameAssignment__set_state(<NameAssignment> __pyx_result, __pyx_state)
38124  */
38125   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7, __pyx_L1_error)
38126   __Pyx_GOTREF(__pyx_t_2);
38127   __pyx_t_4 = NULL;
38128   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
38129     __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
38130     if (likely(__pyx_t_4)) {
38131       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
38132       __Pyx_INCREF(__pyx_t_4);
38133       __Pyx_INCREF(function);
38134       __Pyx_DECREF_SET(__pyx_t_2, function);
38135     }
38136   }
38137   __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
38138   __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
38139   if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7, __pyx_L1_error)
38140   __Pyx_GOTREF(__pyx_t_3);
38141   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
38142   __pyx_v___pyx_result = __pyx_t_3;
38143   __pyx_t_3 = 0;
38144 
38145   /* "(tree fragment)":8
38146  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x13117fb = (bit, entry, inferred_type, is_arg, is_deletion, lhs, pos, refs, rhs))" % __pyx_checksum)
38147  *     __pyx_result = NameAssignment.__new__(__pyx_type)
38148  *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
38149  *         __pyx_unpickle_NameAssignment__set_state(<NameAssignment> __pyx_result, __pyx_state)
38150  *     return __pyx_result
38151  */
38152   __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
38153   __pyx_t_6 = (__pyx_t_1 != 0);
38154   if (__pyx_t_6) {
38155 
38156     /* "(tree fragment)":9
38157  *     __pyx_result = NameAssignment.__new__(__pyx_type)
38158  *     if __pyx_state is not None:
38159  *         __pyx_unpickle_NameAssignment__set_state(<NameAssignment> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
38160  *     return __pyx_result
38161  * cdef __pyx_unpickle_NameAssignment__set_state(NameAssignment __pyx_result, tuple __pyx_state):
38162  */
38163     if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 9, __pyx_L1_error)
38164     __pyx_t_3 = __pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_NameAssignment__set_state(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9, __pyx_L1_error)
38165     __Pyx_GOTREF(__pyx_t_3);
38166     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
38167 
38168     /* "(tree fragment)":8
38169  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x13117fb = (bit, entry, inferred_type, is_arg, is_deletion, lhs, pos, refs, rhs))" % __pyx_checksum)
38170  *     __pyx_result = NameAssignment.__new__(__pyx_type)
38171  *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
38172  *         __pyx_unpickle_NameAssignment__set_state(<NameAssignment> __pyx_result, __pyx_state)
38173  *     return __pyx_result
38174  */
38175   }
38176 
38177   /* "(tree fragment)":10
38178  *     if __pyx_state is not None:
38179  *         __pyx_unpickle_NameAssignment__set_state(<NameAssignment> __pyx_result, __pyx_state)
38180  *     return __pyx_result             # <<<<<<<<<<<<<<
38181  * cdef __pyx_unpickle_NameAssignment__set_state(NameAssignment __pyx_result, tuple __pyx_state):
38182  *     __pyx_result.bit = __pyx_state[0]; __pyx_result.entry = __pyx_state[1]; __pyx_result.inferred_type = __pyx_state[2]; __pyx_result.is_arg = __pyx_state[3]; __pyx_result.is_deletion = __pyx_state[4]; __pyx_result.lhs = __pyx_state[5]; __pyx_result.pos = __pyx_state[6]; __pyx_result.refs = __pyx_state[7]; __pyx_result.rhs = __pyx_state[8]
38183  */
38184   __Pyx_XDECREF(__pyx_r);
38185   __Pyx_INCREF(__pyx_v___pyx_result);
38186   __pyx_r = __pyx_v___pyx_result;
38187   goto __pyx_L0;
38188 
38189   /* "(tree fragment)":1
38190  * def __pyx_unpickle_NameAssignment(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
38191  *     cdef object __pyx_PickleError
38192  *     cdef object __pyx_result
38193  */
38194 
38195   /* function exit code */
38196   __pyx_L1_error:;
38197   __Pyx_XDECREF(__pyx_t_2);
38198   __Pyx_XDECREF(__pyx_t_3);
38199   __Pyx_XDECREF(__pyx_t_4);
38200   __Pyx_XDECREF(__pyx_t_5);
38201   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_NameAssignment", __pyx_clineno, __pyx_lineno, __pyx_filename);
38202   __pyx_r = NULL;
38203   __pyx_L0:;
38204   __Pyx_XDECREF(__pyx_v___pyx_PickleError);
38205   __Pyx_XDECREF(__pyx_v___pyx_result);
38206   __Pyx_XGIVEREF(__pyx_r);
38207   __Pyx_RefNannyFinishContext();
38208   return __pyx_r;
38209 }
38210 
38211 /* "(tree fragment)":11
38212  *         __pyx_unpickle_NameAssignment__set_state(<NameAssignment> __pyx_result, __pyx_state)
38213  *     return __pyx_result
38214  * cdef __pyx_unpickle_NameAssignment__set_state(NameAssignment __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
38215  *     __pyx_result.bit = __pyx_state[0]; __pyx_result.entry = __pyx_state[1]; __pyx_result.inferred_type = __pyx_state[2]; __pyx_result.is_arg = __pyx_state[3]; __pyx_result.is_deletion = __pyx_state[4]; __pyx_result.lhs = __pyx_state[5]; __pyx_result.pos = __pyx_state[6]; __pyx_result.refs = __pyx_state[7]; __pyx_result.rhs = __pyx_state[8]
38216  *     if len(__pyx_state) > 9 and hasattr(__pyx_result, '__dict__'):
38217  */
38218 
__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_NameAssignment__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment * __pyx_v___pyx_result,PyObject * __pyx_v___pyx_state)38219 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_NameAssignment__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
38220   PyObject *__pyx_r = NULL;
38221   __Pyx_RefNannyDeclarations
38222   PyObject *__pyx_t_1 = NULL;
38223   int __pyx_t_2;
38224   Py_ssize_t __pyx_t_3;
38225   int __pyx_t_4;
38226   int __pyx_t_5;
38227   PyObject *__pyx_t_6 = NULL;
38228   PyObject *__pyx_t_7 = NULL;
38229   PyObject *__pyx_t_8 = NULL;
38230   int __pyx_lineno = 0;
38231   const char *__pyx_filename = NULL;
38232   int __pyx_clineno = 0;
38233   __Pyx_RefNannySetupContext("__pyx_unpickle_NameAssignment__set_state", 0);
38234 
38235   /* "(tree fragment)":12
38236  *     return __pyx_result
38237  * cdef __pyx_unpickle_NameAssignment__set_state(NameAssignment __pyx_result, tuple __pyx_state):
38238  *     __pyx_result.bit = __pyx_state[0]; __pyx_result.entry = __pyx_state[1]; __pyx_result.inferred_type = __pyx_state[2]; __pyx_result.is_arg = __pyx_state[3]; __pyx_result.is_deletion = __pyx_state[4]; __pyx_result.lhs = __pyx_state[5]; __pyx_result.pos = __pyx_state[6]; __pyx_result.refs = __pyx_state[7]; __pyx_result.rhs = __pyx_state[8]             # <<<<<<<<<<<<<<
38239  *     if len(__pyx_state) > 9 and hasattr(__pyx_result, '__dict__'):
38240  *         __pyx_result.__dict__.update(__pyx_state[9])
38241  */
38242   if (unlikely(__pyx_v___pyx_state == Py_None)) {
38243     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
38244     __PYX_ERR(2, 12, __pyx_L1_error)
38245   }
38246   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
38247   __Pyx_GOTREF(__pyx_t_1);
38248   __Pyx_GIVEREF(__pyx_t_1);
38249   __Pyx_GOTREF(__pyx_v___pyx_result->bit);
38250   __Pyx_DECREF(__pyx_v___pyx_result->bit);
38251   __pyx_v___pyx_result->bit = __pyx_t_1;
38252   __pyx_t_1 = 0;
38253   if (unlikely(__pyx_v___pyx_state == Py_None)) {
38254     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
38255     __PYX_ERR(2, 12, __pyx_L1_error)
38256   }
38257   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
38258   __Pyx_GOTREF(__pyx_t_1);
38259   __Pyx_GIVEREF(__pyx_t_1);
38260   __Pyx_GOTREF(__pyx_v___pyx_result->entry);
38261   __Pyx_DECREF(__pyx_v___pyx_result->entry);
38262   __pyx_v___pyx_result->entry = __pyx_t_1;
38263   __pyx_t_1 = 0;
38264   if (unlikely(__pyx_v___pyx_state == Py_None)) {
38265     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
38266     __PYX_ERR(2, 12, __pyx_L1_error)
38267   }
38268   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
38269   __Pyx_GOTREF(__pyx_t_1);
38270   __Pyx_GIVEREF(__pyx_t_1);
38271   __Pyx_GOTREF(__pyx_v___pyx_result->inferred_type);
38272   __Pyx_DECREF(__pyx_v___pyx_result->inferred_type);
38273   __pyx_v___pyx_result->inferred_type = __pyx_t_1;
38274   __pyx_t_1 = 0;
38275   if (unlikely(__pyx_v___pyx_state == Py_None)) {
38276     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
38277     __PYX_ERR(2, 12, __pyx_L1_error)
38278   }
38279   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
38280   __Pyx_GOTREF(__pyx_t_1);
38281   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 12, __pyx_L1_error)
38282   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
38283   __pyx_v___pyx_result->is_arg = __pyx_t_2;
38284   if (unlikely(__pyx_v___pyx_state == Py_None)) {
38285     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
38286     __PYX_ERR(2, 12, __pyx_L1_error)
38287   }
38288   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
38289   __Pyx_GOTREF(__pyx_t_1);
38290   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 12, __pyx_L1_error)
38291   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
38292   __pyx_v___pyx_result->is_deletion = __pyx_t_2;
38293   if (unlikely(__pyx_v___pyx_state == Py_None)) {
38294     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
38295     __PYX_ERR(2, 12, __pyx_L1_error)
38296   }
38297   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
38298   __Pyx_GOTREF(__pyx_t_1);
38299   __Pyx_GIVEREF(__pyx_t_1);
38300   __Pyx_GOTREF(__pyx_v___pyx_result->lhs);
38301   __Pyx_DECREF(__pyx_v___pyx_result->lhs);
38302   __pyx_v___pyx_result->lhs = __pyx_t_1;
38303   __pyx_t_1 = 0;
38304   if (unlikely(__pyx_v___pyx_state == Py_None)) {
38305     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
38306     __PYX_ERR(2, 12, __pyx_L1_error)
38307   }
38308   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
38309   __Pyx_GOTREF(__pyx_t_1);
38310   __Pyx_GIVEREF(__pyx_t_1);
38311   __Pyx_GOTREF(__pyx_v___pyx_result->pos);
38312   __Pyx_DECREF(__pyx_v___pyx_result->pos);
38313   __pyx_v___pyx_result->pos = __pyx_t_1;
38314   __pyx_t_1 = 0;
38315   if (unlikely(__pyx_v___pyx_state == Py_None)) {
38316     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
38317     __PYX_ERR(2, 12, __pyx_L1_error)
38318   }
38319   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
38320   __Pyx_GOTREF(__pyx_t_1);
38321   if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
38322   __Pyx_GIVEREF(__pyx_t_1);
38323   __Pyx_GOTREF(__pyx_v___pyx_result->refs);
38324   __Pyx_DECREF(__pyx_v___pyx_result->refs);
38325   __pyx_v___pyx_result->refs = ((PyObject*)__pyx_t_1);
38326   __pyx_t_1 = 0;
38327   if (unlikely(__pyx_v___pyx_state == Py_None)) {
38328     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
38329     __PYX_ERR(2, 12, __pyx_L1_error)
38330   }
38331   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
38332   __Pyx_GOTREF(__pyx_t_1);
38333   __Pyx_GIVEREF(__pyx_t_1);
38334   __Pyx_GOTREF(__pyx_v___pyx_result->rhs);
38335   __Pyx_DECREF(__pyx_v___pyx_result->rhs);
38336   __pyx_v___pyx_result->rhs = __pyx_t_1;
38337   __pyx_t_1 = 0;
38338 
38339   /* "(tree fragment)":13
38340  * cdef __pyx_unpickle_NameAssignment__set_state(NameAssignment __pyx_result, tuple __pyx_state):
38341  *     __pyx_result.bit = __pyx_state[0]; __pyx_result.entry = __pyx_state[1]; __pyx_result.inferred_type = __pyx_state[2]; __pyx_result.is_arg = __pyx_state[3]; __pyx_result.is_deletion = __pyx_state[4]; __pyx_result.lhs = __pyx_state[5]; __pyx_result.pos = __pyx_state[6]; __pyx_result.refs = __pyx_state[7]; __pyx_result.rhs = __pyx_state[8]
38342  *     if len(__pyx_state) > 9 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
38343  *         __pyx_result.__dict__.update(__pyx_state[9])
38344  */
38345   if (unlikely(__pyx_v___pyx_state == Py_None)) {
38346     PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
38347     __PYX_ERR(2, 13, __pyx_L1_error)
38348   }
38349   __pyx_t_3 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(2, 13, __pyx_L1_error)
38350   __pyx_t_4 = ((__pyx_t_3 > 9) != 0);
38351   if (__pyx_t_4) {
38352   } else {
38353     __pyx_t_2 = __pyx_t_4;
38354     goto __pyx_L4_bool_binop_done;
38355   }
38356   __pyx_t_4 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 13, __pyx_L1_error)
38357   __pyx_t_5 = (__pyx_t_4 != 0);
38358   __pyx_t_2 = __pyx_t_5;
38359   __pyx_L4_bool_binop_done:;
38360   if (__pyx_t_2) {
38361 
38362     /* "(tree fragment)":14
38363  *     __pyx_result.bit = __pyx_state[0]; __pyx_result.entry = __pyx_state[1]; __pyx_result.inferred_type = __pyx_state[2]; __pyx_result.is_arg = __pyx_state[3]; __pyx_result.is_deletion = __pyx_state[4]; __pyx_result.lhs = __pyx_state[5]; __pyx_result.pos = __pyx_state[6]; __pyx_result.refs = __pyx_state[7]; __pyx_result.rhs = __pyx_state[8]
38364  *     if len(__pyx_state) > 9 and hasattr(__pyx_result, '__dict__'):
38365  *         __pyx_result.__dict__.update(__pyx_state[9])             # <<<<<<<<<<<<<<
38366  */
38367     __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error)
38368     __Pyx_GOTREF(__pyx_t_6);
38369     __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 14, __pyx_L1_error)
38370     __Pyx_GOTREF(__pyx_t_7);
38371     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
38372     if (unlikely(__pyx_v___pyx_state == Py_None)) {
38373       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
38374       __PYX_ERR(2, 14, __pyx_L1_error)
38375     }
38376     __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 9, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error)
38377     __Pyx_GOTREF(__pyx_t_6);
38378     __pyx_t_8 = NULL;
38379     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
38380       __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
38381       if (likely(__pyx_t_8)) {
38382         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
38383         __Pyx_INCREF(__pyx_t_8);
38384         __Pyx_INCREF(function);
38385         __Pyx_DECREF_SET(__pyx_t_7, function);
38386       }
38387     }
38388     __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
38389     __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
38390     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
38391     if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 14, __pyx_L1_error)
38392     __Pyx_GOTREF(__pyx_t_1);
38393     __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
38394     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
38395 
38396     /* "(tree fragment)":13
38397  * cdef __pyx_unpickle_NameAssignment__set_state(NameAssignment __pyx_result, tuple __pyx_state):
38398  *     __pyx_result.bit = __pyx_state[0]; __pyx_result.entry = __pyx_state[1]; __pyx_result.inferred_type = __pyx_state[2]; __pyx_result.is_arg = __pyx_state[3]; __pyx_result.is_deletion = __pyx_state[4]; __pyx_result.lhs = __pyx_state[5]; __pyx_result.pos = __pyx_state[6]; __pyx_result.refs = __pyx_state[7]; __pyx_result.rhs = __pyx_state[8]
38399  *     if len(__pyx_state) > 9 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
38400  *         __pyx_result.__dict__.update(__pyx_state[9])
38401  */
38402   }
38403 
38404   /* "(tree fragment)":11
38405  *         __pyx_unpickle_NameAssignment__set_state(<NameAssignment> __pyx_result, __pyx_state)
38406  *     return __pyx_result
38407  * cdef __pyx_unpickle_NameAssignment__set_state(NameAssignment __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
38408  *     __pyx_result.bit = __pyx_state[0]; __pyx_result.entry = __pyx_state[1]; __pyx_result.inferred_type = __pyx_state[2]; __pyx_result.is_arg = __pyx_state[3]; __pyx_result.is_deletion = __pyx_state[4]; __pyx_result.lhs = __pyx_state[5]; __pyx_result.pos = __pyx_state[6]; __pyx_result.refs = __pyx_state[7]; __pyx_result.rhs = __pyx_state[8]
38409  *     if len(__pyx_state) > 9 and hasattr(__pyx_result, '__dict__'):
38410  */
38411 
38412   /* function exit code */
38413   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
38414   goto __pyx_L0;
38415   __pyx_L1_error:;
38416   __Pyx_XDECREF(__pyx_t_1);
38417   __Pyx_XDECREF(__pyx_t_6);
38418   __Pyx_XDECREF(__pyx_t_7);
38419   __Pyx_XDECREF(__pyx_t_8);
38420   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_NameAssignment__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
38421   __pyx_r = 0;
38422   __pyx_L0:;
38423   __Pyx_XGIVEREF(__pyx_r);
38424   __Pyx_RefNannyFinishContext();
38425   return __pyx_r;
38426 }
38427 
38428 /* "(tree fragment)":1
38429  * def __pyx_unpickle_Uninitialized(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
38430  *     cdef object __pyx_PickleError
38431  *     cdef object __pyx_result
38432  */
38433 
38434 /* Python wrapper */
38435 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11__pyx_unpickle_Uninitialized(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
38436 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_11__pyx_unpickle_Uninitialized = {"__pyx_unpickle_Uninitialized", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_11__pyx_unpickle_Uninitialized, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_11__pyx_unpickle_Uninitialized(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)38437 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_11__pyx_unpickle_Uninitialized(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
38438   PyObject *__pyx_v___pyx_type = 0;
38439   long __pyx_v___pyx_checksum;
38440   PyObject *__pyx_v___pyx_state = 0;
38441   int __pyx_lineno = 0;
38442   const char *__pyx_filename = NULL;
38443   int __pyx_clineno = 0;
38444   PyObject *__pyx_r = 0;
38445   __Pyx_RefNannyDeclarations
38446   __Pyx_RefNannySetupContext("__pyx_unpickle_Uninitialized (wrapper)", 0);
38447   {
38448     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
38449     PyObject* values[3] = {0,0,0};
38450     if (unlikely(__pyx_kwds)) {
38451       Py_ssize_t kw_args;
38452       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
38453       switch (pos_args) {
38454         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
38455         CYTHON_FALLTHROUGH;
38456         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
38457         CYTHON_FALLTHROUGH;
38458         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
38459         CYTHON_FALLTHROUGH;
38460         case  0: break;
38461         default: goto __pyx_L5_argtuple_error;
38462       }
38463       kw_args = PyDict_Size(__pyx_kwds);
38464       switch (pos_args) {
38465         case  0:
38466         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
38467         else goto __pyx_L5_argtuple_error;
38468         CYTHON_FALLTHROUGH;
38469         case  1:
38470         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
38471         else {
38472           __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Uninitialized", 1, 3, 3, 1); __PYX_ERR(2, 1, __pyx_L3_error)
38473         }
38474         CYTHON_FALLTHROUGH;
38475         case  2:
38476         if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
38477         else {
38478           __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Uninitialized", 1, 3, 3, 2); __PYX_ERR(2, 1, __pyx_L3_error)
38479         }
38480       }
38481       if (unlikely(kw_args > 0)) {
38482         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_Uninitialized") < 0)) __PYX_ERR(2, 1, __pyx_L3_error)
38483       }
38484     } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
38485       goto __pyx_L5_argtuple_error;
38486     } else {
38487       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
38488       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
38489       values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
38490     }
38491     __pyx_v___pyx_type = values[0];
38492     __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
38493     __pyx_v___pyx_state = values[2];
38494   }
38495   goto __pyx_L4_argument_unpacking_done;
38496   __pyx_L5_argtuple_error:;
38497   __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Uninitialized", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(2, 1, __pyx_L3_error)
38498   __pyx_L3_error:;
38499   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_Uninitialized", __pyx_clineno, __pyx_lineno, __pyx_filename);
38500   __Pyx_RefNannyFinishContext();
38501   return NULL;
38502   __pyx_L4_argument_unpacking_done:;
38503   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_10__pyx_unpickle_Uninitialized(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
38504 
38505   /* function exit code */
38506   __Pyx_RefNannyFinishContext();
38507   return __pyx_r;
38508 }
38509 
__pyx_pf_6Cython_8Compiler_11FlowControl_10__pyx_unpickle_Uninitialized(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v___pyx_type,long __pyx_v___pyx_checksum,PyObject * __pyx_v___pyx_state)38510 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_10__pyx_unpickle_Uninitialized(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
38511   PyObject *__pyx_v___pyx_PickleError = 0;
38512   PyObject *__pyx_v___pyx_result = 0;
38513   PyObject *__pyx_r = NULL;
38514   __Pyx_RefNannyDeclarations
38515   int __pyx_t_1;
38516   PyObject *__pyx_t_2 = NULL;
38517   PyObject *__pyx_t_3 = NULL;
38518   PyObject *__pyx_t_4 = NULL;
38519   PyObject *__pyx_t_5 = NULL;
38520   int __pyx_t_6;
38521   int __pyx_lineno = 0;
38522   const char *__pyx_filename = NULL;
38523   int __pyx_clineno = 0;
38524   __Pyx_RefNannySetupContext("__pyx_unpickle_Uninitialized", 0);
38525 
38526   /* "(tree fragment)":4
38527  *     cdef object __pyx_PickleError
38528  *     cdef object __pyx_result
38529  *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
38530  *         from pickle import PickleError as __pyx_PickleError
38531  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
38532  */
38533   __pyx_t_1 = ((__pyx_v___pyx_checksum != 0xd41d8cd) != 0);
38534   if (__pyx_t_1) {
38535 
38536     /* "(tree fragment)":5
38537  *     cdef object __pyx_result
38538  *     if __pyx_checksum != 0xd41d8cd:
38539  *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
38540  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
38541  *     __pyx_result = Uninitialized.__new__(__pyx_type)
38542  */
38543     __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
38544     __Pyx_GOTREF(__pyx_t_2);
38545     __Pyx_INCREF(__pyx_n_s_PickleError);
38546     __Pyx_GIVEREF(__pyx_n_s_PickleError);
38547     PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
38548     __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
38549     __Pyx_GOTREF(__pyx_t_3);
38550     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
38551     __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
38552     __Pyx_GOTREF(__pyx_t_2);
38553     __Pyx_INCREF(__pyx_t_2);
38554     __pyx_v___pyx_PickleError = __pyx_t_2;
38555     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
38556     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
38557 
38558     /* "(tree fragment)":6
38559  *     if __pyx_checksum != 0xd41d8cd:
38560  *         from pickle import PickleError as __pyx_PickleError
38561  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)             # <<<<<<<<<<<<<<
38562  *     __pyx_result = Uninitialized.__new__(__pyx_type)
38563  *     if __pyx_state is not None:
38564  */
38565     __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6, __pyx_L1_error)
38566     __Pyx_GOTREF(__pyx_t_2);
38567     __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0xd4, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6, __pyx_L1_error)
38568     __Pyx_GOTREF(__pyx_t_4);
38569     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
38570     __Pyx_INCREF(__pyx_v___pyx_PickleError);
38571     __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
38572     if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
38573       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
38574       if (likely(__pyx_t_5)) {
38575         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
38576         __Pyx_INCREF(__pyx_t_5);
38577         __Pyx_INCREF(function);
38578         __Pyx_DECREF_SET(__pyx_t_2, function);
38579       }
38580     }
38581     __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
38582     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
38583     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
38584     if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6, __pyx_L1_error)
38585     __Pyx_GOTREF(__pyx_t_3);
38586     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
38587     __Pyx_Raise(__pyx_t_3, 0, 0, 0);
38588     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
38589     __PYX_ERR(2, 6, __pyx_L1_error)
38590 
38591     /* "(tree fragment)":4
38592  *     cdef object __pyx_PickleError
38593  *     cdef object __pyx_result
38594  *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
38595  *         from pickle import PickleError as __pyx_PickleError
38596  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
38597  */
38598   }
38599 
38600   /* "(tree fragment)":7
38601  *         from pickle import PickleError as __pyx_PickleError
38602  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
38603  *     __pyx_result = Uninitialized.__new__(__pyx_type)             # <<<<<<<<<<<<<<
38604  *     if __pyx_state is not None:
38605  *         __pyx_unpickle_Uninitialized__set_state(<Uninitialized> __pyx_result, __pyx_state)
38606  */
38607   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_Uninitialized), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7, __pyx_L1_error)
38608   __Pyx_GOTREF(__pyx_t_2);
38609   __pyx_t_4 = NULL;
38610   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
38611     __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
38612     if (likely(__pyx_t_4)) {
38613       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
38614       __Pyx_INCREF(__pyx_t_4);
38615       __Pyx_INCREF(function);
38616       __Pyx_DECREF_SET(__pyx_t_2, function);
38617     }
38618   }
38619   __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
38620   __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
38621   if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7, __pyx_L1_error)
38622   __Pyx_GOTREF(__pyx_t_3);
38623   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
38624   __pyx_v___pyx_result = __pyx_t_3;
38625   __pyx_t_3 = 0;
38626 
38627   /* "(tree fragment)":8
38628  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
38629  *     __pyx_result = Uninitialized.__new__(__pyx_type)
38630  *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
38631  *         __pyx_unpickle_Uninitialized__set_state(<Uninitialized> __pyx_result, __pyx_state)
38632  *     return __pyx_result
38633  */
38634   __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
38635   __pyx_t_6 = (__pyx_t_1 != 0);
38636   if (__pyx_t_6) {
38637 
38638     /* "(tree fragment)":9
38639  *     __pyx_result = Uninitialized.__new__(__pyx_type)
38640  *     if __pyx_state is not None:
38641  *         __pyx_unpickle_Uninitialized__set_state(<Uninitialized> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
38642  *     return __pyx_result
38643  * cdef __pyx_unpickle_Uninitialized__set_state(Uninitialized __pyx_result, tuple __pyx_state):
38644  */
38645     if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 9, __pyx_L1_error)
38646     __pyx_t_3 = __pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_Uninitialized__set_state(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_Uninitialized *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9, __pyx_L1_error)
38647     __Pyx_GOTREF(__pyx_t_3);
38648     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
38649 
38650     /* "(tree fragment)":8
38651  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
38652  *     __pyx_result = Uninitialized.__new__(__pyx_type)
38653  *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
38654  *         __pyx_unpickle_Uninitialized__set_state(<Uninitialized> __pyx_result, __pyx_state)
38655  *     return __pyx_result
38656  */
38657   }
38658 
38659   /* "(tree fragment)":10
38660  *     if __pyx_state is not None:
38661  *         __pyx_unpickle_Uninitialized__set_state(<Uninitialized> __pyx_result, __pyx_state)
38662  *     return __pyx_result             # <<<<<<<<<<<<<<
38663  * cdef __pyx_unpickle_Uninitialized__set_state(Uninitialized __pyx_result, tuple __pyx_state):
38664  *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
38665  */
38666   __Pyx_XDECREF(__pyx_r);
38667   __Pyx_INCREF(__pyx_v___pyx_result);
38668   __pyx_r = __pyx_v___pyx_result;
38669   goto __pyx_L0;
38670 
38671   /* "(tree fragment)":1
38672  * def __pyx_unpickle_Uninitialized(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
38673  *     cdef object __pyx_PickleError
38674  *     cdef object __pyx_result
38675  */
38676 
38677   /* function exit code */
38678   __pyx_L1_error:;
38679   __Pyx_XDECREF(__pyx_t_2);
38680   __Pyx_XDECREF(__pyx_t_3);
38681   __Pyx_XDECREF(__pyx_t_4);
38682   __Pyx_XDECREF(__pyx_t_5);
38683   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_Uninitialized", __pyx_clineno, __pyx_lineno, __pyx_filename);
38684   __pyx_r = NULL;
38685   __pyx_L0:;
38686   __Pyx_XDECREF(__pyx_v___pyx_PickleError);
38687   __Pyx_XDECREF(__pyx_v___pyx_result);
38688   __Pyx_XGIVEREF(__pyx_r);
38689   __Pyx_RefNannyFinishContext();
38690   return __pyx_r;
38691 }
38692 
38693 /* "(tree fragment)":11
38694  *         __pyx_unpickle_Uninitialized__set_state(<Uninitialized> __pyx_result, __pyx_state)
38695  *     return __pyx_result
38696  * cdef __pyx_unpickle_Uninitialized__set_state(Uninitialized __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
38697  *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
38698  *         __pyx_result.__dict__.update(__pyx_state[0])
38699  */
38700 
__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_Uninitialized__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_Uninitialized * __pyx_v___pyx_result,PyObject * __pyx_v___pyx_state)38701 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_Uninitialized__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_Uninitialized *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
38702   PyObject *__pyx_r = NULL;
38703   __Pyx_RefNannyDeclarations
38704   int __pyx_t_1;
38705   Py_ssize_t __pyx_t_2;
38706   int __pyx_t_3;
38707   int __pyx_t_4;
38708   PyObject *__pyx_t_5 = NULL;
38709   PyObject *__pyx_t_6 = NULL;
38710   PyObject *__pyx_t_7 = NULL;
38711   PyObject *__pyx_t_8 = NULL;
38712   int __pyx_lineno = 0;
38713   const char *__pyx_filename = NULL;
38714   int __pyx_clineno = 0;
38715   __Pyx_RefNannySetupContext("__pyx_unpickle_Uninitialized__set_state", 0);
38716 
38717   /* "(tree fragment)":12
38718  *     return __pyx_result
38719  * cdef __pyx_unpickle_Uninitialized__set_state(Uninitialized __pyx_result, tuple __pyx_state):
38720  *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
38721  *         __pyx_result.__dict__.update(__pyx_state[0])
38722  */
38723   if (unlikely(__pyx_v___pyx_state == Py_None)) {
38724     PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
38725     __PYX_ERR(2, 12, __pyx_L1_error)
38726   }
38727   __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(2, 12, __pyx_L1_error)
38728   __pyx_t_3 = ((__pyx_t_2 > 0) != 0);
38729   if (__pyx_t_3) {
38730   } else {
38731     __pyx_t_1 = __pyx_t_3;
38732     goto __pyx_L4_bool_binop_done;
38733   }
38734   __pyx_t_3 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 12, __pyx_L1_error)
38735   __pyx_t_4 = (__pyx_t_3 != 0);
38736   __pyx_t_1 = __pyx_t_4;
38737   __pyx_L4_bool_binop_done:;
38738   if (__pyx_t_1) {
38739 
38740     /* "(tree fragment)":13
38741  * cdef __pyx_unpickle_Uninitialized__set_state(Uninitialized __pyx_result, tuple __pyx_state):
38742  *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
38743  *         __pyx_result.__dict__.update(__pyx_state[0])             # <<<<<<<<<<<<<<
38744  */
38745     __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 13, __pyx_L1_error)
38746     __Pyx_GOTREF(__pyx_t_6);
38747     __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 13, __pyx_L1_error)
38748     __Pyx_GOTREF(__pyx_t_7);
38749     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
38750     if (unlikely(__pyx_v___pyx_state == Py_None)) {
38751       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
38752       __PYX_ERR(2, 13, __pyx_L1_error)
38753     }
38754     __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 13, __pyx_L1_error)
38755     __Pyx_GOTREF(__pyx_t_6);
38756     __pyx_t_8 = NULL;
38757     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
38758       __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
38759       if (likely(__pyx_t_8)) {
38760         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
38761         __Pyx_INCREF(__pyx_t_8);
38762         __Pyx_INCREF(function);
38763         __Pyx_DECREF_SET(__pyx_t_7, function);
38764       }
38765     }
38766     __pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
38767     __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
38768     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
38769     if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 13, __pyx_L1_error)
38770     __Pyx_GOTREF(__pyx_t_5);
38771     __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
38772     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
38773 
38774     /* "(tree fragment)":12
38775  *     return __pyx_result
38776  * cdef __pyx_unpickle_Uninitialized__set_state(Uninitialized __pyx_result, tuple __pyx_state):
38777  *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
38778  *         __pyx_result.__dict__.update(__pyx_state[0])
38779  */
38780   }
38781 
38782   /* "(tree fragment)":11
38783  *         __pyx_unpickle_Uninitialized__set_state(<Uninitialized> __pyx_result, __pyx_state)
38784  *     return __pyx_result
38785  * cdef __pyx_unpickle_Uninitialized__set_state(Uninitialized __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
38786  *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
38787  *         __pyx_result.__dict__.update(__pyx_state[0])
38788  */
38789 
38790   /* function exit code */
38791   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
38792   goto __pyx_L0;
38793   __pyx_L1_error:;
38794   __Pyx_XDECREF(__pyx_t_5);
38795   __Pyx_XDECREF(__pyx_t_6);
38796   __Pyx_XDECREF(__pyx_t_7);
38797   __Pyx_XDECREF(__pyx_t_8);
38798   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_Uninitialized__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
38799   __pyx_r = 0;
38800   __pyx_L0:;
38801   __Pyx_XGIVEREF(__pyx_r);
38802   __Pyx_RefNannyFinishContext();
38803   return __pyx_r;
38804 }
38805 
38806 /* "(tree fragment)":1
38807  * def __pyx_unpickle_Unknown(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
38808  *     cdef object __pyx_PickleError
38809  *     cdef object __pyx_result
38810  */
38811 
38812 /* Python wrapper */
38813 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_13__pyx_unpickle_Unknown(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
38814 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_13__pyx_unpickle_Unknown = {"__pyx_unpickle_Unknown", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_13__pyx_unpickle_Unknown, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_13__pyx_unpickle_Unknown(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)38815 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_13__pyx_unpickle_Unknown(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
38816   PyObject *__pyx_v___pyx_type = 0;
38817   long __pyx_v___pyx_checksum;
38818   PyObject *__pyx_v___pyx_state = 0;
38819   int __pyx_lineno = 0;
38820   const char *__pyx_filename = NULL;
38821   int __pyx_clineno = 0;
38822   PyObject *__pyx_r = 0;
38823   __Pyx_RefNannyDeclarations
38824   __Pyx_RefNannySetupContext("__pyx_unpickle_Unknown (wrapper)", 0);
38825   {
38826     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
38827     PyObject* values[3] = {0,0,0};
38828     if (unlikely(__pyx_kwds)) {
38829       Py_ssize_t kw_args;
38830       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
38831       switch (pos_args) {
38832         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
38833         CYTHON_FALLTHROUGH;
38834         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
38835         CYTHON_FALLTHROUGH;
38836         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
38837         CYTHON_FALLTHROUGH;
38838         case  0: break;
38839         default: goto __pyx_L5_argtuple_error;
38840       }
38841       kw_args = PyDict_Size(__pyx_kwds);
38842       switch (pos_args) {
38843         case  0:
38844         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
38845         else goto __pyx_L5_argtuple_error;
38846         CYTHON_FALLTHROUGH;
38847         case  1:
38848         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
38849         else {
38850           __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Unknown", 1, 3, 3, 1); __PYX_ERR(2, 1, __pyx_L3_error)
38851         }
38852         CYTHON_FALLTHROUGH;
38853         case  2:
38854         if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
38855         else {
38856           __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Unknown", 1, 3, 3, 2); __PYX_ERR(2, 1, __pyx_L3_error)
38857         }
38858       }
38859       if (unlikely(kw_args > 0)) {
38860         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_Unknown") < 0)) __PYX_ERR(2, 1, __pyx_L3_error)
38861       }
38862     } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
38863       goto __pyx_L5_argtuple_error;
38864     } else {
38865       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
38866       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
38867       values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
38868     }
38869     __pyx_v___pyx_type = values[0];
38870     __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
38871     __pyx_v___pyx_state = values[2];
38872   }
38873   goto __pyx_L4_argument_unpacking_done;
38874   __pyx_L5_argtuple_error:;
38875   __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Unknown", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(2, 1, __pyx_L3_error)
38876   __pyx_L3_error:;
38877   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_Unknown", __pyx_clineno, __pyx_lineno, __pyx_filename);
38878   __Pyx_RefNannyFinishContext();
38879   return NULL;
38880   __pyx_L4_argument_unpacking_done:;
38881   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_12__pyx_unpickle_Unknown(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
38882 
38883   /* function exit code */
38884   __Pyx_RefNannyFinishContext();
38885   return __pyx_r;
38886 }
38887 
__pyx_pf_6Cython_8Compiler_11FlowControl_12__pyx_unpickle_Unknown(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v___pyx_type,long __pyx_v___pyx_checksum,PyObject * __pyx_v___pyx_state)38888 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_12__pyx_unpickle_Unknown(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
38889   PyObject *__pyx_v___pyx_PickleError = 0;
38890   PyObject *__pyx_v___pyx_result = 0;
38891   PyObject *__pyx_r = NULL;
38892   __Pyx_RefNannyDeclarations
38893   int __pyx_t_1;
38894   PyObject *__pyx_t_2 = NULL;
38895   PyObject *__pyx_t_3 = NULL;
38896   PyObject *__pyx_t_4 = NULL;
38897   PyObject *__pyx_t_5 = NULL;
38898   int __pyx_t_6;
38899   int __pyx_lineno = 0;
38900   const char *__pyx_filename = NULL;
38901   int __pyx_clineno = 0;
38902   __Pyx_RefNannySetupContext("__pyx_unpickle_Unknown", 0);
38903 
38904   /* "(tree fragment)":4
38905  *     cdef object __pyx_PickleError
38906  *     cdef object __pyx_result
38907  *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
38908  *         from pickle import PickleError as __pyx_PickleError
38909  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
38910  */
38911   __pyx_t_1 = ((__pyx_v___pyx_checksum != 0xd41d8cd) != 0);
38912   if (__pyx_t_1) {
38913 
38914     /* "(tree fragment)":5
38915  *     cdef object __pyx_result
38916  *     if __pyx_checksum != 0xd41d8cd:
38917  *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
38918  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
38919  *     __pyx_result = Unknown.__new__(__pyx_type)
38920  */
38921     __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
38922     __Pyx_GOTREF(__pyx_t_2);
38923     __Pyx_INCREF(__pyx_n_s_PickleError);
38924     __Pyx_GIVEREF(__pyx_n_s_PickleError);
38925     PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
38926     __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
38927     __Pyx_GOTREF(__pyx_t_3);
38928     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
38929     __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
38930     __Pyx_GOTREF(__pyx_t_2);
38931     __Pyx_INCREF(__pyx_t_2);
38932     __pyx_v___pyx_PickleError = __pyx_t_2;
38933     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
38934     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
38935 
38936     /* "(tree fragment)":6
38937  *     if __pyx_checksum != 0xd41d8cd:
38938  *         from pickle import PickleError as __pyx_PickleError
38939  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)             # <<<<<<<<<<<<<<
38940  *     __pyx_result = Unknown.__new__(__pyx_type)
38941  *     if __pyx_state is not None:
38942  */
38943     __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6, __pyx_L1_error)
38944     __Pyx_GOTREF(__pyx_t_2);
38945     __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0xd4, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6, __pyx_L1_error)
38946     __Pyx_GOTREF(__pyx_t_4);
38947     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
38948     __Pyx_INCREF(__pyx_v___pyx_PickleError);
38949     __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
38950     if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
38951       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
38952       if (likely(__pyx_t_5)) {
38953         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
38954         __Pyx_INCREF(__pyx_t_5);
38955         __Pyx_INCREF(function);
38956         __Pyx_DECREF_SET(__pyx_t_2, function);
38957       }
38958     }
38959     __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
38960     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
38961     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
38962     if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6, __pyx_L1_error)
38963     __Pyx_GOTREF(__pyx_t_3);
38964     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
38965     __Pyx_Raise(__pyx_t_3, 0, 0, 0);
38966     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
38967     __PYX_ERR(2, 6, __pyx_L1_error)
38968 
38969     /* "(tree fragment)":4
38970  *     cdef object __pyx_PickleError
38971  *     cdef object __pyx_result
38972  *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
38973  *         from pickle import PickleError as __pyx_PickleError
38974  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
38975  */
38976   }
38977 
38978   /* "(tree fragment)":7
38979  *         from pickle import PickleError as __pyx_PickleError
38980  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
38981  *     __pyx_result = Unknown.__new__(__pyx_type)             # <<<<<<<<<<<<<<
38982  *     if __pyx_state is not None:
38983  *         __pyx_unpickle_Unknown__set_state(<Unknown> __pyx_result, __pyx_state)
38984  */
38985   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_Unknown), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7, __pyx_L1_error)
38986   __Pyx_GOTREF(__pyx_t_2);
38987   __pyx_t_4 = NULL;
38988   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
38989     __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
38990     if (likely(__pyx_t_4)) {
38991       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
38992       __Pyx_INCREF(__pyx_t_4);
38993       __Pyx_INCREF(function);
38994       __Pyx_DECREF_SET(__pyx_t_2, function);
38995     }
38996   }
38997   __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
38998   __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
38999   if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7, __pyx_L1_error)
39000   __Pyx_GOTREF(__pyx_t_3);
39001   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
39002   __pyx_v___pyx_result = __pyx_t_3;
39003   __pyx_t_3 = 0;
39004 
39005   /* "(tree fragment)":8
39006  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
39007  *     __pyx_result = Unknown.__new__(__pyx_type)
39008  *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
39009  *         __pyx_unpickle_Unknown__set_state(<Unknown> __pyx_result, __pyx_state)
39010  *     return __pyx_result
39011  */
39012   __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
39013   __pyx_t_6 = (__pyx_t_1 != 0);
39014   if (__pyx_t_6) {
39015 
39016     /* "(tree fragment)":9
39017  *     __pyx_result = Unknown.__new__(__pyx_type)
39018  *     if __pyx_state is not None:
39019  *         __pyx_unpickle_Unknown__set_state(<Unknown> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
39020  *     return __pyx_result
39021  * cdef __pyx_unpickle_Unknown__set_state(Unknown __pyx_result, tuple __pyx_state):
39022  */
39023     if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 9, __pyx_L1_error)
39024     __pyx_t_3 = __pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_Unknown__set_state(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_Unknown *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9, __pyx_L1_error)
39025     __Pyx_GOTREF(__pyx_t_3);
39026     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
39027 
39028     /* "(tree fragment)":8
39029  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
39030  *     __pyx_result = Unknown.__new__(__pyx_type)
39031  *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
39032  *         __pyx_unpickle_Unknown__set_state(<Unknown> __pyx_result, __pyx_state)
39033  *     return __pyx_result
39034  */
39035   }
39036 
39037   /* "(tree fragment)":10
39038  *     if __pyx_state is not None:
39039  *         __pyx_unpickle_Unknown__set_state(<Unknown> __pyx_result, __pyx_state)
39040  *     return __pyx_result             # <<<<<<<<<<<<<<
39041  * cdef __pyx_unpickle_Unknown__set_state(Unknown __pyx_result, tuple __pyx_state):
39042  *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
39043  */
39044   __Pyx_XDECREF(__pyx_r);
39045   __Pyx_INCREF(__pyx_v___pyx_result);
39046   __pyx_r = __pyx_v___pyx_result;
39047   goto __pyx_L0;
39048 
39049   /* "(tree fragment)":1
39050  * def __pyx_unpickle_Unknown(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
39051  *     cdef object __pyx_PickleError
39052  *     cdef object __pyx_result
39053  */
39054 
39055   /* function exit code */
39056   __pyx_L1_error:;
39057   __Pyx_XDECREF(__pyx_t_2);
39058   __Pyx_XDECREF(__pyx_t_3);
39059   __Pyx_XDECREF(__pyx_t_4);
39060   __Pyx_XDECREF(__pyx_t_5);
39061   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_Unknown", __pyx_clineno, __pyx_lineno, __pyx_filename);
39062   __pyx_r = NULL;
39063   __pyx_L0:;
39064   __Pyx_XDECREF(__pyx_v___pyx_PickleError);
39065   __Pyx_XDECREF(__pyx_v___pyx_result);
39066   __Pyx_XGIVEREF(__pyx_r);
39067   __Pyx_RefNannyFinishContext();
39068   return __pyx_r;
39069 }
39070 
39071 /* "(tree fragment)":11
39072  *         __pyx_unpickle_Unknown__set_state(<Unknown> __pyx_result, __pyx_state)
39073  *     return __pyx_result
39074  * cdef __pyx_unpickle_Unknown__set_state(Unknown __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
39075  *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
39076  *         __pyx_result.__dict__.update(__pyx_state[0])
39077  */
39078 
__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_Unknown__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_Unknown * __pyx_v___pyx_result,PyObject * __pyx_v___pyx_state)39079 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_Unknown__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_Unknown *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
39080   PyObject *__pyx_r = NULL;
39081   __Pyx_RefNannyDeclarations
39082   int __pyx_t_1;
39083   Py_ssize_t __pyx_t_2;
39084   int __pyx_t_3;
39085   int __pyx_t_4;
39086   PyObject *__pyx_t_5 = NULL;
39087   PyObject *__pyx_t_6 = NULL;
39088   PyObject *__pyx_t_7 = NULL;
39089   PyObject *__pyx_t_8 = NULL;
39090   int __pyx_lineno = 0;
39091   const char *__pyx_filename = NULL;
39092   int __pyx_clineno = 0;
39093   __Pyx_RefNannySetupContext("__pyx_unpickle_Unknown__set_state", 0);
39094 
39095   /* "(tree fragment)":12
39096  *     return __pyx_result
39097  * cdef __pyx_unpickle_Unknown__set_state(Unknown __pyx_result, tuple __pyx_state):
39098  *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
39099  *         __pyx_result.__dict__.update(__pyx_state[0])
39100  */
39101   if (unlikely(__pyx_v___pyx_state == Py_None)) {
39102     PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
39103     __PYX_ERR(2, 12, __pyx_L1_error)
39104   }
39105   __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(2, 12, __pyx_L1_error)
39106   __pyx_t_3 = ((__pyx_t_2 > 0) != 0);
39107   if (__pyx_t_3) {
39108   } else {
39109     __pyx_t_1 = __pyx_t_3;
39110     goto __pyx_L4_bool_binop_done;
39111   }
39112   __pyx_t_3 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 12, __pyx_L1_error)
39113   __pyx_t_4 = (__pyx_t_3 != 0);
39114   __pyx_t_1 = __pyx_t_4;
39115   __pyx_L4_bool_binop_done:;
39116   if (__pyx_t_1) {
39117 
39118     /* "(tree fragment)":13
39119  * cdef __pyx_unpickle_Unknown__set_state(Unknown __pyx_result, tuple __pyx_state):
39120  *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
39121  *         __pyx_result.__dict__.update(__pyx_state[0])             # <<<<<<<<<<<<<<
39122  */
39123     __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 13, __pyx_L1_error)
39124     __Pyx_GOTREF(__pyx_t_6);
39125     __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 13, __pyx_L1_error)
39126     __Pyx_GOTREF(__pyx_t_7);
39127     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
39128     if (unlikely(__pyx_v___pyx_state == Py_None)) {
39129       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
39130       __PYX_ERR(2, 13, __pyx_L1_error)
39131     }
39132     __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 13, __pyx_L1_error)
39133     __Pyx_GOTREF(__pyx_t_6);
39134     __pyx_t_8 = NULL;
39135     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
39136       __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
39137       if (likely(__pyx_t_8)) {
39138         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
39139         __Pyx_INCREF(__pyx_t_8);
39140         __Pyx_INCREF(function);
39141         __Pyx_DECREF_SET(__pyx_t_7, function);
39142       }
39143     }
39144     __pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
39145     __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
39146     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
39147     if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 13, __pyx_L1_error)
39148     __Pyx_GOTREF(__pyx_t_5);
39149     __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
39150     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
39151 
39152     /* "(tree fragment)":12
39153  *     return __pyx_result
39154  * cdef __pyx_unpickle_Unknown__set_state(Unknown __pyx_result, tuple __pyx_state):
39155  *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
39156  *         __pyx_result.__dict__.update(__pyx_state[0])
39157  */
39158   }
39159 
39160   /* "(tree fragment)":11
39161  *         __pyx_unpickle_Unknown__set_state(<Unknown> __pyx_result, __pyx_state)
39162  *     return __pyx_result
39163  * cdef __pyx_unpickle_Unknown__set_state(Unknown __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
39164  *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
39165  *         __pyx_result.__dict__.update(__pyx_state[0])
39166  */
39167 
39168   /* function exit code */
39169   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
39170   goto __pyx_L0;
39171   __pyx_L1_error:;
39172   __Pyx_XDECREF(__pyx_t_5);
39173   __Pyx_XDECREF(__pyx_t_6);
39174   __Pyx_XDECREF(__pyx_t_7);
39175   __Pyx_XDECREF(__pyx_t_8);
39176   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_Unknown__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
39177   __pyx_r = 0;
39178   __pyx_L0:;
39179   __Pyx_XGIVEREF(__pyx_r);
39180   __Pyx_RefNannyFinishContext();
39181   return __pyx_r;
39182 }
39183 
39184 /* "(tree fragment)":1
39185  * def __pyx_unpickle_MessageCollection(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
39186  *     cdef object __pyx_PickleError
39187  *     cdef object __pyx_result
39188  */
39189 
39190 /* Python wrapper */
39191 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_15__pyx_unpickle_MessageCollection(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
39192 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_15__pyx_unpickle_MessageCollection = {"__pyx_unpickle_MessageCollection", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_15__pyx_unpickle_MessageCollection, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_15__pyx_unpickle_MessageCollection(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)39193 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_15__pyx_unpickle_MessageCollection(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
39194   PyObject *__pyx_v___pyx_type = 0;
39195   long __pyx_v___pyx_checksum;
39196   PyObject *__pyx_v___pyx_state = 0;
39197   int __pyx_lineno = 0;
39198   const char *__pyx_filename = NULL;
39199   int __pyx_clineno = 0;
39200   PyObject *__pyx_r = 0;
39201   __Pyx_RefNannyDeclarations
39202   __Pyx_RefNannySetupContext("__pyx_unpickle_MessageCollection (wrapper)", 0);
39203   {
39204     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
39205     PyObject* values[3] = {0,0,0};
39206     if (unlikely(__pyx_kwds)) {
39207       Py_ssize_t kw_args;
39208       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
39209       switch (pos_args) {
39210         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
39211         CYTHON_FALLTHROUGH;
39212         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
39213         CYTHON_FALLTHROUGH;
39214         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
39215         CYTHON_FALLTHROUGH;
39216         case  0: break;
39217         default: goto __pyx_L5_argtuple_error;
39218       }
39219       kw_args = PyDict_Size(__pyx_kwds);
39220       switch (pos_args) {
39221         case  0:
39222         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
39223         else goto __pyx_L5_argtuple_error;
39224         CYTHON_FALLTHROUGH;
39225         case  1:
39226         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
39227         else {
39228           __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_MessageCollection", 1, 3, 3, 1); __PYX_ERR(2, 1, __pyx_L3_error)
39229         }
39230         CYTHON_FALLTHROUGH;
39231         case  2:
39232         if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
39233         else {
39234           __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_MessageCollection", 1, 3, 3, 2); __PYX_ERR(2, 1, __pyx_L3_error)
39235         }
39236       }
39237       if (unlikely(kw_args > 0)) {
39238         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_MessageCollection") < 0)) __PYX_ERR(2, 1, __pyx_L3_error)
39239       }
39240     } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
39241       goto __pyx_L5_argtuple_error;
39242     } else {
39243       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
39244       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
39245       values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
39246     }
39247     __pyx_v___pyx_type = values[0];
39248     __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
39249     __pyx_v___pyx_state = values[2];
39250   }
39251   goto __pyx_L4_argument_unpacking_done;
39252   __pyx_L5_argtuple_error:;
39253   __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_MessageCollection", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(2, 1, __pyx_L3_error)
39254   __pyx_L3_error:;
39255   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_MessageCollection", __pyx_clineno, __pyx_lineno, __pyx_filename);
39256   __Pyx_RefNannyFinishContext();
39257   return NULL;
39258   __pyx_L4_argument_unpacking_done:;
39259   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_14__pyx_unpickle_MessageCollection(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
39260 
39261   /* function exit code */
39262   __Pyx_RefNannyFinishContext();
39263   return __pyx_r;
39264 }
39265 
__pyx_pf_6Cython_8Compiler_11FlowControl_14__pyx_unpickle_MessageCollection(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v___pyx_type,long __pyx_v___pyx_checksum,PyObject * __pyx_v___pyx_state)39266 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_14__pyx_unpickle_MessageCollection(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
39267   PyObject *__pyx_v___pyx_PickleError = 0;
39268   PyObject *__pyx_v___pyx_result = 0;
39269   PyObject *__pyx_r = NULL;
39270   __Pyx_RefNannyDeclarations
39271   int __pyx_t_1;
39272   PyObject *__pyx_t_2 = NULL;
39273   PyObject *__pyx_t_3 = NULL;
39274   PyObject *__pyx_t_4 = NULL;
39275   PyObject *__pyx_t_5 = NULL;
39276   int __pyx_t_6;
39277   int __pyx_lineno = 0;
39278   const char *__pyx_filename = NULL;
39279   int __pyx_clineno = 0;
39280   __Pyx_RefNannySetupContext("__pyx_unpickle_MessageCollection", 0);
39281 
39282   /* "(tree fragment)":4
39283  *     cdef object __pyx_PickleError
39284  *     cdef object __pyx_result
39285  *     if __pyx_checksum != 0xde70938:             # <<<<<<<<<<<<<<
39286  *         from pickle import PickleError as __pyx_PickleError
39287  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xde70938 = (messages))" % __pyx_checksum)
39288  */
39289   __pyx_t_1 = ((__pyx_v___pyx_checksum != 0xde70938) != 0);
39290   if (__pyx_t_1) {
39291 
39292     /* "(tree fragment)":5
39293  *     cdef object __pyx_result
39294  *     if __pyx_checksum != 0xde70938:
39295  *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
39296  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xde70938 = (messages))" % __pyx_checksum)
39297  *     __pyx_result = MessageCollection.__new__(__pyx_type)
39298  */
39299     __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
39300     __Pyx_GOTREF(__pyx_t_2);
39301     __Pyx_INCREF(__pyx_n_s_PickleError);
39302     __Pyx_GIVEREF(__pyx_n_s_PickleError);
39303     PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
39304     __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
39305     __Pyx_GOTREF(__pyx_t_3);
39306     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
39307     __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
39308     __Pyx_GOTREF(__pyx_t_2);
39309     __Pyx_INCREF(__pyx_t_2);
39310     __pyx_v___pyx_PickleError = __pyx_t_2;
39311     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
39312     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
39313 
39314     /* "(tree fragment)":6
39315  *     if __pyx_checksum != 0xde70938:
39316  *         from pickle import PickleError as __pyx_PickleError
39317  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xde70938 = (messages))" % __pyx_checksum)             # <<<<<<<<<<<<<<
39318  *     __pyx_result = MessageCollection.__new__(__pyx_type)
39319  *     if __pyx_state is not None:
39320  */
39321     __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6, __pyx_L1_error)
39322     __Pyx_GOTREF(__pyx_t_2);
39323     __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0xde, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6, __pyx_L1_error)
39324     __Pyx_GOTREF(__pyx_t_4);
39325     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
39326     __Pyx_INCREF(__pyx_v___pyx_PickleError);
39327     __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
39328     if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
39329       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
39330       if (likely(__pyx_t_5)) {
39331         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
39332         __Pyx_INCREF(__pyx_t_5);
39333         __Pyx_INCREF(function);
39334         __Pyx_DECREF_SET(__pyx_t_2, function);
39335       }
39336     }
39337     __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
39338     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
39339     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
39340     if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6, __pyx_L1_error)
39341     __Pyx_GOTREF(__pyx_t_3);
39342     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
39343     __Pyx_Raise(__pyx_t_3, 0, 0, 0);
39344     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
39345     __PYX_ERR(2, 6, __pyx_L1_error)
39346 
39347     /* "(tree fragment)":4
39348  *     cdef object __pyx_PickleError
39349  *     cdef object __pyx_result
39350  *     if __pyx_checksum != 0xde70938:             # <<<<<<<<<<<<<<
39351  *         from pickle import PickleError as __pyx_PickleError
39352  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xde70938 = (messages))" % __pyx_checksum)
39353  */
39354   }
39355 
39356   /* "(tree fragment)":7
39357  *         from pickle import PickleError as __pyx_PickleError
39358  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xde70938 = (messages))" % __pyx_checksum)
39359  *     __pyx_result = MessageCollection.__new__(__pyx_type)             # <<<<<<<<<<<<<<
39360  *     if __pyx_state is not None:
39361  *         __pyx_unpickle_MessageCollection__set_state(<MessageCollection> __pyx_result, __pyx_state)
39362  */
39363   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_MessageCollection), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7, __pyx_L1_error)
39364   __Pyx_GOTREF(__pyx_t_2);
39365   __pyx_t_4 = NULL;
39366   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
39367     __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
39368     if (likely(__pyx_t_4)) {
39369       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
39370       __Pyx_INCREF(__pyx_t_4);
39371       __Pyx_INCREF(function);
39372       __Pyx_DECREF_SET(__pyx_t_2, function);
39373     }
39374   }
39375   __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
39376   __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
39377   if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7, __pyx_L1_error)
39378   __Pyx_GOTREF(__pyx_t_3);
39379   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
39380   __pyx_v___pyx_result = __pyx_t_3;
39381   __pyx_t_3 = 0;
39382 
39383   /* "(tree fragment)":8
39384  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xde70938 = (messages))" % __pyx_checksum)
39385  *     __pyx_result = MessageCollection.__new__(__pyx_type)
39386  *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
39387  *         __pyx_unpickle_MessageCollection__set_state(<MessageCollection> __pyx_result, __pyx_state)
39388  *     return __pyx_result
39389  */
39390   __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
39391   __pyx_t_6 = (__pyx_t_1 != 0);
39392   if (__pyx_t_6) {
39393 
39394     /* "(tree fragment)":9
39395  *     __pyx_result = MessageCollection.__new__(__pyx_type)
39396  *     if __pyx_state is not None:
39397  *         __pyx_unpickle_MessageCollection__set_state(<MessageCollection> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
39398  *     return __pyx_result
39399  * cdef __pyx_unpickle_MessageCollection__set_state(MessageCollection __pyx_result, tuple __pyx_state):
39400  */
39401     if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 9, __pyx_L1_error)
39402     __pyx_t_3 = __pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_MessageCollection__set_state(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9, __pyx_L1_error)
39403     __Pyx_GOTREF(__pyx_t_3);
39404     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
39405 
39406     /* "(tree fragment)":8
39407  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xde70938 = (messages))" % __pyx_checksum)
39408  *     __pyx_result = MessageCollection.__new__(__pyx_type)
39409  *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
39410  *         __pyx_unpickle_MessageCollection__set_state(<MessageCollection> __pyx_result, __pyx_state)
39411  *     return __pyx_result
39412  */
39413   }
39414 
39415   /* "(tree fragment)":10
39416  *     if __pyx_state is not None:
39417  *         __pyx_unpickle_MessageCollection__set_state(<MessageCollection> __pyx_result, __pyx_state)
39418  *     return __pyx_result             # <<<<<<<<<<<<<<
39419  * cdef __pyx_unpickle_MessageCollection__set_state(MessageCollection __pyx_result, tuple __pyx_state):
39420  *     __pyx_result.messages = __pyx_state[0]
39421  */
39422   __Pyx_XDECREF(__pyx_r);
39423   __Pyx_INCREF(__pyx_v___pyx_result);
39424   __pyx_r = __pyx_v___pyx_result;
39425   goto __pyx_L0;
39426 
39427   /* "(tree fragment)":1
39428  * def __pyx_unpickle_MessageCollection(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
39429  *     cdef object __pyx_PickleError
39430  *     cdef object __pyx_result
39431  */
39432 
39433   /* function exit code */
39434   __pyx_L1_error:;
39435   __Pyx_XDECREF(__pyx_t_2);
39436   __Pyx_XDECREF(__pyx_t_3);
39437   __Pyx_XDECREF(__pyx_t_4);
39438   __Pyx_XDECREF(__pyx_t_5);
39439   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_MessageCollection", __pyx_clineno, __pyx_lineno, __pyx_filename);
39440   __pyx_r = NULL;
39441   __pyx_L0:;
39442   __Pyx_XDECREF(__pyx_v___pyx_PickleError);
39443   __Pyx_XDECREF(__pyx_v___pyx_result);
39444   __Pyx_XGIVEREF(__pyx_r);
39445   __Pyx_RefNannyFinishContext();
39446   return __pyx_r;
39447 }
39448 
39449 /* "(tree fragment)":11
39450  *         __pyx_unpickle_MessageCollection__set_state(<MessageCollection> __pyx_result, __pyx_state)
39451  *     return __pyx_result
39452  * cdef __pyx_unpickle_MessageCollection__set_state(MessageCollection __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
39453  *     __pyx_result.messages = __pyx_state[0]
39454  *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):
39455  */
39456 
__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_MessageCollection__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection * __pyx_v___pyx_result,PyObject * __pyx_v___pyx_state)39457 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_MessageCollection__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
39458   PyObject *__pyx_r = NULL;
39459   __Pyx_RefNannyDeclarations
39460   PyObject *__pyx_t_1 = NULL;
39461   int __pyx_t_2;
39462   Py_ssize_t __pyx_t_3;
39463   int __pyx_t_4;
39464   int __pyx_t_5;
39465   PyObject *__pyx_t_6 = NULL;
39466   PyObject *__pyx_t_7 = NULL;
39467   PyObject *__pyx_t_8 = NULL;
39468   int __pyx_lineno = 0;
39469   const char *__pyx_filename = NULL;
39470   int __pyx_clineno = 0;
39471   __Pyx_RefNannySetupContext("__pyx_unpickle_MessageCollection__set_state", 0);
39472 
39473   /* "(tree fragment)":12
39474  *     return __pyx_result
39475  * cdef __pyx_unpickle_MessageCollection__set_state(MessageCollection __pyx_result, tuple __pyx_state):
39476  *     __pyx_result.messages = __pyx_state[0]             # <<<<<<<<<<<<<<
39477  *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):
39478  *         __pyx_result.__dict__.update(__pyx_state[1])
39479  */
39480   if (unlikely(__pyx_v___pyx_state == Py_None)) {
39481     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
39482     __PYX_ERR(2, 12, __pyx_L1_error)
39483   }
39484   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
39485   __Pyx_GOTREF(__pyx_t_1);
39486   if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
39487   __Pyx_GIVEREF(__pyx_t_1);
39488   __Pyx_GOTREF(__pyx_v___pyx_result->messages);
39489   __Pyx_DECREF(__pyx_v___pyx_result->messages);
39490   __pyx_v___pyx_result->messages = ((PyObject*)__pyx_t_1);
39491   __pyx_t_1 = 0;
39492 
39493   /* "(tree fragment)":13
39494  * cdef __pyx_unpickle_MessageCollection__set_state(MessageCollection __pyx_result, tuple __pyx_state):
39495  *     __pyx_result.messages = __pyx_state[0]
39496  *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
39497  *         __pyx_result.__dict__.update(__pyx_state[1])
39498  */
39499   if (unlikely(__pyx_v___pyx_state == Py_None)) {
39500     PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
39501     __PYX_ERR(2, 13, __pyx_L1_error)
39502   }
39503   __pyx_t_3 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(2, 13, __pyx_L1_error)
39504   __pyx_t_4 = ((__pyx_t_3 > 1) != 0);
39505   if (__pyx_t_4) {
39506   } else {
39507     __pyx_t_2 = __pyx_t_4;
39508     goto __pyx_L4_bool_binop_done;
39509   }
39510   __pyx_t_4 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 13, __pyx_L1_error)
39511   __pyx_t_5 = (__pyx_t_4 != 0);
39512   __pyx_t_2 = __pyx_t_5;
39513   __pyx_L4_bool_binop_done:;
39514   if (__pyx_t_2) {
39515 
39516     /* "(tree fragment)":14
39517  *     __pyx_result.messages = __pyx_state[0]
39518  *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):
39519  *         __pyx_result.__dict__.update(__pyx_state[1])             # <<<<<<<<<<<<<<
39520  */
39521     __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error)
39522     __Pyx_GOTREF(__pyx_t_6);
39523     __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 14, __pyx_L1_error)
39524     __Pyx_GOTREF(__pyx_t_7);
39525     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
39526     if (unlikely(__pyx_v___pyx_state == Py_None)) {
39527       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
39528       __PYX_ERR(2, 14, __pyx_L1_error)
39529     }
39530     __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error)
39531     __Pyx_GOTREF(__pyx_t_6);
39532     __pyx_t_8 = NULL;
39533     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
39534       __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
39535       if (likely(__pyx_t_8)) {
39536         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
39537         __Pyx_INCREF(__pyx_t_8);
39538         __Pyx_INCREF(function);
39539         __Pyx_DECREF_SET(__pyx_t_7, function);
39540       }
39541     }
39542     __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
39543     __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
39544     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
39545     if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 14, __pyx_L1_error)
39546     __Pyx_GOTREF(__pyx_t_1);
39547     __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
39548     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
39549 
39550     /* "(tree fragment)":13
39551  * cdef __pyx_unpickle_MessageCollection__set_state(MessageCollection __pyx_result, tuple __pyx_state):
39552  *     __pyx_result.messages = __pyx_state[0]
39553  *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
39554  *         __pyx_result.__dict__.update(__pyx_state[1])
39555  */
39556   }
39557 
39558   /* "(tree fragment)":11
39559  *         __pyx_unpickle_MessageCollection__set_state(<MessageCollection> __pyx_result, __pyx_state)
39560  *     return __pyx_result
39561  * cdef __pyx_unpickle_MessageCollection__set_state(MessageCollection __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
39562  *     __pyx_result.messages = __pyx_state[0]
39563  *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):
39564  */
39565 
39566   /* function exit code */
39567   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
39568   goto __pyx_L0;
39569   __pyx_L1_error:;
39570   __Pyx_XDECREF(__pyx_t_1);
39571   __Pyx_XDECREF(__pyx_t_6);
39572   __Pyx_XDECREF(__pyx_t_7);
39573   __Pyx_XDECREF(__pyx_t_8);
39574   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_MessageCollection__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
39575   __pyx_r = 0;
39576   __pyx_L0:;
39577   __Pyx_XGIVEREF(__pyx_r);
39578   __Pyx_RefNannyFinishContext();
39579   return __pyx_r;
39580 }
39581 
39582 /* "(tree fragment)":1
39583  * def __pyx_unpickle_AssignmentCollector(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
39584  *     cdef object __pyx_PickleError
39585  *     cdef object __pyx_result
39586  */
39587 
39588 /* Python wrapper */
39589 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_17__pyx_unpickle_AssignmentCollector(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
39590 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_17__pyx_unpickle_AssignmentCollector = {"__pyx_unpickle_AssignmentCollector", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_17__pyx_unpickle_AssignmentCollector, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_17__pyx_unpickle_AssignmentCollector(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)39591 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_17__pyx_unpickle_AssignmentCollector(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
39592   PyObject *__pyx_v___pyx_type = 0;
39593   long __pyx_v___pyx_checksum;
39594   PyObject *__pyx_v___pyx_state = 0;
39595   int __pyx_lineno = 0;
39596   const char *__pyx_filename = NULL;
39597   int __pyx_clineno = 0;
39598   PyObject *__pyx_r = 0;
39599   __Pyx_RefNannyDeclarations
39600   __Pyx_RefNannySetupContext("__pyx_unpickle_AssignmentCollector (wrapper)", 0);
39601   {
39602     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
39603     PyObject* values[3] = {0,0,0};
39604     if (unlikely(__pyx_kwds)) {
39605       Py_ssize_t kw_args;
39606       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
39607       switch (pos_args) {
39608         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
39609         CYTHON_FALLTHROUGH;
39610         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
39611         CYTHON_FALLTHROUGH;
39612         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
39613         CYTHON_FALLTHROUGH;
39614         case  0: break;
39615         default: goto __pyx_L5_argtuple_error;
39616       }
39617       kw_args = PyDict_Size(__pyx_kwds);
39618       switch (pos_args) {
39619         case  0:
39620         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
39621         else goto __pyx_L5_argtuple_error;
39622         CYTHON_FALLTHROUGH;
39623         case  1:
39624         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
39625         else {
39626           __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_AssignmentCollector", 1, 3, 3, 1); __PYX_ERR(2, 1, __pyx_L3_error)
39627         }
39628         CYTHON_FALLTHROUGH;
39629         case  2:
39630         if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
39631         else {
39632           __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_AssignmentCollector", 1, 3, 3, 2); __PYX_ERR(2, 1, __pyx_L3_error)
39633         }
39634       }
39635       if (unlikely(kw_args > 0)) {
39636         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_AssignmentCollector") < 0)) __PYX_ERR(2, 1, __pyx_L3_error)
39637       }
39638     } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
39639       goto __pyx_L5_argtuple_error;
39640     } else {
39641       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
39642       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
39643       values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
39644     }
39645     __pyx_v___pyx_type = values[0];
39646     __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
39647     __pyx_v___pyx_state = values[2];
39648   }
39649   goto __pyx_L4_argument_unpacking_done;
39650   __pyx_L5_argtuple_error:;
39651   __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_AssignmentCollector", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(2, 1, __pyx_L3_error)
39652   __pyx_L3_error:;
39653   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_AssignmentCollector", __pyx_clineno, __pyx_lineno, __pyx_filename);
39654   __Pyx_RefNannyFinishContext();
39655   return NULL;
39656   __pyx_L4_argument_unpacking_done:;
39657   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_16__pyx_unpickle_AssignmentCollector(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
39658 
39659   /* function exit code */
39660   __Pyx_RefNannyFinishContext();
39661   return __pyx_r;
39662 }
39663 
__pyx_pf_6Cython_8Compiler_11FlowControl_16__pyx_unpickle_AssignmentCollector(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v___pyx_type,long __pyx_v___pyx_checksum,PyObject * __pyx_v___pyx_state)39664 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_16__pyx_unpickle_AssignmentCollector(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
39665   PyObject *__pyx_v___pyx_PickleError = 0;
39666   PyObject *__pyx_v___pyx_result = 0;
39667   PyObject *__pyx_r = NULL;
39668   __Pyx_RefNannyDeclarations
39669   int __pyx_t_1;
39670   PyObject *__pyx_t_2 = NULL;
39671   PyObject *__pyx_t_3 = NULL;
39672   PyObject *__pyx_t_4 = NULL;
39673   PyObject *__pyx_t_5 = NULL;
39674   int __pyx_t_6;
39675   int __pyx_lineno = 0;
39676   const char *__pyx_filename = NULL;
39677   int __pyx_clineno = 0;
39678   __Pyx_RefNannySetupContext("__pyx_unpickle_AssignmentCollector", 0);
39679 
39680   /* "(tree fragment)":4
39681  *     cdef object __pyx_PickleError
39682  *     cdef object __pyx_result
39683  *     if __pyx_checksum != 0xdf44812:             # <<<<<<<<<<<<<<
39684  *         from pickle import PickleError as __pyx_PickleError
39685  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xdf44812 = (access_path, assignments, dispatch_table))" % __pyx_checksum)
39686  */
39687   __pyx_t_1 = ((__pyx_v___pyx_checksum != 0xdf44812) != 0);
39688   if (__pyx_t_1) {
39689 
39690     /* "(tree fragment)":5
39691  *     cdef object __pyx_result
39692  *     if __pyx_checksum != 0xdf44812:
39693  *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
39694  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xdf44812 = (access_path, assignments, dispatch_table))" % __pyx_checksum)
39695  *     __pyx_result = AssignmentCollector.__new__(__pyx_type)
39696  */
39697     __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
39698     __Pyx_GOTREF(__pyx_t_2);
39699     __Pyx_INCREF(__pyx_n_s_PickleError);
39700     __Pyx_GIVEREF(__pyx_n_s_PickleError);
39701     PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
39702     __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
39703     __Pyx_GOTREF(__pyx_t_3);
39704     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
39705     __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
39706     __Pyx_GOTREF(__pyx_t_2);
39707     __Pyx_INCREF(__pyx_t_2);
39708     __pyx_v___pyx_PickleError = __pyx_t_2;
39709     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
39710     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
39711 
39712     /* "(tree fragment)":6
39713  *     if __pyx_checksum != 0xdf44812:
39714  *         from pickle import PickleError as __pyx_PickleError
39715  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xdf44812 = (access_path, assignments, dispatch_table))" % __pyx_checksum)             # <<<<<<<<<<<<<<
39716  *     __pyx_result = AssignmentCollector.__new__(__pyx_type)
39717  *     if __pyx_state is not None:
39718  */
39719     __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6, __pyx_L1_error)
39720     __Pyx_GOTREF(__pyx_t_2);
39721     __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0xdf, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6, __pyx_L1_error)
39722     __Pyx_GOTREF(__pyx_t_4);
39723     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
39724     __Pyx_INCREF(__pyx_v___pyx_PickleError);
39725     __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
39726     if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
39727       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
39728       if (likely(__pyx_t_5)) {
39729         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
39730         __Pyx_INCREF(__pyx_t_5);
39731         __Pyx_INCREF(function);
39732         __Pyx_DECREF_SET(__pyx_t_2, function);
39733       }
39734     }
39735     __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
39736     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
39737     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
39738     if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6, __pyx_L1_error)
39739     __Pyx_GOTREF(__pyx_t_3);
39740     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
39741     __Pyx_Raise(__pyx_t_3, 0, 0, 0);
39742     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
39743     __PYX_ERR(2, 6, __pyx_L1_error)
39744 
39745     /* "(tree fragment)":4
39746  *     cdef object __pyx_PickleError
39747  *     cdef object __pyx_result
39748  *     if __pyx_checksum != 0xdf44812:             # <<<<<<<<<<<<<<
39749  *         from pickle import PickleError as __pyx_PickleError
39750  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xdf44812 = (access_path, assignments, dispatch_table))" % __pyx_checksum)
39751  */
39752   }
39753 
39754   /* "(tree fragment)":7
39755  *         from pickle import PickleError as __pyx_PickleError
39756  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xdf44812 = (access_path, assignments, dispatch_table))" % __pyx_checksum)
39757  *     __pyx_result = AssignmentCollector.__new__(__pyx_type)             # <<<<<<<<<<<<<<
39758  *     if __pyx_state is not None:
39759  *         __pyx_unpickle_AssignmentCollector__set_state(<AssignmentCollector> __pyx_result, __pyx_state)
39760  */
39761   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentCollector), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7, __pyx_L1_error)
39762   __Pyx_GOTREF(__pyx_t_2);
39763   __pyx_t_4 = NULL;
39764   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
39765     __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
39766     if (likely(__pyx_t_4)) {
39767       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
39768       __Pyx_INCREF(__pyx_t_4);
39769       __Pyx_INCREF(function);
39770       __Pyx_DECREF_SET(__pyx_t_2, function);
39771     }
39772   }
39773   __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
39774   __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
39775   if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7, __pyx_L1_error)
39776   __Pyx_GOTREF(__pyx_t_3);
39777   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
39778   __pyx_v___pyx_result = __pyx_t_3;
39779   __pyx_t_3 = 0;
39780 
39781   /* "(tree fragment)":8
39782  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xdf44812 = (access_path, assignments, dispatch_table))" % __pyx_checksum)
39783  *     __pyx_result = AssignmentCollector.__new__(__pyx_type)
39784  *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
39785  *         __pyx_unpickle_AssignmentCollector__set_state(<AssignmentCollector> __pyx_result, __pyx_state)
39786  *     return __pyx_result
39787  */
39788   __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
39789   __pyx_t_6 = (__pyx_t_1 != 0);
39790   if (__pyx_t_6) {
39791 
39792     /* "(tree fragment)":9
39793  *     __pyx_result = AssignmentCollector.__new__(__pyx_type)
39794  *     if __pyx_state is not None:
39795  *         __pyx_unpickle_AssignmentCollector__set_state(<AssignmentCollector> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
39796  *     return __pyx_result
39797  * cdef __pyx_unpickle_AssignmentCollector__set_state(AssignmentCollector __pyx_result, tuple __pyx_state):
39798  */
39799     if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 9, __pyx_L1_error)
39800     __pyx_t_3 = __pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_AssignmentCollector__set_state(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9, __pyx_L1_error)
39801     __Pyx_GOTREF(__pyx_t_3);
39802     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
39803 
39804     /* "(tree fragment)":8
39805  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xdf44812 = (access_path, assignments, dispatch_table))" % __pyx_checksum)
39806  *     __pyx_result = AssignmentCollector.__new__(__pyx_type)
39807  *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
39808  *         __pyx_unpickle_AssignmentCollector__set_state(<AssignmentCollector> __pyx_result, __pyx_state)
39809  *     return __pyx_result
39810  */
39811   }
39812 
39813   /* "(tree fragment)":10
39814  *     if __pyx_state is not None:
39815  *         __pyx_unpickle_AssignmentCollector__set_state(<AssignmentCollector> __pyx_result, __pyx_state)
39816  *     return __pyx_result             # <<<<<<<<<<<<<<
39817  * cdef __pyx_unpickle_AssignmentCollector__set_state(AssignmentCollector __pyx_result, tuple __pyx_state):
39818  *     __pyx_result.access_path = __pyx_state[0]; __pyx_result.assignments = __pyx_state[1]; __pyx_result.dispatch_table = __pyx_state[2]
39819  */
39820   __Pyx_XDECREF(__pyx_r);
39821   __Pyx_INCREF(__pyx_v___pyx_result);
39822   __pyx_r = __pyx_v___pyx_result;
39823   goto __pyx_L0;
39824 
39825   /* "(tree fragment)":1
39826  * def __pyx_unpickle_AssignmentCollector(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
39827  *     cdef object __pyx_PickleError
39828  *     cdef object __pyx_result
39829  */
39830 
39831   /* function exit code */
39832   __pyx_L1_error:;
39833   __Pyx_XDECREF(__pyx_t_2);
39834   __Pyx_XDECREF(__pyx_t_3);
39835   __Pyx_XDECREF(__pyx_t_4);
39836   __Pyx_XDECREF(__pyx_t_5);
39837   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_AssignmentCollector", __pyx_clineno, __pyx_lineno, __pyx_filename);
39838   __pyx_r = NULL;
39839   __pyx_L0:;
39840   __Pyx_XDECREF(__pyx_v___pyx_PickleError);
39841   __Pyx_XDECREF(__pyx_v___pyx_result);
39842   __Pyx_XGIVEREF(__pyx_r);
39843   __Pyx_RefNannyFinishContext();
39844   return __pyx_r;
39845 }
39846 
39847 /* "(tree fragment)":11
39848  *         __pyx_unpickle_AssignmentCollector__set_state(<AssignmentCollector> __pyx_result, __pyx_state)
39849  *     return __pyx_result
39850  * cdef __pyx_unpickle_AssignmentCollector__set_state(AssignmentCollector __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
39851  *     __pyx_result.access_path = __pyx_state[0]; __pyx_result.assignments = __pyx_state[1]; __pyx_result.dispatch_table = __pyx_state[2]
39852  *     if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'):
39853  */
39854 
__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_AssignmentCollector__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector * __pyx_v___pyx_result,PyObject * __pyx_v___pyx_state)39855 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_AssignmentCollector__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
39856   PyObject *__pyx_r = NULL;
39857   __Pyx_RefNannyDeclarations
39858   PyObject *__pyx_t_1 = NULL;
39859   int __pyx_t_2;
39860   Py_ssize_t __pyx_t_3;
39861   int __pyx_t_4;
39862   int __pyx_t_5;
39863   PyObject *__pyx_t_6 = NULL;
39864   PyObject *__pyx_t_7 = NULL;
39865   PyObject *__pyx_t_8 = NULL;
39866   int __pyx_lineno = 0;
39867   const char *__pyx_filename = NULL;
39868   int __pyx_clineno = 0;
39869   __Pyx_RefNannySetupContext("__pyx_unpickle_AssignmentCollector__set_state", 0);
39870 
39871   /* "(tree fragment)":12
39872  *     return __pyx_result
39873  * cdef __pyx_unpickle_AssignmentCollector__set_state(AssignmentCollector __pyx_result, tuple __pyx_state):
39874  *     __pyx_result.access_path = __pyx_state[0]; __pyx_result.assignments = __pyx_state[1]; __pyx_result.dispatch_table = __pyx_state[2]             # <<<<<<<<<<<<<<
39875  *     if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'):
39876  *         __pyx_result.__dict__.update(__pyx_state[3])
39877  */
39878   if (unlikely(__pyx_v___pyx_state == Py_None)) {
39879     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
39880     __PYX_ERR(2, 12, __pyx_L1_error)
39881   }
39882   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
39883   __Pyx_GOTREF(__pyx_t_1);
39884   if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
39885   __Pyx_GIVEREF(__pyx_t_1);
39886   __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.access_path);
39887   __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.access_path);
39888   __pyx_v___pyx_result->__pyx_base.access_path = ((PyObject*)__pyx_t_1);
39889   __pyx_t_1 = 0;
39890   if (unlikely(__pyx_v___pyx_state == Py_None)) {
39891     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
39892     __PYX_ERR(2, 12, __pyx_L1_error)
39893   }
39894   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
39895   __Pyx_GOTREF(__pyx_t_1);
39896   if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
39897   __Pyx_GIVEREF(__pyx_t_1);
39898   __Pyx_GOTREF(__pyx_v___pyx_result->assignments);
39899   __Pyx_DECREF(__pyx_v___pyx_result->assignments);
39900   __pyx_v___pyx_result->assignments = ((PyObject*)__pyx_t_1);
39901   __pyx_t_1 = 0;
39902   if (unlikely(__pyx_v___pyx_state == Py_None)) {
39903     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
39904     __PYX_ERR(2, 12, __pyx_L1_error)
39905   }
39906   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
39907   __Pyx_GOTREF(__pyx_t_1);
39908   if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
39909   __Pyx_GIVEREF(__pyx_t_1);
39910   __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.dispatch_table);
39911   __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.dispatch_table);
39912   __pyx_v___pyx_result->__pyx_base.dispatch_table = ((PyObject*)__pyx_t_1);
39913   __pyx_t_1 = 0;
39914 
39915   /* "(tree fragment)":13
39916  * cdef __pyx_unpickle_AssignmentCollector__set_state(AssignmentCollector __pyx_result, tuple __pyx_state):
39917  *     __pyx_result.access_path = __pyx_state[0]; __pyx_result.assignments = __pyx_state[1]; __pyx_result.dispatch_table = __pyx_state[2]
39918  *     if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
39919  *         __pyx_result.__dict__.update(__pyx_state[3])
39920  */
39921   if (unlikely(__pyx_v___pyx_state == Py_None)) {
39922     PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
39923     __PYX_ERR(2, 13, __pyx_L1_error)
39924   }
39925   __pyx_t_3 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(2, 13, __pyx_L1_error)
39926   __pyx_t_4 = ((__pyx_t_3 > 3) != 0);
39927   if (__pyx_t_4) {
39928   } else {
39929     __pyx_t_2 = __pyx_t_4;
39930     goto __pyx_L4_bool_binop_done;
39931   }
39932   __pyx_t_4 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 13, __pyx_L1_error)
39933   __pyx_t_5 = (__pyx_t_4 != 0);
39934   __pyx_t_2 = __pyx_t_5;
39935   __pyx_L4_bool_binop_done:;
39936   if (__pyx_t_2) {
39937 
39938     /* "(tree fragment)":14
39939  *     __pyx_result.access_path = __pyx_state[0]; __pyx_result.assignments = __pyx_state[1]; __pyx_result.dispatch_table = __pyx_state[2]
39940  *     if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'):
39941  *         __pyx_result.__dict__.update(__pyx_state[3])             # <<<<<<<<<<<<<<
39942  */
39943     __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error)
39944     __Pyx_GOTREF(__pyx_t_6);
39945     __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 14, __pyx_L1_error)
39946     __Pyx_GOTREF(__pyx_t_7);
39947     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
39948     if (unlikely(__pyx_v___pyx_state == Py_None)) {
39949       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
39950       __PYX_ERR(2, 14, __pyx_L1_error)
39951     }
39952     __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error)
39953     __Pyx_GOTREF(__pyx_t_6);
39954     __pyx_t_8 = NULL;
39955     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
39956       __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
39957       if (likely(__pyx_t_8)) {
39958         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
39959         __Pyx_INCREF(__pyx_t_8);
39960         __Pyx_INCREF(function);
39961         __Pyx_DECREF_SET(__pyx_t_7, function);
39962       }
39963     }
39964     __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
39965     __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
39966     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
39967     if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 14, __pyx_L1_error)
39968     __Pyx_GOTREF(__pyx_t_1);
39969     __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
39970     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
39971 
39972     /* "(tree fragment)":13
39973  * cdef __pyx_unpickle_AssignmentCollector__set_state(AssignmentCollector __pyx_result, tuple __pyx_state):
39974  *     __pyx_result.access_path = __pyx_state[0]; __pyx_result.assignments = __pyx_state[1]; __pyx_result.dispatch_table = __pyx_state[2]
39975  *     if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
39976  *         __pyx_result.__dict__.update(__pyx_state[3])
39977  */
39978   }
39979 
39980   /* "(tree fragment)":11
39981  *         __pyx_unpickle_AssignmentCollector__set_state(<AssignmentCollector> __pyx_result, __pyx_state)
39982  *     return __pyx_result
39983  * cdef __pyx_unpickle_AssignmentCollector__set_state(AssignmentCollector __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
39984  *     __pyx_result.access_path = __pyx_state[0]; __pyx_result.assignments = __pyx_state[1]; __pyx_result.dispatch_table = __pyx_state[2]
39985  *     if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'):
39986  */
39987 
39988   /* function exit code */
39989   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
39990   goto __pyx_L0;
39991   __pyx_L1_error:;
39992   __Pyx_XDECREF(__pyx_t_1);
39993   __Pyx_XDECREF(__pyx_t_6);
39994   __Pyx_XDECREF(__pyx_t_7);
39995   __Pyx_XDECREF(__pyx_t_8);
39996   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_AssignmentCollector__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
39997   __pyx_r = 0;
39998   __pyx_L0:;
39999   __Pyx_XGIVEREF(__pyx_r);
40000   __Pyx_RefNannyFinishContext();
40001   return __pyx_r;
40002 }
40003 
40004 /* "(tree fragment)":1
40005  * def __pyx_unpickle_ControlFlowAnalysis(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
40006  *     cdef object __pyx_PickleError
40007  *     cdef object __pyx_result
40008  */
40009 
40010 /* Python wrapper */
40011 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19__pyx_unpickle_ControlFlowAnalysis(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
40012 static PyMethodDef __pyx_mdef_6Cython_8Compiler_11FlowControl_19__pyx_unpickle_ControlFlowAnalysis = {"__pyx_unpickle_ControlFlowAnalysis", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_19__pyx_unpickle_ControlFlowAnalysis, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_11FlowControl_19__pyx_unpickle_ControlFlowAnalysis(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)40013 static PyObject *__pyx_pw_6Cython_8Compiler_11FlowControl_19__pyx_unpickle_ControlFlowAnalysis(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
40014   PyObject *__pyx_v___pyx_type = 0;
40015   long __pyx_v___pyx_checksum;
40016   PyObject *__pyx_v___pyx_state = 0;
40017   int __pyx_lineno = 0;
40018   const char *__pyx_filename = NULL;
40019   int __pyx_clineno = 0;
40020   PyObject *__pyx_r = 0;
40021   __Pyx_RefNannyDeclarations
40022   __Pyx_RefNannySetupContext("__pyx_unpickle_ControlFlowAnalysis (wrapper)", 0);
40023   {
40024     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
40025     PyObject* values[3] = {0,0,0};
40026     if (unlikely(__pyx_kwds)) {
40027       Py_ssize_t kw_args;
40028       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
40029       switch (pos_args) {
40030         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
40031         CYTHON_FALLTHROUGH;
40032         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
40033         CYTHON_FALLTHROUGH;
40034         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
40035         CYTHON_FALLTHROUGH;
40036         case  0: break;
40037         default: goto __pyx_L5_argtuple_error;
40038       }
40039       kw_args = PyDict_Size(__pyx_kwds);
40040       switch (pos_args) {
40041         case  0:
40042         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
40043         else goto __pyx_L5_argtuple_error;
40044         CYTHON_FALLTHROUGH;
40045         case  1:
40046         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
40047         else {
40048           __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ControlFlowAnalysis", 1, 3, 3, 1); __PYX_ERR(2, 1, __pyx_L3_error)
40049         }
40050         CYTHON_FALLTHROUGH;
40051         case  2:
40052         if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
40053         else {
40054           __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ControlFlowAnalysis", 1, 3, 3, 2); __PYX_ERR(2, 1, __pyx_L3_error)
40055         }
40056       }
40057       if (unlikely(kw_args > 0)) {
40058         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_ControlFlowAnalysis") < 0)) __PYX_ERR(2, 1, __pyx_L3_error)
40059       }
40060     } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
40061       goto __pyx_L5_argtuple_error;
40062     } else {
40063       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
40064       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
40065       values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
40066     }
40067     __pyx_v___pyx_type = values[0];
40068     __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
40069     __pyx_v___pyx_state = values[2];
40070   }
40071   goto __pyx_L4_argument_unpacking_done;
40072   __pyx_L5_argtuple_error:;
40073   __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ControlFlowAnalysis", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(2, 1, __pyx_L3_error)
40074   __pyx_L3_error:;
40075   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_ControlFlowAnalysis", __pyx_clineno, __pyx_lineno, __pyx_filename);
40076   __Pyx_RefNannyFinishContext();
40077   return NULL;
40078   __pyx_L4_argument_unpacking_done:;
40079   __pyx_r = __pyx_pf_6Cython_8Compiler_11FlowControl_18__pyx_unpickle_ControlFlowAnalysis(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
40080 
40081   /* function exit code */
40082   __Pyx_RefNannyFinishContext();
40083   return __pyx_r;
40084 }
40085 
__pyx_pf_6Cython_8Compiler_11FlowControl_18__pyx_unpickle_ControlFlowAnalysis(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v___pyx_type,long __pyx_v___pyx_checksum,PyObject * __pyx_v___pyx_state)40086 static PyObject *__pyx_pf_6Cython_8Compiler_11FlowControl_18__pyx_unpickle_ControlFlowAnalysis(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
40087   PyObject *__pyx_v___pyx_PickleError = 0;
40088   PyObject *__pyx_v___pyx_result = 0;
40089   PyObject *__pyx_r = NULL;
40090   __Pyx_RefNannyDeclarations
40091   int __pyx_t_1;
40092   PyObject *__pyx_t_2 = NULL;
40093   PyObject *__pyx_t_3 = NULL;
40094   PyObject *__pyx_t_4 = NULL;
40095   PyObject *__pyx_t_5 = NULL;
40096   int __pyx_t_6;
40097   int __pyx_lineno = 0;
40098   const char *__pyx_filename = NULL;
40099   int __pyx_clineno = 0;
40100   __Pyx_RefNannySetupContext("__pyx_unpickle_ControlFlowAnalysis", 0);
40101 
40102   /* "(tree fragment)":4
40103  *     cdef object __pyx_PickleError
40104  *     cdef object __pyx_result
40105  *     if __pyx_checksum != 0x9348192:             # <<<<<<<<<<<<<<
40106  *         from pickle import PickleError as __pyx_PickleError
40107  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x9348192 = (access_path, constant_folder, context, current_directives, dispatch_table, env, env_stack, flow, gv_ctx, in_inplace_assignment, reductions, stack))" % __pyx_checksum)
40108  */
40109   __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x9348192) != 0);
40110   if (__pyx_t_1) {
40111 
40112     /* "(tree fragment)":5
40113  *     cdef object __pyx_result
40114  *     if __pyx_checksum != 0x9348192:
40115  *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
40116  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x9348192 = (access_path, constant_folder, context, current_directives, dispatch_table, env, env_stack, flow, gv_ctx, in_inplace_assignment, reductions, stack))" % __pyx_checksum)
40117  *     __pyx_result = ControlFlowAnalysis.__new__(__pyx_type)
40118  */
40119     __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
40120     __Pyx_GOTREF(__pyx_t_2);
40121     __Pyx_INCREF(__pyx_n_s_PickleError);
40122     __Pyx_GIVEREF(__pyx_n_s_PickleError);
40123     PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
40124     __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
40125     __Pyx_GOTREF(__pyx_t_3);
40126     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
40127     __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
40128     __Pyx_GOTREF(__pyx_t_2);
40129     __Pyx_INCREF(__pyx_t_2);
40130     __pyx_v___pyx_PickleError = __pyx_t_2;
40131     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
40132     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
40133 
40134     /* "(tree fragment)":6
40135  *     if __pyx_checksum != 0x9348192:
40136  *         from pickle import PickleError as __pyx_PickleError
40137  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x9348192 = (access_path, constant_folder, context, current_directives, dispatch_table, env, env_stack, flow, gv_ctx, in_inplace_assignment, reductions, stack))" % __pyx_checksum)             # <<<<<<<<<<<<<<
40138  *     __pyx_result = ControlFlowAnalysis.__new__(__pyx_type)
40139  *     if __pyx_state is not None:
40140  */
40141     __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6, __pyx_L1_error)
40142     __Pyx_GOTREF(__pyx_t_2);
40143     __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x93, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6, __pyx_L1_error)
40144     __Pyx_GOTREF(__pyx_t_4);
40145     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
40146     __Pyx_INCREF(__pyx_v___pyx_PickleError);
40147     __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
40148     if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
40149       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
40150       if (likely(__pyx_t_5)) {
40151         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
40152         __Pyx_INCREF(__pyx_t_5);
40153         __Pyx_INCREF(function);
40154         __Pyx_DECREF_SET(__pyx_t_2, function);
40155       }
40156     }
40157     __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
40158     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
40159     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
40160     if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6, __pyx_L1_error)
40161     __Pyx_GOTREF(__pyx_t_3);
40162     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
40163     __Pyx_Raise(__pyx_t_3, 0, 0, 0);
40164     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
40165     __PYX_ERR(2, 6, __pyx_L1_error)
40166 
40167     /* "(tree fragment)":4
40168  *     cdef object __pyx_PickleError
40169  *     cdef object __pyx_result
40170  *     if __pyx_checksum != 0x9348192:             # <<<<<<<<<<<<<<
40171  *         from pickle import PickleError as __pyx_PickleError
40172  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x9348192 = (access_path, constant_folder, context, current_directives, dispatch_table, env, env_stack, flow, gv_ctx, in_inplace_assignment, reductions, stack))" % __pyx_checksum)
40173  */
40174   }
40175 
40176   /* "(tree fragment)":7
40177  *         from pickle import PickleError as __pyx_PickleError
40178  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x9348192 = (access_path, constant_folder, context, current_directives, dispatch_table, env, env_stack, flow, gv_ctx, in_inplace_assignment, reductions, stack))" % __pyx_checksum)
40179  *     __pyx_result = ControlFlowAnalysis.__new__(__pyx_type)             # <<<<<<<<<<<<<<
40180  *     if __pyx_state is not None:
40181  *         __pyx_unpickle_ControlFlowAnalysis__set_state(<ControlFlowAnalysis> __pyx_result, __pyx_state)
40182  */
40183   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7, __pyx_L1_error)
40184   __Pyx_GOTREF(__pyx_t_2);
40185   __pyx_t_4 = NULL;
40186   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
40187     __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
40188     if (likely(__pyx_t_4)) {
40189       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
40190       __Pyx_INCREF(__pyx_t_4);
40191       __Pyx_INCREF(function);
40192       __Pyx_DECREF_SET(__pyx_t_2, function);
40193     }
40194   }
40195   __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
40196   __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
40197   if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7, __pyx_L1_error)
40198   __Pyx_GOTREF(__pyx_t_3);
40199   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
40200   __pyx_v___pyx_result = __pyx_t_3;
40201   __pyx_t_3 = 0;
40202 
40203   /* "(tree fragment)":8
40204  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x9348192 = (access_path, constant_folder, context, current_directives, dispatch_table, env, env_stack, flow, gv_ctx, in_inplace_assignment, reductions, stack))" % __pyx_checksum)
40205  *     __pyx_result = ControlFlowAnalysis.__new__(__pyx_type)
40206  *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
40207  *         __pyx_unpickle_ControlFlowAnalysis__set_state(<ControlFlowAnalysis> __pyx_result, __pyx_state)
40208  *     return __pyx_result
40209  */
40210   __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
40211   __pyx_t_6 = (__pyx_t_1 != 0);
40212   if (__pyx_t_6) {
40213 
40214     /* "(tree fragment)":9
40215  *     __pyx_result = ControlFlowAnalysis.__new__(__pyx_type)
40216  *     if __pyx_state is not None:
40217  *         __pyx_unpickle_ControlFlowAnalysis__set_state(<ControlFlowAnalysis> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
40218  *     return __pyx_result
40219  * cdef __pyx_unpickle_ControlFlowAnalysis__set_state(ControlFlowAnalysis __pyx_result, tuple __pyx_state):
40220  */
40221     if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 9, __pyx_L1_error)
40222     __pyx_t_3 = __pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_ControlFlowAnalysis__set_state(((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9, __pyx_L1_error)
40223     __Pyx_GOTREF(__pyx_t_3);
40224     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
40225 
40226     /* "(tree fragment)":8
40227  *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x9348192 = (access_path, constant_folder, context, current_directives, dispatch_table, env, env_stack, flow, gv_ctx, in_inplace_assignment, reductions, stack))" % __pyx_checksum)
40228  *     __pyx_result = ControlFlowAnalysis.__new__(__pyx_type)
40229  *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
40230  *         __pyx_unpickle_ControlFlowAnalysis__set_state(<ControlFlowAnalysis> __pyx_result, __pyx_state)
40231  *     return __pyx_result
40232  */
40233   }
40234 
40235   /* "(tree fragment)":10
40236  *     if __pyx_state is not None:
40237  *         __pyx_unpickle_ControlFlowAnalysis__set_state(<ControlFlowAnalysis> __pyx_result, __pyx_state)
40238  *     return __pyx_result             # <<<<<<<<<<<<<<
40239  * cdef __pyx_unpickle_ControlFlowAnalysis__set_state(ControlFlowAnalysis __pyx_result, tuple __pyx_state):
40240  *     __pyx_result.access_path = __pyx_state[0]; __pyx_result.constant_folder = __pyx_state[1]; __pyx_result.context = __pyx_state[2]; __pyx_result.current_directives = __pyx_state[3]; __pyx_result.dispatch_table = __pyx_state[4]; __pyx_result.env = __pyx_state[5]; __pyx_result.env_stack = __pyx_state[6]; __pyx_result.flow = __pyx_state[7]; __pyx_result.gv_ctx = __pyx_state[8]; __pyx_result.in_inplace_assignment = __pyx_state[9]; __pyx_result.reductions = __pyx_state[10]; __pyx_result.stack = __pyx_state[11]
40241  */
40242   __Pyx_XDECREF(__pyx_r);
40243   __Pyx_INCREF(__pyx_v___pyx_result);
40244   __pyx_r = __pyx_v___pyx_result;
40245   goto __pyx_L0;
40246 
40247   /* "(tree fragment)":1
40248  * def __pyx_unpickle_ControlFlowAnalysis(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
40249  *     cdef object __pyx_PickleError
40250  *     cdef object __pyx_result
40251  */
40252 
40253   /* function exit code */
40254   __pyx_L1_error:;
40255   __Pyx_XDECREF(__pyx_t_2);
40256   __Pyx_XDECREF(__pyx_t_3);
40257   __Pyx_XDECREF(__pyx_t_4);
40258   __Pyx_XDECREF(__pyx_t_5);
40259   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_ControlFlowAnalysis", __pyx_clineno, __pyx_lineno, __pyx_filename);
40260   __pyx_r = NULL;
40261   __pyx_L0:;
40262   __Pyx_XDECREF(__pyx_v___pyx_PickleError);
40263   __Pyx_XDECREF(__pyx_v___pyx_result);
40264   __Pyx_XGIVEREF(__pyx_r);
40265   __Pyx_RefNannyFinishContext();
40266   return __pyx_r;
40267 }
40268 
40269 /* "(tree fragment)":11
40270  *         __pyx_unpickle_ControlFlowAnalysis__set_state(<ControlFlowAnalysis> __pyx_result, __pyx_state)
40271  *     return __pyx_result
40272  * cdef __pyx_unpickle_ControlFlowAnalysis__set_state(ControlFlowAnalysis __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
40273  *     __pyx_result.access_path = __pyx_state[0]; __pyx_result.constant_folder = __pyx_state[1]; __pyx_result.context = __pyx_state[2]; __pyx_result.current_directives = __pyx_state[3]; __pyx_result.dispatch_table = __pyx_state[4]; __pyx_result.env = __pyx_state[5]; __pyx_result.env_stack = __pyx_state[6]; __pyx_result.flow = __pyx_state[7]; __pyx_result.gv_ctx = __pyx_state[8]; __pyx_result.in_inplace_assignment = __pyx_state[9]; __pyx_result.reductions = __pyx_state[10]; __pyx_result.stack = __pyx_state[11]
40274  *     if len(__pyx_state) > 12 and hasattr(__pyx_result, '__dict__'):
40275  */
40276 
__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_ControlFlowAnalysis__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis * __pyx_v___pyx_result,PyObject * __pyx_v___pyx_state)40277 static PyObject *__pyx_f_6Cython_8Compiler_11FlowControl___pyx_unpickle_ControlFlowAnalysis__set_state(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
40278   PyObject *__pyx_r = NULL;
40279   __Pyx_RefNannyDeclarations
40280   PyObject *__pyx_t_1 = NULL;
40281   int __pyx_t_2;
40282   Py_ssize_t __pyx_t_3;
40283   int __pyx_t_4;
40284   int __pyx_t_5;
40285   PyObject *__pyx_t_6 = NULL;
40286   PyObject *__pyx_t_7 = NULL;
40287   PyObject *__pyx_t_8 = NULL;
40288   int __pyx_lineno = 0;
40289   const char *__pyx_filename = NULL;
40290   int __pyx_clineno = 0;
40291   __Pyx_RefNannySetupContext("__pyx_unpickle_ControlFlowAnalysis__set_state", 0);
40292 
40293   /* "(tree fragment)":12
40294  *     return __pyx_result
40295  * cdef __pyx_unpickle_ControlFlowAnalysis__set_state(ControlFlowAnalysis __pyx_result, tuple __pyx_state):
40296  *     __pyx_result.access_path = __pyx_state[0]; __pyx_result.constant_folder = __pyx_state[1]; __pyx_result.context = __pyx_state[2]; __pyx_result.current_directives = __pyx_state[3]; __pyx_result.dispatch_table = __pyx_state[4]; __pyx_result.env = __pyx_state[5]; __pyx_result.env_stack = __pyx_state[6]; __pyx_result.flow = __pyx_state[7]; __pyx_result.gv_ctx = __pyx_state[8]; __pyx_result.in_inplace_assignment = __pyx_state[9]; __pyx_result.reductions = __pyx_state[10]; __pyx_result.stack = __pyx_state[11]             # <<<<<<<<<<<<<<
40297  *     if len(__pyx_state) > 12 and hasattr(__pyx_result, '__dict__'):
40298  *         __pyx_result.__dict__.update(__pyx_state[12])
40299  */
40300   if (unlikely(__pyx_v___pyx_state == Py_None)) {
40301     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
40302     __PYX_ERR(2, 12, __pyx_L1_error)
40303   }
40304   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
40305   __Pyx_GOTREF(__pyx_t_1);
40306   if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
40307   __Pyx_GIVEREF(__pyx_t_1);
40308   __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.access_path);
40309   __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.access_path);
40310   __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.access_path = ((PyObject*)__pyx_t_1);
40311   __pyx_t_1 = 0;
40312   if (unlikely(__pyx_v___pyx_state == Py_None)) {
40313     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
40314     __PYX_ERR(2, 12, __pyx_L1_error)
40315   }
40316   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
40317   __Pyx_GOTREF(__pyx_t_1);
40318   __Pyx_GIVEREF(__pyx_t_1);
40319   __Pyx_GOTREF(__pyx_v___pyx_result->constant_folder);
40320   __Pyx_DECREF(__pyx_v___pyx_result->constant_folder);
40321   __pyx_v___pyx_result->constant_folder = __pyx_t_1;
40322   __pyx_t_1 = 0;
40323   if (unlikely(__pyx_v___pyx_state == Py_None)) {
40324     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
40325     __PYX_ERR(2, 12, __pyx_L1_error)
40326   }
40327   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
40328   __Pyx_GOTREF(__pyx_t_1);
40329   __Pyx_GIVEREF(__pyx_t_1);
40330   __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.context);
40331   __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.context);
40332   __pyx_v___pyx_result->__pyx_base.context = __pyx_t_1;
40333   __pyx_t_1 = 0;
40334   if (unlikely(__pyx_v___pyx_state == Py_None)) {
40335     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
40336     __PYX_ERR(2, 12, __pyx_L1_error)
40337   }
40338   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
40339   __Pyx_GOTREF(__pyx_t_1);
40340   __Pyx_GIVEREF(__pyx_t_1);
40341   __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.current_directives);
40342   __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.current_directives);
40343   __pyx_v___pyx_result->__pyx_base.current_directives = __pyx_t_1;
40344   __pyx_t_1 = 0;
40345   if (unlikely(__pyx_v___pyx_state == Py_None)) {
40346     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
40347     __PYX_ERR(2, 12, __pyx_L1_error)
40348   }
40349   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
40350   __Pyx_GOTREF(__pyx_t_1);
40351   if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
40352   __Pyx_GIVEREF(__pyx_t_1);
40353   __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.dispatch_table);
40354   __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.dispatch_table);
40355   __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.dispatch_table = ((PyObject*)__pyx_t_1);
40356   __pyx_t_1 = 0;
40357   if (unlikely(__pyx_v___pyx_state == Py_None)) {
40358     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
40359     __PYX_ERR(2, 12, __pyx_L1_error)
40360   }
40361   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
40362   __Pyx_GOTREF(__pyx_t_1);
40363   __Pyx_GIVEREF(__pyx_t_1);
40364   __Pyx_GOTREF(__pyx_v___pyx_result->env);
40365   __Pyx_DECREF(__pyx_v___pyx_result->env);
40366   __pyx_v___pyx_result->env = __pyx_t_1;
40367   __pyx_t_1 = 0;
40368   if (unlikely(__pyx_v___pyx_state == Py_None)) {
40369     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
40370     __PYX_ERR(2, 12, __pyx_L1_error)
40371   }
40372   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
40373   __Pyx_GOTREF(__pyx_t_1);
40374   if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
40375   __Pyx_GIVEREF(__pyx_t_1);
40376   __Pyx_GOTREF(__pyx_v___pyx_result->env_stack);
40377   __Pyx_DECREF(__pyx_v___pyx_result->env_stack);
40378   __pyx_v___pyx_result->env_stack = ((PyObject*)__pyx_t_1);
40379   __pyx_t_1 = 0;
40380   if (unlikely(__pyx_v___pyx_state == Py_None)) {
40381     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
40382     __PYX_ERR(2, 12, __pyx_L1_error)
40383   }
40384   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
40385   __Pyx_GOTREF(__pyx_t_1);
40386   if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow))))) __PYX_ERR(2, 12, __pyx_L1_error)
40387   __Pyx_GIVEREF(__pyx_t_1);
40388   __Pyx_GOTREF(__pyx_v___pyx_result->flow);
40389   __Pyx_DECREF(((PyObject *)__pyx_v___pyx_result->flow));
40390   __pyx_v___pyx_result->flow = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)__pyx_t_1);
40391   __pyx_t_1 = 0;
40392   if (unlikely(__pyx_v___pyx_state == Py_None)) {
40393     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
40394     __PYX_ERR(2, 12, __pyx_L1_error)
40395   }
40396   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
40397   __Pyx_GOTREF(__pyx_t_1);
40398   __Pyx_GIVEREF(__pyx_t_1);
40399   __Pyx_GOTREF(__pyx_v___pyx_result->gv_ctx);
40400   __Pyx_DECREF(__pyx_v___pyx_result->gv_ctx);
40401   __pyx_v___pyx_result->gv_ctx = __pyx_t_1;
40402   __pyx_t_1 = 0;
40403   if (unlikely(__pyx_v___pyx_state == Py_None)) {
40404     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
40405     __PYX_ERR(2, 12, __pyx_L1_error)
40406   }
40407   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 9, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
40408   __Pyx_GOTREF(__pyx_t_1);
40409   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 12, __pyx_L1_error)
40410   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
40411   __pyx_v___pyx_result->in_inplace_assignment = __pyx_t_2;
40412   if (unlikely(__pyx_v___pyx_state == Py_None)) {
40413     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
40414     __PYX_ERR(2, 12, __pyx_L1_error)
40415   }
40416   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 10, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
40417   __Pyx_GOTREF(__pyx_t_1);
40418   if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
40419   __Pyx_GIVEREF(__pyx_t_1);
40420   __Pyx_GOTREF(__pyx_v___pyx_result->reductions);
40421   __Pyx_DECREF(__pyx_v___pyx_result->reductions);
40422   __pyx_v___pyx_result->reductions = ((PyObject*)__pyx_t_1);
40423   __pyx_t_1 = 0;
40424   if (unlikely(__pyx_v___pyx_state == Py_None)) {
40425     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
40426     __PYX_ERR(2, 12, __pyx_L1_error)
40427   }
40428   __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 11, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
40429   __Pyx_GOTREF(__pyx_t_1);
40430   if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
40431   __Pyx_GIVEREF(__pyx_t_1);
40432   __Pyx_GOTREF(__pyx_v___pyx_result->stack);
40433   __Pyx_DECREF(__pyx_v___pyx_result->stack);
40434   __pyx_v___pyx_result->stack = ((PyObject*)__pyx_t_1);
40435   __pyx_t_1 = 0;
40436 
40437   /* "(tree fragment)":13
40438  * cdef __pyx_unpickle_ControlFlowAnalysis__set_state(ControlFlowAnalysis __pyx_result, tuple __pyx_state):
40439  *     __pyx_result.access_path = __pyx_state[0]; __pyx_result.constant_folder = __pyx_state[1]; __pyx_result.context = __pyx_state[2]; __pyx_result.current_directives = __pyx_state[3]; __pyx_result.dispatch_table = __pyx_state[4]; __pyx_result.env = __pyx_state[5]; __pyx_result.env_stack = __pyx_state[6]; __pyx_result.flow = __pyx_state[7]; __pyx_result.gv_ctx = __pyx_state[8]; __pyx_result.in_inplace_assignment = __pyx_state[9]; __pyx_result.reductions = __pyx_state[10]; __pyx_result.stack = __pyx_state[11]
40440  *     if len(__pyx_state) > 12 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
40441  *         __pyx_result.__dict__.update(__pyx_state[12])
40442  */
40443   if (unlikely(__pyx_v___pyx_state == Py_None)) {
40444     PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
40445     __PYX_ERR(2, 13, __pyx_L1_error)
40446   }
40447   __pyx_t_3 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(2, 13, __pyx_L1_error)
40448   __pyx_t_4 = ((__pyx_t_3 > 12) != 0);
40449   if (__pyx_t_4) {
40450   } else {
40451     __pyx_t_2 = __pyx_t_4;
40452     goto __pyx_L4_bool_binop_done;
40453   }
40454   __pyx_t_4 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 13, __pyx_L1_error)
40455   __pyx_t_5 = (__pyx_t_4 != 0);
40456   __pyx_t_2 = __pyx_t_5;
40457   __pyx_L4_bool_binop_done:;
40458   if (__pyx_t_2) {
40459 
40460     /* "(tree fragment)":14
40461  *     __pyx_result.access_path = __pyx_state[0]; __pyx_result.constant_folder = __pyx_state[1]; __pyx_result.context = __pyx_state[2]; __pyx_result.current_directives = __pyx_state[3]; __pyx_result.dispatch_table = __pyx_state[4]; __pyx_result.env = __pyx_state[5]; __pyx_result.env_stack = __pyx_state[6]; __pyx_result.flow = __pyx_state[7]; __pyx_result.gv_ctx = __pyx_state[8]; __pyx_result.in_inplace_assignment = __pyx_state[9]; __pyx_result.reductions = __pyx_state[10]; __pyx_result.stack = __pyx_state[11]
40462  *     if len(__pyx_state) > 12 and hasattr(__pyx_result, '__dict__'):
40463  *         __pyx_result.__dict__.update(__pyx_state[12])             # <<<<<<<<<<<<<<
40464  */
40465     __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error)
40466     __Pyx_GOTREF(__pyx_t_6);
40467     __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 14, __pyx_L1_error)
40468     __Pyx_GOTREF(__pyx_t_7);
40469     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
40470     if (unlikely(__pyx_v___pyx_state == Py_None)) {
40471       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
40472       __PYX_ERR(2, 14, __pyx_L1_error)
40473     }
40474     __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 12, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error)
40475     __Pyx_GOTREF(__pyx_t_6);
40476     __pyx_t_8 = NULL;
40477     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
40478       __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
40479       if (likely(__pyx_t_8)) {
40480         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
40481         __Pyx_INCREF(__pyx_t_8);
40482         __Pyx_INCREF(function);
40483         __Pyx_DECREF_SET(__pyx_t_7, function);
40484       }
40485     }
40486     __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
40487     __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
40488     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
40489     if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 14, __pyx_L1_error)
40490     __Pyx_GOTREF(__pyx_t_1);
40491     __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
40492     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
40493 
40494     /* "(tree fragment)":13
40495  * cdef __pyx_unpickle_ControlFlowAnalysis__set_state(ControlFlowAnalysis __pyx_result, tuple __pyx_state):
40496  *     __pyx_result.access_path = __pyx_state[0]; __pyx_result.constant_folder = __pyx_state[1]; __pyx_result.context = __pyx_state[2]; __pyx_result.current_directives = __pyx_state[3]; __pyx_result.dispatch_table = __pyx_state[4]; __pyx_result.env = __pyx_state[5]; __pyx_result.env_stack = __pyx_state[6]; __pyx_result.flow = __pyx_state[7]; __pyx_result.gv_ctx = __pyx_state[8]; __pyx_result.in_inplace_assignment = __pyx_state[9]; __pyx_result.reductions = __pyx_state[10]; __pyx_result.stack = __pyx_state[11]
40497  *     if len(__pyx_state) > 12 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
40498  *         __pyx_result.__dict__.update(__pyx_state[12])
40499  */
40500   }
40501 
40502   /* "(tree fragment)":11
40503  *         __pyx_unpickle_ControlFlowAnalysis__set_state(<ControlFlowAnalysis> __pyx_result, __pyx_state)
40504  *     return __pyx_result
40505  * cdef __pyx_unpickle_ControlFlowAnalysis__set_state(ControlFlowAnalysis __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
40506  *     __pyx_result.access_path = __pyx_state[0]; __pyx_result.constant_folder = __pyx_state[1]; __pyx_result.context = __pyx_state[2]; __pyx_result.current_directives = __pyx_state[3]; __pyx_result.dispatch_table = __pyx_state[4]; __pyx_result.env = __pyx_state[5]; __pyx_result.env_stack = __pyx_state[6]; __pyx_result.flow = __pyx_state[7]; __pyx_result.gv_ctx = __pyx_state[8]; __pyx_result.in_inplace_assignment = __pyx_state[9]; __pyx_result.reductions = __pyx_state[10]; __pyx_result.stack = __pyx_state[11]
40507  *     if len(__pyx_state) > 12 and hasattr(__pyx_result, '__dict__'):
40508  */
40509 
40510   /* function exit code */
40511   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
40512   goto __pyx_L0;
40513   __pyx_L1_error:;
40514   __Pyx_XDECREF(__pyx_t_1);
40515   __Pyx_XDECREF(__pyx_t_6);
40516   __Pyx_XDECREF(__pyx_t_7);
40517   __Pyx_XDECREF(__pyx_t_8);
40518   __Pyx_AddTraceback("Cython.Compiler.FlowControl.__pyx_unpickle_ControlFlowAnalysis__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
40519   __pyx_r = 0;
40520   __pyx_L0:;
40521   __Pyx_XGIVEREF(__pyx_r);
40522   __Pyx_RefNannyFinishContext();
40523   return __pyx_r;
40524 }
40525 static struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock __pyx_vtable_6Cython_8Compiler_11FlowControl_ControlBlock;
40526 
__pyx_tp_new_6Cython_8Compiler_11FlowControl_ControlBlock(PyTypeObject * t,CYTHON_UNUSED PyObject * a,CYTHON_UNUSED PyObject * k)40527 static PyObject *__pyx_tp_new_6Cython_8Compiler_11FlowControl_ControlBlock(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
40528   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *p;
40529   PyObject *o;
40530   if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
40531     o = (*t->tp_alloc)(t, 0);
40532   } else {
40533     o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
40534   }
40535   if (unlikely(!o)) return 0;
40536   p = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)o);
40537   p->__pyx_vtab = __pyx_vtabptr_6Cython_8Compiler_11FlowControl_ControlBlock;
40538   p->children = ((PyObject*)Py_None); Py_INCREF(Py_None);
40539   p->parents = ((PyObject*)Py_None); Py_INCREF(Py_None);
40540   p->positions = ((PyObject*)Py_None); Py_INCREF(Py_None);
40541   p->stats = ((PyObject*)Py_None); Py_INCREF(Py_None);
40542   p->gen = ((PyObject*)Py_None); Py_INCREF(Py_None);
40543   p->bounded = ((PyObject*)Py_None); Py_INCREF(Py_None);
40544   p->i_input = Py_None; Py_INCREF(Py_None);
40545   p->i_output = Py_None; Py_INCREF(Py_None);
40546   p->i_gen = Py_None; Py_INCREF(Py_None);
40547   p->i_kill = Py_None; Py_INCREF(Py_None);
40548   p->i_state = Py_None; Py_INCREF(Py_None);
40549   return o;
40550 }
40551 
__pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_ControlBlock(PyObject * o)40552 static void __pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_ControlBlock(PyObject *o) {
40553   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *p = (struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)o;
40554   #if CYTHON_USE_TP_FINALIZE
40555   if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
40556     if (PyObject_CallFinalizerFromDealloc(o)) return;
40557   }
40558   #endif
40559   PyObject_GC_UnTrack(o);
40560   Py_CLEAR(p->children);
40561   Py_CLEAR(p->parents);
40562   Py_CLEAR(p->positions);
40563   Py_CLEAR(p->stats);
40564   Py_CLEAR(p->gen);
40565   Py_CLEAR(p->bounded);
40566   Py_CLEAR(p->i_input);
40567   Py_CLEAR(p->i_output);
40568   Py_CLEAR(p->i_gen);
40569   Py_CLEAR(p->i_kill);
40570   Py_CLEAR(p->i_state);
40571   (*Py_TYPE(o)->tp_free)(o);
40572 }
40573 
__pyx_tp_traverse_6Cython_8Compiler_11FlowControl_ControlBlock(PyObject * o,visitproc v,void * a)40574 static int __pyx_tp_traverse_6Cython_8Compiler_11FlowControl_ControlBlock(PyObject *o, visitproc v, void *a) {
40575   int e;
40576   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *p = (struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)o;
40577   if (p->children) {
40578     e = (*v)(p->children, a); if (e) return e;
40579   }
40580   if (p->parents) {
40581     e = (*v)(p->parents, a); if (e) return e;
40582   }
40583   if (p->positions) {
40584     e = (*v)(p->positions, a); if (e) return e;
40585   }
40586   if (p->stats) {
40587     e = (*v)(p->stats, a); if (e) return e;
40588   }
40589   if (p->gen) {
40590     e = (*v)(p->gen, a); if (e) return e;
40591   }
40592   if (p->bounded) {
40593     e = (*v)(p->bounded, a); if (e) return e;
40594   }
40595   if (p->i_input) {
40596     e = (*v)(p->i_input, a); if (e) return e;
40597   }
40598   if (p->i_output) {
40599     e = (*v)(p->i_output, a); if (e) return e;
40600   }
40601   if (p->i_gen) {
40602     e = (*v)(p->i_gen, a); if (e) return e;
40603   }
40604   if (p->i_kill) {
40605     e = (*v)(p->i_kill, a); if (e) return e;
40606   }
40607   if (p->i_state) {
40608     e = (*v)(p->i_state, a); if (e) return e;
40609   }
40610   return 0;
40611 }
40612 
__pyx_tp_clear_6Cython_8Compiler_11FlowControl_ControlBlock(PyObject * o)40613 static int __pyx_tp_clear_6Cython_8Compiler_11FlowControl_ControlBlock(PyObject *o) {
40614   PyObject* tmp;
40615   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *p = (struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)o;
40616   tmp = ((PyObject*)p->children);
40617   p->children = ((PyObject*)Py_None); Py_INCREF(Py_None);
40618   Py_XDECREF(tmp);
40619   tmp = ((PyObject*)p->parents);
40620   p->parents = ((PyObject*)Py_None); Py_INCREF(Py_None);
40621   Py_XDECREF(tmp);
40622   tmp = ((PyObject*)p->positions);
40623   p->positions = ((PyObject*)Py_None); Py_INCREF(Py_None);
40624   Py_XDECREF(tmp);
40625   tmp = ((PyObject*)p->stats);
40626   p->stats = ((PyObject*)Py_None); Py_INCREF(Py_None);
40627   Py_XDECREF(tmp);
40628   tmp = ((PyObject*)p->gen);
40629   p->gen = ((PyObject*)Py_None); Py_INCREF(Py_None);
40630   Py_XDECREF(tmp);
40631   tmp = ((PyObject*)p->bounded);
40632   p->bounded = ((PyObject*)Py_None); Py_INCREF(Py_None);
40633   Py_XDECREF(tmp);
40634   tmp = ((PyObject*)p->i_input);
40635   p->i_input = Py_None; Py_INCREF(Py_None);
40636   Py_XDECREF(tmp);
40637   tmp = ((PyObject*)p->i_output);
40638   p->i_output = Py_None; Py_INCREF(Py_None);
40639   Py_XDECREF(tmp);
40640   tmp = ((PyObject*)p->i_gen);
40641   p->i_gen = Py_None; Py_INCREF(Py_None);
40642   Py_XDECREF(tmp);
40643   tmp = ((PyObject*)p->i_kill);
40644   p->i_kill = Py_None; Py_INCREF(Py_None);
40645   Py_XDECREF(tmp);
40646   tmp = ((PyObject*)p->i_state);
40647   p->i_state = Py_None; Py_INCREF(Py_None);
40648   Py_XDECREF(tmp);
40649   return 0;
40650 }
40651 
__pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_children(PyObject * o,CYTHON_UNUSED void * x)40652 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_children(PyObject *o, CYTHON_UNUSED void *x) {
40653   return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8children_1__get__(o);
40654 }
40655 
__pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_children(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)40656 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_children(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
40657   if (v) {
40658     return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8children_3__set__(o, v);
40659   }
40660   else {
40661     return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8children_5__del__(o);
40662   }
40663 }
40664 
__pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_parents(PyObject * o,CYTHON_UNUSED void * x)40665 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_parents(PyObject *o, CYTHON_UNUSED void *x) {
40666   return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents_1__get__(o);
40667 }
40668 
__pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_parents(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)40669 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_parents(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
40670   if (v) {
40671     return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents_3__set__(o, v);
40672   }
40673   else {
40674     return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7parents_5__del__(o);
40675   }
40676 }
40677 
__pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_positions(PyObject * o,CYTHON_UNUSED void * x)40678 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_positions(PyObject *o, CYTHON_UNUSED void *x) {
40679   return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions_1__get__(o);
40680 }
40681 
__pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_positions(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)40682 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_positions(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
40683   if (v) {
40684     return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions_3__set__(o, v);
40685   }
40686   else {
40687     return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_9positions_5__del__(o);
40688   }
40689 }
40690 
__pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_stats(PyObject * o,CYTHON_UNUSED void * x)40691 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_stats(PyObject *o, CYTHON_UNUSED void *x) {
40692   return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats_1__get__(o);
40693 }
40694 
__pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_stats(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)40695 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_stats(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
40696   if (v) {
40697     return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats_3__set__(o, v);
40698   }
40699   else {
40700     return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5stats_5__del__(o);
40701   }
40702 }
40703 
__pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_gen(PyObject * o,CYTHON_UNUSED void * x)40704 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_gen(PyObject *o, CYTHON_UNUSED void *x) {
40705   return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen_1__get__(o);
40706 }
40707 
__pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_gen(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)40708 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_gen(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
40709   if (v) {
40710     return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen_3__set__(o, v);
40711   }
40712   else {
40713     return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_3gen_5__del__(o);
40714   }
40715 }
40716 
__pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_bounded(PyObject * o,CYTHON_UNUSED void * x)40717 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_bounded(PyObject *o, CYTHON_UNUSED void *x) {
40718   return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded_1__get__(o);
40719 }
40720 
__pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_bounded(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)40721 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_bounded(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
40722   if (v) {
40723     return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded_3__set__(o, v);
40724   }
40725   else {
40726     return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7bounded_5__del__(o);
40727   }
40728 }
40729 
__pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_input(PyObject * o,CYTHON_UNUSED void * x)40730 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_input(PyObject *o, CYTHON_UNUSED void *x) {
40731   return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input_1__get__(o);
40732 }
40733 
__pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_input(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)40734 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_input(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
40735   if (v) {
40736     return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input_3__set__(o, v);
40737   }
40738   else {
40739     return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_input_5__del__(o);
40740   }
40741 }
40742 
__pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_output(PyObject * o,CYTHON_UNUSED void * x)40743 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_output(PyObject *o, CYTHON_UNUSED void *x) {
40744   return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output_1__get__(o);
40745 }
40746 
__pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_output(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)40747 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_output(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
40748   if (v) {
40749     return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output_3__set__(o, v);
40750   }
40751   else {
40752     return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_8i_output_5__del__(o);
40753   }
40754 }
40755 
__pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_gen(PyObject * o,CYTHON_UNUSED void * x)40756 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_gen(PyObject *o, CYTHON_UNUSED void *x) {
40757   return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen_1__get__(o);
40758 }
40759 
__pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_gen(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)40760 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_gen(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
40761   if (v) {
40762     return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen_3__set__(o, v);
40763   }
40764   else {
40765     return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_5i_gen_5__del__(o);
40766   }
40767 }
40768 
__pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_kill(PyObject * o,CYTHON_UNUSED void * x)40769 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_kill(PyObject *o, CYTHON_UNUSED void *x) {
40770   return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill_1__get__(o);
40771 }
40772 
__pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_kill(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)40773 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_kill(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
40774   if (v) {
40775     return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill_3__set__(o, v);
40776   }
40777   else {
40778     return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_6i_kill_5__del__(o);
40779   }
40780 }
40781 
__pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_state(PyObject * o,CYTHON_UNUSED void * x)40782 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_state(PyObject *o, CYTHON_UNUSED void *x) {
40783   return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state_1__get__(o);
40784 }
40785 
__pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_state(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)40786 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_state(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
40787   if (v) {
40788     return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state_3__set__(o, v);
40789   }
40790   else {
40791     return __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_7i_state_5__del__(o);
40792   }
40793 }
40794 
40795 static PyMethodDef __pyx_methods_6Cython_8Compiler_11FlowControl_ControlBlock[] = {
40796   {"__reduce_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_9__reduce_cython__, METH_NOARGS, 0},
40797   {"__setstate_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_11__setstate_cython__, METH_O, 0},
40798   {0, 0, 0, 0}
40799 };
40800 
40801 static struct PyGetSetDef __pyx_getsets_6Cython_8Compiler_11FlowControl_ControlBlock[] = {
40802   {(char *)"children", __pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_children, __pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_children, (char *)0, 0},
40803   {(char *)"parents", __pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_parents, __pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_parents, (char *)0, 0},
40804   {(char *)"positions", __pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_positions, __pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_positions, (char *)0, 0},
40805   {(char *)"stats", __pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_stats, __pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_stats, (char *)0, 0},
40806   {(char *)"gen", __pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_gen, __pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_gen, (char *)0, 0},
40807   {(char *)"bounded", __pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_bounded, __pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_bounded, (char *)0, 0},
40808   {(char *)"i_input", __pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_input, __pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_input, (char *)0, 0},
40809   {(char *)"i_output", __pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_output, __pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_output, (char *)0, 0},
40810   {(char *)"i_gen", __pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_gen, __pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_gen, (char *)0, 0},
40811   {(char *)"i_kill", __pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_kill, __pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_kill, (char *)0, 0},
40812   {(char *)"i_state", __pyx_getprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_state, __pyx_setprop_6Cython_8Compiler_11FlowControl_12ControlBlock_i_state, (char *)0, 0},
40813   {0, 0, 0, 0, 0}
40814 };
40815 
40816 static PyTypeObject __pyx_type_6Cython_8Compiler_11FlowControl_ControlBlock = {
40817   PyVarObject_HEAD_INIT(0, 0)
40818   "Cython.Compiler.FlowControl.ControlBlock", /*tp_name*/
40819   sizeof(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock), /*tp_basicsize*/
40820   0, /*tp_itemsize*/
40821   __pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_ControlBlock, /*tp_dealloc*/
40822   #if PY_VERSION_HEX < 0x030800b4
40823   0, /*tp_print*/
40824   #endif
40825   #if PY_VERSION_HEX >= 0x030800b4
40826   0, /*tp_vectorcall_offset*/
40827   #endif
40828   0, /*tp_getattr*/
40829   0, /*tp_setattr*/
40830   #if PY_MAJOR_VERSION < 3
40831   0, /*tp_compare*/
40832   #endif
40833   #if PY_MAJOR_VERSION >= 3
40834   0, /*tp_as_async*/
40835   #endif
40836   0, /*tp_repr*/
40837   0, /*tp_as_number*/
40838   0, /*tp_as_sequence*/
40839   0, /*tp_as_mapping*/
40840   0, /*tp_hash*/
40841   0, /*tp_call*/
40842   0, /*tp_str*/
40843   0, /*tp_getattro*/
40844   0, /*tp_setattro*/
40845   0, /*tp_as_buffer*/
40846   Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
40847   "Control flow graph node. Sequence of assignments and name references.\n\n       children  set of children nodes\n       parents   set of parent nodes\n       positions set of position markers\n\n       stats     list of block statements\n       gen       dict of assignments generated by this block\n       bounded   set  of entries that are definitely bounded in this block\n\n       Example:\n\n        a = 1\n        b = a + c # 'c' is already bounded or exception here\n\n        stats = [Assignment(a), NameReference(a), NameReference(c),\n                     Assignment(b)]\n        gen = {Entry(a): Assignment(a), Entry(b): Assignment(b)}\n        bounded = set([Entry(a), Entry(c)])\n\n    ", /*tp_doc*/
40848   __pyx_tp_traverse_6Cython_8Compiler_11FlowControl_ControlBlock, /*tp_traverse*/
40849   __pyx_tp_clear_6Cython_8Compiler_11FlowControl_ControlBlock, /*tp_clear*/
40850   0, /*tp_richcompare*/
40851   0, /*tp_weaklistoffset*/
40852   0, /*tp_iter*/
40853   0, /*tp_iternext*/
40854   __pyx_methods_6Cython_8Compiler_11FlowControl_ControlBlock, /*tp_methods*/
40855   0, /*tp_members*/
40856   __pyx_getsets_6Cython_8Compiler_11FlowControl_ControlBlock, /*tp_getset*/
40857   0, /*tp_base*/
40858   0, /*tp_dict*/
40859   0, /*tp_descr_get*/
40860   0, /*tp_descr_set*/
40861   0, /*tp_dictoffset*/
40862   __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_1__init__, /*tp_init*/
40863   0, /*tp_alloc*/
40864   __pyx_tp_new_6Cython_8Compiler_11FlowControl_ControlBlock, /*tp_new*/
40865   0, /*tp_free*/
40866   0, /*tp_is_gc*/
40867   0, /*tp_bases*/
40868   0, /*tp_mro*/
40869   0, /*tp_cache*/
40870   0, /*tp_subclasses*/
40871   0, /*tp_weaklist*/
40872   0, /*tp_del*/
40873   0, /*tp_version_tag*/
40874   #if PY_VERSION_HEX >= 0x030400a1
40875   0, /*tp_finalize*/
40876   #endif
40877   #if PY_VERSION_HEX >= 0x030800b1
40878   0, /*tp_vectorcall*/
40879   #endif
40880   #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
40881   0, /*tp_print*/
40882   #endif
40883 };
40884 static struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ExitBlock __pyx_vtable_6Cython_8Compiler_11FlowControl_ExitBlock;
40885 
__pyx_tp_new_6Cython_8Compiler_11FlowControl_ExitBlock(PyTypeObject * t,PyObject * a,PyObject * k)40886 static PyObject *__pyx_tp_new_6Cython_8Compiler_11FlowControl_ExitBlock(PyTypeObject *t, PyObject *a, PyObject *k) {
40887   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock *p;
40888   PyObject *o = __pyx_tp_new_6Cython_8Compiler_11FlowControl_ControlBlock(t, a, k);
40889   if (unlikely(!o)) return 0;
40890   p = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock *)o);
40891   p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlBlock*)__pyx_vtabptr_6Cython_8Compiler_11FlowControl_ExitBlock;
40892   return o;
40893 }
40894 
40895 static PyMethodDef __pyx_methods_6Cython_8Compiler_11FlowControl_ExitBlock[] = {
40896   {"__reduce_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_9ExitBlock_3__reduce_cython__, METH_NOARGS, 0},
40897   {"__setstate_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_9ExitBlock_5__setstate_cython__, METH_O, 0},
40898   {0, 0, 0, 0}
40899 };
40900 
40901 static PyTypeObject __pyx_type_6Cython_8Compiler_11FlowControl_ExitBlock = {
40902   PyVarObject_HEAD_INIT(0, 0)
40903   "Cython.Compiler.FlowControl.ExitBlock", /*tp_name*/
40904   sizeof(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock), /*tp_basicsize*/
40905   0, /*tp_itemsize*/
40906   __pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_ControlBlock, /*tp_dealloc*/
40907   #if PY_VERSION_HEX < 0x030800b4
40908   0, /*tp_print*/
40909   #endif
40910   #if PY_VERSION_HEX >= 0x030800b4
40911   0, /*tp_vectorcall_offset*/
40912   #endif
40913   0, /*tp_getattr*/
40914   0, /*tp_setattr*/
40915   #if PY_MAJOR_VERSION < 3
40916   0, /*tp_compare*/
40917   #endif
40918   #if PY_MAJOR_VERSION >= 3
40919   0, /*tp_as_async*/
40920   #endif
40921   0, /*tp_repr*/
40922   0, /*tp_as_number*/
40923   0, /*tp_as_sequence*/
40924   0, /*tp_as_mapping*/
40925   0, /*tp_hash*/
40926   0, /*tp_call*/
40927   0, /*tp_str*/
40928   0, /*tp_getattro*/
40929   0, /*tp_setattro*/
40930   0, /*tp_as_buffer*/
40931   Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
40932   "Non-empty exit point block.", /*tp_doc*/
40933   __pyx_tp_traverse_6Cython_8Compiler_11FlowControl_ControlBlock, /*tp_traverse*/
40934   __pyx_tp_clear_6Cython_8Compiler_11FlowControl_ControlBlock, /*tp_clear*/
40935   0, /*tp_richcompare*/
40936   0, /*tp_weaklistoffset*/
40937   0, /*tp_iter*/
40938   0, /*tp_iternext*/
40939   __pyx_methods_6Cython_8Compiler_11FlowControl_ExitBlock, /*tp_methods*/
40940   0, /*tp_members*/
40941   0, /*tp_getset*/
40942   0, /*tp_base*/
40943   0, /*tp_dict*/
40944   0, /*tp_descr_get*/
40945   0, /*tp_descr_set*/
40946   0, /*tp_dictoffset*/
40947   #if CYTHON_COMPILING_IN_PYPY
40948   __pyx_pw_6Cython_8Compiler_11FlowControl_12ControlBlock_1__init__, /*tp_init*/
40949   #else
40950   0, /*tp_init*/
40951   #endif
40952   0, /*tp_alloc*/
40953   __pyx_tp_new_6Cython_8Compiler_11FlowControl_ExitBlock, /*tp_new*/
40954   0, /*tp_free*/
40955   0, /*tp_is_gc*/
40956   0, /*tp_bases*/
40957   0, /*tp_mro*/
40958   0, /*tp_cache*/
40959   0, /*tp_subclasses*/
40960   0, /*tp_weaklist*/
40961   0, /*tp_del*/
40962   0, /*tp_version_tag*/
40963   #if PY_VERSION_HEX >= 0x030400a1
40964   0, /*tp_finalize*/
40965   #endif
40966   #if PY_VERSION_HEX >= 0x030800b1
40967   0, /*tp_vectorcall*/
40968   #endif
40969   #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
40970   0, /*tp_print*/
40971   #endif
40972 };
40973 
__pyx_tp_new_6Cython_8Compiler_11FlowControl_NameAssignment(PyTypeObject * t,CYTHON_UNUSED PyObject * a,CYTHON_UNUSED PyObject * k)40974 static PyObject *__pyx_tp_new_6Cython_8Compiler_11FlowControl_NameAssignment(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
40975   struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *p;
40976   PyObject *o;
40977   if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
40978     o = (*t->tp_alloc)(t, 0);
40979   } else {
40980     o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
40981   }
40982   if (unlikely(!o)) return 0;
40983   p = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)o);
40984   p->lhs = Py_None; Py_INCREF(Py_None);
40985   p->rhs = Py_None; Py_INCREF(Py_None);
40986   p->entry = Py_None; Py_INCREF(Py_None);
40987   p->pos = Py_None; Py_INCREF(Py_None);
40988   p->refs = ((PyObject*)Py_None); Py_INCREF(Py_None);
40989   p->bit = Py_None; Py_INCREF(Py_None);
40990   p->inferred_type = Py_None; Py_INCREF(Py_None);
40991   return o;
40992 }
40993 
__pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_NameAssignment(PyObject * o)40994 static void __pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_NameAssignment(PyObject *o) {
40995   struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *p = (struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)o;
40996   #if CYTHON_USE_TP_FINALIZE
40997   if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
40998     if (PyObject_CallFinalizerFromDealloc(o)) return;
40999   }
41000   #endif
41001   PyObject_GC_UnTrack(o);
41002   Py_CLEAR(p->lhs);
41003   Py_CLEAR(p->rhs);
41004   Py_CLEAR(p->entry);
41005   Py_CLEAR(p->pos);
41006   Py_CLEAR(p->refs);
41007   Py_CLEAR(p->bit);
41008   Py_CLEAR(p->inferred_type);
41009   (*Py_TYPE(o)->tp_free)(o);
41010 }
41011 
__pyx_tp_traverse_6Cython_8Compiler_11FlowControl_NameAssignment(PyObject * o,visitproc v,void * a)41012 static int __pyx_tp_traverse_6Cython_8Compiler_11FlowControl_NameAssignment(PyObject *o, visitproc v, void *a) {
41013   int e;
41014   struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *p = (struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)o;
41015   if (p->lhs) {
41016     e = (*v)(p->lhs, a); if (e) return e;
41017   }
41018   if (p->rhs) {
41019     e = (*v)(p->rhs, a); if (e) return e;
41020   }
41021   if (p->entry) {
41022     e = (*v)(p->entry, a); if (e) return e;
41023   }
41024   if (p->pos) {
41025     e = (*v)(p->pos, a); if (e) return e;
41026   }
41027   if (p->refs) {
41028     e = (*v)(p->refs, a); if (e) return e;
41029   }
41030   if (p->bit) {
41031     e = (*v)(p->bit, a); if (e) return e;
41032   }
41033   if (p->inferred_type) {
41034     e = (*v)(p->inferred_type, a); if (e) return e;
41035   }
41036   return 0;
41037 }
41038 
__pyx_tp_clear_6Cython_8Compiler_11FlowControl_NameAssignment(PyObject * o)41039 static int __pyx_tp_clear_6Cython_8Compiler_11FlowControl_NameAssignment(PyObject *o) {
41040   PyObject* tmp;
41041   struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *p = (struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment *)o;
41042   tmp = ((PyObject*)p->lhs);
41043   p->lhs = Py_None; Py_INCREF(Py_None);
41044   Py_XDECREF(tmp);
41045   tmp = ((PyObject*)p->rhs);
41046   p->rhs = Py_None; Py_INCREF(Py_None);
41047   Py_XDECREF(tmp);
41048   tmp = ((PyObject*)p->entry);
41049   p->entry = Py_None; Py_INCREF(Py_None);
41050   Py_XDECREF(tmp);
41051   tmp = ((PyObject*)p->pos);
41052   p->pos = Py_None; Py_INCREF(Py_None);
41053   Py_XDECREF(tmp);
41054   tmp = ((PyObject*)p->refs);
41055   p->refs = ((PyObject*)Py_None); Py_INCREF(Py_None);
41056   Py_XDECREF(tmp);
41057   tmp = ((PyObject*)p->bit);
41058   p->bit = Py_None; Py_INCREF(Py_None);
41059   Py_XDECREF(tmp);
41060   tmp = ((PyObject*)p->inferred_type);
41061   p->inferred_type = Py_None; Py_INCREF(Py_None);
41062   Py_XDECREF(tmp);
41063   return 0;
41064 }
41065 
__pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_type(PyObject * o,CYTHON_UNUSED void * x)41066 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_type(PyObject *o, CYTHON_UNUSED void *x) {
41067   return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_4type_1__get__(o);
41068 }
41069 
__pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_is_arg(PyObject * o,CYTHON_UNUSED void * x)41070 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_is_arg(PyObject *o, CYTHON_UNUSED void *x) {
41071   return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_6is_arg_1__get__(o);
41072 }
41073 
__pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_is_arg(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)41074 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_is_arg(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
41075   if (v) {
41076     return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_6is_arg_3__set__(o, v);
41077   }
41078   else {
41079     PyErr_SetString(PyExc_NotImplementedError, "__del__");
41080     return -1;
41081   }
41082 }
41083 
__pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_is_deletion(PyObject * o,CYTHON_UNUSED void * x)41084 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_is_deletion(PyObject *o, CYTHON_UNUSED void *x) {
41085   return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_11is_deletion_1__get__(o);
41086 }
41087 
__pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_is_deletion(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)41088 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_is_deletion(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
41089   if (v) {
41090     return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_11is_deletion_3__set__(o, v);
41091   }
41092   else {
41093     PyErr_SetString(PyExc_NotImplementedError, "__del__");
41094     return -1;
41095   }
41096 }
41097 
__pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_lhs(PyObject * o,CYTHON_UNUSED void * x)41098 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_lhs(PyObject *o, CYTHON_UNUSED void *x) {
41099   return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs_1__get__(o);
41100 }
41101 
__pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_lhs(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)41102 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_lhs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
41103   if (v) {
41104     return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs_3__set__(o, v);
41105   }
41106   else {
41107     return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3lhs_5__del__(o);
41108   }
41109 }
41110 
__pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_rhs(PyObject * o,CYTHON_UNUSED void * x)41111 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_rhs(PyObject *o, CYTHON_UNUSED void *x) {
41112   return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs_1__get__(o);
41113 }
41114 
__pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_rhs(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)41115 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_rhs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
41116   if (v) {
41117     return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs_3__set__(o, v);
41118   }
41119   else {
41120     return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3rhs_5__del__(o);
41121   }
41122 }
41123 
__pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_entry(PyObject * o,CYTHON_UNUSED void * x)41124 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_entry(PyObject *o, CYTHON_UNUSED void *x) {
41125   return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry_1__get__(o);
41126 }
41127 
__pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_entry(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)41128 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_entry(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
41129   if (v) {
41130     return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry_3__set__(o, v);
41131   }
41132   else {
41133     return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_5entry_5__del__(o);
41134   }
41135 }
41136 
__pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_pos(PyObject * o,CYTHON_UNUSED void * x)41137 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_pos(PyObject *o, CYTHON_UNUSED void *x) {
41138   return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos_1__get__(o);
41139 }
41140 
__pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_pos(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)41141 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_pos(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
41142   if (v) {
41143     return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos_3__set__(o, v);
41144   }
41145   else {
41146     return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3pos_5__del__(o);
41147   }
41148 }
41149 
__pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_refs(PyObject * o,CYTHON_UNUSED void * x)41150 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_refs(PyObject *o, CYTHON_UNUSED void *x) {
41151   return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs_1__get__(o);
41152 }
41153 
__pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_refs(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)41154 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_refs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
41155   if (v) {
41156     return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs_3__set__(o, v);
41157   }
41158   else {
41159     return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_4refs_5__del__(o);
41160   }
41161 }
41162 
__pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_bit(PyObject * o,CYTHON_UNUSED void * x)41163 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_bit(PyObject *o, CYTHON_UNUSED void *x) {
41164   return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit_1__get__(o);
41165 }
41166 
__pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_bit(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)41167 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_bit(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
41168   if (v) {
41169     return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit_3__set__(o, v);
41170   }
41171   else {
41172     return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3bit_5__del__(o);
41173   }
41174 }
41175 
__pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_inferred_type(PyObject * o,CYTHON_UNUSED void * x)41176 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_inferred_type(PyObject *o, CYTHON_UNUSED void *x) {
41177   return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type_1__get__(o);
41178 }
41179 
__pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_inferred_type(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)41180 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_inferred_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
41181   if (v) {
41182     return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type_3__set__(o, v);
41183   }
41184   else {
41185     return __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_13inferred_type_5__del__(o);
41186   }
41187 }
41188 
41189 static PyMethodDef __pyx_methods_6Cython_8Compiler_11FlowControl_NameAssignment[] = {
41190   {"infer_type", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_5infer_type, METH_NOARGS, 0},
41191   {"type_dependencies", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_7type_dependencies, METH_NOARGS, 0},
41192   {"__reduce_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_9__reduce_cython__, METH_NOARGS, 0},
41193   {"__setstate_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_11__setstate_cython__, METH_O, 0},
41194   {0, 0, 0, 0}
41195 };
41196 
41197 static struct PyGetSetDef __pyx_getsets_6Cython_8Compiler_11FlowControl_NameAssignment[] = {
41198   {(char *)"type", __pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_type, 0, (char *)0, 0},
41199   {(char *)"is_arg", __pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_is_arg, __pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_is_arg, (char *)0, 0},
41200   {(char *)"is_deletion", __pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_is_deletion, __pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_is_deletion, (char *)0, 0},
41201   {(char *)"lhs", __pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_lhs, __pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_lhs, (char *)0, 0},
41202   {(char *)"rhs", __pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_rhs, __pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_rhs, (char *)0, 0},
41203   {(char *)"entry", __pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_entry, __pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_entry, (char *)0, 0},
41204   {(char *)"pos", __pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_pos, __pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_pos, (char *)0, 0},
41205   {(char *)"refs", __pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_refs, __pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_refs, (char *)0, 0},
41206   {(char *)"bit", __pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_bit, __pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_bit, (char *)0, 0},
41207   {(char *)"inferred_type", __pyx_getprop_6Cython_8Compiler_11FlowControl_14NameAssignment_inferred_type, __pyx_setprop_6Cython_8Compiler_11FlowControl_14NameAssignment_inferred_type, (char *)0, 0},
41208   {0, 0, 0, 0, 0}
41209 };
41210 
41211 static PyTypeObject __pyx_type_6Cython_8Compiler_11FlowControl_NameAssignment = {
41212   PyVarObject_HEAD_INIT(0, 0)
41213   "Cython.Compiler.FlowControl.NameAssignment", /*tp_name*/
41214   sizeof(struct __pyx_obj_6Cython_8Compiler_11FlowControl_NameAssignment), /*tp_basicsize*/
41215   0, /*tp_itemsize*/
41216   __pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_NameAssignment, /*tp_dealloc*/
41217   #if PY_VERSION_HEX < 0x030800b4
41218   0, /*tp_print*/
41219   #endif
41220   #if PY_VERSION_HEX >= 0x030800b4
41221   0, /*tp_vectorcall_offset*/
41222   #endif
41223   0, /*tp_getattr*/
41224   0, /*tp_setattr*/
41225   #if PY_MAJOR_VERSION < 3
41226   0, /*tp_compare*/
41227   #endif
41228   #if PY_MAJOR_VERSION >= 3
41229   0, /*tp_as_async*/
41230   #endif
41231   __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_3__repr__, /*tp_repr*/
41232   0, /*tp_as_number*/
41233   0, /*tp_as_sequence*/
41234   0, /*tp_as_mapping*/
41235   0, /*tp_hash*/
41236   0, /*tp_call*/
41237   0, /*tp_str*/
41238   0, /*tp_getattro*/
41239   0, /*tp_setattro*/
41240   0, /*tp_as_buffer*/
41241   Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
41242   0, /*tp_doc*/
41243   __pyx_tp_traverse_6Cython_8Compiler_11FlowControl_NameAssignment, /*tp_traverse*/
41244   __pyx_tp_clear_6Cython_8Compiler_11FlowControl_NameAssignment, /*tp_clear*/
41245   0, /*tp_richcompare*/
41246   0, /*tp_weaklistoffset*/
41247   0, /*tp_iter*/
41248   0, /*tp_iternext*/
41249   __pyx_methods_6Cython_8Compiler_11FlowControl_NameAssignment, /*tp_methods*/
41250   0, /*tp_members*/
41251   __pyx_getsets_6Cython_8Compiler_11FlowControl_NameAssignment, /*tp_getset*/
41252   0, /*tp_base*/
41253   0, /*tp_dict*/
41254   0, /*tp_descr_get*/
41255   0, /*tp_descr_set*/
41256   0, /*tp_dictoffset*/
41257   __pyx_pw_6Cython_8Compiler_11FlowControl_14NameAssignment_1__init__, /*tp_init*/
41258   0, /*tp_alloc*/
41259   __pyx_tp_new_6Cython_8Compiler_11FlowControl_NameAssignment, /*tp_new*/
41260   0, /*tp_free*/
41261   0, /*tp_is_gc*/
41262   0, /*tp_bases*/
41263   0, /*tp_mro*/
41264   0, /*tp_cache*/
41265   0, /*tp_subclasses*/
41266   0, /*tp_weaklist*/
41267   0, /*tp_del*/
41268   0, /*tp_version_tag*/
41269   #if PY_VERSION_HEX >= 0x030400a1
41270   0, /*tp_finalize*/
41271   #endif
41272   #if PY_VERSION_HEX >= 0x030800b1
41273   0, /*tp_vectorcall*/
41274   #endif
41275   #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
41276   0, /*tp_print*/
41277   #endif
41278 };
41279 
__pyx_tp_new_6Cython_8Compiler_11FlowControl_AssignmentList(PyTypeObject * t,CYTHON_UNUSED PyObject * a,CYTHON_UNUSED PyObject * k)41280 static PyObject *__pyx_tp_new_6Cython_8Compiler_11FlowControl_AssignmentList(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
41281   struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *p;
41282   PyObject *o;
41283   if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
41284     o = (*t->tp_alloc)(t, 0);
41285   } else {
41286     o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
41287   }
41288   if (unlikely(!o)) return 0;
41289   p = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *)o);
41290   p->bit = Py_None; Py_INCREF(Py_None);
41291   p->mask = Py_None; Py_INCREF(Py_None);
41292   p->stats = ((PyObject*)Py_None); Py_INCREF(Py_None);
41293   return o;
41294 }
41295 
__pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_AssignmentList(PyObject * o)41296 static void __pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_AssignmentList(PyObject *o) {
41297   struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *p = (struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *)o;
41298   #if CYTHON_USE_TP_FINALIZE
41299   if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
41300     if (PyObject_CallFinalizerFromDealloc(o)) return;
41301   }
41302   #endif
41303   PyObject_GC_UnTrack(o);
41304   Py_CLEAR(p->bit);
41305   Py_CLEAR(p->mask);
41306   Py_CLEAR(p->stats);
41307   (*Py_TYPE(o)->tp_free)(o);
41308 }
41309 
__pyx_tp_traverse_6Cython_8Compiler_11FlowControl_AssignmentList(PyObject * o,visitproc v,void * a)41310 static int __pyx_tp_traverse_6Cython_8Compiler_11FlowControl_AssignmentList(PyObject *o, visitproc v, void *a) {
41311   int e;
41312   struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *p = (struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *)o;
41313   if (p->bit) {
41314     e = (*v)(p->bit, a); if (e) return e;
41315   }
41316   if (p->mask) {
41317     e = (*v)(p->mask, a); if (e) return e;
41318   }
41319   if (p->stats) {
41320     e = (*v)(p->stats, a); if (e) return e;
41321   }
41322   return 0;
41323 }
41324 
__pyx_tp_clear_6Cython_8Compiler_11FlowControl_AssignmentList(PyObject * o)41325 static int __pyx_tp_clear_6Cython_8Compiler_11FlowControl_AssignmentList(PyObject *o) {
41326   PyObject* tmp;
41327   struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *p = (struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList *)o;
41328   tmp = ((PyObject*)p->bit);
41329   p->bit = Py_None; Py_INCREF(Py_None);
41330   Py_XDECREF(tmp);
41331   tmp = ((PyObject*)p->mask);
41332   p->mask = Py_None; Py_INCREF(Py_None);
41333   Py_XDECREF(tmp);
41334   tmp = ((PyObject*)p->stats);
41335   p->stats = ((PyObject*)Py_None); Py_INCREF(Py_None);
41336   Py_XDECREF(tmp);
41337   return 0;
41338 }
41339 
__pyx_getprop_6Cython_8Compiler_11FlowControl_14AssignmentList_bit(PyObject * o,CYTHON_UNUSED void * x)41340 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_14AssignmentList_bit(PyObject *o, CYTHON_UNUSED void *x) {
41341   return __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit_1__get__(o);
41342 }
41343 
__pyx_setprop_6Cython_8Compiler_11FlowControl_14AssignmentList_bit(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)41344 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_14AssignmentList_bit(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
41345   if (v) {
41346     return __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit_3__set__(o, v);
41347   }
41348   else {
41349     return __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_3bit_5__del__(o);
41350   }
41351 }
41352 
__pyx_getprop_6Cython_8Compiler_11FlowControl_14AssignmentList_mask(PyObject * o,CYTHON_UNUSED void * x)41353 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_14AssignmentList_mask(PyObject *o, CYTHON_UNUSED void *x) {
41354   return __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask_1__get__(o);
41355 }
41356 
__pyx_setprop_6Cython_8Compiler_11FlowControl_14AssignmentList_mask(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)41357 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_14AssignmentList_mask(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
41358   if (v) {
41359     return __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask_3__set__(o, v);
41360   }
41361   else {
41362     return __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_4mask_5__del__(o);
41363   }
41364 }
41365 
__pyx_getprop_6Cython_8Compiler_11FlowControl_14AssignmentList_stats(PyObject * o,CYTHON_UNUSED void * x)41366 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_14AssignmentList_stats(PyObject *o, CYTHON_UNUSED void *x) {
41367   return __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats_1__get__(o);
41368 }
41369 
__pyx_setprop_6Cython_8Compiler_11FlowControl_14AssignmentList_stats(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)41370 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_14AssignmentList_stats(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
41371   if (v) {
41372     return __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats_3__set__(o, v);
41373   }
41374   else {
41375     return __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_5stats_5__del__(o);
41376   }
41377 }
41378 
41379 static PyMethodDef __pyx_methods_6Cython_8Compiler_11FlowControl_AssignmentList[] = {
41380   {"__reduce_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_3__reduce_cython__, METH_NOARGS, 0},
41381   {"__setstate_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_5__setstate_cython__, METH_O, 0},
41382   {0, 0, 0, 0}
41383 };
41384 
41385 static struct PyGetSetDef __pyx_getsets_6Cython_8Compiler_11FlowControl_AssignmentList[] = {
41386   {(char *)"bit", __pyx_getprop_6Cython_8Compiler_11FlowControl_14AssignmentList_bit, __pyx_setprop_6Cython_8Compiler_11FlowControl_14AssignmentList_bit, (char *)0, 0},
41387   {(char *)"mask", __pyx_getprop_6Cython_8Compiler_11FlowControl_14AssignmentList_mask, __pyx_setprop_6Cython_8Compiler_11FlowControl_14AssignmentList_mask, (char *)0, 0},
41388   {(char *)"stats", __pyx_getprop_6Cython_8Compiler_11FlowControl_14AssignmentList_stats, __pyx_setprop_6Cython_8Compiler_11FlowControl_14AssignmentList_stats, (char *)0, 0},
41389   {0, 0, 0, 0, 0}
41390 };
41391 
41392 static PyTypeObject __pyx_type_6Cython_8Compiler_11FlowControl_AssignmentList = {
41393   PyVarObject_HEAD_INIT(0, 0)
41394   "Cython.Compiler.FlowControl.AssignmentList", /*tp_name*/
41395   sizeof(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentList), /*tp_basicsize*/
41396   0, /*tp_itemsize*/
41397   __pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_AssignmentList, /*tp_dealloc*/
41398   #if PY_VERSION_HEX < 0x030800b4
41399   0, /*tp_print*/
41400   #endif
41401   #if PY_VERSION_HEX >= 0x030800b4
41402   0, /*tp_vectorcall_offset*/
41403   #endif
41404   0, /*tp_getattr*/
41405   0, /*tp_setattr*/
41406   #if PY_MAJOR_VERSION < 3
41407   0, /*tp_compare*/
41408   #endif
41409   #if PY_MAJOR_VERSION >= 3
41410   0, /*tp_as_async*/
41411   #endif
41412   0, /*tp_repr*/
41413   0, /*tp_as_number*/
41414   0, /*tp_as_sequence*/
41415   0, /*tp_as_mapping*/
41416   0, /*tp_hash*/
41417   0, /*tp_call*/
41418   0, /*tp_str*/
41419   0, /*tp_getattro*/
41420   0, /*tp_setattro*/
41421   0, /*tp_as_buffer*/
41422   Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
41423   0, /*tp_doc*/
41424   __pyx_tp_traverse_6Cython_8Compiler_11FlowControl_AssignmentList, /*tp_traverse*/
41425   __pyx_tp_clear_6Cython_8Compiler_11FlowControl_AssignmentList, /*tp_clear*/
41426   0, /*tp_richcompare*/
41427   0, /*tp_weaklistoffset*/
41428   0, /*tp_iter*/
41429   0, /*tp_iternext*/
41430   __pyx_methods_6Cython_8Compiler_11FlowControl_AssignmentList, /*tp_methods*/
41431   0, /*tp_members*/
41432   __pyx_getsets_6Cython_8Compiler_11FlowControl_AssignmentList, /*tp_getset*/
41433   0, /*tp_base*/
41434   0, /*tp_dict*/
41435   0, /*tp_descr_get*/
41436   0, /*tp_descr_set*/
41437   0, /*tp_dictoffset*/
41438   __pyx_pw_6Cython_8Compiler_11FlowControl_14AssignmentList_1__init__, /*tp_init*/
41439   0, /*tp_alloc*/
41440   __pyx_tp_new_6Cython_8Compiler_11FlowControl_AssignmentList, /*tp_new*/
41441   0, /*tp_free*/
41442   0, /*tp_is_gc*/
41443   0, /*tp_bases*/
41444   0, /*tp_mro*/
41445   0, /*tp_cache*/
41446   0, /*tp_subclasses*/
41447   0, /*tp_weaklist*/
41448   0, /*tp_del*/
41449   0, /*tp_version_tag*/
41450   #if PY_VERSION_HEX >= 0x030400a1
41451   0, /*tp_finalize*/
41452   #endif
41453   #if PY_VERSION_HEX >= 0x030800b1
41454   0, /*tp_vectorcall*/
41455   #endif
41456   #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
41457   0, /*tp_print*/
41458   #endif
41459 };
41460 static struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_AssignmentCollector __pyx_vtable_6Cython_8Compiler_11FlowControl_AssignmentCollector;
41461 
__pyx_tp_new_6Cython_8Compiler_11FlowControl_AssignmentCollector(PyTypeObject * t,PyObject * a,PyObject * k)41462 static PyObject *__pyx_tp_new_6Cython_8Compiler_11FlowControl_AssignmentCollector(PyTypeObject *t, PyObject *a, PyObject *k) {
41463   struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *p;
41464   PyObject *o = __pyx_ptype_6Cython_8Compiler_7Visitor_TreeVisitor->tp_new(t, a, k);
41465   if (unlikely(!o)) return 0;
41466   p = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *)o);
41467   p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_TreeVisitor*)__pyx_vtabptr_6Cython_8Compiler_11FlowControl_AssignmentCollector;
41468   p->assignments = ((PyObject*)Py_None); Py_INCREF(Py_None);
41469   return o;
41470 }
41471 
__pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_AssignmentCollector(PyObject * o)41472 static void __pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_AssignmentCollector(PyObject *o) {
41473   struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *p = (struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *)o;
41474   #if CYTHON_USE_TP_FINALIZE
41475   if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
41476     if (PyObject_CallFinalizerFromDealloc(o)) return;
41477   }
41478   #endif
41479   PyObject_GC_UnTrack(o);
41480   Py_CLEAR(p->assignments);
41481   PyObject_GC_Track(o);
41482   if (likely(__pyx_ptype_6Cython_8Compiler_7Visitor_TreeVisitor)) __pyx_ptype_6Cython_8Compiler_7Visitor_TreeVisitor->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_AssignmentCollector);
41483 }
41484 
__pyx_tp_traverse_6Cython_8Compiler_11FlowControl_AssignmentCollector(PyObject * o,visitproc v,void * a)41485 static int __pyx_tp_traverse_6Cython_8Compiler_11FlowControl_AssignmentCollector(PyObject *o, visitproc v, void *a) {
41486   int e;
41487   struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *p = (struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *)o;
41488   e = ((likely(__pyx_ptype_6Cython_8Compiler_7Visitor_TreeVisitor)) ? ((__pyx_ptype_6Cython_8Compiler_7Visitor_TreeVisitor->tp_traverse) ? __pyx_ptype_6Cython_8Compiler_7Visitor_TreeVisitor->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_6Cython_8Compiler_11FlowControl_AssignmentCollector)); if (e) return e;
41489   if (p->assignments) {
41490     e = (*v)(p->assignments, a); if (e) return e;
41491   }
41492   return 0;
41493 }
41494 
__pyx_tp_clear_6Cython_8Compiler_11FlowControl_AssignmentCollector(PyObject * o)41495 static int __pyx_tp_clear_6Cython_8Compiler_11FlowControl_AssignmentCollector(PyObject *o) {
41496   PyObject* tmp;
41497   struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *p = (struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector *)o;
41498   if (likely(__pyx_ptype_6Cython_8Compiler_7Visitor_TreeVisitor)) { if (__pyx_ptype_6Cython_8Compiler_7Visitor_TreeVisitor->tp_clear) __pyx_ptype_6Cython_8Compiler_7Visitor_TreeVisitor->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_6Cython_8Compiler_11FlowControl_AssignmentCollector);
41499   tmp = ((PyObject*)p->assignments);
41500   p->assignments = ((PyObject*)Py_None); Py_INCREF(Py_None);
41501   Py_XDECREF(tmp);
41502   return 0;
41503 }
41504 
41505 static PyMethodDef __pyx_methods_6Cython_8Compiler_11FlowControl_AssignmentCollector[] = {
41506   {"visit_Node", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_3visit_Node, METH_NOARGS, 0},
41507   {"visit_SingleAssignmentNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_5visit_SingleAssignmentNode, METH_O, 0},
41508   {"visit_CascadedAssignmentNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_7visit_CascadedAssignmentNode, METH_O, 0},
41509   {"__reduce_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_9__reduce_cython__, METH_NOARGS, 0},
41510   {"__setstate_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_11__setstate_cython__, METH_O, 0},
41511   {0, 0, 0, 0}
41512 };
41513 
41514 static PyTypeObject __pyx_type_6Cython_8Compiler_11FlowControl_AssignmentCollector = {
41515   PyVarObject_HEAD_INIT(0, 0)
41516   "Cython.Compiler.FlowControl.AssignmentCollector", /*tp_name*/
41517   sizeof(struct __pyx_obj_6Cython_8Compiler_11FlowControl_AssignmentCollector), /*tp_basicsize*/
41518   0, /*tp_itemsize*/
41519   __pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_AssignmentCollector, /*tp_dealloc*/
41520   #if PY_VERSION_HEX < 0x030800b4
41521   0, /*tp_print*/
41522   #endif
41523   #if PY_VERSION_HEX >= 0x030800b4
41524   0, /*tp_vectorcall_offset*/
41525   #endif
41526   0, /*tp_getattr*/
41527   0, /*tp_setattr*/
41528   #if PY_MAJOR_VERSION < 3
41529   0, /*tp_compare*/
41530   #endif
41531   #if PY_MAJOR_VERSION >= 3
41532   0, /*tp_as_async*/
41533   #endif
41534   0, /*tp_repr*/
41535   0, /*tp_as_number*/
41536   0, /*tp_as_sequence*/
41537   0, /*tp_as_mapping*/
41538   0, /*tp_hash*/
41539   0, /*tp_call*/
41540   0, /*tp_str*/
41541   0, /*tp_getattro*/
41542   0, /*tp_setattro*/
41543   0, /*tp_as_buffer*/
41544   Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
41545   0, /*tp_doc*/
41546   __pyx_tp_traverse_6Cython_8Compiler_11FlowControl_AssignmentCollector, /*tp_traverse*/
41547   __pyx_tp_clear_6Cython_8Compiler_11FlowControl_AssignmentCollector, /*tp_clear*/
41548   0, /*tp_richcompare*/
41549   0, /*tp_weaklistoffset*/
41550   0, /*tp_iter*/
41551   0, /*tp_iternext*/
41552   __pyx_methods_6Cython_8Compiler_11FlowControl_AssignmentCollector, /*tp_methods*/
41553   0, /*tp_members*/
41554   0, /*tp_getset*/
41555   0, /*tp_base*/
41556   0, /*tp_dict*/
41557   0, /*tp_descr_get*/
41558   0, /*tp_descr_set*/
41559   0, /*tp_dictoffset*/
41560   __pyx_pw_6Cython_8Compiler_11FlowControl_19AssignmentCollector_1__init__, /*tp_init*/
41561   0, /*tp_alloc*/
41562   __pyx_tp_new_6Cython_8Compiler_11FlowControl_AssignmentCollector, /*tp_new*/
41563   0, /*tp_free*/
41564   0, /*tp_is_gc*/
41565   0, /*tp_bases*/
41566   0, /*tp_mro*/
41567   0, /*tp_cache*/
41568   0, /*tp_subclasses*/
41569   0, /*tp_weaklist*/
41570   0, /*tp_del*/
41571   0, /*tp_version_tag*/
41572   #if PY_VERSION_HEX >= 0x030400a1
41573   0, /*tp_finalize*/
41574   #endif
41575   #if PY_VERSION_HEX >= 0x030800b1
41576   0, /*tp_vectorcall*/
41577   #endif
41578   #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
41579   0, /*tp_print*/
41580   #endif
41581 };
41582 static struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlow __pyx_vtable_6Cython_8Compiler_11FlowControl_ControlFlow;
41583 
__pyx_tp_new_6Cython_8Compiler_11FlowControl_ControlFlow(PyTypeObject * t,CYTHON_UNUSED PyObject * a,CYTHON_UNUSED PyObject * k)41584 static PyObject *__pyx_tp_new_6Cython_8Compiler_11FlowControl_ControlFlow(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
41585   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *p;
41586   PyObject *o;
41587   o = (*t->tp_alloc)(t, 0);
41588   if (unlikely(!o)) return 0;
41589   p = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)o);
41590   p->__pyx_vtab = __pyx_vtabptr_6Cython_8Compiler_11FlowControl_ControlFlow;
41591   p->blocks = ((PyObject*)Py_None); Py_INCREF(Py_None);
41592   p->entries = ((PyObject*)Py_None); Py_INCREF(Py_None);
41593   p->loops = ((PyObject*)Py_None); Py_INCREF(Py_None);
41594   p->exceptions = ((PyObject*)Py_None); Py_INCREF(Py_None);
41595   p->entry_point = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)Py_None); Py_INCREF(Py_None);
41596   p->exit_point = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock *)Py_None); Py_INCREF(Py_None);
41597   p->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)Py_None); Py_INCREF(Py_None);
41598   p->assmts = ((PyObject*)Py_None); Py_INCREF(Py_None);
41599   return o;
41600 }
41601 
__pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_ControlFlow(PyObject * o)41602 static void __pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_ControlFlow(PyObject *o) {
41603   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *p = (struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)o;
41604   PyObject_GC_UnTrack(o);
41605   Py_CLEAR(p->blocks);
41606   Py_CLEAR(p->entries);
41607   Py_CLEAR(p->loops);
41608   Py_CLEAR(p->exceptions);
41609   Py_CLEAR(p->entry_point);
41610   Py_CLEAR(p->exit_point);
41611   Py_CLEAR(p->block);
41612   Py_CLEAR(p->assmts);
41613   (*Py_TYPE(o)->tp_free)(o);
41614 }
41615 
__pyx_tp_traverse_6Cython_8Compiler_11FlowControl_ControlFlow(PyObject * o,visitproc v,void * a)41616 static int __pyx_tp_traverse_6Cython_8Compiler_11FlowControl_ControlFlow(PyObject *o, visitproc v, void *a) {
41617   int e;
41618   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *p = (struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)o;
41619   if (p->blocks) {
41620     e = (*v)(p->blocks, a); if (e) return e;
41621   }
41622   if (p->entries) {
41623     e = (*v)(p->entries, a); if (e) return e;
41624   }
41625   if (p->loops) {
41626     e = (*v)(p->loops, a); if (e) return e;
41627   }
41628   if (p->exceptions) {
41629     e = (*v)(p->exceptions, a); if (e) return e;
41630   }
41631   if (p->entry_point) {
41632     e = (*v)(((PyObject *)p->entry_point), a); if (e) return e;
41633   }
41634   if (p->exit_point) {
41635     e = (*v)(((PyObject *)p->exit_point), a); if (e) return e;
41636   }
41637   if (p->block) {
41638     e = (*v)(((PyObject *)p->block), a); if (e) return e;
41639   }
41640   if (p->assmts) {
41641     e = (*v)(p->assmts, a); if (e) return e;
41642   }
41643   return 0;
41644 }
41645 
__pyx_tp_clear_6Cython_8Compiler_11FlowControl_ControlFlow(PyObject * o)41646 static int __pyx_tp_clear_6Cython_8Compiler_11FlowControl_ControlFlow(PyObject *o) {
41647   PyObject* tmp;
41648   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *p = (struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)o;
41649   tmp = ((PyObject*)p->blocks);
41650   p->blocks = ((PyObject*)Py_None); Py_INCREF(Py_None);
41651   Py_XDECREF(tmp);
41652   tmp = ((PyObject*)p->entries);
41653   p->entries = ((PyObject*)Py_None); Py_INCREF(Py_None);
41654   Py_XDECREF(tmp);
41655   tmp = ((PyObject*)p->loops);
41656   p->loops = ((PyObject*)Py_None); Py_INCREF(Py_None);
41657   Py_XDECREF(tmp);
41658   tmp = ((PyObject*)p->exceptions);
41659   p->exceptions = ((PyObject*)Py_None); Py_INCREF(Py_None);
41660   Py_XDECREF(tmp);
41661   tmp = ((PyObject*)p->entry_point);
41662   p->entry_point = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)Py_None); Py_INCREF(Py_None);
41663   Py_XDECREF(tmp);
41664   tmp = ((PyObject*)p->exit_point);
41665   p->exit_point = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ExitBlock *)Py_None); Py_INCREF(Py_None);
41666   Py_XDECREF(tmp);
41667   tmp = ((PyObject*)p->block);
41668   p->block = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *)Py_None); Py_INCREF(Py_None);
41669   Py_XDECREF(tmp);
41670   tmp = ((PyObject*)p->assmts);
41671   p->assmts = ((PyObject*)Py_None); Py_INCREF(Py_None);
41672   Py_XDECREF(tmp);
41673   return 0;
41674 }
41675 
__pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_blocks(PyObject * o,CYTHON_UNUSED void * x)41676 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_blocks(PyObject *o, CYTHON_UNUSED void *x) {
41677   return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks_1__get__(o);
41678 }
41679 
__pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_blocks(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)41680 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_blocks(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
41681   if (v) {
41682     return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks_3__set__(o, v);
41683   }
41684   else {
41685     return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6blocks_5__del__(o);
41686   }
41687 }
41688 
__pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_entries(PyObject * o,CYTHON_UNUSED void * x)41689 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_entries(PyObject *o, CYTHON_UNUSED void *x) {
41690   return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries_1__get__(o);
41691 }
41692 
__pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_entries(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)41693 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_entries(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
41694   if (v) {
41695     return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries_3__set__(o, v);
41696   }
41697   else {
41698     return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_7entries_5__del__(o);
41699   }
41700 }
41701 
__pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_loops(PyObject * o,CYTHON_UNUSED void * x)41702 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_loops(PyObject *o, CYTHON_UNUSED void *x) {
41703   return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops_1__get__(o);
41704 }
41705 
__pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_loops(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)41706 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_loops(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
41707   if (v) {
41708     return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops_3__set__(o, v);
41709   }
41710   else {
41711     return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5loops_5__del__(o);
41712   }
41713 }
41714 
__pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_exceptions(PyObject * o,CYTHON_UNUSED void * x)41715 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_exceptions(PyObject *o, CYTHON_UNUSED void *x) {
41716   return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions_1__get__(o);
41717 }
41718 
__pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_exceptions(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)41719 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_exceptions(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
41720   if (v) {
41721     return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions_3__set__(o, v);
41722   }
41723   else {
41724     return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exceptions_5__del__(o);
41725   }
41726 }
41727 
__pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_entry_point(PyObject * o,CYTHON_UNUSED void * x)41728 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_entry_point(PyObject *o, CYTHON_UNUSED void *x) {
41729   return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point_1__get__(o);
41730 }
41731 
__pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_entry_point(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)41732 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_entry_point(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
41733   if (v) {
41734     return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point_3__set__(o, v);
41735   }
41736   else {
41737     return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_11entry_point_5__del__(o);
41738   }
41739 }
41740 
__pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_exit_point(PyObject * o,CYTHON_UNUSED void * x)41741 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_exit_point(PyObject *o, CYTHON_UNUSED void *x) {
41742   return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point_1__get__(o);
41743 }
41744 
__pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_exit_point(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)41745 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_exit_point(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
41746   if (v) {
41747     return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point_3__set__(o, v);
41748   }
41749   else {
41750     return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_10exit_point_5__del__(o);
41751   }
41752 }
41753 
__pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_block(PyObject * o,CYTHON_UNUSED void * x)41754 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_block(PyObject *o, CYTHON_UNUSED void *x) {
41755   return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5block_1__get__(o);
41756 }
41757 
__pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_block(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)41758 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_block(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
41759   if (v) {
41760     return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5block_3__set__(o, v);
41761   }
41762   else {
41763     return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_5block_5__del__(o);
41764   }
41765 }
41766 
__pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_assmts(PyObject * o,CYTHON_UNUSED void * x)41767 static PyObject *__pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_assmts(PyObject *o, CYTHON_UNUSED void *x) {
41768   return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts_1__get__(o);
41769 }
41770 
__pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_assmts(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)41771 static int __pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_assmts(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
41772   if (v) {
41773     return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts_3__set__(o, v);
41774   }
41775   else {
41776     return __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_6assmts_5__del__(o);
41777   }
41778 }
41779 
41780 static PyMethodDef __pyx_methods_6Cython_8Compiler_11FlowControl_ControlFlow[] = {
41781   {"__reduce_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_27__reduce_cython__, METH_NOARGS, 0},
41782   {"__setstate_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_29__setstate_cython__, METH_O, 0},
41783   {0, 0, 0, 0}
41784 };
41785 
41786 static struct PyGetSetDef __pyx_getsets_6Cython_8Compiler_11FlowControl_ControlFlow[] = {
41787   {(char *)"blocks", __pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_blocks, __pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_blocks, (char *)0, 0},
41788   {(char *)"entries", __pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_entries, __pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_entries, (char *)0, 0},
41789   {(char *)"loops", __pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_loops, __pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_loops, (char *)0, 0},
41790   {(char *)"exceptions", __pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_exceptions, __pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_exceptions, (char *)0, 0},
41791   {(char *)"entry_point", __pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_entry_point, __pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_entry_point, (char *)0, 0},
41792   {(char *)"exit_point", __pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_exit_point, __pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_exit_point, (char *)0, 0},
41793   {(char *)"block", __pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_block, __pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_block, (char *)0, 0},
41794   {(char *)"assmts", __pyx_getprop_6Cython_8Compiler_11FlowControl_11ControlFlow_assmts, __pyx_setprop_6Cython_8Compiler_11FlowControl_11ControlFlow_assmts, (char *)0, 0},
41795   {0, 0, 0, 0, 0}
41796 };
41797 
41798 static PyTypeObject __pyx_type_6Cython_8Compiler_11FlowControl_ControlFlow = {
41799   PyVarObject_HEAD_INIT(0, 0)
41800   "Cython.Compiler.FlowControl.ControlFlow", /*tp_name*/
41801   sizeof(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow), /*tp_basicsize*/
41802   0, /*tp_itemsize*/
41803   __pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_ControlFlow, /*tp_dealloc*/
41804   #if PY_VERSION_HEX < 0x030800b4
41805   0, /*tp_print*/
41806   #endif
41807   #if PY_VERSION_HEX >= 0x030800b4
41808   0, /*tp_vectorcall_offset*/
41809   #endif
41810   0, /*tp_getattr*/
41811   0, /*tp_setattr*/
41812   #if PY_MAJOR_VERSION < 3
41813   0, /*tp_compare*/
41814   #endif
41815   #if PY_MAJOR_VERSION >= 3
41816   0, /*tp_as_async*/
41817   #endif
41818   0, /*tp_repr*/
41819   0, /*tp_as_number*/
41820   0, /*tp_as_sequence*/
41821   0, /*tp_as_mapping*/
41822   0, /*tp_hash*/
41823   0, /*tp_call*/
41824   0, /*tp_str*/
41825   0, /*tp_getattro*/
41826   0, /*tp_setattro*/
41827   0, /*tp_as_buffer*/
41828   Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
41829   "Control-flow graph.\n\n       entry_point ControlBlock entry point for this graph\n       exit_point  ControlBlock normal exit point\n       block       ControlBlock current block\n       blocks      set    children nodes\n       entries     set    tracked entries\n       loops       list   stack for loop descriptors\n       exceptions  list   stack for exception descriptors\n    ", /*tp_doc*/
41830   __pyx_tp_traverse_6Cython_8Compiler_11FlowControl_ControlFlow, /*tp_traverse*/
41831   __pyx_tp_clear_6Cython_8Compiler_11FlowControl_ControlFlow, /*tp_clear*/
41832   0, /*tp_richcompare*/
41833   0, /*tp_weaklistoffset*/
41834   0, /*tp_iter*/
41835   0, /*tp_iternext*/
41836   __pyx_methods_6Cython_8Compiler_11FlowControl_ControlFlow, /*tp_methods*/
41837   0, /*tp_members*/
41838   __pyx_getsets_6Cython_8Compiler_11FlowControl_ControlFlow, /*tp_getset*/
41839   0, /*tp_base*/
41840   0, /*tp_dict*/
41841   0, /*tp_descr_get*/
41842   0, /*tp_descr_set*/
41843   0, /*tp_dictoffset*/
41844   __pyx_pw_6Cython_8Compiler_11FlowControl_11ControlFlow_1__init__, /*tp_init*/
41845   0, /*tp_alloc*/
41846   __pyx_tp_new_6Cython_8Compiler_11FlowControl_ControlFlow, /*tp_new*/
41847   0, /*tp_free*/
41848   0, /*tp_is_gc*/
41849   0, /*tp_bases*/
41850   0, /*tp_mro*/
41851   0, /*tp_cache*/
41852   0, /*tp_subclasses*/
41853   0, /*tp_weaklist*/
41854   0, /*tp_del*/
41855   0, /*tp_version_tag*/
41856   #if PY_VERSION_HEX >= 0x030400a1
41857   0, /*tp_finalize*/
41858   #endif
41859   #if PY_VERSION_HEX >= 0x030800b1
41860   0, /*tp_vectorcall*/
41861   #endif
41862   #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
41863   0, /*tp_print*/
41864   #endif
41865 };
41866 
__pyx_tp_new_6Cython_8Compiler_11FlowControl_Uninitialized(PyTypeObject * t,CYTHON_UNUSED PyObject * a,CYTHON_UNUSED PyObject * k)41867 static PyObject *__pyx_tp_new_6Cython_8Compiler_11FlowControl_Uninitialized(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
41868   PyObject *o;
41869   if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
41870     o = (*t->tp_alloc)(t, 0);
41871   } else {
41872     o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
41873   }
41874   if (unlikely(!o)) return 0;
41875   return o;
41876 }
41877 
__pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_Uninitialized(PyObject * o)41878 static void __pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_Uninitialized(PyObject *o) {
41879   #if CYTHON_USE_TP_FINALIZE
41880   if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
41881     if (PyObject_CallFinalizerFromDealloc(o)) return;
41882   }
41883   #endif
41884   (*Py_TYPE(o)->tp_free)(o);
41885 }
41886 
41887 static PyMethodDef __pyx_methods_6Cython_8Compiler_11FlowControl_Uninitialized[] = {
41888   {"__reduce_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_13Uninitialized_1__reduce_cython__, METH_NOARGS, 0},
41889   {"__setstate_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_13Uninitialized_3__setstate_cython__, METH_O, 0},
41890   {0, 0, 0, 0}
41891 };
41892 
41893 static PyTypeObject __pyx_type_6Cython_8Compiler_11FlowControl_Uninitialized = {
41894   PyVarObject_HEAD_INIT(0, 0)
41895   "Cython.Compiler.FlowControl.Uninitialized", /*tp_name*/
41896   sizeof(struct __pyx_obj_6Cython_8Compiler_11FlowControl_Uninitialized), /*tp_basicsize*/
41897   0, /*tp_itemsize*/
41898   __pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_Uninitialized, /*tp_dealloc*/
41899   #if PY_VERSION_HEX < 0x030800b4
41900   0, /*tp_print*/
41901   #endif
41902   #if PY_VERSION_HEX >= 0x030800b4
41903   0, /*tp_vectorcall_offset*/
41904   #endif
41905   0, /*tp_getattr*/
41906   0, /*tp_setattr*/
41907   #if PY_MAJOR_VERSION < 3
41908   0, /*tp_compare*/
41909   #endif
41910   #if PY_MAJOR_VERSION >= 3
41911   0, /*tp_as_async*/
41912   #endif
41913   0, /*tp_repr*/
41914   0, /*tp_as_number*/
41915   0, /*tp_as_sequence*/
41916   0, /*tp_as_mapping*/
41917   0, /*tp_hash*/
41918   0, /*tp_call*/
41919   0, /*tp_str*/
41920   0, /*tp_getattro*/
41921   0, /*tp_setattro*/
41922   0, /*tp_as_buffer*/
41923   Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
41924   "Definitely not initialised yet.", /*tp_doc*/
41925   0, /*tp_traverse*/
41926   0, /*tp_clear*/
41927   0, /*tp_richcompare*/
41928   0, /*tp_weaklistoffset*/
41929   0, /*tp_iter*/
41930   0, /*tp_iternext*/
41931   __pyx_methods_6Cython_8Compiler_11FlowControl_Uninitialized, /*tp_methods*/
41932   0, /*tp_members*/
41933   0, /*tp_getset*/
41934   0, /*tp_base*/
41935   0, /*tp_dict*/
41936   0, /*tp_descr_get*/
41937   0, /*tp_descr_set*/
41938   0, /*tp_dictoffset*/
41939   0, /*tp_init*/
41940   0, /*tp_alloc*/
41941   __pyx_tp_new_6Cython_8Compiler_11FlowControl_Uninitialized, /*tp_new*/
41942   0, /*tp_free*/
41943   0, /*tp_is_gc*/
41944   0, /*tp_bases*/
41945   0, /*tp_mro*/
41946   0, /*tp_cache*/
41947   0, /*tp_subclasses*/
41948   0, /*tp_weaklist*/
41949   0, /*tp_del*/
41950   0, /*tp_version_tag*/
41951   #if PY_VERSION_HEX >= 0x030400a1
41952   0, /*tp_finalize*/
41953   #endif
41954   #if PY_VERSION_HEX >= 0x030800b1
41955   0, /*tp_vectorcall*/
41956   #endif
41957   #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
41958   0, /*tp_print*/
41959   #endif
41960 };
41961 
__pyx_tp_new_6Cython_8Compiler_11FlowControl_Unknown(PyTypeObject * t,CYTHON_UNUSED PyObject * a,CYTHON_UNUSED PyObject * k)41962 static PyObject *__pyx_tp_new_6Cython_8Compiler_11FlowControl_Unknown(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
41963   PyObject *o;
41964   if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
41965     o = (*t->tp_alloc)(t, 0);
41966   } else {
41967     o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
41968   }
41969   if (unlikely(!o)) return 0;
41970   return o;
41971 }
41972 
__pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_Unknown(PyObject * o)41973 static void __pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_Unknown(PyObject *o) {
41974   #if CYTHON_USE_TP_FINALIZE
41975   if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
41976     if (PyObject_CallFinalizerFromDealloc(o)) return;
41977   }
41978   #endif
41979   (*Py_TYPE(o)->tp_free)(o);
41980 }
41981 
41982 static PyMethodDef __pyx_methods_6Cython_8Compiler_11FlowControl_Unknown[] = {
41983   {"__reduce_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_7Unknown_1__reduce_cython__, METH_NOARGS, 0},
41984   {"__setstate_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_7Unknown_3__setstate_cython__, METH_O, 0},
41985   {0, 0, 0, 0}
41986 };
41987 
41988 static PyTypeObject __pyx_type_6Cython_8Compiler_11FlowControl_Unknown = {
41989   PyVarObject_HEAD_INIT(0, 0)
41990   "Cython.Compiler.FlowControl.Unknown", /*tp_name*/
41991   sizeof(struct __pyx_obj_6Cython_8Compiler_11FlowControl_Unknown), /*tp_basicsize*/
41992   0, /*tp_itemsize*/
41993   __pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_Unknown, /*tp_dealloc*/
41994   #if PY_VERSION_HEX < 0x030800b4
41995   0, /*tp_print*/
41996   #endif
41997   #if PY_VERSION_HEX >= 0x030800b4
41998   0, /*tp_vectorcall_offset*/
41999   #endif
42000   0, /*tp_getattr*/
42001   0, /*tp_setattr*/
42002   #if PY_MAJOR_VERSION < 3
42003   0, /*tp_compare*/
42004   #endif
42005   #if PY_MAJOR_VERSION >= 3
42006   0, /*tp_as_async*/
42007   #endif
42008   0, /*tp_repr*/
42009   0, /*tp_as_number*/
42010   0, /*tp_as_sequence*/
42011   0, /*tp_as_mapping*/
42012   0, /*tp_hash*/
42013   0, /*tp_call*/
42014   0, /*tp_str*/
42015   0, /*tp_getattro*/
42016   0, /*tp_setattro*/
42017   0, /*tp_as_buffer*/
42018   Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
42019   "Coming from outer closure, might be initialised or not.", /*tp_doc*/
42020   0, /*tp_traverse*/
42021   0, /*tp_clear*/
42022   0, /*tp_richcompare*/
42023   0, /*tp_weaklistoffset*/
42024   0, /*tp_iter*/
42025   0, /*tp_iternext*/
42026   __pyx_methods_6Cython_8Compiler_11FlowControl_Unknown, /*tp_methods*/
42027   0, /*tp_members*/
42028   0, /*tp_getset*/
42029   0, /*tp_base*/
42030   0, /*tp_dict*/
42031   0, /*tp_descr_get*/
42032   0, /*tp_descr_set*/
42033   0, /*tp_dictoffset*/
42034   0, /*tp_init*/
42035   0, /*tp_alloc*/
42036   __pyx_tp_new_6Cython_8Compiler_11FlowControl_Unknown, /*tp_new*/
42037   0, /*tp_free*/
42038   0, /*tp_is_gc*/
42039   0, /*tp_bases*/
42040   0, /*tp_mro*/
42041   0, /*tp_cache*/
42042   0, /*tp_subclasses*/
42043   0, /*tp_weaklist*/
42044   0, /*tp_del*/
42045   0, /*tp_version_tag*/
42046   #if PY_VERSION_HEX >= 0x030400a1
42047   0, /*tp_finalize*/
42048   #endif
42049   #if PY_VERSION_HEX >= 0x030800b1
42050   0, /*tp_vectorcall*/
42051   #endif
42052   #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
42053   0, /*tp_print*/
42054   #endif
42055 };
42056 
__pyx_tp_new_6Cython_8Compiler_11FlowControl_MessageCollection(PyTypeObject * t,CYTHON_UNUSED PyObject * a,CYTHON_UNUSED PyObject * k)42057 static PyObject *__pyx_tp_new_6Cython_8Compiler_11FlowControl_MessageCollection(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
42058   struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *p;
42059   PyObject *o;
42060   if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
42061     o = (*t->tp_alloc)(t, 0);
42062   } else {
42063     o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
42064   }
42065   if (unlikely(!o)) return 0;
42066   p = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *)o);
42067   p->messages = ((PyObject*)Py_None); Py_INCREF(Py_None);
42068   return o;
42069 }
42070 
__pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_MessageCollection(PyObject * o)42071 static void __pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_MessageCollection(PyObject *o) {
42072   struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *p = (struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *)o;
42073   #if CYTHON_USE_TP_FINALIZE
42074   if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
42075     if (PyObject_CallFinalizerFromDealloc(o)) return;
42076   }
42077   #endif
42078   PyObject_GC_UnTrack(o);
42079   Py_CLEAR(p->messages);
42080   (*Py_TYPE(o)->tp_free)(o);
42081 }
42082 
__pyx_tp_traverse_6Cython_8Compiler_11FlowControl_MessageCollection(PyObject * o,visitproc v,void * a)42083 static int __pyx_tp_traverse_6Cython_8Compiler_11FlowControl_MessageCollection(PyObject *o, visitproc v, void *a) {
42084   int e;
42085   struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *p = (struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *)o;
42086   if (p->messages) {
42087     e = (*v)(p->messages, a); if (e) return e;
42088   }
42089   return 0;
42090 }
42091 
__pyx_tp_clear_6Cython_8Compiler_11FlowControl_MessageCollection(PyObject * o)42092 static int __pyx_tp_clear_6Cython_8Compiler_11FlowControl_MessageCollection(PyObject *o) {
42093   PyObject* tmp;
42094   struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *p = (struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection *)o;
42095   tmp = ((PyObject*)p->messages);
42096   p->messages = ((PyObject*)Py_None); Py_INCREF(Py_None);
42097   Py_XDECREF(tmp);
42098   return 0;
42099 }
42100 
42101 static PyMethodDef __pyx_methods_6Cython_8Compiler_11FlowControl_MessageCollection[] = {
42102   {"error", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_3error, METH_VARARGS|METH_KEYWORDS, 0},
42103   {"warning", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_5warning, METH_VARARGS|METH_KEYWORDS, 0},
42104   {"report", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_7report, METH_NOARGS, 0},
42105   {"__reduce_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_9__reduce_cython__, METH_NOARGS, 0},
42106   {"__setstate_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_11__setstate_cython__, METH_O, 0},
42107   {0, 0, 0, 0}
42108 };
42109 
42110 static PyTypeObject __pyx_type_6Cython_8Compiler_11FlowControl_MessageCollection = {
42111   PyVarObject_HEAD_INIT(0, 0)
42112   "Cython.Compiler.FlowControl.MessageCollection", /*tp_name*/
42113   sizeof(struct __pyx_obj_6Cython_8Compiler_11FlowControl_MessageCollection), /*tp_basicsize*/
42114   0, /*tp_itemsize*/
42115   __pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_MessageCollection, /*tp_dealloc*/
42116   #if PY_VERSION_HEX < 0x030800b4
42117   0, /*tp_print*/
42118   #endif
42119   #if PY_VERSION_HEX >= 0x030800b4
42120   0, /*tp_vectorcall_offset*/
42121   #endif
42122   0, /*tp_getattr*/
42123   0, /*tp_setattr*/
42124   #if PY_MAJOR_VERSION < 3
42125   0, /*tp_compare*/
42126   #endif
42127   #if PY_MAJOR_VERSION >= 3
42128   0, /*tp_as_async*/
42129   #endif
42130   0, /*tp_repr*/
42131   0, /*tp_as_number*/
42132   0, /*tp_as_sequence*/
42133   0, /*tp_as_mapping*/
42134   0, /*tp_hash*/
42135   0, /*tp_call*/
42136   0, /*tp_str*/
42137   0, /*tp_getattro*/
42138   0, /*tp_setattro*/
42139   0, /*tp_as_buffer*/
42140   Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
42141   "Collect error/warnings messages first then sort", /*tp_doc*/
42142   __pyx_tp_traverse_6Cython_8Compiler_11FlowControl_MessageCollection, /*tp_traverse*/
42143   __pyx_tp_clear_6Cython_8Compiler_11FlowControl_MessageCollection, /*tp_clear*/
42144   0, /*tp_richcompare*/
42145   0, /*tp_weaklistoffset*/
42146   0, /*tp_iter*/
42147   0, /*tp_iternext*/
42148   __pyx_methods_6Cython_8Compiler_11FlowControl_MessageCollection, /*tp_methods*/
42149   0, /*tp_members*/
42150   0, /*tp_getset*/
42151   0, /*tp_base*/
42152   0, /*tp_dict*/
42153   0, /*tp_descr_get*/
42154   0, /*tp_descr_set*/
42155   0, /*tp_dictoffset*/
42156   __pyx_pw_6Cython_8Compiler_11FlowControl_17MessageCollection_1__init__, /*tp_init*/
42157   0, /*tp_alloc*/
42158   __pyx_tp_new_6Cython_8Compiler_11FlowControl_MessageCollection, /*tp_new*/
42159   0, /*tp_free*/
42160   0, /*tp_is_gc*/
42161   0, /*tp_bases*/
42162   0, /*tp_mro*/
42163   0, /*tp_cache*/
42164   0, /*tp_subclasses*/
42165   0, /*tp_weaklist*/
42166   0, /*tp_del*/
42167   0, /*tp_version_tag*/
42168   #if PY_VERSION_HEX >= 0x030400a1
42169   0, /*tp_finalize*/
42170   #endif
42171   #if PY_VERSION_HEX >= 0x030800b1
42172   0, /*tp_vectorcall*/
42173   #endif
42174   #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
42175   0, /*tp_print*/
42176   #endif
42177 };
42178 static struct __pyx_vtabstruct_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis __pyx_vtable_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis;
42179 
__pyx_tp_new_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis(PyTypeObject * t,PyObject * a,PyObject * k)42180 static PyObject *__pyx_tp_new_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis(PyTypeObject *t, PyObject *a, PyObject *k) {
42181   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *p;
42182   PyObject *o = __pyx_ptype_6Cython_8Compiler_7Visitor_CythonTransform->tp_new(t, a, k);
42183   if (unlikely(!o)) return 0;
42184   p = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)o);
42185   p->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_TreeVisitor*)__pyx_vtabptr_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis;
42186   p->gv_ctx = Py_None; Py_INCREF(Py_None);
42187   p->constant_folder = Py_None; Py_INCREF(Py_None);
42188   p->reductions = ((PyObject*)Py_None); Py_INCREF(Py_None);
42189   p->env_stack = ((PyObject*)Py_None); Py_INCREF(Py_None);
42190   p->stack = ((PyObject*)Py_None); Py_INCREF(Py_None);
42191   p->env = Py_None; Py_INCREF(Py_None);
42192   p->flow = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)Py_None); Py_INCREF(Py_None);
42193   return o;
42194 }
42195 
__pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis(PyObject * o)42196 static void __pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis(PyObject *o) {
42197   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *p = (struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)o;
42198   PyObject_GC_UnTrack(o);
42199   Py_CLEAR(p->gv_ctx);
42200   Py_CLEAR(p->constant_folder);
42201   Py_CLEAR(p->reductions);
42202   Py_CLEAR(p->env_stack);
42203   Py_CLEAR(p->stack);
42204   Py_CLEAR(p->env);
42205   Py_CLEAR(p->flow);
42206   PyObject_GC_Track(o);
42207   if (likely(__pyx_ptype_6Cython_8Compiler_7Visitor_CythonTransform)) __pyx_ptype_6Cython_8Compiler_7Visitor_CythonTransform->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
42208 }
42209 
__pyx_tp_traverse_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis(PyObject * o,visitproc v,void * a)42210 static int __pyx_tp_traverse_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis(PyObject *o, visitproc v, void *a) {
42211   int e;
42212   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *p = (struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)o;
42213   e = ((likely(__pyx_ptype_6Cython_8Compiler_7Visitor_CythonTransform)) ? ((__pyx_ptype_6Cython_8Compiler_7Visitor_CythonTransform->tp_traverse) ? __pyx_ptype_6Cython_8Compiler_7Visitor_CythonTransform->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis)); if (e) return e;
42214   if (p->gv_ctx) {
42215     e = (*v)(p->gv_ctx, a); if (e) return e;
42216   }
42217   if (p->constant_folder) {
42218     e = (*v)(p->constant_folder, a); if (e) return e;
42219   }
42220   if (p->reductions) {
42221     e = (*v)(p->reductions, a); if (e) return e;
42222   }
42223   if (p->env_stack) {
42224     e = (*v)(p->env_stack, a); if (e) return e;
42225   }
42226   if (p->stack) {
42227     e = (*v)(p->stack, a); if (e) return e;
42228   }
42229   if (p->env) {
42230     e = (*v)(p->env, a); if (e) return e;
42231   }
42232   if (p->flow) {
42233     e = (*v)(((PyObject *)p->flow), a); if (e) return e;
42234   }
42235   return 0;
42236 }
42237 
__pyx_tp_clear_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis(PyObject * o)42238 static int __pyx_tp_clear_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis(PyObject *o) {
42239   PyObject* tmp;
42240   struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *p = (struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *)o;
42241   if (likely(__pyx_ptype_6Cython_8Compiler_7Visitor_CythonTransform)) { if (__pyx_ptype_6Cython_8Compiler_7Visitor_CythonTransform->tp_clear) __pyx_ptype_6Cython_8Compiler_7Visitor_CythonTransform->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
42242   tmp = ((PyObject*)p->gv_ctx);
42243   p->gv_ctx = Py_None; Py_INCREF(Py_None);
42244   Py_XDECREF(tmp);
42245   tmp = ((PyObject*)p->constant_folder);
42246   p->constant_folder = Py_None; Py_INCREF(Py_None);
42247   Py_XDECREF(tmp);
42248   tmp = ((PyObject*)p->reductions);
42249   p->reductions = ((PyObject*)Py_None); Py_INCREF(Py_None);
42250   Py_XDECREF(tmp);
42251   tmp = ((PyObject*)p->env_stack);
42252   p->env_stack = ((PyObject*)Py_None); Py_INCREF(Py_None);
42253   Py_XDECREF(tmp);
42254   tmp = ((PyObject*)p->stack);
42255   p->stack = ((PyObject*)Py_None); Py_INCREF(Py_None);
42256   Py_XDECREF(tmp);
42257   tmp = ((PyObject*)p->env);
42258   p->env = Py_None; Py_INCREF(Py_None);
42259   Py_XDECREF(tmp);
42260   tmp = ((PyObject*)p->flow);
42261   p->flow = ((struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *)Py_None); Py_INCREF(Py_None);
42262   Py_XDECREF(tmp);
42263   return 0;
42264 }
42265 
42266 static PyMethodDef __pyx_methods_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis[] = {
42267   {"visit_ModuleNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_1visit_ModuleNode, METH_O, 0},
42268   {"visit_FuncDefNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_3visit_FuncDefNode, METH_O, 0},
42269   {"visit_DefNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_5visit_DefNode, METH_O, 0},
42270   {"visit_GeneratorBodyDefNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_7visit_GeneratorBodyDefNode, METH_O, 0},
42271   {"visit_CTypeDefNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_9visit_CTypeDefNode, METH_O, 0},
42272   {"visit_FromImportStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_15visit_FromImportStatNode, METH_O, 0},
42273   {"visit_AssignmentNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_17visit_AssignmentNode, METH_O, 0},
42274   {"visit_SingleAssignmentNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_19visit_SingleAssignmentNode, METH_O, 0},
42275   {"visit_CascadedAssignmentNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_21visit_CascadedAssignmentNode, METH_O, 0},
42276   {"visit_ParallelAssignmentNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_23visit_ParallelAssignmentNode, METH_O, 0},
42277   {"visit_InPlaceAssignmentNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_25visit_InPlaceAssignmentNode, METH_O, 0},
42278   {"visit_DelStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_27visit_DelStatNode, METH_O, 0},
42279   {"visit_CArgDeclNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_29visit_CArgDeclNode, METH_O, 0},
42280   {"visit_NameNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_31visit_NameNode, METH_O, 0},
42281   {"visit_StatListNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_33visit_StatListNode, METH_O, 0},
42282   {"visit_Node", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_35visit_Node, METH_O, 0},
42283   {"visit_SizeofVarNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_37visit_SizeofVarNode, METH_O, 0},
42284   {"visit_TypeidNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_39visit_TypeidNode, METH_O, 0},
42285   {"visit_IfStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_41visit_IfStatNode, METH_O, 0},
42286   {"visit_WhileStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_43visit_WhileStatNode, METH_O, 0},
42287   {"mark_forloop_target", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_45mark_forloop_target, METH_O, 0},
42288   {"visit_AsyncForStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_47visit_AsyncForStatNode, METH_O, 0},
42289   {"visit_ForInStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_49visit_ForInStatNode, METH_O, 0},
42290   {"_delete_privates", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_51_delete_privates, METH_VARARGS|METH_KEYWORDS, 0},
42291   {"visit_ParallelRangeNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_53visit_ParallelRangeNode, METH_O, 0},
42292   {"visit_ParallelWithBlockNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_55visit_ParallelWithBlockNode, METH_O, 0},
42293   {"visit_ForFromStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_57visit_ForFromStatNode, METH_O, 0},
42294   {"visit_LoopNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_59visit_LoopNode, METH_O, 0},
42295   {"visit_WithTargetAssignmentStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_61visit_WithTargetAssignmentStatNode, METH_O, 0},
42296   {"visit_WithStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_63visit_WithStatNode, METH_O, 0},
42297   {"visit_TryExceptStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_65visit_TryExceptStatNode, METH_O, 0},
42298   {"visit_TryFinallyStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_67visit_TryFinallyStatNode, METH_O, 0},
42299   {"visit_RaiseStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_69visit_RaiseStatNode, METH_O, 0},
42300   {"visit_ReraiseStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_71visit_ReraiseStatNode, METH_O, 0},
42301   {"visit_ReturnStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_73visit_ReturnStatNode, METH_O, 0},
42302   {"visit_BreakStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_75visit_BreakStatNode, METH_O, 0},
42303   {"visit_ContinueStatNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_77visit_ContinueStatNode, METH_O, 0},
42304   {"visit_ComprehensionNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_79visit_ComprehensionNode, METH_O, 0},
42305   {"visit_ScopedExprNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_81visit_ScopedExprNode, METH_O, 0},
42306   {"visit_PyClassDefNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_83visit_PyClassDefNode, METH_O, 0},
42307   {"visit_AmpersandNode", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_85visit_AmpersandNode, METH_O, 0},
42308   {"__reduce_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_87__reduce_cython__, METH_NOARGS, 0},
42309   {"__setstate_cython__", (PyCFunction)__pyx_pw_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_89__setstate_cython__, METH_O, 0},
42310   {0, 0, 0, 0}
42311 };
42312 
42313 static PyTypeObject __pyx_type_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis = {
42314   PyVarObject_HEAD_INIT(0, 0)
42315   "Cython.Compiler.FlowControl.ControlFlowAnalysis", /*tp_name*/
42316   sizeof(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis), /*tp_basicsize*/
42317   0, /*tp_itemsize*/
42318   __pyx_tp_dealloc_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis, /*tp_dealloc*/
42319   #if PY_VERSION_HEX < 0x030800b4
42320   0, /*tp_print*/
42321   #endif
42322   #if PY_VERSION_HEX >= 0x030800b4
42323   0, /*tp_vectorcall_offset*/
42324   #endif
42325   0, /*tp_getattr*/
42326   0, /*tp_setattr*/
42327   #if PY_MAJOR_VERSION < 3
42328   0, /*tp_compare*/
42329   #endif
42330   #if PY_MAJOR_VERSION >= 3
42331   0, /*tp_as_async*/
42332   #endif
42333   0, /*tp_repr*/
42334   0, /*tp_as_number*/
42335   0, /*tp_as_sequence*/
42336   0, /*tp_as_mapping*/
42337   0, /*tp_hash*/
42338   0, /*tp_call*/
42339   0, /*tp_str*/
42340   0, /*tp_getattro*/
42341   0, /*tp_setattro*/
42342   0, /*tp_as_buffer*/
42343   Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
42344   0, /*tp_doc*/
42345   __pyx_tp_traverse_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis, /*tp_traverse*/
42346   __pyx_tp_clear_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis, /*tp_clear*/
42347   0, /*tp_richcompare*/
42348   0, /*tp_weaklistoffset*/
42349   0, /*tp_iter*/
42350   0, /*tp_iternext*/
42351   __pyx_methods_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis, /*tp_methods*/
42352   0, /*tp_members*/
42353   0, /*tp_getset*/
42354   0, /*tp_base*/
42355   0, /*tp_dict*/
42356   0, /*tp_descr_get*/
42357   0, /*tp_descr_set*/
42358   0, /*tp_dictoffset*/
42359   0, /*tp_init*/
42360   0, /*tp_alloc*/
42361   __pyx_tp_new_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis, /*tp_new*/
42362   0, /*tp_free*/
42363   0, /*tp_is_gc*/
42364   0, /*tp_bases*/
42365   0, /*tp_mro*/
42366   0, /*tp_cache*/
42367   0, /*tp_subclasses*/
42368   0, /*tp_weaklist*/
42369   0, /*tp_del*/
42370   0, /*tp_version_tag*/
42371   #if PY_VERSION_HEX >= 0x030400a1
42372   0, /*tp_finalize*/
42373   #endif
42374   #if PY_VERSION_HEX >= 0x030800b1
42375   0, /*tp_vectorcall*/
42376   #endif
42377   #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
42378   0, /*tp_print*/
42379   #endif
42380 };
42381 
42382 static PyMethodDef __pyx_methods[] = {
42383   {0, 0, 0, 0}
42384 };
42385 
42386 #if PY_MAJOR_VERSION >= 3
42387 #if CYTHON_PEP489_MULTI_PHASE_INIT
42388 static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/
42389 static int __pyx_pymod_exec_FlowControl(PyObject* module); /*proto*/
42390 static PyModuleDef_Slot __pyx_moduledef_slots[] = {
42391   {Py_mod_create, (void*)__pyx_pymod_create},
42392   {Py_mod_exec, (void*)__pyx_pymod_exec_FlowControl},
42393   {0, NULL}
42394 };
42395 #endif
42396 
42397 static struct PyModuleDef __pyx_moduledef = {
42398     PyModuleDef_HEAD_INIT,
42399     "FlowControl",
42400     0, /* m_doc */
42401   #if CYTHON_PEP489_MULTI_PHASE_INIT
42402     0, /* m_size */
42403   #else
42404     -1, /* m_size */
42405   #endif
42406     __pyx_methods /* m_methods */,
42407   #if CYTHON_PEP489_MULTI_PHASE_INIT
42408     __pyx_moduledef_slots, /* m_slots */
42409   #else
42410     NULL, /* m_reload */
42411   #endif
42412     NULL, /* m_traverse */
42413     NULL, /* m_clear */
42414     NULL /* m_free */
42415 };
42416 #endif
42417 #ifndef CYTHON_SMALL_CODE
42418 #if defined(__clang__)
42419     #define CYTHON_SMALL_CODE
42420 #elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
42421     #define CYTHON_SMALL_CODE __attribute__((cold))
42422 #else
42423     #define CYTHON_SMALL_CODE
42424 #endif
42425 #endif
42426 
42427 static __Pyx_StringTabEntry __pyx_string_tab[] = {
42428   {&__pyx_n_s_Argument, __pyx_k_Argument, sizeof(__pyx_k_Argument), 0, 0, 1, 1},
42429   {&__pyx_n_s_Argument___init, __pyx_k_Argument___init, sizeof(__pyx_k_Argument___init), 0, 0, 1, 1},
42430   {&__pyx_n_s_AssignmentCollector, __pyx_k_AssignmentCollector, sizeof(__pyx_k_AssignmentCollector), 0, 0, 1, 1},
42431   {&__pyx_n_s_AssignmentCollector___reduce_cyt, __pyx_k_AssignmentCollector___reduce_cyt, sizeof(__pyx_k_AssignmentCollector___reduce_cyt), 0, 0, 1, 1},
42432   {&__pyx_n_s_AssignmentCollector___setstate_c, __pyx_k_AssignmentCollector___setstate_c, sizeof(__pyx_k_AssignmentCollector___setstate_c), 0, 0, 1, 1},
42433   {&__pyx_n_s_AssignmentCollector_visit_Cascad, __pyx_k_AssignmentCollector_visit_Cascad, sizeof(__pyx_k_AssignmentCollector_visit_Cascad), 0, 0, 1, 1},
42434   {&__pyx_n_s_AssignmentCollector_visit_Node, __pyx_k_AssignmentCollector_visit_Node, sizeof(__pyx_k_AssignmentCollector_visit_Node), 0, 0, 1, 1},
42435   {&__pyx_n_s_AssignmentCollector_visit_Single, __pyx_k_AssignmentCollector_visit_Single, sizeof(__pyx_k_AssignmentCollector_visit_Single), 0, 0, 1, 1},
42436   {&__pyx_n_s_AssignmentList, __pyx_k_AssignmentList, sizeof(__pyx_k_AssignmentList), 0, 0, 1, 1},
42437   {&__pyx_n_s_AssignmentList___reduce_cython, __pyx_k_AssignmentList___reduce_cython, sizeof(__pyx_k_AssignmentList___reduce_cython), 0, 0, 1, 1},
42438   {&__pyx_n_s_AssignmentList___setstate_cython, __pyx_k_AssignmentList___setstate_cython, sizeof(__pyx_k_AssignmentList___setstate_cython), 0, 0, 1, 1},
42439   {&__pyx_n_s_AsyncForStatNode, __pyx_k_AsyncForStatNode, sizeof(__pyx_k_AsyncForStatNode), 0, 0, 1, 1},
42440   {&__pyx_n_s_Builtin, __pyx_k_Builtin, sizeof(__pyx_k_Builtin), 0, 0, 1, 1},
42441   {&__pyx_kp_s_Cannot_read_reduction_variable_i, __pyx_k_Cannot_read_reduction_variable_i, sizeof(__pyx_k_Cannot_read_reduction_variable_i), 0, 0, 1, 0},
42442   {&__pyx_n_s_ConstantFolding, __pyx_k_ConstantFolding, sizeof(__pyx_k_ConstantFolding), 0, 0, 1, 1},
42443   {&__pyx_n_s_ControlBlock, __pyx_k_ControlBlock, sizeof(__pyx_k_ControlBlock), 0, 0, 1, 1},
42444   {&__pyx_n_s_ControlBlock___reduce_cython, __pyx_k_ControlBlock___reduce_cython, sizeof(__pyx_k_ControlBlock___reduce_cython), 0, 0, 1, 1},
42445   {&__pyx_n_s_ControlBlock___setstate_cython, __pyx_k_ControlBlock___setstate_cython, sizeof(__pyx_k_ControlBlock___setstate_cython), 0, 0, 1, 1},
42446   {&__pyx_n_s_ControlBlock_add_child, __pyx_k_ControlBlock_add_child, sizeof(__pyx_k_ControlBlock_add_child), 0, 0, 1, 1},
42447   {&__pyx_n_s_ControlBlock_detach, __pyx_k_ControlBlock_detach, sizeof(__pyx_k_ControlBlock_detach), 0, 0, 1, 1},
42448   {&__pyx_n_s_ControlBlock_empty, __pyx_k_ControlBlock_empty, sizeof(__pyx_k_ControlBlock_empty), 0, 0, 1, 1},
42449   {&__pyx_n_s_ControlFlow, __pyx_k_ControlFlow, sizeof(__pyx_k_ControlFlow), 0, 0, 1, 1},
42450   {&__pyx_n_s_ControlFlowAnalysis, __pyx_k_ControlFlowAnalysis, sizeof(__pyx_k_ControlFlowAnalysis), 0, 0, 1, 1},
42451   {&__pyx_n_s_ControlFlowAnalysis___reduce_cyt, __pyx_k_ControlFlowAnalysis___reduce_cyt, sizeof(__pyx_k_ControlFlowAnalysis___reduce_cyt), 0, 0, 1, 1},
42452   {&__pyx_n_s_ControlFlowAnalysis___setstate_c, __pyx_k_ControlFlowAnalysis___setstate_c, sizeof(__pyx_k_ControlFlowAnalysis___setstate_c), 0, 0, 1, 1},
42453   {&__pyx_n_s_ControlFlowAnalysis__delete_priv, __pyx_k_ControlFlowAnalysis__delete_priv, sizeof(__pyx_k_ControlFlowAnalysis__delete_priv), 0, 0, 1, 1},
42454   {&__pyx_n_s_ControlFlowAnalysis_mark_assignm, __pyx_k_ControlFlowAnalysis_mark_assignm, sizeof(__pyx_k_ControlFlowAnalysis_mark_assignm), 0, 0, 1, 1},
42455   {&__pyx_n_s_ControlFlowAnalysis_mark_forloop, __pyx_k_ControlFlowAnalysis_mark_forloop, sizeof(__pyx_k_ControlFlowAnalysis_mark_forloop), 0, 0, 1, 1},
42456   {&__pyx_n_s_ControlFlowAnalysis_mark_positio, __pyx_k_ControlFlowAnalysis_mark_positio, sizeof(__pyx_k_ControlFlowAnalysis_mark_positio), 0, 0, 1, 1},
42457   {&__pyx_n_s_ControlFlowAnalysis_visit_Ampers, __pyx_k_ControlFlowAnalysis_visit_Ampers, sizeof(__pyx_k_ControlFlowAnalysis_visit_Ampers), 0, 0, 1, 1},
42458   {&__pyx_n_s_ControlFlowAnalysis_visit_Assign, __pyx_k_ControlFlowAnalysis_visit_Assign, sizeof(__pyx_k_ControlFlowAnalysis_visit_Assign), 0, 0, 1, 1},
42459   {&__pyx_n_s_ControlFlowAnalysis_visit_AsyncF, __pyx_k_ControlFlowAnalysis_visit_AsyncF, sizeof(__pyx_k_ControlFlowAnalysis_visit_AsyncF), 0, 0, 1, 1},
42460   {&__pyx_n_s_ControlFlowAnalysis_visit_BreakS, __pyx_k_ControlFlowAnalysis_visit_BreakS, sizeof(__pyx_k_ControlFlowAnalysis_visit_BreakS), 0, 0, 1, 1},
42461   {&__pyx_n_s_ControlFlowAnalysis_visit_CArgDe, __pyx_k_ControlFlowAnalysis_visit_CArgDe, sizeof(__pyx_k_ControlFlowAnalysis_visit_CArgDe), 0, 0, 1, 1},
42462   {&__pyx_n_s_ControlFlowAnalysis_visit_CTypeD, __pyx_k_ControlFlowAnalysis_visit_CTypeD, sizeof(__pyx_k_ControlFlowAnalysis_visit_CTypeD), 0, 0, 1, 1},
42463   {&__pyx_n_s_ControlFlowAnalysis_visit_Cascad, __pyx_k_ControlFlowAnalysis_visit_Cascad, sizeof(__pyx_k_ControlFlowAnalysis_visit_Cascad), 0, 0, 1, 1},
42464   {&__pyx_n_s_ControlFlowAnalysis_visit_Compre, __pyx_k_ControlFlowAnalysis_visit_Compre, sizeof(__pyx_k_ControlFlowAnalysis_visit_Compre), 0, 0, 1, 1},
42465   {&__pyx_n_s_ControlFlowAnalysis_visit_Contin, __pyx_k_ControlFlowAnalysis_visit_Contin, sizeof(__pyx_k_ControlFlowAnalysis_visit_Contin), 0, 0, 1, 1},
42466   {&__pyx_n_s_ControlFlowAnalysis_visit_DefNod, __pyx_k_ControlFlowAnalysis_visit_DefNod, sizeof(__pyx_k_ControlFlowAnalysis_visit_DefNod), 0, 0, 1, 1},
42467   {&__pyx_n_s_ControlFlowAnalysis_visit_DelSta, __pyx_k_ControlFlowAnalysis_visit_DelSta, sizeof(__pyx_k_ControlFlowAnalysis_visit_DelSta), 0, 0, 1, 1},
42468   {&__pyx_n_s_ControlFlowAnalysis_visit_ForFro, __pyx_k_ControlFlowAnalysis_visit_ForFro, sizeof(__pyx_k_ControlFlowAnalysis_visit_ForFro), 0, 0, 1, 1},
42469   {&__pyx_n_s_ControlFlowAnalysis_visit_ForInS, __pyx_k_ControlFlowAnalysis_visit_ForInS, sizeof(__pyx_k_ControlFlowAnalysis_visit_ForInS), 0, 0, 1, 1},
42470   {&__pyx_n_s_ControlFlowAnalysis_visit_FromIm, __pyx_k_ControlFlowAnalysis_visit_FromIm, sizeof(__pyx_k_ControlFlowAnalysis_visit_FromIm), 0, 0, 1, 1},
42471   {&__pyx_n_s_ControlFlowAnalysis_visit_FuncDe, __pyx_k_ControlFlowAnalysis_visit_FuncDe, sizeof(__pyx_k_ControlFlowAnalysis_visit_FuncDe), 0, 0, 1, 1},
42472   {&__pyx_n_s_ControlFlowAnalysis_visit_Genera, __pyx_k_ControlFlowAnalysis_visit_Genera, sizeof(__pyx_k_ControlFlowAnalysis_visit_Genera), 0, 0, 1, 1},
42473   {&__pyx_n_s_ControlFlowAnalysis_visit_IfStat, __pyx_k_ControlFlowAnalysis_visit_IfStat, sizeof(__pyx_k_ControlFlowAnalysis_visit_IfStat), 0, 0, 1, 1},
42474   {&__pyx_n_s_ControlFlowAnalysis_visit_InPlac, __pyx_k_ControlFlowAnalysis_visit_InPlac, sizeof(__pyx_k_ControlFlowAnalysis_visit_InPlac), 0, 0, 1, 1},
42475   {&__pyx_n_s_ControlFlowAnalysis_visit_LoopNo, __pyx_k_ControlFlowAnalysis_visit_LoopNo, sizeof(__pyx_k_ControlFlowAnalysis_visit_LoopNo), 0, 0, 1, 1},
42476   {&__pyx_n_s_ControlFlowAnalysis_visit_Module, __pyx_k_ControlFlowAnalysis_visit_Module, sizeof(__pyx_k_ControlFlowAnalysis_visit_Module), 0, 0, 1, 1},
42477   {&__pyx_n_s_ControlFlowAnalysis_visit_NameNo, __pyx_k_ControlFlowAnalysis_visit_NameNo, sizeof(__pyx_k_ControlFlowAnalysis_visit_NameNo), 0, 0, 1, 1},
42478   {&__pyx_n_s_ControlFlowAnalysis_visit_Node, __pyx_k_ControlFlowAnalysis_visit_Node, sizeof(__pyx_k_ControlFlowAnalysis_visit_Node), 0, 0, 1, 1},
42479   {&__pyx_n_s_ControlFlowAnalysis_visit_Parall, __pyx_k_ControlFlowAnalysis_visit_Parall, sizeof(__pyx_k_ControlFlowAnalysis_visit_Parall), 0, 0, 1, 1},
42480   {&__pyx_n_s_ControlFlowAnalysis_visit_Parall_2, __pyx_k_ControlFlowAnalysis_visit_Parall_2, sizeof(__pyx_k_ControlFlowAnalysis_visit_Parall_2), 0, 0, 1, 1},
42481   {&__pyx_n_s_ControlFlowAnalysis_visit_Parall_3, __pyx_k_ControlFlowAnalysis_visit_Parall_3, sizeof(__pyx_k_ControlFlowAnalysis_visit_Parall_3), 0, 0, 1, 1},
42482   {&__pyx_n_s_ControlFlowAnalysis_visit_PyClas, __pyx_k_ControlFlowAnalysis_visit_PyClas, sizeof(__pyx_k_ControlFlowAnalysis_visit_PyClas), 0, 0, 1, 1},
42483   {&__pyx_n_s_ControlFlowAnalysis_visit_RaiseS, __pyx_k_ControlFlowAnalysis_visit_RaiseS, sizeof(__pyx_k_ControlFlowAnalysis_visit_RaiseS), 0, 0, 1, 1},
42484   {&__pyx_n_s_ControlFlowAnalysis_visit_Rerais, __pyx_k_ControlFlowAnalysis_visit_Rerais, sizeof(__pyx_k_ControlFlowAnalysis_visit_Rerais), 0, 0, 1, 1},
42485   {&__pyx_n_s_ControlFlowAnalysis_visit_Return, __pyx_k_ControlFlowAnalysis_visit_Return, sizeof(__pyx_k_ControlFlowAnalysis_visit_Return), 0, 0, 1, 1},
42486   {&__pyx_n_s_ControlFlowAnalysis_visit_Scoped, __pyx_k_ControlFlowAnalysis_visit_Scoped, sizeof(__pyx_k_ControlFlowAnalysis_visit_Scoped), 0, 0, 1, 1},
42487   {&__pyx_n_s_ControlFlowAnalysis_visit_Single, __pyx_k_ControlFlowAnalysis_visit_Single, sizeof(__pyx_k_ControlFlowAnalysis_visit_Single), 0, 0, 1, 1},
42488   {&__pyx_n_s_ControlFlowAnalysis_visit_Sizeof, __pyx_k_ControlFlowAnalysis_visit_Sizeof, sizeof(__pyx_k_ControlFlowAnalysis_visit_Sizeof), 0, 0, 1, 1},
42489   {&__pyx_n_s_ControlFlowAnalysis_visit_StatLi, __pyx_k_ControlFlowAnalysis_visit_StatLi, sizeof(__pyx_k_ControlFlowAnalysis_visit_StatLi), 0, 0, 1, 1},
42490   {&__pyx_n_s_ControlFlowAnalysis_visit_TryExc, __pyx_k_ControlFlowAnalysis_visit_TryExc, sizeof(__pyx_k_ControlFlowAnalysis_visit_TryExc), 0, 0, 1, 1},
42491   {&__pyx_n_s_ControlFlowAnalysis_visit_TryFin, __pyx_k_ControlFlowAnalysis_visit_TryFin, sizeof(__pyx_k_ControlFlowAnalysis_visit_TryFin), 0, 0, 1, 1},
42492   {&__pyx_n_s_ControlFlowAnalysis_visit_Typeid, __pyx_k_ControlFlowAnalysis_visit_Typeid, sizeof(__pyx_k_ControlFlowAnalysis_visit_Typeid), 0, 0, 1, 1},
42493   {&__pyx_n_s_ControlFlowAnalysis_visit_WhileS, __pyx_k_ControlFlowAnalysis_visit_WhileS, sizeof(__pyx_k_ControlFlowAnalysis_visit_WhileS), 0, 0, 1, 1},
42494   {&__pyx_n_s_ControlFlowAnalysis_visit_WithSt, __pyx_k_ControlFlowAnalysis_visit_WithSt, sizeof(__pyx_k_ControlFlowAnalysis_visit_WithSt), 0, 0, 1, 1},
42495   {&__pyx_n_s_ControlFlowAnalysis_visit_WithTa, __pyx_k_ControlFlowAnalysis_visit_WithTa, sizeof(__pyx_k_ControlFlowAnalysis_visit_WithTa), 0, 0, 1, 1},
42496   {&__pyx_n_s_ControlFlowState, __pyx_k_ControlFlowState, sizeof(__pyx_k_ControlFlowState), 0, 0, 1, 1},
42497   {&__pyx_n_s_ControlFlowState___init, __pyx_k_ControlFlowState___init, sizeof(__pyx_k_ControlFlowState___init), 0, 0, 1, 1},
42498   {&__pyx_n_s_ControlFlowState_one, __pyx_k_ControlFlowState_one, sizeof(__pyx_k_ControlFlowState_one), 0, 0, 1, 1},
42499   {&__pyx_n_s_ControlFlow___reduce_cython, __pyx_k_ControlFlow___reduce_cython, sizeof(__pyx_k_ControlFlow___reduce_cython), 0, 0, 1, 1},
42500   {&__pyx_n_s_ControlFlow___setstate_cython, __pyx_k_ControlFlow___setstate_cython, sizeof(__pyx_k_ControlFlow___setstate_cython), 0, 0, 1, 1},
42501   {&__pyx_n_s_ControlFlow_initialize, __pyx_k_ControlFlow_initialize, sizeof(__pyx_k_ControlFlow_initialize), 0, 0, 1, 1},
42502   {&__pyx_n_s_ControlFlow_is_statically_assign, __pyx_k_ControlFlow_is_statically_assign, sizeof(__pyx_k_ControlFlow_is_statically_assign), 0, 0, 1, 1},
42503   {&__pyx_n_s_ControlFlow_is_tracked, __pyx_k_ControlFlow_is_tracked, sizeof(__pyx_k_ControlFlow_is_tracked), 0, 0, 1, 1},
42504   {&__pyx_n_s_ControlFlow_map_one, __pyx_k_ControlFlow_map_one, sizeof(__pyx_k_ControlFlow_map_one), 0, 0, 1, 1},
42505   {&__pyx_n_s_ControlFlow_mark_argument, __pyx_k_ControlFlow_mark_argument, sizeof(__pyx_k_ControlFlow_mark_argument), 0, 0, 1, 1},
42506   {&__pyx_n_s_ControlFlow_mark_assignment, __pyx_k_ControlFlow_mark_assignment, sizeof(__pyx_k_ControlFlow_mark_assignment), 0, 0, 1, 1},
42507   {&__pyx_n_s_ControlFlow_mark_deletion, __pyx_k_ControlFlow_mark_deletion, sizeof(__pyx_k_ControlFlow_mark_deletion), 0, 0, 1, 1},
42508   {&__pyx_n_s_ControlFlow_mark_position, __pyx_k_ControlFlow_mark_position, sizeof(__pyx_k_ControlFlow_mark_position), 0, 0, 1, 1},
42509   {&__pyx_n_s_ControlFlow_mark_reference, __pyx_k_ControlFlow_mark_reference, sizeof(__pyx_k_ControlFlow_mark_reference), 0, 0, 1, 1},
42510   {&__pyx_n_s_ControlFlow_newblock, __pyx_k_ControlFlow_newblock, sizeof(__pyx_k_ControlFlow_newblock), 0, 0, 1, 1},
42511   {&__pyx_n_s_ControlFlow_nextblock, __pyx_k_ControlFlow_nextblock, sizeof(__pyx_k_ControlFlow_nextblock), 0, 0, 1, 1},
42512   {&__pyx_n_s_ControlFlow_normalize, __pyx_k_ControlFlow_normalize, sizeof(__pyx_k_ControlFlow_normalize), 0, 0, 1, 1},
42513   {&__pyx_n_s_CythonTransform, __pyx_k_CythonTransform, sizeof(__pyx_k_CythonTransform), 0, 0, 1, 1},
42514   {&__pyx_n_s_Cython_Compiler_FlowControl, __pyx_k_Cython_Compiler_FlowControl, sizeof(__pyx_k_Cython_Compiler_FlowControl), 0, 0, 1, 1},
42515   {&__pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_k_Cython_Compiler_FlowControl_py, sizeof(__pyx_k_Cython_Compiler_FlowControl_py), 0, 0, 1, 0},
42516   {&__pyx_n_s_Errors, __pyx_k_Errors, sizeof(__pyx_k_Errors), 0, 0, 1, 1},
42517   {&__pyx_n_s_ExceptionDescr, __pyx_k_ExceptionDescr, sizeof(__pyx_k_ExceptionDescr), 0, 0, 1, 1},
42518   {&__pyx_n_s_ExceptionDescr___init, __pyx_k_ExceptionDescr___init, sizeof(__pyx_k_ExceptionDescr___init), 0, 0, 1, 1},
42519   {&__pyx_kp_s_Exception_handling_helper_entry, __pyx_k_Exception_handling_helper_entry, sizeof(__pyx_k_Exception_handling_helper_entry), 0, 0, 1, 0},
42520   {&__pyx_n_s_ExitBlock, __pyx_k_ExitBlock, sizeof(__pyx_k_ExitBlock), 0, 0, 1, 1},
42521   {&__pyx_n_s_ExitBlock___reduce_cython, __pyx_k_ExitBlock___reduce_cython, sizeof(__pyx_k_ExitBlock___reduce_cython), 0, 0, 1, 1},
42522   {&__pyx_n_s_ExitBlock___setstate_cython, __pyx_k_ExitBlock___setstate_cython, sizeof(__pyx_k_ExitBlock___setstate_cython), 0, 0, 1, 1},
42523   {&__pyx_n_s_ExitBlock_empty, __pyx_k_ExitBlock_empty, sizeof(__pyx_k_ExitBlock_empty), 0, 0, 1, 1},
42524   {&__pyx_n_s_ExprNode, __pyx_k_ExprNode, sizeof(__pyx_k_ExprNode), 0, 0, 1, 1},
42525   {&__pyx_n_s_ExprNodes, __pyx_k_ExprNodes, sizeof(__pyx_k_ExprNodes), 0, 0, 1, 1},
42526   {&__pyx_n_s_ForInStatNode, __pyx_k_ForInStatNode, sizeof(__pyx_k_ForInStatNode), 0, 0, 1, 1},
42527   {&__pyx_n_s_GV, __pyx_k_GV, sizeof(__pyx_k_GV), 0, 0, 1, 1},
42528   {&__pyx_n_s_GVContext, __pyx_k_GVContext, sizeof(__pyx_k_GVContext), 0, 0, 1, 1},
42529   {&__pyx_n_s_GVContext___init, __pyx_k_GVContext___init, sizeof(__pyx_k_GVContext___init), 0, 0, 1, 1},
42530   {&__pyx_n_s_GVContext_add, __pyx_k_GVContext_add, sizeof(__pyx_k_GVContext_add), 0, 0, 1, 1},
42531   {&__pyx_n_s_GVContext_escape, __pyx_k_GVContext_escape, sizeof(__pyx_k_GVContext_escape), 0, 0, 1, 1},
42532   {&__pyx_n_s_GVContext_extract_sources, __pyx_k_GVContext_extract_sources, sizeof(__pyx_k_GVContext_extract_sources), 0, 0, 1, 1},
42533   {&__pyx_n_s_GVContext_nodeid, __pyx_k_GVContext_nodeid, sizeof(__pyx_k_GVContext_nodeid), 0, 0, 1, 1},
42534   {&__pyx_n_s_GVContext_render, __pyx_k_GVContext_render, sizeof(__pyx_k_GVContext_render), 0, 0, 1, 1},
42535   {&__pyx_n_s_GV___init, __pyx_k_GV___init, sizeof(__pyx_k_GV___init), 0, 0, 1, 1},
42536   {&__pyx_n_s_GV_render, __pyx_k_GV_render, sizeof(__pyx_k_GV_render), 0, 0, 1, 1},
42537   {&__pyx_kp_s_Generic_loops_are_not_supported, __pyx_k_Generic_loops_are_not_supported, sizeof(__pyx_k_Generic_loops_are_not_supported), 0, 0, 1, 0},
42538   {&__pyx_kp_s_Graphviz_DOT_renderer, __pyx_k_Graphviz_DOT_renderer, sizeof(__pyx_k_Graphviz_DOT_renderer), 0, 0, 1, 0},
42539   {&__pyx_kp_s_Graphviz_subgraph_object, __pyx_k_Graphviz_subgraph_object, sizeof(__pyx_k_Graphviz_subgraph_object), 0, 0, 1, 0},
42540   {&__pyx_kp_s_Incompatible_checksums_s_vs_0x13, __pyx_k_Incompatible_checksums_s_vs_0x13, sizeof(__pyx_k_Incompatible_checksums_s_vs_0x13), 0, 0, 1, 0},
42541   {&__pyx_kp_s_Incompatible_checksums_s_vs_0x39, __pyx_k_Incompatible_checksums_s_vs_0x39, sizeof(__pyx_k_Incompatible_checksums_s_vs_0x39), 0, 0, 1, 0},
42542   {&__pyx_kp_s_Incompatible_checksums_s_vs_0x61, __pyx_k_Incompatible_checksums_s_vs_0x61, sizeof(__pyx_k_Incompatible_checksums_s_vs_0x61), 0, 0, 1, 0},
42543   {&__pyx_kp_s_Incompatible_checksums_s_vs_0x93, __pyx_k_Incompatible_checksums_s_vs_0x93, sizeof(__pyx_k_Incompatible_checksums_s_vs_0x93), 0, 0, 1, 0},
42544   {&__pyx_kp_s_Incompatible_checksums_s_vs_0xd4, __pyx_k_Incompatible_checksums_s_vs_0xd4, sizeof(__pyx_k_Incompatible_checksums_s_vs_0xd4), 0, 0, 1, 0},
42545   {&__pyx_kp_s_Incompatible_checksums_s_vs_0xde, __pyx_k_Incompatible_checksums_s_vs_0xde, sizeof(__pyx_k_Incompatible_checksums_s_vs_0xde), 0, 0, 1, 0},
42546   {&__pyx_kp_s_Incompatible_checksums_s_vs_0xdf, __pyx_k_Incompatible_checksums_s_vs_0xdf, sizeof(__pyx_k_Incompatible_checksums_s_vs_0xdf), 0, 0, 1, 0},
42547   {&__pyx_kp_s_Incompatible_checksums_s_vs_0xf2, __pyx_k_Incompatible_checksums_s_vs_0xf2, sizeof(__pyx_k_Incompatible_checksums_s_vs_0xf2), 0, 0, 1, 0},
42548   {&__pyx_kp_s_Initialised_at_declaration_time, __pyx_k_Initialised_at_declaration_time, sizeof(__pyx_k_Initialised_at_declaration_time), 0, 0, 1, 0},
42549   {&__pyx_n_s_IntNode, __pyx_k_IntNode, sizeof(__pyx_k_IntNode), 0, 0, 1, 1},
42550   {&__pyx_n_s_InternalError, __pyx_k_InternalError, sizeof(__pyx_k_InternalError), 0, 0, 1, 1},
42551   {&__pyx_n_s_LoopDescr, __pyx_k_LoopDescr, sizeof(__pyx_k_LoopDescr), 0, 0, 1, 1},
42552   {&__pyx_n_s_LoopDescr___init, __pyx_k_LoopDescr___init, sizeof(__pyx_k_LoopDescr___init), 0, 0, 1, 1},
42553   {&__pyx_n_s_MessageCollection, __pyx_k_MessageCollection, sizeof(__pyx_k_MessageCollection), 0, 0, 1, 1},
42554   {&__pyx_n_s_MessageCollection___reduce_cytho, __pyx_k_MessageCollection___reduce_cytho, sizeof(__pyx_k_MessageCollection___reduce_cytho), 0, 0, 1, 1},
42555   {&__pyx_n_s_MessageCollection___setstate_cyt, __pyx_k_MessageCollection___setstate_cyt, sizeof(__pyx_k_MessageCollection___setstate_cyt), 0, 0, 1, 1},
42556   {&__pyx_n_s_MessageCollection_error, __pyx_k_MessageCollection_error, sizeof(__pyx_k_MessageCollection_error), 0, 0, 1, 1},
42557   {&__pyx_n_s_MessageCollection_report, __pyx_k_MessageCollection_report, sizeof(__pyx_k_MessageCollection_report), 0, 0, 1, 1},
42558   {&__pyx_n_s_MessageCollection_warning, __pyx_k_MessageCollection_warning, sizeof(__pyx_k_MessageCollection_warning), 0, 0, 1, 1},
42559   {&__pyx_n_s_NameAssignment, __pyx_k_NameAssignment, sizeof(__pyx_k_NameAssignment), 0, 0, 1, 1},
42560   {&__pyx_n_s_NameAssignment___reduce_cython, __pyx_k_NameAssignment___reduce_cython, sizeof(__pyx_k_NameAssignment___reduce_cython), 0, 0, 1, 1},
42561   {&__pyx_n_s_NameAssignment___setstate_cython, __pyx_k_NameAssignment___setstate_cython, sizeof(__pyx_k_NameAssignment___setstate_cython), 0, 0, 1, 1},
42562   {&__pyx_n_s_NameAssignment_infer_type, __pyx_k_NameAssignment_infer_type, sizeof(__pyx_k_NameAssignment_infer_type), 0, 0, 1, 1},
42563   {&__pyx_n_s_NameAssignment_type_dependencies, __pyx_k_NameAssignment_type_dependencies, sizeof(__pyx_k_NameAssignment_type_dependencies), 0, 0, 1, 1},
42564   {&__pyx_n_s_NameDeletion, __pyx_k_NameDeletion, sizeof(__pyx_k_NameDeletion), 0, 0, 1, 1},
42565   {&__pyx_n_s_NameDeletion___init, __pyx_k_NameDeletion___init, sizeof(__pyx_k_NameDeletion___init), 0, 0, 1, 1},
42566   {&__pyx_n_s_NameDeletion_infer_type, __pyx_k_NameDeletion_infer_type, sizeof(__pyx_k_NameDeletion_infer_type), 0, 0, 1, 1},
42567   {&__pyx_n_s_NameReference, __pyx_k_NameReference, sizeof(__pyx_k_NameReference), 0, 0, 1, 1},
42568   {&__pyx_n_s_NameReference___init, __pyx_k_NameReference___init, sizeof(__pyx_k_NameReference___init), 0, 0, 1, 1},
42569   {&__pyx_n_s_NameReference___repr, __pyx_k_NameReference___repr, sizeof(__pyx_k_NameReference___repr), 0, 0, 1, 1},
42570   {&__pyx_n_s_Nodes, __pyx_k_Nodes, sizeof(__pyx_k_Nodes), 0, 0, 1, 1},
42571   {&__pyx_n_s_Optimize, __pyx_k_Optimize, sizeof(__pyx_k_Optimize), 0, 0, 1, 1},
42572   {&__pyx_n_s_Options, __pyx_k_Options, sizeof(__pyx_k_Options), 0, 0, 1, 1},
42573   {&__pyx_n_s_PY_SSIZE_T_MAX, __pyx_k_PY_SSIZE_T_MAX, sizeof(__pyx_k_PY_SSIZE_T_MAX), 0, 0, 1, 1},
42574   {&__pyx_n_s_ParallelRangeNode, __pyx_k_ParallelRangeNode, sizeof(__pyx_k_ParallelRangeNode), 0, 0, 1, 1},
42575   {&__pyx_n_s_PickleError, __pyx_k_PickleError, sizeof(__pyx_k_PickleError), 0, 0, 1, 1},
42576   {&__pyx_n_s_PyrexTypes, __pyx_k_PyrexTypes, sizeof(__pyx_k_PyrexTypes), 0, 0, 1, 1},
42577   {&__pyx_n_s_SimpleCallNode, __pyx_k_SimpleCallNode, sizeof(__pyx_k_SimpleCallNode), 0, 0, 1, 1},
42578   {&__pyx_n_s_StaticAssignment, __pyx_k_StaticAssignment, sizeof(__pyx_k_StaticAssignment), 0, 0, 1, 1},
42579   {&__pyx_n_s_StaticAssignment___init, __pyx_k_StaticAssignment___init, sizeof(__pyx_k_StaticAssignment___init), 0, 0, 1, 1},
42580   {&__pyx_n_s_StaticAssignment_infer_type, __pyx_k_StaticAssignment_infer_type, sizeof(__pyx_k_StaticAssignment_infer_type), 0, 0, 1, 1},
42581   {&__pyx_n_s_StaticAssignment_type_dependenci, __pyx_k_StaticAssignment_type_dependenci, sizeof(__pyx_k_StaticAssignment_type_dependenci), 0, 0, 1, 1},
42582   {&__pyx_n_s_TreeVisitor, __pyx_k_TreeVisitor, sizeof(__pyx_k_TreeVisitor), 0, 0, 1, 1},
42583   {&__pyx_n_s_TypedExprNode, __pyx_k_TypedExprNode, sizeof(__pyx_k_TypedExprNode), 0, 0, 1, 1},
42584   {&__pyx_n_s_TypedExprNode___init, __pyx_k_TypedExprNode___init, sizeof(__pyx_k_TypedExprNode___init), 0, 0, 1, 1},
42585   {&__pyx_n_s_TypedExprNode_may_be_none, __pyx_k_TypedExprNode_may_be_none, sizeof(__pyx_k_TypedExprNode_may_be_none), 0, 0, 1, 1},
42586   {&__pyx_kp_s_Unhandled_assignment_node, __pyx_k_Unhandled_assignment_node, sizeof(__pyx_k_Unhandled_assignment_node), 0, 0, 1, 0},
42587   {&__pyx_n_s_Uninitialized, __pyx_k_Uninitialized, sizeof(__pyx_k_Uninitialized), 0, 0, 1, 1},
42588   {&__pyx_n_s_Uninitialized___reduce_cython, __pyx_k_Uninitialized___reduce_cython, sizeof(__pyx_k_Uninitialized___reduce_cython), 0, 0, 1, 1},
42589   {&__pyx_n_s_Uninitialized___setstate_cython, __pyx_k_Uninitialized___setstate_cython, sizeof(__pyx_k_Uninitialized___setstate_cython), 0, 0, 1, 1},
42590   {&__pyx_n_s_Unknown, __pyx_k_Unknown, sizeof(__pyx_k_Unknown), 0, 0, 1, 1},
42591   {&__pyx_n_s_Unknown___reduce_cython, __pyx_k_Unknown___reduce_cython, sizeof(__pyx_k_Unknown___reduce_cython), 0, 0, 1, 1},
42592   {&__pyx_n_s_Unknown___setstate_cython, __pyx_k_Unknown___setstate_cython, sizeof(__pyx_k_Unknown___setstate_cython), 0, 0, 1, 1},
42593   {&__pyx_kp_s_Unused_argument_s, __pyx_k_Unused_argument_s, sizeof(__pyx_k_Unused_argument_s), 0, 0, 1, 0},
42594   {&__pyx_kp_s_Unused_argument_value_s, __pyx_k_Unused_argument_value_s, sizeof(__pyx_k_Unused_argument_value_s), 0, 0, 1, 0},
42595   {&__pyx_kp_s_Unused_entry_s, __pyx_k_Unused_entry_s, sizeof(__pyx_k_Unused_entry_s), 0, 0, 1, 0},
42596   {&__pyx_kp_s_Unused_result_in_s, __pyx_k_Unused_result_in_s, sizeof(__pyx_k_Unused_result_in_s), 0, 0, 1, 0},
42597   {&__pyx_n_s_Visitor, __pyx_k_Visitor, sizeof(__pyx_k_Visitor), 0, 0, 1, 1},
42598   {&__pyx_n_s__10, __pyx_k__10, sizeof(__pyx_k__10), 0, 0, 1, 1},
42599   {&__pyx_kp_s__12, __pyx_k__12, sizeof(__pyx_k__12), 0, 0, 1, 0},
42600   {&__pyx_kp_s__13, __pyx_k__13, sizeof(__pyx_k__13), 0, 0, 1, 0},
42601   {&__pyx_kp_s__2, __pyx_k__2, sizeof(__pyx_k__2), 0, 0, 1, 0},
42602   {&__pyx_kp_s__3, __pyx_k__3, sizeof(__pyx_k__3), 0, 0, 1, 0},
42603   {&__pyx_kp_s__4, __pyx_k__4, sizeof(__pyx_k__4), 0, 0, 1, 0},
42604   {&__pyx_kp_s__5, __pyx_k__5, sizeof(__pyx_k__5), 0, 0, 1, 0},
42605   {&__pyx_kp_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 0},
42606   {&__pyx_kp_s__9, __pyx_k__9, sizeof(__pyx_k__9), 0, 0, 1, 0},
42607   {&__pyx_n_s_add, __pyx_k_add, sizeof(__pyx_k_add), 0, 0, 1, 1},
42608   {&__pyx_n_s_add_child, __pyx_k_add_child, sizeof(__pyx_k_add_child), 0, 0, 1, 1},
42609   {&__pyx_n_s_allow_null, __pyx_k_allow_null, sizeof(__pyx_k_allow_null), 0, 0, 1, 1},
42610   {&__pyx_n_s_annotate_defs, __pyx_k_annotate_defs, sizeof(__pyx_k_annotate_defs), 0, 0, 1, 1},
42611   {&__pyx_n_s_append, __pyx_k_append, sizeof(__pyx_k_append), 0, 0, 1, 1},
42612   {&__pyx_n_s_arg, __pyx_k_arg, sizeof(__pyx_k_arg), 0, 0, 1, 1},
42613   {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1},
42614   {&__pyx_n_s_assigned_nodes, __pyx_k_assigned_nodes, sizeof(__pyx_k_assigned_nodes), 0, 0, 1, 1},
42615   {&__pyx_n_s_assignments, __pyx_k_assignments, sizeof(__pyx_k_assignments), 0, 0, 1, 1},
42616   {&__pyx_n_s_bases, __pyx_k_bases, sizeof(__pyx_k_bases), 0, 0, 1, 1},
42617   {&__pyx_n_s_binop_node, __pyx_k_binop_node, sizeof(__pyx_k_binop_node), 0, 0, 1, 1},
42618   {&__pyx_n_s_bit, __pyx_k_bit, sizeof(__pyx_k_bit), 0, 0, 1, 1},
42619   {&__pyx_n_s_block, __pyx_k_block, sizeof(__pyx_k_block), 0, 0, 1, 1},
42620   {&__pyx_kp_s_block_d, __pyx_k_block_d, sizeof(__pyx_k_block_d), 0, 0, 1, 0},
42621   {&__pyx_n_s_blockids, __pyx_k_blockids, sizeof(__pyx_k_blockids), 0, 0, 1, 1},
42622   {&__pyx_n_s_blocks, __pyx_k_blocks, sizeof(__pyx_k_blocks), 0, 0, 1, 1},
42623   {&__pyx_n_s_body, __pyx_k_body, sizeof(__pyx_k_body), 0, 0, 1, 1},
42624   {&__pyx_n_s_body_block, __pyx_k_body_block, sizeof(__pyx_k_body_block), 0, 0, 1, 1},
42625   {&__pyx_n_s_bound1, __pyx_k_bound1, sizeof(__pyx_k_bound1), 0, 0, 1, 1},
42626   {&__pyx_n_s_bound2, __pyx_k_bound2, sizeof(__pyx_k_bound2), 0, 0, 1, 1},
42627   {&__pyx_n_s_c_py_ssize_t_type, __pyx_k_c_py_ssize_t_type, sizeof(__pyx_k_c_py_ssize_t_type), 0, 0, 1, 1},
42628   {&__pyx_n_s_can_coerce_to_pyobject, __pyx_k_can_coerce_to_pyobject, sizeof(__pyx_k_can_coerce_to_pyobject), 0, 0, 1, 1},
42629   {&__pyx_kp_s_can_not_delete_variable_s_refere, __pyx_k_can_not_delete_variable_s_refere, sizeof(__pyx_k_can_not_delete_variable_s_refere), 0, 0, 1, 0},
42630   {&__pyx_n_s_cf_assignments, __pyx_k_cf_assignments, sizeof(__pyx_k_cf_assignments), 0, 0, 1, 1},
42631   {&__pyx_n_s_cf_is_null, __pyx_k_cf_is_null, sizeof(__pyx_k_cf_is_null), 0, 0, 1, 1},
42632   {&__pyx_n_s_cf_maybe_null, __pyx_k_cf_maybe_null, sizeof(__pyx_k_cf_maybe_null), 0, 0, 1, 1},
42633   {&__pyx_n_s_cf_references, __pyx_k_cf_references, sizeof(__pyx_k_cf_references), 0, 0, 1, 1},
42634   {&__pyx_n_s_cf_state, __pyx_k_cf_state, sizeof(__pyx_k_cf_state), 0, 0, 1, 1},
42635   {&__pyx_n_s_cf_used, __pyx_k_cf_used, sizeof(__pyx_k_cf_used), 0, 0, 1, 1},
42636   {&__pyx_n_s_child, __pyx_k_child, sizeof(__pyx_k_child), 0, 0, 1, 1},
42637   {&__pyx_n_s_children, __pyx_k_children, sizeof(__pyx_k_children), 0, 0, 1, 1},
42638   {&__pyx_n_s_class, __pyx_k_class, sizeof(__pyx_k_class), 0, 0, 1, 1},
42639   {&__pyx_n_s_class_result, __pyx_k_class_result, sizeof(__pyx_k_class_result), 0, 0, 1, 1},
42640   {&__pyx_n_s_classobj, __pyx_k_classobj, sizeof(__pyx_k_classobj), 0, 0, 1, 1},
42641   {&__pyx_n_s_clause, __pyx_k_clause, sizeof(__pyx_k_clause), 0, 0, 1, 1},
42642   {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1},
42643   {&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1},
42644   {&__pyx_n_s_collector, __pyx_k_collector, sizeof(__pyx_k_collector), 0, 0, 1, 1},
42645   {&__pyx_n_s_condition, __pyx_k_condition, sizeof(__pyx_k_condition), 0, 0, 1, 1},
42646   {&__pyx_n_s_condition_block, __pyx_k_condition_block, sizeof(__pyx_k_condition_block), 0, 0, 1, 1},
42647   {&__pyx_kp_s_control_flow_dot_annotate_defs, __pyx_k_control_flow_dot_annotate_defs, sizeof(__pyx_k_control_flow_dot_annotate_defs), 0, 0, 1, 0},
42648   {&__pyx_kp_s_control_flow_dot_output, __pyx_k_control_flow_dot_output, sizeof(__pyx_k_control_flow_dot_output), 0, 0, 1, 0},
42649   {&__pyx_n_s_create_binop_node, __pyx_k_create_binop_node, sizeof(__pyx_k_create_binop_node), 0, 0, 1, 1},
42650   {&__pyx_n_s_ctx, __pyx_k_ctx, sizeof(__pyx_k_ctx), 0, 0, 1, 1},
42651   {&__pyx_n_s_decorators, __pyx_k_decorators, sizeof(__pyx_k_decorators), 0, 0, 1, 1},
42652   {&__pyx_n_s_default, __pyx_k_default, sizeof(__pyx_k_default), 0, 0, 1, 1},
42653   {&__pyx_n_s_definition, __pyx_k_definition, sizeof(__pyx_k_definition), 0, 0, 1, 1},
42654   {&__pyx_n_s_delete_privates, __pyx_k_delete_privates, sizeof(__pyx_k_delete_privates), 0, 0, 1, 1},
42655   {&__pyx_n_s_deletion, __pyx_k_deletion, sizeof(__pyx_k_deletion), 0, 0, 1, 1},
42656   {&__pyx_n_s_descr, __pyx_k_descr, sizeof(__pyx_k_descr), 0, 0, 1, 1},
42657   {&__pyx_n_s_detach, __pyx_k_detach, sizeof(__pyx_k_detach), 0, 0, 1, 1},
42658   {&__pyx_n_s_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1},
42659   {&__pyx_n_s_dict_2, __pyx_k_dict_2, sizeof(__pyx_k_dict_2), 0, 0, 1, 1},
42660   {&__pyx_n_s_dict_3, __pyx_k_dict_3, sizeof(__pyx_k_dict_3), 0, 0, 1, 1},
42661   {&__pyx_n_s_dict_type, __pyx_k_dict_type, sizeof(__pyx_k_dict_type), 0, 0, 1, 1},
42662   {&__pyx_kp_s_digraph_s, __pyx_k_digraph_s, sizeof(__pyx_k_digraph_s), 0, 0, 1, 0},
42663   {&__pyx_n_s_discard, __pyx_k_discard, sizeof(__pyx_k_discard), 0, 0, 1, 1},
42664   {&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1},
42665   {&__pyx_n_s_dot_output, __pyx_k_dot_output, sizeof(__pyx_k_dot_output), 0, 0, 1, 1},
42666   {&__pyx_n_s_else_clause, __pyx_k_else_clause, sizeof(__pyx_k_else_clause), 0, 0, 1, 1},
42667   {&__pyx_n_s_empty, __pyx_k_empty, sizeof(__pyx_k_empty), 0, 0, 1, 1},
42668   {&__pyx_n_s_enter_call, __pyx_k_enter_call, sizeof(__pyx_k_enter_call), 0, 0, 1, 1},
42669   {&__pyx_n_s_entries, __pyx_k_entries, sizeof(__pyx_k_entries), 0, 0, 1, 1},
42670   {&__pyx_n_s_entry, __pyx_k_entry, sizeof(__pyx_k_entry), 0, 0, 1, 1},
42671   {&__pyx_n_s_entry_point, __pyx_k_entry_point, sizeof(__pyx_k_entry_point), 0, 0, 1, 1},
42672   {&__pyx_n_s_enumerate, __pyx_k_enumerate, sizeof(__pyx_k_enumerate), 0, 0, 1, 1},
42673   {&__pyx_n_s_error, __pyx_k_error, sizeof(__pyx_k_error), 0, 0, 1, 1},
42674   {&__pyx_n_s_error_on_uninitialized, __pyx_k_error_on_uninitialized, sizeof(__pyx_k_error_on_uninitialized), 0, 0, 1, 1},
42675   {&__pyx_n_s_escape, __pyx_k_escape, sizeof(__pyx_k_escape), 0, 0, 1, 1},
42676   {&__pyx_n_s_except_clauses, __pyx_k_except_clauses, sizeof(__pyx_k_except_clauses), 0, 0, 1, 1},
42677   {&__pyx_n_s_exception, __pyx_k_exception, sizeof(__pyx_k_exception), 0, 0, 1, 1},
42678   {&__pyx_n_s_exceptions, __pyx_k_exceptions, sizeof(__pyx_k_exceptions), 0, 0, 1, 1},
42679   {&__pyx_n_s_exclude, __pyx_k_exclude, sizeof(__pyx_k_exclude), 0, 0, 1, 1},
42680   {&__pyx_n_s_exit_point, __pyx_k_exit_point, sizeof(__pyx_k_exit_point), 0, 0, 1, 1},
42681   {&__pyx_n_s_expr_scope, __pyx_k_expr_scope, sizeof(__pyx_k_expr_scope), 0, 0, 1, 1},
42682   {&__pyx_n_s_extract_sources, __pyx_k_extract_sources, sizeof(__pyx_k_extract_sources), 0, 0, 1, 1},
42683   {&__pyx_n_s_finally_clause, __pyx_k_finally_clause, sizeof(__pyx_k_finally_clause), 0, 0, 1, 1},
42684   {&__pyx_n_s_finally_enter, __pyx_k_finally_enter, sizeof(__pyx_k_finally_enter), 0, 0, 1, 1},
42685   {&__pyx_n_s_finally_except_clause, __pyx_k_finally_except_clause, sizeof(__pyx_k_finally_except_clause), 0, 0, 1, 1},
42686   {&__pyx_n_s_finally_exit, __pyx_k_finally_exit, sizeof(__pyx_k_finally_exit), 0, 0, 1, 1},
42687   {&__pyx_n_s_flow, __pyx_k_flow, sizeof(__pyx_k_flow), 0, 0, 1, 1},
42688   {&__pyx_n_s_fp, __pyx_k_fp, sizeof(__pyx_k_fp), 0, 0, 1, 1},
42689   {&__pyx_n_s_from_closure, __pyx_k_from_closure, sizeof(__pyx_k_from_closure), 0, 0, 1, 1},
42690   {&__pyx_n_s_function, __pyx_k_function, sizeof(__pyx_k_function), 0, 0, 1, 1},
42691   {&__pyx_n_s_gbody, __pyx_k_gbody, sizeof(__pyx_k_gbody), 0, 0, 1, 1},
42692   {&__pyx_n_s_get_lines, __pyx_k_get_lines, sizeof(__pyx_k_get_lines), 0, 0, 1, 1},
42693   {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1},
42694   {&__pyx_n_s_handler, __pyx_k_handler, sizeof(__pyx_k_handler), 0, 0, 1, 1},
42695   {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1},
42696   {&__pyx_n_s_if_clauses, __pyx_k_if_clauses, sizeof(__pyx_k_if_clauses), 0, 0, 1, 1},
42697   {&__pyx_n_s_ignore_nonexisting, __pyx_k_ignore_nonexisting, sizeof(__pyx_k_ignore_nonexisting), 0, 0, 1, 1},
42698   {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
42699   {&__pyx_n_s_in_closure, __pyx_k_in_closure, sizeof(__pyx_k_in_closure), 0, 0, 1, 1},
42700   {&__pyx_n_s_infer_type, __pyx_k_infer_type, sizeof(__pyx_k_infer_type), 0, 0, 1, 1},
42701   {&__pyx_n_s_inferable_item_node, __pyx_k_inferable_item_node, sizeof(__pyx_k_inferable_item_node), 0, 0, 1, 1},
42702   {&__pyx_n_s_inferred_type, __pyx_k_inferred_type, sizeof(__pyx_k_inferred_type), 0, 0, 1, 1},
42703   {&__pyx_n_s_init, __pyx_k_init, sizeof(__pyx_k_init), 0, 0, 1, 1},
42704   {&__pyx_n_s_initialize, __pyx_k_initialize, sizeof(__pyx_k_initialize), 0, 0, 1, 1},
42705   {&__pyx_n_s_is_anonymous, __pyx_k_is_anonymous, sizeof(__pyx_k_is_anonymous), 0, 0, 1, 1},
42706   {&__pyx_n_s_is_arg, __pyx_k_is_arg, sizeof(__pyx_k_is_arg), 0, 0, 1, 1},
42707   {&__pyx_n_s_is_array, __pyx_k_is_array, sizeof(__pyx_k_is_array), 0, 0, 1, 1},
42708   {&__pyx_n_s_is_builtin, __pyx_k_is_builtin, sizeof(__pyx_k_is_builtin), 0, 0, 1, 1},
42709   {&__pyx_n_s_is_builtin_type, __pyx_k_is_builtin_type, sizeof(__pyx_k_is_builtin_type), 0, 0, 1, 1},
42710   {&__pyx_n_s_is_complex, __pyx_k_is_complex, sizeof(__pyx_k_is_complex), 0, 0, 1, 1},
42711   {&__pyx_n_s_is_cpp_class, __pyx_k_is_cpp_class, sizeof(__pyx_k_is_cpp_class), 0, 0, 1, 1},
42712   {&__pyx_n_s_is_deletion, __pyx_k_is_deletion, sizeof(__pyx_k_is_deletion), 0, 0, 1, 1},
42713   {&__pyx_n_s_is_error, __pyx_k_is_error, sizeof(__pyx_k_is_error), 0, 0, 1, 1},
42714   {&__pyx_n_s_is_generator, __pyx_k_is_generator, sizeof(__pyx_k_is_generator), 0, 0, 1, 1},
42715   {&__pyx_n_s_is_local, __pyx_k_is_local, sizeof(__pyx_k_is_local), 0, 0, 1, 1},
42716   {&__pyx_n_s_is_name, __pyx_k_is_name, sizeof(__pyx_k_is_name), 0, 0, 1, 1},
42717   {&__pyx_n_s_is_pyclass_attr, __pyx_k_is_pyclass_attr, sizeof(__pyx_k_is_pyclass_attr), 0, 0, 1, 1},
42718   {&__pyx_n_s_is_pyobject, __pyx_k_is_pyobject, sizeof(__pyx_k_is_pyobject), 0, 0, 1, 1},
42719   {&__pyx_n_s_is_sequence_constructor, __pyx_k_is_sequence_constructor, sizeof(__pyx_k_is_sequence_constructor), 0, 0, 1, 1},
42720   {&__pyx_n_s_is_single, __pyx_k_is_single, sizeof(__pyx_k_is_single), 0, 0, 1, 1},
42721   {&__pyx_n_s_is_special, __pyx_k_is_special, sizeof(__pyx_k_is_special), 0, 0, 1, 1},
42722   {&__pyx_n_s_is_starred, __pyx_k_is_starred, sizeof(__pyx_k_is_starred), 0, 0, 1, 1},
42723   {&__pyx_n_s_is_statically_assigned, __pyx_k_is_statically_assigned, sizeof(__pyx_k_is_statically_assigned), 0, 0, 1, 1},
42724   {&__pyx_n_s_is_struct_or_union, __pyx_k_is_struct_or_union, sizeof(__pyx_k_is_struct_or_union), 0, 0, 1, 1},
42725   {&__pyx_n_s_is_terminator, __pyx_k_is_terminator, sizeof(__pyx_k_is_terminator), 0, 0, 1, 1},
42726   {&__pyx_n_s_is_tracked, __pyx_k_is_tracked, sizeof(__pyx_k_is_tracked), 0, 0, 1, 1},
42727   {&__pyx_n_s_is_unspecified, __pyx_k_is_unspecified, sizeof(__pyx_k_is_unspecified), 0, 0, 1, 1},
42728   {&__pyx_n_s_is_variable, __pyx_k_is_variable, sizeof(__pyx_k_is_variable), 0, 0, 1, 1},
42729   {&__pyx_n_s_istate, __pyx_k_istate, sizeof(__pyx_k_istate), 0, 0, 1, 1},
42730   {&__pyx_n_s_item, __pyx_k_item, sizeof(__pyx_k_item), 0, 0, 1, 1},
42731   {&__pyx_n_s_items, __pyx_k_items, sizeof(__pyx_k_items), 0, 0, 1, 1},
42732   {&__pyx_n_s_iterator, __pyx_k_iterator, sizeof(__pyx_k_iterator), 0, 0, 1, 1},
42733   {&__pyx_n_s_iterator_type, __pyx_k_iterator_type, sizeof(__pyx_k_iterator_type), 0, 0, 1, 1},
42734   {&__pyx_n_s_join, __pyx_k_join, sizeof(__pyx_k_join), 0, 0, 1, 1},
42735   {&__pyx_n_s_l, __pyx_k_l, sizeof(__pyx_k_l), 0, 0, 1, 1},
42736   {&__pyx_n_s_label, __pyx_k_label, sizeof(__pyx_k_label), 0, 0, 1, 1},
42737   {&__pyx_n_s_lhs, __pyx_k_lhs, sizeof(__pyx_k_lhs), 0, 0, 1, 1},
42738   {&__pyx_n_s_lhs_list, __pyx_k_lhs_list, sizeof(__pyx_k_lhs_list), 0, 0, 1, 1},
42739   {&__pyx_n_s_lines, __pyx_k_lines, sizeof(__pyx_k_lines), 0, 0, 1, 1},
42740   {&__pyx_n_s_local_scope, __pyx_k_local_scope, sizeof(__pyx_k_local_scope), 0, 0, 1, 1},
42741   {&__pyx_kp_s_local_variable_s_might_be_refere, __pyx_k_local_variable_s_might_be_refere, sizeof(__pyx_k_local_variable_s_might_be_refere), 0, 0, 1, 0},
42742   {&__pyx_kp_s_local_variable_s_referenced_befo, __pyx_k_local_variable_s_referenced_befo, sizeof(__pyx_k_local_variable_s_referenced_befo), 0, 0, 1, 0},
42743   {&__pyx_n_s_lookup, __pyx_k_lookup, sizeof(__pyx_k_lookup), 0, 0, 1, 1},
42744   {&__pyx_n_s_loop, __pyx_k_loop, sizeof(__pyx_k_loop), 0, 0, 1, 1},
42745   {&__pyx_n_s_loop_block, __pyx_k_loop_block, sizeof(__pyx_k_loop_block), 0, 0, 1, 1},
42746   {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
42747   {&__pyx_n_s_manager, __pyx_k_manager, sizeof(__pyx_k_manager), 0, 0, 1, 1},
42748   {&__pyx_n_s_map_one, __pyx_k_map_one, sizeof(__pyx_k_map_one), 0, 0, 1, 1},
42749   {&__pyx_n_s_mark_argument, __pyx_k_mark_argument, sizeof(__pyx_k_mark_argument), 0, 0, 1, 1},
42750   {&__pyx_n_s_mark_assignment, __pyx_k_mark_assignment, sizeof(__pyx_k_mark_assignment), 0, 0, 1, 1},
42751   {&__pyx_n_s_mark_deletion, __pyx_k_mark_deletion, sizeof(__pyx_k_mark_deletion), 0, 0, 1, 1},
42752   {&__pyx_n_s_mark_forloop_target, __pyx_k_mark_forloop_target, sizeof(__pyx_k_mark_forloop_target), 0, 0, 1, 1},
42753   {&__pyx_n_s_mark_position, __pyx_k_mark_position, sizeof(__pyx_k_mark_position), 0, 0, 1, 1},
42754   {&__pyx_n_s_mark_reference, __pyx_k_mark_reference, sizeof(__pyx_k_mark_reference), 0, 0, 1, 1},
42755   {&__pyx_n_s_mask, __pyx_k_mask, sizeof(__pyx_k_mask), 0, 0, 1, 1},
42756   {&__pyx_n_s_max, __pyx_k_max, sizeof(__pyx_k_max), 0, 0, 1, 1},
42757   {&__pyx_n_s_may_be_none, __pyx_k_may_be_none, sizeof(__pyx_k_may_be_none), 0, 0, 1, 1},
42758   {&__pyx_n_s_may_be_none_2, __pyx_k_may_be_none_2, sizeof(__pyx_k_may_be_none_2), 0, 0, 1, 1},
42759   {&__pyx_n_s_message, __pyx_k_message, sizeof(__pyx_k_message), 0, 0, 1, 1},
42760   {&__pyx_n_s_metaclass, __pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 0, 1, 1},
42761   {&__pyx_n_s_metaclass_2, __pyx_k_metaclass_2, sizeof(__pyx_k_metaclass_2), 0, 0, 1, 1},
42762   {&__pyx_n_s_min, __pyx_k_min, sizeof(__pyx_k_min), 0, 0, 1, 1},
42763   {&__pyx_n_s_mkw, __pyx_k_mkw, sizeof(__pyx_k_mkw), 0, 0, 1, 1},
42764   {&__pyx_n_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 1},
42765   {&__pyx_n_s_module_2, __pyx_k_module_2, sizeof(__pyx_k_module_2), 0, 0, 1, 1},
42766   {&__pyx_kp_s_n, __pyx_k_n, sizeof(__pyx_k_n), 0, 0, 1, 0},
42767   {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},
42768   {&__pyx_n_s_name_2, __pyx_k_name_2, sizeof(__pyx_k_name_2), 0, 0, 1, 1},
42769   {&__pyx_n_s_new, __pyx_k_new, sizeof(__pyx_k_new), 0, 0, 1, 1},
42770   {&__pyx_n_s_newblock, __pyx_k_newblock, sizeof(__pyx_k_newblock), 0, 0, 1, 1},
42771   {&__pyx_n_s_next_block, __pyx_k_next_block, sizeof(__pyx_k_next_block), 0, 0, 1, 1},
42772   {&__pyx_n_s_next_handler, __pyx_k_next_handler, sizeof(__pyx_k_next_handler), 0, 0, 1, 1},
42773   {&__pyx_n_s_nextblock, __pyx_k_nextblock, sizeof(__pyx_k_nextblock), 0, 0, 1, 1},
42774   {&__pyx_n_s_nextid, __pyx_k_nextid, sizeof(__pyx_k_nextid), 0, 0, 1, 1},
42775   {&__pyx_n_s_node, __pyx_k_node, sizeof(__pyx_k_node), 0, 0, 1, 1},
42776   {&__pyx_kp_s_node_shape_box, __pyx_k_node_shape_box, sizeof(__pyx_k_node_shape_box), 0, 0, 1, 0},
42777   {&__pyx_n_s_nodeid, __pyx_k_nodeid, sizeof(__pyx_k_nodeid), 0, 0, 1, 1},
42778   {&__pyx_n_s_normalize, __pyx_k_normalize, sizeof(__pyx_k_normalize), 0, 0, 1, 1},
42779   {&__pyx_n_s_not_none, __pyx_k_not_none, sizeof(__pyx_k_not_none), 0, 0, 1, 1},
42780   {&__pyx_n_s_object, __pyx_k_object, sizeof(__pyx_k_object), 0, 0, 1, 1},
42781   {&__pyx_n_s_one, __pyx_k_one, sizeof(__pyx_k_one), 0, 0, 1, 1},
42782   {&__pyx_n_s_open, __pyx_k_open, sizeof(__pyx_k_open), 0, 0, 1, 1},
42783   {&__pyx_n_s_operand, __pyx_k_operand, sizeof(__pyx_k_operand), 0, 0, 1, 1},
42784   {&__pyx_n_s_outer_exception_handlers, __pyx_k_outer_exception_handlers, sizeof(__pyx_k_outer_exception_handlers), 0, 0, 1, 1},
42785   {&__pyx_n_s_parent, __pyx_k_parent, sizeof(__pyx_k_parent), 0, 0, 1, 1},
42786   {&__pyx_n_s_parents, __pyx_k_parents, sizeof(__pyx_k_parents), 0, 0, 1, 1},
42787   {&__pyx_n_s_pattern, __pyx_k_pattern, sizeof(__pyx_k_pattern), 0, 0, 1, 1},
42788   {&__pyx_n_s_pickle, __pyx_k_pickle, sizeof(__pyx_k_pickle), 0, 0, 1, 1},
42789   {&__pyx_n_s_pid, __pyx_k_pid, sizeof(__pyx_k_pid), 0, 0, 1, 1},
42790   {&__pyx_n_s_pop, __pyx_k_pop, sizeof(__pyx_k_pop), 0, 0, 1, 1},
42791   {&__pyx_n_s_pos, __pyx_k_pos, sizeof(__pyx_k_pos), 0, 0, 1, 1},
42792   {&__pyx_n_s_positions, __pyx_k_positions, sizeof(__pyx_k_positions), 0, 0, 1, 1},
42793   {&__pyx_n_s_prepare, __pyx_k_prepare, sizeof(__pyx_k_prepare), 0, 0, 1, 1},
42794   {&__pyx_n_s_private_node, __pyx_k_private_node, sizeof(__pyx_k_private_node), 0, 0, 1, 1},
42795   {&__pyx_n_s_py_object_type, __pyx_k_py_object_type, sizeof(__pyx_k_py_object_type), 0, 0, 1, 1},
42796   {&__pyx_n_s_pyx_PickleError, __pyx_k_pyx_PickleError, sizeof(__pyx_k_pyx_PickleError), 0, 0, 1, 1},
42797   {&__pyx_n_s_pyx_checksum, __pyx_k_pyx_checksum, sizeof(__pyx_k_pyx_checksum), 0, 0, 1, 1},
42798   {&__pyx_n_s_pyx_result, __pyx_k_pyx_result, sizeof(__pyx_k_pyx_result), 0, 0, 1, 1},
42799   {&__pyx_n_s_pyx_state, __pyx_k_pyx_state, sizeof(__pyx_k_pyx_state), 0, 0, 1, 1},
42800   {&__pyx_n_s_pyx_type, __pyx_k_pyx_type, sizeof(__pyx_k_pyx_type), 0, 0, 1, 1},
42801   {&__pyx_n_s_pyx_unpickle_AssignmentCollect, __pyx_k_pyx_unpickle_AssignmentCollect, sizeof(__pyx_k_pyx_unpickle_AssignmentCollect), 0, 0, 1, 1},
42802   {&__pyx_n_s_pyx_unpickle_AssignmentList, __pyx_k_pyx_unpickle_AssignmentList, sizeof(__pyx_k_pyx_unpickle_AssignmentList), 0, 0, 1, 1},
42803   {&__pyx_n_s_pyx_unpickle_ControlBlock, __pyx_k_pyx_unpickle_ControlBlock, sizeof(__pyx_k_pyx_unpickle_ControlBlock), 0, 0, 1, 1},
42804   {&__pyx_n_s_pyx_unpickle_ControlFlow, __pyx_k_pyx_unpickle_ControlFlow, sizeof(__pyx_k_pyx_unpickle_ControlFlow), 0, 0, 1, 1},
42805   {&__pyx_n_s_pyx_unpickle_ControlFlowAnalys, __pyx_k_pyx_unpickle_ControlFlowAnalys, sizeof(__pyx_k_pyx_unpickle_ControlFlowAnalys), 0, 0, 1, 1},
42806   {&__pyx_n_s_pyx_unpickle_ExitBlock, __pyx_k_pyx_unpickle_ExitBlock, sizeof(__pyx_k_pyx_unpickle_ExitBlock), 0, 0, 1, 1},
42807   {&__pyx_n_s_pyx_unpickle_MessageCollection, __pyx_k_pyx_unpickle_MessageCollection, sizeof(__pyx_k_pyx_unpickle_MessageCollection), 0, 0, 1, 1},
42808   {&__pyx_n_s_pyx_unpickle_NameAssignment, __pyx_k_pyx_unpickle_NameAssignment, sizeof(__pyx_k_pyx_unpickle_NameAssignment), 0, 0, 1, 1},
42809   {&__pyx_n_s_pyx_unpickle_Uninitialized, __pyx_k_pyx_unpickle_Uninitialized, sizeof(__pyx_k_pyx_unpickle_Uninitialized), 0, 0, 1, 1},
42810   {&__pyx_n_s_pyx_unpickle_Unknown, __pyx_k_pyx_unpickle_Unknown, sizeof(__pyx_k_pyx_unpickle_Unknown), 0, 0, 1, 1},
42811   {&__pyx_n_s_pyx_vtable, __pyx_k_pyx_vtable, sizeof(__pyx_k_pyx_vtable), 0, 0, 1, 1},
42812   {&__pyx_n_s_qualname, __pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 0, 1, 1},
42813   {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1},
42814   {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1},
42815   {&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1},
42816   {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1},
42817   {&__pyx_n_s_reduction, __pyx_k_reduction, sizeof(__pyx_k_reduction), 0, 0, 1, 1},
42818   {&__pyx_n_s_reductions, __pyx_k_reductions, sizeof(__pyx_k_reductions), 0, 0, 1, 1},
42819   {&__pyx_n_s_remove, __pyx_k_remove, sizeof(__pyx_k_remove), 0, 0, 1, 1},
42820   {&__pyx_n_s_render, __pyx_k_render, sizeof(__pyx_k_render), 0, 0, 1, 1},
42821   {&__pyx_n_s_replace, __pyx_k_replace, sizeof(__pyx_k_replace), 0, 0, 1, 1},
42822   {&__pyx_n_s_report, __pyx_k_report, sizeof(__pyx_k_report), 0, 0, 1, 1},
42823   {&__pyx_n_s_repr, __pyx_k_repr, sizeof(__pyx_k_repr), 0, 0, 1, 1},
42824   {&__pyx_n_s_reversed, __pyx_k_reversed, sizeof(__pyx_k_reversed), 0, 0, 1, 1},
42825   {&__pyx_n_s_rhs, __pyx_k_rhs, sizeof(__pyx_k_rhs), 0, 0, 1, 1},
42826   {&__pyx_kp_s_s_entry_r, __pyx_k_s_entry_r, sizeof(__pyx_k_s_entry_r), 0, 0, 1, 0},
42827   {&__pyx_kp_s_s_label_s, __pyx_k_s_label_s, sizeof(__pyx_k_s_label_s), 0, 0, 1, 0},
42828   {&__pyx_kp_s_s_reference_s, __pyx_k_s_reference_s, sizeof(__pyx_k_s_reference_s), 0, 0, 1, 0},
42829   {&__pyx_kp_s_s_s, __pyx_k_s_s, sizeof(__pyx_k_s_s), 0, 0, 1, 0},
42830   {&__pyx_kp_s_s_s_s, __pyx_k_s_s_s, sizeof(__pyx_k_s_s_s), 0, 0, 1, 0},
42831   {&__pyx_n_s_scope, __pyx_k_scope, sizeof(__pyx_k_scope), 0, 0, 1, 1},
42832   {&__pyx_n_s_self, __pyx_k_self, sizeof(__pyx_k_self), 0, 0, 1, 1},
42833   {&__pyx_n_s_sequence, __pyx_k_sequence, sizeof(__pyx_k_sequence), 0, 0, 1, 1},
42834   {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1},
42835   {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1},
42836   {&__pyx_n_s_sources, __pyx_k_sources, sizeof(__pyx_k_sources), 0, 0, 1, 1},
42837   {&__pyx_n_s_srcdescr, __pyx_k_srcdescr, sizeof(__pyx_k_srcdescr), 0, 0, 1, 1},
42838   {&__pyx_n_s_star_arg, __pyx_k_star_arg, sizeof(__pyx_k_star_arg), 0, 0, 1, 1},
42839   {&__pyx_n_s_starstar_arg, __pyx_k_starstar_arg, sizeof(__pyx_k_starstar_arg), 0, 0, 1, 1},
42840   {&__pyx_n_s_start, __pyx_k_start, sizeof(__pyx_k_start), 0, 0, 1, 1},
42841   {&__pyx_n_s_startswith, __pyx_k_startswith, sizeof(__pyx_k_startswith), 0, 0, 1, 1},
42842   {&__pyx_n_s_stat, __pyx_k_stat, sizeof(__pyx_k_stat), 0, 0, 1, 1},
42843   {&__pyx_n_s_state, __pyx_k_state, sizeof(__pyx_k_state), 0, 0, 1, 1},
42844   {&__pyx_n_s_stats, __pyx_k_stats, sizeof(__pyx_k_stats), 0, 0, 1, 1},
42845   {&__pyx_n_s_step, __pyx_k_step, sizeof(__pyx_k_step), 0, 0, 1, 1},
42846   {&__pyx_n_s_stop, __pyx_k_stop, sizeof(__pyx_k_stop), 0, 0, 1, 1},
42847   {&__pyx_kp_s_stringsource, __pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 0, 1, 0},
42848   {&__pyx_n_s_strip, __pyx_k_strip, sizeof(__pyx_k_strip), 0, 0, 1, 1},
42849   {&__pyx_kp_s_subgraph_s, __pyx_k_subgraph_s, sizeof(__pyx_k_subgraph_s), 0, 0, 1, 0},
42850   {&__pyx_n_s_super, __pyx_k_super, sizeof(__pyx_k_super), 0, 0, 1, 1},
42851   {&__pyx_n_s_target, __pyx_k_target, sizeof(__pyx_k_target), 0, 0, 1, 1},
42852   {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
42853   {&__pyx_n_s_text, __pyx_k_text, sizeof(__pyx_k_text), 0, 0, 1, 1},
42854   {&__pyx_n_s_tuple_type, __pyx_k_tuple_type, sizeof(__pyx_k_tuple_type), 0, 0, 1, 1},
42855   {&__pyx_n_s_type, __pyx_k_type, sizeof(__pyx_k_type), 0, 0, 1, 1},
42856   {&__pyx_n_s_type_dependencies, __pyx_k_type_dependencies, sizeof(__pyx_k_type_dependencies), 0, 0, 1, 1},
42857   {&__pyx_n_s_unspecified_type, __pyx_k_unspecified_type, sizeof(__pyx_k_unspecified_type), 0, 0, 1, 1},
42858   {&__pyx_n_s_unused, __pyx_k_unused, sizeof(__pyx_k_unused), 0, 0, 1, 1},
42859   {&__pyx_n_s_update, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1},
42860   {&__pyx_n_s_use_setstate, __pyx_k_use_setstate, sizeof(__pyx_k_use_setstate), 0, 0, 1, 1},
42861   {&__pyx_n_s_used, __pyx_k_used, sizeof(__pyx_k_used), 0, 0, 1, 1},
42862   {&__pyx_n_s_value, __pyx_k_value, sizeof(__pyx_k_value), 0, 0, 1, 1},
42863   {&__pyx_n_s_values, __pyx_k_values, sizeof(__pyx_k_values), 0, 0, 1, 1},
42864   {&__pyx_n_s_visit_AmpersandNode, __pyx_k_visit_AmpersandNode, sizeof(__pyx_k_visit_AmpersandNode), 0, 0, 1, 1},
42865   {&__pyx_n_s_visit_AssignmentNode, __pyx_k_visit_AssignmentNode, sizeof(__pyx_k_visit_AssignmentNode), 0, 0, 1, 1},
42866   {&__pyx_n_s_visit_AsyncForStatNode, __pyx_k_visit_AsyncForStatNode, sizeof(__pyx_k_visit_AsyncForStatNode), 0, 0, 1, 1},
42867   {&__pyx_n_s_visit_BreakStatNode, __pyx_k_visit_BreakStatNode, sizeof(__pyx_k_visit_BreakStatNode), 0, 0, 1, 1},
42868   {&__pyx_n_s_visit_CArgDeclNode, __pyx_k_visit_CArgDeclNode, sizeof(__pyx_k_visit_CArgDeclNode), 0, 0, 1, 1},
42869   {&__pyx_n_s_visit_CTypeDefNode, __pyx_k_visit_CTypeDefNode, sizeof(__pyx_k_visit_CTypeDefNode), 0, 0, 1, 1},
42870   {&__pyx_n_s_visit_CascadedAssignmentNode, __pyx_k_visit_CascadedAssignmentNode, sizeof(__pyx_k_visit_CascadedAssignmentNode), 0, 0, 1, 1},
42871   {&__pyx_n_s_visit_ComprehensionNode, __pyx_k_visit_ComprehensionNode, sizeof(__pyx_k_visit_ComprehensionNode), 0, 0, 1, 1},
42872   {&__pyx_n_s_visit_ContinueStatNode, __pyx_k_visit_ContinueStatNode, sizeof(__pyx_k_visit_ContinueStatNode), 0, 0, 1, 1},
42873   {&__pyx_n_s_visit_DefNode, __pyx_k_visit_DefNode, sizeof(__pyx_k_visit_DefNode), 0, 0, 1, 1},
42874   {&__pyx_n_s_visit_DelStatNode, __pyx_k_visit_DelStatNode, sizeof(__pyx_k_visit_DelStatNode), 0, 0, 1, 1},
42875   {&__pyx_n_s_visit_ForFromStatNode, __pyx_k_visit_ForFromStatNode, sizeof(__pyx_k_visit_ForFromStatNode), 0, 0, 1, 1},
42876   {&__pyx_n_s_visit_ForInStatNode, __pyx_k_visit_ForInStatNode, sizeof(__pyx_k_visit_ForInStatNode), 0, 0, 1, 1},
42877   {&__pyx_n_s_visit_FromImportStatNode, __pyx_k_visit_FromImportStatNode, sizeof(__pyx_k_visit_FromImportStatNode), 0, 0, 1, 1},
42878   {&__pyx_n_s_visit_FuncDefNode, __pyx_k_visit_FuncDefNode, sizeof(__pyx_k_visit_FuncDefNode), 0, 0, 1, 1},
42879   {&__pyx_n_s_visit_GeneratorBodyDefNode, __pyx_k_visit_GeneratorBodyDefNode, sizeof(__pyx_k_visit_GeneratorBodyDefNode), 0, 0, 1, 1},
42880   {&__pyx_n_s_visit_IfStatNode, __pyx_k_visit_IfStatNode, sizeof(__pyx_k_visit_IfStatNode), 0, 0, 1, 1},
42881   {&__pyx_n_s_visit_InPlaceAssignmentNode, __pyx_k_visit_InPlaceAssignmentNode, sizeof(__pyx_k_visit_InPlaceAssignmentNode), 0, 0, 1, 1},
42882   {&__pyx_n_s_visit_LoopNode, __pyx_k_visit_LoopNode, sizeof(__pyx_k_visit_LoopNode), 0, 0, 1, 1},
42883   {&__pyx_n_s_visit_ModuleNode, __pyx_k_visit_ModuleNode, sizeof(__pyx_k_visit_ModuleNode), 0, 0, 1, 1},
42884   {&__pyx_n_s_visit_NameNode, __pyx_k_visit_NameNode, sizeof(__pyx_k_visit_NameNode), 0, 0, 1, 1},
42885   {&__pyx_n_s_visit_Node, __pyx_k_visit_Node, sizeof(__pyx_k_visit_Node), 0, 0, 1, 1},
42886   {&__pyx_n_s_visit_ParallelAssignmentNode, __pyx_k_visit_ParallelAssignmentNode, sizeof(__pyx_k_visit_ParallelAssignmentNode), 0, 0, 1, 1},
42887   {&__pyx_n_s_visit_ParallelRangeNode, __pyx_k_visit_ParallelRangeNode, sizeof(__pyx_k_visit_ParallelRangeNode), 0, 0, 1, 1},
42888   {&__pyx_n_s_visit_ParallelWithBlockNode, __pyx_k_visit_ParallelWithBlockNode, sizeof(__pyx_k_visit_ParallelWithBlockNode), 0, 0, 1, 1},
42889   {&__pyx_n_s_visit_PyClassDefNode, __pyx_k_visit_PyClassDefNode, sizeof(__pyx_k_visit_PyClassDefNode), 0, 0, 1, 1},
42890   {&__pyx_n_s_visit_RaiseStatNode, __pyx_k_visit_RaiseStatNode, sizeof(__pyx_k_visit_RaiseStatNode), 0, 0, 1, 1},
42891   {&__pyx_n_s_visit_ReraiseStatNode, __pyx_k_visit_ReraiseStatNode, sizeof(__pyx_k_visit_ReraiseStatNode), 0, 0, 1, 1},
42892   {&__pyx_n_s_visit_ReturnStatNode, __pyx_k_visit_ReturnStatNode, sizeof(__pyx_k_visit_ReturnStatNode), 0, 0, 1, 1},
42893   {&__pyx_n_s_visit_ScopedExprNode, __pyx_k_visit_ScopedExprNode, sizeof(__pyx_k_visit_ScopedExprNode), 0, 0, 1, 1},
42894   {&__pyx_n_s_visit_SingleAssignmentNode, __pyx_k_visit_SingleAssignmentNode, sizeof(__pyx_k_visit_SingleAssignmentNode), 0, 0, 1, 1},
42895   {&__pyx_n_s_visit_SizeofVarNode, __pyx_k_visit_SizeofVarNode, sizeof(__pyx_k_visit_SizeofVarNode), 0, 0, 1, 1},
42896   {&__pyx_n_s_visit_StatListNode, __pyx_k_visit_StatListNode, sizeof(__pyx_k_visit_StatListNode), 0, 0, 1, 1},
42897   {&__pyx_n_s_visit_TryExceptStatNode, __pyx_k_visit_TryExceptStatNode, sizeof(__pyx_k_visit_TryExceptStatNode), 0, 0, 1, 1},
42898   {&__pyx_n_s_visit_TryFinallyStatNode, __pyx_k_visit_TryFinallyStatNode, sizeof(__pyx_k_visit_TryFinallyStatNode), 0, 0, 1, 1},
42899   {&__pyx_n_s_visit_TypeidNode, __pyx_k_visit_TypeidNode, sizeof(__pyx_k_visit_TypeidNode), 0, 0, 1, 1},
42900   {&__pyx_n_s_visit_WhileStatNode, __pyx_k_visit_WhileStatNode, sizeof(__pyx_k_visit_WhileStatNode), 0, 0, 1, 1},
42901   {&__pyx_n_s_visit_WithStatNode, __pyx_k_visit_WithStatNode, sizeof(__pyx_k_visit_WithStatNode), 0, 0, 1, 1},
42902   {&__pyx_n_s_visit_WithTargetAssignmentStatNo, __pyx_k_visit_WithTargetAssignmentStatNo, sizeof(__pyx_k_visit_WithTargetAssignmentStatNo), 0, 0, 1, 1},
42903   {&__pyx_kp_s_warn_maybe_uninitialized, __pyx_k_warn_maybe_uninitialized, sizeof(__pyx_k_warn_maybe_uninitialized), 0, 0, 1, 0},
42904   {&__pyx_kp_s_warn_unused, __pyx_k_warn_unused, sizeof(__pyx_k_warn_unused), 0, 0, 1, 0},
42905   {&__pyx_kp_s_warn_unused_arg, __pyx_k_warn_unused_arg, sizeof(__pyx_k_warn_unused_arg), 0, 0, 1, 0},
42906   {&__pyx_kp_s_warn_unused_result, __pyx_k_warn_unused_result, sizeof(__pyx_k_warn_unused_result), 0, 0, 1, 0},
42907   {&__pyx_n_s_warning, __pyx_k_warning, sizeof(__pyx_k_warning), 0, 0, 1, 1},
42908   {&__pyx_n_s_with_node, __pyx_k_with_node, sizeof(__pyx_k_with_node), 0, 0, 1, 1},
42909   {&__pyx_n_s_write, __pyx_k_write, sizeof(__pyx_k_write), 0, 0, 1, 1},
42910   {&__pyx_n_s_wt, __pyx_k_wt, sizeof(__pyx_k_wt), 0, 0, 1, 1},
42911   {&__pyx_n_s_xrange, __pyx_k_xrange, sizeof(__pyx_k_xrange), 0, 0, 1, 1},
42912   {0, 0, 0, 0, 0, 0, 0}
42913 };
__Pyx_InitCachedBuiltins(void)42914 static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
42915   __pyx_builtin_object = __Pyx_GetBuiltinName(__pyx_n_s_object); if (!__pyx_builtin_object) __PYX_ERR(0, 294, __pyx_L1_error)
42916   __pyx_builtin_super = __Pyx_GetBuiltinName(__pyx_n_s_super); if (!__pyx_builtin_super) __PYX_ERR(0, 24, __pyx_L1_error)
42917   __pyx_builtin_min = __Pyx_GetBuiltinName(__pyx_n_s_min); if (!__pyx_builtin_min) __PYX_ERR(0, 455, __pyx_L1_error)
42918   __pyx_builtin_max = __Pyx_GetBuiltinName(__pyx_n_s_max); if (!__pyx_builtin_max) __PYX_ERR(0, 456, __pyx_L1_error)
42919   __pyx_builtin_open = __Pyx_GetBuiltinName(__pyx_n_s_open); if (!__pyx_builtin_open) __PYX_ERR(0, 695, __pyx_L1_error)
42920   __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_n_s_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(0, 782, __pyx_L1_error)
42921   return 0;
42922   __pyx_L1_error:;
42923   return -1;
42924 }
42925 
__Pyx_InitCachedConstants(void)42926 static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
42927   __Pyx_RefNannyDeclarations
42928   __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
42929 
42930   /* "Cython/Compiler/FlowControl.py":171
42931  *         """Mark position, will be used to draw graph nodes."""
42932  *         if self.block:
42933  *             self.block.positions.add(node.pos[:2])             # <<<<<<<<<<<<<<
42934  *
42935  *     def mark_assignment(self, lhs, rhs, entry):
42936  */
42937   __pyx_slice_ = PySlice_New(Py_None, __pyx_int_2, Py_None); if (unlikely(!__pyx_slice_)) __PYX_ERR(0, 171, __pyx_L1_error)
42938   __Pyx_GOTREF(__pyx_slice_);
42939   __Pyx_GIVEREF(__pyx_slice_);
42940 
42941   /* "Cython/Compiler/FlowControl.py":472
42942  *
42943  *     def escape(self, text):
42944  *         return text.replace('"', '\\"').replace('\n', '\\n')             # <<<<<<<<<<<<<<
42945  *
42946  *
42947  */
42948   __pyx_tuple__6 = PyTuple_Pack(2, __pyx_kp_s__4, __pyx_kp_s__5); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(0, 472, __pyx_L1_error)
42949   __Pyx_GOTREF(__pyx_tuple__6);
42950   __Pyx_GIVEREF(__pyx_tuple__6);
42951   __pyx_tuple__8 = PyTuple_Pack(2, __pyx_kp_s__7, __pyx_kp_s_n); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 472, __pyx_L1_error)
42952   __Pyx_GOTREF(__pyx_tuple__8);
42953   __Pyx_GIVEREF(__pyx_tuple__8);
42954 
42955   /* "Cython/Compiler/FlowControl.py":706
42956  *             if arg.default:
42957  *                 self.visitchildren(arg)
42958  *         self.visitchildren(node, ('decorators',))             # <<<<<<<<<<<<<<
42959  *         self.env_stack.append(self.env)
42960  *         self.env = node.local_scope
42961  */
42962   __pyx_tuple__11 = PyTuple_Pack(1, __pyx_n_s_decorators); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(0, 706, __pyx_L1_error)
42963   __Pyx_GOTREF(__pyx_tuple__11);
42964   __Pyx_GIVEREF(__pyx_tuple__11);
42965 
42966   /* "Cython/Compiler/FlowControl.py":1235
42967  *         self.visitchildren(node)
42968  *
42969  *         outer_exception_handlers = iter(self.flow.exceptions[::-1])             # <<<<<<<<<<<<<<
42970  *         for handler in outer_exception_handlers:
42971  *             if handler.finally_enter:
42972  */
42973   __pyx_slice__14 = PySlice_New(Py_None, Py_None, __pyx_int_neg_1); if (unlikely(!__pyx_slice__14)) __PYX_ERR(0, 1235, __pyx_L1_error)
42974   __Pyx_GOTREF(__pyx_slice__14);
42975   __Pyx_GIVEREF(__pyx_slice__14);
42976 
42977   /* "Cython/Compiler/FlowControl.py":1308
42978  *
42979  *     def visit_PyClassDefNode(self, node):
42980  *         self.visitchildren(node, ('dict', 'metaclass',             # <<<<<<<<<<<<<<
42981  *                                   'mkw', 'bases', 'class_result'))
42982  *         self.flow.mark_assignment(node.target, node.classobj,
42983  */
42984   __pyx_tuple__15 = PyTuple_Pack(5, __pyx_n_s_dict_2, __pyx_n_s_metaclass, __pyx_n_s_mkw, __pyx_n_s_bases, __pyx_n_s_class_result); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(0, 1308, __pyx_L1_error)
42985   __Pyx_GOTREF(__pyx_tuple__15);
42986   __Pyx_GIVEREF(__pyx_tuple__15);
42987 
42988   /* "Cython/Compiler/FlowControl.py":1315
42989  *         self.env = node.scope
42990  *         self.flow.nextblock()
42991  *         self.visitchildren(node, ('body',))             # <<<<<<<<<<<<<<
42992  *         self.flow.nextblock()
42993  *         self.env = self.env_stack.pop()
42994  */
42995   __pyx_tuple__16 = PyTuple_Pack(1, __pyx_n_s_body); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(0, 1315, __pyx_L1_error)
42996   __Pyx_GOTREF(__pyx_tuple__16);
42997   __Pyx_GIVEREF(__pyx_tuple__16);
42998 
42999   /* "Cython/Compiler/FlowControl.py":23
43000  * class TypedExprNode(ExprNodes.ExprNode):
43001  *     # Used for declaring assignments of a specified type without a known entry.
43002  *     def __init__(self, type, may_be_none=None, pos=None):             # <<<<<<<<<<<<<<
43003  *         super(TypedExprNode, self).__init__(pos)
43004  *         self.type = type
43005  */
43006   __pyx_tuple__17 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_type, __pyx_n_s_may_be_none, __pyx_n_s_pos); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(0, 23, __pyx_L1_error)
43007   __Pyx_GOTREF(__pyx_tuple__17);
43008   __Pyx_GIVEREF(__pyx_tuple__17);
43009   __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_init, 23, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) __PYX_ERR(0, 23, __pyx_L1_error)
43010   __pyx_tuple__19 = PyTuple_Pack(2, ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(0, 23, __pyx_L1_error)
43011   __Pyx_GOTREF(__pyx_tuple__19);
43012   __Pyx_GIVEREF(__pyx_tuple__19);
43013 
43014   /* "Cython/Compiler/FlowControl.py":28
43015  *         self._may_be_none = may_be_none
43016  *
43017  *     def may_be_none(self):             # <<<<<<<<<<<<<<
43018  *         return self._may_be_none != False
43019  *
43020  */
43021   __pyx_tuple__20 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(0, 28, __pyx_L1_error)
43022   __Pyx_GOTREF(__pyx_tuple__20);
43023   __Pyx_GIVEREF(__pyx_tuple__20);
43024   __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_may_be_none, 28, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) __PYX_ERR(0, 28, __pyx_L1_error)
43025 
43026   /* "Cython/Compiler/FlowControl.py":74
43027  *         self.i_state = 0
43028  *
43029  *     def empty(self):             # <<<<<<<<<<<<<<
43030  *         return (not self.stats and not self.positions)
43031  *
43032  */
43033   __pyx_tuple__22 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(0, 74, __pyx_L1_error)
43034   __Pyx_GOTREF(__pyx_tuple__22);
43035   __Pyx_GIVEREF(__pyx_tuple__22);
43036   __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_empty, 74, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) __PYX_ERR(0, 74, __pyx_L1_error)
43037 
43038   /* "Cython/Compiler/FlowControl.py":77
43039  *         return (not self.stats and not self.positions)
43040  *
43041  *     def detach(self):             # <<<<<<<<<<<<<<
43042  *         """Detach block from parents and children."""
43043  *         for child in self.children:
43044  */
43045   __pyx_tuple__24 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(0, 77, __pyx_L1_error)
43046   __Pyx_GOTREF(__pyx_tuple__24);
43047   __Pyx_GIVEREF(__pyx_tuple__24);
43048   __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_detach, 77, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) __PYX_ERR(0, 77, __pyx_L1_error)
43049 
43050   /* "Cython/Compiler/FlowControl.py":86
43051  *         self.children.clear()
43052  *
43053  *     def add_child(self, block):             # <<<<<<<<<<<<<<
43054  *         self.children.add(block)
43055  *         block.parents.add(self)
43056  */
43057   __pyx_tuple__26 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_block); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(0, 86, __pyx_L1_error)
43058   __Pyx_GOTREF(__pyx_tuple__26);
43059   __Pyx_GIVEREF(__pyx_tuple__26);
43060   __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_add_child, 86, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) __PYX_ERR(0, 86, __pyx_L1_error)
43061 
43062   /* "(tree fragment)":1
43063  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
43064  *     cdef tuple state
43065  *     cdef object _dict
43066  */
43067   __pyx_tuple__28 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_state, __pyx_n_s_dict_3, __pyx_n_s_use_setstate); if (unlikely(!__pyx_tuple__28)) __PYX_ERR(2, 1, __pyx_L1_error)
43068   __Pyx_GOTREF(__pyx_tuple__28);
43069   __Pyx_GIVEREF(__pyx_tuple__28);
43070   __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) __PYX_ERR(2, 1, __pyx_L1_error)
43071 
43072   /* "(tree fragment)":16
43073  *     else:
43074  *         return __pyx_unpickle_ControlBlock, (type(self), 0xf2b1408, state)
43075  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
43076  *     __pyx_unpickle_ControlBlock__set_state(self, __pyx_state)
43077  */
43078   __pyx_tuple__30 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__30)) __PYX_ERR(2, 16, __pyx_L1_error)
43079   __Pyx_GOTREF(__pyx_tuple__30);
43080   __Pyx_GIVEREF(__pyx_tuple__30);
43081   __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) __PYX_ERR(2, 16, __pyx_L1_error)
43082 
43083   /* "Cython/Compiler/FlowControl.py":94
43084  *     """Non-empty exit point block."""
43085  *
43086  *     def empty(self):             # <<<<<<<<<<<<<<
43087  *         return False
43088  *
43089  */
43090   __pyx_tuple__32 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(0, 94, __pyx_L1_error)
43091   __Pyx_GOTREF(__pyx_tuple__32);
43092   __Pyx_GIVEREF(__pyx_tuple__32);
43093   __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_empty, 94, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) __PYX_ERR(0, 94, __pyx_L1_error)
43094 
43095   /* "(tree fragment)":1
43096  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
43097  *     cdef tuple state
43098  *     cdef object _dict
43099  */
43100   __pyx_tuple__34 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_state, __pyx_n_s_dict_3, __pyx_n_s_use_setstate); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(2, 1, __pyx_L1_error)
43101   __Pyx_GOTREF(__pyx_tuple__34);
43102   __Pyx_GIVEREF(__pyx_tuple__34);
43103   __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) __PYX_ERR(2, 1, __pyx_L1_error)
43104 
43105   /* "(tree fragment)":16
43106  *     else:
43107  *         return __pyx_unpickle_ExitBlock, (type(self), 0xf2b1408, state)
43108  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
43109  *     __pyx_unpickle_ExitBlock__set_state(self, __pyx_state)
43110  */
43111   __pyx_tuple__36 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(2, 16, __pyx_L1_error)
43112   __Pyx_GOTREF(__pyx_tuple__36);
43113   __Pyx_GIVEREF(__pyx_tuple__36);
43114   __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(2, 16, __pyx_L1_error)
43115 
43116   /* "(tree fragment)":1
43117  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
43118  *     cdef tuple state
43119  *     cdef object _dict
43120  */
43121   __pyx_tuple__38 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_state, __pyx_n_s_dict_3, __pyx_n_s_use_setstate); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(2, 1, __pyx_L1_error)
43122   __Pyx_GOTREF(__pyx_tuple__38);
43123   __Pyx_GIVEREF(__pyx_tuple__38);
43124   __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(2, 1, __pyx_L1_error)
43125 
43126   /* "(tree fragment)":16
43127  *     else:
43128  *         return __pyx_unpickle_AssignmentList, (type(self), 0x39670e9, state)
43129  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
43130  *     __pyx_unpickle_AssignmentList__set_state(self, __pyx_state)
43131  */
43132   __pyx_tuple__40 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(2, 16, __pyx_L1_error)
43133   __Pyx_GOTREF(__pyx_tuple__40);
43134   __Pyx_GIVEREF(__pyx_tuple__40);
43135   __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) __PYX_ERR(2, 16, __pyx_L1_error)
43136 
43137   /* "Cython/Compiler/FlowControl.py":126
43138  *         self.block = self.entry_point
43139  *
43140  *     def newblock(self, parent=None):             # <<<<<<<<<<<<<<
43141  *         """Create floating block linked to `parent` if given.
43142  *
43143  */
43144   __pyx_tuple__42 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_parent); if (unlikely(!__pyx_tuple__42)) __PYX_ERR(0, 126, __pyx_L1_error)
43145   __Pyx_GOTREF(__pyx_tuple__42);
43146   __Pyx_GIVEREF(__pyx_tuple__42);
43147   __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_newblock, 126, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) __PYX_ERR(0, 126, __pyx_L1_error)
43148 
43149   /* "Cython/Compiler/FlowControl.py":137
43150  *         return block
43151  *
43152  *     def nextblock(self, parent=None):             # <<<<<<<<<<<<<<
43153  *         """Create block children block linked to current or `parent` if given.
43154  *
43155  */
43156   __pyx_tuple__44 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_parent); if (unlikely(!__pyx_tuple__44)) __PYX_ERR(0, 137, __pyx_L1_error)
43157   __Pyx_GOTREF(__pyx_tuple__44);
43158   __Pyx_GIVEREF(__pyx_tuple__44);
43159   __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_nextblock, 137, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) __PYX_ERR(0, 137, __pyx_L1_error)
43160 
43161   /* "Cython/Compiler/FlowControl.py":151
43162  *         return self.block
43163  *
43164  *     def is_tracked(self, entry):             # <<<<<<<<<<<<<<
43165  *         if entry.is_anonymous:
43166  *             return False
43167  */
43168   __pyx_tuple__46 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(0, 151, __pyx_L1_error)
43169   __Pyx_GOTREF(__pyx_tuple__46);
43170   __Pyx_GIVEREF(__pyx_tuple__46);
43171   __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_is_tracked, 151, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) __PYX_ERR(0, 151, __pyx_L1_error)
43172 
43173   /* "Cython/Compiler/FlowControl.py":158
43174  *                 entry.error_on_uninitialized)
43175  *
43176  *     def is_statically_assigned(self, entry):             # <<<<<<<<<<<<<<
43177  *         if (entry.is_local and entry.is_variable and
43178  *                 (entry.type.is_struct_or_union or
43179  */
43180   __pyx_tuple__48 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__48)) __PYX_ERR(0, 158, __pyx_L1_error)
43181   __Pyx_GOTREF(__pyx_tuple__48);
43182   __Pyx_GIVEREF(__pyx_tuple__48);
43183   __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_is_statically_assigned, 158, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) __PYX_ERR(0, 158, __pyx_L1_error)
43184 
43185   /* "Cython/Compiler/FlowControl.py":168
43186  *         return False
43187  *
43188  *     def mark_position(self, node):             # <<<<<<<<<<<<<<
43189  *         """Mark position, will be used to draw graph nodes."""
43190  *         if self.block:
43191  */
43192   __pyx_tuple__50 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_node); if (unlikely(!__pyx_tuple__50)) __PYX_ERR(0, 168, __pyx_L1_error)
43193   __Pyx_GOTREF(__pyx_tuple__50);
43194   __Pyx_GIVEREF(__pyx_tuple__50);
43195   __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_mark_position, 168, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) __PYX_ERR(0, 168, __pyx_L1_error)
43196 
43197   /* "Cython/Compiler/FlowControl.py":173
43198  *             self.block.positions.add(node.pos[:2])
43199  *
43200  *     def mark_assignment(self, lhs, rhs, entry):             # <<<<<<<<<<<<<<
43201  *         if self.block and self.is_tracked(entry):
43202  *             assignment = NameAssignment(lhs, rhs, entry)
43203  */
43204   __pyx_tuple__52 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_lhs, __pyx_n_s_rhs, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__52)) __PYX_ERR(0, 173, __pyx_L1_error)
43205   __Pyx_GOTREF(__pyx_tuple__52);
43206   __Pyx_GIVEREF(__pyx_tuple__52);
43207   __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_mark_assignment, 173, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) __PYX_ERR(0, 173, __pyx_L1_error)
43208 
43209   /* "Cython/Compiler/FlowControl.py":180
43210  *             self.entries.add(entry)
43211  *
43212  *     def mark_argument(self, lhs, rhs, entry):             # <<<<<<<<<<<<<<
43213  *         if self.block and self.is_tracked(entry):
43214  *             assignment = Argument(lhs, rhs, entry)
43215  */
43216   __pyx_tuple__54 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_lhs, __pyx_n_s_rhs, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__54)) __PYX_ERR(0, 180, __pyx_L1_error)
43217   __Pyx_GOTREF(__pyx_tuple__54);
43218   __Pyx_GIVEREF(__pyx_tuple__54);
43219   __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_mark_argument, 180, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) __PYX_ERR(0, 180, __pyx_L1_error)
43220 
43221   /* "Cython/Compiler/FlowControl.py":187
43222  *             self.entries.add(entry)
43223  *
43224  *     def mark_deletion(self, node, entry):             # <<<<<<<<<<<<<<
43225  *         if self.block and self.is_tracked(entry):
43226  *             assignment = NameDeletion(node, entry)
43227  */
43228   __pyx_tuple__56 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__56)) __PYX_ERR(0, 187, __pyx_L1_error)
43229   __Pyx_GOTREF(__pyx_tuple__56);
43230   __Pyx_GIVEREF(__pyx_tuple__56);
43231   __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_mark_deletion, 187, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) __PYX_ERR(0, 187, __pyx_L1_error)
43232 
43233   /* "Cython/Compiler/FlowControl.py":194
43234  *             self.entries.add(entry)
43235  *
43236  *     def mark_reference(self, node, entry):             # <<<<<<<<<<<<<<
43237  *         if self.block and self.is_tracked(entry):
43238  *             self.block.stats.append(NameReference(node, entry))
43239  */
43240   __pyx_tuple__58 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(0, 194, __pyx_L1_error)
43241   __Pyx_GOTREF(__pyx_tuple__58);
43242   __Pyx_GIVEREF(__pyx_tuple__58);
43243   __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_mark_reference, 194, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) __PYX_ERR(0, 194, __pyx_L1_error)
43244 
43245   /* "Cython/Compiler/FlowControl.py":204
43246  *             self.entries.add(entry)
43247  *
43248  *     def normalize(self):             # <<<<<<<<<<<<<<
43249  *         """Delete unreachable and orphan blocks."""
43250  *         queue = set([self.entry_point])
43251  */
43252   __pyx_tuple__60 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__60)) __PYX_ERR(0, 204, __pyx_L1_error)
43253   __Pyx_GOTREF(__pyx_tuple__60);
43254   __Pyx_GIVEREF(__pyx_tuple__60);
43255   __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_normalize, 204, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) __PYX_ERR(0, 204, __pyx_L1_error)
43256 
43257   /* "Cython/Compiler/FlowControl.py":227
43258  *         self.blocks -= unreachable
43259  *
43260  *     def initialize(self):             # <<<<<<<<<<<<<<
43261  *         """Set initial state, map assignments to bits."""
43262  *         self.assmts = {}
43263  */
43264   __pyx_tuple__62 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__62)) __PYX_ERR(0, 227, __pyx_L1_error)
43265   __Pyx_GOTREF(__pyx_tuple__62);
43266   __Pyx_GIVEREF(__pyx_tuple__62);
43267   __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_initialize, 227, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) __PYX_ERR(0, 227, __pyx_L1_error)
43268 
43269   /* "Cython/Compiler/FlowControl.py":263
43270  *         self.entry_point.i_output = self.entry_point.i_gen
43271  *
43272  *     def map_one(self, istate, entry):             # <<<<<<<<<<<<<<
43273  *         ret = set()
43274  *         assmts = self.assmts[entry]
43275  */
43276   __pyx_tuple__64 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_istate, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__64)) __PYX_ERR(0, 263, __pyx_L1_error)
43277   __Pyx_GOTREF(__pyx_tuple__64);
43278   __Pyx_GIVEREF(__pyx_tuple__64);
43279   __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_map_one, 263, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) __PYX_ERR(0, 263, __pyx_L1_error)
43280 
43281   /* "(tree fragment)":1
43282  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
43283  *     cdef tuple state
43284  *     cdef object _dict
43285  */
43286   __pyx_tuple__66 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_state, __pyx_n_s_dict_3, __pyx_n_s_use_setstate); if (unlikely(!__pyx_tuple__66)) __PYX_ERR(2, 1, __pyx_L1_error)
43287   __Pyx_GOTREF(__pyx_tuple__66);
43288   __Pyx_GIVEREF(__pyx_tuple__66);
43289   __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) __PYX_ERR(2, 1, __pyx_L1_error)
43290 
43291   /* "(tree fragment)":16
43292  *     else:
43293  *         return __pyx_unpickle_ControlFlow, (type(self), 0x61dbd8a, state)
43294  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
43295  *     __pyx_unpickle_ControlFlow__set_state(self, __pyx_state)
43296  */
43297   __pyx_tuple__68 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__68)) __PYX_ERR(2, 16, __pyx_L1_error)
43298   __Pyx_GOTREF(__pyx_tuple__68);
43299   __Pyx_GIVEREF(__pyx_tuple__68);
43300   __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) __PYX_ERR(2, 16, __pyx_L1_error)
43301 
43302   /* "Cython/Compiler/FlowControl.py":294
43303  *
43304  *
43305  * class LoopDescr(object):             # <<<<<<<<<<<<<<
43306  *     def __init__(self, next_block, loop_block):
43307  *         self.next_block = next_block
43308  */
43309   __pyx_tuple__70 = PyTuple_Pack(1, __pyx_builtin_object); if (unlikely(!__pyx_tuple__70)) __PYX_ERR(0, 294, __pyx_L1_error)
43310   __Pyx_GOTREF(__pyx_tuple__70);
43311   __Pyx_GIVEREF(__pyx_tuple__70);
43312 
43313   /* "Cython/Compiler/FlowControl.py":295
43314  *
43315  * class LoopDescr(object):
43316  *     def __init__(self, next_block, loop_block):             # <<<<<<<<<<<<<<
43317  *         self.next_block = next_block
43318  *         self.loop_block = loop_block
43319  */
43320   __pyx_tuple__71 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_next_block, __pyx_n_s_loop_block); if (unlikely(!__pyx_tuple__71)) __PYX_ERR(0, 295, __pyx_L1_error)
43321   __Pyx_GOTREF(__pyx_tuple__71);
43322   __Pyx_GIVEREF(__pyx_tuple__71);
43323   __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_init, 295, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) __PYX_ERR(0, 295, __pyx_L1_error)
43324 
43325   /* "Cython/Compiler/FlowControl.py":301
43326  *
43327  *
43328  * class ExceptionDescr(object):             # <<<<<<<<<<<<<<
43329  *     """Exception handling helper.
43330  *
43331  */
43332   __pyx_tuple__73 = PyTuple_Pack(1, __pyx_builtin_object); if (unlikely(!__pyx_tuple__73)) __PYX_ERR(0, 301, __pyx_L1_error)
43333   __Pyx_GOTREF(__pyx_tuple__73);
43334   __Pyx_GIVEREF(__pyx_tuple__73);
43335 
43336   /* "Cython/Compiler/FlowControl.py":309
43337  *     """
43338  *
43339  *     def __init__(self, entry_point, finally_enter=None, finally_exit=None):             # <<<<<<<<<<<<<<
43340  *         self.entry_point = entry_point
43341  *         self.finally_enter = finally_enter
43342  */
43343   __pyx_tuple__74 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_entry_point, __pyx_n_s_finally_enter, __pyx_n_s_finally_exit); if (unlikely(!__pyx_tuple__74)) __PYX_ERR(0, 309, __pyx_L1_error)
43344   __Pyx_GOTREF(__pyx_tuple__74);
43345   __Pyx_GIVEREF(__pyx_tuple__74);
43346   __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_init, 309, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) __PYX_ERR(0, 309, __pyx_L1_error)
43347   __pyx_tuple__76 = PyTuple_Pack(2, ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__76)) __PYX_ERR(0, 309, __pyx_L1_error)
43348   __Pyx_GOTREF(__pyx_tuple__76);
43349   __Pyx_GIVEREF(__pyx_tuple__76);
43350 
43351   /* "Cython/Compiler/FlowControl.py":331
43352  *         return '%s(entry=%r)' % (self.__class__.__name__, self.entry)
43353  *
43354  *     def infer_type(self):             # <<<<<<<<<<<<<<
43355  *         self.inferred_type = self.rhs.infer_type(self.entry.scope)
43356  *         return self.inferred_type
43357  */
43358   __pyx_tuple__77 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__77)) __PYX_ERR(0, 331, __pyx_L1_error)
43359   __Pyx_GOTREF(__pyx_tuple__77);
43360   __Pyx_GIVEREF(__pyx_tuple__77);
43361   __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_infer_type, 331, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) __PYX_ERR(0, 331, __pyx_L1_error)
43362 
43363   /* "Cython/Compiler/FlowControl.py":335
43364  *         return self.inferred_type
43365  *
43366  *     def type_dependencies(self):             # <<<<<<<<<<<<<<
43367  *         return self.rhs.type_dependencies(self.entry.scope)
43368  *
43369  */
43370   __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__79)) __PYX_ERR(0, 335, __pyx_L1_error)
43371   __Pyx_GOTREF(__pyx_tuple__79);
43372   __Pyx_GIVEREF(__pyx_tuple__79);
43373   __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_type_dependencies, 335, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) __PYX_ERR(0, 335, __pyx_L1_error)
43374 
43375   /* "(tree fragment)":1
43376  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
43377  *     cdef tuple state
43378  *     cdef object _dict
43379  */
43380   __pyx_tuple__81 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_state, __pyx_n_s_dict_3, __pyx_n_s_use_setstate); if (unlikely(!__pyx_tuple__81)) __PYX_ERR(2, 1, __pyx_L1_error)
43381   __Pyx_GOTREF(__pyx_tuple__81);
43382   __Pyx_GIVEREF(__pyx_tuple__81);
43383   __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) __PYX_ERR(2, 1, __pyx_L1_error)
43384 
43385   /* "(tree fragment)":16
43386  *     else:
43387  *         return __pyx_unpickle_NameAssignment, (type(self), 0x13117fb, state)
43388  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
43389  *     __pyx_unpickle_NameAssignment__set_state(self, __pyx_state)
43390  */
43391   __pyx_tuple__83 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__83)) __PYX_ERR(2, 16, __pyx_L1_error)
43392   __Pyx_GOTREF(__pyx_tuple__83);
43393   __Pyx_GIVEREF(__pyx_tuple__83);
43394   __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) __PYX_ERR(2, 16, __pyx_L1_error)
43395 
43396   /* "Cython/Compiler/FlowControl.py":347
43397  * class StaticAssignment(NameAssignment):
43398  *     """Initialised at declaration time, e.g. stack allocation."""
43399  *     def __init__(self, entry):             # <<<<<<<<<<<<<<
43400  *         if not entry.type.is_pyobject:
43401  *             may_be_none = False
43402  */
43403   __pyx_tuple__85 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_entry, __pyx_n_s_may_be_none, __pyx_n_s_lhs); if (unlikely(!__pyx_tuple__85)) __PYX_ERR(0, 347, __pyx_L1_error)
43404   __Pyx_GOTREF(__pyx_tuple__85);
43405   __Pyx_GIVEREF(__pyx_tuple__85);
43406   __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_init, 347, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) __PYX_ERR(0, 347, __pyx_L1_error)
43407 
43408   /* "Cython/Compiler/FlowControl.py":356
43409  *         super(StaticAssignment, self).__init__(lhs, lhs, entry)
43410  *
43411  *     def infer_type(self):             # <<<<<<<<<<<<<<
43412  *         return self.entry.type
43413  *
43414  */
43415   __pyx_tuple__87 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__87)) __PYX_ERR(0, 356, __pyx_L1_error)
43416   __Pyx_GOTREF(__pyx_tuple__87);
43417   __Pyx_GIVEREF(__pyx_tuple__87);
43418   __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_infer_type, 356, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) __PYX_ERR(0, 356, __pyx_L1_error)
43419 
43420   /* "Cython/Compiler/FlowControl.py":359
43421  *         return self.entry.type
43422  *
43423  *     def type_dependencies(self):             # <<<<<<<<<<<<<<
43424  *         return ()
43425  *
43426  */
43427   __pyx_tuple__89 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__89)) __PYX_ERR(0, 359, __pyx_L1_error)
43428   __Pyx_GOTREF(__pyx_tuple__89);
43429   __Pyx_GIVEREF(__pyx_tuple__89);
43430   __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_type_dependencies, 359, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) __PYX_ERR(0, 359, __pyx_L1_error)
43431 
43432   /* "Cython/Compiler/FlowControl.py":364
43433  *
43434  * class Argument(NameAssignment):
43435  *     def __init__(self, lhs, rhs, entry):             # <<<<<<<<<<<<<<
43436  *         NameAssignment.__init__(self, lhs, rhs, entry)
43437  *         self.is_arg = True
43438  */
43439   __pyx_tuple__91 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_lhs, __pyx_n_s_rhs, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__91)) __PYX_ERR(0, 364, __pyx_L1_error)
43440   __Pyx_GOTREF(__pyx_tuple__91);
43441   __Pyx_GIVEREF(__pyx_tuple__91);
43442   __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_init, 364, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) __PYX_ERR(0, 364, __pyx_L1_error)
43443 
43444   /* "Cython/Compiler/FlowControl.py":370
43445  *
43446  * class NameDeletion(NameAssignment):
43447  *     def __init__(self, lhs, entry):             # <<<<<<<<<<<<<<
43448  *         NameAssignment.__init__(self, lhs, lhs, entry)
43449  *         self.is_deletion = True
43450  */
43451   __pyx_tuple__93 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_lhs, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__93)) __PYX_ERR(0, 370, __pyx_L1_error)
43452   __Pyx_GOTREF(__pyx_tuple__93);
43453   __Pyx_GIVEREF(__pyx_tuple__93);
43454   __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_init, 370, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) __PYX_ERR(0, 370, __pyx_L1_error)
43455 
43456   /* "Cython/Compiler/FlowControl.py":374
43457  *         self.is_deletion = True
43458  *
43459  *     def infer_type(self):             # <<<<<<<<<<<<<<
43460  *         inferred_type = self.rhs.infer_type(self.entry.scope)
43461  *         if (not inferred_type.is_pyobject and
43462  */
43463   __pyx_tuple__95 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_inferred_type); if (unlikely(!__pyx_tuple__95)) __PYX_ERR(0, 374, __pyx_L1_error)
43464   __Pyx_GOTREF(__pyx_tuple__95);
43465   __Pyx_GIVEREF(__pyx_tuple__95);
43466   __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_infer_type, 374, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) __PYX_ERR(0, 374, __pyx_L1_error)
43467 
43468   /* "(tree fragment)":1
43469  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
43470  *     cdef tuple state
43471  *     cdef object _dict
43472  */
43473   __pyx_tuple__97 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_state, __pyx_n_s_dict_3, __pyx_n_s_use_setstate); if (unlikely(!__pyx_tuple__97)) __PYX_ERR(2, 1, __pyx_L1_error)
43474   __Pyx_GOTREF(__pyx_tuple__97);
43475   __Pyx_GIVEREF(__pyx_tuple__97);
43476   __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) __PYX_ERR(2, 1, __pyx_L1_error)
43477 
43478   /* "(tree fragment)":16
43479  *     else:
43480  *         return __pyx_unpickle_Uninitialized, (type(self), 0xd41d8cd, state)
43481  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
43482  *     __pyx_unpickle_Uninitialized__set_state(self, __pyx_state)
43483  */
43484   __pyx_tuple__99 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__99)) __PYX_ERR(2, 16, __pyx_L1_error)
43485   __Pyx_GOTREF(__pyx_tuple__99);
43486   __Pyx_GIVEREF(__pyx_tuple__99);
43487   __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) __PYX_ERR(2, 16, __pyx_L1_error)
43488 
43489   /* "(tree fragment)":1
43490  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
43491  *     cdef tuple state
43492  *     cdef object _dict
43493  */
43494   __pyx_tuple__101 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_state, __pyx_n_s_dict_3, __pyx_n_s_use_setstate); if (unlikely(!__pyx_tuple__101)) __PYX_ERR(2, 1, __pyx_L1_error)
43495   __Pyx_GOTREF(__pyx_tuple__101);
43496   __Pyx_GIVEREF(__pyx_tuple__101);
43497   __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) __PYX_ERR(2, 1, __pyx_L1_error)
43498 
43499   /* "(tree fragment)":16
43500  *     else:
43501  *         return __pyx_unpickle_Unknown, (type(self), 0xd41d8cd, state)
43502  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
43503  *     __pyx_unpickle_Unknown__set_state(self, __pyx_state)
43504  */
43505   __pyx_tuple__103 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__103)) __PYX_ERR(2, 16, __pyx_L1_error)
43506   __Pyx_GOTREF(__pyx_tuple__103);
43507   __Pyx_GIVEREF(__pyx_tuple__103);
43508   __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) __PYX_ERR(2, 16, __pyx_L1_error)
43509 
43510   /* "Cython/Compiler/FlowControl.py":391
43511  *
43512  *
43513  * class NameReference(object):             # <<<<<<<<<<<<<<
43514  *     def __init__(self, node, entry):
43515  *         if node.cf_state is None:
43516  */
43517   __pyx_tuple__105 = PyTuple_Pack(1, __pyx_builtin_object); if (unlikely(!__pyx_tuple__105)) __PYX_ERR(0, 391, __pyx_L1_error)
43518   __Pyx_GOTREF(__pyx_tuple__105);
43519   __Pyx_GIVEREF(__pyx_tuple__105);
43520 
43521   /* "Cython/Compiler/FlowControl.py":392
43522  *
43523  * class NameReference(object):
43524  *     def __init__(self, node, entry):             # <<<<<<<<<<<<<<
43525  *         if node.cf_state is None:
43526  *             node.cf_state = set()
43527  */
43528   __pyx_tuple__106 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__106)) __PYX_ERR(0, 392, __pyx_L1_error)
43529   __Pyx_GOTREF(__pyx_tuple__106);
43530   __Pyx_GIVEREF(__pyx_tuple__106);
43531   __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_init, 392, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) __PYX_ERR(0, 392, __pyx_L1_error)
43532 
43533   /* "Cython/Compiler/FlowControl.py":399
43534  *         self.pos = node.pos
43535  *
43536  *     def __repr__(self):             # <<<<<<<<<<<<<<
43537  *         return '%s(entry=%r)' % (self.__class__.__name__, self.entry)
43538  *
43539  */
43540   __pyx_tuple__108 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__108)) __PYX_ERR(0, 399, __pyx_L1_error)
43541   __Pyx_GOTREF(__pyx_tuple__108);
43542   __Pyx_GIVEREF(__pyx_tuple__108);
43543   __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_repr, 399, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) __PYX_ERR(0, 399, __pyx_L1_error)
43544 
43545   /* "Cython/Compiler/FlowControl.py":414
43546  *     is_single = False
43547  *
43548  *     def __init__(self, state):             # <<<<<<<<<<<<<<
43549  *         if Uninitialized in state:
43550  *             state.discard(Uninitialized)
43551  */
43552   __pyx_tuple__110 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_state, __pyx_n_s_i); if (unlikely(!__pyx_tuple__110)) __PYX_ERR(0, 414, __pyx_L1_error)
43553   __Pyx_GOTREF(__pyx_tuple__110);
43554   __Pyx_GIVEREF(__pyx_tuple__110);
43555   __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_init, 414, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) __PYX_ERR(0, 414, __pyx_L1_error)
43556 
43557   /* "Cython/Compiler/FlowControl.py":430
43558  *             [i for i in state if i.rhs is not fake_rhs_expr])
43559  *
43560  *     def one(self):             # <<<<<<<<<<<<<<
43561  *         return self[0]
43562  *
43563  */
43564   __pyx_tuple__112 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__112)) __PYX_ERR(0, 430, __pyx_L1_error)
43565   __Pyx_GOTREF(__pyx_tuple__112);
43566   __Pyx_GIVEREF(__pyx_tuple__112);
43567   __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_one, 430, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) __PYX_ERR(0, 430, __pyx_L1_error)
43568 
43569   /* "Cython/Compiler/FlowControl.py":434
43570  *
43571  *
43572  * class GVContext(object):             # <<<<<<<<<<<<<<
43573  *     """Graphviz subgraph object."""
43574  *
43575  */
43576   __pyx_tuple__114 = PyTuple_Pack(1, __pyx_builtin_object); if (unlikely(!__pyx_tuple__114)) __PYX_ERR(0, 434, __pyx_L1_error)
43577   __Pyx_GOTREF(__pyx_tuple__114);
43578   __Pyx_GIVEREF(__pyx_tuple__114);
43579 
43580   /* "Cython/Compiler/FlowControl.py":437
43581  *     """Graphviz subgraph object."""
43582  *
43583  *     def __init__(self):             # <<<<<<<<<<<<<<
43584  *         self.blockids = {}
43585  *         self.nextid = 0
43586  */
43587   __pyx_tuple__115 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__115)) __PYX_ERR(0, 437, __pyx_L1_error)
43588   __Pyx_GOTREF(__pyx_tuple__115);
43589   __Pyx_GIVEREF(__pyx_tuple__115);
43590   __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_init, 437, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) __PYX_ERR(0, 437, __pyx_L1_error)
43591 
43592   /* "Cython/Compiler/FlowControl.py":443
43593  *         self.sources = {}
43594  *
43595  *     def add(self, child):             # <<<<<<<<<<<<<<
43596  *         self.children.append(child)
43597  *
43598  */
43599   __pyx_tuple__117 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_child); if (unlikely(!__pyx_tuple__117)) __PYX_ERR(0, 443, __pyx_L1_error)
43600   __Pyx_GOTREF(__pyx_tuple__117);
43601   __Pyx_GIVEREF(__pyx_tuple__117);
43602   __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_add, 443, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) __PYX_ERR(0, 443, __pyx_L1_error)
43603 
43604   /* "Cython/Compiler/FlowControl.py":446
43605  *         self.children.append(child)
43606  *
43607  *     def nodeid(self, block):             # <<<<<<<<<<<<<<
43608  *         if block not in self.blockids:
43609  *             self.blockids[block] = 'block%d' % self.nextid
43610  */
43611   __pyx_tuple__119 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_block); if (unlikely(!__pyx_tuple__119)) __PYX_ERR(0, 446, __pyx_L1_error)
43612   __Pyx_GOTREF(__pyx_tuple__119);
43613   __Pyx_GIVEREF(__pyx_tuple__119);
43614   __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_nodeid, 446, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) __PYX_ERR(0, 446, __pyx_L1_error)
43615 
43616   /* "Cython/Compiler/FlowControl.py":452
43617  *         return self.blockids[block]
43618  *
43619  *     def extract_sources(self, block):             # <<<<<<<<<<<<<<
43620  *         if not block.positions:
43621  *             return ''
43622  */
43623   __pyx_tuple__121 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_block, __pyx_n_s_start, __pyx_n_s_stop, __pyx_n_s_srcdescr, __pyx_n_s_lines, __pyx_n_s_l); if (unlikely(!__pyx_tuple__121)) __PYX_ERR(0, 452, __pyx_L1_error)
43624   __Pyx_GOTREF(__pyx_tuple__121);
43625   __Pyx_GIVEREF(__pyx_tuple__121);
43626   __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_extract_sources, 452, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) __PYX_ERR(0, 452, __pyx_L1_error)
43627 
43628   /* "Cython/Compiler/FlowControl.py":463
43629  *         return '\\n'.join([l.strip() for l in lines[start[1] - 1:stop[1]]])
43630  *
43631  *     def render(self, fp, name, annotate_defs=False):             # <<<<<<<<<<<<<<
43632  *         """Render graphviz dot graph"""
43633  *         fp.write('digraph %s {\n' % name)
43634  */
43635   __pyx_tuple__123 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_fp, __pyx_n_s_name_2, __pyx_n_s_annotate_defs, __pyx_n_s_child); if (unlikely(!__pyx_tuple__123)) __PYX_ERR(0, 463, __pyx_L1_error)
43636   __Pyx_GOTREF(__pyx_tuple__123);
43637   __Pyx_GIVEREF(__pyx_tuple__123);
43638   __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(4, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_render, 463, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) __PYX_ERR(0, 463, __pyx_L1_error)
43639   __pyx_tuple__125 = PyTuple_Pack(1, ((PyObject *)Py_False)); if (unlikely(!__pyx_tuple__125)) __PYX_ERR(0, 463, __pyx_L1_error)
43640   __Pyx_GOTREF(__pyx_tuple__125);
43641   __Pyx_GIVEREF(__pyx_tuple__125);
43642 
43643   /* "Cython/Compiler/FlowControl.py":471
43644  *         fp.write('}\n')
43645  *
43646  *     def escape(self, text):             # <<<<<<<<<<<<<<
43647  *         return text.replace('"', '\\"').replace('\n', '\\n')
43648  *
43649  */
43650   __pyx_tuple__126 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_text); if (unlikely(!__pyx_tuple__126)) __PYX_ERR(0, 471, __pyx_L1_error)
43651   __Pyx_GOTREF(__pyx_tuple__126);
43652   __Pyx_GIVEREF(__pyx_tuple__126);
43653   __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_escape, 471, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) __PYX_ERR(0, 471, __pyx_L1_error)
43654 
43655   /* "Cython/Compiler/FlowControl.py":475
43656  *
43657  *
43658  * class GV(object):             # <<<<<<<<<<<<<<
43659  *     """Graphviz DOT renderer."""
43660  *
43661  */
43662   __pyx_tuple__128 = PyTuple_Pack(1, __pyx_builtin_object); if (unlikely(!__pyx_tuple__128)) __PYX_ERR(0, 475, __pyx_L1_error)
43663   __Pyx_GOTREF(__pyx_tuple__128);
43664   __Pyx_GIVEREF(__pyx_tuple__128);
43665 
43666   /* "Cython/Compiler/FlowControl.py":478
43667  *     """Graphviz DOT renderer."""
43668  *
43669  *     def __init__(self, name, flow):             # <<<<<<<<<<<<<<
43670  *         self.name = name
43671  *         self.flow = flow
43672  */
43673   __pyx_tuple__129 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_name_2, __pyx_n_s_flow); if (unlikely(!__pyx_tuple__129)) __PYX_ERR(0, 478, __pyx_L1_error)
43674   __Pyx_GOTREF(__pyx_tuple__129);
43675   __Pyx_GIVEREF(__pyx_tuple__129);
43676   __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_init, 478, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) __PYX_ERR(0, 478, __pyx_L1_error)
43677 
43678   /* "Cython/Compiler/FlowControl.py":482
43679  *         self.flow = flow
43680  *
43681  *     def render(self, fp, ctx, annotate_defs=False):             # <<<<<<<<<<<<<<
43682  *         fp.write(' subgraph %s {\n' % self.name)
43683  *         for block in self.flow.blocks:
43684  */
43685   __pyx_tuple__131 = PyTuple_Pack(9, __pyx_n_s_self, __pyx_n_s_fp, __pyx_n_s_ctx, __pyx_n_s_annotate_defs, __pyx_n_s_block, __pyx_n_s_label, __pyx_n_s_stat, __pyx_n_s_pid, __pyx_n_s_child); if (unlikely(!__pyx_tuple__131)) __PYX_ERR(0, 482, __pyx_L1_error)
43686   __Pyx_GOTREF(__pyx_tuple__131);
43687   __Pyx_GIVEREF(__pyx_tuple__131);
43688   __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(4, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_render, 482, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) __PYX_ERR(0, 482, __pyx_L1_error)
43689   __pyx_tuple__133 = PyTuple_Pack(1, ((PyObject *)Py_False)); if (unlikely(!__pyx_tuple__133)) __PYX_ERR(0, 482, __pyx_L1_error)
43690   __Pyx_GOTREF(__pyx_tuple__133);
43691   __Pyx_GIVEREF(__pyx_tuple__133);
43692 
43693   /* "Cython/Compiler/FlowControl.py":510
43694  *         self.messages = set()
43695  *
43696  *     def error(self, pos, message):             # <<<<<<<<<<<<<<
43697  *         self.messages.add((pos, True, message))
43698  *
43699  */
43700   __pyx_tuple__134 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_pos, __pyx_n_s_message); if (unlikely(!__pyx_tuple__134)) __PYX_ERR(0, 510, __pyx_L1_error)
43701   __Pyx_GOTREF(__pyx_tuple__134);
43702   __Pyx_GIVEREF(__pyx_tuple__134);
43703   __pyx_codeobj__135 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__134, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_error, 510, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__135)) __PYX_ERR(0, 510, __pyx_L1_error)
43704 
43705   /* "Cython/Compiler/FlowControl.py":513
43706  *         self.messages.add((pos, True, message))
43707  *
43708  *     def warning(self, pos, message):             # <<<<<<<<<<<<<<
43709  *         self.messages.add((pos, False, message))
43710  *
43711  */
43712   __pyx_tuple__136 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_pos, __pyx_n_s_message); if (unlikely(!__pyx_tuple__136)) __PYX_ERR(0, 513, __pyx_L1_error)
43713   __Pyx_GOTREF(__pyx_tuple__136);
43714   __Pyx_GIVEREF(__pyx_tuple__136);
43715   __pyx_codeobj__137 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__136, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_warning, 513, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__137)) __PYX_ERR(0, 513, __pyx_L1_error)
43716 
43717   /* "Cython/Compiler/FlowControl.py":516
43718  *         self.messages.add((pos, False, message))
43719  *
43720  *     def report(self):             # <<<<<<<<<<<<<<
43721  *         for pos, is_error, message in sorted(self.messages):
43722  *             if is_error:
43723  */
43724   __pyx_tuple__138 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_pos, __pyx_n_s_is_error, __pyx_n_s_message); if (unlikely(!__pyx_tuple__138)) __PYX_ERR(0, 516, __pyx_L1_error)
43725   __Pyx_GOTREF(__pyx_tuple__138);
43726   __Pyx_GIVEREF(__pyx_tuple__138);
43727   __pyx_codeobj__139 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__138, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_report, 516, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__139)) __PYX_ERR(0, 516, __pyx_L1_error)
43728 
43729   /* "(tree fragment)":1
43730  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
43731  *     cdef tuple state
43732  *     cdef object _dict
43733  */
43734   __pyx_tuple__140 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_state, __pyx_n_s_dict_3, __pyx_n_s_use_setstate); if (unlikely(!__pyx_tuple__140)) __PYX_ERR(2, 1, __pyx_L1_error)
43735   __Pyx_GOTREF(__pyx_tuple__140);
43736   __Pyx_GIVEREF(__pyx_tuple__140);
43737   __pyx_codeobj__141 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__140, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__141)) __PYX_ERR(2, 1, __pyx_L1_error)
43738 
43739   /* "(tree fragment)":16
43740  *     else:
43741  *         return __pyx_unpickle_MessageCollection, (type(self), 0xde70938, state)
43742  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
43743  *     __pyx_unpickle_MessageCollection__set_state(self, __pyx_state)
43744  */
43745   __pyx_tuple__142 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__142)) __PYX_ERR(2, 16, __pyx_L1_error)
43746   __Pyx_GOTREF(__pyx_tuple__142);
43747   __Pyx_GIVEREF(__pyx_tuple__142);
43748   __pyx_codeobj__143 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__142, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__143)) __PYX_ERR(2, 16, __pyx_L1_error)
43749 
43750   /* "Cython/Compiler/FlowControl.py":663
43751  *         self.assignments = []
43752  *
43753  *     def visit_Node(self):             # <<<<<<<<<<<<<<
43754  *         self._visitchildren(self, None)
43755  *
43756  */
43757   __pyx_tuple__144 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__144)) __PYX_ERR(0, 663, __pyx_L1_error)
43758   __Pyx_GOTREF(__pyx_tuple__144);
43759   __Pyx_GIVEREF(__pyx_tuple__144);
43760   __pyx_codeobj__145 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__144, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_Node, 663, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__145)) __PYX_ERR(0, 663, __pyx_L1_error)
43761 
43762   /* "Cython/Compiler/FlowControl.py":666
43763  *         self._visitchildren(self, None)
43764  *
43765  *     def visit_SingleAssignmentNode(self, node):             # <<<<<<<<<<<<<<
43766  *         self.assignments.append((node.lhs, node.rhs))
43767  *
43768  */
43769   __pyx_tuple__146 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_node); if (unlikely(!__pyx_tuple__146)) __PYX_ERR(0, 666, __pyx_L1_error)
43770   __Pyx_GOTREF(__pyx_tuple__146);
43771   __Pyx_GIVEREF(__pyx_tuple__146);
43772   __pyx_codeobj__147 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__146, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_SingleAssignmentNode, 666, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__147)) __PYX_ERR(0, 666, __pyx_L1_error)
43773 
43774   /* "Cython/Compiler/FlowControl.py":669
43775  *         self.assignments.append((node.lhs, node.rhs))
43776  *
43777  *     def visit_CascadedAssignmentNode(self, node):             # <<<<<<<<<<<<<<
43778  *         for lhs in node.lhs_list:
43779  *             self.assignments.append((lhs, node.rhs))
43780  */
43781   __pyx_tuple__148 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_lhs); if (unlikely(!__pyx_tuple__148)) __PYX_ERR(0, 669, __pyx_L1_error)
43782   __Pyx_GOTREF(__pyx_tuple__148);
43783   __Pyx_GIVEREF(__pyx_tuple__148);
43784   __pyx_codeobj__149 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__148, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_CascadedAssignmentNode, 669, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__149)) __PYX_ERR(0, 669, __pyx_L1_error)
43785 
43786   /* "(tree fragment)":1
43787  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
43788  *     cdef tuple state
43789  *     cdef object _dict
43790  */
43791   __pyx_tuple__150 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_state, __pyx_n_s_dict_3, __pyx_n_s_use_setstate); if (unlikely(!__pyx_tuple__150)) __PYX_ERR(2, 1, __pyx_L1_error)
43792   __Pyx_GOTREF(__pyx_tuple__150);
43793   __Pyx_GIVEREF(__pyx_tuple__150);
43794   __pyx_codeobj__151 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__150, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__151)) __PYX_ERR(2, 1, __pyx_L1_error)
43795 
43796   /* "(tree fragment)":16
43797  *     else:
43798  *         return __pyx_unpickle_AssignmentCollector, (type(self), 0xdf44812, state)
43799  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
43800  *     __pyx_unpickle_AssignmentCollector__set_state(self, __pyx_state)
43801  */
43802   __pyx_tuple__152 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__152)) __PYX_ERR(2, 16, __pyx_L1_error)
43803   __Pyx_GOTREF(__pyx_tuple__152);
43804   __Pyx_GIVEREF(__pyx_tuple__152);
43805   __pyx_codeobj__153 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__152, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__153)) __PYX_ERR(2, 16, __pyx_L1_error)
43806 
43807   /* "Cython/Compiler/FlowControl.py":676
43808  * class ControlFlowAnalysis(CythonTransform):
43809  *
43810  *     def visit_ModuleNode(self, node):             # <<<<<<<<<<<<<<
43811  *         self.gv_ctx = GVContext()
43812  *         self.constant_folder = ConstantFolding()
43813  */
43814   __pyx_tuple__154 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_dot_output, __pyx_n_s_annotate_defs, __pyx_n_s_fp); if (unlikely(!__pyx_tuple__154)) __PYX_ERR(0, 676, __pyx_L1_error)
43815   __Pyx_GOTREF(__pyx_tuple__154);
43816   __Pyx_GIVEREF(__pyx_tuple__154);
43817   __pyx_codeobj__155 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_ModuleNode, 676, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__155)) __PYX_ERR(0, 676, __pyx_L1_error)
43818 
43819   /* "Cython/Compiler/FlowControl.py":702
43820  *         return node
43821  *
43822  *     def visit_FuncDefNode(self, node):             # <<<<<<<<<<<<<<
43823  *         for arg in node.args:
43824  *             if arg.default:
43825  */
43826   __pyx_tuple__156 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_arg, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__156)) __PYX_ERR(0, 702, __pyx_L1_error)
43827   __Pyx_GOTREF(__pyx_tuple__156);
43828   __Pyx_GIVEREF(__pyx_tuple__156);
43829   __pyx_codeobj__157 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__156, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_FuncDefNode, 702, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__157)) __PYX_ERR(0, 702, __pyx_L1_error)
43830 
43831   /* "Cython/Compiler/FlowControl.py":753
43832  *         return node
43833  *
43834  *     def visit_DefNode(self, node):             # <<<<<<<<<<<<<<
43835  *         node.used = True
43836  *         return self.visit_FuncDefNode(node)
43837  */
43838   __pyx_tuple__158 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_node); if (unlikely(!__pyx_tuple__158)) __PYX_ERR(0, 753, __pyx_L1_error)
43839   __Pyx_GOTREF(__pyx_tuple__158);
43840   __Pyx_GIVEREF(__pyx_tuple__158);
43841   __pyx_codeobj__159 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__158, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_DefNode, 753, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__159)) __PYX_ERR(0, 753, __pyx_L1_error)
43842 
43843   /* "Cython/Compiler/FlowControl.py":757
43844  *         return self.visit_FuncDefNode(node)
43845  *
43846  *     def visit_GeneratorBodyDefNode(self, node):             # <<<<<<<<<<<<<<
43847  *         return node
43848  *
43849  */
43850   __pyx_tuple__160 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_node); if (unlikely(!__pyx_tuple__160)) __PYX_ERR(0, 757, __pyx_L1_error)
43851   __Pyx_GOTREF(__pyx_tuple__160);
43852   __Pyx_GIVEREF(__pyx_tuple__160);
43853   __pyx_codeobj__161 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__160, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_GeneratorBodyDefNode, 757, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__161)) __PYX_ERR(0, 757, __pyx_L1_error)
43854 
43855   /* "Cython/Compiler/FlowControl.py":760
43856  *         return node
43857  *
43858  *     def visit_CTypeDefNode(self, node):             # <<<<<<<<<<<<<<
43859  *         return node
43860  *
43861  */
43862   __pyx_tuple__162 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_node); if (unlikely(!__pyx_tuple__162)) __PYX_ERR(0, 760, __pyx_L1_error)
43863   __Pyx_GOTREF(__pyx_tuple__162);
43864   __Pyx_GIVEREF(__pyx_tuple__162);
43865   __pyx_codeobj__163 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__162, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_CTypeDefNode, 760, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__163)) __PYX_ERR(0, 760, __pyx_L1_error)
43866 
43867   /* "Cython/Compiler/FlowControl.py":763
43868  *         return node
43869  *
43870  *     def mark_assignment(self, lhs, rhs=None):             # <<<<<<<<<<<<<<
43871  *         if not self.flow.block:
43872  *             return
43873  */
43874   __pyx_tuple__164 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_lhs, __pyx_n_s_rhs); if (unlikely(!__pyx_tuple__164)) __PYX_ERR(0, 763, __pyx_L1_error)
43875   __Pyx_GOTREF(__pyx_tuple__164);
43876   __Pyx_GIVEREF(__pyx_tuple__164);
43877   __pyx_codeobj__165 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__164, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_mark_assignment, 763, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__165)) __PYX_ERR(0, 763, __pyx_L1_error)
43878 
43879   /* "Cython/Compiler/FlowControl.py":796
43880  *             self.flow.nextblock()
43881  *
43882  *     def mark_position(self, node):             # <<<<<<<<<<<<<<
43883  *         """Mark position if DOT output is enabled."""
43884  *         if self.current_directives['control_flow.dot_output']:
43885  */
43886   __pyx_tuple__166 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_node); if (unlikely(!__pyx_tuple__166)) __PYX_ERR(0, 796, __pyx_L1_error)
43887   __Pyx_GOTREF(__pyx_tuple__166);
43888   __Pyx_GIVEREF(__pyx_tuple__166);
43889   __pyx_codeobj__167 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__166, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_mark_position, 796, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__167)) __PYX_ERR(0, 796, __pyx_L1_error)
43890 
43891   /* "Cython/Compiler/FlowControl.py":801
43892  *             self.flow.mark_position(node)
43893  *
43894  *     def visit_FromImportStatNode(self, node):             # <<<<<<<<<<<<<<
43895  *         for name, target in node.items:
43896  *             if name != "*":
43897  */
43898   __pyx_tuple__168 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_name_2, __pyx_n_s_target); if (unlikely(!__pyx_tuple__168)) __PYX_ERR(0, 801, __pyx_L1_error)
43899   __Pyx_GOTREF(__pyx_tuple__168);
43900   __Pyx_GIVEREF(__pyx_tuple__168);
43901   __pyx_codeobj__169 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__168, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_FromImportStatNode, 801, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__169)) __PYX_ERR(0, 801, __pyx_L1_error)
43902 
43903   /* "Cython/Compiler/FlowControl.py":808
43904  *         return node
43905  *
43906  *     def visit_AssignmentNode(self, node):             # <<<<<<<<<<<<<<
43907  *         raise InternalError("Unhandled assignment node")
43908  *
43909  */
43910   __pyx_tuple__170 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_node); if (unlikely(!__pyx_tuple__170)) __PYX_ERR(0, 808, __pyx_L1_error)
43911   __Pyx_GOTREF(__pyx_tuple__170);
43912   __Pyx_GIVEREF(__pyx_tuple__170);
43913   __pyx_codeobj__171 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__170, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_AssignmentNode, 808, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__171)) __PYX_ERR(0, 808, __pyx_L1_error)
43914 
43915   /* "Cython/Compiler/FlowControl.py":811
43916  *         raise InternalError("Unhandled assignment node")
43917  *
43918  *     def visit_SingleAssignmentNode(self, node):             # <<<<<<<<<<<<<<
43919  *         self._visit(node.rhs)
43920  *         self.mark_assignment(node.lhs, node.rhs)
43921  */
43922   __pyx_tuple__172 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_node); if (unlikely(!__pyx_tuple__172)) __PYX_ERR(0, 811, __pyx_L1_error)
43923   __Pyx_GOTREF(__pyx_tuple__172);
43924   __Pyx_GIVEREF(__pyx_tuple__172);
43925   __pyx_codeobj__173 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__172, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_SingleAssignmentNode, 811, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__173)) __PYX_ERR(0, 811, __pyx_L1_error)
43926 
43927   /* "Cython/Compiler/FlowControl.py":816
43928  *         return node
43929  *
43930  *     def visit_CascadedAssignmentNode(self, node):             # <<<<<<<<<<<<<<
43931  *         self._visit(node.rhs)
43932  *         for lhs in node.lhs_list:
43933  */
43934   __pyx_tuple__174 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_lhs); if (unlikely(!__pyx_tuple__174)) __PYX_ERR(0, 816, __pyx_L1_error)
43935   __Pyx_GOTREF(__pyx_tuple__174);
43936   __Pyx_GIVEREF(__pyx_tuple__174);
43937   __pyx_codeobj__175 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__174, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_CascadedAssignmentNode, 816, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__175)) __PYX_ERR(0, 816, __pyx_L1_error)
43938 
43939   /* "Cython/Compiler/FlowControl.py":822
43940  *         return node
43941  *
43942  *     def visit_ParallelAssignmentNode(self, node):             # <<<<<<<<<<<<<<
43943  *         collector = AssignmentCollector()
43944  *         collector.visitchildren(node)
43945  */
43946   __pyx_tuple__176 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_collector, __pyx_n_s_lhs, __pyx_n_s_rhs); if (unlikely(!__pyx_tuple__176)) __PYX_ERR(0, 822, __pyx_L1_error)
43947   __Pyx_GOTREF(__pyx_tuple__176);
43948   __Pyx_GIVEREF(__pyx_tuple__176);
43949   __pyx_codeobj__177 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__176, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_ParallelAssignmentNode, 822, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__177)) __PYX_ERR(0, 822, __pyx_L1_error)
43950 
43951   /* "Cython/Compiler/FlowControl.py":831
43952  *         return node
43953  *
43954  *     def visit_InPlaceAssignmentNode(self, node):             # <<<<<<<<<<<<<<
43955  *         self.in_inplace_assignment = True
43956  *         self.visitchildren(node)
43957  */
43958   __pyx_tuple__178 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_node); if (unlikely(!__pyx_tuple__178)) __PYX_ERR(0, 831, __pyx_L1_error)
43959   __Pyx_GOTREF(__pyx_tuple__178);
43960   __Pyx_GIVEREF(__pyx_tuple__178);
43961   __pyx_codeobj__179 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__178, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_InPlaceAssignmentNode, 831, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__179)) __PYX_ERR(0, 831, __pyx_L1_error)
43962 
43963   /* "Cython/Compiler/FlowControl.py":838
43964  *         return node
43965  *
43966  *     def visit_DelStatNode(self, node):             # <<<<<<<<<<<<<<
43967  *         for arg in node.args:
43968  *             if arg.is_name:
43969  */
43970   __pyx_tuple__180 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_arg, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__180)) __PYX_ERR(0, 838, __pyx_L1_error)
43971   __Pyx_GOTREF(__pyx_tuple__180);
43972   __Pyx_GIVEREF(__pyx_tuple__180);
43973   __pyx_codeobj__181 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__180, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_DelStatNode, 838, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__181)) __PYX_ERR(0, 838, __pyx_L1_error)
43974 
43975   /* "Cython/Compiler/FlowControl.py":853
43976  *         return node
43977  *
43978  *     def visit_CArgDeclNode(self, node):             # <<<<<<<<<<<<<<
43979  *         entry = self.env.lookup(node.name)
43980  *         if entry:
43981  */
43982   __pyx_tuple__182 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_entry, __pyx_n_s_may_be_none); if (unlikely(!__pyx_tuple__182)) __PYX_ERR(0, 853, __pyx_L1_error)
43983   __Pyx_GOTREF(__pyx_tuple__182);
43984   __Pyx_GIVEREF(__pyx_tuple__182);
43985   __pyx_codeobj__183 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__182, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_CArgDeclNode, 853, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__183)) __PYX_ERR(0, 853, __pyx_L1_error)
43986 
43987   /* "Cython/Compiler/FlowControl.py":861
43988  *         return node
43989  *
43990  *     def visit_NameNode(self, node):             # <<<<<<<<<<<<<<
43991  *         if self.flow.block:
43992  *             entry = node.entry or self.env.lookup(node.name)
43993  */
43994   __pyx_tuple__184 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__184)) __PYX_ERR(0, 861, __pyx_L1_error)
43995   __Pyx_GOTREF(__pyx_tuple__184);
43996   __Pyx_GIVEREF(__pyx_tuple__184);
43997   __pyx_codeobj__185 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__184, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_NameNode, 861, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__185)) __PYX_ERR(0, 861, __pyx_L1_error)
43998 
43999   /* "Cython/Compiler/FlowControl.py":873
44000  *         return node
44001  *
44002  *     def visit_StatListNode(self, node):             # <<<<<<<<<<<<<<
44003  *         if self.flow.block:
44004  *             for stat in node.stats:
44005  */
44006   __pyx_tuple__186 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_stat); if (unlikely(!__pyx_tuple__186)) __PYX_ERR(0, 873, __pyx_L1_error)
44007   __Pyx_GOTREF(__pyx_tuple__186);
44008   __Pyx_GIVEREF(__pyx_tuple__186);
44009   __pyx_codeobj__187 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__186, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_StatListNode, 873, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__187)) __PYX_ERR(0, 873, __pyx_L1_error)
44010 
44011   /* "Cython/Compiler/FlowControl.py":882
44012  *         return node
44013  *
44014  *     def visit_Node(self, node):             # <<<<<<<<<<<<<<
44015  *         self.visitchildren(node)
44016  *         self.mark_position(node)
44017  */
44018   __pyx_tuple__188 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_node); if (unlikely(!__pyx_tuple__188)) __PYX_ERR(0, 882, __pyx_L1_error)
44019   __Pyx_GOTREF(__pyx_tuple__188);
44020   __Pyx_GIVEREF(__pyx_tuple__188);
44021   __pyx_codeobj__189 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__188, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_Node, 882, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__189)) __PYX_ERR(0, 882, __pyx_L1_error)
44022 
44023   /* "Cython/Compiler/FlowControl.py":887
44024  *         return node
44025  *
44026  *     def visit_SizeofVarNode(self, node):             # <<<<<<<<<<<<<<
44027  *         return node
44028  *
44029  */
44030   __pyx_tuple__190 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_node); if (unlikely(!__pyx_tuple__190)) __PYX_ERR(0, 887, __pyx_L1_error)
44031   __Pyx_GOTREF(__pyx_tuple__190);
44032   __Pyx_GIVEREF(__pyx_tuple__190);
44033   __pyx_codeobj__191 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__190, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_SizeofVarNode, 887, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__191)) __PYX_ERR(0, 887, __pyx_L1_error)
44034 
44035   /* "Cython/Compiler/FlowControl.py":890
44036  *         return node
44037  *
44038  *     def visit_TypeidNode(self, node):             # <<<<<<<<<<<<<<
44039  *         return node
44040  *
44041  */
44042   __pyx_tuple__192 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_node); if (unlikely(!__pyx_tuple__192)) __PYX_ERR(0, 890, __pyx_L1_error)
44043   __Pyx_GOTREF(__pyx_tuple__192);
44044   __Pyx_GIVEREF(__pyx_tuple__192);
44045   __pyx_codeobj__193 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__192, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_TypeidNode, 890, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__193)) __PYX_ERR(0, 890, __pyx_L1_error)
44046 
44047   /* "Cython/Compiler/FlowControl.py":893
44048  *         return node
44049  *
44050  *     def visit_IfStatNode(self, node):             # <<<<<<<<<<<<<<
44051  *         next_block = self.flow.newblock()
44052  *         parent = self.flow.block
44053  */
44054   __pyx_tuple__194 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_next_block, __pyx_n_s_parent, __pyx_n_s_clause); if (unlikely(!__pyx_tuple__194)) __PYX_ERR(0, 893, __pyx_L1_error)
44055   __Pyx_GOTREF(__pyx_tuple__194);
44056   __Pyx_GIVEREF(__pyx_tuple__194);
44057   __pyx_codeobj__195 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__194, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_IfStatNode, 893, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__195)) __PYX_ERR(0, 893, __pyx_L1_error)
44058 
44059   /* "Cython/Compiler/FlowControl.py":919
44060  *         return node
44061  *
44062  *     def visit_WhileStatNode(self, node):             # <<<<<<<<<<<<<<
44063  *         condition_block = self.flow.nextblock()
44064  *         next_block = self.flow.newblock()
44065  */
44066   __pyx_tuple__196 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_condition_block, __pyx_n_s_next_block); if (unlikely(!__pyx_tuple__196)) __PYX_ERR(0, 919, __pyx_L1_error)
44067   __Pyx_GOTREF(__pyx_tuple__196);
44068   __Pyx_GIVEREF(__pyx_tuple__196);
44069   __pyx_codeobj__197 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__196, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_WhileStatNode, 919, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__197)) __PYX_ERR(0, 919, __pyx_L1_error)
44070 
44071   /* "Cython/Compiler/FlowControl.py":949
44072  *         return node
44073  *
44074  *     def mark_forloop_target(self, node):             # <<<<<<<<<<<<<<
44075  *         # TODO: Remove redundancy with range optimization...
44076  *         is_special = False
44077  */
44078   __pyx_tuple__198 = PyTuple_Pack(10, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_is_special, __pyx_n_s_sequence, __pyx_n_s_target, __pyx_n_s_function, __pyx_n_s_entry, __pyx_n_s_iterator, __pyx_n_s_iterator_type, __pyx_n_s_arg); if (unlikely(!__pyx_tuple__198)) __PYX_ERR(0, 949, __pyx_L1_error)
44079   __Pyx_GOTREF(__pyx_tuple__198);
44080   __Pyx_GIVEREF(__pyx_tuple__198);
44081   __pyx_codeobj__199 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__198, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_mark_forloop_target, 949, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__199)) __PYX_ERR(0, 949, __pyx_L1_error)
44082 
44083   /* "Cython/Compiler/FlowControl.py":999
44084  *             self.mark_assignment(target, node.item)
44085  *
44086  *     def visit_AsyncForStatNode(self, node):             # <<<<<<<<<<<<<<
44087  *         return self.visit_ForInStatNode(node)
44088  *
44089  */
44090   __pyx_tuple__200 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_node); if (unlikely(!__pyx_tuple__200)) __PYX_ERR(0, 999, __pyx_L1_error)
44091   __Pyx_GOTREF(__pyx_tuple__200);
44092   __Pyx_GIVEREF(__pyx_tuple__200);
44093   __pyx_codeobj__201 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__200, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_AsyncForStatNode, 999, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__201)) __PYX_ERR(0, 999, __pyx_L1_error)
44094 
44095   /* "Cython/Compiler/FlowControl.py":1002
44096  *         return self.visit_ForInStatNode(node)
44097  *
44098  *     def visit_ForInStatNode(self, node):             # <<<<<<<<<<<<<<
44099  *         condition_block = self.flow.nextblock()
44100  *         next_block = self.flow.newblock()
44101  */
44102   __pyx_tuple__202 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_condition_block, __pyx_n_s_next_block); if (unlikely(!__pyx_tuple__202)) __PYX_ERR(0, 1002, __pyx_L1_error)
44103   __Pyx_GOTREF(__pyx_tuple__202);
44104   __Pyx_GIVEREF(__pyx_tuple__202);
44105   __pyx_codeobj__203 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__202, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_ForInStatNode, 1002, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__203)) __PYX_ERR(0, 1002, __pyx_L1_error)
44106 
44107   /* "Cython/Compiler/FlowControl.py":1046
44108  *         return node
44109  *
44110  *     def _delete_privates(self, node, exclude=None):             # <<<<<<<<<<<<<<
44111  *         for private_node in node.assigned_nodes:
44112  *             if not exclude or private_node.entry is not exclude:
44113  */
44114   __pyx_tuple__204 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_exclude, __pyx_n_s_private_node); if (unlikely(!__pyx_tuple__204)) __PYX_ERR(0, 1046, __pyx_L1_error)
44115   __Pyx_GOTREF(__pyx_tuple__204);
44116   __Pyx_GIVEREF(__pyx_tuple__204);
44117   __pyx_codeobj__205 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__204, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_delete_privates, 1046, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__205)) __PYX_ERR(0, 1046, __pyx_L1_error)
44118 
44119   /* "Cython/Compiler/FlowControl.py":1051
44120  *                 self.flow.mark_deletion(private_node, private_node.entry)
44121  *
44122  *     def visit_ParallelRangeNode(self, node):             # <<<<<<<<<<<<<<
44123  *         reductions = self.reductions
44124  *
44125  */
44126   __pyx_tuple__206 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_reductions, __pyx_n_s_private_node, __pyx_n_s_pos, __pyx_n_s_reduction); if (unlikely(!__pyx_tuple__206)) __PYX_ERR(0, 1051, __pyx_L1_error)
44127   __Pyx_GOTREF(__pyx_tuple__206);
44128   __Pyx_GIVEREF(__pyx_tuple__206);
44129   __pyx_codeobj__207 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__206, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_ParallelRangeNode, 1051, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__207)) __PYX_ERR(0, 1051, __pyx_L1_error)
44130 
44131   /* "Cython/Compiler/FlowControl.py":1070
44132  *         return node
44133  *
44134  *     def visit_ParallelWithBlockNode(self, node):             # <<<<<<<<<<<<<<
44135  *         for private_node in node.assigned_nodes:
44136  *             private_node.entry.error_on_uninitialized = True
44137  */
44138   __pyx_tuple__208 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_private_node); if (unlikely(!__pyx_tuple__208)) __PYX_ERR(0, 1070, __pyx_L1_error)
44139   __Pyx_GOTREF(__pyx_tuple__208);
44140   __Pyx_GIVEREF(__pyx_tuple__208);
44141   __pyx_codeobj__209 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__208, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_ParallelWithBlockNode, 1070, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__209)) __PYX_ERR(0, 1070, __pyx_L1_error)
44142 
44143   /* "Cython/Compiler/FlowControl.py":1080
44144  *         return node
44145  *
44146  *     def visit_ForFromStatNode(self, node):             # <<<<<<<<<<<<<<
44147  *         condition_block = self.flow.nextblock()
44148  *         next_block = self.flow.newblock()
44149  */
44150   __pyx_tuple__210 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_condition_block, __pyx_n_s_next_block); if (unlikely(!__pyx_tuple__210)) __PYX_ERR(0, 1080, __pyx_L1_error)
44151   __Pyx_GOTREF(__pyx_tuple__210);
44152   __Pyx_GIVEREF(__pyx_tuple__210);
44153   __pyx_codeobj__211 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__210, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_ForFromStatNode, 1080, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__211)) __PYX_ERR(0, 1080, __pyx_L1_error)
44154 
44155   /* "Cython/Compiler/FlowControl.py":1117
44156  *         return node
44157  *
44158  *     def visit_LoopNode(self, node):             # <<<<<<<<<<<<<<
44159  *         raise InternalError("Generic loops are not supported")
44160  *
44161  */
44162   __pyx_tuple__212 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_node); if (unlikely(!__pyx_tuple__212)) __PYX_ERR(0, 1117, __pyx_L1_error)
44163   __Pyx_GOTREF(__pyx_tuple__212);
44164   __Pyx_GIVEREF(__pyx_tuple__212);
44165   __pyx_codeobj__213 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__212, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_LoopNode, 1117, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__213)) __PYX_ERR(0, 1117, __pyx_L1_error)
44166 
44167   /* "Cython/Compiler/FlowControl.py":1120
44168  *         raise InternalError("Generic loops are not supported")
44169  *
44170  *     def visit_WithTargetAssignmentStatNode(self, node):             # <<<<<<<<<<<<<<
44171  *         self.mark_assignment(node.lhs, node.with_node.enter_call)
44172  *         return node
44173  */
44174   __pyx_tuple__214 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_node); if (unlikely(!__pyx_tuple__214)) __PYX_ERR(0, 1120, __pyx_L1_error)
44175   __Pyx_GOTREF(__pyx_tuple__214);
44176   __Pyx_GIVEREF(__pyx_tuple__214);
44177   __pyx_codeobj__215 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__214, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_WithTargetAssignmentStatNo, 1120, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__215)) __PYX_ERR(0, 1120, __pyx_L1_error)
44178 
44179   /* "Cython/Compiler/FlowControl.py":1124
44180  *         return node
44181  *
44182  *     def visit_WithStatNode(self, node):             # <<<<<<<<<<<<<<
44183  *         self._visit(node.manager)
44184  *         self._visit(node.enter_call)
44185  */
44186   __pyx_tuple__216 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_node); if (unlikely(!__pyx_tuple__216)) __PYX_ERR(0, 1124, __pyx_L1_error)
44187   __Pyx_GOTREF(__pyx_tuple__216);
44188   __Pyx_GIVEREF(__pyx_tuple__216);
44189   __pyx_codeobj__217 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__216, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_WithStatNode, 1124, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__217)) __PYX_ERR(0, 1124, __pyx_L1_error)
44190 
44191   /* "Cython/Compiler/FlowControl.py":1130
44192  *         return node
44193  *
44194  *     def visit_TryExceptStatNode(self, node):             # <<<<<<<<<<<<<<
44195  *         # After exception handling
44196  *         next_block = self.flow.newblock()
44197  */
44198   __pyx_tuple__218 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_next_block, __pyx_n_s_entry_point, __pyx_n_s_clause, __pyx_n_s_pattern); if (unlikely(!__pyx_tuple__218)) __PYX_ERR(0, 1130, __pyx_L1_error)
44199   __Pyx_GOTREF(__pyx_tuple__218);
44200   __Pyx_GIVEREF(__pyx_tuple__218);
44201   __pyx_codeobj__219 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__218, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_TryExceptStatNode, 1130, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__219)) __PYX_ERR(0, 1130, __pyx_L1_error)
44202 
44203   /* "Cython/Compiler/FlowControl.py":1179
44204  *         return node
44205  *
44206  *     def visit_TryFinallyStatNode(self, node):             # <<<<<<<<<<<<<<
44207  *         body_block = self.flow.nextblock()
44208  *
44209  */
44210   __pyx_tuple__220 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_body_block, __pyx_n_s_entry_point, __pyx_n_s_finally_enter, __pyx_n_s_finally_exit, __pyx_n_s_descr); if (unlikely(!__pyx_tuple__220)) __PYX_ERR(0, 1179, __pyx_L1_error)
44211   __Pyx_GOTREF(__pyx_tuple__220);
44212   __Pyx_GIVEREF(__pyx_tuple__220);
44213   __pyx_codeobj__221 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__220, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_TryFinallyStatNode, 1179, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__221)) __PYX_ERR(0, 1179, __pyx_L1_error)
44214 
44215   /* "Cython/Compiler/FlowControl.py":1216
44216  *         return node
44217  *
44218  *     def visit_RaiseStatNode(self, node):             # <<<<<<<<<<<<<<
44219  *         self.mark_position(node)
44220  *         self.visitchildren(node)
44221  */
44222   __pyx_tuple__222 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_node); if (unlikely(!__pyx_tuple__222)) __PYX_ERR(0, 1216, __pyx_L1_error)
44223   __Pyx_GOTREF(__pyx_tuple__222);
44224   __Pyx_GIVEREF(__pyx_tuple__222);
44225   __pyx_codeobj__223 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__222, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_RaiseStatNode, 1216, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__223)) __PYX_ERR(0, 1216, __pyx_L1_error)
44226 
44227   /* "Cython/Compiler/FlowControl.py":1224
44228  *         return node
44229  *
44230  *     def visit_ReraiseStatNode(self, node):             # <<<<<<<<<<<<<<
44231  *         self.mark_position(node)
44232  *         if self.flow.exceptions:
44233  */
44234   __pyx_tuple__224 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_node); if (unlikely(!__pyx_tuple__224)) __PYX_ERR(0, 1224, __pyx_L1_error)
44235   __Pyx_GOTREF(__pyx_tuple__224);
44236   __Pyx_GIVEREF(__pyx_tuple__224);
44237   __pyx_codeobj__225 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__224, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_ReraiseStatNode, 1224, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__225)) __PYX_ERR(0, 1224, __pyx_L1_error)
44238 
44239   /* "Cython/Compiler/FlowControl.py":1231
44240  *         return node
44241  *
44242  *     def visit_ReturnStatNode(self, node):             # <<<<<<<<<<<<<<
44243  *         self.mark_position(node)
44244  *         self.visitchildren(node)
44245  */
44246   __pyx_tuple__226 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_outer_exception_handlers, __pyx_n_s_handler, __pyx_n_s_exit_point, __pyx_n_s_next_handler); if (unlikely(!__pyx_tuple__226)) __PYX_ERR(0, 1231, __pyx_L1_error)
44247   __Pyx_GOTREF(__pyx_tuple__226);
44248   __Pyx_GIVEREF(__pyx_tuple__226);
44249   __pyx_codeobj__227 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__226, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_ReturnStatNode, 1231, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__227)) __PYX_ERR(0, 1231, __pyx_L1_error)
44250 
44251   /* "Cython/Compiler/FlowControl.py":1254
44252  *         return node
44253  *
44254  *     def visit_BreakStatNode(self, node):             # <<<<<<<<<<<<<<
44255  *         if not self.flow.loops:
44256  *             #error(node.pos, "break statement not inside loop")
44257  */
44258   __pyx_tuple__228 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_loop, __pyx_n_s_exception); if (unlikely(!__pyx_tuple__228)) __PYX_ERR(0, 1254, __pyx_L1_error)
44259   __Pyx_GOTREF(__pyx_tuple__228);
44260   __Pyx_GIVEREF(__pyx_tuple__228);
44261   __pyx_codeobj__229 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__228, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_BreakStatNode, 1254, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__229)) __PYX_ERR(0, 1254, __pyx_L1_error)
44262 
44263   /* "Cython/Compiler/FlowControl.py":1271
44264  *         return node
44265  *
44266  *     def visit_ContinueStatNode(self, node):             # <<<<<<<<<<<<<<
44267  *         if not self.flow.loops:
44268  *             #error(node.pos, "continue statement not inside loop")
44269  */
44270   __pyx_tuple__230 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_node, __pyx_n_s_loop, __pyx_n_s_exception); if (unlikely(!__pyx_tuple__230)) __PYX_ERR(0, 1271, __pyx_L1_error)
44271   __Pyx_GOTREF(__pyx_tuple__230);
44272   __Pyx_GIVEREF(__pyx_tuple__230);
44273   __pyx_codeobj__231 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__230, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_ContinueStatNode, 1271, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__231)) __PYX_ERR(0, 1271, __pyx_L1_error)
44274 
44275   /* "Cython/Compiler/FlowControl.py":1288
44276  *         return node
44277  *
44278  *     def visit_ComprehensionNode(self, node):             # <<<<<<<<<<<<<<
44279  *         if node.expr_scope:
44280  *             self.env_stack.append(self.env)
44281  */
44282   __pyx_tuple__232 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_node); if (unlikely(!__pyx_tuple__232)) __PYX_ERR(0, 1288, __pyx_L1_error)
44283   __Pyx_GOTREF(__pyx_tuple__232);
44284   __Pyx_GIVEREF(__pyx_tuple__232);
44285   __pyx_codeobj__233 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__232, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_ComprehensionNode, 1288, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__233)) __PYX_ERR(0, 1288, __pyx_L1_error)
44286 
44287   /* "Cython/Compiler/FlowControl.py":1298
44288  *         return node
44289  *
44290  *     def visit_ScopedExprNode(self, node):             # <<<<<<<<<<<<<<
44291  *         if node.expr_scope:
44292  *             self.env_stack.append(self.env)
44293  */
44294   __pyx_tuple__234 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_node); if (unlikely(!__pyx_tuple__234)) __PYX_ERR(0, 1298, __pyx_L1_error)
44295   __Pyx_GOTREF(__pyx_tuple__234);
44296   __Pyx_GIVEREF(__pyx_tuple__234);
44297   __pyx_codeobj__235 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__234, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_ScopedExprNode, 1298, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__235)) __PYX_ERR(0, 1298, __pyx_L1_error)
44298 
44299   /* "Cython/Compiler/FlowControl.py":1307
44300  *         return node
44301  *
44302  *     def visit_PyClassDefNode(self, node):             # <<<<<<<<<<<<<<
44303  *         self.visitchildren(node, ('dict', 'metaclass',
44304  *                                   'mkw', 'bases', 'class_result'))
44305  */
44306   __pyx_tuple__236 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_node); if (unlikely(!__pyx_tuple__236)) __PYX_ERR(0, 1307, __pyx_L1_error)
44307   __Pyx_GOTREF(__pyx_tuple__236);
44308   __Pyx_GIVEREF(__pyx_tuple__236);
44309   __pyx_codeobj__237 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__236, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_PyClassDefNode, 1307, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__237)) __PYX_ERR(0, 1307, __pyx_L1_error)
44310 
44311   /* "Cython/Compiler/FlowControl.py":1320
44312  *         return node
44313  *
44314  *     def visit_AmpersandNode(self, node):             # <<<<<<<<<<<<<<
44315  *         if node.operand.is_name:
44316  *             # Fake assignment to silence warning
44317  */
44318   __pyx_tuple__238 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_node); if (unlikely(!__pyx_tuple__238)) __PYX_ERR(0, 1320, __pyx_L1_error)
44319   __Pyx_GOTREF(__pyx_tuple__238);
44320   __Pyx_GIVEREF(__pyx_tuple__238);
44321   __pyx_codeobj__239 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__238, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_FlowControl_py, __pyx_n_s_visit_AmpersandNode, 1320, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__239)) __PYX_ERR(0, 1320, __pyx_L1_error)
44322 
44323   /* "(tree fragment)":1
44324  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
44325  *     cdef tuple state
44326  *     cdef object _dict
44327  */
44328   __pyx_tuple__240 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_state, __pyx_n_s_dict_3, __pyx_n_s_use_setstate); if (unlikely(!__pyx_tuple__240)) __PYX_ERR(2, 1, __pyx_L1_error)
44329   __Pyx_GOTREF(__pyx_tuple__240);
44330   __Pyx_GIVEREF(__pyx_tuple__240);
44331   __pyx_codeobj__241 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__240, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__241)) __PYX_ERR(2, 1, __pyx_L1_error)
44332 
44333   /* "(tree fragment)":16
44334  *     else:
44335  *         return __pyx_unpickle_ControlFlowAnalysis, (type(self), 0x9348192, state)
44336  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
44337  *     __pyx_unpickle_ControlFlowAnalysis__set_state(self, __pyx_state)
44338  */
44339   __pyx_tuple__242 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__242)) __PYX_ERR(2, 16, __pyx_L1_error)
44340   __Pyx_GOTREF(__pyx_tuple__242);
44341   __Pyx_GIVEREF(__pyx_tuple__242);
44342   __pyx_codeobj__243 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__242, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__243)) __PYX_ERR(2, 16, __pyx_L1_error)
44343 
44344   /* "(tree fragment)":1
44345  * def __pyx_unpickle_ControlBlock(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
44346  *     cdef object __pyx_PickleError
44347  *     cdef object __pyx_result
44348  */
44349   __pyx_tuple__244 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__244)) __PYX_ERR(2, 1, __pyx_L1_error)
44350   __Pyx_GOTREF(__pyx_tuple__244);
44351   __Pyx_GIVEREF(__pyx_tuple__244);
44352   __pyx_codeobj__245 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__244, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_ControlBlock, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__245)) __PYX_ERR(2, 1, __pyx_L1_error)
44353   __pyx_tuple__246 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__246)) __PYX_ERR(2, 1, __pyx_L1_error)
44354   __Pyx_GOTREF(__pyx_tuple__246);
44355   __Pyx_GIVEREF(__pyx_tuple__246);
44356   __pyx_codeobj__247 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__246, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_ExitBlock, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__247)) __PYX_ERR(2, 1, __pyx_L1_error)
44357   __pyx_tuple__248 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__248)) __PYX_ERR(2, 1, __pyx_L1_error)
44358   __Pyx_GOTREF(__pyx_tuple__248);
44359   __Pyx_GIVEREF(__pyx_tuple__248);
44360   __pyx_codeobj__249 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__248, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_AssignmentList, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__249)) __PYX_ERR(2, 1, __pyx_L1_error)
44361   __pyx_tuple__250 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__250)) __PYX_ERR(2, 1, __pyx_L1_error)
44362   __Pyx_GOTREF(__pyx_tuple__250);
44363   __Pyx_GIVEREF(__pyx_tuple__250);
44364   __pyx_codeobj__251 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__250, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_ControlFlow, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__251)) __PYX_ERR(2, 1, __pyx_L1_error)
44365   __pyx_tuple__252 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__252)) __PYX_ERR(2, 1, __pyx_L1_error)
44366   __Pyx_GOTREF(__pyx_tuple__252);
44367   __Pyx_GIVEREF(__pyx_tuple__252);
44368   __pyx_codeobj__253 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__252, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_NameAssignment, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__253)) __PYX_ERR(2, 1, __pyx_L1_error)
44369   __pyx_tuple__254 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__254)) __PYX_ERR(2, 1, __pyx_L1_error)
44370   __Pyx_GOTREF(__pyx_tuple__254);
44371   __Pyx_GIVEREF(__pyx_tuple__254);
44372   __pyx_codeobj__255 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__254, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Uninitialized, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__255)) __PYX_ERR(2, 1, __pyx_L1_error)
44373   __pyx_tuple__256 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__256)) __PYX_ERR(2, 1, __pyx_L1_error)
44374   __Pyx_GOTREF(__pyx_tuple__256);
44375   __Pyx_GIVEREF(__pyx_tuple__256);
44376   __pyx_codeobj__257 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__256, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Unknown, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__257)) __PYX_ERR(2, 1, __pyx_L1_error)
44377   __pyx_tuple__258 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__258)) __PYX_ERR(2, 1, __pyx_L1_error)
44378   __Pyx_GOTREF(__pyx_tuple__258);
44379   __Pyx_GIVEREF(__pyx_tuple__258);
44380   __pyx_codeobj__259 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__258, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_MessageCollection, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__259)) __PYX_ERR(2, 1, __pyx_L1_error)
44381   __pyx_tuple__260 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__260)) __PYX_ERR(2, 1, __pyx_L1_error)
44382   __Pyx_GOTREF(__pyx_tuple__260);
44383   __Pyx_GIVEREF(__pyx_tuple__260);
44384   __pyx_codeobj__261 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__260, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_AssignmentCollect, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__261)) __PYX_ERR(2, 1, __pyx_L1_error)
44385   __pyx_tuple__262 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__262)) __PYX_ERR(2, 1, __pyx_L1_error)
44386   __Pyx_GOTREF(__pyx_tuple__262);
44387   __Pyx_GIVEREF(__pyx_tuple__262);
44388   __pyx_codeobj__263 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__262, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_ControlFlowAnalys, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__263)) __PYX_ERR(2, 1, __pyx_L1_error)
44389   __Pyx_RefNannyFinishContext();
44390   return 0;
44391   __pyx_L1_error:;
44392   __Pyx_RefNannyFinishContext();
44393   return -1;
44394 }
44395 
__Pyx_InitGlobals(void)44396 static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
44397   __pyx_umethod_PyDict_Type_items.type = (PyObject*)&PyDict_Type;
44398   __pyx_umethod_PyDict_Type_values.type = (PyObject*)&PyDict_Type;
44399   __pyx_umethod_PyList_Type_pop.type = (PyObject*)&PyList_Type;
44400   if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
44401   __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error)
44402   __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error)
44403   __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error)
44404   __pyx_int_19994619 = PyInt_FromLong(19994619L); if (unlikely(!__pyx_int_19994619)) __PYX_ERR(0, 1, __pyx_L1_error)
44405   __pyx_int_60190953 = PyInt_FromLong(60190953L); if (unlikely(!__pyx_int_60190953)) __PYX_ERR(0, 1, __pyx_L1_error)
44406   __pyx_int_102612362 = PyInt_FromLong(102612362L); if (unlikely(!__pyx_int_102612362)) __PYX_ERR(0, 1, __pyx_L1_error)
44407   __pyx_int_154435986 = PyInt_FromLong(154435986L); if (unlikely(!__pyx_int_154435986)) __PYX_ERR(0, 1, __pyx_L1_error)
44408   __pyx_int_222419149 = PyInt_FromLong(222419149L); if (unlikely(!__pyx_int_222419149)) __PYX_ERR(0, 1, __pyx_L1_error)
44409   __pyx_int_233244984 = PyInt_FromLong(233244984L); if (unlikely(!__pyx_int_233244984)) __PYX_ERR(0, 1, __pyx_L1_error)
44410   __pyx_int_234113042 = PyInt_FromLong(234113042L); if (unlikely(!__pyx_int_234113042)) __PYX_ERR(0, 1, __pyx_L1_error)
44411   __pyx_int_254481416 = PyInt_FromLong(254481416L); if (unlikely(!__pyx_int_254481416)) __PYX_ERR(0, 1, __pyx_L1_error)
44412   __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) __PYX_ERR(0, 1, __pyx_L1_error)
44413   return 0;
44414   __pyx_L1_error:;
44415   return -1;
44416 }
44417 
44418 static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/
44419 static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/
44420 static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/
44421 static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/
44422 static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/
44423 static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/
44424 static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/
44425 
__Pyx_modinit_global_init_code(void)44426 static int __Pyx_modinit_global_init_code(void) {
44427   __Pyx_RefNannyDeclarations
44428   __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0);
44429   /*--- Global init code ---*/
44430   __pyx_v_6Cython_8Compiler_11FlowControl_PyrexTypes = Py_None; Py_INCREF(Py_None);
44431   __pyx_v_6Cython_8Compiler_11FlowControl_ExprNodes = Py_None; Py_INCREF(Py_None);
44432   __pyx_v_6Cython_8Compiler_11FlowControl_Nodes = Py_None; Py_INCREF(Py_None);
44433   __pyx_v_6Cython_8Compiler_11FlowControl_Builtin = Py_None; Py_INCREF(Py_None);
44434   __pyx_v_6Cython_8Compiler_11FlowControl_InternalError = Py_None; Py_INCREF(Py_None);
44435   __pyx_v_6Cython_8Compiler_11FlowControl_error = Py_None; Py_INCREF(Py_None);
44436   __pyx_v_6Cython_8Compiler_11FlowControl_warning = Py_None; Py_INCREF(Py_None);
44437   __pyx_v_6Cython_8Compiler_11FlowControl_py_object_type = Py_None; Py_INCREF(Py_None);
44438   __pyx_v_6Cython_8Compiler_11FlowControl_unspecified_type = Py_None; Py_INCREF(Py_None);
44439   __pyx_v_6Cython_8Compiler_11FlowControl_object_expr = Py_None; Py_INCREF(Py_None);
44440   __pyx_v_6Cython_8Compiler_11FlowControl_fake_rhs_expr = Py_None; Py_INCREF(Py_None);
44441   __pyx_v_6Cython_8Compiler_11FlowControl_TypedExprNode = Py_None; Py_INCREF(Py_None);
44442   __Pyx_RefNannyFinishContext();
44443   return 0;
44444 }
44445 
__Pyx_modinit_variable_export_code(void)44446 static int __Pyx_modinit_variable_export_code(void) {
44447   __Pyx_RefNannyDeclarations
44448   __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0);
44449   /*--- Variable export code ---*/
44450   __Pyx_RefNannyFinishContext();
44451   return 0;
44452 }
44453 
__Pyx_modinit_function_export_code(void)44454 static int __Pyx_modinit_function_export_code(void) {
44455   __Pyx_RefNannyDeclarations
44456   int __pyx_lineno = 0;
44457   const char *__pyx_filename = NULL;
44458   int __pyx_clineno = 0;
44459   __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0);
44460   /*--- Function export code ---*/
44461   if (__Pyx_ExportFunction("check_definitions", (void (*)(void))__pyx_f_6Cython_8Compiler_11FlowControl_check_definitions, "PyObject *(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
44462   __Pyx_RefNannyFinishContext();
44463   return 0;
44464   __pyx_L1_error:;
44465   __Pyx_RefNannyFinishContext();
44466   return -1;
44467 }
44468 
__Pyx_modinit_type_init_code(void)44469 static int __Pyx_modinit_type_init_code(void) {
44470   __Pyx_RefNannyDeclarations
44471   PyObject *__pyx_t_1 = NULL;
44472   int __pyx_lineno = 0;
44473   const char *__pyx_filename = NULL;
44474   int __pyx_clineno = 0;
44475   __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0);
44476   /*--- Type init code ---*/
44477   __pyx_vtabptr_6Cython_8Compiler_11FlowControl_ControlBlock = &__pyx_vtable_6Cython_8Compiler_11FlowControl_ControlBlock;
44478   __pyx_vtable_6Cython_8Compiler_11FlowControl_ControlBlock.empty = (int (*)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_11FlowControl_12ControlBlock_empty;
44479   __pyx_vtable_6Cython_8Compiler_11FlowControl_ControlBlock.detach = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_11FlowControl_12ControlBlock_detach;
44480   __pyx_vtable_6Cython_8Compiler_11FlowControl_ControlBlock.add_child = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *, PyObject *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_11FlowControl_12ControlBlock_add_child;
44481   if (PyType_Ready(&__pyx_type_6Cython_8Compiler_11FlowControl_ControlBlock) < 0) __PYX_ERR(0, 36, __pyx_L1_error)
44482   #if PY_VERSION_HEX < 0x030800B1
44483   __pyx_type_6Cython_8Compiler_11FlowControl_ControlBlock.tp_print = 0;
44484   #endif
44485   if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6Cython_8Compiler_11FlowControl_ControlBlock.tp_dictoffset && __pyx_type_6Cython_8Compiler_11FlowControl_ControlBlock.tp_getattro == PyObject_GenericGetAttr)) {
44486     __pyx_type_6Cython_8Compiler_11FlowControl_ControlBlock.tp_getattro = __Pyx_PyObject_GenericGetAttr;
44487   }
44488   if (__Pyx_SetVtable(__pyx_type_6Cython_8Compiler_11FlowControl_ControlBlock.tp_dict, __pyx_vtabptr_6Cython_8Compiler_11FlowControl_ControlBlock) < 0) __PYX_ERR(0, 36, __pyx_L1_error)
44489   if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ControlBlock, (PyObject *)&__pyx_type_6Cython_8Compiler_11FlowControl_ControlBlock) < 0) __PYX_ERR(0, 36, __pyx_L1_error)
44490   if (__Pyx_setup_reduce((PyObject*)&__pyx_type_6Cython_8Compiler_11FlowControl_ControlBlock) < 0) __PYX_ERR(0, 36, __pyx_L1_error)
44491   __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock = &__pyx_type_6Cython_8Compiler_11FlowControl_ControlBlock;
44492   __pyx_vtabptr_6Cython_8Compiler_11FlowControl_ExitBlock = &__pyx_vtable_6Cython_8Compiler_11FlowControl_ExitBlock;
44493   __pyx_vtable_6Cython_8Compiler_11FlowControl_ExitBlock.__pyx_base = *__pyx_vtabptr_6Cython_8Compiler_11FlowControl_ControlBlock;
44494   __pyx_vtable_6Cython_8Compiler_11FlowControl_ExitBlock.__pyx_base.empty = (int (*)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlBlock *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_11FlowControl_9ExitBlock_empty;
44495   __pyx_type_6Cython_8Compiler_11FlowControl_ExitBlock.tp_base = __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock;
44496   if (PyType_Ready(&__pyx_type_6Cython_8Compiler_11FlowControl_ExitBlock) < 0) __PYX_ERR(0, 91, __pyx_L1_error)
44497   #if PY_VERSION_HEX < 0x030800B1
44498   __pyx_type_6Cython_8Compiler_11FlowControl_ExitBlock.tp_print = 0;
44499   #endif
44500   if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6Cython_8Compiler_11FlowControl_ExitBlock.tp_dictoffset && __pyx_type_6Cython_8Compiler_11FlowControl_ExitBlock.tp_getattro == PyObject_GenericGetAttr)) {
44501     __pyx_type_6Cython_8Compiler_11FlowControl_ExitBlock.tp_getattro = __Pyx_PyObject_GenericGetAttr;
44502   }
44503   if (__Pyx_SetVtable(__pyx_type_6Cython_8Compiler_11FlowControl_ExitBlock.tp_dict, __pyx_vtabptr_6Cython_8Compiler_11FlowControl_ExitBlock) < 0) __PYX_ERR(0, 91, __pyx_L1_error)
44504   if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ExitBlock, (PyObject *)&__pyx_type_6Cython_8Compiler_11FlowControl_ExitBlock) < 0) __PYX_ERR(0, 91, __pyx_L1_error)
44505   if (__Pyx_setup_reduce((PyObject*)&__pyx_type_6Cython_8Compiler_11FlowControl_ExitBlock) < 0) __PYX_ERR(0, 91, __pyx_L1_error)
44506   __pyx_ptype_6Cython_8Compiler_11FlowControl_ExitBlock = &__pyx_type_6Cython_8Compiler_11FlowControl_ExitBlock;
44507   if (PyType_Ready(&__pyx_type_6Cython_8Compiler_11FlowControl_NameAssignment) < 0) __PYX_ERR(0, 315, __pyx_L1_error)
44508   #if PY_VERSION_HEX < 0x030800B1
44509   __pyx_type_6Cython_8Compiler_11FlowControl_NameAssignment.tp_print = 0;
44510   #endif
44511   if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6Cython_8Compiler_11FlowControl_NameAssignment.tp_dictoffset && __pyx_type_6Cython_8Compiler_11FlowControl_NameAssignment.tp_getattro == PyObject_GenericGetAttr)) {
44512     __pyx_type_6Cython_8Compiler_11FlowControl_NameAssignment.tp_getattro = __Pyx_PyObject_GenericGetAttr;
44513   }
44514   if (PyObject_SetAttr(__pyx_m, __pyx_n_s_NameAssignment, (PyObject *)&__pyx_type_6Cython_8Compiler_11FlowControl_NameAssignment) < 0) __PYX_ERR(0, 315, __pyx_L1_error)
44515   if (__Pyx_setup_reduce((PyObject*)&__pyx_type_6Cython_8Compiler_11FlowControl_NameAssignment) < 0) __PYX_ERR(0, 315, __pyx_L1_error)
44516   __pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment = &__pyx_type_6Cython_8Compiler_11FlowControl_NameAssignment;
44517   if (PyType_Ready(&__pyx_type_6Cython_8Compiler_11FlowControl_AssignmentList) < 0) __PYX_ERR(0, 98, __pyx_L1_error)
44518   #if PY_VERSION_HEX < 0x030800B1
44519   __pyx_type_6Cython_8Compiler_11FlowControl_AssignmentList.tp_print = 0;
44520   #endif
44521   if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6Cython_8Compiler_11FlowControl_AssignmentList.tp_dictoffset && __pyx_type_6Cython_8Compiler_11FlowControl_AssignmentList.tp_getattro == PyObject_GenericGetAttr)) {
44522     __pyx_type_6Cython_8Compiler_11FlowControl_AssignmentList.tp_getattro = __Pyx_PyObject_GenericGetAttr;
44523   }
44524   if (PyObject_SetAttr(__pyx_m, __pyx_n_s_AssignmentList, (PyObject *)&__pyx_type_6Cython_8Compiler_11FlowControl_AssignmentList) < 0) __PYX_ERR(0, 98, __pyx_L1_error)
44525   if (__Pyx_setup_reduce((PyObject*)&__pyx_type_6Cython_8Compiler_11FlowControl_AssignmentList) < 0) __PYX_ERR(0, 98, __pyx_L1_error)
44526   __pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentList = &__pyx_type_6Cython_8Compiler_11FlowControl_AssignmentList;
44527   __pyx_t_1 = PyImport_ImportModule("Cython.Compiler.Visitor"); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error)
44528   __Pyx_GOTREF(__pyx_t_1);
44529   __pyx_ptype_6Cython_8Compiler_7Visitor_TreeVisitor = __Pyx_ImportType(__pyx_t_1, "Cython.Compiler.Visitor", "TreeVisitor", sizeof(struct __pyx_obj_6Cython_8Compiler_7Visitor_TreeVisitor), __Pyx_ImportType_CheckSize_Warn);
44530    if (!__pyx_ptype_6Cython_8Compiler_7Visitor_TreeVisitor) __PYX_ERR(0, 1, __pyx_L1_error)
44531   __pyx_vtabptr_6Cython_8Compiler_7Visitor_TreeVisitor = (struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_TreeVisitor*)__Pyx_GetVtable(__pyx_ptype_6Cython_8Compiler_7Visitor_TreeVisitor->tp_dict); if (unlikely(!__pyx_vtabptr_6Cython_8Compiler_7Visitor_TreeVisitor)) __PYX_ERR(0, 1, __pyx_L1_error)
44532   __pyx_vtabptr_6Cython_8Compiler_11FlowControl_AssignmentCollector = &__pyx_vtable_6Cython_8Compiler_11FlowControl_AssignmentCollector;
44533   __pyx_vtable_6Cython_8Compiler_11FlowControl_AssignmentCollector.__pyx_base = *__pyx_vtabptr_6Cython_8Compiler_7Visitor_TreeVisitor;
44534   __pyx_type_6Cython_8Compiler_11FlowControl_AssignmentCollector.tp_base = __pyx_ptype_6Cython_8Compiler_7Visitor_TreeVisitor;
44535   if (PyType_Ready(&__pyx_type_6Cython_8Compiler_11FlowControl_AssignmentCollector) < 0) __PYX_ERR(0, 658, __pyx_L1_error)
44536   #if PY_VERSION_HEX < 0x030800B1
44537   __pyx_type_6Cython_8Compiler_11FlowControl_AssignmentCollector.tp_print = 0;
44538   #endif
44539   if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6Cython_8Compiler_11FlowControl_AssignmentCollector.tp_dictoffset && __pyx_type_6Cython_8Compiler_11FlowControl_AssignmentCollector.tp_getattro == PyObject_GenericGetAttr)) {
44540     __pyx_type_6Cython_8Compiler_11FlowControl_AssignmentCollector.tp_getattro = __Pyx_PyObject_GenericGetAttr;
44541   }
44542   if (__Pyx_SetVtable(__pyx_type_6Cython_8Compiler_11FlowControl_AssignmentCollector.tp_dict, __pyx_vtabptr_6Cython_8Compiler_11FlowControl_AssignmentCollector) < 0) __PYX_ERR(0, 658, __pyx_L1_error)
44543   if (PyObject_SetAttr(__pyx_m, __pyx_n_s_AssignmentCollector, (PyObject *)&__pyx_type_6Cython_8Compiler_11FlowControl_AssignmentCollector) < 0) __PYX_ERR(0, 658, __pyx_L1_error)
44544   if (__Pyx_setup_reduce((PyObject*)&__pyx_type_6Cython_8Compiler_11FlowControl_AssignmentCollector) < 0) __PYX_ERR(0, 658, __pyx_L1_error)
44545   __pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentCollector = &__pyx_type_6Cython_8Compiler_11FlowControl_AssignmentCollector;
44546   __pyx_vtabptr_6Cython_8Compiler_11FlowControl_ControlFlow = &__pyx_vtable_6Cython_8Compiler_11FlowControl_ControlFlow;
44547   __pyx_vtable_6Cython_8Compiler_11FlowControl_ControlFlow.newblock = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock *__pyx_optional_args))__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_newblock;
44548   __pyx_vtable_6Cython_8Compiler_11FlowControl_ControlFlow.nextblock = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock *__pyx_optional_args))__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_nextblock;
44549   __pyx_vtable_6Cython_8Compiler_11FlowControl_ControlFlow.is_tracked = (int (*)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_is_tracked;
44550   __pyx_vtable_6Cython_8Compiler_11FlowControl_ControlFlow.is_statically_assigned = (int (*)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_is_statically_assigned;
44551   __pyx_vtable_6Cython_8Compiler_11FlowControl_ControlFlow.mark_position = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_position;
44552   __pyx_vtable_6Cython_8Compiler_11FlowControl_ControlFlow.mark_assignment = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_assignment;
44553   __pyx_vtable_6Cython_8Compiler_11FlowControl_ControlFlow.mark_argument = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_argument;
44554   __pyx_vtable_6Cython_8Compiler_11FlowControl_ControlFlow.mark_deletion = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_deletion;
44555   __pyx_vtable_6Cython_8Compiler_11FlowControl_ControlFlow.mark_reference = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_mark_reference;
44556   __pyx_vtable_6Cython_8Compiler_11FlowControl_ControlFlow.normalize = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_normalize;
44557   __pyx_vtable_6Cython_8Compiler_11FlowControl_ControlFlow.initialize = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_initialize;
44558   __pyx_vtable_6Cython_8Compiler_11FlowControl_ControlFlow.map_one = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_map_one;
44559   __pyx_vtable_6Cython_8Compiler_11FlowControl_ControlFlow.reaching_definitions = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlow *))__pyx_f_6Cython_8Compiler_11FlowControl_11ControlFlow_reaching_definitions;
44560   if (PyType_Ready(&__pyx_type_6Cython_8Compiler_11FlowControl_ControlFlow) < 0) __PYX_ERR(0, 103, __pyx_L1_error)
44561   #if PY_VERSION_HEX < 0x030800B1
44562   __pyx_type_6Cython_8Compiler_11FlowControl_ControlFlow.tp_print = 0;
44563   #endif
44564   if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6Cython_8Compiler_11FlowControl_ControlFlow.tp_dictoffset && __pyx_type_6Cython_8Compiler_11FlowControl_ControlFlow.tp_getattro == PyObject_GenericGetAttr)) {
44565     __pyx_type_6Cython_8Compiler_11FlowControl_ControlFlow.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
44566   }
44567   if (__Pyx_SetVtable(__pyx_type_6Cython_8Compiler_11FlowControl_ControlFlow.tp_dict, __pyx_vtabptr_6Cython_8Compiler_11FlowControl_ControlFlow) < 0) __PYX_ERR(0, 103, __pyx_L1_error)
44568   if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ControlFlow, (PyObject *)&__pyx_type_6Cython_8Compiler_11FlowControl_ControlFlow) < 0) __PYX_ERR(0, 103, __pyx_L1_error)
44569   if (__Pyx_setup_reduce((PyObject*)&__pyx_type_6Cython_8Compiler_11FlowControl_ControlFlow) < 0) __PYX_ERR(0, 103, __pyx_L1_error)
44570   __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow = &__pyx_type_6Cython_8Compiler_11FlowControl_ControlFlow;
44571   if (PyType_Ready(&__pyx_type_6Cython_8Compiler_11FlowControl_Uninitialized) < 0) __PYX_ERR(0, 383, __pyx_L1_error)
44572   #if PY_VERSION_HEX < 0x030800B1
44573   __pyx_type_6Cython_8Compiler_11FlowControl_Uninitialized.tp_print = 0;
44574   #endif
44575   if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6Cython_8Compiler_11FlowControl_Uninitialized.tp_dictoffset && __pyx_type_6Cython_8Compiler_11FlowControl_Uninitialized.tp_getattro == PyObject_GenericGetAttr)) {
44576     __pyx_type_6Cython_8Compiler_11FlowControl_Uninitialized.tp_getattro = __Pyx_PyObject_GenericGetAttr;
44577   }
44578   if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Uninitialized, (PyObject *)&__pyx_type_6Cython_8Compiler_11FlowControl_Uninitialized) < 0) __PYX_ERR(0, 383, __pyx_L1_error)
44579   if (__Pyx_setup_reduce((PyObject*)&__pyx_type_6Cython_8Compiler_11FlowControl_Uninitialized) < 0) __PYX_ERR(0, 383, __pyx_L1_error)
44580   __pyx_ptype_6Cython_8Compiler_11FlowControl_Uninitialized = &__pyx_type_6Cython_8Compiler_11FlowControl_Uninitialized;
44581   if (PyType_Ready(&__pyx_type_6Cython_8Compiler_11FlowControl_Unknown) < 0) __PYX_ERR(0, 387, __pyx_L1_error)
44582   #if PY_VERSION_HEX < 0x030800B1
44583   __pyx_type_6Cython_8Compiler_11FlowControl_Unknown.tp_print = 0;
44584   #endif
44585   if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6Cython_8Compiler_11FlowControl_Unknown.tp_dictoffset && __pyx_type_6Cython_8Compiler_11FlowControl_Unknown.tp_getattro == PyObject_GenericGetAttr)) {
44586     __pyx_type_6Cython_8Compiler_11FlowControl_Unknown.tp_getattro = __Pyx_PyObject_GenericGetAttr;
44587   }
44588   if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Unknown, (PyObject *)&__pyx_type_6Cython_8Compiler_11FlowControl_Unknown) < 0) __PYX_ERR(0, 387, __pyx_L1_error)
44589   if (__Pyx_setup_reduce((PyObject*)&__pyx_type_6Cython_8Compiler_11FlowControl_Unknown) < 0) __PYX_ERR(0, 387, __pyx_L1_error)
44590   __pyx_ptype_6Cython_8Compiler_11FlowControl_Unknown = &__pyx_type_6Cython_8Compiler_11FlowControl_Unknown;
44591   if (PyType_Ready(&__pyx_type_6Cython_8Compiler_11FlowControl_MessageCollection) < 0) __PYX_ERR(0, 505, __pyx_L1_error)
44592   #if PY_VERSION_HEX < 0x030800B1
44593   __pyx_type_6Cython_8Compiler_11FlowControl_MessageCollection.tp_print = 0;
44594   #endif
44595   if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6Cython_8Compiler_11FlowControl_MessageCollection.tp_dictoffset && __pyx_type_6Cython_8Compiler_11FlowControl_MessageCollection.tp_getattro == PyObject_GenericGetAttr)) {
44596     __pyx_type_6Cython_8Compiler_11FlowControl_MessageCollection.tp_getattro = __Pyx_PyObject_GenericGetAttr;
44597   }
44598   if (PyObject_SetAttr(__pyx_m, __pyx_n_s_MessageCollection, (PyObject *)&__pyx_type_6Cython_8Compiler_11FlowControl_MessageCollection) < 0) __PYX_ERR(0, 505, __pyx_L1_error)
44599   if (__Pyx_setup_reduce((PyObject*)&__pyx_type_6Cython_8Compiler_11FlowControl_MessageCollection) < 0) __PYX_ERR(0, 505, __pyx_L1_error)
44600   __pyx_ptype_6Cython_8Compiler_11FlowControl_MessageCollection = &__pyx_type_6Cython_8Compiler_11FlowControl_MessageCollection;
44601   __pyx_ptype_6Cython_8Compiler_7Visitor_CythonTransform = __Pyx_ImportType(__pyx_t_1, "Cython.Compiler.Visitor", "CythonTransform", sizeof(struct __pyx_obj_6Cython_8Compiler_7Visitor_CythonTransform), __Pyx_ImportType_CheckSize_Warn);
44602    if (!__pyx_ptype_6Cython_8Compiler_7Visitor_CythonTransform) __PYX_ERR(0, 1, __pyx_L1_error)
44603   __pyx_vtabptr_6Cython_8Compiler_7Visitor_CythonTransform = (struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_CythonTransform*)__Pyx_GetVtable(__pyx_ptype_6Cython_8Compiler_7Visitor_CythonTransform->tp_dict); if (unlikely(!__pyx_vtabptr_6Cython_8Compiler_7Visitor_CythonTransform)) __PYX_ERR(0, 1, __pyx_L1_error)
44604   __pyx_vtabptr_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis = &__pyx_vtable_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis;
44605   __pyx_vtable_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis.__pyx_base = *__pyx_vtabptr_6Cython_8Compiler_7Visitor_CythonTransform;
44606   __pyx_vtable_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis.mark_assignment = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment *__pyx_optional_args))__pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_assignment;
44607   __pyx_vtable_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis.mark_position = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis *, PyObject *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_mark_position;
44608   __pyx_type_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis.tp_base = __pyx_ptype_6Cython_8Compiler_7Visitor_CythonTransform;
44609   if (PyType_Ready(&__pyx_type_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis) < 0) __PYX_ERR(0, 674, __pyx_L1_error)
44610   #if PY_VERSION_HEX < 0x030800B1
44611   __pyx_type_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis.tp_print = 0;
44612   #endif
44613   if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis.tp_dictoffset && __pyx_type_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis.tp_getattro == PyObject_GenericGetAttr)) {
44614     __pyx_type_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
44615   }
44616   if (__Pyx_SetVtable(__pyx_type_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis.tp_dict, __pyx_vtabptr_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis) < 0) __PYX_ERR(0, 674, __pyx_L1_error)
44617   if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ControlFlowAnalysis, (PyObject *)&__pyx_type_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis) < 0) __PYX_ERR(0, 674, __pyx_L1_error)
44618   if (__Pyx_setup_reduce((PyObject*)&__pyx_type_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis) < 0) __PYX_ERR(0, 674, __pyx_L1_error)
44619   __pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis = &__pyx_type_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis;
44620   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
44621   __Pyx_RefNannyFinishContext();
44622   return 0;
44623   __pyx_L1_error:;
44624   __Pyx_XDECREF(__pyx_t_1);
44625   __Pyx_RefNannyFinishContext();
44626   return -1;
44627 }
44628 
__Pyx_modinit_type_import_code(void)44629 static int __Pyx_modinit_type_import_code(void) {
44630   __Pyx_RefNannyDeclarations
44631   PyObject *__pyx_t_1 = NULL;
44632   int __pyx_lineno = 0;
44633   const char *__pyx_filename = NULL;
44634   int __pyx_clineno = 0;
44635   __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0);
44636   /*--- Type import code ---*/
44637   __pyx_t_1 = PyImport_ImportModule("Cython.Compiler.Visitor"); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17, __pyx_L1_error)
44638   __Pyx_GOTREF(__pyx_t_1);
44639   __pyx_ptype_6Cython_8Compiler_7Visitor_VisitorTransform = __Pyx_ImportType(__pyx_t_1, "Cython.Compiler.Visitor", "VisitorTransform", sizeof(struct __pyx_obj_6Cython_8Compiler_7Visitor_VisitorTransform), __Pyx_ImportType_CheckSize_Warn);
44640    if (!__pyx_ptype_6Cython_8Compiler_7Visitor_VisitorTransform) __PYX_ERR(3, 17, __pyx_L1_error)
44641   __pyx_vtabptr_6Cython_8Compiler_7Visitor_VisitorTransform = (struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_VisitorTransform*)__Pyx_GetVtable(__pyx_ptype_6Cython_8Compiler_7Visitor_VisitorTransform->tp_dict); if (unlikely(!__pyx_vtabptr_6Cython_8Compiler_7Visitor_VisitorTransform)) __PYX_ERR(3, 17, __pyx_L1_error)
44642   __pyx_ptype_6Cython_8Compiler_7Visitor_ScopeTrackingTransform = __Pyx_ImportType(__pyx_t_1, "Cython.Compiler.Visitor", "ScopeTrackingTransform", sizeof(struct __pyx_obj_6Cython_8Compiler_7Visitor_ScopeTrackingTransform), __Pyx_ImportType_CheckSize_Warn);
44643    if (!__pyx_ptype_6Cython_8Compiler_7Visitor_ScopeTrackingTransform) __PYX_ERR(3, 27, __pyx_L1_error)
44644   __pyx_vtabptr_6Cython_8Compiler_7Visitor_ScopeTrackingTransform = (struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_ScopeTrackingTransform*)__Pyx_GetVtable(__pyx_ptype_6Cython_8Compiler_7Visitor_ScopeTrackingTransform->tp_dict); if (unlikely(!__pyx_vtabptr_6Cython_8Compiler_7Visitor_ScopeTrackingTransform)) __PYX_ERR(3, 27, __pyx_L1_error)
44645   __pyx_ptype_6Cython_8Compiler_7Visitor_EnvTransform = __Pyx_ImportType(__pyx_t_1, "Cython.Compiler.Visitor", "EnvTransform", sizeof(struct __pyx_obj_6Cython_8Compiler_7Visitor_EnvTransform), __Pyx_ImportType_CheckSize_Warn);
44646    if (!__pyx_ptype_6Cython_8Compiler_7Visitor_EnvTransform) __PYX_ERR(3, 32, __pyx_L1_error)
44647   __pyx_vtabptr_6Cython_8Compiler_7Visitor_EnvTransform = (struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_EnvTransform*)__Pyx_GetVtable(__pyx_ptype_6Cython_8Compiler_7Visitor_EnvTransform->tp_dict); if (unlikely(!__pyx_vtabptr_6Cython_8Compiler_7Visitor_EnvTransform)) __PYX_ERR(3, 32, __pyx_L1_error)
44648   __pyx_ptype_6Cython_8Compiler_7Visitor_MethodDispatcherTransform = __Pyx_ImportType(__pyx_t_1, "Cython.Compiler.Visitor", "MethodDispatcherTransform", sizeof(struct __pyx_obj_6Cython_8Compiler_7Visitor_MethodDispatcherTransform), __Pyx_ImportType_CheckSize_Warn);
44649    if (!__pyx_ptype_6Cython_8Compiler_7Visitor_MethodDispatcherTransform) __PYX_ERR(3, 35, __pyx_L1_error)
44650   __pyx_vtabptr_6Cython_8Compiler_7Visitor_MethodDispatcherTransform = (struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_MethodDispatcherTransform*)__Pyx_GetVtable(__pyx_ptype_6Cython_8Compiler_7Visitor_MethodDispatcherTransform->tp_dict); if (unlikely(!__pyx_vtabptr_6Cython_8Compiler_7Visitor_MethodDispatcherTransform)) __PYX_ERR(3, 35, __pyx_L1_error)
44651   __pyx_ptype_6Cython_8Compiler_7Visitor_RecursiveNodeReplacer = __Pyx_ImportType(__pyx_t_1, "Cython.Compiler.Visitor", "RecursiveNodeReplacer", sizeof(struct __pyx_obj_6Cython_8Compiler_7Visitor_RecursiveNodeReplacer), __Pyx_ImportType_CheckSize_Warn);
44652    if (!__pyx_ptype_6Cython_8Compiler_7Visitor_RecursiveNodeReplacer) __PYX_ERR(3, 49, __pyx_L1_error)
44653   __pyx_vtabptr_6Cython_8Compiler_7Visitor_RecursiveNodeReplacer = (struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_RecursiveNodeReplacer*)__Pyx_GetVtable(__pyx_ptype_6Cython_8Compiler_7Visitor_RecursiveNodeReplacer->tp_dict); if (unlikely(!__pyx_vtabptr_6Cython_8Compiler_7Visitor_RecursiveNodeReplacer)) __PYX_ERR(3, 49, __pyx_L1_error)
44654   __pyx_ptype_6Cython_8Compiler_7Visitor_NodeFinder = __Pyx_ImportType(__pyx_t_1, "Cython.Compiler.Visitor", "NodeFinder", sizeof(struct __pyx_obj_6Cython_8Compiler_7Visitor_NodeFinder), __Pyx_ImportType_CheckSize_Warn);
44655    if (!__pyx_ptype_6Cython_8Compiler_7Visitor_NodeFinder) __PYX_ERR(3, 53, __pyx_L1_error)
44656   __pyx_vtabptr_6Cython_8Compiler_7Visitor_NodeFinder = (struct __pyx_vtabstruct_6Cython_8Compiler_7Visitor_NodeFinder*)__Pyx_GetVtable(__pyx_ptype_6Cython_8Compiler_7Visitor_NodeFinder->tp_dict); if (unlikely(!__pyx_vtabptr_6Cython_8Compiler_7Visitor_NodeFinder)) __PYX_ERR(3, 53, __pyx_L1_error)
44657   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
44658   __Pyx_RefNannyFinishContext();
44659   return 0;
44660   __pyx_L1_error:;
44661   __Pyx_XDECREF(__pyx_t_1);
44662   __Pyx_RefNannyFinishContext();
44663   return -1;
44664 }
44665 
__Pyx_modinit_variable_import_code(void)44666 static int __Pyx_modinit_variable_import_code(void) {
44667   __Pyx_RefNannyDeclarations
44668   __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0);
44669   /*--- Variable import code ---*/
44670   __Pyx_RefNannyFinishContext();
44671   return 0;
44672 }
44673 
__Pyx_modinit_function_import_code(void)44674 static int __Pyx_modinit_function_import_code(void) {
44675   __Pyx_RefNannyDeclarations
44676   __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0);
44677   /*--- Function import code ---*/
44678   __Pyx_RefNannyFinishContext();
44679   return 0;
44680 }
44681 
44682 
44683 #ifndef CYTHON_NO_PYINIT_EXPORT
44684 #define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC
44685 #elif PY_MAJOR_VERSION < 3
44686 #ifdef __cplusplus
44687 #define __Pyx_PyMODINIT_FUNC extern "C" void
44688 #else
44689 #define __Pyx_PyMODINIT_FUNC void
44690 #endif
44691 #else
44692 #ifdef __cplusplus
44693 #define __Pyx_PyMODINIT_FUNC extern "C" PyObject *
44694 #else
44695 #define __Pyx_PyMODINIT_FUNC PyObject *
44696 #endif
44697 #endif
44698 
44699 
44700 #if PY_MAJOR_VERSION < 3
44701 __Pyx_PyMODINIT_FUNC initFlowControl(void) CYTHON_SMALL_CODE; /*proto*/
initFlowControl(void)44702 __Pyx_PyMODINIT_FUNC initFlowControl(void)
44703 #else
44704 __Pyx_PyMODINIT_FUNC PyInit_FlowControl(void) CYTHON_SMALL_CODE; /*proto*/
44705 __Pyx_PyMODINIT_FUNC PyInit_FlowControl(void)
44706 #if CYTHON_PEP489_MULTI_PHASE_INIT
44707 {
44708   return PyModuleDef_Init(&__pyx_moduledef);
44709 }
44710 static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) {
44711     #if PY_VERSION_HEX >= 0x030700A1
44712     static PY_INT64_T main_interpreter_id = -1;
44713     PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp);
44714     if (main_interpreter_id == -1) {
44715         main_interpreter_id = current_id;
44716         return (unlikely(current_id == -1)) ? -1 : 0;
44717     } else if (unlikely(main_interpreter_id != current_id))
44718     #else
44719     static PyInterpreterState *main_interpreter = NULL;
44720     PyInterpreterState *current_interpreter = PyThreadState_Get()->interp;
44721     if (!main_interpreter) {
44722         main_interpreter = current_interpreter;
44723     } else if (unlikely(main_interpreter != current_interpreter))
44724     #endif
44725     {
44726         PyErr_SetString(
44727             PyExc_ImportError,
44728             "Interpreter change detected - this module can only be loaded into one interpreter per process.");
44729         return -1;
44730     }
44731     return 0;
44732 }
44733 static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) {
44734     PyObject *value = PyObject_GetAttrString(spec, from_name);
44735     int result = 0;
44736     if (likely(value)) {
44737         if (allow_none || value != Py_None) {
44738             result = PyDict_SetItemString(moddict, to_name, value);
44739         }
44740         Py_DECREF(value);
44741     } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
44742         PyErr_Clear();
44743     } else {
44744         result = -1;
44745     }
44746     return result;
44747 }
44748 static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) {
44749     PyObject *module = NULL, *moddict, *modname;
44750     if (__Pyx_check_single_interpreter())
44751         return NULL;
44752     if (__pyx_m)
44753         return __Pyx_NewRef(__pyx_m);
44754     modname = PyObject_GetAttrString(spec, "name");
44755     if (unlikely(!modname)) goto bad;
44756     module = PyModule_NewObject(modname);
44757     Py_DECREF(modname);
44758     if (unlikely(!module)) goto bad;
44759     moddict = PyModule_GetDict(module);
44760     if (unlikely(!moddict)) goto bad;
44761     if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad;
44762     if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad;
44763     if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad;
44764     if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad;
44765     return module;
44766 bad:
44767     Py_XDECREF(module);
44768     return NULL;
44769 }
44770 
44771 
44772 static CYTHON_SMALL_CODE int __pyx_pymod_exec_FlowControl(PyObject *__pyx_pyinit_module)
44773 #endif
44774 #endif
44775 {
44776   PyObject *__pyx_t_1 = NULL;
44777   PyObject *__pyx_t_2 = NULL;
44778   PyObject *__pyx_t_3 = NULL;
44779   PyObject *__pyx_t_4 = NULL;
44780   int __pyx_lineno = 0;
44781   const char *__pyx_filename = NULL;
44782   int __pyx_clineno = 0;
44783   __Pyx_RefNannyDeclarations
44784   #if CYTHON_PEP489_MULTI_PHASE_INIT
44785   if (__pyx_m) {
44786     if (__pyx_m == __pyx_pyinit_module) return 0;
44787     PyErr_SetString(PyExc_RuntimeError, "Module 'FlowControl' has already been imported. Re-initialisation is not supported.");
44788     return -1;
44789   }
44790   #elif PY_MAJOR_VERSION >= 3
44791   if (__pyx_m) return __Pyx_NewRef(__pyx_m);
44792   #endif
44793   #if CYTHON_REFNANNY
44794 __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
44795 if (!__Pyx_RefNanny) {
44796   PyErr_Clear();
44797   __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
44798   if (!__Pyx_RefNanny)
44799       Py_FatalError("failed to import 'refnanny' module");
44800 }
44801 #endif
44802   __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_FlowControl(void)", 0);
44803   if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
44804   #ifdef __Pxy_PyFrame_Initialize_Offsets
44805   __Pxy_PyFrame_Initialize_Offsets();
44806   #endif
44807   __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error)
44808   __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error)
44809   __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error)
44810   #ifdef __Pyx_CyFunction_USED
44811   if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
44812   #endif
44813   #ifdef __Pyx_FusedFunction_USED
44814   if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
44815   #endif
44816   #ifdef __Pyx_Coroutine_USED
44817   if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
44818   #endif
44819   #ifdef __Pyx_Generator_USED
44820   if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
44821   #endif
44822   #ifdef __Pyx_AsyncGen_USED
44823   if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
44824   #endif
44825   #ifdef __Pyx_StopAsyncIteration_USED
44826   if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
44827   #endif
44828   /*--- Library function declarations ---*/
44829   /*--- Threads initialization code ---*/
44830   #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
44831   PyEval_InitThreads();
44832   #endif
44833   /*--- Module creation code ---*/
44834   #if CYTHON_PEP489_MULTI_PHASE_INIT
44835   __pyx_m = __pyx_pyinit_module;
44836   Py_INCREF(__pyx_m);
44837   #else
44838   #if PY_MAJOR_VERSION < 3
44839   __pyx_m = Py_InitModule4("FlowControl", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
44840   #else
44841   __pyx_m = PyModule_Create(&__pyx_moduledef);
44842   #endif
44843   if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error)
44844   #endif
44845   __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)
44846   Py_INCREF(__pyx_d);
44847   __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
44848   Py_INCREF(__pyx_b);
44849   __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
44850   Py_INCREF(__pyx_cython_runtime);
44851   if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
44852   /*--- Initialize various global constants etc. ---*/
44853   if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
44854   #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
44855   if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
44856   #endif
44857   if (__pyx_module_is_main_Cython__Compiler__FlowControl) {
44858     if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
44859   }
44860   #if PY_MAJOR_VERSION >= 3
44861   {
44862     PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error)
44863     if (!PyDict_GetItemString(modules, "Cython.Compiler.FlowControl")) {
44864       if (unlikely(PyDict_SetItemString(modules, "Cython.Compiler.FlowControl", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
44865     }
44866   }
44867   #endif
44868   /*--- Builtin init code ---*/
44869   if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
44870   /*--- Constants init code ---*/
44871   if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
44872   /*--- Global type/function init code ---*/
44873   (void)__Pyx_modinit_global_init_code();
44874   (void)__Pyx_modinit_variable_export_code();
44875   if (unlikely(__Pyx_modinit_function_export_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
44876   if (unlikely(__Pyx_modinit_type_init_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
44877   if (unlikely(__Pyx_modinit_type_import_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
44878   (void)__Pyx_modinit_variable_import_code();
44879   (void)__Pyx_modinit_function_import_code();
44880   /*--- Execution code ---*/
44881   #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
44882   if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
44883   #endif
44884 
44885   /* "Cython/Compiler/FlowControl.py":9
44886  *                object_expr=object, fake_rhs_expr=object, TypedExprNode=object)
44887  *
44888  * from . import Builtin             # <<<<<<<<<<<<<<
44889  * from . import ExprNodes
44890  * from . import Nodes
44891  */
44892   __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error)
44893   __Pyx_GOTREF(__pyx_t_1);
44894   __Pyx_INCREF(__pyx_n_s_Builtin);
44895   __Pyx_GIVEREF(__pyx_n_s_Builtin);
44896   PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_Builtin);
44897   __pyx_t_2 = __Pyx_Import(__pyx_kp_s__2, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error)
44898   __Pyx_GOTREF(__pyx_t_2);
44899   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
44900   __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Builtin); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error)
44901   __Pyx_GOTREF(__pyx_t_1);
44902   __Pyx_INCREF(__pyx_t_1);
44903   __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_11FlowControl_Builtin);
44904   __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_11FlowControl_Builtin, __pyx_t_1);
44905   __Pyx_GIVEREF(__pyx_t_1);
44906   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
44907   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
44908 
44909   /* "Cython/Compiler/FlowControl.py":10
44910  *
44911  * from . import Builtin
44912  * from . import ExprNodes             # <<<<<<<<<<<<<<
44913  * from . import Nodes
44914  * from . import Options
44915  */
44916   __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error)
44917   __Pyx_GOTREF(__pyx_t_2);
44918   __Pyx_INCREF(__pyx_n_s_ExprNodes);
44919   __Pyx_GIVEREF(__pyx_n_s_ExprNodes);
44920   PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_ExprNodes);
44921   __pyx_t_1 = __Pyx_Import(__pyx_kp_s__2, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10, __pyx_L1_error)
44922   __Pyx_GOTREF(__pyx_t_1);
44923   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
44924   __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_ExprNodes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error)
44925   __Pyx_GOTREF(__pyx_t_2);
44926   __Pyx_INCREF(__pyx_t_2);
44927   __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_11FlowControl_ExprNodes);
44928   __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_11FlowControl_ExprNodes, __pyx_t_2);
44929   __Pyx_GIVEREF(__pyx_t_2);
44930   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
44931   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
44932 
44933   /* "Cython/Compiler/FlowControl.py":11
44934  * from . import Builtin
44935  * from . import ExprNodes
44936  * from . import Nodes             # <<<<<<<<<<<<<<
44937  * from . import Options
44938  * from .PyrexTypes import py_object_type, unspecified_type
44939  */
44940   __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error)
44941   __Pyx_GOTREF(__pyx_t_1);
44942   __Pyx_INCREF(__pyx_n_s_Nodes);
44943   __Pyx_GIVEREF(__pyx_n_s_Nodes);
44944   PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_Nodes);
44945   __pyx_t_2 = __Pyx_Import(__pyx_kp_s__2, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error)
44946   __Pyx_GOTREF(__pyx_t_2);
44947   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
44948   __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Nodes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error)
44949   __Pyx_GOTREF(__pyx_t_1);
44950   __Pyx_INCREF(__pyx_t_1);
44951   __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_11FlowControl_Nodes);
44952   __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_11FlowControl_Nodes, __pyx_t_1);
44953   __Pyx_GIVEREF(__pyx_t_1);
44954   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
44955   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
44956 
44957   /* "Cython/Compiler/FlowControl.py":12
44958  * from . import ExprNodes
44959  * from . import Nodes
44960  * from . import Options             # <<<<<<<<<<<<<<
44961  * from .PyrexTypes import py_object_type, unspecified_type
44962  * from . import PyrexTypes
44963  */
44964   __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error)
44965   __Pyx_GOTREF(__pyx_t_2);
44966   __Pyx_INCREF(__pyx_n_s_Options);
44967   __Pyx_GIVEREF(__pyx_n_s_Options);
44968   PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_Options);
44969   __pyx_t_1 = __Pyx_Import(__pyx_kp_s__2, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12, __pyx_L1_error)
44970   __Pyx_GOTREF(__pyx_t_1);
44971   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
44972   __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_Options); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error)
44973   __Pyx_GOTREF(__pyx_t_2);
44974   if (PyDict_SetItem(__pyx_d, __pyx_n_s_Options, __pyx_t_2) < 0) __PYX_ERR(0, 12, __pyx_L1_error)
44975   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
44976   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
44977 
44978   /* "Cython/Compiler/FlowControl.py":13
44979  * from . import Nodes
44980  * from . import Options
44981  * from .PyrexTypes import py_object_type, unspecified_type             # <<<<<<<<<<<<<<
44982  * from . import PyrexTypes
44983  *
44984  */
44985   __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13, __pyx_L1_error)
44986   __Pyx_GOTREF(__pyx_t_1);
44987   __Pyx_INCREF(__pyx_n_s_py_object_type);
44988   __Pyx_GIVEREF(__pyx_n_s_py_object_type);
44989   PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_py_object_type);
44990   __Pyx_INCREF(__pyx_n_s_unspecified_type);
44991   __Pyx_GIVEREF(__pyx_n_s_unspecified_type);
44992   PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_unspecified_type);
44993   __pyx_t_2 = __Pyx_Import(__pyx_n_s_PyrexTypes, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13, __pyx_L1_error)
44994   __Pyx_GOTREF(__pyx_t_2);
44995   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
44996   __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_py_object_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13, __pyx_L1_error)
44997   __Pyx_GOTREF(__pyx_t_1);
44998   __Pyx_INCREF(__pyx_t_1);
44999   __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_11FlowControl_py_object_type);
45000   __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_11FlowControl_py_object_type, __pyx_t_1);
45001   __Pyx_GIVEREF(__pyx_t_1);
45002   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
45003   __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_unspecified_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13, __pyx_L1_error)
45004   __Pyx_GOTREF(__pyx_t_1);
45005   __Pyx_INCREF(__pyx_t_1);
45006   __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_11FlowControl_unspecified_type);
45007   __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_11FlowControl_unspecified_type, __pyx_t_1);
45008   __Pyx_GIVEREF(__pyx_t_1);
45009   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
45010   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
45011 
45012   /* "Cython/Compiler/FlowControl.py":14
45013  * from . import Options
45014  * from .PyrexTypes import py_object_type, unspecified_type
45015  * from . import PyrexTypes             # <<<<<<<<<<<<<<
45016  *
45017  * from .Visitor import TreeVisitor, CythonTransform
45018  */
45019   __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error)
45020   __Pyx_GOTREF(__pyx_t_2);
45021   __Pyx_INCREF(__pyx_n_s_PyrexTypes);
45022   __Pyx_GIVEREF(__pyx_n_s_PyrexTypes);
45023   PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PyrexTypes);
45024   __pyx_t_1 = __Pyx_Import(__pyx_kp_s__2, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14, __pyx_L1_error)
45025   __Pyx_GOTREF(__pyx_t_1);
45026   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
45027   __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_PyrexTypes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error)
45028   __Pyx_GOTREF(__pyx_t_2);
45029   __Pyx_INCREF(__pyx_t_2);
45030   __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_11FlowControl_PyrexTypes);
45031   __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_11FlowControl_PyrexTypes, __pyx_t_2);
45032   __Pyx_GIVEREF(__pyx_t_2);
45033   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
45034   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
45035 
45036   /* "Cython/Compiler/FlowControl.py":16
45037  * from . import PyrexTypes
45038  *
45039  * from .Visitor import TreeVisitor, CythonTransform             # <<<<<<<<<<<<<<
45040  * from .Errors import error, warning, InternalError
45041  * from .Optimize import ConstantFolding
45042  */
45043   __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16, __pyx_L1_error)
45044   __Pyx_GOTREF(__pyx_t_1);
45045   __Pyx_INCREF(__pyx_n_s_TreeVisitor);
45046   __Pyx_GIVEREF(__pyx_n_s_TreeVisitor);
45047   PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_TreeVisitor);
45048   __Pyx_INCREF(__pyx_n_s_CythonTransform);
45049   __Pyx_GIVEREF(__pyx_n_s_CythonTransform);
45050   PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_CythonTransform);
45051   __pyx_t_2 = __Pyx_Import(__pyx_n_s_Visitor, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error)
45052   __Pyx_GOTREF(__pyx_t_2);
45053   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
45054   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
45055 
45056   /* "Cython/Compiler/FlowControl.py":17
45057  *
45058  * from .Visitor import TreeVisitor, CythonTransform
45059  * from .Errors import error, warning, InternalError             # <<<<<<<<<<<<<<
45060  * from .Optimize import ConstantFolding
45061  *
45062  */
45063   __pyx_t_2 = PyList_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error)
45064   __Pyx_GOTREF(__pyx_t_2);
45065   __Pyx_INCREF(__pyx_n_s_error);
45066   __Pyx_GIVEREF(__pyx_n_s_error);
45067   PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_error);
45068   __Pyx_INCREF(__pyx_n_s_warning);
45069   __Pyx_GIVEREF(__pyx_n_s_warning);
45070   PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_warning);
45071   __Pyx_INCREF(__pyx_n_s_InternalError);
45072   __Pyx_GIVEREF(__pyx_n_s_InternalError);
45073   PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_InternalError);
45074   __pyx_t_1 = __Pyx_Import(__pyx_n_s_Errors, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17, __pyx_L1_error)
45075   __Pyx_GOTREF(__pyx_t_1);
45076   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
45077   __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error)
45078   __Pyx_GOTREF(__pyx_t_2);
45079   __Pyx_INCREF(__pyx_t_2);
45080   __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_11FlowControl_error);
45081   __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_11FlowControl_error, __pyx_t_2);
45082   __Pyx_GIVEREF(__pyx_t_2);
45083   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
45084   __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_warning); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error)
45085   __Pyx_GOTREF(__pyx_t_2);
45086   __Pyx_INCREF(__pyx_t_2);
45087   __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_11FlowControl_warning);
45088   __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_11FlowControl_warning, __pyx_t_2);
45089   __Pyx_GIVEREF(__pyx_t_2);
45090   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
45091   __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_InternalError); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error)
45092   __Pyx_GOTREF(__pyx_t_2);
45093   __Pyx_INCREF(__pyx_t_2);
45094   __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_11FlowControl_InternalError);
45095   __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_11FlowControl_InternalError, __pyx_t_2);
45096   __Pyx_GIVEREF(__pyx_t_2);
45097   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
45098   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
45099 
45100   /* "Cython/Compiler/FlowControl.py":18
45101  * from .Visitor import TreeVisitor, CythonTransform
45102  * from .Errors import error, warning, InternalError
45103  * from .Optimize import ConstantFolding             # <<<<<<<<<<<<<<
45104  *
45105  *
45106  */
45107   __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error)
45108   __Pyx_GOTREF(__pyx_t_1);
45109   __Pyx_INCREF(__pyx_n_s_ConstantFolding);
45110   __Pyx_GIVEREF(__pyx_n_s_ConstantFolding);
45111   PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_ConstantFolding);
45112   __pyx_t_2 = __Pyx_Import(__pyx_n_s_Optimize, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error)
45113   __Pyx_GOTREF(__pyx_t_2);
45114   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
45115   __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_ConstantFolding); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error)
45116   __Pyx_GOTREF(__pyx_t_1);
45117   if (PyDict_SetItem(__pyx_d, __pyx_n_s_ConstantFolding, __pyx_t_1) < 0) __PYX_ERR(0, 18, __pyx_L1_error)
45118   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
45119   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
45120 
45121   /* "Cython/Compiler/FlowControl.py":21
45122  *
45123  *
45124  * class TypedExprNode(ExprNodes.ExprNode):             # <<<<<<<<<<<<<<
45125  *     # Used for declaring assignments of a specified type without a known entry.
45126  *     def __init__(self, type, may_be_none=None, pos=None):
45127  */
45128   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_11FlowControl_ExprNodes, __pyx_n_s_ExprNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error)
45129   __Pyx_GOTREF(__pyx_t_2);
45130   __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21, __pyx_L1_error)
45131   __Pyx_GOTREF(__pyx_t_1);
45132   __Pyx_GIVEREF(__pyx_t_2);
45133   PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
45134   __pyx_t_2 = 0;
45135   __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error)
45136   __Pyx_GOTREF(__pyx_t_2);
45137   __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_TypedExprNode, __pyx_n_s_TypedExprNode, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_FlowControl, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21, __pyx_L1_error)
45138   __Pyx_GOTREF(__pyx_t_3);
45139 
45140   /* "Cython/Compiler/FlowControl.py":23
45141  * class TypedExprNode(ExprNodes.ExprNode):
45142  *     # Used for declaring assignments of a specified type without a known entry.
45143  *     def __init__(self, type, may_be_none=None, pos=None):             # <<<<<<<<<<<<<<
45144  *         super(TypedExprNode, self).__init__(pos)
45145  *         self.type = type
45146  */
45147   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_13TypedExprNode_1__init__, 0, __pyx_n_s_TypedExprNode___init, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__18)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23, __pyx_L1_error)
45148   __Pyx_GOTREF(__pyx_t_4);
45149   __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_tuple__19);
45150   if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_init, __pyx_t_4) < 0) __PYX_ERR(0, 23, __pyx_L1_error)
45151   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
45152 
45153   /* "Cython/Compiler/FlowControl.py":28
45154  *         self._may_be_none = may_be_none
45155  *
45156  *     def may_be_none(self):             # <<<<<<<<<<<<<<
45157  *         return self._may_be_none != False
45158  *
45159  */
45160   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_13TypedExprNode_3may_be_none, 0, __pyx_n_s_TypedExprNode_may_be_none, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__21)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28, __pyx_L1_error)
45161   __Pyx_GOTREF(__pyx_t_4);
45162   if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_may_be_none, __pyx_t_4) < 0) __PYX_ERR(0, 28, __pyx_L1_error)
45163   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
45164 
45165   /* "Cython/Compiler/FlowControl.py":21
45166  *
45167  *
45168  * class TypedExprNode(ExprNodes.ExprNode):             # <<<<<<<<<<<<<<
45169  *     # Used for declaring assignments of a specified type without a known entry.
45170  *     def __init__(self, type, may_be_none=None, pos=None):
45171  */
45172   __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_TypedExprNode, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21, __pyx_L1_error)
45173   __Pyx_GOTREF(__pyx_t_4);
45174   __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_11FlowControl_TypedExprNode);
45175   __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_11FlowControl_TypedExprNode, __pyx_t_4);
45176   __Pyx_GIVEREF(__pyx_t_4);
45177   __pyx_t_4 = 0;
45178   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45179   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
45180   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
45181 
45182   /* "Cython/Compiler/FlowControl.py":31
45183  *         return self._may_be_none != False
45184  *
45185  * object_expr = TypedExprNode(py_object_type, may_be_none=True)             # <<<<<<<<<<<<<<
45186  * # Fake rhs to silence "unused variable" warning
45187  * fake_rhs_expr = TypedExprNode(unspecified_type)
45188  */
45189   __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31, __pyx_L1_error)
45190   __Pyx_GOTREF(__pyx_t_1);
45191   __Pyx_INCREF(__pyx_v_6Cython_8Compiler_11FlowControl_py_object_type);
45192   __Pyx_GIVEREF(__pyx_v_6Cython_8Compiler_11FlowControl_py_object_type);
45193   PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_6Cython_8Compiler_11FlowControl_py_object_type);
45194   __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31, __pyx_L1_error)
45195   __Pyx_GOTREF(__pyx_t_2);
45196   if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_may_be_none, Py_True) < 0) __PYX_ERR(0, 31, __pyx_L1_error)
45197   __pyx_t_3 = __Pyx_PyObject_Call(__pyx_v_6Cython_8Compiler_11FlowControl_TypedExprNode, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31, __pyx_L1_error)
45198   __Pyx_GOTREF(__pyx_t_3);
45199   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
45200   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
45201   __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_11FlowControl_object_expr);
45202   __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_11FlowControl_object_expr, __pyx_t_3);
45203   __Pyx_GIVEREF(__pyx_t_3);
45204   __pyx_t_3 = 0;
45205 
45206   /* "Cython/Compiler/FlowControl.py":33
45207  * object_expr = TypedExprNode(py_object_type, may_be_none=True)
45208  * # Fake rhs to silence "unused variable" warning
45209  * fake_rhs_expr = TypedExprNode(unspecified_type)             # <<<<<<<<<<<<<<
45210  *
45211  *
45212  */
45213   __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_v_6Cython_8Compiler_11FlowControl_TypedExprNode, __pyx_v_6Cython_8Compiler_11FlowControl_unspecified_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error)
45214   __Pyx_GOTREF(__pyx_t_3);
45215   __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_11FlowControl_fake_rhs_expr);
45216   __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_11FlowControl_fake_rhs_expr, __pyx_t_3);
45217   __Pyx_GIVEREF(__pyx_t_3);
45218   __pyx_t_3 = 0;
45219 
45220   /* "Cython/Compiler/FlowControl.py":74
45221  *         self.i_state = 0
45222  *
45223  *     def empty(self):             # <<<<<<<<<<<<<<
45224  *         return (not self.stats and not self.positions)
45225  *
45226  */
45227   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_12ControlBlock_3empty, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlBlock_empty, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__23)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 74, __pyx_L1_error)
45228   __Pyx_GOTREF(__pyx_t_3);
45229   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock->tp_dict, __pyx_n_s_empty, __pyx_t_3) < 0) __PYX_ERR(0, 74, __pyx_L1_error)
45230   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45231   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock);
45232 
45233   /* "Cython/Compiler/FlowControl.py":77
45234  *         return (not self.stats and not self.positions)
45235  *
45236  *     def detach(self):             # <<<<<<<<<<<<<<
45237  *         """Detach block from parents and children."""
45238  *         for child in self.children:
45239  */
45240   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_12ControlBlock_5detach, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlBlock_detach, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__25)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 77, __pyx_L1_error)
45241   __Pyx_GOTREF(__pyx_t_3);
45242   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock->tp_dict, __pyx_n_s_detach, __pyx_t_3) < 0) __PYX_ERR(0, 77, __pyx_L1_error)
45243   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45244   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock);
45245 
45246   /* "Cython/Compiler/FlowControl.py":86
45247  *         self.children.clear()
45248  *
45249  *     def add_child(self, block):             # <<<<<<<<<<<<<<
45250  *         self.children.add(block)
45251  *         block.parents.add(self)
45252  */
45253   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_12ControlBlock_7add_child, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlBlock_add_child, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__27)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 86, __pyx_L1_error)
45254   __Pyx_GOTREF(__pyx_t_3);
45255   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock->tp_dict, __pyx_n_s_add_child, __pyx_t_3) < 0) __PYX_ERR(0, 86, __pyx_L1_error)
45256   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45257   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock);
45258 
45259   /* "(tree fragment)":1
45260  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
45261  *     cdef tuple state
45262  *     cdef object _dict
45263  */
45264   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_12ControlBlock_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlBlock___reduce_cython, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__29)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
45265   __Pyx_GOTREF(__pyx_t_3);
45266   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock->tp_dict, __pyx_n_s_reduce_cython, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
45267   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45268   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock);
45269 
45270   /* "(tree fragment)":16
45271  *     else:
45272  *         return __pyx_unpickle_ControlBlock, (type(self), 0xf2b1408, state)
45273  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
45274  *     __pyx_unpickle_ControlBlock__set_state(self, __pyx_state)
45275  */
45276   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_12ControlBlock_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlBlock___setstate_cython, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__31)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 16, __pyx_L1_error)
45277   __Pyx_GOTREF(__pyx_t_3);
45278   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock->tp_dict, __pyx_n_s_setstate_cython, __pyx_t_3) < 0) __PYX_ERR(2, 16, __pyx_L1_error)
45279   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45280   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlBlock);
45281 
45282   /* "Cython/Compiler/FlowControl.py":94
45283  *     """Non-empty exit point block."""
45284  *
45285  *     def empty(self):             # <<<<<<<<<<<<<<
45286  *         return False
45287  *
45288  */
45289   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_9ExitBlock_1empty, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ExitBlock_empty, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__33)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 94, __pyx_L1_error)
45290   __Pyx_GOTREF(__pyx_t_3);
45291   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ExitBlock->tp_dict, __pyx_n_s_empty, __pyx_t_3) < 0) __PYX_ERR(0, 94, __pyx_L1_error)
45292   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45293   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ExitBlock);
45294 
45295   /* "(tree fragment)":1
45296  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
45297  *     cdef tuple state
45298  *     cdef object _dict
45299  */
45300   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_9ExitBlock_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ExitBlock___reduce_cython, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__35)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
45301   __Pyx_GOTREF(__pyx_t_3);
45302   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ExitBlock->tp_dict, __pyx_n_s_reduce_cython, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
45303   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45304   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ExitBlock);
45305 
45306   /* "(tree fragment)":16
45307  *     else:
45308  *         return __pyx_unpickle_ExitBlock, (type(self), 0xf2b1408, state)
45309  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
45310  *     __pyx_unpickle_ExitBlock__set_state(self, __pyx_state)
45311  */
45312   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_9ExitBlock_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ExitBlock___setstate_cython, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__37)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 16, __pyx_L1_error)
45313   __Pyx_GOTREF(__pyx_t_3);
45314   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ExitBlock->tp_dict, __pyx_n_s_setstate_cython, __pyx_t_3) < 0) __PYX_ERR(2, 16, __pyx_L1_error)
45315   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45316   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ExitBlock);
45317 
45318   /* "(tree fragment)":1
45319  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
45320  *     cdef tuple state
45321  *     cdef object _dict
45322  */
45323   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_14AssignmentList_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_AssignmentList___reduce_cython, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__39)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
45324   __Pyx_GOTREF(__pyx_t_3);
45325   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentList->tp_dict, __pyx_n_s_reduce_cython, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
45326   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45327   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentList);
45328 
45329   /* "(tree fragment)":16
45330  *     else:
45331  *         return __pyx_unpickle_AssignmentList, (type(self), 0x39670e9, state)
45332  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
45333  *     __pyx_unpickle_AssignmentList__set_state(self, __pyx_state)
45334  */
45335   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_14AssignmentList_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_AssignmentList___setstate_cython, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__41)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 16, __pyx_L1_error)
45336   __Pyx_GOTREF(__pyx_t_3);
45337   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentList->tp_dict, __pyx_n_s_setstate_cython, __pyx_t_3) < 0) __PYX_ERR(2, 16, __pyx_L1_error)
45338   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45339   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentList);
45340 
45341   /* "Cython/Compiler/FlowControl.py":126
45342  *         self.block = self.entry_point
45343  *
45344  *     def newblock(self, parent=None):             # <<<<<<<<<<<<<<
45345  *         """Create floating block linked to `parent` if given.
45346  *
45347  */
45348   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_3newblock, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlow_newblock, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__43)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 126, __pyx_L1_error)
45349   __Pyx_GOTREF(__pyx_t_3);
45350   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow->tp_dict, __pyx_n_s_newblock, __pyx_t_3) < 0) __PYX_ERR(0, 126, __pyx_L1_error)
45351   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45352   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow);
45353 
45354   /* "Cython/Compiler/FlowControl.py":137
45355  *         return block
45356  *
45357  *     def nextblock(self, parent=None):             # <<<<<<<<<<<<<<
45358  *         """Create block children block linked to current or `parent` if given.
45359  *
45360  */
45361   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_5nextblock, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlow_nextblock, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__45)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 137, __pyx_L1_error)
45362   __Pyx_GOTREF(__pyx_t_3);
45363   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow->tp_dict, __pyx_n_s_nextblock, __pyx_t_3) < 0) __PYX_ERR(0, 137, __pyx_L1_error)
45364   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45365   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow);
45366 
45367   /* "Cython/Compiler/FlowControl.py":151
45368  *         return self.block
45369  *
45370  *     def is_tracked(self, entry):             # <<<<<<<<<<<<<<
45371  *         if entry.is_anonymous:
45372  *             return False
45373  */
45374   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_7is_tracked, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlow_is_tracked, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__47)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 151, __pyx_L1_error)
45375   __Pyx_GOTREF(__pyx_t_3);
45376   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow->tp_dict, __pyx_n_s_is_tracked, __pyx_t_3) < 0) __PYX_ERR(0, 151, __pyx_L1_error)
45377   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45378   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow);
45379 
45380   /* "Cython/Compiler/FlowControl.py":158
45381  *                 entry.error_on_uninitialized)
45382  *
45383  *     def is_statically_assigned(self, entry):             # <<<<<<<<<<<<<<
45384  *         if (entry.is_local and entry.is_variable and
45385  *                 (entry.type.is_struct_or_union or
45386  */
45387   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_9is_statically_assigned, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlow_is_statically_assign, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__49)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 158, __pyx_L1_error)
45388   __Pyx_GOTREF(__pyx_t_3);
45389   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow->tp_dict, __pyx_n_s_is_statically_assigned, __pyx_t_3) < 0) __PYX_ERR(0, 158, __pyx_L1_error)
45390   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45391   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow);
45392 
45393   /* "Cython/Compiler/FlowControl.py":168
45394  *         return False
45395  *
45396  *     def mark_position(self, node):             # <<<<<<<<<<<<<<
45397  *         """Mark position, will be used to draw graph nodes."""
45398  *         if self.block:
45399  */
45400   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_11mark_position, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlow_mark_position, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__51)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 168, __pyx_L1_error)
45401   __Pyx_GOTREF(__pyx_t_3);
45402   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow->tp_dict, __pyx_n_s_mark_position, __pyx_t_3) < 0) __PYX_ERR(0, 168, __pyx_L1_error)
45403   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45404   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow);
45405 
45406   /* "Cython/Compiler/FlowControl.py":173
45407  *             self.block.positions.add(node.pos[:2])
45408  *
45409  *     def mark_assignment(self, lhs, rhs, entry):             # <<<<<<<<<<<<<<
45410  *         if self.block and self.is_tracked(entry):
45411  *             assignment = NameAssignment(lhs, rhs, entry)
45412  */
45413   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_13mark_assignment, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlow_mark_assignment, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__53)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 173, __pyx_L1_error)
45414   __Pyx_GOTREF(__pyx_t_3);
45415   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow->tp_dict, __pyx_n_s_mark_assignment, __pyx_t_3) < 0) __PYX_ERR(0, 173, __pyx_L1_error)
45416   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45417   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow);
45418 
45419   /* "Cython/Compiler/FlowControl.py":180
45420  *             self.entries.add(entry)
45421  *
45422  *     def mark_argument(self, lhs, rhs, entry):             # <<<<<<<<<<<<<<
45423  *         if self.block and self.is_tracked(entry):
45424  *             assignment = Argument(lhs, rhs, entry)
45425  */
45426   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_15mark_argument, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlow_mark_argument, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__55)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __pyx_L1_error)
45427   __Pyx_GOTREF(__pyx_t_3);
45428   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow->tp_dict, __pyx_n_s_mark_argument, __pyx_t_3) < 0) __PYX_ERR(0, 180, __pyx_L1_error)
45429   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45430   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow);
45431 
45432   /* "Cython/Compiler/FlowControl.py":187
45433  *             self.entries.add(entry)
45434  *
45435  *     def mark_deletion(self, node, entry):             # <<<<<<<<<<<<<<
45436  *         if self.block and self.is_tracked(entry):
45437  *             assignment = NameDeletion(node, entry)
45438  */
45439   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_17mark_deletion, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlow_mark_deletion, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__57)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 187, __pyx_L1_error)
45440   __Pyx_GOTREF(__pyx_t_3);
45441   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow->tp_dict, __pyx_n_s_mark_deletion, __pyx_t_3) < 0) __PYX_ERR(0, 187, __pyx_L1_error)
45442   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45443   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow);
45444 
45445   /* "Cython/Compiler/FlowControl.py":194
45446  *             self.entries.add(entry)
45447  *
45448  *     def mark_reference(self, node, entry):             # <<<<<<<<<<<<<<
45449  *         if self.block and self.is_tracked(entry):
45450  *             self.block.stats.append(NameReference(node, entry))
45451  */
45452   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_19mark_reference, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlow_mark_reference, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__59)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 194, __pyx_L1_error)
45453   __Pyx_GOTREF(__pyx_t_3);
45454   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow->tp_dict, __pyx_n_s_mark_reference, __pyx_t_3) < 0) __PYX_ERR(0, 194, __pyx_L1_error)
45455   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45456   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow);
45457 
45458   /* "Cython/Compiler/FlowControl.py":204
45459  *             self.entries.add(entry)
45460  *
45461  *     def normalize(self):             # <<<<<<<<<<<<<<
45462  *         """Delete unreachable and orphan blocks."""
45463  *         queue = set([self.entry_point])
45464  */
45465   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_21normalize, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlow_normalize, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__61)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 204, __pyx_L1_error)
45466   __Pyx_GOTREF(__pyx_t_3);
45467   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow->tp_dict, __pyx_n_s_normalize, __pyx_t_3) < 0) __PYX_ERR(0, 204, __pyx_L1_error)
45468   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45469   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow);
45470 
45471   /* "Cython/Compiler/FlowControl.py":227
45472  *         self.blocks -= unreachable
45473  *
45474  *     def initialize(self):             # <<<<<<<<<<<<<<
45475  *         """Set initial state, map assignments to bits."""
45476  *         self.assmts = {}
45477  */
45478   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_23initialize, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlow_initialize, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__63)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 227, __pyx_L1_error)
45479   __Pyx_GOTREF(__pyx_t_3);
45480   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow->tp_dict, __pyx_n_s_initialize, __pyx_t_3) < 0) __PYX_ERR(0, 227, __pyx_L1_error)
45481   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45482   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow);
45483 
45484   /* "Cython/Compiler/FlowControl.py":263
45485  *         self.entry_point.i_output = self.entry_point.i_gen
45486  *
45487  *     def map_one(self, istate, entry):             # <<<<<<<<<<<<<<
45488  *         ret = set()
45489  *         assmts = self.assmts[entry]
45490  */
45491   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_25map_one, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlow_map_one, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__65)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 263, __pyx_L1_error)
45492   __Pyx_GOTREF(__pyx_t_3);
45493   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow->tp_dict, __pyx_n_s_map_one, __pyx_t_3) < 0) __PYX_ERR(0, 263, __pyx_L1_error)
45494   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45495   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow);
45496 
45497   /* "(tree fragment)":1
45498  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
45499  *     cdef tuple state
45500  *     cdef object _dict
45501  */
45502   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_27__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlow___reduce_cython, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__67)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
45503   __Pyx_GOTREF(__pyx_t_3);
45504   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow->tp_dict, __pyx_n_s_reduce_cython, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
45505   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45506   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow);
45507 
45508   /* "(tree fragment)":16
45509  *     else:
45510  *         return __pyx_unpickle_ControlFlow, (type(self), 0x61dbd8a, state)
45511  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
45512  *     __pyx_unpickle_ControlFlow__set_state(self, __pyx_state)
45513  */
45514   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_11ControlFlow_29__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlow___setstate_cython, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__69)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 16, __pyx_L1_error)
45515   __Pyx_GOTREF(__pyx_t_3);
45516   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow->tp_dict, __pyx_n_s_setstate_cython, __pyx_t_3) < 0) __PYX_ERR(2, 16, __pyx_L1_error)
45517   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45518   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlow);
45519 
45520   /* "Cython/Compiler/FlowControl.py":294
45521  *
45522  *
45523  * class LoopDescr(object):             # <<<<<<<<<<<<<<
45524  *     def __init__(self, next_block, loop_block):
45525  *         self.next_block = next_block
45526  */
45527   __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_tuple__70); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 294, __pyx_L1_error)
45528   __Pyx_GOTREF(__pyx_t_3);
45529   __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_tuple__70, __pyx_n_s_LoopDescr, __pyx_n_s_LoopDescr, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_FlowControl, (PyObject *) NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 294, __pyx_L1_error)
45530   __Pyx_GOTREF(__pyx_t_2);
45531 
45532   /* "Cython/Compiler/FlowControl.py":295
45533  *
45534  * class LoopDescr(object):
45535  *     def __init__(self, next_block, loop_block):             # <<<<<<<<<<<<<<
45536  *         self.next_block = next_block
45537  *         self.loop_block = loop_block
45538  */
45539   __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_9LoopDescr_1__init__, 0, __pyx_n_s_LoopDescr___init, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__72)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 295, __pyx_L1_error)
45540   __Pyx_GOTREF(__pyx_t_1);
45541   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_init, __pyx_t_1) < 0) __PYX_ERR(0, 295, __pyx_L1_error)
45542   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
45543 
45544   /* "Cython/Compiler/FlowControl.py":294
45545  *
45546  *
45547  * class LoopDescr(object):             # <<<<<<<<<<<<<<
45548  *     def __init__(self, next_block, loop_block):
45549  *         self.next_block = next_block
45550  */
45551   __pyx_t_1 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_LoopDescr, __pyx_tuple__70, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 294, __pyx_L1_error)
45552   __Pyx_GOTREF(__pyx_t_1);
45553   if (PyDict_SetItem(__pyx_d, __pyx_n_s_LoopDescr, __pyx_t_1) < 0) __PYX_ERR(0, 294, __pyx_L1_error)
45554   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
45555   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
45556   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45557 
45558   /* "Cython/Compiler/FlowControl.py":301
45559  *
45560  *
45561  * class ExceptionDescr(object):             # <<<<<<<<<<<<<<
45562  *     """Exception handling helper.
45563  *
45564  */
45565   __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_tuple__73); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 301, __pyx_L1_error)
45566   __Pyx_GOTREF(__pyx_t_3);
45567   __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_tuple__73, __pyx_n_s_ExceptionDescr, __pyx_n_s_ExceptionDescr, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_kp_s_Exception_handling_helper_entry); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 301, __pyx_L1_error)
45568   __Pyx_GOTREF(__pyx_t_2);
45569 
45570   /* "Cython/Compiler/FlowControl.py":309
45571  *     """
45572  *
45573  *     def __init__(self, entry_point, finally_enter=None, finally_exit=None):             # <<<<<<<<<<<<<<
45574  *         self.entry_point = entry_point
45575  *         self.finally_enter = finally_enter
45576  */
45577   __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_14ExceptionDescr_1__init__, 0, __pyx_n_s_ExceptionDescr___init, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__75)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 309, __pyx_L1_error)
45578   __Pyx_GOTREF(__pyx_t_1);
45579   __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__76);
45580   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_init, __pyx_t_1) < 0) __PYX_ERR(0, 309, __pyx_L1_error)
45581   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
45582 
45583   /* "Cython/Compiler/FlowControl.py":301
45584  *
45585  *
45586  * class ExceptionDescr(object):             # <<<<<<<<<<<<<<
45587  *     """Exception handling helper.
45588  *
45589  */
45590   __pyx_t_1 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_ExceptionDescr, __pyx_tuple__73, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 301, __pyx_L1_error)
45591   __Pyx_GOTREF(__pyx_t_1);
45592   if (PyDict_SetItem(__pyx_d, __pyx_n_s_ExceptionDescr, __pyx_t_1) < 0) __PYX_ERR(0, 301, __pyx_L1_error)
45593   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
45594   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
45595   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45596 
45597   /* "Cython/Compiler/FlowControl.py":331
45598  *         return '%s(entry=%r)' % (self.__class__.__name__, self.entry)
45599  *
45600  *     def infer_type(self):             # <<<<<<<<<<<<<<
45601  *         self.inferred_type = self.rhs.infer_type(self.entry.scope)
45602  *         return self.inferred_type
45603  */
45604   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_14NameAssignment_5infer_type, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_NameAssignment_infer_type, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__78)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 331, __pyx_L1_error)
45605   __Pyx_GOTREF(__pyx_t_3);
45606   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment->tp_dict, __pyx_n_s_infer_type, __pyx_t_3) < 0) __PYX_ERR(0, 331, __pyx_L1_error)
45607   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45608   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment);
45609 
45610   /* "Cython/Compiler/FlowControl.py":335
45611  *         return self.inferred_type
45612  *
45613  *     def type_dependencies(self):             # <<<<<<<<<<<<<<
45614  *         return self.rhs.type_dependencies(self.entry.scope)
45615  *
45616  */
45617   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_14NameAssignment_7type_dependencies, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_NameAssignment_type_dependencies, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__80)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 335, __pyx_L1_error)
45618   __Pyx_GOTREF(__pyx_t_3);
45619   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment->tp_dict, __pyx_n_s_type_dependencies, __pyx_t_3) < 0) __PYX_ERR(0, 335, __pyx_L1_error)
45620   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45621   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment);
45622 
45623   /* "(tree fragment)":1
45624  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
45625  *     cdef tuple state
45626  *     cdef object _dict
45627  */
45628   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_14NameAssignment_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_NameAssignment___reduce_cython, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__82)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
45629   __Pyx_GOTREF(__pyx_t_3);
45630   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment->tp_dict, __pyx_n_s_reduce_cython, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
45631   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45632   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment);
45633 
45634   /* "(tree fragment)":16
45635  *     else:
45636  *         return __pyx_unpickle_NameAssignment, (type(self), 0x13117fb, state)
45637  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
45638  *     __pyx_unpickle_NameAssignment__set_state(self, __pyx_state)
45639  */
45640   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_14NameAssignment_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_NameAssignment___setstate_cython, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__84)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 16, __pyx_L1_error)
45641   __Pyx_GOTREF(__pyx_t_3);
45642   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment->tp_dict, __pyx_n_s_setstate_cython, __pyx_t_3) < 0) __PYX_ERR(2, 16, __pyx_L1_error)
45643   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45644   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment);
45645 
45646   /* "Cython/Compiler/FlowControl.py":345
45647  *
45648  *
45649  * class StaticAssignment(NameAssignment):             # <<<<<<<<<<<<<<
45650  *     """Initialised at declaration time, e.g. stack allocation."""
45651  *     def __init__(self, entry):
45652  */
45653   __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 345, __pyx_L1_error)
45654   __Pyx_GOTREF(__pyx_t_3);
45655   __Pyx_INCREF(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment));
45656   __Pyx_GIVEREF(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment));
45657   PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment));
45658   __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 345, __pyx_L1_error)
45659   __Pyx_GOTREF(__pyx_t_2);
45660   __pyx_t_1 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_3, __pyx_n_s_StaticAssignment, __pyx_n_s_StaticAssignment, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_kp_s_Initialised_at_declaration_time); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 345, __pyx_L1_error)
45661   __Pyx_GOTREF(__pyx_t_1);
45662 
45663   /* "Cython/Compiler/FlowControl.py":347
45664  * class StaticAssignment(NameAssignment):
45665  *     """Initialised at declaration time, e.g. stack allocation."""
45666  *     def __init__(self, entry):             # <<<<<<<<<<<<<<
45667  *         if not entry.type.is_pyobject:
45668  *             may_be_none = False
45669  */
45670   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_16StaticAssignment_1__init__, 0, __pyx_n_s_StaticAssignment___init, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__86)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 347, __pyx_L1_error)
45671   __Pyx_GOTREF(__pyx_t_4);
45672   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_init, __pyx_t_4) < 0) __PYX_ERR(0, 347, __pyx_L1_error)
45673   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
45674 
45675   /* "Cython/Compiler/FlowControl.py":356
45676  *         super(StaticAssignment, self).__init__(lhs, lhs, entry)
45677  *
45678  *     def infer_type(self):             # <<<<<<<<<<<<<<
45679  *         return self.entry.type
45680  *
45681  */
45682   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_16StaticAssignment_3infer_type, 0, __pyx_n_s_StaticAssignment_infer_type, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__88)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 356, __pyx_L1_error)
45683   __Pyx_GOTREF(__pyx_t_4);
45684   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_infer_type, __pyx_t_4) < 0) __PYX_ERR(0, 356, __pyx_L1_error)
45685   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
45686 
45687   /* "Cython/Compiler/FlowControl.py":359
45688  *         return self.entry.type
45689  *
45690  *     def type_dependencies(self):             # <<<<<<<<<<<<<<
45691  *         return ()
45692  *
45693  */
45694   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_16StaticAssignment_5type_dependencies, 0, __pyx_n_s_StaticAssignment_type_dependenci, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__90)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 359, __pyx_L1_error)
45695   __Pyx_GOTREF(__pyx_t_4);
45696   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_type_dependencies, __pyx_t_4) < 0) __PYX_ERR(0, 359, __pyx_L1_error)
45697   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
45698 
45699   /* "Cython/Compiler/FlowControl.py":345
45700  *
45701  *
45702  * class StaticAssignment(NameAssignment):             # <<<<<<<<<<<<<<
45703  *     """Initialised at declaration time, e.g. stack allocation."""
45704  *     def __init__(self, entry):
45705  */
45706   __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_StaticAssignment, __pyx_t_3, __pyx_t_1, NULL, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 345, __pyx_L1_error)
45707   __Pyx_GOTREF(__pyx_t_4);
45708   if (PyDict_SetItem(__pyx_d, __pyx_n_s_StaticAssignment, __pyx_t_4) < 0) __PYX_ERR(0, 345, __pyx_L1_error)
45709   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
45710   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
45711   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
45712   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45713 
45714   /* "Cython/Compiler/FlowControl.py":363
45715  *
45716  *
45717  * class Argument(NameAssignment):             # <<<<<<<<<<<<<<
45718  *     def __init__(self, lhs, rhs, entry):
45719  *         NameAssignment.__init__(self, lhs, rhs, entry)
45720  */
45721   __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 363, __pyx_L1_error)
45722   __Pyx_GOTREF(__pyx_t_3);
45723   __Pyx_INCREF(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment));
45724   __Pyx_GIVEREF(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment));
45725   PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment));
45726   __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 363, __pyx_L1_error)
45727   __Pyx_GOTREF(__pyx_t_2);
45728   __pyx_t_1 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_3, __pyx_n_s_Argument, __pyx_n_s_Argument, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_FlowControl, (PyObject *) NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 363, __pyx_L1_error)
45729   __Pyx_GOTREF(__pyx_t_1);
45730 
45731   /* "Cython/Compiler/FlowControl.py":364
45732  *
45733  * class Argument(NameAssignment):
45734  *     def __init__(self, lhs, rhs, entry):             # <<<<<<<<<<<<<<
45735  *         NameAssignment.__init__(self, lhs, rhs, entry)
45736  *         self.is_arg = True
45737  */
45738   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_8Argument_1__init__, 0, __pyx_n_s_Argument___init, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__92)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 364, __pyx_L1_error)
45739   __Pyx_GOTREF(__pyx_t_4);
45740   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_init, __pyx_t_4) < 0) __PYX_ERR(0, 364, __pyx_L1_error)
45741   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
45742 
45743   /* "Cython/Compiler/FlowControl.py":363
45744  *
45745  *
45746  * class Argument(NameAssignment):             # <<<<<<<<<<<<<<
45747  *     def __init__(self, lhs, rhs, entry):
45748  *         NameAssignment.__init__(self, lhs, rhs, entry)
45749  */
45750   __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_Argument, __pyx_t_3, __pyx_t_1, NULL, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 363, __pyx_L1_error)
45751   __Pyx_GOTREF(__pyx_t_4);
45752   if (PyDict_SetItem(__pyx_d, __pyx_n_s_Argument, __pyx_t_4) < 0) __PYX_ERR(0, 363, __pyx_L1_error)
45753   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
45754   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
45755   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
45756   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45757 
45758   /* "Cython/Compiler/FlowControl.py":369
45759  *
45760  *
45761  * class NameDeletion(NameAssignment):             # <<<<<<<<<<<<<<
45762  *     def __init__(self, lhs, entry):
45763  *         NameAssignment.__init__(self, lhs, lhs, entry)
45764  */
45765   __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 369, __pyx_L1_error)
45766   __Pyx_GOTREF(__pyx_t_3);
45767   __Pyx_INCREF(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment));
45768   __Pyx_GIVEREF(((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment));
45769   PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_NameAssignment));
45770   __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 369, __pyx_L1_error)
45771   __Pyx_GOTREF(__pyx_t_2);
45772   __pyx_t_1 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_3, __pyx_n_s_NameDeletion, __pyx_n_s_NameDeletion, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_FlowControl, (PyObject *) NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 369, __pyx_L1_error)
45773   __Pyx_GOTREF(__pyx_t_1);
45774 
45775   /* "Cython/Compiler/FlowControl.py":370
45776  *
45777  * class NameDeletion(NameAssignment):
45778  *     def __init__(self, lhs, entry):             # <<<<<<<<<<<<<<
45779  *         NameAssignment.__init__(self, lhs, lhs, entry)
45780  *         self.is_deletion = True
45781  */
45782   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_12NameDeletion_1__init__, 0, __pyx_n_s_NameDeletion___init, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__94)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 370, __pyx_L1_error)
45783   __Pyx_GOTREF(__pyx_t_4);
45784   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_init, __pyx_t_4) < 0) __PYX_ERR(0, 370, __pyx_L1_error)
45785   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
45786 
45787   /* "Cython/Compiler/FlowControl.py":374
45788  *         self.is_deletion = True
45789  *
45790  *     def infer_type(self):             # <<<<<<<<<<<<<<
45791  *         inferred_type = self.rhs.infer_type(self.entry.scope)
45792  *         if (not inferred_type.is_pyobject and
45793  */
45794   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_12NameDeletion_3infer_type, 0, __pyx_n_s_NameDeletion_infer_type, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__96)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 374, __pyx_L1_error)
45795   __Pyx_GOTREF(__pyx_t_4);
45796   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_infer_type, __pyx_t_4) < 0) __PYX_ERR(0, 374, __pyx_L1_error)
45797   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
45798 
45799   /* "Cython/Compiler/FlowControl.py":369
45800  *
45801  *
45802  * class NameDeletion(NameAssignment):             # <<<<<<<<<<<<<<
45803  *     def __init__(self, lhs, entry):
45804  *         NameAssignment.__init__(self, lhs, lhs, entry)
45805  */
45806   __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_NameDeletion, __pyx_t_3, __pyx_t_1, NULL, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 369, __pyx_L1_error)
45807   __Pyx_GOTREF(__pyx_t_4);
45808   if (PyDict_SetItem(__pyx_d, __pyx_n_s_NameDeletion, __pyx_t_4) < 0) __PYX_ERR(0, 369, __pyx_L1_error)
45809   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
45810   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
45811   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
45812   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45813 
45814   /* "(tree fragment)":1
45815  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
45816  *     cdef tuple state
45817  *     cdef object _dict
45818  */
45819   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_13Uninitialized_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Uninitialized___reduce_cython, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__98)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
45820   __Pyx_GOTREF(__pyx_t_3);
45821   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_Uninitialized->tp_dict, __pyx_n_s_reduce_cython, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
45822   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45823   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_Uninitialized);
45824 
45825   /* "(tree fragment)":16
45826  *     else:
45827  *         return __pyx_unpickle_Uninitialized, (type(self), 0xd41d8cd, state)
45828  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
45829  *     __pyx_unpickle_Uninitialized__set_state(self, __pyx_state)
45830  */
45831   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_13Uninitialized_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Uninitialized___setstate_cython, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__100)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 16, __pyx_L1_error)
45832   __Pyx_GOTREF(__pyx_t_3);
45833   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_Uninitialized->tp_dict, __pyx_n_s_setstate_cython, __pyx_t_3) < 0) __PYX_ERR(2, 16, __pyx_L1_error)
45834   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45835   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_Uninitialized);
45836 
45837   /* "(tree fragment)":1
45838  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
45839  *     cdef tuple state
45840  *     cdef object _dict
45841  */
45842   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_7Unknown_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Unknown___reduce_cython, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__102)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
45843   __Pyx_GOTREF(__pyx_t_3);
45844   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_Unknown->tp_dict, __pyx_n_s_reduce_cython, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
45845   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45846   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_Unknown);
45847 
45848   /* "(tree fragment)":16
45849  *     else:
45850  *         return __pyx_unpickle_Unknown, (type(self), 0xd41d8cd, state)
45851  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
45852  *     __pyx_unpickle_Unknown__set_state(self, __pyx_state)
45853  */
45854   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_7Unknown_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Unknown___setstate_cython, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__104)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 16, __pyx_L1_error)
45855   __Pyx_GOTREF(__pyx_t_3);
45856   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_Unknown->tp_dict, __pyx_n_s_setstate_cython, __pyx_t_3) < 0) __PYX_ERR(2, 16, __pyx_L1_error)
45857   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45858   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_Unknown);
45859 
45860   /* "Cython/Compiler/FlowControl.py":391
45861  *
45862  *
45863  * class NameReference(object):             # <<<<<<<<<<<<<<
45864  *     def __init__(self, node, entry):
45865  *         if node.cf_state is None:
45866  */
45867   __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_tuple__105); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 391, __pyx_L1_error)
45868   __Pyx_GOTREF(__pyx_t_3);
45869   __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_tuple__105, __pyx_n_s_NameReference, __pyx_n_s_NameReference, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_FlowControl, (PyObject *) NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 391, __pyx_L1_error)
45870   __Pyx_GOTREF(__pyx_t_2);
45871 
45872   /* "Cython/Compiler/FlowControl.py":392
45873  *
45874  * class NameReference(object):
45875  *     def __init__(self, node, entry):             # <<<<<<<<<<<<<<
45876  *         if node.cf_state is None:
45877  *             node.cf_state = set()
45878  */
45879   __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_13NameReference_1__init__, 0, __pyx_n_s_NameReference___init, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__107)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 392, __pyx_L1_error)
45880   __Pyx_GOTREF(__pyx_t_1);
45881   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_init, __pyx_t_1) < 0) __PYX_ERR(0, 392, __pyx_L1_error)
45882   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
45883 
45884   /* "Cython/Compiler/FlowControl.py":399
45885  *         self.pos = node.pos
45886  *
45887  *     def __repr__(self):             # <<<<<<<<<<<<<<
45888  *         return '%s(entry=%r)' % (self.__class__.__name__, self.entry)
45889  *
45890  */
45891   __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_13NameReference_3__repr__, 0, __pyx_n_s_NameReference___repr, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__109)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 399, __pyx_L1_error)
45892   __Pyx_GOTREF(__pyx_t_1);
45893   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_repr, __pyx_t_1) < 0) __PYX_ERR(0, 399, __pyx_L1_error)
45894   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
45895 
45896   /* "Cython/Compiler/FlowControl.py":391
45897  *
45898  *
45899  * class NameReference(object):             # <<<<<<<<<<<<<<
45900  *     def __init__(self, node, entry):
45901  *         if node.cf_state is None:
45902  */
45903   __pyx_t_1 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_NameReference, __pyx_tuple__105, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 391, __pyx_L1_error)
45904   __Pyx_GOTREF(__pyx_t_1);
45905   if (PyDict_SetItem(__pyx_d, __pyx_n_s_NameReference, __pyx_t_1) < 0) __PYX_ERR(0, 391, __pyx_L1_error)
45906   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
45907   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
45908   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45909 
45910   /* "Cython/Compiler/FlowControl.py":403
45911  *
45912  *
45913  * class ControlFlowState(list):             # <<<<<<<<<<<<<<
45914  *     # Keeps track of Node's entry assignments
45915  *     #
45916  */
45917   __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 403, __pyx_L1_error)
45918   __Pyx_GOTREF(__pyx_t_3);
45919   __Pyx_INCREF(((PyObject *)(&PyList_Type)));
45920   __Pyx_GIVEREF(((PyObject *)(&PyList_Type)));
45921   PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)(&PyList_Type)));
45922   __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 403, __pyx_L1_error)
45923   __Pyx_GOTREF(__pyx_t_2);
45924   __pyx_t_1 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_3, __pyx_n_s_ControlFlowState, __pyx_n_s_ControlFlowState, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_FlowControl, (PyObject *) NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 403, __pyx_L1_error)
45925   __Pyx_GOTREF(__pyx_t_1);
45926 
45927   /* "Cython/Compiler/FlowControl.py":410
45928  *     # is_single         [boolean] Has only one assignment at this point
45929  *
45930  *     cf_maybe_null = False             # <<<<<<<<<<<<<<
45931  *     cf_is_null = False
45932  *     is_single = False
45933  */
45934   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_cf_maybe_null, Py_False) < 0) __PYX_ERR(0, 410, __pyx_L1_error)
45935 
45936   /* "Cython/Compiler/FlowControl.py":411
45937  *
45938  *     cf_maybe_null = False
45939  *     cf_is_null = False             # <<<<<<<<<<<<<<
45940  *     is_single = False
45941  *
45942  */
45943   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_cf_is_null, Py_False) < 0) __PYX_ERR(0, 411, __pyx_L1_error)
45944 
45945   /* "Cython/Compiler/FlowControl.py":412
45946  *     cf_maybe_null = False
45947  *     cf_is_null = False
45948  *     is_single = False             # <<<<<<<<<<<<<<
45949  *
45950  *     def __init__(self, state):
45951  */
45952   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_is_single, Py_False) < 0) __PYX_ERR(0, 412, __pyx_L1_error)
45953 
45954   /* "Cython/Compiler/FlowControl.py":414
45955  *     is_single = False
45956  *
45957  *     def __init__(self, state):             # <<<<<<<<<<<<<<
45958  *         if Uninitialized in state:
45959  *             state.discard(Uninitialized)
45960  */
45961   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_16ControlFlowState_1__init__, 0, __pyx_n_s_ControlFlowState___init, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__111)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 414, __pyx_L1_error)
45962   __Pyx_GOTREF(__pyx_t_4);
45963   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_init, __pyx_t_4) < 0) __PYX_ERR(0, 414, __pyx_L1_error)
45964   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
45965 
45966   /* "Cython/Compiler/FlowControl.py":430
45967  *             [i for i in state if i.rhs is not fake_rhs_expr])
45968  *
45969  *     def one(self):             # <<<<<<<<<<<<<<
45970  *         return self[0]
45971  *
45972  */
45973   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_16ControlFlowState_3one, 0, __pyx_n_s_ControlFlowState_one, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__113)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 430, __pyx_L1_error)
45974   __Pyx_GOTREF(__pyx_t_4);
45975   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_one, __pyx_t_4) < 0) __PYX_ERR(0, 430, __pyx_L1_error)
45976   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
45977 
45978   /* "Cython/Compiler/FlowControl.py":403
45979  *
45980  *
45981  * class ControlFlowState(list):             # <<<<<<<<<<<<<<
45982  *     # Keeps track of Node's entry assignments
45983  *     #
45984  */
45985   __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_ControlFlowState, __pyx_t_3, __pyx_t_1, NULL, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 403, __pyx_L1_error)
45986   __Pyx_GOTREF(__pyx_t_4);
45987   if (PyDict_SetItem(__pyx_d, __pyx_n_s_ControlFlowState, __pyx_t_4) < 0) __PYX_ERR(0, 403, __pyx_L1_error)
45988   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
45989   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
45990   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
45991   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
45992 
45993   /* "Cython/Compiler/FlowControl.py":434
45994  *
45995  *
45996  * class GVContext(object):             # <<<<<<<<<<<<<<
45997  *     """Graphviz subgraph object."""
45998  *
45999  */
46000   __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_tuple__114); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 434, __pyx_L1_error)
46001   __Pyx_GOTREF(__pyx_t_3);
46002   __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_tuple__114, __pyx_n_s_GVContext, __pyx_n_s_GVContext, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_kp_s_Graphviz_subgraph_object); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 434, __pyx_L1_error)
46003   __Pyx_GOTREF(__pyx_t_2);
46004 
46005   /* "Cython/Compiler/FlowControl.py":437
46006  *     """Graphviz subgraph object."""
46007  *
46008  *     def __init__(self):             # <<<<<<<<<<<<<<
46009  *         self.blockids = {}
46010  *         self.nextid = 0
46011  */
46012   __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_9GVContext_1__init__, 0, __pyx_n_s_GVContext___init, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__116)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 437, __pyx_L1_error)
46013   __Pyx_GOTREF(__pyx_t_1);
46014   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_init, __pyx_t_1) < 0) __PYX_ERR(0, 437, __pyx_L1_error)
46015   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
46016 
46017   /* "Cython/Compiler/FlowControl.py":443
46018  *         self.sources = {}
46019  *
46020  *     def add(self, child):             # <<<<<<<<<<<<<<
46021  *         self.children.append(child)
46022  *
46023  */
46024   __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_9GVContext_3add, 0, __pyx_n_s_GVContext_add, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__118)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 443, __pyx_L1_error)
46025   __Pyx_GOTREF(__pyx_t_1);
46026   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_add, __pyx_t_1) < 0) __PYX_ERR(0, 443, __pyx_L1_error)
46027   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
46028 
46029   /* "Cython/Compiler/FlowControl.py":446
46030  *         self.children.append(child)
46031  *
46032  *     def nodeid(self, block):             # <<<<<<<<<<<<<<
46033  *         if block not in self.blockids:
46034  *             self.blockids[block] = 'block%d' % self.nextid
46035  */
46036   __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_9GVContext_5nodeid, 0, __pyx_n_s_GVContext_nodeid, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__120)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 446, __pyx_L1_error)
46037   __Pyx_GOTREF(__pyx_t_1);
46038   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_nodeid, __pyx_t_1) < 0) __PYX_ERR(0, 446, __pyx_L1_error)
46039   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
46040 
46041   /* "Cython/Compiler/FlowControl.py":452
46042  *         return self.blockids[block]
46043  *
46044  *     def extract_sources(self, block):             # <<<<<<<<<<<<<<
46045  *         if not block.positions:
46046  *             return ''
46047  */
46048   __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_9GVContext_7extract_sources, 0, __pyx_n_s_GVContext_extract_sources, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__122)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 452, __pyx_L1_error)
46049   __Pyx_GOTREF(__pyx_t_1);
46050   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_extract_sources, __pyx_t_1) < 0) __PYX_ERR(0, 452, __pyx_L1_error)
46051   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
46052 
46053   /* "Cython/Compiler/FlowControl.py":463
46054  *         return '\\n'.join([l.strip() for l in lines[start[1] - 1:stop[1]]])
46055  *
46056  *     def render(self, fp, name, annotate_defs=False):             # <<<<<<<<<<<<<<
46057  *         """Render graphviz dot graph"""
46058  *         fp.write('digraph %s {\n' % name)
46059  */
46060   __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_9GVContext_9render, 0, __pyx_n_s_GVContext_render, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__124)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 463, __pyx_L1_error)
46061   __Pyx_GOTREF(__pyx_t_1);
46062   __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__125);
46063   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_render, __pyx_t_1) < 0) __PYX_ERR(0, 463, __pyx_L1_error)
46064   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
46065 
46066   /* "Cython/Compiler/FlowControl.py":471
46067  *         fp.write('}\n')
46068  *
46069  *     def escape(self, text):             # <<<<<<<<<<<<<<
46070  *         return text.replace('"', '\\"').replace('\n', '\\n')
46071  *
46072  */
46073   __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_9GVContext_11escape, 0, __pyx_n_s_GVContext_escape, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__127)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 471, __pyx_L1_error)
46074   __Pyx_GOTREF(__pyx_t_1);
46075   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_escape, __pyx_t_1) < 0) __PYX_ERR(0, 471, __pyx_L1_error)
46076   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
46077 
46078   /* "Cython/Compiler/FlowControl.py":434
46079  *
46080  *
46081  * class GVContext(object):             # <<<<<<<<<<<<<<
46082  *     """Graphviz subgraph object."""
46083  *
46084  */
46085   __pyx_t_1 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_GVContext, __pyx_tuple__114, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 434, __pyx_L1_error)
46086   __Pyx_GOTREF(__pyx_t_1);
46087   if (PyDict_SetItem(__pyx_d, __pyx_n_s_GVContext, __pyx_t_1) < 0) __PYX_ERR(0, 434, __pyx_L1_error)
46088   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
46089   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
46090   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46091 
46092   /* "Cython/Compiler/FlowControl.py":475
46093  *
46094  *
46095  * class GV(object):             # <<<<<<<<<<<<<<
46096  *     """Graphviz DOT renderer."""
46097  *
46098  */
46099   __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_tuple__128); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 475, __pyx_L1_error)
46100   __Pyx_GOTREF(__pyx_t_3);
46101   __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_tuple__128, __pyx_n_s_GV, __pyx_n_s_GV, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_kp_s_Graphviz_DOT_renderer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 475, __pyx_L1_error)
46102   __Pyx_GOTREF(__pyx_t_2);
46103 
46104   /* "Cython/Compiler/FlowControl.py":478
46105  *     """Graphviz DOT renderer."""
46106  *
46107  *     def __init__(self, name, flow):             # <<<<<<<<<<<<<<
46108  *         self.name = name
46109  *         self.flow = flow
46110  */
46111   __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_2GV_1__init__, 0, __pyx_n_s_GV___init, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__130)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 478, __pyx_L1_error)
46112   __Pyx_GOTREF(__pyx_t_1);
46113   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_init, __pyx_t_1) < 0) __PYX_ERR(0, 478, __pyx_L1_error)
46114   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
46115 
46116   /* "Cython/Compiler/FlowControl.py":482
46117  *         self.flow = flow
46118  *
46119  *     def render(self, fp, ctx, annotate_defs=False):             # <<<<<<<<<<<<<<
46120  *         fp.write(' subgraph %s {\n' % self.name)
46121  *         for block in self.flow.blocks:
46122  */
46123   __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_2GV_3render, 0, __pyx_n_s_GV_render, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__132)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 482, __pyx_L1_error)
46124   __Pyx_GOTREF(__pyx_t_1);
46125   __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__133);
46126   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_render, __pyx_t_1) < 0) __PYX_ERR(0, 482, __pyx_L1_error)
46127   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
46128 
46129   /* "Cython/Compiler/FlowControl.py":475
46130  *
46131  *
46132  * class GV(object):             # <<<<<<<<<<<<<<
46133  *     """Graphviz DOT renderer."""
46134  *
46135  */
46136   __pyx_t_1 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_GV, __pyx_tuple__128, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 475, __pyx_L1_error)
46137   __Pyx_GOTREF(__pyx_t_1);
46138   if (PyDict_SetItem(__pyx_d, __pyx_n_s_GV, __pyx_t_1) < 0) __PYX_ERR(0, 475, __pyx_L1_error)
46139   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
46140   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
46141   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46142 
46143   /* "Cython/Compiler/FlowControl.py":510
46144  *         self.messages = set()
46145  *
46146  *     def error(self, pos, message):             # <<<<<<<<<<<<<<
46147  *         self.messages.add((pos, True, message))
46148  *
46149  */
46150   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_17MessageCollection_3error, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_MessageCollection_error, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__135)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 510, __pyx_L1_error)
46151   __Pyx_GOTREF(__pyx_t_3);
46152   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_MessageCollection->tp_dict, __pyx_n_s_error, __pyx_t_3) < 0) __PYX_ERR(0, 510, __pyx_L1_error)
46153   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46154   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_MessageCollection);
46155 
46156   /* "Cython/Compiler/FlowControl.py":513
46157  *         self.messages.add((pos, True, message))
46158  *
46159  *     def warning(self, pos, message):             # <<<<<<<<<<<<<<
46160  *         self.messages.add((pos, False, message))
46161  *
46162  */
46163   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_17MessageCollection_5warning, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_MessageCollection_warning, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__137)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 513, __pyx_L1_error)
46164   __Pyx_GOTREF(__pyx_t_3);
46165   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_MessageCollection->tp_dict, __pyx_n_s_warning, __pyx_t_3) < 0) __PYX_ERR(0, 513, __pyx_L1_error)
46166   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46167   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_MessageCollection);
46168 
46169   /* "Cython/Compiler/FlowControl.py":516
46170  *         self.messages.add((pos, False, message))
46171  *
46172  *     def report(self):             # <<<<<<<<<<<<<<
46173  *         for pos, is_error, message in sorted(self.messages):
46174  *             if is_error:
46175  */
46176   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_17MessageCollection_7report, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_MessageCollection_report, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__139)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 516, __pyx_L1_error)
46177   __Pyx_GOTREF(__pyx_t_3);
46178   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_MessageCollection->tp_dict, __pyx_n_s_report, __pyx_t_3) < 0) __PYX_ERR(0, 516, __pyx_L1_error)
46179   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46180   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_MessageCollection);
46181 
46182   /* "(tree fragment)":1
46183  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
46184  *     cdef tuple state
46185  *     cdef object _dict
46186  */
46187   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_17MessageCollection_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_MessageCollection___reduce_cytho, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__141)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
46188   __Pyx_GOTREF(__pyx_t_3);
46189   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_MessageCollection->tp_dict, __pyx_n_s_reduce_cython, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
46190   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46191   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_MessageCollection);
46192 
46193   /* "(tree fragment)":16
46194  *     else:
46195  *         return __pyx_unpickle_MessageCollection, (type(self), 0xde70938, state)
46196  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
46197  *     __pyx_unpickle_MessageCollection__set_state(self, __pyx_state)
46198  */
46199   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_17MessageCollection_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_MessageCollection___setstate_cyt, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__143)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 16, __pyx_L1_error)
46200   __Pyx_GOTREF(__pyx_t_3);
46201   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_MessageCollection->tp_dict, __pyx_n_s_setstate_cython, __pyx_t_3) < 0) __PYX_ERR(2, 16, __pyx_L1_error)
46202   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46203   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_MessageCollection);
46204 
46205   /* "Cython/Compiler/FlowControl.py":663
46206  *         self.assignments = []
46207  *
46208  *     def visit_Node(self):             # <<<<<<<<<<<<<<
46209  *         self._visitchildren(self, None)
46210  *
46211  */
46212   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19AssignmentCollector_3visit_Node, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_AssignmentCollector_visit_Node, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__145)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 663, __pyx_L1_error)
46213   __Pyx_GOTREF(__pyx_t_3);
46214   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentCollector->tp_dict, __pyx_n_s_visit_Node, __pyx_t_3) < 0) __PYX_ERR(0, 663, __pyx_L1_error)
46215   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46216   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentCollector);
46217 
46218   /* "Cython/Compiler/FlowControl.py":666
46219  *         self._visitchildren(self, None)
46220  *
46221  *     def visit_SingleAssignmentNode(self, node):             # <<<<<<<<<<<<<<
46222  *         self.assignments.append((node.lhs, node.rhs))
46223  *
46224  */
46225   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19AssignmentCollector_5visit_SingleAssignmentNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_AssignmentCollector_visit_Single, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__147)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 666, __pyx_L1_error)
46226   __Pyx_GOTREF(__pyx_t_3);
46227   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentCollector->tp_dict, __pyx_n_s_visit_SingleAssignmentNode, __pyx_t_3) < 0) __PYX_ERR(0, 666, __pyx_L1_error)
46228   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46229   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentCollector);
46230 
46231   /* "Cython/Compiler/FlowControl.py":669
46232  *         self.assignments.append((node.lhs, node.rhs))
46233  *
46234  *     def visit_CascadedAssignmentNode(self, node):             # <<<<<<<<<<<<<<
46235  *         for lhs in node.lhs_list:
46236  *             self.assignments.append((lhs, node.rhs))
46237  */
46238   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19AssignmentCollector_7visit_CascadedAssignmentNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_AssignmentCollector_visit_Cascad, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__149)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 669, __pyx_L1_error)
46239   __Pyx_GOTREF(__pyx_t_3);
46240   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentCollector->tp_dict, __pyx_n_s_visit_CascadedAssignmentNode, __pyx_t_3) < 0) __PYX_ERR(0, 669, __pyx_L1_error)
46241   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46242   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentCollector);
46243 
46244   /* "(tree fragment)":1
46245  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
46246  *     cdef tuple state
46247  *     cdef object _dict
46248  */
46249   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19AssignmentCollector_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_AssignmentCollector___reduce_cyt, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__151)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
46250   __Pyx_GOTREF(__pyx_t_3);
46251   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentCollector->tp_dict, __pyx_n_s_reduce_cython, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
46252   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46253   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentCollector);
46254 
46255   /* "(tree fragment)":16
46256  *     else:
46257  *         return __pyx_unpickle_AssignmentCollector, (type(self), 0xdf44812, state)
46258  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
46259  *     __pyx_unpickle_AssignmentCollector__set_state(self, __pyx_state)
46260  */
46261   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19AssignmentCollector_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_AssignmentCollector___setstate_c, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__153)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 16, __pyx_L1_error)
46262   __Pyx_GOTREF(__pyx_t_3);
46263   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentCollector->tp_dict, __pyx_n_s_setstate_cython, __pyx_t_3) < 0) __PYX_ERR(2, 16, __pyx_L1_error)
46264   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46265   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_AssignmentCollector);
46266 
46267   /* "Cython/Compiler/FlowControl.py":676
46268  * class ControlFlowAnalysis(CythonTransform):
46269  *
46270  *     def visit_ModuleNode(self, node):             # <<<<<<<<<<<<<<
46271  *         self.gv_ctx = GVContext()
46272  *         self.constant_folder = ConstantFolding()
46273  */
46274   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_1visit_ModuleNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_Module, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__155)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 676, __pyx_L1_error)
46275   __Pyx_GOTREF(__pyx_t_3);
46276   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_ModuleNode, __pyx_t_3) < 0) __PYX_ERR(0, 676, __pyx_L1_error)
46277   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46278   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46279 
46280   /* "Cython/Compiler/FlowControl.py":702
46281  *         return node
46282  *
46283  *     def visit_FuncDefNode(self, node):             # <<<<<<<<<<<<<<
46284  *         for arg in node.args:
46285  *             if arg.default:
46286  */
46287   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_3visit_FuncDefNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_FuncDe, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__157)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 702, __pyx_L1_error)
46288   __Pyx_GOTREF(__pyx_t_3);
46289   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_FuncDefNode, __pyx_t_3) < 0) __PYX_ERR(0, 702, __pyx_L1_error)
46290   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46291   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46292 
46293   /* "Cython/Compiler/FlowControl.py":753
46294  *         return node
46295  *
46296  *     def visit_DefNode(self, node):             # <<<<<<<<<<<<<<
46297  *         node.used = True
46298  *         return self.visit_FuncDefNode(node)
46299  */
46300   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_5visit_DefNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_DefNod, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__159)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 753, __pyx_L1_error)
46301   __Pyx_GOTREF(__pyx_t_3);
46302   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_DefNode, __pyx_t_3) < 0) __PYX_ERR(0, 753, __pyx_L1_error)
46303   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46304   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46305 
46306   /* "Cython/Compiler/FlowControl.py":757
46307  *         return self.visit_FuncDefNode(node)
46308  *
46309  *     def visit_GeneratorBodyDefNode(self, node):             # <<<<<<<<<<<<<<
46310  *         return node
46311  *
46312  */
46313   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_7visit_GeneratorBodyDefNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_Genera, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__161)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 757, __pyx_L1_error)
46314   __Pyx_GOTREF(__pyx_t_3);
46315   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_GeneratorBodyDefNode, __pyx_t_3) < 0) __PYX_ERR(0, 757, __pyx_L1_error)
46316   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46317   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46318 
46319   /* "Cython/Compiler/FlowControl.py":760
46320  *         return node
46321  *
46322  *     def visit_CTypeDefNode(self, node):             # <<<<<<<<<<<<<<
46323  *         return node
46324  *
46325  */
46326   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_9visit_CTypeDefNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_CTypeD, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__163)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 760, __pyx_L1_error)
46327   __Pyx_GOTREF(__pyx_t_3);
46328   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_CTypeDefNode, __pyx_t_3) < 0) __PYX_ERR(0, 760, __pyx_L1_error)
46329   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46330   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46331 
46332   /* "Cython/Compiler/FlowControl.py":763
46333  *         return node
46334  *
46335  *     def mark_assignment(self, lhs, rhs=None):             # <<<<<<<<<<<<<<
46336  *         if not self.flow.block:
46337  *             return
46338  */
46339   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_11mark_assignment, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_mark_assignm, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__165)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 763, __pyx_L1_error)
46340   __Pyx_GOTREF(__pyx_t_3);
46341   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_mark_assignment, __pyx_t_3) < 0) __PYX_ERR(0, 763, __pyx_L1_error)
46342   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46343   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46344 
46345   /* "Cython/Compiler/FlowControl.py":796
46346  *             self.flow.nextblock()
46347  *
46348  *     def mark_position(self, node):             # <<<<<<<<<<<<<<
46349  *         """Mark position if DOT output is enabled."""
46350  *         if self.current_directives['control_flow.dot_output']:
46351  */
46352   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_13mark_position, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_mark_positio, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__167)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 796, __pyx_L1_error)
46353   __Pyx_GOTREF(__pyx_t_3);
46354   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_mark_position, __pyx_t_3) < 0) __PYX_ERR(0, 796, __pyx_L1_error)
46355   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46356   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46357 
46358   /* "Cython/Compiler/FlowControl.py":801
46359  *             self.flow.mark_position(node)
46360  *
46361  *     def visit_FromImportStatNode(self, node):             # <<<<<<<<<<<<<<
46362  *         for name, target in node.items:
46363  *             if name != "*":
46364  */
46365   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_15visit_FromImportStatNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_FromIm, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__169)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 801, __pyx_L1_error)
46366   __Pyx_GOTREF(__pyx_t_3);
46367   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_FromImportStatNode, __pyx_t_3) < 0) __PYX_ERR(0, 801, __pyx_L1_error)
46368   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46369   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46370 
46371   /* "Cython/Compiler/FlowControl.py":808
46372  *         return node
46373  *
46374  *     def visit_AssignmentNode(self, node):             # <<<<<<<<<<<<<<
46375  *         raise InternalError("Unhandled assignment node")
46376  *
46377  */
46378   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_17visit_AssignmentNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_Assign, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__171)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 808, __pyx_L1_error)
46379   __Pyx_GOTREF(__pyx_t_3);
46380   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_AssignmentNode, __pyx_t_3) < 0) __PYX_ERR(0, 808, __pyx_L1_error)
46381   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46382   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46383 
46384   /* "Cython/Compiler/FlowControl.py":811
46385  *         raise InternalError("Unhandled assignment node")
46386  *
46387  *     def visit_SingleAssignmentNode(self, node):             # <<<<<<<<<<<<<<
46388  *         self._visit(node.rhs)
46389  *         self.mark_assignment(node.lhs, node.rhs)
46390  */
46391   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_19visit_SingleAssignmentNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_Single, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__173)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 811, __pyx_L1_error)
46392   __Pyx_GOTREF(__pyx_t_3);
46393   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_SingleAssignmentNode, __pyx_t_3) < 0) __PYX_ERR(0, 811, __pyx_L1_error)
46394   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46395   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46396 
46397   /* "Cython/Compiler/FlowControl.py":816
46398  *         return node
46399  *
46400  *     def visit_CascadedAssignmentNode(self, node):             # <<<<<<<<<<<<<<
46401  *         self._visit(node.rhs)
46402  *         for lhs in node.lhs_list:
46403  */
46404   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_21visit_CascadedAssignmentNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_Cascad, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__175)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 816, __pyx_L1_error)
46405   __Pyx_GOTREF(__pyx_t_3);
46406   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_CascadedAssignmentNode, __pyx_t_3) < 0) __PYX_ERR(0, 816, __pyx_L1_error)
46407   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46408   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46409 
46410   /* "Cython/Compiler/FlowControl.py":822
46411  *         return node
46412  *
46413  *     def visit_ParallelAssignmentNode(self, node):             # <<<<<<<<<<<<<<
46414  *         collector = AssignmentCollector()
46415  *         collector.visitchildren(node)
46416  */
46417   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_23visit_ParallelAssignmentNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_Parall, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__177)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 822, __pyx_L1_error)
46418   __Pyx_GOTREF(__pyx_t_3);
46419   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_ParallelAssignmentNode, __pyx_t_3) < 0) __PYX_ERR(0, 822, __pyx_L1_error)
46420   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46421   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46422 
46423   /* "Cython/Compiler/FlowControl.py":831
46424  *         return node
46425  *
46426  *     def visit_InPlaceAssignmentNode(self, node):             # <<<<<<<<<<<<<<
46427  *         self.in_inplace_assignment = True
46428  *         self.visitchildren(node)
46429  */
46430   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_25visit_InPlaceAssignmentNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_InPlac, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__179)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 831, __pyx_L1_error)
46431   __Pyx_GOTREF(__pyx_t_3);
46432   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_InPlaceAssignmentNode, __pyx_t_3) < 0) __PYX_ERR(0, 831, __pyx_L1_error)
46433   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46434   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46435 
46436   /* "Cython/Compiler/FlowControl.py":838
46437  *         return node
46438  *
46439  *     def visit_DelStatNode(self, node):             # <<<<<<<<<<<<<<
46440  *         for arg in node.args:
46441  *             if arg.is_name:
46442  */
46443   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_27visit_DelStatNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_DelSta, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__181)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 838, __pyx_L1_error)
46444   __Pyx_GOTREF(__pyx_t_3);
46445   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_DelStatNode, __pyx_t_3) < 0) __PYX_ERR(0, 838, __pyx_L1_error)
46446   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46447   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46448 
46449   /* "Cython/Compiler/FlowControl.py":853
46450  *         return node
46451  *
46452  *     def visit_CArgDeclNode(self, node):             # <<<<<<<<<<<<<<
46453  *         entry = self.env.lookup(node.name)
46454  *         if entry:
46455  */
46456   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_29visit_CArgDeclNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_CArgDe, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__183)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 853, __pyx_L1_error)
46457   __Pyx_GOTREF(__pyx_t_3);
46458   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_CArgDeclNode, __pyx_t_3) < 0) __PYX_ERR(0, 853, __pyx_L1_error)
46459   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46460   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46461 
46462   /* "Cython/Compiler/FlowControl.py":861
46463  *         return node
46464  *
46465  *     def visit_NameNode(self, node):             # <<<<<<<<<<<<<<
46466  *         if self.flow.block:
46467  *             entry = node.entry or self.env.lookup(node.name)
46468  */
46469   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_31visit_NameNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_NameNo, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__185)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 861, __pyx_L1_error)
46470   __Pyx_GOTREF(__pyx_t_3);
46471   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_NameNode, __pyx_t_3) < 0) __PYX_ERR(0, 861, __pyx_L1_error)
46472   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46473   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46474 
46475   /* "Cython/Compiler/FlowControl.py":873
46476  *         return node
46477  *
46478  *     def visit_StatListNode(self, node):             # <<<<<<<<<<<<<<
46479  *         if self.flow.block:
46480  *             for stat in node.stats:
46481  */
46482   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_33visit_StatListNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_StatLi, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__187)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 873, __pyx_L1_error)
46483   __Pyx_GOTREF(__pyx_t_3);
46484   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_StatListNode, __pyx_t_3) < 0) __PYX_ERR(0, 873, __pyx_L1_error)
46485   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46486   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46487 
46488   /* "Cython/Compiler/FlowControl.py":882
46489  *         return node
46490  *
46491  *     def visit_Node(self, node):             # <<<<<<<<<<<<<<
46492  *         self.visitchildren(node)
46493  *         self.mark_position(node)
46494  */
46495   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_35visit_Node, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_Node, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__189)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 882, __pyx_L1_error)
46496   __Pyx_GOTREF(__pyx_t_3);
46497   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_Node, __pyx_t_3) < 0) __PYX_ERR(0, 882, __pyx_L1_error)
46498   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46499   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46500 
46501   /* "Cython/Compiler/FlowControl.py":887
46502  *         return node
46503  *
46504  *     def visit_SizeofVarNode(self, node):             # <<<<<<<<<<<<<<
46505  *         return node
46506  *
46507  */
46508   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_37visit_SizeofVarNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_Sizeof, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__191)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 887, __pyx_L1_error)
46509   __Pyx_GOTREF(__pyx_t_3);
46510   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_SizeofVarNode, __pyx_t_3) < 0) __PYX_ERR(0, 887, __pyx_L1_error)
46511   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46512   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46513 
46514   /* "Cython/Compiler/FlowControl.py":890
46515  *         return node
46516  *
46517  *     def visit_TypeidNode(self, node):             # <<<<<<<<<<<<<<
46518  *         return node
46519  *
46520  */
46521   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_39visit_TypeidNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_Typeid, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__193)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 890, __pyx_L1_error)
46522   __Pyx_GOTREF(__pyx_t_3);
46523   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_TypeidNode, __pyx_t_3) < 0) __PYX_ERR(0, 890, __pyx_L1_error)
46524   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46525   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46526 
46527   /* "Cython/Compiler/FlowControl.py":893
46528  *         return node
46529  *
46530  *     def visit_IfStatNode(self, node):             # <<<<<<<<<<<<<<
46531  *         next_block = self.flow.newblock()
46532  *         parent = self.flow.block
46533  */
46534   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_41visit_IfStatNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_IfStat, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__195)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 893, __pyx_L1_error)
46535   __Pyx_GOTREF(__pyx_t_3);
46536   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_IfStatNode, __pyx_t_3) < 0) __PYX_ERR(0, 893, __pyx_L1_error)
46537   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46538   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46539 
46540   /* "Cython/Compiler/FlowControl.py":919
46541  *         return node
46542  *
46543  *     def visit_WhileStatNode(self, node):             # <<<<<<<<<<<<<<
46544  *         condition_block = self.flow.nextblock()
46545  *         next_block = self.flow.newblock()
46546  */
46547   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_43visit_WhileStatNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_WhileS, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__197)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 919, __pyx_L1_error)
46548   __Pyx_GOTREF(__pyx_t_3);
46549   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_WhileStatNode, __pyx_t_3) < 0) __PYX_ERR(0, 919, __pyx_L1_error)
46550   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46551   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46552 
46553   /* "Cython/Compiler/FlowControl.py":949
46554  *         return node
46555  *
46556  *     def mark_forloop_target(self, node):             # <<<<<<<<<<<<<<
46557  *         # TODO: Remove redundancy with range optimization...
46558  *         is_special = False
46559  */
46560   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_45mark_forloop_target, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_mark_forloop, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__199)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 949, __pyx_L1_error)
46561   __Pyx_GOTREF(__pyx_t_3);
46562   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_mark_forloop_target, __pyx_t_3) < 0) __PYX_ERR(0, 949, __pyx_L1_error)
46563   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46564   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46565 
46566   /* "Cython/Compiler/FlowControl.py":999
46567  *             self.mark_assignment(target, node.item)
46568  *
46569  *     def visit_AsyncForStatNode(self, node):             # <<<<<<<<<<<<<<
46570  *         return self.visit_ForInStatNode(node)
46571  *
46572  */
46573   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_47visit_AsyncForStatNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_AsyncF, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__201)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 999, __pyx_L1_error)
46574   __Pyx_GOTREF(__pyx_t_3);
46575   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_AsyncForStatNode, __pyx_t_3) < 0) __PYX_ERR(0, 999, __pyx_L1_error)
46576   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46577   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46578 
46579   /* "Cython/Compiler/FlowControl.py":1002
46580  *         return self.visit_ForInStatNode(node)
46581  *
46582  *     def visit_ForInStatNode(self, node):             # <<<<<<<<<<<<<<
46583  *         condition_block = self.flow.nextblock()
46584  *         next_block = self.flow.newblock()
46585  */
46586   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_49visit_ForInStatNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_ForInS, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__203)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1002, __pyx_L1_error)
46587   __Pyx_GOTREF(__pyx_t_3);
46588   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_ForInStatNode, __pyx_t_3) < 0) __PYX_ERR(0, 1002, __pyx_L1_error)
46589   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46590   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46591 
46592   /* "Cython/Compiler/FlowControl.py":1046
46593  *         return node
46594  *
46595  *     def _delete_privates(self, node, exclude=None):             # <<<<<<<<<<<<<<
46596  *         for private_node in node.assigned_nodes:
46597  *             if not exclude or private_node.entry is not exclude:
46598  */
46599   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_51_delete_privates, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis__delete_priv, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__205)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1046, __pyx_L1_error)
46600   __Pyx_GOTREF(__pyx_t_3);
46601   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_delete_privates, __pyx_t_3) < 0) __PYX_ERR(0, 1046, __pyx_L1_error)
46602   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46603   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46604 
46605   /* "Cython/Compiler/FlowControl.py":1051
46606  *                 self.flow.mark_deletion(private_node, private_node.entry)
46607  *
46608  *     def visit_ParallelRangeNode(self, node):             # <<<<<<<<<<<<<<
46609  *         reductions = self.reductions
46610  *
46611  */
46612   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_53visit_ParallelRangeNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_Parall_2, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__207)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1051, __pyx_L1_error)
46613   __Pyx_GOTREF(__pyx_t_3);
46614   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_ParallelRangeNode, __pyx_t_3) < 0) __PYX_ERR(0, 1051, __pyx_L1_error)
46615   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46616   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46617 
46618   /* "Cython/Compiler/FlowControl.py":1070
46619  *         return node
46620  *
46621  *     def visit_ParallelWithBlockNode(self, node):             # <<<<<<<<<<<<<<
46622  *         for private_node in node.assigned_nodes:
46623  *             private_node.entry.error_on_uninitialized = True
46624  */
46625   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_55visit_ParallelWithBlockNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_Parall_3, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__209)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1070, __pyx_L1_error)
46626   __Pyx_GOTREF(__pyx_t_3);
46627   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_ParallelWithBlockNode, __pyx_t_3) < 0) __PYX_ERR(0, 1070, __pyx_L1_error)
46628   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46629   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46630 
46631   /* "Cython/Compiler/FlowControl.py":1080
46632  *         return node
46633  *
46634  *     def visit_ForFromStatNode(self, node):             # <<<<<<<<<<<<<<
46635  *         condition_block = self.flow.nextblock()
46636  *         next_block = self.flow.newblock()
46637  */
46638   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_57visit_ForFromStatNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_ForFro, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__211)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1080, __pyx_L1_error)
46639   __Pyx_GOTREF(__pyx_t_3);
46640   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_ForFromStatNode, __pyx_t_3) < 0) __PYX_ERR(0, 1080, __pyx_L1_error)
46641   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46642   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46643 
46644   /* "Cython/Compiler/FlowControl.py":1117
46645  *         return node
46646  *
46647  *     def visit_LoopNode(self, node):             # <<<<<<<<<<<<<<
46648  *         raise InternalError("Generic loops are not supported")
46649  *
46650  */
46651   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_59visit_LoopNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_LoopNo, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__213)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1117, __pyx_L1_error)
46652   __Pyx_GOTREF(__pyx_t_3);
46653   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_LoopNode, __pyx_t_3) < 0) __PYX_ERR(0, 1117, __pyx_L1_error)
46654   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46655   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46656 
46657   /* "Cython/Compiler/FlowControl.py":1120
46658  *         raise InternalError("Generic loops are not supported")
46659  *
46660  *     def visit_WithTargetAssignmentStatNode(self, node):             # <<<<<<<<<<<<<<
46661  *         self.mark_assignment(node.lhs, node.with_node.enter_call)
46662  *         return node
46663  */
46664   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_61visit_WithTargetAssignmentStatNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_WithTa, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__215)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1120, __pyx_L1_error)
46665   __Pyx_GOTREF(__pyx_t_3);
46666   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_WithTargetAssignmentStatNo, __pyx_t_3) < 0) __PYX_ERR(0, 1120, __pyx_L1_error)
46667   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46668   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46669 
46670   /* "Cython/Compiler/FlowControl.py":1124
46671  *         return node
46672  *
46673  *     def visit_WithStatNode(self, node):             # <<<<<<<<<<<<<<
46674  *         self._visit(node.manager)
46675  *         self._visit(node.enter_call)
46676  */
46677   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_63visit_WithStatNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_WithSt, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__217)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1124, __pyx_L1_error)
46678   __Pyx_GOTREF(__pyx_t_3);
46679   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_WithStatNode, __pyx_t_3) < 0) __PYX_ERR(0, 1124, __pyx_L1_error)
46680   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46681   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46682 
46683   /* "Cython/Compiler/FlowControl.py":1130
46684  *         return node
46685  *
46686  *     def visit_TryExceptStatNode(self, node):             # <<<<<<<<<<<<<<
46687  *         # After exception handling
46688  *         next_block = self.flow.newblock()
46689  */
46690   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_65visit_TryExceptStatNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_TryExc, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__219)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1130, __pyx_L1_error)
46691   __Pyx_GOTREF(__pyx_t_3);
46692   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_TryExceptStatNode, __pyx_t_3) < 0) __PYX_ERR(0, 1130, __pyx_L1_error)
46693   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46694   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46695 
46696   /* "Cython/Compiler/FlowControl.py":1179
46697  *         return node
46698  *
46699  *     def visit_TryFinallyStatNode(self, node):             # <<<<<<<<<<<<<<
46700  *         body_block = self.flow.nextblock()
46701  *
46702  */
46703   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_67visit_TryFinallyStatNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_TryFin, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__221)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1179, __pyx_L1_error)
46704   __Pyx_GOTREF(__pyx_t_3);
46705   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_TryFinallyStatNode, __pyx_t_3) < 0) __PYX_ERR(0, 1179, __pyx_L1_error)
46706   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46707   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46708 
46709   /* "Cython/Compiler/FlowControl.py":1216
46710  *         return node
46711  *
46712  *     def visit_RaiseStatNode(self, node):             # <<<<<<<<<<<<<<
46713  *         self.mark_position(node)
46714  *         self.visitchildren(node)
46715  */
46716   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_69visit_RaiseStatNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_RaiseS, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__223)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1216, __pyx_L1_error)
46717   __Pyx_GOTREF(__pyx_t_3);
46718   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_RaiseStatNode, __pyx_t_3) < 0) __PYX_ERR(0, 1216, __pyx_L1_error)
46719   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46720   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46721 
46722   /* "Cython/Compiler/FlowControl.py":1224
46723  *         return node
46724  *
46725  *     def visit_ReraiseStatNode(self, node):             # <<<<<<<<<<<<<<
46726  *         self.mark_position(node)
46727  *         if self.flow.exceptions:
46728  */
46729   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_71visit_ReraiseStatNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_Rerais, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__225)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1224, __pyx_L1_error)
46730   __Pyx_GOTREF(__pyx_t_3);
46731   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_ReraiseStatNode, __pyx_t_3) < 0) __PYX_ERR(0, 1224, __pyx_L1_error)
46732   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46733   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46734 
46735   /* "Cython/Compiler/FlowControl.py":1231
46736  *         return node
46737  *
46738  *     def visit_ReturnStatNode(self, node):             # <<<<<<<<<<<<<<
46739  *         self.mark_position(node)
46740  *         self.visitchildren(node)
46741  */
46742   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_73visit_ReturnStatNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_Return, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__227)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1231, __pyx_L1_error)
46743   __Pyx_GOTREF(__pyx_t_3);
46744   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_ReturnStatNode, __pyx_t_3) < 0) __PYX_ERR(0, 1231, __pyx_L1_error)
46745   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46746   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46747 
46748   /* "Cython/Compiler/FlowControl.py":1254
46749  *         return node
46750  *
46751  *     def visit_BreakStatNode(self, node):             # <<<<<<<<<<<<<<
46752  *         if not self.flow.loops:
46753  *             #error(node.pos, "break statement not inside loop")
46754  */
46755   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_75visit_BreakStatNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_BreakS, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__229)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1254, __pyx_L1_error)
46756   __Pyx_GOTREF(__pyx_t_3);
46757   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_BreakStatNode, __pyx_t_3) < 0) __PYX_ERR(0, 1254, __pyx_L1_error)
46758   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46759   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46760 
46761   /* "Cython/Compiler/FlowControl.py":1271
46762  *         return node
46763  *
46764  *     def visit_ContinueStatNode(self, node):             # <<<<<<<<<<<<<<
46765  *         if not self.flow.loops:
46766  *             #error(node.pos, "continue statement not inside loop")
46767  */
46768   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_77visit_ContinueStatNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_Contin, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__231)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1271, __pyx_L1_error)
46769   __Pyx_GOTREF(__pyx_t_3);
46770   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_ContinueStatNode, __pyx_t_3) < 0) __PYX_ERR(0, 1271, __pyx_L1_error)
46771   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46772   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46773 
46774   /* "Cython/Compiler/FlowControl.py":1288
46775  *         return node
46776  *
46777  *     def visit_ComprehensionNode(self, node):             # <<<<<<<<<<<<<<
46778  *         if node.expr_scope:
46779  *             self.env_stack.append(self.env)
46780  */
46781   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_79visit_ComprehensionNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_Compre, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__233)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1288, __pyx_L1_error)
46782   __Pyx_GOTREF(__pyx_t_3);
46783   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_ComprehensionNode, __pyx_t_3) < 0) __PYX_ERR(0, 1288, __pyx_L1_error)
46784   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46785   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46786 
46787   /* "Cython/Compiler/FlowControl.py":1298
46788  *         return node
46789  *
46790  *     def visit_ScopedExprNode(self, node):             # <<<<<<<<<<<<<<
46791  *         if node.expr_scope:
46792  *             self.env_stack.append(self.env)
46793  */
46794   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_81visit_ScopedExprNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_Scoped, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__235)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1298, __pyx_L1_error)
46795   __Pyx_GOTREF(__pyx_t_3);
46796   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_ScopedExprNode, __pyx_t_3) < 0) __PYX_ERR(0, 1298, __pyx_L1_error)
46797   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46798   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46799 
46800   /* "Cython/Compiler/FlowControl.py":1307
46801  *         return node
46802  *
46803  *     def visit_PyClassDefNode(self, node):             # <<<<<<<<<<<<<<
46804  *         self.visitchildren(node, ('dict', 'metaclass',
46805  *                                   'mkw', 'bases', 'class_result'))
46806  */
46807   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_83visit_PyClassDefNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_PyClas, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__237)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1307, __pyx_L1_error)
46808   __Pyx_GOTREF(__pyx_t_3);
46809   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_PyClassDefNode, __pyx_t_3) < 0) __PYX_ERR(0, 1307, __pyx_L1_error)
46810   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46811   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46812 
46813   /* "Cython/Compiler/FlowControl.py":1320
46814  *         return node
46815  *
46816  *     def visit_AmpersandNode(self, node):             # <<<<<<<<<<<<<<
46817  *         if node.operand.is_name:
46818  *             # Fake assignment to silence warning
46819  */
46820   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_85visit_AmpersandNode, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis_visit_Ampers, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__239)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1320, __pyx_L1_error)
46821   __Pyx_GOTREF(__pyx_t_3);
46822   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_visit_AmpersandNode, __pyx_t_3) < 0) __PYX_ERR(0, 1320, __pyx_L1_error)
46823   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46824   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46825 
46826   /* "(tree fragment)":1
46827  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
46828  *     cdef tuple state
46829  *     cdef object _dict
46830  */
46831   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_87__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis___reduce_cyt, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__241)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
46832   __Pyx_GOTREF(__pyx_t_3);
46833   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_reduce_cython, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
46834   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46835   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46836 
46837   /* "(tree fragment)":16
46838  *     else:
46839  *         return __pyx_unpickle_ControlFlowAnalysis, (type(self), 0x9348192, state)
46840  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
46841  *     __pyx_unpickle_ControlFlowAnalysis__set_state(self, __pyx_state)
46842  */
46843   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19ControlFlowAnalysis_89__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ControlFlowAnalysis___setstate_c, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__243)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 16, __pyx_L1_error)
46844   __Pyx_GOTREF(__pyx_t_3);
46845   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis->tp_dict, __pyx_n_s_setstate_cython, __pyx_t_3) < 0) __PYX_ERR(2, 16, __pyx_L1_error)
46846   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46847   PyType_Modified(__pyx_ptype_6Cython_8Compiler_11FlowControl_ControlFlowAnalysis);
46848 
46849   /* "(tree fragment)":1
46850  * def __pyx_unpickle_ControlBlock(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
46851  *     cdef object __pyx_PickleError
46852  *     cdef object __pyx_result
46853  */
46854   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_1__pyx_unpickle_ControlBlock, 0, __pyx_n_s_pyx_unpickle_ControlBlock, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__245)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
46855   __Pyx_GOTREF(__pyx_t_3);
46856   if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_ControlBlock, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
46857   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46858 
46859   /* "(tree fragment)":11
46860  *         __pyx_unpickle_ControlBlock__set_state(<ControlBlock> __pyx_result, __pyx_state)
46861  *     return __pyx_result
46862  * cdef __pyx_unpickle_ControlBlock__set_state(ControlBlock __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
46863  *     __pyx_result.bounded = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.gen = __pyx_state[2]; __pyx_result.i_gen = __pyx_state[3]; __pyx_result.i_input = __pyx_state[4]; __pyx_result.i_kill = __pyx_state[5]; __pyx_result.i_output = __pyx_state[6]; __pyx_result.i_state = __pyx_state[7]; __pyx_result.parents = __pyx_state[8]; __pyx_result.positions = __pyx_state[9]; __pyx_result.stats = __pyx_state[10]
46864  *     if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):
46865  */
46866   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_3__pyx_unpickle_ExitBlock, 0, __pyx_n_s_pyx_unpickle_ExitBlock, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__247)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
46867   __Pyx_GOTREF(__pyx_t_3);
46868   if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_ExitBlock, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
46869   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46870 
46871   /* "(tree fragment)":1
46872  * def __pyx_unpickle_AssignmentList(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
46873  *     cdef object __pyx_PickleError
46874  *     cdef object __pyx_result
46875  */
46876   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_5__pyx_unpickle_AssignmentList, 0, __pyx_n_s_pyx_unpickle_AssignmentList, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__249)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
46877   __Pyx_GOTREF(__pyx_t_3);
46878   if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_AssignmentList, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
46879   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46880 
46881   /* "(tree fragment)":11
46882  *         __pyx_unpickle_AssignmentList__set_state(<AssignmentList> __pyx_result, __pyx_state)
46883  *     return __pyx_result
46884  * cdef __pyx_unpickle_AssignmentList__set_state(AssignmentList __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
46885  *     __pyx_result.bit = __pyx_state[0]; __pyx_result.mask = __pyx_state[1]; __pyx_result.stats = __pyx_state[2]
46886  *     if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'):
46887  */
46888   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_7__pyx_unpickle_ControlFlow, 0, __pyx_n_s_pyx_unpickle_ControlFlow, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__251)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
46889   __Pyx_GOTREF(__pyx_t_3);
46890   if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_ControlFlow, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
46891   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46892 
46893   /* "(tree fragment)":1
46894  * def __pyx_unpickle_NameAssignment(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
46895  *     cdef object __pyx_PickleError
46896  *     cdef object __pyx_result
46897  */
46898   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_9__pyx_unpickle_NameAssignment, 0, __pyx_n_s_pyx_unpickle_NameAssignment, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__253)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
46899   __Pyx_GOTREF(__pyx_t_3);
46900   if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_NameAssignment, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
46901   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46902 
46903   /* "(tree fragment)":11
46904  *         __pyx_unpickle_NameAssignment__set_state(<NameAssignment> __pyx_result, __pyx_state)
46905  *     return __pyx_result
46906  * cdef __pyx_unpickle_NameAssignment__set_state(NameAssignment __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
46907  *     __pyx_result.bit = __pyx_state[0]; __pyx_result.entry = __pyx_state[1]; __pyx_result.inferred_type = __pyx_state[2]; __pyx_result.is_arg = __pyx_state[3]; __pyx_result.is_deletion = __pyx_state[4]; __pyx_result.lhs = __pyx_state[5]; __pyx_result.pos = __pyx_state[6]; __pyx_result.refs = __pyx_state[7]; __pyx_result.rhs = __pyx_state[8]
46908  *     if len(__pyx_state) > 9 and hasattr(__pyx_result, '__dict__'):
46909  */
46910   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_11__pyx_unpickle_Uninitialized, 0, __pyx_n_s_pyx_unpickle_Uninitialized, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__255)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
46911   __Pyx_GOTREF(__pyx_t_3);
46912   if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Uninitialized, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
46913   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46914 
46915   /* "(tree fragment)":1
46916  * def __pyx_unpickle_Unknown(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
46917  *     cdef object __pyx_PickleError
46918  *     cdef object __pyx_result
46919  */
46920   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_13__pyx_unpickle_Unknown, 0, __pyx_n_s_pyx_unpickle_Unknown, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__257)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
46921   __Pyx_GOTREF(__pyx_t_3);
46922   if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Unknown, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
46923   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46924 
46925   /* "(tree fragment)":11
46926  *         __pyx_unpickle_Unknown__set_state(<Unknown> __pyx_result, __pyx_state)
46927  *     return __pyx_result
46928  * cdef __pyx_unpickle_Unknown__set_state(Unknown __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
46929  *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
46930  *         __pyx_result.__dict__.update(__pyx_state[0])
46931  */
46932   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_15__pyx_unpickle_MessageCollection, 0, __pyx_n_s_pyx_unpickle_MessageCollection, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__259)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
46933   __Pyx_GOTREF(__pyx_t_3);
46934   if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_MessageCollection, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
46935   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46936 
46937   /* "(tree fragment)":1
46938  * def __pyx_unpickle_AssignmentCollector(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
46939  *     cdef object __pyx_PickleError
46940  *     cdef object __pyx_result
46941  */
46942   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_17__pyx_unpickle_AssignmentCollector, 0, __pyx_n_s_pyx_unpickle_AssignmentCollect, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__261)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
46943   __Pyx_GOTREF(__pyx_t_3);
46944   if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_AssignmentCollect, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
46945   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46946 
46947   /* "(tree fragment)":11
46948  *         __pyx_unpickle_AssignmentCollector__set_state(<AssignmentCollector> __pyx_result, __pyx_state)
46949  *     return __pyx_result
46950  * cdef __pyx_unpickle_AssignmentCollector__set_state(AssignmentCollector __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
46951  *     __pyx_result.access_path = __pyx_state[0]; __pyx_result.assignments = __pyx_state[1]; __pyx_result.dispatch_table = __pyx_state[2]
46952  *     if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'):
46953  */
46954   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_11FlowControl_19__pyx_unpickle_ControlFlowAnalysis, 0, __pyx_n_s_pyx_unpickle_ControlFlowAnalys, NULL, __pyx_n_s_Cython_Compiler_FlowControl, __pyx_d, ((PyObject *)__pyx_codeobj__263)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1, __pyx_L1_error)
46955   __Pyx_GOTREF(__pyx_t_3);
46956   if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_ControlFlowAnalys, __pyx_t_3) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
46957   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46958 
46959   /* "Cython/Compiler/FlowControl.py":1
46960  * from __future__ import absolute_import             # <<<<<<<<<<<<<<
46961  *
46962  * import cython
46963  */
46964   __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1, __pyx_L1_error)
46965   __Pyx_GOTREF(__pyx_t_3);
46966   if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_3) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
46967   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
46968 
46969   /*--- Wrapped vars code ---*/
46970 
46971   goto __pyx_L0;
46972   __pyx_L1_error:;
46973   __Pyx_XDECREF(__pyx_t_1);
46974   __Pyx_XDECREF(__pyx_t_2);
46975   __Pyx_XDECREF(__pyx_t_3);
46976   __Pyx_XDECREF(__pyx_t_4);
46977   if (__pyx_m) {
46978     if (__pyx_d) {
46979       __Pyx_AddTraceback("init Cython.Compiler.FlowControl", __pyx_clineno, __pyx_lineno, __pyx_filename);
46980     }
46981     Py_CLEAR(__pyx_m);
46982   } else if (!PyErr_Occurred()) {
46983     PyErr_SetString(PyExc_ImportError, "init Cython.Compiler.FlowControl");
46984   }
46985   __pyx_L0:;
46986   __Pyx_RefNannyFinishContext();
46987   #if CYTHON_PEP489_MULTI_PHASE_INIT
46988   return (__pyx_m != NULL) ? 0 : -1;
46989   #elif PY_MAJOR_VERSION >= 3
46990   return __pyx_m;
46991   #else
46992   return;
46993   #endif
46994 }
46995 
46996 /* --- Runtime support code --- */
46997 /* Refnanny */
46998 #if CYTHON_REFNANNY
__Pyx_RefNannyImportAPI(const char * modname)46999 static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
47000     PyObject *m = NULL, *p = NULL;
47001     void *r = NULL;
47002     m = PyImport_ImportModule(modname);
47003     if (!m) goto end;
47004     p = PyObject_GetAttrString(m, "RefNannyAPI");
47005     if (!p) goto end;
47006     r = PyLong_AsVoidPtr(p);
47007 end:
47008     Py_XDECREF(p);
47009     Py_XDECREF(m);
47010     return (__Pyx_RefNannyAPIStruct *)r;
47011 }
47012 #endif
47013 
47014 /* PyObjectGetAttrStr */
47015 #if CYTHON_USE_TYPE_SLOTS
__Pyx_PyObject_GetAttrStr(PyObject * obj,PyObject * attr_name)47016 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {
47017     PyTypeObject* tp = Py_TYPE(obj);
47018     if (likely(tp->tp_getattro))
47019         return tp->tp_getattro(obj, attr_name);
47020 #if PY_MAJOR_VERSION < 3
47021     if (likely(tp->tp_getattr))
47022         return tp->tp_getattr(obj, PyString_AS_STRING(attr_name));
47023 #endif
47024     return PyObject_GetAttr(obj, attr_name);
47025 }
47026 #endif
47027 
47028 /* GetBuiltinName */
__Pyx_GetBuiltinName(PyObject * name)47029 static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
47030     PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name);
47031     if (unlikely(!result)) {
47032         PyErr_Format(PyExc_NameError,
47033 #if PY_MAJOR_VERSION >= 3
47034             "name '%U' is not defined", name);
47035 #else
47036             "name '%.200s' is not defined", PyString_AS_STRING(name));
47037 #endif
47038     }
47039     return result;
47040 }
47041 
47042 /* RaiseArgTupleInvalid */
__Pyx_RaiseArgtupleInvalid(const char * func_name,int exact,Py_ssize_t num_min,Py_ssize_t num_max,Py_ssize_t num_found)47043 static void __Pyx_RaiseArgtupleInvalid(
47044     const char* func_name,
47045     int exact,
47046     Py_ssize_t num_min,
47047     Py_ssize_t num_max,
47048     Py_ssize_t num_found)
47049 {
47050     Py_ssize_t num_expected;
47051     const char *more_or_less;
47052     if (num_found < num_min) {
47053         num_expected = num_min;
47054         more_or_less = "at least";
47055     } else {
47056         num_expected = num_max;
47057         more_or_less = "at most";
47058     }
47059     if (exact) {
47060         more_or_less = "exactly";
47061     }
47062     PyErr_Format(PyExc_TypeError,
47063                  "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",
47064                  func_name, more_or_less, num_expected,
47065                  (num_expected == 1) ? "" : "s", num_found);
47066 }
47067 
47068 /* RaiseDoubleKeywords */
__Pyx_RaiseDoubleKeywordsError(const char * func_name,PyObject * kw_name)47069 static void __Pyx_RaiseDoubleKeywordsError(
47070     const char* func_name,
47071     PyObject* kw_name)
47072 {
47073     PyErr_Format(PyExc_TypeError,
47074         #if PY_MAJOR_VERSION >= 3
47075         "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
47076         #else
47077         "%s() got multiple values for keyword argument '%s'", func_name,
47078         PyString_AsString(kw_name));
47079         #endif
47080 }
47081 
47082 /* ParseKeywords */
__Pyx_ParseOptionalKeywords(PyObject * kwds,PyObject ** argnames[],PyObject * kwds2,PyObject * values[],Py_ssize_t num_pos_args,const char * function_name)47083 static int __Pyx_ParseOptionalKeywords(
47084     PyObject *kwds,
47085     PyObject **argnames[],
47086     PyObject *kwds2,
47087     PyObject *values[],
47088     Py_ssize_t num_pos_args,
47089     const char* function_name)
47090 {
47091     PyObject *key = 0, *value = 0;
47092     Py_ssize_t pos = 0;
47093     PyObject*** name;
47094     PyObject*** first_kw_arg = argnames + num_pos_args;
47095     while (PyDict_Next(kwds, &pos, &key, &value)) {
47096         name = first_kw_arg;
47097         while (*name && (**name != key)) name++;
47098         if (*name) {
47099             values[name-argnames] = value;
47100             continue;
47101         }
47102         name = first_kw_arg;
47103         #if PY_MAJOR_VERSION < 3
47104         if (likely(PyString_Check(key))) {
47105             while (*name) {
47106                 if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
47107                         && _PyString_Eq(**name, key)) {
47108                     values[name-argnames] = value;
47109                     break;
47110                 }
47111                 name++;
47112             }
47113             if (*name) continue;
47114             else {
47115                 PyObject*** argname = argnames;
47116                 while (argname != first_kw_arg) {
47117                     if ((**argname == key) || (
47118                             (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
47119                              && _PyString_Eq(**argname, key))) {
47120                         goto arg_passed_twice;
47121                     }
47122                     argname++;
47123                 }
47124             }
47125         } else
47126         #endif
47127         if (likely(PyUnicode_Check(key))) {
47128             while (*name) {
47129                 int cmp = (**name == key) ? 0 :
47130                 #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
47131                     (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
47132                 #endif
47133                     PyUnicode_Compare(**name, key);
47134                 if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
47135                 if (cmp == 0) {
47136                     values[name-argnames] = value;
47137                     break;
47138                 }
47139                 name++;
47140             }
47141             if (*name) continue;
47142             else {
47143                 PyObject*** argname = argnames;
47144                 while (argname != first_kw_arg) {
47145                     int cmp = (**argname == key) ? 0 :
47146                     #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
47147                         (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
47148                     #endif
47149                         PyUnicode_Compare(**argname, key);
47150                     if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
47151                     if (cmp == 0) goto arg_passed_twice;
47152                     argname++;
47153                 }
47154             }
47155         } else
47156             goto invalid_keyword_type;
47157         if (kwds2) {
47158             if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
47159         } else {
47160             goto invalid_keyword;
47161         }
47162     }
47163     return 0;
47164 arg_passed_twice:
47165     __Pyx_RaiseDoubleKeywordsError(function_name, key);
47166     goto bad;
47167 invalid_keyword_type:
47168     PyErr_Format(PyExc_TypeError,
47169         "%.200s() keywords must be strings", function_name);
47170     goto bad;
47171 invalid_keyword:
47172     PyErr_Format(PyExc_TypeError,
47173     #if PY_MAJOR_VERSION < 3
47174         "%.200s() got an unexpected keyword argument '%.200s'",
47175         function_name, PyString_AsString(key));
47176     #else
47177         "%s() got an unexpected keyword argument '%U'",
47178         function_name, key);
47179     #endif
47180 bad:
47181     return -1;
47182 }
47183 
47184 /* PyObjectCall */
47185 #if CYTHON_COMPILING_IN_CPYTHON
__Pyx_PyObject_Call(PyObject * func,PyObject * arg,PyObject * kw)47186 static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
47187     PyObject *result;
47188     ternaryfunc call = Py_TYPE(func)->tp_call;
47189     if (unlikely(!call))
47190         return PyObject_Call(func, arg, kw);
47191     if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
47192         return NULL;
47193     result = (*call)(func, arg, kw);
47194     Py_LeaveRecursiveCall();
47195     if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
47196         PyErr_SetString(
47197             PyExc_SystemError,
47198             "NULL result without error in PyObject_Call");
47199     }
47200     return result;
47201 }
47202 #endif
47203 
47204 /* PyCFunctionFastCall */
47205 #if CYTHON_FAST_PYCCALL
__Pyx_PyCFunction_FastCall(PyObject * func_obj,PyObject ** args,Py_ssize_t nargs)47206 static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) {
47207     PyCFunctionObject *func = (PyCFunctionObject*)func_obj;
47208     PyCFunction meth = PyCFunction_GET_FUNCTION(func);
47209     PyObject *self = PyCFunction_GET_SELF(func);
47210     int flags = PyCFunction_GET_FLAGS(func);
47211     assert(PyCFunction_Check(func));
47212     assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)));
47213     assert(nargs >= 0);
47214     assert(nargs == 0 || args != NULL);
47215     /* _PyCFunction_FastCallDict() must not be called with an exception set,
47216        because it may clear it (directly or indirectly) and so the
47217        caller loses its exception */
47218     assert(!PyErr_Occurred());
47219     if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) {
47220         return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL);
47221     } else {
47222         return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs);
47223     }
47224 }
47225 #endif
47226 
47227 /* PyFunctionFastCall */
47228 #if CYTHON_FAST_PYCALL
__Pyx_PyFunction_FastCallNoKw(PyCodeObject * co,PyObject ** args,Py_ssize_t na,PyObject * globals)47229 static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na,
47230                                                PyObject *globals) {
47231     PyFrameObject *f;
47232     PyThreadState *tstate = __Pyx_PyThreadState_Current;
47233     PyObject **fastlocals;
47234     Py_ssize_t i;
47235     PyObject *result;
47236     assert(globals != NULL);
47237     /* XXX Perhaps we should create a specialized
47238        PyFrame_New() that doesn't take locals, but does
47239        take builtins without sanity checking them.
47240        */
47241     assert(tstate != NULL);
47242     f = PyFrame_New(tstate, co, globals, NULL);
47243     if (f == NULL) {
47244         return NULL;
47245     }
47246     fastlocals = __Pyx_PyFrame_GetLocalsplus(f);
47247     for (i = 0; i < na; i++) {
47248         Py_INCREF(*args);
47249         fastlocals[i] = *args++;
47250     }
47251     result = PyEval_EvalFrameEx(f,0);
47252     ++tstate->recursion_depth;
47253     Py_DECREF(f);
47254     --tstate->recursion_depth;
47255     return result;
47256 }
47257 #if 1 || PY_VERSION_HEX < 0x030600B1
__Pyx_PyFunction_FastCallDict(PyObject * func,PyObject ** args,Py_ssize_t nargs,PyObject * kwargs)47258 static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) {
47259     PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func);
47260     PyObject *globals = PyFunction_GET_GLOBALS(func);
47261     PyObject *argdefs = PyFunction_GET_DEFAULTS(func);
47262     PyObject *closure;
47263 #if PY_MAJOR_VERSION >= 3
47264     PyObject *kwdefs;
47265 #endif
47266     PyObject *kwtuple, **k;
47267     PyObject **d;
47268     Py_ssize_t nd;
47269     Py_ssize_t nk;
47270     PyObject *result;
47271     assert(kwargs == NULL || PyDict_Check(kwargs));
47272     nk = kwargs ? PyDict_Size(kwargs) : 0;
47273     if (Py_EnterRecursiveCall((char*)" while calling a Python object")) {
47274         return NULL;
47275     }
47276     if (
47277 #if PY_MAJOR_VERSION >= 3
47278             co->co_kwonlyargcount == 0 &&
47279 #endif
47280             likely(kwargs == NULL || nk == 0) &&
47281             co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) {
47282         if (argdefs == NULL && co->co_argcount == nargs) {
47283             result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals);
47284             goto done;
47285         }
47286         else if (nargs == 0 && argdefs != NULL
47287                  && co->co_argcount == Py_SIZE(argdefs)) {
47288             /* function called with no arguments, but all parameters have
47289                a default value: use default values as arguments .*/
47290             args = &PyTuple_GET_ITEM(argdefs, 0);
47291             result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals);
47292             goto done;
47293         }
47294     }
47295     if (kwargs != NULL) {
47296         Py_ssize_t pos, i;
47297         kwtuple = PyTuple_New(2 * nk);
47298         if (kwtuple == NULL) {
47299             result = NULL;
47300             goto done;
47301         }
47302         k = &PyTuple_GET_ITEM(kwtuple, 0);
47303         pos = i = 0;
47304         while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) {
47305             Py_INCREF(k[i]);
47306             Py_INCREF(k[i+1]);
47307             i += 2;
47308         }
47309         nk = i / 2;
47310     }
47311     else {
47312         kwtuple = NULL;
47313         k = NULL;
47314     }
47315     closure = PyFunction_GET_CLOSURE(func);
47316 #if PY_MAJOR_VERSION >= 3
47317     kwdefs = PyFunction_GET_KW_DEFAULTS(func);
47318 #endif
47319     if (argdefs != NULL) {
47320         d = &PyTuple_GET_ITEM(argdefs, 0);
47321         nd = Py_SIZE(argdefs);
47322     }
47323     else {
47324         d = NULL;
47325         nd = 0;
47326     }
47327 #if PY_MAJOR_VERSION >= 3
47328     result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL,
47329                                args, (int)nargs,
47330                                k, (int)nk,
47331                                d, (int)nd, kwdefs, closure);
47332 #else
47333     result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL,
47334                                args, (int)nargs,
47335                                k, (int)nk,
47336                                d, (int)nd, closure);
47337 #endif
47338     Py_XDECREF(kwtuple);
47339 done:
47340     Py_LeaveRecursiveCall();
47341     return result;
47342 }
47343 #endif
47344 #endif
47345 
47346 /* PyObjectCall2Args */
__Pyx_PyObject_Call2Args(PyObject * function,PyObject * arg1,PyObject * arg2)47347 static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) {
47348     PyObject *args, *result = NULL;
47349     #if CYTHON_FAST_PYCALL
47350     if (PyFunction_Check(function)) {
47351         PyObject *args[2] = {arg1, arg2};
47352         return __Pyx_PyFunction_FastCall(function, args, 2);
47353     }
47354     #endif
47355     #if CYTHON_FAST_PYCCALL
47356     if (__Pyx_PyFastCFunction_Check(function)) {
47357         PyObject *args[2] = {arg1, arg2};
47358         return __Pyx_PyCFunction_FastCall(function, args, 2);
47359     }
47360     #endif
47361     args = PyTuple_New(2);
47362     if (unlikely(!args)) goto done;
47363     Py_INCREF(arg1);
47364     PyTuple_SET_ITEM(args, 0, arg1);
47365     Py_INCREF(arg2);
47366     PyTuple_SET_ITEM(args, 1, arg2);
47367     Py_INCREF(function);
47368     result = __Pyx_PyObject_Call(function, args, NULL);
47369     Py_DECREF(args);
47370     Py_DECREF(function);
47371 done:
47372     return result;
47373 }
47374 
47375 /* PyObjectCallMethO */
47376 #if CYTHON_COMPILING_IN_CPYTHON
__Pyx_PyObject_CallMethO(PyObject * func,PyObject * arg)47377 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
47378     PyObject *self, *result;
47379     PyCFunction cfunc;
47380     cfunc = PyCFunction_GET_FUNCTION(func);
47381     self = PyCFunction_GET_SELF(func);
47382     if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
47383         return NULL;
47384     result = cfunc(self, arg);
47385     Py_LeaveRecursiveCall();
47386     if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
47387         PyErr_SetString(
47388             PyExc_SystemError,
47389             "NULL result without error in PyObject_Call");
47390     }
47391     return result;
47392 }
47393 #endif
47394 
47395 /* PyObjectCallOneArg */
47396 #if CYTHON_COMPILING_IN_CPYTHON
__Pyx__PyObject_CallOneArg(PyObject * func,PyObject * arg)47397 static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {
47398     PyObject *result;
47399     PyObject *args = PyTuple_New(1);
47400     if (unlikely(!args)) return NULL;
47401     Py_INCREF(arg);
47402     PyTuple_SET_ITEM(args, 0, arg);
47403     result = __Pyx_PyObject_Call(func, args, NULL);
47404     Py_DECREF(args);
47405     return result;
47406 }
__Pyx_PyObject_CallOneArg(PyObject * func,PyObject * arg)47407 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
47408 #if CYTHON_FAST_PYCALL
47409     if (PyFunction_Check(func)) {
47410         return __Pyx_PyFunction_FastCall(func, &arg, 1);
47411     }
47412 #endif
47413     if (likely(PyCFunction_Check(func))) {
47414         if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
47415             return __Pyx_PyObject_CallMethO(func, arg);
47416 #if CYTHON_FAST_PYCCALL
47417         } else if (__Pyx_PyFastCFunction_Check(func)) {
47418             return __Pyx_PyCFunction_FastCall(func, &arg, 1);
47419 #endif
47420         }
47421     }
47422     return __Pyx__PyObject_CallOneArg(func, arg);
47423 }
47424 #else
__Pyx_PyObject_CallOneArg(PyObject * func,PyObject * arg)47425 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
47426     PyObject *result;
47427     PyObject *args = PyTuple_Pack(1, arg);
47428     if (unlikely(!args)) return NULL;
47429     result = __Pyx_PyObject_Call(func, args, NULL);
47430     Py_DECREF(args);
47431     return result;
47432 }
47433 #endif
47434 
47435 /* PyObjectSetAttrStr */
47436 #if CYTHON_USE_TYPE_SLOTS
__Pyx_PyObject_SetAttrStr(PyObject * obj,PyObject * attr_name,PyObject * value)47437 static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) {
47438     PyTypeObject* tp = Py_TYPE(obj);
47439     if (likely(tp->tp_setattro))
47440         return tp->tp_setattro(obj, attr_name, value);
47441 #if PY_MAJOR_VERSION < 3
47442     if (likely(tp->tp_setattr))
47443         return tp->tp_setattr(obj, PyString_AS_STRING(attr_name), value);
47444 #endif
47445     return PyObject_SetAttr(obj, attr_name, value);
47446 }
47447 #endif
47448 
47449 /* KeywordStringCheck */
__Pyx_CheckKeywordStrings(PyObject * kwdict,const char * function_name,int kw_allowed)47450 static int __Pyx_CheckKeywordStrings(
47451     PyObject *kwdict,
47452     const char* function_name,
47453     int kw_allowed)
47454 {
47455     PyObject* key = 0;
47456     Py_ssize_t pos = 0;
47457 #if CYTHON_COMPILING_IN_PYPY
47458     if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0))
47459         goto invalid_keyword;
47460     return 1;
47461 #else
47462     while (PyDict_Next(kwdict, &pos, &key, 0)) {
47463         #if PY_MAJOR_VERSION < 3
47464         if (unlikely(!PyString_Check(key)))
47465         #endif
47466             if (unlikely(!PyUnicode_Check(key)))
47467                 goto invalid_keyword_type;
47468     }
47469     if ((!kw_allowed) && unlikely(key))
47470         goto invalid_keyword;
47471     return 1;
47472 invalid_keyword_type:
47473     PyErr_Format(PyExc_TypeError,
47474         "%.200s() keywords must be strings", function_name);
47475     return 0;
47476 #endif
47477 invalid_keyword:
47478     PyErr_Format(PyExc_TypeError,
47479     #if PY_MAJOR_VERSION < 3
47480         "%.200s() got an unexpected keyword argument '%.200s'",
47481         function_name, PyString_AsString(key));
47482     #else
47483         "%s() got an unexpected keyword argument '%U'",
47484         function_name, key);
47485     #endif
47486     return 0;
47487 }
47488 
47489 /* PyDictVersioning */
47490 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
__Pyx_get_tp_dict_version(PyObject * obj)47491 static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) {
47492     PyObject *dict = Py_TYPE(obj)->tp_dict;
47493     return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;
47494 }
__Pyx_get_object_dict_version(PyObject * obj)47495 static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) {
47496     PyObject **dictptr = NULL;
47497     Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset;
47498     if (offset) {
47499 #if CYTHON_COMPILING_IN_CPYTHON
47500         dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj);
47501 #else
47502         dictptr = _PyObject_GetDictPtr(obj);
47503 #endif
47504     }
47505     return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;
47506 }
__Pyx_object_dict_version_matches(PyObject * obj,PY_UINT64_T tp_dict_version,PY_UINT64_T obj_dict_version)47507 static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) {
47508     PyObject *dict = Py_TYPE(obj)->tp_dict;
47509     if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))
47510         return 0;
47511     return obj_dict_version == __Pyx_get_object_dict_version(obj);
47512 }
47513 #endif
47514 
47515 /* PyObjectCallNoArg */
47516 #if CYTHON_COMPILING_IN_CPYTHON
__Pyx_PyObject_CallNoArg(PyObject * func)47517 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
47518 #if CYTHON_FAST_PYCALL
47519     if (PyFunction_Check(func)) {
47520         return __Pyx_PyFunction_FastCall(func, NULL, 0);
47521     }
47522 #endif
47523 #ifdef __Pyx_CyFunction_USED
47524     if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func)))
47525 #else
47526     if (likely(PyCFunction_Check(func)))
47527 #endif
47528     {
47529         if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
47530             return __Pyx_PyObject_CallMethO(func, NULL);
47531         }
47532     }
47533     return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL);
47534 }
47535 #endif
47536 
47537 /* PyErrFetchRestore */
47538 #if CYTHON_FAST_THREAD_STATE
__Pyx_ErrRestoreInState(PyThreadState * tstate,PyObject * type,PyObject * value,PyObject * tb)47539 static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
47540     PyObject *tmp_type, *tmp_value, *tmp_tb;
47541     tmp_type = tstate->curexc_type;
47542     tmp_value = tstate->curexc_value;
47543     tmp_tb = tstate->curexc_traceback;
47544     tstate->curexc_type = type;
47545     tstate->curexc_value = value;
47546     tstate->curexc_traceback = tb;
47547     Py_XDECREF(tmp_type);
47548     Py_XDECREF(tmp_value);
47549     Py_XDECREF(tmp_tb);
47550 }
__Pyx_ErrFetchInState(PyThreadState * tstate,PyObject ** type,PyObject ** value,PyObject ** tb)47551 static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
47552     *type = tstate->curexc_type;
47553     *value = tstate->curexc_value;
47554     *tb = tstate->curexc_traceback;
47555     tstate->curexc_type = 0;
47556     tstate->curexc_value = 0;
47557     tstate->curexc_traceback = 0;
47558 }
47559 #endif
47560 
47561 /* WriteUnraisableException */
__Pyx_WriteUnraisable(const char * name,CYTHON_UNUSED int clineno,CYTHON_UNUSED int lineno,CYTHON_UNUSED const char * filename,int full_traceback,CYTHON_UNUSED int nogil)47562 static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
47563                                   CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename,
47564                                   int full_traceback, CYTHON_UNUSED int nogil) {
47565     PyObject *old_exc, *old_val, *old_tb;
47566     PyObject *ctx;
47567     __Pyx_PyThreadState_declare
47568 #ifdef WITH_THREAD
47569     PyGILState_STATE state;
47570     if (nogil)
47571         state = PyGILState_Ensure();
47572 #ifdef _MSC_VER
47573     else state = (PyGILState_STATE)-1;
47574 #endif
47575 #endif
47576     __Pyx_PyThreadState_assign
47577     __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
47578     if (full_traceback) {
47579         Py_XINCREF(old_exc);
47580         Py_XINCREF(old_val);
47581         Py_XINCREF(old_tb);
47582         __Pyx_ErrRestore(old_exc, old_val, old_tb);
47583         PyErr_PrintEx(1);
47584     }
47585     #if PY_MAJOR_VERSION < 3
47586     ctx = PyString_FromString(name);
47587     #else
47588     ctx = PyUnicode_FromString(name);
47589     #endif
47590     __Pyx_ErrRestore(old_exc, old_val, old_tb);
47591     if (!ctx) {
47592         PyErr_WriteUnraisable(Py_None);
47593     } else {
47594         PyErr_WriteUnraisable(ctx);
47595         Py_DECREF(ctx);
47596     }
47597 #ifdef WITH_THREAD
47598     if (nogil)
47599         PyGILState_Release(state);
47600 #endif
47601 }
47602 
47603 /* IterFinish */
__Pyx_IterFinish(void)47604 static CYTHON_INLINE int __Pyx_IterFinish(void) {
47605 #if CYTHON_FAST_THREAD_STATE
47606     PyThreadState *tstate = __Pyx_PyThreadState_Current;
47607     PyObject* exc_type = tstate->curexc_type;
47608     if (unlikely(exc_type)) {
47609         if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) {
47610             PyObject *exc_value, *exc_tb;
47611             exc_value = tstate->curexc_value;
47612             exc_tb = tstate->curexc_traceback;
47613             tstate->curexc_type = 0;
47614             tstate->curexc_value = 0;
47615             tstate->curexc_traceback = 0;
47616             Py_DECREF(exc_type);
47617             Py_XDECREF(exc_value);
47618             Py_XDECREF(exc_tb);
47619             return 0;
47620         } else {
47621             return -1;
47622         }
47623     }
47624     return 0;
47625 #else
47626     if (unlikely(PyErr_Occurred())) {
47627         if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) {
47628             PyErr_Clear();
47629             return 0;
47630         } else {
47631             return -1;
47632         }
47633     }
47634     return 0;
47635 #endif
47636 }
47637 
47638 /* set_iter */
__Pyx_set_iterator(PyObject * iterable,int is_set,Py_ssize_t * p_orig_length,int * p_source_is_set)47639 static CYTHON_INLINE PyObject* __Pyx_set_iterator(PyObject* iterable, int is_set,
47640                                                   Py_ssize_t* p_orig_length, int* p_source_is_set) {
47641 #if CYTHON_COMPILING_IN_CPYTHON
47642     is_set = is_set || likely(PySet_CheckExact(iterable) || PyFrozenSet_CheckExact(iterable));
47643     *p_source_is_set = is_set;
47644     if (likely(is_set)) {
47645         *p_orig_length = PySet_Size(iterable);
47646         Py_INCREF(iterable);
47647         return iterable;
47648     }
47649 #else
47650     (void)is_set;
47651     *p_source_is_set = 0;
47652 #endif
47653     *p_orig_length = 0;
47654     return PyObject_GetIter(iterable);
47655 }
__Pyx_set_iter_next(PyObject * iter_obj,Py_ssize_t orig_length,Py_ssize_t * ppos,PyObject ** value,int source_is_set)47656 static CYTHON_INLINE int __Pyx_set_iter_next(
47657         PyObject* iter_obj, Py_ssize_t orig_length,
47658         Py_ssize_t* ppos, PyObject **value,
47659         int source_is_set) {
47660     if (!CYTHON_COMPILING_IN_CPYTHON || unlikely(!source_is_set)) {
47661         *value = PyIter_Next(iter_obj);
47662         if (unlikely(!*value)) {
47663             return __Pyx_IterFinish();
47664         }
47665         (void)orig_length;
47666         (void)ppos;
47667         return 1;
47668     }
47669 #if CYTHON_COMPILING_IN_CPYTHON
47670     if (unlikely(PySet_GET_SIZE(iter_obj) != orig_length)) {
47671         PyErr_SetString(
47672             PyExc_RuntimeError,
47673             "set changed size during iteration");
47674         return -1;
47675     }
47676     {
47677         Py_hash_t hash;
47678         int ret = _PySet_NextEntry(iter_obj, ppos, value, &hash);
47679         assert (ret != -1);
47680         if (likely(ret)) {
47681             Py_INCREF(*value);
47682             return 1;
47683         }
47684     }
47685 #endif
47686     return 0;
47687 }
47688 
47689 /* PyErrExceptionMatches */
47690 #if CYTHON_FAST_THREAD_STATE
__Pyx_PyErr_ExceptionMatchesTuple(PyObject * exc_type,PyObject * tuple)47691 static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
47692     Py_ssize_t i, n;
47693     n = PyTuple_GET_SIZE(tuple);
47694 #if PY_MAJOR_VERSION >= 3
47695     for (i=0; i<n; i++) {
47696         if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
47697     }
47698 #endif
47699     for (i=0; i<n; i++) {
47700         if (__Pyx_PyErr_GivenExceptionMatches(exc_type, PyTuple_GET_ITEM(tuple, i))) return 1;
47701     }
47702     return 0;
47703 }
__Pyx_PyErr_ExceptionMatchesInState(PyThreadState * tstate,PyObject * err)47704 static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) {
47705     PyObject *exc_type = tstate->curexc_type;
47706     if (exc_type == err) return 1;
47707     if (unlikely(!exc_type)) return 0;
47708     if (unlikely(PyTuple_Check(err)))
47709         return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err);
47710     return __Pyx_PyErr_GivenExceptionMatches(exc_type, err);
47711 }
47712 #endif
47713 
47714 /* GetAttr */
__Pyx_GetAttr(PyObject * o,PyObject * n)47715 static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
47716 #if CYTHON_USE_TYPE_SLOTS
47717 #if PY_MAJOR_VERSION >= 3
47718     if (likely(PyUnicode_Check(n)))
47719 #else
47720     if (likely(PyString_Check(n)))
47721 #endif
47722         return __Pyx_PyObject_GetAttrStr(o, n);
47723 #endif
47724     return PyObject_GetAttr(o, n);
47725 }
47726 
47727 /* GetAttr3 */
__Pyx_GetAttr3Default(PyObject * d)47728 static PyObject *__Pyx_GetAttr3Default(PyObject *d) {
47729     __Pyx_PyThreadState_declare
47730     __Pyx_PyThreadState_assign
47731     if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
47732         return NULL;
47733     __Pyx_PyErr_Clear();
47734     Py_INCREF(d);
47735     return d;
47736 }
__Pyx_GetAttr3(PyObject * o,PyObject * n,PyObject * d)47737 static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) {
47738     PyObject *r = __Pyx_GetAttr(o, n);
47739     return (likely(r)) ? r : __Pyx_GetAttr3Default(d);
47740 }
47741 
47742 /* GetModuleGlobalName */
47743 #if CYTHON_USE_DICT_VERSIONS
__Pyx__GetModuleGlobalName(PyObject * name,PY_UINT64_T * dict_version,PyObject ** dict_cached_value)47744 static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value)
47745 #else
47746 static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
47747 #endif
47748 {
47749     PyObject *result;
47750 #if !CYTHON_AVOID_BORROWED_REFS
47751 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
47752     result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);
47753     __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
47754     if (likely(result)) {
47755         return __Pyx_NewRef(result);
47756     } else if (unlikely(PyErr_Occurred())) {
47757         return NULL;
47758     }
47759 #else
47760     result = PyDict_GetItem(__pyx_d, name);
47761     __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
47762     if (likely(result)) {
47763         return __Pyx_NewRef(result);
47764     }
47765 #endif
47766 #else
47767     result = PyObject_GetItem(__pyx_d, name);
47768     __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
47769     if (likely(result)) {
47770         return __Pyx_NewRef(result);
47771     }
47772     PyErr_Clear();
47773 #endif
47774     return __Pyx_GetBuiltinName(name);
47775 }
47776 
47777 /* ArgTypeTest */
__Pyx__ArgTypeTest(PyObject * obj,PyTypeObject * type,const char * name,int exact)47778 static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact)
47779 {
47780     if (unlikely(!type)) {
47781         PyErr_SetString(PyExc_SystemError, "Missing type object");
47782         return 0;
47783     }
47784     else if (exact) {
47785         #if PY_MAJOR_VERSION == 2
47786         if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1;
47787         #endif
47788     }
47789     else {
47790         if (likely(__Pyx_TypeCheck(obj, type))) return 1;
47791     }
47792     PyErr_Format(PyExc_TypeError,
47793         "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)",
47794         name, type->tp_name, Py_TYPE(obj)->tp_name);
47795     return 0;
47796 }
47797 
47798 /* SliceObject */
__Pyx_PyObject_GetSlice(PyObject * obj,Py_ssize_t cstart,Py_ssize_t cstop,PyObject ** _py_start,PyObject ** _py_stop,PyObject ** _py_slice,int has_cstart,int has_cstop,CYTHON_UNUSED int wraparound)47799 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj,
47800         Py_ssize_t cstart, Py_ssize_t cstop,
47801         PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice,
47802         int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) {
47803 #if CYTHON_USE_TYPE_SLOTS
47804     PyMappingMethods* mp;
47805 #if PY_MAJOR_VERSION < 3
47806     PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence;
47807     if (likely(ms && ms->sq_slice)) {
47808         if (!has_cstart) {
47809             if (_py_start && (*_py_start != Py_None)) {
47810                 cstart = __Pyx_PyIndex_AsSsize_t(*_py_start);
47811                 if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
47812             } else
47813                 cstart = 0;
47814         }
47815         if (!has_cstop) {
47816             if (_py_stop && (*_py_stop != Py_None)) {
47817                 cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop);
47818                 if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
47819             } else
47820                 cstop = PY_SSIZE_T_MAX;
47821         }
47822         if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) {
47823             Py_ssize_t l = ms->sq_length(obj);
47824             if (likely(l >= 0)) {
47825                 if (cstop < 0) {
47826                     cstop += l;
47827                     if (cstop < 0) cstop = 0;
47828                 }
47829                 if (cstart < 0) {
47830                     cstart += l;
47831                     if (cstart < 0) cstart = 0;
47832                 }
47833             } else {
47834                 if (!PyErr_ExceptionMatches(PyExc_OverflowError))
47835                     goto bad;
47836                 PyErr_Clear();
47837             }
47838         }
47839         return ms->sq_slice(obj, cstart, cstop);
47840     }
47841 #endif
47842     mp = Py_TYPE(obj)->tp_as_mapping;
47843     if (likely(mp && mp->mp_subscript))
47844 #endif
47845     {
47846         PyObject* result;
47847         PyObject *py_slice, *py_start, *py_stop;
47848         if (_py_slice) {
47849             py_slice = *_py_slice;
47850         } else {
47851             PyObject* owned_start = NULL;
47852             PyObject* owned_stop = NULL;
47853             if (_py_start) {
47854                 py_start = *_py_start;
47855             } else {
47856                 if (has_cstart) {
47857                     owned_start = py_start = PyInt_FromSsize_t(cstart);
47858                     if (unlikely(!py_start)) goto bad;
47859                 } else
47860                     py_start = Py_None;
47861             }
47862             if (_py_stop) {
47863                 py_stop = *_py_stop;
47864             } else {
47865                 if (has_cstop) {
47866                     owned_stop = py_stop = PyInt_FromSsize_t(cstop);
47867                     if (unlikely(!py_stop)) {
47868                         Py_XDECREF(owned_start);
47869                         goto bad;
47870                     }
47871                 } else
47872                     py_stop = Py_None;
47873             }
47874             py_slice = PySlice_New(py_start, py_stop, Py_None);
47875             Py_XDECREF(owned_start);
47876             Py_XDECREF(owned_stop);
47877             if (unlikely(!py_slice)) goto bad;
47878         }
47879 #if CYTHON_USE_TYPE_SLOTS
47880         result = mp->mp_subscript(obj, py_slice);
47881 #else
47882         result = PyObject_GetItem(obj, py_slice);
47883 #endif
47884         if (!_py_slice) {
47885             Py_DECREF(py_slice);
47886         }
47887         return result;
47888     }
47889     PyErr_Format(PyExc_TypeError,
47890         "'%.200s' object is unsliceable", Py_TYPE(obj)->tp_name);
47891 bad:
47892     return NULL;
47893 }
47894 
47895 /* pyfrozenset_new */
__Pyx_PyFrozenSet_New(PyObject * it)47896 static CYTHON_INLINE PyObject* __Pyx_PyFrozenSet_New(PyObject* it) {
47897     if (it) {
47898         PyObject* result;
47899 #if CYTHON_COMPILING_IN_PYPY
47900         PyObject* args;
47901         args = PyTuple_Pack(1, it);
47902         if (unlikely(!args))
47903             return NULL;
47904         result = PyObject_Call((PyObject*)&PyFrozenSet_Type, args, NULL);
47905         Py_DECREF(args);
47906         return result;
47907 #else
47908         if (PyFrozenSet_CheckExact(it)) {
47909             Py_INCREF(it);
47910             return it;
47911         }
47912         result = PyFrozenSet_New(it);
47913         if (unlikely(!result))
47914             return NULL;
47915         if ((PY_VERSION_HEX >= 0x031000A1) || likely(PySet_GET_SIZE(result)))
47916             return result;
47917         Py_DECREF(result);
47918 #endif
47919     }
47920 #if CYTHON_USE_TYPE_SLOTS
47921     return PyFrozenSet_Type.tp_new(&PyFrozenSet_Type, __pyx_empty_tuple, NULL);
47922 #else
47923     return PyObject_Call((PyObject*)&PyFrozenSet_Type, __pyx_empty_tuple, NULL);
47924 #endif
47925 }
47926 
47927 /* PySetContains */
__Pyx_PySet_ContainsUnhashable(PyObject * set,PyObject * key)47928 static int __Pyx_PySet_ContainsUnhashable(PyObject *set, PyObject *key) {
47929     int result = -1;
47930     if (PySet_Check(key) && PyErr_ExceptionMatches(PyExc_TypeError)) {
47931         PyObject *tmpkey;
47932         PyErr_Clear();
47933         tmpkey = __Pyx_PyFrozenSet_New(key);
47934         if (tmpkey != NULL) {
47935             result = PySet_Contains(set, tmpkey);
47936             Py_DECREF(tmpkey);
47937         }
47938     }
47939     return result;
47940 }
__Pyx_PySet_ContainsTF(PyObject * key,PyObject * set,int eq)47941 static CYTHON_INLINE int __Pyx_PySet_ContainsTF(PyObject* key, PyObject* set, int eq) {
47942     int result = PySet_Contains(set, key);
47943     if (unlikely(result < 0)) {
47944         result = __Pyx_PySet_ContainsUnhashable(set, key);
47945     }
47946     return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
47947 }
47948 
47949 /* ExtTypeTest */
__Pyx_TypeTest(PyObject * obj,PyTypeObject * type)47950 static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
47951     if (unlikely(!type)) {
47952         PyErr_SetString(PyExc_SystemError, "Missing type object");
47953         return 0;
47954     }
47955     if (likely(__Pyx_TypeCheck(obj, type)))
47956         return 1;
47957     PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
47958                  Py_TYPE(obj)->tp_name, type->tp_name);
47959     return 0;
47960 }
47961 
47962 /* py_set_discard_unhashable */
__Pyx_PySet_DiscardUnhashable(PyObject * set,PyObject * key)47963 static int __Pyx_PySet_DiscardUnhashable(PyObject *set, PyObject *key) {
47964     PyObject *tmpkey;
47965     int rv;
47966     if (likely(!PySet_Check(key) || !PyErr_ExceptionMatches(PyExc_TypeError)))
47967         return -1;
47968     PyErr_Clear();
47969     tmpkey = __Pyx_PyFrozenSet_New(key);
47970     if (tmpkey == NULL)
47971         return -1;
47972     rv = PySet_Discard(set, tmpkey);
47973     Py_DECREF(tmpkey);
47974     return rv;
47975 }
47976 
47977 /* py_set_remove */
__Pyx_PySet_RemoveNotFound(PyObject * set,PyObject * key,int found)47978 static int __Pyx_PySet_RemoveNotFound(PyObject *set, PyObject *key, int found) {
47979     if (unlikely(found < 0)) {
47980         found = __Pyx_PySet_DiscardUnhashable(set, key);
47981     }
47982     if (likely(found == 0)) {
47983         PyObject *tup;
47984         tup = PyTuple_Pack(1, key);
47985         if (!tup)
47986             return -1;
47987         PyErr_SetObject(PyExc_KeyError, tup);
47988         Py_DECREF(tup);
47989         return -1;
47990     }
47991     return found;
47992 }
__Pyx_PySet_Remove(PyObject * set,PyObject * key)47993 static CYTHON_INLINE int __Pyx_PySet_Remove(PyObject *set, PyObject *key) {
47994     int found = PySet_Discard(set, key);
47995     if (unlikely(found != 1)) {
47996         return __Pyx_PySet_RemoveNotFound(set, key, found);
47997     }
47998     return 0;
47999 }
48000 
48001 /* PyIntBinop */
48002 #if !CYTHON_COMPILING_IN_PYPY
__Pyx_PyInt_LshiftObjC(PyObject * op1,PyObject * op2,CYTHON_UNUSED long intval,int inplace,int zerodivision_check)48003 static PyObject* __Pyx_PyInt_LshiftObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) {
48004     (void)inplace;
48005     (void)zerodivision_check;
48006     #if PY_MAJOR_VERSION < 3
48007     if (likely(PyInt_CheckExact(op1))) {
48008         const long b = intval;
48009         long a = PyInt_AS_LONG(op1);
48010             if (likely(b < (long) (sizeof(long)*8) && a == (a << b) >> b) || !a) {
48011                 return PyInt_FromLong(a << b);
48012             }
48013     }
48014     #endif
48015     #if CYTHON_USE_PYLONG_INTERNALS
48016     if (likely(PyLong_CheckExact(op1))) {
48017         const long b = intval;
48018         long a, x;
48019 #ifdef HAVE_LONG_LONG
48020         const PY_LONG_LONG llb = intval;
48021         PY_LONG_LONG lla, llx;
48022 #endif
48023         const digit* digits = ((PyLongObject*)op1)->ob_digit;
48024         const Py_ssize_t size = Py_SIZE(op1);
48025         if (likely(__Pyx_sst_abs(size) <= 1)) {
48026             a = likely(size) ? digits[0] : 0;
48027             if (size == -1) a = -a;
48028         } else {
48029             switch (size) {
48030                 case -2:
48031                     if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
48032                         a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
48033                         break;
48034 #ifdef HAVE_LONG_LONG
48035                     } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
48036                         lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
48037                         goto long_long;
48038 #endif
48039                     }
48040                     CYTHON_FALLTHROUGH;
48041                 case 2:
48042                     if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
48043                         a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
48044                         break;
48045 #ifdef HAVE_LONG_LONG
48046                     } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
48047                         lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
48048                         goto long_long;
48049 #endif
48050                     }
48051                     CYTHON_FALLTHROUGH;
48052                 case -3:
48053                     if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
48054                         a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
48055                         break;
48056 #ifdef HAVE_LONG_LONG
48057                     } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
48058                         lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
48059                         goto long_long;
48060 #endif
48061                     }
48062                     CYTHON_FALLTHROUGH;
48063                 case 3:
48064                     if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
48065                         a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
48066                         break;
48067 #ifdef HAVE_LONG_LONG
48068                     } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
48069                         lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
48070                         goto long_long;
48071 #endif
48072                     }
48073                     CYTHON_FALLTHROUGH;
48074                 case -4:
48075                     if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
48076                         a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
48077                         break;
48078 #ifdef HAVE_LONG_LONG
48079                     } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
48080                         lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
48081                         goto long_long;
48082 #endif
48083                     }
48084                     CYTHON_FALLTHROUGH;
48085                 case 4:
48086                     if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
48087                         a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
48088                         break;
48089 #ifdef HAVE_LONG_LONG
48090                     } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
48091                         lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
48092                         goto long_long;
48093 #endif
48094                     }
48095                     CYTHON_FALLTHROUGH;
48096                 default: return PyLong_Type.tp_as_number->nb_lshift(op1, op2);
48097             }
48098         }
48099                 x = a << b;
48100 #ifdef HAVE_LONG_LONG
48101                 if (unlikely(!(b < (long) (sizeof(long)*8) && a == x >> b)) && a) {
48102                     lla = a;
48103                     goto long_long;
48104                 }
48105 #else
48106                 if (likely(b < (long) (sizeof(long)*8) && a == x >> b) || !a)
48107 #endif
48108             return PyLong_FromLong(x);
48109 #ifdef HAVE_LONG_LONG
48110         long_long:
48111                 llx = lla << llb;
48112                 if (likely(lla == llx >> llb))
48113             return PyLong_FromLongLong(llx);
48114 #endif
48115 
48116 
48117     }
48118     #endif
48119     return (inplace ? PyNumber_InPlaceLshift : PyNumber_Lshift)(op1, op2);
48120 }
48121 #endif
48122 
48123 /* DictGetItem */
48124 #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
__Pyx_PyDict_GetItem(PyObject * d,PyObject * key)48125 static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {
48126     PyObject *value;
48127     value = PyDict_GetItemWithError(d, key);
48128     if (unlikely(!value)) {
48129         if (!PyErr_Occurred()) {
48130             if (unlikely(PyTuple_Check(key))) {
48131                 PyObject* args = PyTuple_Pack(1, key);
48132                 if (likely(args)) {
48133                     PyErr_SetObject(PyExc_KeyError, args);
48134                     Py_DECREF(args);
48135                 }
48136             } else {
48137                 PyErr_SetObject(PyExc_KeyError, key);
48138             }
48139         }
48140         return NULL;
48141     }
48142     Py_INCREF(value);
48143     return value;
48144 }
48145 #endif
48146 
48147 /* UnpackUnboundCMethod */
__Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction * target)48148 static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) {
48149     PyObject *method;
48150     method = __Pyx_PyObject_GetAttrStr(target->type, *target->method_name);
48151     if (unlikely(!method))
48152         return -1;
48153     target->method = method;
48154 #if CYTHON_COMPILING_IN_CPYTHON
48155     #if PY_MAJOR_VERSION >= 3
48156     if (likely(__Pyx_TypeCheck(method, &PyMethodDescr_Type)))
48157     #endif
48158     {
48159         PyMethodDescrObject *descr = (PyMethodDescrObject*) method;
48160         target->func = descr->d_method->ml_meth;
48161         target->flag = descr->d_method->ml_flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_STACKLESS);
48162     }
48163 #endif
48164     return 0;
48165 }
48166 
48167 /* CallUnboundCMethod0 */
__Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction * cfunc,PyObject * self)48168 static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self) {
48169     PyObject *args, *result = NULL;
48170     if (unlikely(!cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL;
48171 #if CYTHON_ASSUME_SAFE_MACROS
48172     args = PyTuple_New(1);
48173     if (unlikely(!args)) goto bad;
48174     Py_INCREF(self);
48175     PyTuple_SET_ITEM(args, 0, self);
48176 #else
48177     args = PyTuple_Pack(1, self);
48178     if (unlikely(!args)) goto bad;
48179 #endif
48180     result = __Pyx_PyObject_Call(cfunc->method, args, NULL);
48181     Py_DECREF(args);
48182 bad:
48183     return result;
48184 }
48185 
48186 /* py_dict_items */
__Pyx_PyDict_Items(PyObject * d)48187 static CYTHON_INLINE PyObject* __Pyx_PyDict_Items(PyObject* d) {
48188     if (PY_MAJOR_VERSION >= 3)
48189         return __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyDict_Type_items, d);
48190     else
48191         return PyDict_Items(d);
48192 }
48193 
48194 /* RaiseTooManyValuesToUnpack */
__Pyx_RaiseTooManyValuesError(Py_ssize_t expected)48195 static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
48196     PyErr_Format(PyExc_ValueError,
48197                  "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected);
48198 }
48199 
48200 /* RaiseNeedMoreValuesToUnpack */
__Pyx_RaiseNeedMoreValuesError(Py_ssize_t index)48201 static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
48202     PyErr_Format(PyExc_ValueError,
48203                  "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack",
48204                  index, (index == 1) ? "" : "s");
48205 }
48206 
48207 /* UnpackItemEndCheck */
__Pyx_IternextUnpackEndCheck(PyObject * retval,Py_ssize_t expected)48208 static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
48209     if (unlikely(retval)) {
48210         Py_DECREF(retval);
48211         __Pyx_RaiseTooManyValuesError(expected);
48212         return -1;
48213     } else {
48214         return __Pyx_IterFinish();
48215     }
48216     return 0;
48217 }
48218 
48219 /* py_dict_values */
__Pyx_PyDict_Values(PyObject * d)48220 static CYTHON_INLINE PyObject* __Pyx_PyDict_Values(PyObject* d) {
48221     if (PY_MAJOR_VERSION >= 3)
48222         return __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyDict_Type_values, d);
48223     else
48224         return PyDict_Values(d);
48225 }
48226 
48227 /* GetItemInt */
__Pyx_GetItemInt_Generic(PyObject * o,PyObject * j)48228 static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
48229     PyObject *r;
48230     if (!j) return NULL;
48231     r = PyObject_GetItem(o, j);
48232     Py_DECREF(j);
48233     return r;
48234 }
__Pyx_GetItemInt_List_Fast(PyObject * o,Py_ssize_t i,CYTHON_NCP_UNUSED int wraparound,CYTHON_NCP_UNUSED int boundscheck)48235 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
48236                                                               CYTHON_NCP_UNUSED int wraparound,
48237                                                               CYTHON_NCP_UNUSED int boundscheck) {
48238 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
48239     Py_ssize_t wrapped_i = i;
48240     if (wraparound & unlikely(i < 0)) {
48241         wrapped_i += PyList_GET_SIZE(o);
48242     }
48243     if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) {
48244         PyObject *r = PyList_GET_ITEM(o, wrapped_i);
48245         Py_INCREF(r);
48246         return r;
48247     }
48248     return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
48249 #else
48250     return PySequence_GetItem(o, i);
48251 #endif
48252 }
__Pyx_GetItemInt_Tuple_Fast(PyObject * o,Py_ssize_t i,CYTHON_NCP_UNUSED int wraparound,CYTHON_NCP_UNUSED int boundscheck)48253 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
48254                                                               CYTHON_NCP_UNUSED int wraparound,
48255                                                               CYTHON_NCP_UNUSED int boundscheck) {
48256 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
48257     Py_ssize_t wrapped_i = i;
48258     if (wraparound & unlikely(i < 0)) {
48259         wrapped_i += PyTuple_GET_SIZE(o);
48260     }
48261     if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) {
48262         PyObject *r = PyTuple_GET_ITEM(o, wrapped_i);
48263         Py_INCREF(r);
48264         return r;
48265     }
48266     return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
48267 #else
48268     return PySequence_GetItem(o, i);
48269 #endif
48270 }
__Pyx_GetItemInt_Fast(PyObject * o,Py_ssize_t i,int is_list,CYTHON_NCP_UNUSED int wraparound,CYTHON_NCP_UNUSED int boundscheck)48271 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,
48272                                                      CYTHON_NCP_UNUSED int wraparound,
48273                                                      CYTHON_NCP_UNUSED int boundscheck) {
48274 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
48275     if (is_list || PyList_CheckExact(o)) {
48276         Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
48277         if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) {
48278             PyObject *r = PyList_GET_ITEM(o, n);
48279             Py_INCREF(r);
48280             return r;
48281         }
48282     }
48283     else if (PyTuple_CheckExact(o)) {
48284         Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
48285         if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) {
48286             PyObject *r = PyTuple_GET_ITEM(o, n);
48287             Py_INCREF(r);
48288             return r;
48289         }
48290     } else {
48291         PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
48292         if (likely(m && m->sq_item)) {
48293             if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {
48294                 Py_ssize_t l = m->sq_length(o);
48295                 if (likely(l >= 0)) {
48296                     i += l;
48297                 } else {
48298                     if (!PyErr_ExceptionMatches(PyExc_OverflowError))
48299                         return NULL;
48300                     PyErr_Clear();
48301                 }
48302             }
48303             return m->sq_item(o, i);
48304         }
48305     }
48306 #else
48307     if (is_list || PySequence_Check(o)) {
48308         return PySequence_GetItem(o, i);
48309     }
48310 #endif
48311     return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
48312 }
48313 
48314 /* PyObjectGetMethod */
__Pyx_PyObject_GetMethod(PyObject * obj,PyObject * name,PyObject ** method)48315 static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) {
48316     PyObject *attr;
48317 #if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP
48318     PyTypeObject *tp = Py_TYPE(obj);
48319     PyObject *descr;
48320     descrgetfunc f = NULL;
48321     PyObject **dictptr, *dict;
48322     int meth_found = 0;
48323     assert (*method == NULL);
48324     if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) {
48325         attr = __Pyx_PyObject_GetAttrStr(obj, name);
48326         goto try_unpack;
48327     }
48328     if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) {
48329         return 0;
48330     }
48331     descr = _PyType_Lookup(tp, name);
48332     if (likely(descr != NULL)) {
48333         Py_INCREF(descr);
48334 #if PY_MAJOR_VERSION >= 3
48335         #ifdef __Pyx_CyFunction_USED
48336         if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr)))
48337         #else
48338         if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type)))
48339         #endif
48340 #else
48341         #ifdef __Pyx_CyFunction_USED
48342         if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr)))
48343         #else
48344         if (likely(PyFunction_Check(descr)))
48345         #endif
48346 #endif
48347         {
48348             meth_found = 1;
48349         } else {
48350             f = Py_TYPE(descr)->tp_descr_get;
48351             if (f != NULL && PyDescr_IsData(descr)) {
48352                 attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
48353                 Py_DECREF(descr);
48354                 goto try_unpack;
48355             }
48356         }
48357     }
48358     dictptr = _PyObject_GetDictPtr(obj);
48359     if (dictptr != NULL && (dict = *dictptr) != NULL) {
48360         Py_INCREF(dict);
48361         attr = __Pyx_PyDict_GetItemStr(dict, name);
48362         if (attr != NULL) {
48363             Py_INCREF(attr);
48364             Py_DECREF(dict);
48365             Py_XDECREF(descr);
48366             goto try_unpack;
48367         }
48368         Py_DECREF(dict);
48369     }
48370     if (meth_found) {
48371         *method = descr;
48372         return 1;
48373     }
48374     if (f != NULL) {
48375         attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
48376         Py_DECREF(descr);
48377         goto try_unpack;
48378     }
48379     if (descr != NULL) {
48380         *method = descr;
48381         return 0;
48382     }
48383     PyErr_Format(PyExc_AttributeError,
48384 #if PY_MAJOR_VERSION >= 3
48385                  "'%.50s' object has no attribute '%U'",
48386                  tp->tp_name, name);
48387 #else
48388                  "'%.50s' object has no attribute '%.400s'",
48389                  tp->tp_name, PyString_AS_STRING(name));
48390 #endif
48391     return 0;
48392 #else
48393     attr = __Pyx_PyObject_GetAttrStr(obj, name);
48394     goto try_unpack;
48395 #endif
48396 try_unpack:
48397 #if CYTHON_UNPACK_METHODS
48398     if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) {
48399         PyObject *function = PyMethod_GET_FUNCTION(attr);
48400         Py_INCREF(function);
48401         Py_DECREF(attr);
48402         *method = function;
48403         return 1;
48404     }
48405 #endif
48406     *method = attr;
48407     return 0;
48408 }
48409 
48410 /* PyObjectCallMethod1 */
__Pyx__PyObject_CallMethod1(PyObject * method,PyObject * arg)48411 static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) {
48412     PyObject *result = __Pyx_PyObject_CallOneArg(method, arg);
48413     Py_DECREF(method);
48414     return result;
48415 }
__Pyx_PyObject_CallMethod1(PyObject * obj,PyObject * method_name,PyObject * arg)48416 static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {
48417     PyObject *method = NULL, *result;
48418     int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
48419     if (likely(is_method)) {
48420         result = __Pyx_PyObject_Call2Args(method, obj, arg);
48421         Py_DECREF(method);
48422         return result;
48423     }
48424     if (unlikely(!method)) return NULL;
48425     return __Pyx__PyObject_CallMethod1(method, arg);
48426 }
48427 
48428 /* append */
__Pyx_PyObject_Append(PyObject * L,PyObject * x)48429 static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x) {
48430     if (likely(PyList_CheckExact(L))) {
48431         if (unlikely(__Pyx_PyList_Append(L, x) < 0)) return -1;
48432     } else {
48433         PyObject* retval = __Pyx_PyObject_CallMethod1(L, __pyx_n_s_append, x);
48434         if (unlikely(!retval))
48435             return -1;
48436         Py_DECREF(retval);
48437     }
48438     return 0;
48439 }
48440 
48441 /* PyIntBinop */
48442 #if !CYTHON_COMPILING_IN_PYPY
__Pyx_PyInt_AddObjC(PyObject * op1,PyObject * op2,CYTHON_UNUSED long intval,int inplace,int zerodivision_check)48443 static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) {
48444     (void)inplace;
48445     (void)zerodivision_check;
48446     #if PY_MAJOR_VERSION < 3
48447     if (likely(PyInt_CheckExact(op1))) {
48448         const long b = intval;
48449         long x;
48450         long a = PyInt_AS_LONG(op1);
48451             x = (long)((unsigned long)a + b);
48452             if (likely((x^a) >= 0 || (x^b) >= 0))
48453                 return PyInt_FromLong(x);
48454             return PyLong_Type.tp_as_number->nb_add(op1, op2);
48455     }
48456     #endif
48457     #if CYTHON_USE_PYLONG_INTERNALS
48458     if (likely(PyLong_CheckExact(op1))) {
48459         const long b = intval;
48460         long a, x;
48461 #ifdef HAVE_LONG_LONG
48462         const PY_LONG_LONG llb = intval;
48463         PY_LONG_LONG lla, llx;
48464 #endif
48465         const digit* digits = ((PyLongObject*)op1)->ob_digit;
48466         const Py_ssize_t size = Py_SIZE(op1);
48467         if (likely(__Pyx_sst_abs(size) <= 1)) {
48468             a = likely(size) ? digits[0] : 0;
48469             if (size == -1) a = -a;
48470         } else {
48471             switch (size) {
48472                 case -2:
48473                     if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
48474                         a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
48475                         break;
48476 #ifdef HAVE_LONG_LONG
48477                     } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
48478                         lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
48479                         goto long_long;
48480 #endif
48481                     }
48482                     CYTHON_FALLTHROUGH;
48483                 case 2:
48484                     if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
48485                         a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
48486                         break;
48487 #ifdef HAVE_LONG_LONG
48488                     } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
48489                         lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
48490                         goto long_long;
48491 #endif
48492                     }
48493                     CYTHON_FALLTHROUGH;
48494                 case -3:
48495                     if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
48496                         a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
48497                         break;
48498 #ifdef HAVE_LONG_LONG
48499                     } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
48500                         lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
48501                         goto long_long;
48502 #endif
48503                     }
48504                     CYTHON_FALLTHROUGH;
48505                 case 3:
48506                     if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
48507                         a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
48508                         break;
48509 #ifdef HAVE_LONG_LONG
48510                     } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
48511                         lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
48512                         goto long_long;
48513 #endif
48514                     }
48515                     CYTHON_FALLTHROUGH;
48516                 case -4:
48517                     if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
48518                         a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
48519                         break;
48520 #ifdef HAVE_LONG_LONG
48521                     } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
48522                         lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
48523                         goto long_long;
48524 #endif
48525                     }
48526                     CYTHON_FALLTHROUGH;
48527                 case 4:
48528                     if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
48529                         a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
48530                         break;
48531 #ifdef HAVE_LONG_LONG
48532                     } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
48533                         lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
48534                         goto long_long;
48535 #endif
48536                     }
48537                     CYTHON_FALLTHROUGH;
48538                 default: return PyLong_Type.tp_as_number->nb_add(op1, op2);
48539             }
48540         }
48541                 x = a + b;
48542             return PyLong_FromLong(x);
48543 #ifdef HAVE_LONG_LONG
48544         long_long:
48545                 llx = lla + llb;
48546             return PyLong_FromLongLong(llx);
48547 #endif
48548 
48549 
48550     }
48551     #endif
48552     if (PyFloat_CheckExact(op1)) {
48553         const long b = intval;
48554         double a = PyFloat_AS_DOUBLE(op1);
48555             double result;
48556             PyFPE_START_PROTECT("add", return NULL)
48557             result = ((double)a) + (double)b;
48558             PyFPE_END_PROTECT(result)
48559             return PyFloat_FromDouble(result);
48560     }
48561     return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2);
48562 }
48563 #endif
48564 
48565 /* ObjectGetItem */
48566 #if CYTHON_USE_TYPE_SLOTS
__Pyx_PyObject_GetIndex(PyObject * obj,PyObject * index)48567 static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) {
48568     PyObject *runerr;
48569     Py_ssize_t key_value;
48570     PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence;
48571     if (unlikely(!(m && m->sq_item))) {
48572         PyErr_Format(PyExc_TypeError, "'%.200s' object is not subscriptable", Py_TYPE(obj)->tp_name);
48573         return NULL;
48574     }
48575     key_value = __Pyx_PyIndex_AsSsize_t(index);
48576     if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) {
48577         return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1);
48578     }
48579     if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) {
48580         PyErr_Clear();
48581         PyErr_Format(PyExc_IndexError, "cannot fit '%.200s' into an index-sized integer", Py_TYPE(index)->tp_name);
48582     }
48583     return NULL;
48584 }
__Pyx_PyObject_GetItem(PyObject * obj,PyObject * key)48585 static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key) {
48586     PyMappingMethods *m = Py_TYPE(obj)->tp_as_mapping;
48587     if (likely(m && m->mp_subscript)) {
48588         return m->mp_subscript(obj, key);
48589     }
48590     return __Pyx_PyObject_GetIndex(obj, key);
48591 }
48592 #endif
48593 
48594 /* StringJoin */
48595 #if !CYTHON_COMPILING_IN_CPYTHON
__Pyx_PyBytes_Join(PyObject * sep,PyObject * values)48596 static CYTHON_INLINE PyObject* __Pyx_PyBytes_Join(PyObject* sep, PyObject* values) {
48597     return PyObject_CallMethodObjArgs(sep, __pyx_n_s_join, values, NULL);
48598 }
48599 #endif
48600 
48601 /* PyIntBinop */
48602 #if !CYTHON_COMPILING_IN_PYPY
__Pyx_PyInt_SubtractObjC(PyObject * op1,PyObject * op2,CYTHON_UNUSED long intval,int inplace,int zerodivision_check)48603 static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) {
48604     (void)inplace;
48605     (void)zerodivision_check;
48606     #if PY_MAJOR_VERSION < 3
48607     if (likely(PyInt_CheckExact(op1))) {
48608         const long b = intval;
48609         long x;
48610         long a = PyInt_AS_LONG(op1);
48611             x = (long)((unsigned long)a - b);
48612             if (likely((x^a) >= 0 || (x^~b) >= 0))
48613                 return PyInt_FromLong(x);
48614             return PyLong_Type.tp_as_number->nb_subtract(op1, op2);
48615     }
48616     #endif
48617     #if CYTHON_USE_PYLONG_INTERNALS
48618     if (likely(PyLong_CheckExact(op1))) {
48619         const long b = intval;
48620         long a, x;
48621 #ifdef HAVE_LONG_LONG
48622         const PY_LONG_LONG llb = intval;
48623         PY_LONG_LONG lla, llx;
48624 #endif
48625         const digit* digits = ((PyLongObject*)op1)->ob_digit;
48626         const Py_ssize_t size = Py_SIZE(op1);
48627         if (likely(__Pyx_sst_abs(size) <= 1)) {
48628             a = likely(size) ? digits[0] : 0;
48629             if (size == -1) a = -a;
48630         } else {
48631             switch (size) {
48632                 case -2:
48633                     if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
48634                         a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
48635                         break;
48636 #ifdef HAVE_LONG_LONG
48637                     } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
48638                         lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
48639                         goto long_long;
48640 #endif
48641                     }
48642                     CYTHON_FALLTHROUGH;
48643                 case 2:
48644                     if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
48645                         a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
48646                         break;
48647 #ifdef HAVE_LONG_LONG
48648                     } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
48649                         lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
48650                         goto long_long;
48651 #endif
48652                     }
48653                     CYTHON_FALLTHROUGH;
48654                 case -3:
48655                     if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
48656                         a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
48657                         break;
48658 #ifdef HAVE_LONG_LONG
48659                     } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
48660                         lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
48661                         goto long_long;
48662 #endif
48663                     }
48664                     CYTHON_FALLTHROUGH;
48665                 case 3:
48666                     if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
48667                         a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
48668                         break;
48669 #ifdef HAVE_LONG_LONG
48670                     } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
48671                         lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
48672                         goto long_long;
48673 #endif
48674                     }
48675                     CYTHON_FALLTHROUGH;
48676                 case -4:
48677                     if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
48678                         a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
48679                         break;
48680 #ifdef HAVE_LONG_LONG
48681                     } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
48682                         lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
48683                         goto long_long;
48684 #endif
48685                     }
48686                     CYTHON_FALLTHROUGH;
48687                 case 4:
48688                     if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
48689                         a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
48690                         break;
48691 #ifdef HAVE_LONG_LONG
48692                     } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
48693                         lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
48694                         goto long_long;
48695 #endif
48696                     }
48697                     CYTHON_FALLTHROUGH;
48698                 default: return PyLong_Type.tp_as_number->nb_subtract(op1, op2);
48699             }
48700         }
48701                 x = a - b;
48702             return PyLong_FromLong(x);
48703 #ifdef HAVE_LONG_LONG
48704         long_long:
48705                 llx = lla - llb;
48706             return PyLong_FromLongLong(llx);
48707 #endif
48708 
48709 
48710     }
48711     #endif
48712     if (PyFloat_CheckExact(op1)) {
48713         const long b = intval;
48714         double a = PyFloat_AS_DOUBLE(op1);
48715             double result;
48716             PyFPE_START_PROTECT("subtract", return NULL)
48717             result = ((double)a) - (double)b;
48718             PyFPE_END_PROTECT(result)
48719             return PyFloat_FromDouble(result);
48720     }
48721     return (inplace ? PyNumber_InPlaceSubtract : PyNumber_Subtract)(op1, op2);
48722 }
48723 #endif
48724 
48725 /* py_set_discard */
__Pyx_PySet_Discard(PyObject * set,PyObject * key)48726 static CYTHON_INLINE int __Pyx_PySet_Discard(PyObject *set, PyObject *key) {
48727     int found = PySet_Discard(set, key);
48728     if (unlikely(found < 0)) {
48729         found = __Pyx_PySet_DiscardUnhashable(set, key);
48730     }
48731     return found;
48732 }
48733 
48734 /* BytesEquals */
__Pyx_PyBytes_Equals(PyObject * s1,PyObject * s2,int equals)48735 static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {
48736 #if CYTHON_COMPILING_IN_PYPY
48737     return PyObject_RichCompareBool(s1, s2, equals);
48738 #else
48739     if (s1 == s2) {
48740         return (equals == Py_EQ);
48741     } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) {
48742         const char *ps1, *ps2;
48743         Py_ssize_t length = PyBytes_GET_SIZE(s1);
48744         if (length != PyBytes_GET_SIZE(s2))
48745             return (equals == Py_NE);
48746         ps1 = PyBytes_AS_STRING(s1);
48747         ps2 = PyBytes_AS_STRING(s2);
48748         if (ps1[0] != ps2[0]) {
48749             return (equals == Py_NE);
48750         } else if (length == 1) {
48751             return (equals == Py_EQ);
48752         } else {
48753             int result;
48754 #if CYTHON_USE_UNICODE_INTERNALS
48755             Py_hash_t hash1, hash2;
48756             hash1 = ((PyBytesObject*)s1)->ob_shash;
48757             hash2 = ((PyBytesObject*)s2)->ob_shash;
48758             if (hash1 != hash2 && hash1 != -1 && hash2 != -1) {
48759                 return (equals == Py_NE);
48760             }
48761 #endif
48762             result = memcmp(ps1, ps2, (size_t)length);
48763             return (equals == Py_EQ) ? (result == 0) : (result != 0);
48764         }
48765     } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) {
48766         return (equals == Py_NE);
48767     } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) {
48768         return (equals == Py_NE);
48769     } else {
48770         int result;
48771         PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
48772         if (!py_result)
48773             return -1;
48774         result = __Pyx_PyObject_IsTrue(py_result);
48775         Py_DECREF(py_result);
48776         return result;
48777     }
48778 #endif
48779 }
48780 
48781 /* UnicodeEquals */
__Pyx_PyUnicode_Equals(PyObject * s1,PyObject * s2,int equals)48782 static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) {
48783 #if CYTHON_COMPILING_IN_PYPY
48784     return PyObject_RichCompareBool(s1, s2, equals);
48785 #else
48786 #if PY_MAJOR_VERSION < 3
48787     PyObject* owned_ref = NULL;
48788 #endif
48789     int s1_is_unicode, s2_is_unicode;
48790     if (s1 == s2) {
48791         goto return_eq;
48792     }
48793     s1_is_unicode = PyUnicode_CheckExact(s1);
48794     s2_is_unicode = PyUnicode_CheckExact(s2);
48795 #if PY_MAJOR_VERSION < 3
48796     if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) {
48797         owned_ref = PyUnicode_FromObject(s2);
48798         if (unlikely(!owned_ref))
48799             return -1;
48800         s2 = owned_ref;
48801         s2_is_unicode = 1;
48802     } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) {
48803         owned_ref = PyUnicode_FromObject(s1);
48804         if (unlikely(!owned_ref))
48805             return -1;
48806         s1 = owned_ref;
48807         s1_is_unicode = 1;
48808     } else if (((!s2_is_unicode) & (!s1_is_unicode))) {
48809         return __Pyx_PyBytes_Equals(s1, s2, equals);
48810     }
48811 #endif
48812     if (s1_is_unicode & s2_is_unicode) {
48813         Py_ssize_t length;
48814         int kind;
48815         void *data1, *data2;
48816         if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0))
48817             return -1;
48818         length = __Pyx_PyUnicode_GET_LENGTH(s1);
48819         if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) {
48820             goto return_ne;
48821         }
48822 #if CYTHON_USE_UNICODE_INTERNALS
48823         {
48824             Py_hash_t hash1, hash2;
48825         #if CYTHON_PEP393_ENABLED
48826             hash1 = ((PyASCIIObject*)s1)->hash;
48827             hash2 = ((PyASCIIObject*)s2)->hash;
48828         #else
48829             hash1 = ((PyUnicodeObject*)s1)->hash;
48830             hash2 = ((PyUnicodeObject*)s2)->hash;
48831         #endif
48832             if (hash1 != hash2 && hash1 != -1 && hash2 != -1) {
48833                 goto return_ne;
48834             }
48835         }
48836 #endif
48837         kind = __Pyx_PyUnicode_KIND(s1);
48838         if (kind != __Pyx_PyUnicode_KIND(s2)) {
48839             goto return_ne;
48840         }
48841         data1 = __Pyx_PyUnicode_DATA(s1);
48842         data2 = __Pyx_PyUnicode_DATA(s2);
48843         if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) {
48844             goto return_ne;
48845         } else if (length == 1) {
48846             goto return_eq;
48847         } else {
48848             int result = memcmp(data1, data2, (size_t)(length * kind));
48849             #if PY_MAJOR_VERSION < 3
48850             Py_XDECREF(owned_ref);
48851             #endif
48852             return (equals == Py_EQ) ? (result == 0) : (result != 0);
48853         }
48854     } else if ((s1 == Py_None) & s2_is_unicode) {
48855         goto return_ne;
48856     } else if ((s2 == Py_None) & s1_is_unicode) {
48857         goto return_ne;
48858     } else {
48859         int result;
48860         PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
48861         #if PY_MAJOR_VERSION < 3
48862         Py_XDECREF(owned_ref);
48863         #endif
48864         if (!py_result)
48865             return -1;
48866         result = __Pyx_PyObject_IsTrue(py_result);
48867         Py_DECREF(py_result);
48868         return result;
48869     }
48870 return_eq:
48871     #if PY_MAJOR_VERSION < 3
48872     Py_XDECREF(owned_ref);
48873     #endif
48874     return (equals == Py_EQ);
48875 return_ne:
48876     #if PY_MAJOR_VERSION < 3
48877     Py_XDECREF(owned_ref);
48878     #endif
48879     return (equals == Py_NE);
48880 #endif
48881 }
48882 
48883 /* PyObjectCallMethod0 */
__Pyx_PyObject_CallMethod0(PyObject * obj,PyObject * method_name)48884 static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) {
48885     PyObject *method = NULL, *result = NULL;
48886     int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
48887     if (likely(is_method)) {
48888         result = __Pyx_PyObject_CallOneArg(method, obj);
48889         Py_DECREF(method);
48890         return result;
48891     }
48892     if (unlikely(!method)) goto bad;
48893     result = __Pyx_PyObject_CallNoArg(method);
48894     Py_DECREF(method);
48895 bad:
48896     return result;
48897 }
48898 
48899 /* RaiseNoneIterError */
__Pyx_RaiseNoneNotIterableError(void)48900 static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {
48901     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
48902 }
48903 
48904 /* UnpackTupleError */
__Pyx_UnpackTupleError(PyObject * t,Py_ssize_t index)48905 static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) {
48906     if (t == Py_None) {
48907       __Pyx_RaiseNoneNotIterableError();
48908     } else if (PyTuple_GET_SIZE(t) < index) {
48909       __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(t));
48910     } else {
48911       __Pyx_RaiseTooManyValuesError(index);
48912     }
48913 }
48914 
48915 /* UnpackTuple2 */
__Pyx_unpack_tuple2_exact(PyObject * tuple,PyObject ** pvalue1,PyObject ** pvalue2,int decref_tuple)48916 static CYTHON_INLINE int __Pyx_unpack_tuple2_exact(
48917         PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2, int decref_tuple) {
48918     PyObject *value1 = NULL, *value2 = NULL;
48919 #if CYTHON_COMPILING_IN_PYPY
48920     value1 = PySequence_ITEM(tuple, 0);  if (unlikely(!value1)) goto bad;
48921     value2 = PySequence_ITEM(tuple, 1);  if (unlikely(!value2)) goto bad;
48922 #else
48923     value1 = PyTuple_GET_ITEM(tuple, 0);  Py_INCREF(value1);
48924     value2 = PyTuple_GET_ITEM(tuple, 1);  Py_INCREF(value2);
48925 #endif
48926     if (decref_tuple) {
48927         Py_DECREF(tuple);
48928     }
48929     *pvalue1 = value1;
48930     *pvalue2 = value2;
48931     return 0;
48932 #if CYTHON_COMPILING_IN_PYPY
48933 bad:
48934     Py_XDECREF(value1);
48935     Py_XDECREF(value2);
48936     if (decref_tuple) { Py_XDECREF(tuple); }
48937     return -1;
48938 #endif
48939 }
__Pyx_unpack_tuple2_generic(PyObject * tuple,PyObject ** pvalue1,PyObject ** pvalue2,int has_known_size,int decref_tuple)48940 static int __Pyx_unpack_tuple2_generic(PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2,
48941                                        int has_known_size, int decref_tuple) {
48942     Py_ssize_t index;
48943     PyObject *value1 = NULL, *value2 = NULL, *iter = NULL;
48944     iternextfunc iternext;
48945     iter = PyObject_GetIter(tuple);
48946     if (unlikely(!iter)) goto bad;
48947     if (decref_tuple) { Py_DECREF(tuple); tuple = NULL; }
48948     iternext = Py_TYPE(iter)->tp_iternext;
48949     value1 = iternext(iter); if (unlikely(!value1)) { index = 0; goto unpacking_failed; }
48950     value2 = iternext(iter); if (unlikely(!value2)) { index = 1; goto unpacking_failed; }
48951     if (!has_known_size && unlikely(__Pyx_IternextUnpackEndCheck(iternext(iter), 2))) goto bad;
48952     Py_DECREF(iter);
48953     *pvalue1 = value1;
48954     *pvalue2 = value2;
48955     return 0;
48956 unpacking_failed:
48957     if (!has_known_size && __Pyx_IterFinish() == 0)
48958         __Pyx_RaiseNeedMoreValuesError(index);
48959 bad:
48960     Py_XDECREF(iter);
48961     Py_XDECREF(value1);
48962     Py_XDECREF(value2);
48963     if (decref_tuple) { Py_XDECREF(tuple); }
48964     return -1;
48965 }
48966 
48967 /* dict_iter */
__Pyx_dict_iterator(PyObject * iterable,int is_dict,PyObject * method_name,Py_ssize_t * p_orig_length,int * p_source_is_dict)48968 static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* iterable, int is_dict, PyObject* method_name,
48969                                                    Py_ssize_t* p_orig_length, int* p_source_is_dict) {
48970     is_dict = is_dict || likely(PyDict_CheckExact(iterable));
48971     *p_source_is_dict = is_dict;
48972     if (is_dict) {
48973 #if !CYTHON_COMPILING_IN_PYPY
48974         *p_orig_length = PyDict_Size(iterable);
48975         Py_INCREF(iterable);
48976         return iterable;
48977 #elif PY_MAJOR_VERSION >= 3
48978         static PyObject *py_items = NULL, *py_keys = NULL, *py_values = NULL;
48979         PyObject **pp = NULL;
48980         if (method_name) {
48981             const char *name = PyUnicode_AsUTF8(method_name);
48982             if (strcmp(name, "iteritems") == 0) pp = &py_items;
48983             else if (strcmp(name, "iterkeys") == 0) pp = &py_keys;
48984             else if (strcmp(name, "itervalues") == 0) pp = &py_values;
48985             if (pp) {
48986                 if (!*pp) {
48987                     *pp = PyUnicode_FromString(name + 4);
48988                     if (!*pp)
48989                         return NULL;
48990                 }
48991                 method_name = *pp;
48992             }
48993         }
48994 #endif
48995     }
48996     *p_orig_length = 0;
48997     if (method_name) {
48998         PyObject* iter;
48999         iterable = __Pyx_PyObject_CallMethod0(iterable, method_name);
49000         if (!iterable)
49001             return NULL;
49002 #if !CYTHON_COMPILING_IN_PYPY
49003         if (PyTuple_CheckExact(iterable) || PyList_CheckExact(iterable))
49004             return iterable;
49005 #endif
49006         iter = PyObject_GetIter(iterable);
49007         Py_DECREF(iterable);
49008         return iter;
49009     }
49010     return PyObject_GetIter(iterable);
49011 }
__Pyx_dict_iter_next(PyObject * iter_obj,CYTHON_NCP_UNUSED Py_ssize_t orig_length,CYTHON_NCP_UNUSED Py_ssize_t * ppos,PyObject ** pkey,PyObject ** pvalue,PyObject ** pitem,int source_is_dict)49012 static CYTHON_INLINE int __Pyx_dict_iter_next(
49013         PyObject* iter_obj, CYTHON_NCP_UNUSED Py_ssize_t orig_length, CYTHON_NCP_UNUSED Py_ssize_t* ppos,
49014         PyObject** pkey, PyObject** pvalue, PyObject** pitem, int source_is_dict) {
49015     PyObject* next_item;
49016 #if !CYTHON_COMPILING_IN_PYPY
49017     if (source_is_dict) {
49018         PyObject *key, *value;
49019         if (unlikely(orig_length != PyDict_Size(iter_obj))) {
49020             PyErr_SetString(PyExc_RuntimeError, "dictionary changed size during iteration");
49021             return -1;
49022         }
49023         if (unlikely(!PyDict_Next(iter_obj, ppos, &key, &value))) {
49024             return 0;
49025         }
49026         if (pitem) {
49027             PyObject* tuple = PyTuple_New(2);
49028             if (unlikely(!tuple)) {
49029                 return -1;
49030             }
49031             Py_INCREF(key);
49032             Py_INCREF(value);
49033             PyTuple_SET_ITEM(tuple, 0, key);
49034             PyTuple_SET_ITEM(tuple, 1, value);
49035             *pitem = tuple;
49036         } else {
49037             if (pkey) {
49038                 Py_INCREF(key);
49039                 *pkey = key;
49040             }
49041             if (pvalue) {
49042                 Py_INCREF(value);
49043                 *pvalue = value;
49044             }
49045         }
49046         return 1;
49047     } else if (PyTuple_CheckExact(iter_obj)) {
49048         Py_ssize_t pos = *ppos;
49049         if (unlikely(pos >= PyTuple_GET_SIZE(iter_obj))) return 0;
49050         *ppos = pos + 1;
49051         next_item = PyTuple_GET_ITEM(iter_obj, pos);
49052         Py_INCREF(next_item);
49053     } else if (PyList_CheckExact(iter_obj)) {
49054         Py_ssize_t pos = *ppos;
49055         if (unlikely(pos >= PyList_GET_SIZE(iter_obj))) return 0;
49056         *ppos = pos + 1;
49057         next_item = PyList_GET_ITEM(iter_obj, pos);
49058         Py_INCREF(next_item);
49059     } else
49060 #endif
49061     {
49062         next_item = PyIter_Next(iter_obj);
49063         if (unlikely(!next_item)) {
49064             return __Pyx_IterFinish();
49065         }
49066     }
49067     if (pitem) {
49068         *pitem = next_item;
49069     } else if (pkey && pvalue) {
49070         if (__Pyx_unpack_tuple2(next_item, pkey, pvalue, source_is_dict, source_is_dict, 1))
49071             return -1;
49072     } else if (pkey) {
49073         *pkey = next_item;
49074     } else {
49075         *pvalue = next_item;
49076     }
49077     return 1;
49078 }
49079 
49080 /* GetException */
49081 #if CYTHON_FAST_THREAD_STATE
__Pyx__GetException(PyThreadState * tstate,PyObject ** type,PyObject ** value,PyObject ** tb)49082 static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb)
49083 #else
49084 static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb)
49085 #endif
49086 {
49087     PyObject *local_type, *local_value, *local_tb;
49088 #if CYTHON_FAST_THREAD_STATE
49089     PyObject *tmp_type, *tmp_value, *tmp_tb;
49090     local_type = tstate->curexc_type;
49091     local_value = tstate->curexc_value;
49092     local_tb = tstate->curexc_traceback;
49093     tstate->curexc_type = 0;
49094     tstate->curexc_value = 0;
49095     tstate->curexc_traceback = 0;
49096 #else
49097     PyErr_Fetch(&local_type, &local_value, &local_tb);
49098 #endif
49099     PyErr_NormalizeException(&local_type, &local_value, &local_tb);
49100 #if CYTHON_FAST_THREAD_STATE
49101     if (unlikely(tstate->curexc_type))
49102 #else
49103     if (unlikely(PyErr_Occurred()))
49104 #endif
49105         goto bad;
49106     #if PY_MAJOR_VERSION >= 3
49107     if (local_tb) {
49108         if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
49109             goto bad;
49110     }
49111     #endif
49112     Py_XINCREF(local_tb);
49113     Py_XINCREF(local_type);
49114     Py_XINCREF(local_value);
49115     *type = local_type;
49116     *value = local_value;
49117     *tb = local_tb;
49118 #if CYTHON_FAST_THREAD_STATE
49119     #if CYTHON_USE_EXC_INFO_STACK
49120     {
49121         _PyErr_StackItem *exc_info = tstate->exc_info;
49122         tmp_type = exc_info->exc_type;
49123         tmp_value = exc_info->exc_value;
49124         tmp_tb = exc_info->exc_traceback;
49125         exc_info->exc_type = local_type;
49126         exc_info->exc_value = local_value;
49127         exc_info->exc_traceback = local_tb;
49128     }
49129     #else
49130     tmp_type = tstate->exc_type;
49131     tmp_value = tstate->exc_value;
49132     tmp_tb = tstate->exc_traceback;
49133     tstate->exc_type = local_type;
49134     tstate->exc_value = local_value;
49135     tstate->exc_traceback = local_tb;
49136     #endif
49137     Py_XDECREF(tmp_type);
49138     Py_XDECREF(tmp_value);
49139     Py_XDECREF(tmp_tb);
49140 #else
49141     PyErr_SetExcInfo(local_type, local_value, local_tb);
49142 #endif
49143     return 0;
49144 bad:
49145     *type = 0;
49146     *value = 0;
49147     *tb = 0;
49148     Py_XDECREF(local_type);
49149     Py_XDECREF(local_value);
49150     Py_XDECREF(local_tb);
49151     return -1;
49152 }
49153 
49154 /* SwapException */
49155 #if CYTHON_FAST_THREAD_STATE
__Pyx__ExceptionSwap(PyThreadState * tstate,PyObject ** type,PyObject ** value,PyObject ** tb)49156 static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
49157     PyObject *tmp_type, *tmp_value, *tmp_tb;
49158     #if CYTHON_USE_EXC_INFO_STACK
49159     _PyErr_StackItem *exc_info = tstate->exc_info;
49160     tmp_type = exc_info->exc_type;
49161     tmp_value = exc_info->exc_value;
49162     tmp_tb = exc_info->exc_traceback;
49163     exc_info->exc_type = *type;
49164     exc_info->exc_value = *value;
49165     exc_info->exc_traceback = *tb;
49166     #else
49167     tmp_type = tstate->exc_type;
49168     tmp_value = tstate->exc_value;
49169     tmp_tb = tstate->exc_traceback;
49170     tstate->exc_type = *type;
49171     tstate->exc_value = *value;
49172     tstate->exc_traceback = *tb;
49173     #endif
49174     *type = tmp_type;
49175     *value = tmp_value;
49176     *tb = tmp_tb;
49177 }
49178 #else
__Pyx_ExceptionSwap(PyObject ** type,PyObject ** value,PyObject ** tb)49179 static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) {
49180     PyObject *tmp_type, *tmp_value, *tmp_tb;
49181     PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb);
49182     PyErr_SetExcInfo(*type, *value, *tb);
49183     *type = tmp_type;
49184     *value = tmp_value;
49185     *tb = tmp_tb;
49186 }
49187 #endif
49188 
49189 /* GetTopmostException */
49190 #if CYTHON_USE_EXC_INFO_STACK
49191 static _PyErr_StackItem *
__Pyx_PyErr_GetTopmostException(PyThreadState * tstate)49192 __Pyx_PyErr_GetTopmostException(PyThreadState *tstate)
49193 {
49194     _PyErr_StackItem *exc_info = tstate->exc_info;
49195     while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) &&
49196            exc_info->previous_item != NULL)
49197     {
49198         exc_info = exc_info->previous_item;
49199     }
49200     return exc_info;
49201 }
49202 #endif
49203 
49204 /* SaveResetException */
49205 #if CYTHON_FAST_THREAD_STATE
__Pyx__ExceptionSave(PyThreadState * tstate,PyObject ** type,PyObject ** value,PyObject ** tb)49206 static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
49207     #if CYTHON_USE_EXC_INFO_STACK
49208     _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
49209     *type = exc_info->exc_type;
49210     *value = exc_info->exc_value;
49211     *tb = exc_info->exc_traceback;
49212     #else
49213     *type = tstate->exc_type;
49214     *value = tstate->exc_value;
49215     *tb = tstate->exc_traceback;
49216     #endif
49217     Py_XINCREF(*type);
49218     Py_XINCREF(*value);
49219     Py_XINCREF(*tb);
49220 }
__Pyx__ExceptionReset(PyThreadState * tstate,PyObject * type,PyObject * value,PyObject * tb)49221 static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
49222     PyObject *tmp_type, *tmp_value, *tmp_tb;
49223     #if CYTHON_USE_EXC_INFO_STACK
49224     _PyErr_StackItem *exc_info = tstate->exc_info;
49225     tmp_type = exc_info->exc_type;
49226     tmp_value = exc_info->exc_value;
49227     tmp_tb = exc_info->exc_traceback;
49228     exc_info->exc_type = type;
49229     exc_info->exc_value = value;
49230     exc_info->exc_traceback = tb;
49231     #else
49232     tmp_type = tstate->exc_type;
49233     tmp_value = tstate->exc_value;
49234     tmp_tb = tstate->exc_traceback;
49235     tstate->exc_type = type;
49236     tstate->exc_value = value;
49237     tstate->exc_traceback = tb;
49238     #endif
49239     Py_XDECREF(tmp_type);
49240     Py_XDECREF(tmp_value);
49241     Py_XDECREF(tmp_tb);
49242 }
49243 #endif
49244 
49245 /* pop */
__Pyx__PyObject_Pop(PyObject * L)49246 static CYTHON_INLINE PyObject* __Pyx__PyObject_Pop(PyObject* L) {
49247     if (Py_TYPE(L) == &PySet_Type) {
49248         return PySet_Pop(L);
49249     }
49250     return __Pyx_PyObject_CallMethod0(L, __pyx_n_s_pop);
49251 }
49252 #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
__Pyx_PyList_Pop(PyObject * L)49253 static CYTHON_INLINE PyObject* __Pyx_PyList_Pop(PyObject* L) {
49254     if (likely(PyList_GET_SIZE(L) > (((PyListObject*)L)->allocated >> 1))) {
49255         __Pyx_SET_SIZE(L, Py_SIZE(L) - 1);
49256         return PyList_GET_ITEM(L, PyList_GET_SIZE(L));
49257     }
49258     return __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyList_Type_pop, L);
49259 }
49260 #endif
49261 
49262 /* RaiseException */
49263 #if PY_MAJOR_VERSION < 3
__Pyx_Raise(PyObject * type,PyObject * value,PyObject * tb,CYTHON_UNUSED PyObject * cause)49264 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
49265                         CYTHON_UNUSED PyObject *cause) {
49266     __Pyx_PyThreadState_declare
49267     Py_XINCREF(type);
49268     if (!value || value == Py_None)
49269         value = NULL;
49270     else
49271         Py_INCREF(value);
49272     if (!tb || tb == Py_None)
49273         tb = NULL;
49274     else {
49275         Py_INCREF(tb);
49276         if (!PyTraceBack_Check(tb)) {
49277             PyErr_SetString(PyExc_TypeError,
49278                 "raise: arg 3 must be a traceback or None");
49279             goto raise_error;
49280         }
49281     }
49282     if (PyType_Check(type)) {
49283 #if CYTHON_COMPILING_IN_PYPY
49284         if (!value) {
49285             Py_INCREF(Py_None);
49286             value = Py_None;
49287         }
49288 #endif
49289         PyErr_NormalizeException(&type, &value, &tb);
49290     } else {
49291         if (value) {
49292             PyErr_SetString(PyExc_TypeError,
49293                 "instance exception may not have a separate value");
49294             goto raise_error;
49295         }
49296         value = type;
49297         type = (PyObject*) Py_TYPE(type);
49298         Py_INCREF(type);
49299         if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
49300             PyErr_SetString(PyExc_TypeError,
49301                 "raise: exception class must be a subclass of BaseException");
49302             goto raise_error;
49303         }
49304     }
49305     __Pyx_PyThreadState_assign
49306     __Pyx_ErrRestore(type, value, tb);
49307     return;
49308 raise_error:
49309     Py_XDECREF(value);
49310     Py_XDECREF(type);
49311     Py_XDECREF(tb);
49312     return;
49313 }
49314 #else
__Pyx_Raise(PyObject * type,PyObject * value,PyObject * tb,PyObject * cause)49315 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
49316     PyObject* owned_instance = NULL;
49317     if (tb == Py_None) {
49318         tb = 0;
49319     } else if (tb && !PyTraceBack_Check(tb)) {
49320         PyErr_SetString(PyExc_TypeError,
49321             "raise: arg 3 must be a traceback or None");
49322         goto bad;
49323     }
49324     if (value == Py_None)
49325         value = 0;
49326     if (PyExceptionInstance_Check(type)) {
49327         if (value) {
49328             PyErr_SetString(PyExc_TypeError,
49329                 "instance exception may not have a separate value");
49330             goto bad;
49331         }
49332         value = type;
49333         type = (PyObject*) Py_TYPE(value);
49334     } else if (PyExceptionClass_Check(type)) {
49335         PyObject *instance_class = NULL;
49336         if (value && PyExceptionInstance_Check(value)) {
49337             instance_class = (PyObject*) Py_TYPE(value);
49338             if (instance_class != type) {
49339                 int is_subclass = PyObject_IsSubclass(instance_class, type);
49340                 if (!is_subclass) {
49341                     instance_class = NULL;
49342                 } else if (unlikely(is_subclass == -1)) {
49343                     goto bad;
49344                 } else {
49345                     type = instance_class;
49346                 }
49347             }
49348         }
49349         if (!instance_class) {
49350             PyObject *args;
49351             if (!value)
49352                 args = PyTuple_New(0);
49353             else if (PyTuple_Check(value)) {
49354                 Py_INCREF(value);
49355                 args = value;
49356             } else
49357                 args = PyTuple_Pack(1, value);
49358             if (!args)
49359                 goto bad;
49360             owned_instance = PyObject_Call(type, args, NULL);
49361             Py_DECREF(args);
49362             if (!owned_instance)
49363                 goto bad;
49364             value = owned_instance;
49365             if (!PyExceptionInstance_Check(value)) {
49366                 PyErr_Format(PyExc_TypeError,
49367                              "calling %R should have returned an instance of "
49368                              "BaseException, not %R",
49369                              type, Py_TYPE(value));
49370                 goto bad;
49371             }
49372         }
49373     } else {
49374         PyErr_SetString(PyExc_TypeError,
49375             "raise: exception class must be a subclass of BaseException");
49376         goto bad;
49377     }
49378     if (cause) {
49379         PyObject *fixed_cause;
49380         if (cause == Py_None) {
49381             fixed_cause = NULL;
49382         } else if (PyExceptionClass_Check(cause)) {
49383             fixed_cause = PyObject_CallObject(cause, NULL);
49384             if (fixed_cause == NULL)
49385                 goto bad;
49386         } else if (PyExceptionInstance_Check(cause)) {
49387             fixed_cause = cause;
49388             Py_INCREF(fixed_cause);
49389         } else {
49390             PyErr_SetString(PyExc_TypeError,
49391                             "exception causes must derive from "
49392                             "BaseException");
49393             goto bad;
49394         }
49395         PyException_SetCause(value, fixed_cause);
49396     }
49397     PyErr_SetObject(type, value);
49398     if (tb) {
49399 #if CYTHON_COMPILING_IN_PYPY
49400         PyObject *tmp_type, *tmp_value, *tmp_tb;
49401         PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);
49402         Py_INCREF(tb);
49403         PyErr_Restore(tmp_type, tmp_value, tb);
49404         Py_XDECREF(tmp_tb);
49405 #else
49406         PyThreadState *tstate = __Pyx_PyThreadState_Current;
49407         PyObject* tmp_tb = tstate->curexc_traceback;
49408         if (tb != tmp_tb) {
49409             Py_INCREF(tb);
49410             tstate->curexc_traceback = tb;
49411             Py_XDECREF(tmp_tb);
49412         }
49413 #endif
49414     }
49415 bad:
49416     Py_XDECREF(owned_instance);
49417     return;
49418 }
49419 #endif
49420 
49421 /* HasAttr */
__Pyx_HasAttr(PyObject * o,PyObject * n)49422 static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
49423     PyObject *r;
49424     if (unlikely(!__Pyx_PyBaseString_Check(n))) {
49425         PyErr_SetString(PyExc_TypeError,
49426                         "hasattr(): attribute name must be string");
49427         return -1;
49428     }
49429     r = __Pyx_GetAttr(o, n);
49430     if (unlikely(!r)) {
49431         PyErr_Clear();
49432         return 0;
49433     } else {
49434         Py_DECREF(r);
49435         return 1;
49436     }
49437 }
49438 
49439 /* Import */
__Pyx_Import(PyObject * name,PyObject * from_list,int level)49440 static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
49441     PyObject *empty_list = 0;
49442     PyObject *module = 0;
49443     PyObject *global_dict = 0;
49444     PyObject *empty_dict = 0;
49445     PyObject *list;
49446     #if PY_MAJOR_VERSION < 3
49447     PyObject *py_import;
49448     py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);
49449     if (!py_import)
49450         goto bad;
49451     #endif
49452     if (from_list)
49453         list = from_list;
49454     else {
49455         empty_list = PyList_New(0);
49456         if (!empty_list)
49457             goto bad;
49458         list = empty_list;
49459     }
49460     global_dict = PyModule_GetDict(__pyx_m);
49461     if (!global_dict)
49462         goto bad;
49463     empty_dict = PyDict_New();
49464     if (!empty_dict)
49465         goto bad;
49466     {
49467         #if PY_MAJOR_VERSION >= 3
49468         if (level == -1) {
49469             if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) {
49470                 module = PyImport_ImportModuleLevelObject(
49471                     name, global_dict, empty_dict, list, 1);
49472                 if (!module) {
49473                     if (!PyErr_ExceptionMatches(PyExc_ImportError))
49474                         goto bad;
49475                     PyErr_Clear();
49476                 }
49477             }
49478             level = 0;
49479         }
49480         #endif
49481         if (!module) {
49482             #if PY_MAJOR_VERSION < 3
49483             PyObject *py_level = PyInt_FromLong(level);
49484             if (!py_level)
49485                 goto bad;
49486             module = PyObject_CallFunctionObjArgs(py_import,
49487                 name, global_dict, empty_dict, list, py_level, (PyObject *)NULL);
49488             Py_DECREF(py_level);
49489             #else
49490             module = PyImport_ImportModuleLevelObject(
49491                 name, global_dict, empty_dict, list, level);
49492             #endif
49493         }
49494     }
49495 bad:
49496     #if PY_MAJOR_VERSION < 3
49497     Py_XDECREF(py_import);
49498     #endif
49499     Py_XDECREF(empty_list);
49500     Py_XDECREF(empty_dict);
49501     return module;
49502 }
49503 
49504 /* ImportFrom */
__Pyx_ImportFrom(PyObject * module,PyObject * name)49505 static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
49506     PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
49507     if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) {
49508         PyErr_Format(PyExc_ImportError,
49509         #if PY_MAJOR_VERSION < 3
49510             "cannot import name %.230s", PyString_AS_STRING(name));
49511         #else
49512             "cannot import name %S", name);
49513         #endif
49514     }
49515     return value;
49516 }
49517 
49518 /* CallNextTpDealloc */
__Pyx_call_next_tp_dealloc(PyObject * obj,destructor current_tp_dealloc)49519 static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc) {
49520     PyTypeObject* type = Py_TYPE(obj);
49521     while (type && type->tp_dealloc != current_tp_dealloc)
49522         type = type->tp_base;
49523     while (type && type->tp_dealloc == current_tp_dealloc)
49524         type = type->tp_base;
49525     if (type)
49526         type->tp_dealloc(obj);
49527 }
49528 
49529 /* CallNextTpTraverse */
__Pyx_call_next_tp_traverse(PyObject * obj,visitproc v,void * a,traverseproc current_tp_traverse)49530 static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse) {
49531     PyTypeObject* type = Py_TYPE(obj);
49532     while (type && type->tp_traverse != current_tp_traverse)
49533         type = type->tp_base;
49534     while (type && type->tp_traverse == current_tp_traverse)
49535         type = type->tp_base;
49536     if (type && type->tp_traverse)
49537         return type->tp_traverse(obj, v, a);
49538     return 0;
49539 }
49540 
49541 /* CallNextTpClear */
__Pyx_call_next_tp_clear(PyObject * obj,inquiry current_tp_clear)49542 static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear) {
49543     PyTypeObject* type = Py_TYPE(obj);
49544     while (type && type->tp_clear != current_tp_clear)
49545         type = type->tp_base;
49546     while (type && type->tp_clear == current_tp_clear)
49547         type = type->tp_base;
49548     if (type && type->tp_clear)
49549         type->tp_clear(obj);
49550 }
49551 
49552 /* PyObject_GenericGetAttrNoDict */
49553 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
__Pyx_RaiseGenericGetAttributeError(PyTypeObject * tp,PyObject * attr_name)49554 static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) {
49555     PyErr_Format(PyExc_AttributeError,
49556 #if PY_MAJOR_VERSION >= 3
49557                  "'%.50s' object has no attribute '%U'",
49558                  tp->tp_name, attr_name);
49559 #else
49560                  "'%.50s' object has no attribute '%.400s'",
49561                  tp->tp_name, PyString_AS_STRING(attr_name));
49562 #endif
49563     return NULL;
49564 }
__Pyx_PyObject_GenericGetAttrNoDict(PyObject * obj,PyObject * attr_name)49565 static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) {
49566     PyObject *descr;
49567     PyTypeObject *tp = Py_TYPE(obj);
49568     if (unlikely(!PyString_Check(attr_name))) {
49569         return PyObject_GenericGetAttr(obj, attr_name);
49570     }
49571     assert(!tp->tp_dictoffset);
49572     descr = _PyType_Lookup(tp, attr_name);
49573     if (unlikely(!descr)) {
49574         return __Pyx_RaiseGenericGetAttributeError(tp, attr_name);
49575     }
49576     Py_INCREF(descr);
49577     #if PY_MAJOR_VERSION < 3
49578     if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS)))
49579     #endif
49580     {
49581         descrgetfunc f = Py_TYPE(descr)->tp_descr_get;
49582         if (unlikely(f)) {
49583             PyObject *res = f(descr, obj, (PyObject *)tp);
49584             Py_DECREF(descr);
49585             return res;
49586         }
49587     }
49588     return descr;
49589 }
49590 #endif
49591 
49592 /* PyObject_GenericGetAttr */
49593 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
__Pyx_PyObject_GenericGetAttr(PyObject * obj,PyObject * attr_name)49594 static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) {
49595     if (unlikely(Py_TYPE(obj)->tp_dictoffset)) {
49596         return PyObject_GenericGetAttr(obj, attr_name);
49597     }
49598     return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name);
49599 }
49600 #endif
49601 
49602 /* SetVTable */
__Pyx_SetVtable(PyObject * dict,void * vtable)49603 static int __Pyx_SetVtable(PyObject *dict, void *vtable) {
49604 #if PY_VERSION_HEX >= 0x02070000
49605     PyObject *ob = PyCapsule_New(vtable, 0, 0);
49606 #else
49607     PyObject *ob = PyCObject_FromVoidPtr(vtable, 0);
49608 #endif
49609     if (!ob)
49610         goto bad;
49611     if (PyDict_SetItem(dict, __pyx_n_s_pyx_vtable, ob) < 0)
49612         goto bad;
49613     Py_DECREF(ob);
49614     return 0;
49615 bad:
49616     Py_XDECREF(ob);
49617     return -1;
49618 }
49619 
49620 /* PyObjectGetAttrStrNoError */
__Pyx_PyObject_GetAttrStr_ClearAttributeError(void)49621 static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) {
49622     __Pyx_PyThreadState_declare
49623     __Pyx_PyThreadState_assign
49624     if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
49625         __Pyx_PyErr_Clear();
49626 }
__Pyx_PyObject_GetAttrStrNoError(PyObject * obj,PyObject * attr_name)49627 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) {
49628     PyObject *result;
49629 #if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1
49630     PyTypeObject* tp = Py_TYPE(obj);
49631     if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) {
49632         return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1);
49633     }
49634 #endif
49635     result = __Pyx_PyObject_GetAttrStr(obj, attr_name);
49636     if (unlikely(!result)) {
49637         __Pyx_PyObject_GetAttrStr_ClearAttributeError();
49638     }
49639     return result;
49640 }
49641 
49642 /* SetupReduce */
__Pyx_setup_reduce_is_named(PyObject * meth,PyObject * name)49643 static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) {
49644   int ret;
49645   PyObject *name_attr;
49646   name_attr = __Pyx_PyObject_GetAttrStr(meth, __pyx_n_s_name);
49647   if (likely(name_attr)) {
49648       ret = PyObject_RichCompareBool(name_attr, name, Py_EQ);
49649   } else {
49650       ret = -1;
49651   }
49652   if (unlikely(ret < 0)) {
49653       PyErr_Clear();
49654       ret = 0;
49655   }
49656   Py_XDECREF(name_attr);
49657   return ret;
49658 }
__Pyx_setup_reduce(PyObject * type_obj)49659 static int __Pyx_setup_reduce(PyObject* type_obj) {
49660     int ret = 0;
49661     PyObject *object_reduce = NULL;
49662     PyObject *object_reduce_ex = NULL;
49663     PyObject *reduce = NULL;
49664     PyObject *reduce_ex = NULL;
49665     PyObject *reduce_cython = NULL;
49666     PyObject *setstate = NULL;
49667     PyObject *setstate_cython = NULL;
49668 #if CYTHON_USE_PYTYPE_LOOKUP
49669     if (_PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate)) goto __PYX_GOOD;
49670 #else
49671     if (PyObject_HasAttr(type_obj, __pyx_n_s_getstate)) goto __PYX_GOOD;
49672 #endif
49673 #if CYTHON_USE_PYTYPE_LOOKUP
49674     object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD;
49675 #else
49676     object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD;
49677 #endif
49678     reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_ex); if (unlikely(!reduce_ex)) goto __PYX_BAD;
49679     if (reduce_ex == object_reduce_ex) {
49680 #if CYTHON_USE_PYTYPE_LOOKUP
49681         object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD;
49682 #else
49683         object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD;
49684 #endif
49685         reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce); if (unlikely(!reduce)) goto __PYX_BAD;
49686         if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_n_s_reduce_cython)) {
49687             reduce_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_reduce_cython);
49688             if (likely(reduce_cython)) {
49689                 ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce, reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
49690                 ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
49691             } else if (reduce == object_reduce || PyErr_Occurred()) {
49692                 goto __PYX_BAD;
49693             }
49694             setstate = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate);
49695             if (!setstate) PyErr_Clear();
49696             if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) {
49697                 setstate_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_setstate_cython);
49698                 if (likely(setstate_cython)) {
49699                     ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate, setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
49700                     ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
49701                 } else if (!setstate || PyErr_Occurred()) {
49702                     goto __PYX_BAD;
49703                 }
49704             }
49705             PyType_Modified((PyTypeObject*)type_obj);
49706         }
49707     }
49708     goto __PYX_GOOD;
49709 __PYX_BAD:
49710     if (!PyErr_Occurred())
49711         PyErr_Format(PyExc_RuntimeError, "Unable to initialize pickling for %s", ((PyTypeObject*)type_obj)->tp_name);
49712     ret = -1;
49713 __PYX_GOOD:
49714 #if !CYTHON_USE_PYTYPE_LOOKUP
49715     Py_XDECREF(object_reduce);
49716     Py_XDECREF(object_reduce_ex);
49717 #endif
49718     Py_XDECREF(reduce);
49719     Py_XDECREF(reduce_ex);
49720     Py_XDECREF(reduce_cython);
49721     Py_XDECREF(setstate);
49722     Py_XDECREF(setstate_cython);
49723     return ret;
49724 }
49725 
49726 /* TypeImport */
49727 #ifndef __PYX_HAVE_RT_ImportType
49728 #define __PYX_HAVE_RT_ImportType
__Pyx_ImportType(PyObject * module,const char * module_name,const char * class_name,size_t size,enum __Pyx_ImportType_CheckSize check_size)49729 static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name,
49730     size_t size, enum __Pyx_ImportType_CheckSize check_size)
49731 {
49732     PyObject *result = 0;
49733     char warning[200];
49734     Py_ssize_t basicsize;
49735 #ifdef Py_LIMITED_API
49736     PyObject *py_basicsize;
49737 #endif
49738     result = PyObject_GetAttrString(module, class_name);
49739     if (!result)
49740         goto bad;
49741     if (!PyType_Check(result)) {
49742         PyErr_Format(PyExc_TypeError,
49743             "%.200s.%.200s is not a type object",
49744             module_name, class_name);
49745         goto bad;
49746     }
49747 #ifndef Py_LIMITED_API
49748     basicsize = ((PyTypeObject *)result)->tp_basicsize;
49749 #else
49750     py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
49751     if (!py_basicsize)
49752         goto bad;
49753     basicsize = PyLong_AsSsize_t(py_basicsize);
49754     Py_DECREF(py_basicsize);
49755     py_basicsize = 0;
49756     if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
49757         goto bad;
49758 #endif
49759     if ((size_t)basicsize < size) {
49760         PyErr_Format(PyExc_ValueError,
49761             "%.200s.%.200s size changed, may indicate binary incompatibility. "
49762             "Expected %zd from C header, got %zd from PyObject",
49763             module_name, class_name, size, basicsize);
49764         goto bad;
49765     }
49766     if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) {
49767         PyErr_Format(PyExc_ValueError,
49768             "%.200s.%.200s size changed, may indicate binary incompatibility. "
49769             "Expected %zd from C header, got %zd from PyObject",
49770             module_name, class_name, size, basicsize);
49771         goto bad;
49772     }
49773     else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) {
49774         PyOS_snprintf(warning, sizeof(warning),
49775             "%s.%s size changed, may indicate binary incompatibility. "
49776             "Expected %zd from C header, got %zd from PyObject",
49777             module_name, class_name, size, basicsize);
49778         if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
49779     }
49780     return (PyTypeObject *)result;
49781 bad:
49782     Py_XDECREF(result);
49783     return NULL;
49784 }
49785 #endif
49786 
49787 /* GetVTable */
__Pyx_GetVtable(PyObject * dict)49788 static void* __Pyx_GetVtable(PyObject *dict) {
49789     void* ptr;
49790     PyObject *ob = PyObject_GetItem(dict, __pyx_n_s_pyx_vtable);
49791     if (!ob)
49792         goto bad;
49793 #if PY_VERSION_HEX >= 0x02070000
49794     ptr = PyCapsule_GetPointer(ob, 0);
49795 #else
49796     ptr = PyCObject_AsVoidPtr(ob);
49797 #endif
49798     if (!ptr && !PyErr_Occurred())
49799         PyErr_SetString(PyExc_RuntimeError, "invalid vtable found for imported type");
49800     Py_DECREF(ob);
49801     return ptr;
49802 bad:
49803     Py_XDECREF(ob);
49804     return NULL;
49805 }
49806 
49807 /* CalculateMetaclass */
__Pyx_CalculateMetaclass(PyTypeObject * metaclass,PyObject * bases)49808 static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) {
49809     Py_ssize_t i, nbases = PyTuple_GET_SIZE(bases);
49810     for (i=0; i < nbases; i++) {
49811         PyTypeObject *tmptype;
49812         PyObject *tmp = PyTuple_GET_ITEM(bases, i);
49813         tmptype = Py_TYPE(tmp);
49814 #if PY_MAJOR_VERSION < 3
49815         if (tmptype == &PyClass_Type)
49816             continue;
49817 #endif
49818         if (!metaclass) {
49819             metaclass = tmptype;
49820             continue;
49821         }
49822         if (PyType_IsSubtype(metaclass, tmptype))
49823             continue;
49824         if (PyType_IsSubtype(tmptype, metaclass)) {
49825             metaclass = tmptype;
49826             continue;
49827         }
49828         PyErr_SetString(PyExc_TypeError,
49829                         "metaclass conflict: "
49830                         "the metaclass of a derived class "
49831                         "must be a (non-strict) subclass "
49832                         "of the metaclasses of all its bases");
49833         return NULL;
49834     }
49835     if (!metaclass) {
49836 #if PY_MAJOR_VERSION < 3
49837         metaclass = &PyClass_Type;
49838 #else
49839         metaclass = &PyType_Type;
49840 #endif
49841     }
49842     Py_INCREF((PyObject*) metaclass);
49843     return (PyObject*) metaclass;
49844 }
49845 
49846 /* FetchCommonType */
__Pyx_FetchCommonType(PyTypeObject * type)49847 static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) {
49848     PyObject* fake_module;
49849     PyTypeObject* cached_type = NULL;
49850     fake_module = PyImport_AddModule((char*) "_cython_" CYTHON_ABI);
49851     if (!fake_module) return NULL;
49852     Py_INCREF(fake_module);
49853     cached_type = (PyTypeObject*) PyObject_GetAttrString(fake_module, type->tp_name);
49854     if (cached_type) {
49855         if (!PyType_Check((PyObject*)cached_type)) {
49856             PyErr_Format(PyExc_TypeError,
49857                 "Shared Cython type %.200s is not a type object",
49858                 type->tp_name);
49859             goto bad;
49860         }
49861         if (cached_type->tp_basicsize != type->tp_basicsize) {
49862             PyErr_Format(PyExc_TypeError,
49863                 "Shared Cython type %.200s has the wrong size, try recompiling",
49864                 type->tp_name);
49865             goto bad;
49866         }
49867     } else {
49868         if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
49869         PyErr_Clear();
49870         if (PyType_Ready(type) < 0) goto bad;
49871         if (PyObject_SetAttrString(fake_module, type->tp_name, (PyObject*) type) < 0)
49872             goto bad;
49873         Py_INCREF(type);
49874         cached_type = type;
49875     }
49876 done:
49877     Py_DECREF(fake_module);
49878     return cached_type;
49879 bad:
49880     Py_XDECREF(cached_type);
49881     cached_type = NULL;
49882     goto done;
49883 }
49884 
49885 /* CythonFunctionShared */
49886 #include <structmember.h>
49887 static PyObject *
__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject * op,CYTHON_UNUSED void * closure)49888 __Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *closure)
49889 {
49890     if (unlikely(op->func_doc == NULL)) {
49891         if (op->func.m_ml->ml_doc) {
49892 #if PY_MAJOR_VERSION >= 3
49893             op->func_doc = PyUnicode_FromString(op->func.m_ml->ml_doc);
49894 #else
49895             op->func_doc = PyString_FromString(op->func.m_ml->ml_doc);
49896 #endif
49897             if (unlikely(op->func_doc == NULL))
49898                 return NULL;
49899         } else {
49900             Py_INCREF(Py_None);
49901             return Py_None;
49902         }
49903     }
49904     Py_INCREF(op->func_doc);
49905     return op->func_doc;
49906 }
49907 static int
__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject * op,PyObject * value,CYTHON_UNUSED void * context)49908 __Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context)
49909 {
49910     PyObject *tmp = op->func_doc;
49911     if (value == NULL) {
49912         value = Py_None;
49913     }
49914     Py_INCREF(value);
49915     op->func_doc = value;
49916     Py_XDECREF(tmp);
49917     return 0;
49918 }
49919 static PyObject *
__Pyx_CyFunction_get_name(__pyx_CyFunctionObject * op,CYTHON_UNUSED void * context)49920 __Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
49921 {
49922     if (unlikely(op->func_name == NULL)) {
49923 #if PY_MAJOR_VERSION >= 3
49924         op->func_name = PyUnicode_InternFromString(op->func.m_ml->ml_name);
49925 #else
49926         op->func_name = PyString_InternFromString(op->func.m_ml->ml_name);
49927 #endif
49928         if (unlikely(op->func_name == NULL))
49929             return NULL;
49930     }
49931     Py_INCREF(op->func_name);
49932     return op->func_name;
49933 }
49934 static int
__Pyx_CyFunction_set_name(__pyx_CyFunctionObject * op,PyObject * value,CYTHON_UNUSED void * context)49935 __Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context)
49936 {
49937     PyObject *tmp;
49938 #if PY_MAJOR_VERSION >= 3
49939     if (unlikely(value == NULL || !PyUnicode_Check(value)))
49940 #else
49941     if (unlikely(value == NULL || !PyString_Check(value)))
49942 #endif
49943     {
49944         PyErr_SetString(PyExc_TypeError,
49945                         "__name__ must be set to a string object");
49946         return -1;
49947     }
49948     tmp = op->func_name;
49949     Py_INCREF(value);
49950     op->func_name = value;
49951     Py_XDECREF(tmp);
49952     return 0;
49953 }
49954 static PyObject *
__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject * op,CYTHON_UNUSED void * context)49955 __Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
49956 {
49957     Py_INCREF(op->func_qualname);
49958     return op->func_qualname;
49959 }
49960 static int
__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject * op,PyObject * value,CYTHON_UNUSED void * context)49961 __Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context)
49962 {
49963     PyObject *tmp;
49964 #if PY_MAJOR_VERSION >= 3
49965     if (unlikely(value == NULL || !PyUnicode_Check(value)))
49966 #else
49967     if (unlikely(value == NULL || !PyString_Check(value)))
49968 #endif
49969     {
49970         PyErr_SetString(PyExc_TypeError,
49971                         "__qualname__ must be set to a string object");
49972         return -1;
49973     }
49974     tmp = op->func_qualname;
49975     Py_INCREF(value);
49976     op->func_qualname = value;
49977     Py_XDECREF(tmp);
49978     return 0;
49979 }
49980 static PyObject *
__Pyx_CyFunction_get_self(__pyx_CyFunctionObject * m,CYTHON_UNUSED void * closure)49981 __Pyx_CyFunction_get_self(__pyx_CyFunctionObject *m, CYTHON_UNUSED void *closure)
49982 {
49983     PyObject *self;
49984     self = m->func_closure;
49985     if (self == NULL)
49986         self = Py_None;
49987     Py_INCREF(self);
49988     return self;
49989 }
49990 static PyObject *
__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject * op,CYTHON_UNUSED void * context)49991 __Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
49992 {
49993     if (unlikely(op->func_dict == NULL)) {
49994         op->func_dict = PyDict_New();
49995         if (unlikely(op->func_dict == NULL))
49996             return NULL;
49997     }
49998     Py_INCREF(op->func_dict);
49999     return op->func_dict;
50000 }
50001 static int
__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject * op,PyObject * value,CYTHON_UNUSED void * context)50002 __Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context)
50003 {
50004     PyObject *tmp;
50005     if (unlikely(value == NULL)) {
50006         PyErr_SetString(PyExc_TypeError,
50007                "function's dictionary may not be deleted");
50008         return -1;
50009     }
50010     if (unlikely(!PyDict_Check(value))) {
50011         PyErr_SetString(PyExc_TypeError,
50012                "setting function's dictionary to a non-dict");
50013         return -1;
50014     }
50015     tmp = op->func_dict;
50016     Py_INCREF(value);
50017     op->func_dict = value;
50018     Py_XDECREF(tmp);
50019     return 0;
50020 }
50021 static PyObject *
__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject * op,CYTHON_UNUSED void * context)50022 __Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
50023 {
50024     Py_INCREF(op->func_globals);
50025     return op->func_globals;
50026 }
50027 static PyObject *
__Pyx_CyFunction_get_closure(CYTHON_UNUSED __pyx_CyFunctionObject * op,CYTHON_UNUSED void * context)50028 __Pyx_CyFunction_get_closure(CYTHON_UNUSED __pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
50029 {
50030     Py_INCREF(Py_None);
50031     return Py_None;
50032 }
50033 static PyObject *
__Pyx_CyFunction_get_code(__pyx_CyFunctionObject * op,CYTHON_UNUSED void * context)50034 __Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
50035 {
50036     PyObject* result = (op->func_code) ? op->func_code : Py_None;
50037     Py_INCREF(result);
50038     return result;
50039 }
50040 static int
__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject * op)50041 __Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) {
50042     int result = 0;
50043     PyObject *res = op->defaults_getter((PyObject *) op);
50044     if (unlikely(!res))
50045         return -1;
50046     #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
50047     op->defaults_tuple = PyTuple_GET_ITEM(res, 0);
50048     Py_INCREF(op->defaults_tuple);
50049     op->defaults_kwdict = PyTuple_GET_ITEM(res, 1);
50050     Py_INCREF(op->defaults_kwdict);
50051     #else
50052     op->defaults_tuple = PySequence_ITEM(res, 0);
50053     if (unlikely(!op->defaults_tuple)) result = -1;
50054     else {
50055         op->defaults_kwdict = PySequence_ITEM(res, 1);
50056         if (unlikely(!op->defaults_kwdict)) result = -1;
50057     }
50058     #endif
50059     Py_DECREF(res);
50060     return result;
50061 }
50062 static int
__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject * op,PyObject * value,CYTHON_UNUSED void * context)50063 __Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) {
50064     PyObject* tmp;
50065     if (!value) {
50066         value = Py_None;
50067     } else if (value != Py_None && !PyTuple_Check(value)) {
50068         PyErr_SetString(PyExc_TypeError,
50069                         "__defaults__ must be set to a tuple object");
50070         return -1;
50071     }
50072     Py_INCREF(value);
50073     tmp = op->defaults_tuple;
50074     op->defaults_tuple = value;
50075     Py_XDECREF(tmp);
50076     return 0;
50077 }
50078 static PyObject *
__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject * op,CYTHON_UNUSED void * context)50079 __Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) {
50080     PyObject* result = op->defaults_tuple;
50081     if (unlikely(!result)) {
50082         if (op->defaults_getter) {
50083             if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL;
50084             result = op->defaults_tuple;
50085         } else {
50086             result = Py_None;
50087         }
50088     }
50089     Py_INCREF(result);
50090     return result;
50091 }
50092 static int
__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject * op,PyObject * value,CYTHON_UNUSED void * context)50093 __Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) {
50094     PyObject* tmp;
50095     if (!value) {
50096         value = Py_None;
50097     } else if (value != Py_None && !PyDict_Check(value)) {
50098         PyErr_SetString(PyExc_TypeError,
50099                         "__kwdefaults__ must be set to a dict object");
50100         return -1;
50101     }
50102     Py_INCREF(value);
50103     tmp = op->defaults_kwdict;
50104     op->defaults_kwdict = value;
50105     Py_XDECREF(tmp);
50106     return 0;
50107 }
50108 static PyObject *
__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject * op,CYTHON_UNUSED void * context)50109 __Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) {
50110     PyObject* result = op->defaults_kwdict;
50111     if (unlikely(!result)) {
50112         if (op->defaults_getter) {
50113             if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL;
50114             result = op->defaults_kwdict;
50115         } else {
50116             result = Py_None;
50117         }
50118     }
50119     Py_INCREF(result);
50120     return result;
50121 }
50122 static int
__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject * op,PyObject * value,CYTHON_UNUSED void * context)50123 __Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) {
50124     PyObject* tmp;
50125     if (!value || value == Py_None) {
50126         value = NULL;
50127     } else if (!PyDict_Check(value)) {
50128         PyErr_SetString(PyExc_TypeError,
50129                         "__annotations__ must be set to a dict object");
50130         return -1;
50131     }
50132     Py_XINCREF(value);
50133     tmp = op->func_annotations;
50134     op->func_annotations = value;
50135     Py_XDECREF(tmp);
50136     return 0;
50137 }
50138 static PyObject *
__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject * op,CYTHON_UNUSED void * context)50139 __Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) {
50140     PyObject* result = op->func_annotations;
50141     if (unlikely(!result)) {
50142         result = PyDict_New();
50143         if (unlikely(!result)) return NULL;
50144         op->func_annotations = result;
50145     }
50146     Py_INCREF(result);
50147     return result;
50148 }
50149 static PyGetSetDef __pyx_CyFunction_getsets[] = {
50150     {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
50151     {(char *) "__doc__",  (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
50152     {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
50153     {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
50154     {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0},
50155     {(char *) "__self__", (getter)__Pyx_CyFunction_get_self, 0, 0, 0},
50156     {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
50157     {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
50158     {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
50159     {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
50160     {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
50161     {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
50162     {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
50163     {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
50164     {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
50165     {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
50166     {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0},
50167     {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0},
50168     {0, 0, 0, 0, 0}
50169 };
50170 static PyMemberDef __pyx_CyFunction_members[] = {
50171     {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), PY_WRITE_RESTRICTED, 0},
50172     {0, 0, 0,  0, 0}
50173 };
50174 static PyObject *
__Pyx_CyFunction_reduce(__pyx_CyFunctionObject * m,CYTHON_UNUSED PyObject * args)50175 __Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED PyObject *args)
50176 {
50177 #if PY_MAJOR_VERSION >= 3
50178     Py_INCREF(m->func_qualname);
50179     return m->func_qualname;
50180 #else
50181     return PyString_FromString(m->func.m_ml->ml_name);
50182 #endif
50183 }
50184 static PyMethodDef __pyx_CyFunction_methods[] = {
50185     {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0},
50186     {0, 0, 0, 0}
50187 };
50188 #if PY_VERSION_HEX < 0x030500A0
50189 #define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist)
50190 #else
50191 #define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func.m_weakreflist)
50192 #endif
__Pyx_CyFunction_Init(__pyx_CyFunctionObject * op,PyMethodDef * ml,int flags,PyObject * qualname,PyObject * closure,PyObject * module,PyObject * globals,PyObject * code)50193 static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname,
50194                                        PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
50195     if (unlikely(op == NULL))
50196         return NULL;
50197     op->flags = flags;
50198     __Pyx_CyFunction_weakreflist(op) = NULL;
50199     op->func.m_ml = ml;
50200     op->func.m_self = (PyObject *) op;
50201     Py_XINCREF(closure);
50202     op->func_closure = closure;
50203     Py_XINCREF(module);
50204     op->func.m_module = module;
50205     op->func_dict = NULL;
50206     op->func_name = NULL;
50207     Py_INCREF(qualname);
50208     op->func_qualname = qualname;
50209     op->func_doc = NULL;
50210     op->func_classobj = NULL;
50211     op->func_globals = globals;
50212     Py_INCREF(op->func_globals);
50213     Py_XINCREF(code);
50214     op->func_code = code;
50215     op->defaults_pyobjects = 0;
50216     op->defaults_size = 0;
50217     op->defaults = NULL;
50218     op->defaults_tuple = NULL;
50219     op->defaults_kwdict = NULL;
50220     op->defaults_getter = NULL;
50221     op->func_annotations = NULL;
50222     return (PyObject *) op;
50223 }
50224 static int
__Pyx_CyFunction_clear(__pyx_CyFunctionObject * m)50225 __Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
50226 {
50227     Py_CLEAR(m->func_closure);
50228     Py_CLEAR(m->func.m_module);
50229     Py_CLEAR(m->func_dict);
50230     Py_CLEAR(m->func_name);
50231     Py_CLEAR(m->func_qualname);
50232     Py_CLEAR(m->func_doc);
50233     Py_CLEAR(m->func_globals);
50234     Py_CLEAR(m->func_code);
50235     Py_CLEAR(m->func_classobj);
50236     Py_CLEAR(m->defaults_tuple);
50237     Py_CLEAR(m->defaults_kwdict);
50238     Py_CLEAR(m->func_annotations);
50239     if (m->defaults) {
50240         PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
50241         int i;
50242         for (i = 0; i < m->defaults_pyobjects; i++)
50243             Py_XDECREF(pydefaults[i]);
50244         PyObject_Free(m->defaults);
50245         m->defaults = NULL;
50246     }
50247     return 0;
50248 }
__Pyx__CyFunction_dealloc(__pyx_CyFunctionObject * m)50249 static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m)
50250 {
50251     if (__Pyx_CyFunction_weakreflist(m) != NULL)
50252         PyObject_ClearWeakRefs((PyObject *) m);
50253     __Pyx_CyFunction_clear(m);
50254     PyObject_GC_Del(m);
50255 }
__Pyx_CyFunction_dealloc(__pyx_CyFunctionObject * m)50256 static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m)
50257 {
50258     PyObject_GC_UnTrack(m);
50259     __Pyx__CyFunction_dealloc(m);
50260 }
__Pyx_CyFunction_traverse(__pyx_CyFunctionObject * m,visitproc visit,void * arg)50261 static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg)
50262 {
50263     Py_VISIT(m->func_closure);
50264     Py_VISIT(m->func.m_module);
50265     Py_VISIT(m->func_dict);
50266     Py_VISIT(m->func_name);
50267     Py_VISIT(m->func_qualname);
50268     Py_VISIT(m->func_doc);
50269     Py_VISIT(m->func_globals);
50270     Py_VISIT(m->func_code);
50271     Py_VISIT(m->func_classobj);
50272     Py_VISIT(m->defaults_tuple);
50273     Py_VISIT(m->defaults_kwdict);
50274     if (m->defaults) {
50275         PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
50276         int i;
50277         for (i = 0; i < m->defaults_pyobjects; i++)
50278             Py_VISIT(pydefaults[i]);
50279     }
50280     return 0;
50281 }
__Pyx_CyFunction_descr_get(PyObject * func,PyObject * obj,PyObject * type)50282 static PyObject *__Pyx_CyFunction_descr_get(PyObject *func, PyObject *obj, PyObject *type)
50283 {
50284 #if PY_MAJOR_VERSION < 3
50285     __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
50286     if (m->flags & __Pyx_CYFUNCTION_STATICMETHOD) {
50287         Py_INCREF(func);
50288         return func;
50289     }
50290     if (m->flags & __Pyx_CYFUNCTION_CLASSMETHOD) {
50291         if (type == NULL)
50292             type = (PyObject *)(Py_TYPE(obj));
50293         return __Pyx_PyMethod_New(func, type, (PyObject *)(Py_TYPE(type)));
50294     }
50295     if (obj == Py_None)
50296         obj = NULL;
50297 #endif
50298     return __Pyx_PyMethod_New(func, obj, type);
50299 }
50300 static PyObject*
__Pyx_CyFunction_repr(__pyx_CyFunctionObject * op)50301 __Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
50302 {
50303 #if PY_MAJOR_VERSION >= 3
50304     return PyUnicode_FromFormat("<cyfunction %U at %p>",
50305                                 op->func_qualname, (void *)op);
50306 #else
50307     return PyString_FromFormat("<cyfunction %s at %p>",
50308                                PyString_AsString(op->func_qualname), (void *)op);
50309 #endif
50310 }
__Pyx_CyFunction_CallMethod(PyObject * func,PyObject * self,PyObject * arg,PyObject * kw)50311 static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) {
50312     PyCFunctionObject* f = (PyCFunctionObject*)func;
50313     PyCFunction meth = f->m_ml->ml_meth;
50314     Py_ssize_t size;
50315     switch (f->m_ml->ml_flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) {
50316     case METH_VARARGS:
50317         if (likely(kw == NULL || PyDict_Size(kw) == 0))
50318             return (*meth)(self, arg);
50319         break;
50320     case METH_VARARGS | METH_KEYWORDS:
50321         return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw);
50322     case METH_NOARGS:
50323         if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
50324             size = PyTuple_GET_SIZE(arg);
50325             if (likely(size == 0))
50326                 return (*meth)(self, NULL);
50327             PyErr_Format(PyExc_TypeError,
50328                 "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
50329                 f->m_ml->ml_name, size);
50330             return NULL;
50331         }
50332         break;
50333     case METH_O:
50334         if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
50335             size = PyTuple_GET_SIZE(arg);
50336             if (likely(size == 1)) {
50337                 PyObject *result, *arg0;
50338                 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
50339                 arg0 = PyTuple_GET_ITEM(arg, 0);
50340                 #else
50341                 arg0 = PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL;
50342                 #endif
50343                 result = (*meth)(self, arg0);
50344                 #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
50345                 Py_DECREF(arg0);
50346                 #endif
50347                 return result;
50348             }
50349             PyErr_Format(PyExc_TypeError,
50350                 "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
50351                 f->m_ml->ml_name, size);
50352             return NULL;
50353         }
50354         break;
50355     default:
50356         PyErr_SetString(PyExc_SystemError, "Bad call flags in "
50357                         "__Pyx_CyFunction_Call. METH_OLDARGS is no "
50358                         "longer supported!");
50359         return NULL;
50360     }
50361     PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments",
50362                  f->m_ml->ml_name);
50363     return NULL;
50364 }
__Pyx_CyFunction_Call(PyObject * func,PyObject * arg,PyObject * kw)50365 static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
50366     return __Pyx_CyFunction_CallMethod(func, ((PyCFunctionObject*)func)->m_self, arg, kw);
50367 }
__Pyx_CyFunction_CallAsMethod(PyObject * func,PyObject * args,PyObject * kw)50368 static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) {
50369     PyObject *result;
50370     __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func;
50371     if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
50372         Py_ssize_t argc;
50373         PyObject *new_args;
50374         PyObject *self;
50375         argc = PyTuple_GET_SIZE(args);
50376         new_args = PyTuple_GetSlice(args, 1, argc);
50377         if (unlikely(!new_args))
50378             return NULL;
50379         self = PyTuple_GetItem(args, 0);
50380         if (unlikely(!self)) {
50381             Py_DECREF(new_args);
50382             return NULL;
50383         }
50384         result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw);
50385         Py_DECREF(new_args);
50386     } else {
50387         result = __Pyx_CyFunction_Call(func, args, kw);
50388     }
50389     return result;
50390 }
50391 static PyTypeObject __pyx_CyFunctionType_type = {
50392     PyVarObject_HEAD_INIT(0, 0)
50393     "cython_function_or_method",
50394     sizeof(__pyx_CyFunctionObject),
50395     0,
50396     (destructor) __Pyx_CyFunction_dealloc,
50397     0,
50398     0,
50399     0,
50400 #if PY_MAJOR_VERSION < 3
50401     0,
50402 #else
50403     0,
50404 #endif
50405     (reprfunc) __Pyx_CyFunction_repr,
50406     0,
50407     0,
50408     0,
50409     0,
50410     __Pyx_CyFunction_CallAsMethod,
50411     0,
50412     0,
50413     0,
50414     0,
50415     Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC,
50416     0,
50417     (traverseproc) __Pyx_CyFunction_traverse,
50418     (inquiry) __Pyx_CyFunction_clear,
50419     0,
50420 #if PY_VERSION_HEX < 0x030500A0
50421     offsetof(__pyx_CyFunctionObject, func_weakreflist),
50422 #else
50423     offsetof(PyCFunctionObject, m_weakreflist),
50424 #endif
50425     0,
50426     0,
50427     __pyx_CyFunction_methods,
50428     __pyx_CyFunction_members,
50429     __pyx_CyFunction_getsets,
50430     0,
50431     0,
50432     __Pyx_CyFunction_descr_get,
50433     0,
50434     offsetof(__pyx_CyFunctionObject, func_dict),
50435     0,
50436     0,
50437     0,
50438     0,
50439     0,
50440     0,
50441     0,
50442     0,
50443     0,
50444     0,
50445     0,
50446     0,
50447 #if PY_VERSION_HEX >= 0x030400a1
50448     0,
50449 #endif
50450 #if PY_VERSION_HEX >= 0x030800b1
50451     0,
50452 #endif
50453 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
50454     0,
50455 #endif
50456 };
__pyx_CyFunction_init(void)50457 static int __pyx_CyFunction_init(void) {
50458     __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type);
50459     if (unlikely(__pyx_CyFunctionType == NULL)) {
50460         return -1;
50461     }
50462     return 0;
50463 }
__Pyx_CyFunction_InitDefaults(PyObject * func,size_t size,int pyobjects)50464 static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) {
50465     __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
50466     m->defaults = PyObject_Malloc(size);
50467     if (unlikely(!m->defaults))
50468         return PyErr_NoMemory();
50469     memset(m->defaults, 0, size);
50470     m->defaults_pyobjects = pyobjects;
50471     m->defaults_size = size;
50472     return m->defaults;
50473 }
__Pyx_CyFunction_SetDefaultsTuple(PyObject * func,PyObject * tuple)50474 static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) {
50475     __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
50476     m->defaults_tuple = tuple;
50477     Py_INCREF(tuple);
50478 }
__Pyx_CyFunction_SetDefaultsKwDict(PyObject * func,PyObject * dict)50479 static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) {
50480     __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
50481     m->defaults_kwdict = dict;
50482     Py_INCREF(dict);
50483 }
__Pyx_CyFunction_SetAnnotationsDict(PyObject * func,PyObject * dict)50484 static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) {
50485     __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
50486     m->func_annotations = dict;
50487     Py_INCREF(dict);
50488 }
50489 
50490 /* CythonFunction */
__Pyx_CyFunction_New(PyMethodDef * ml,int flags,PyObject * qualname,PyObject * closure,PyObject * module,PyObject * globals,PyObject * code)50491 static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname,
50492                                       PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
50493     PyObject *op = __Pyx_CyFunction_Init(
50494         PyObject_GC_New(__pyx_CyFunctionObject, __pyx_CyFunctionType),
50495         ml, flags, qualname, closure, module, globals, code
50496     );
50497     if (likely(op)) {
50498         PyObject_GC_Track(op);
50499     }
50500     return op;
50501 }
50502 
50503 /* Py3ClassCreate */
__Pyx_Py3MetaclassPrepare(PyObject * metaclass,PyObject * bases,PyObject * name,PyObject * qualname,PyObject * mkw,PyObject * modname,PyObject * doc)50504 static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name,
50505                                            PyObject *qualname, PyObject *mkw, PyObject *modname, PyObject *doc) {
50506     PyObject *ns;
50507     if (metaclass) {
50508         PyObject *prep = __Pyx_PyObject_GetAttrStr(metaclass, __pyx_n_s_prepare);
50509         if (prep) {
50510             PyObject *pargs = PyTuple_Pack(2, name, bases);
50511             if (unlikely(!pargs)) {
50512                 Py_DECREF(prep);
50513                 return NULL;
50514             }
50515             ns = PyObject_Call(prep, pargs, mkw);
50516             Py_DECREF(prep);
50517             Py_DECREF(pargs);
50518         } else {
50519             if (unlikely(!PyErr_ExceptionMatches(PyExc_AttributeError)))
50520                 return NULL;
50521             PyErr_Clear();
50522             ns = PyDict_New();
50523         }
50524     } else {
50525         ns = PyDict_New();
50526     }
50527     if (unlikely(!ns))
50528         return NULL;
50529     if (unlikely(PyObject_SetItem(ns, __pyx_n_s_module_2, modname) < 0)) goto bad;
50530     if (unlikely(PyObject_SetItem(ns, __pyx_n_s_qualname, qualname) < 0)) goto bad;
50531     if (unlikely(doc && PyObject_SetItem(ns, __pyx_n_s_doc, doc) < 0)) goto bad;
50532     return ns;
50533 bad:
50534     Py_DECREF(ns);
50535     return NULL;
50536 }
__Pyx_Py3ClassCreate(PyObject * metaclass,PyObject * name,PyObject * bases,PyObject * dict,PyObject * mkw,int calculate_metaclass,int allow_py2_metaclass)50537 static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases,
50538                                       PyObject *dict, PyObject *mkw,
50539                                       int calculate_metaclass, int allow_py2_metaclass) {
50540     PyObject *result, *margs;
50541     PyObject *owned_metaclass = NULL;
50542     if (allow_py2_metaclass) {
50543         owned_metaclass = PyObject_GetItem(dict, __pyx_n_s_metaclass_2);
50544         if (owned_metaclass) {
50545             metaclass = owned_metaclass;
50546         } else if (likely(PyErr_ExceptionMatches(PyExc_KeyError))) {
50547             PyErr_Clear();
50548         } else {
50549             return NULL;
50550         }
50551     }
50552     if (calculate_metaclass && (!metaclass || PyType_Check(metaclass))) {
50553         metaclass = __Pyx_CalculateMetaclass((PyTypeObject*) metaclass, bases);
50554         Py_XDECREF(owned_metaclass);
50555         if (unlikely(!metaclass))
50556             return NULL;
50557         owned_metaclass = metaclass;
50558     }
50559     margs = PyTuple_Pack(3, name, bases, dict);
50560     if (unlikely(!margs)) {
50561         result = NULL;
50562     } else {
50563         result = PyObject_Call(metaclass, margs, mkw);
50564         Py_DECREF(margs);
50565     }
50566     Py_XDECREF(owned_metaclass);
50567     return result;
50568 }
50569 
50570 /* CLineInTraceback */
50571 #ifndef CYTHON_CLINE_IN_TRACEBACK
__Pyx_CLineForTraceback(CYTHON_NCP_UNUSED PyThreadState * tstate,int c_line)50572 static int __Pyx_CLineForTraceback(CYTHON_NCP_UNUSED PyThreadState *tstate, int c_line) {
50573     PyObject *use_cline;
50574     PyObject *ptype, *pvalue, *ptraceback;
50575 #if CYTHON_COMPILING_IN_CPYTHON
50576     PyObject **cython_runtime_dict;
50577 #endif
50578     if (unlikely(!__pyx_cython_runtime)) {
50579         return c_line;
50580     }
50581     __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
50582 #if CYTHON_COMPILING_IN_CPYTHON
50583     cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime);
50584     if (likely(cython_runtime_dict)) {
50585         __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
50586             use_cline, *cython_runtime_dict,
50587             __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback))
50588     } else
50589 #endif
50590     {
50591       PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback);
50592       if (use_cline_obj) {
50593         use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True;
50594         Py_DECREF(use_cline_obj);
50595       } else {
50596         PyErr_Clear();
50597         use_cline = NULL;
50598       }
50599     }
50600     if (!use_cline) {
50601         c_line = 0;
50602         PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False);
50603     }
50604     else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) {
50605         c_line = 0;
50606     }
50607     __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
50608     return c_line;
50609 }
50610 #endif
50611 
50612 /* CodeObjectCache */
__pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry * entries,int count,int code_line)50613 static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
50614     int start = 0, mid = 0, end = count - 1;
50615     if (end >= 0 && code_line > entries[end].code_line) {
50616         return count;
50617     }
50618     while (start < end) {
50619         mid = start + (end - start) / 2;
50620         if (code_line < entries[mid].code_line) {
50621             end = mid;
50622         } else if (code_line > entries[mid].code_line) {
50623              start = mid + 1;
50624         } else {
50625             return mid;
50626         }
50627     }
50628     if (code_line <= entries[mid].code_line) {
50629         return mid;
50630     } else {
50631         return mid + 1;
50632     }
50633 }
__pyx_find_code_object(int code_line)50634 static PyCodeObject *__pyx_find_code_object(int code_line) {
50635     PyCodeObject* code_object;
50636     int pos;
50637     if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
50638         return NULL;
50639     }
50640     pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
50641     if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
50642         return NULL;
50643     }
50644     code_object = __pyx_code_cache.entries[pos].code_object;
50645     Py_INCREF(code_object);
50646     return code_object;
50647 }
__pyx_insert_code_object(int code_line,PyCodeObject * code_object)50648 static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
50649     int pos, i;
50650     __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
50651     if (unlikely(!code_line)) {
50652         return;
50653     }
50654     if (unlikely(!entries)) {
50655         entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
50656         if (likely(entries)) {
50657             __pyx_code_cache.entries = entries;
50658             __pyx_code_cache.max_count = 64;
50659             __pyx_code_cache.count = 1;
50660             entries[0].code_line = code_line;
50661             entries[0].code_object = code_object;
50662             Py_INCREF(code_object);
50663         }
50664         return;
50665     }
50666     pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
50667     if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
50668         PyCodeObject* tmp = entries[pos].code_object;
50669         entries[pos].code_object = code_object;
50670         Py_DECREF(tmp);
50671         return;
50672     }
50673     if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
50674         int new_max = __pyx_code_cache.max_count + 64;
50675         entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
50676             __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry));
50677         if (unlikely(!entries)) {
50678             return;
50679         }
50680         __pyx_code_cache.entries = entries;
50681         __pyx_code_cache.max_count = new_max;
50682     }
50683     for (i=__pyx_code_cache.count; i>pos; i--) {
50684         entries[i] = entries[i-1];
50685     }
50686     entries[pos].code_line = code_line;
50687     entries[pos].code_object = code_object;
50688     __pyx_code_cache.count++;
50689     Py_INCREF(code_object);
50690 }
50691 
50692 /* AddTraceback */
50693 #include "compile.h"
50694 #include "frameobject.h"
50695 #include "traceback.h"
__Pyx_CreateCodeObjectForTraceback(const char * funcname,int c_line,int py_line,const char * filename)50696 static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
50697             const char *funcname, int c_line,
50698             int py_line, const char *filename) {
50699     PyCodeObject *py_code = 0;
50700     PyObject *py_srcfile = 0;
50701     PyObject *py_funcname = 0;
50702     #if PY_MAJOR_VERSION < 3
50703     py_srcfile = PyString_FromString(filename);
50704     #else
50705     py_srcfile = PyUnicode_FromString(filename);
50706     #endif
50707     if (!py_srcfile) goto bad;
50708     if (c_line) {
50709         #if PY_MAJOR_VERSION < 3
50710         py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
50711         #else
50712         py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
50713         #endif
50714     }
50715     else {
50716         #if PY_MAJOR_VERSION < 3
50717         py_funcname = PyString_FromString(funcname);
50718         #else
50719         py_funcname = PyUnicode_FromString(funcname);
50720         #endif
50721     }
50722     if (!py_funcname) goto bad;
50723     py_code = __Pyx_PyCode_New(
50724         0,
50725         0,
50726         0,
50727         0,
50728         0,
50729         __pyx_empty_bytes, /*PyObject *code,*/
50730         __pyx_empty_tuple, /*PyObject *consts,*/
50731         __pyx_empty_tuple, /*PyObject *names,*/
50732         __pyx_empty_tuple, /*PyObject *varnames,*/
50733         __pyx_empty_tuple, /*PyObject *freevars,*/
50734         __pyx_empty_tuple, /*PyObject *cellvars,*/
50735         py_srcfile,   /*PyObject *filename,*/
50736         py_funcname,  /*PyObject *name,*/
50737         py_line,
50738         __pyx_empty_bytes  /*PyObject *lnotab*/
50739     );
50740     Py_DECREF(py_srcfile);
50741     Py_DECREF(py_funcname);
50742     return py_code;
50743 bad:
50744     Py_XDECREF(py_srcfile);
50745     Py_XDECREF(py_funcname);
50746     return NULL;
50747 }
__Pyx_AddTraceback(const char * funcname,int c_line,int py_line,const char * filename)50748 static void __Pyx_AddTraceback(const char *funcname, int c_line,
50749                                int py_line, const char *filename) {
50750     PyCodeObject *py_code = 0;
50751     PyFrameObject *py_frame = 0;
50752     PyThreadState *tstate = __Pyx_PyThreadState_Current;
50753     if (c_line) {
50754         c_line = __Pyx_CLineForTraceback(tstate, c_line);
50755     }
50756     py_code = __pyx_find_code_object(c_line ? -c_line : py_line);
50757     if (!py_code) {
50758         py_code = __Pyx_CreateCodeObjectForTraceback(
50759             funcname, c_line, py_line, filename);
50760         if (!py_code) goto bad;
50761         __pyx_insert_code_object(c_line ? -c_line : py_line, py_code);
50762     }
50763     py_frame = PyFrame_New(
50764         tstate,            /*PyThreadState *tstate,*/
50765         py_code,           /*PyCodeObject *code,*/
50766         __pyx_d,    /*PyObject *globals,*/
50767         0                  /*PyObject *locals*/
50768     );
50769     if (!py_frame) goto bad;
50770     __Pyx_PyFrame_SetLineNumber(py_frame, py_line);
50771     PyTraceBack_Here(py_frame);
50772 bad:
50773     Py_XDECREF(py_code);
50774     Py_XDECREF(py_frame);
50775 }
50776 
50777 /* CIntFromPyVerify */
50778 #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
50779     __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
50780 #define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\
50781     __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)
50782 #define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\
50783     {\
50784         func_type value = func_value;\
50785         if (sizeof(target_type) < sizeof(func_type)) {\
50786             if (unlikely(value != (func_type) (target_type) value)) {\
50787                 func_type zero = 0;\
50788                 if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\
50789                     return (target_type) -1;\
50790                 if (is_unsigned && unlikely(value < zero))\
50791                     goto raise_neg_overflow;\
50792                 else\
50793                     goto raise_overflow;\
50794             }\
50795         }\
50796         return (target_type) value;\
50797     }
50798 
50799 /* CIntFromPy */
__Pyx_PyInt_As_long(PyObject * x)50800 static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
50801 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
50802 #pragma GCC diagnostic push
50803 #pragma GCC diagnostic ignored "-Wconversion"
50804 #endif
50805     const long neg_one = (long) -1, const_zero = (long) 0;
50806 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
50807 #pragma GCC diagnostic pop
50808 #endif
50809     const int is_unsigned = neg_one > const_zero;
50810 #if PY_MAJOR_VERSION < 3
50811     if (likely(PyInt_Check(x))) {
50812         if (sizeof(long) < sizeof(long)) {
50813             __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x))
50814         } else {
50815             long val = PyInt_AS_LONG(x);
50816             if (is_unsigned && unlikely(val < 0)) {
50817                 goto raise_neg_overflow;
50818             }
50819             return (long) val;
50820         }
50821     } else
50822 #endif
50823     if (likely(PyLong_Check(x))) {
50824         if (is_unsigned) {
50825 #if CYTHON_USE_PYLONG_INTERNALS
50826             const digit* digits = ((PyLongObject*)x)->ob_digit;
50827             switch (Py_SIZE(x)) {
50828                 case  0: return (long) 0;
50829                 case  1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0])
50830                 case 2:
50831                     if (8 * sizeof(long) > 1 * PyLong_SHIFT) {
50832                         if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
50833                             __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
50834                         } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) {
50835                             return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
50836                         }
50837                     }
50838                     break;
50839                 case 3:
50840                     if (8 * sizeof(long) > 2 * PyLong_SHIFT) {
50841                         if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
50842                             __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
50843                         } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) {
50844                             return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
50845                         }
50846                     }
50847                     break;
50848                 case 4:
50849                     if (8 * sizeof(long) > 3 * PyLong_SHIFT) {
50850                         if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
50851                             __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
50852                         } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) {
50853                             return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
50854                         }
50855                     }
50856                     break;
50857             }
50858 #endif
50859 #if CYTHON_COMPILING_IN_CPYTHON
50860             if (unlikely(Py_SIZE(x) < 0)) {
50861                 goto raise_neg_overflow;
50862             }
50863 #else
50864             {
50865                 int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
50866                 if (unlikely(result < 0))
50867                     return (long) -1;
50868                 if (unlikely(result == 1))
50869                     goto raise_neg_overflow;
50870             }
50871 #endif
50872             if (sizeof(long) <= sizeof(unsigned long)) {
50873                 __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x))
50874 #ifdef HAVE_LONG_LONG
50875             } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
50876                 __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
50877 #endif
50878             }
50879         } else {
50880 #if CYTHON_USE_PYLONG_INTERNALS
50881             const digit* digits = ((PyLongObject*)x)->ob_digit;
50882             switch (Py_SIZE(x)) {
50883                 case  0: return (long) 0;
50884                 case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0]))
50885                 case  1: __PYX_VERIFY_RETURN_INT(long,  digit, +digits[0])
50886                 case -2:
50887                     if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) {
50888                         if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
50889                             __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
50890                         } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
50891                             return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
50892                         }
50893                     }
50894                     break;
50895                 case 2:
50896                     if (8 * sizeof(long) > 1 * PyLong_SHIFT) {
50897                         if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
50898                             __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
50899                         } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
50900                             return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
50901                         }
50902                     }
50903                     break;
50904                 case -3:
50905                     if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
50906                         if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
50907                             __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
50908                         } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
50909                             return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
50910                         }
50911                     }
50912                     break;
50913                 case 3:
50914                     if (8 * sizeof(long) > 2 * PyLong_SHIFT) {
50915                         if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
50916                             __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
50917                         } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
50918                             return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
50919                         }
50920                     }
50921                     break;
50922                 case -4:
50923                     if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
50924                         if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
50925                             __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
50926                         } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
50927                             return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
50928                         }
50929                     }
50930                     break;
50931                 case 4:
50932                     if (8 * sizeof(long) > 3 * PyLong_SHIFT) {
50933                         if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
50934                             __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
50935                         } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
50936                             return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
50937                         }
50938                     }
50939                     break;
50940             }
50941 #endif
50942             if (sizeof(long) <= sizeof(long)) {
50943                 __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x))
50944 #ifdef HAVE_LONG_LONG
50945             } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
50946                 __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x))
50947 #endif
50948             }
50949         }
50950         {
50951 #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
50952             PyErr_SetString(PyExc_RuntimeError,
50953                             "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
50954 #else
50955             long val;
50956             PyObject *v = __Pyx_PyNumber_IntOrLong(x);
50957  #if PY_MAJOR_VERSION < 3
50958             if (likely(v) && !PyLong_Check(v)) {
50959                 PyObject *tmp = v;
50960                 v = PyNumber_Long(tmp);
50961                 Py_DECREF(tmp);
50962             }
50963  #endif
50964             if (likely(v)) {
50965                 int one = 1; int is_little = (int)*(unsigned char *)&one;
50966                 unsigned char *bytes = (unsigned char *)&val;
50967                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
50968                                               bytes, sizeof(val),
50969                                               is_little, !is_unsigned);
50970                 Py_DECREF(v);
50971                 if (likely(!ret))
50972                     return val;
50973             }
50974 #endif
50975             return (long) -1;
50976         }
50977     } else {
50978         long val;
50979         PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
50980         if (!tmp) return (long) -1;
50981         val = __Pyx_PyInt_As_long(tmp);
50982         Py_DECREF(tmp);
50983         return val;
50984     }
50985 raise_overflow:
50986     PyErr_SetString(PyExc_OverflowError,
50987         "value too large to convert to long");
50988     return (long) -1;
50989 raise_neg_overflow:
50990     PyErr_SetString(PyExc_OverflowError,
50991         "can't convert negative value to long");
50992     return (long) -1;
50993 }
50994 
50995 /* CIntToPy */
__Pyx_PyInt_From_long(long value)50996 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
50997 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
50998 #pragma GCC diagnostic push
50999 #pragma GCC diagnostic ignored "-Wconversion"
51000 #endif
51001     const long neg_one = (long) -1, const_zero = (long) 0;
51002 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
51003 #pragma GCC diagnostic pop
51004 #endif
51005     const int is_unsigned = neg_one > const_zero;
51006     if (is_unsigned) {
51007         if (sizeof(long) < sizeof(long)) {
51008             return PyInt_FromLong((long) value);
51009         } else if (sizeof(long) <= sizeof(unsigned long)) {
51010             return PyLong_FromUnsignedLong((unsigned long) value);
51011 #ifdef HAVE_LONG_LONG
51012         } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
51013             return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
51014 #endif
51015         }
51016     } else {
51017         if (sizeof(long) <= sizeof(long)) {
51018             return PyInt_FromLong((long) value);
51019 #ifdef HAVE_LONG_LONG
51020         } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
51021             return PyLong_FromLongLong((PY_LONG_LONG) value);
51022 #endif
51023         }
51024     }
51025     {
51026         int one = 1; int little = (int)*(unsigned char *)&one;
51027         unsigned char *bytes = (unsigned char *)&value;
51028         return _PyLong_FromByteArray(bytes, sizeof(long),
51029                                      little, !is_unsigned);
51030     }
51031 }
51032 
51033 /* CIntFromPy */
__Pyx_PyInt_As_int(PyObject * x)51034 static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
51035 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
51036 #pragma GCC diagnostic push
51037 #pragma GCC diagnostic ignored "-Wconversion"
51038 #endif
51039     const int neg_one = (int) -1, const_zero = (int) 0;
51040 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
51041 #pragma GCC diagnostic pop
51042 #endif
51043     const int is_unsigned = neg_one > const_zero;
51044 #if PY_MAJOR_VERSION < 3
51045     if (likely(PyInt_Check(x))) {
51046         if (sizeof(int) < sizeof(long)) {
51047             __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x))
51048         } else {
51049             long val = PyInt_AS_LONG(x);
51050             if (is_unsigned && unlikely(val < 0)) {
51051                 goto raise_neg_overflow;
51052             }
51053             return (int) val;
51054         }
51055     } else
51056 #endif
51057     if (likely(PyLong_Check(x))) {
51058         if (is_unsigned) {
51059 #if CYTHON_USE_PYLONG_INTERNALS
51060             const digit* digits = ((PyLongObject*)x)->ob_digit;
51061             switch (Py_SIZE(x)) {
51062                 case  0: return (int) 0;
51063                 case  1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0])
51064                 case 2:
51065                     if (8 * sizeof(int) > 1 * PyLong_SHIFT) {
51066                         if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
51067                             __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
51068                         } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) {
51069                             return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
51070                         }
51071                     }
51072                     break;
51073                 case 3:
51074                     if (8 * sizeof(int) > 2 * PyLong_SHIFT) {
51075                         if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
51076                             __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
51077                         } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) {
51078                             return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
51079                         }
51080                     }
51081                     break;
51082                 case 4:
51083                     if (8 * sizeof(int) > 3 * PyLong_SHIFT) {
51084                         if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
51085                             __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
51086                         } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) {
51087                             return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
51088                         }
51089                     }
51090                     break;
51091             }
51092 #endif
51093 #if CYTHON_COMPILING_IN_CPYTHON
51094             if (unlikely(Py_SIZE(x) < 0)) {
51095                 goto raise_neg_overflow;
51096             }
51097 #else
51098             {
51099                 int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
51100                 if (unlikely(result < 0))
51101                     return (int) -1;
51102                 if (unlikely(result == 1))
51103                     goto raise_neg_overflow;
51104             }
51105 #endif
51106             if (sizeof(int) <= sizeof(unsigned long)) {
51107                 __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x))
51108 #ifdef HAVE_LONG_LONG
51109             } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
51110                 __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
51111 #endif
51112             }
51113         } else {
51114 #if CYTHON_USE_PYLONG_INTERNALS
51115             const digit* digits = ((PyLongObject*)x)->ob_digit;
51116             switch (Py_SIZE(x)) {
51117                 case  0: return (int) 0;
51118                 case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0]))
51119                 case  1: __PYX_VERIFY_RETURN_INT(int,  digit, +digits[0])
51120                 case -2:
51121                     if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) {
51122                         if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
51123                             __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
51124                         } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
51125                             return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
51126                         }
51127                     }
51128                     break;
51129                 case 2:
51130                     if (8 * sizeof(int) > 1 * PyLong_SHIFT) {
51131                         if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
51132                             __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
51133                         } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
51134                             return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
51135                         }
51136                     }
51137                     break;
51138                 case -3:
51139                     if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
51140                         if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
51141                             __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
51142                         } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
51143                             return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
51144                         }
51145                     }
51146                     break;
51147                 case 3:
51148                     if (8 * sizeof(int) > 2 * PyLong_SHIFT) {
51149                         if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
51150                             __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
51151                         } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
51152                             return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
51153                         }
51154                     }
51155                     break;
51156                 case -4:
51157                     if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
51158                         if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
51159                             __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
51160                         } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {
51161                             return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
51162                         }
51163                     }
51164                     break;
51165                 case 4:
51166                     if (8 * sizeof(int) > 3 * PyLong_SHIFT) {
51167                         if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
51168                             __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
51169                         } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {
51170                             return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
51171                         }
51172                     }
51173                     break;
51174             }
51175 #endif
51176             if (sizeof(int) <= sizeof(long)) {
51177                 __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x))
51178 #ifdef HAVE_LONG_LONG
51179             } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
51180                 __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x))
51181 #endif
51182             }
51183         }
51184         {
51185 #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
51186             PyErr_SetString(PyExc_RuntimeError,
51187                             "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
51188 #else
51189             int val;
51190             PyObject *v = __Pyx_PyNumber_IntOrLong(x);
51191  #if PY_MAJOR_VERSION < 3
51192             if (likely(v) && !PyLong_Check(v)) {
51193                 PyObject *tmp = v;
51194                 v = PyNumber_Long(tmp);
51195                 Py_DECREF(tmp);
51196             }
51197  #endif
51198             if (likely(v)) {
51199                 int one = 1; int is_little = (int)*(unsigned char *)&one;
51200                 unsigned char *bytes = (unsigned char *)&val;
51201                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
51202                                               bytes, sizeof(val),
51203                                               is_little, !is_unsigned);
51204                 Py_DECREF(v);
51205                 if (likely(!ret))
51206                     return val;
51207             }
51208 #endif
51209             return (int) -1;
51210         }
51211     } else {
51212         int val;
51213         PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
51214         if (!tmp) return (int) -1;
51215         val = __Pyx_PyInt_As_int(tmp);
51216         Py_DECREF(tmp);
51217         return val;
51218     }
51219 raise_overflow:
51220     PyErr_SetString(PyExc_OverflowError,
51221         "value too large to convert to int");
51222     return (int) -1;
51223 raise_neg_overflow:
51224     PyErr_SetString(PyExc_OverflowError,
51225         "can't convert negative value to int");
51226     return (int) -1;
51227 }
51228 
51229 /* FastTypeChecks */
51230 #if CYTHON_COMPILING_IN_CPYTHON
__Pyx_InBases(PyTypeObject * a,PyTypeObject * b)51231 static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
51232     while (a) {
51233         a = a->tp_base;
51234         if (a == b)
51235             return 1;
51236     }
51237     return b == &PyBaseObject_Type;
51238 }
__Pyx_IsSubtype(PyTypeObject * a,PyTypeObject * b)51239 static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) {
51240     PyObject *mro;
51241     if (a == b) return 1;
51242     mro = a->tp_mro;
51243     if (likely(mro)) {
51244         Py_ssize_t i, n;
51245         n = PyTuple_GET_SIZE(mro);
51246         for (i = 0; i < n; i++) {
51247             if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b)
51248                 return 1;
51249         }
51250         return 0;
51251     }
51252     return __Pyx_InBases(a, b);
51253 }
51254 #if PY_MAJOR_VERSION == 2
__Pyx_inner_PyErr_GivenExceptionMatches2(PyObject * err,PyObject * exc_type1,PyObject * exc_type2)51255 static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) {
51256     PyObject *exception, *value, *tb;
51257     int res;
51258     __Pyx_PyThreadState_declare
51259     __Pyx_PyThreadState_assign
51260     __Pyx_ErrFetch(&exception, &value, &tb);
51261     res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0;
51262     if (unlikely(res == -1)) {
51263         PyErr_WriteUnraisable(err);
51264         res = 0;
51265     }
51266     if (!res) {
51267         res = PyObject_IsSubclass(err, exc_type2);
51268         if (unlikely(res == -1)) {
51269             PyErr_WriteUnraisable(err);
51270             res = 0;
51271         }
51272     }
51273     __Pyx_ErrRestore(exception, value, tb);
51274     return res;
51275 }
51276 #else
__Pyx_inner_PyErr_GivenExceptionMatches2(PyObject * err,PyObject * exc_type1,PyObject * exc_type2)51277 static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) {
51278     int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0;
51279     if (!res) {
51280         res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2);
51281     }
51282     return res;
51283 }
51284 #endif
__Pyx_PyErr_GivenExceptionMatchesTuple(PyObject * exc_type,PyObject * tuple)51285 static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
51286     Py_ssize_t i, n;
51287     assert(PyExceptionClass_Check(exc_type));
51288     n = PyTuple_GET_SIZE(tuple);
51289 #if PY_MAJOR_VERSION >= 3
51290     for (i=0; i<n; i++) {
51291         if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
51292     }
51293 #endif
51294     for (i=0; i<n; i++) {
51295         PyObject *t = PyTuple_GET_ITEM(tuple, i);
51296         #if PY_MAJOR_VERSION < 3
51297         if (likely(exc_type == t)) return 1;
51298         #endif
51299         if (likely(PyExceptionClass_Check(t))) {
51300             if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1;
51301         } else {
51302         }
51303     }
51304     return 0;
51305 }
__Pyx_PyErr_GivenExceptionMatches(PyObject * err,PyObject * exc_type)51306 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) {
51307     if (likely(err == exc_type)) return 1;
51308     if (likely(PyExceptionClass_Check(err))) {
51309         if (likely(PyExceptionClass_Check(exc_type))) {
51310             return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type);
51311         } else if (likely(PyTuple_Check(exc_type))) {
51312             return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type);
51313         } else {
51314         }
51315     }
51316     return PyErr_GivenExceptionMatches(err, exc_type);
51317 }
__Pyx_PyErr_GivenExceptionMatches2(PyObject * err,PyObject * exc_type1,PyObject * exc_type2)51318 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) {
51319     assert(PyExceptionClass_Check(exc_type1));
51320     assert(PyExceptionClass_Check(exc_type2));
51321     if (likely(err == exc_type1 || err == exc_type2)) return 1;
51322     if (likely(PyExceptionClass_Check(err))) {
51323         return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2);
51324     }
51325     return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2));
51326 }
51327 #endif
51328 
51329 /* CheckBinaryVersion */
__Pyx_check_binary_version(void)51330 static int __Pyx_check_binary_version(void) {
51331     char ctversion[4], rtversion[4];
51332     PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
51333     PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
51334     if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
51335         char message[200];
51336         PyOS_snprintf(message, sizeof(message),
51337                       "compiletime version %s of module '%.100s' "
51338                       "does not match runtime version %s",
51339                       ctversion, __Pyx_MODULE_NAME, rtversion);
51340         return PyErr_WarnEx(NULL, message, 1);
51341     }
51342     return 0;
51343 }
51344 
51345 /* FunctionExport */
__Pyx_ExportFunction(const char * name,void (* f)(void),const char * sig)51346 static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig) {
51347     PyObject *d = 0;
51348     PyObject *cobj = 0;
51349     union {
51350         void (*fp)(void);
51351         void *p;
51352     } tmp;
51353     d = PyObject_GetAttrString(__pyx_m, (char *)"__pyx_capi__");
51354     if (!d) {
51355         PyErr_Clear();
51356         d = PyDict_New();
51357         if (!d)
51358             goto bad;
51359         Py_INCREF(d);
51360         if (PyModule_AddObject(__pyx_m, (char *)"__pyx_capi__", d) < 0)
51361             goto bad;
51362     }
51363     tmp.fp = f;
51364 #if PY_VERSION_HEX >= 0x02070000
51365     cobj = PyCapsule_New(tmp.p, sig, 0);
51366 #else
51367     cobj = PyCObject_FromVoidPtrAndDesc(tmp.p, (void *)sig, 0);
51368 #endif
51369     if (!cobj)
51370         goto bad;
51371     if (PyDict_SetItemString(d, name, cobj) < 0)
51372         goto bad;
51373     Py_DECREF(cobj);
51374     Py_DECREF(d);
51375     return 0;
51376 bad:
51377     Py_XDECREF(cobj);
51378     Py_XDECREF(d);
51379     return -1;
51380 }
51381 
51382 /* InitStrings */
__Pyx_InitStrings(__Pyx_StringTabEntry * t)51383 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
51384     while (t->p) {
51385         #if PY_MAJOR_VERSION < 3
51386         if (t->is_unicode) {
51387             *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
51388         } else if (t->intern) {
51389             *t->p = PyString_InternFromString(t->s);
51390         } else {
51391             *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
51392         }
51393         #else
51394         if (t->is_unicode | t->is_str) {
51395             if (t->intern) {
51396                 *t->p = PyUnicode_InternFromString(t->s);
51397             } else if (t->encoding) {
51398                 *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
51399             } else {
51400                 *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
51401             }
51402         } else {
51403             *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
51404         }
51405         #endif
51406         if (!*t->p)
51407             return -1;
51408         if (PyObject_Hash(*t->p) == -1)
51409             return -1;
51410         ++t;
51411     }
51412     return 0;
51413 }
51414 
__Pyx_PyUnicode_FromString(const char * c_str)51415 static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
51416     return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str));
51417 }
__Pyx_PyObject_AsString(PyObject * o)51418 static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) {
51419     Py_ssize_t ignore;
51420     return __Pyx_PyObject_AsStringAndSize(o, &ignore);
51421 }
51422 #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
51423 #if !CYTHON_PEP393_ENABLED
__Pyx_PyUnicode_AsStringAndSize(PyObject * o,Py_ssize_t * length)51424 static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
51425     char* defenc_c;
51426     PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL);
51427     if (!defenc) return NULL;
51428     defenc_c = PyBytes_AS_STRING(defenc);
51429 #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
51430     {
51431         char* end = defenc_c + PyBytes_GET_SIZE(defenc);
51432         char* c;
51433         for (c = defenc_c; c < end; c++) {
51434             if ((unsigned char) (*c) >= 128) {
51435                 PyUnicode_AsASCIIString(o);
51436                 return NULL;
51437             }
51438         }
51439     }
51440 #endif
51441     *length = PyBytes_GET_SIZE(defenc);
51442     return defenc_c;
51443 }
51444 #else
__Pyx_PyUnicode_AsStringAndSize(PyObject * o,Py_ssize_t * length)51445 static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
51446     if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL;
51447 #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
51448     if (likely(PyUnicode_IS_ASCII(o))) {
51449         *length = PyUnicode_GET_LENGTH(o);
51450         return PyUnicode_AsUTF8(o);
51451     } else {
51452         PyUnicode_AsASCIIString(o);
51453         return NULL;
51454     }
51455 #else
51456     return PyUnicode_AsUTF8AndSize(o, length);
51457 #endif
51458 }
51459 #endif
51460 #endif
__Pyx_PyObject_AsStringAndSize(PyObject * o,Py_ssize_t * length)51461 static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
51462 #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
51463     if (
51464 #if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
51465             __Pyx_sys_getdefaultencoding_not_ascii &&
51466 #endif
51467             PyUnicode_Check(o)) {
51468         return __Pyx_PyUnicode_AsStringAndSize(o, length);
51469     } else
51470 #endif
51471 #if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE))
51472     if (PyByteArray_Check(o)) {
51473         *length = PyByteArray_GET_SIZE(o);
51474         return PyByteArray_AS_STRING(o);
51475     } else
51476 #endif
51477     {
51478         char* result;
51479         int r = PyBytes_AsStringAndSize(o, &result, length);
51480         if (unlikely(r < 0)) {
51481             return NULL;
51482         } else {
51483             return result;
51484         }
51485     }
51486 }
__Pyx_PyObject_IsTrue(PyObject * x)51487 static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
51488    int is_true = x == Py_True;
51489    if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
51490    else return PyObject_IsTrue(x);
51491 }
__Pyx_PyObject_IsTrueAndDecref(PyObject * x)51492 static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) {
51493     int retval;
51494     if (unlikely(!x)) return -1;
51495     retval = __Pyx_PyObject_IsTrue(x);
51496     Py_DECREF(x);
51497     return retval;
51498 }
__Pyx_PyNumber_IntOrLongWrongResultType(PyObject * result,const char * type_name)51499 static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) {
51500 #if PY_MAJOR_VERSION >= 3
51501     if (PyLong_Check(result)) {
51502         if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,
51503                 "__int__ returned non-int (type %.200s).  "
51504                 "The ability to return an instance of a strict subclass of int "
51505                 "is deprecated, and may be removed in a future version of Python.",
51506                 Py_TYPE(result)->tp_name)) {
51507             Py_DECREF(result);
51508             return NULL;
51509         }
51510         return result;
51511     }
51512 #endif
51513     PyErr_Format(PyExc_TypeError,
51514                  "__%.4s__ returned non-%.4s (type %.200s)",
51515                  type_name, type_name, Py_TYPE(result)->tp_name);
51516     Py_DECREF(result);
51517     return NULL;
51518 }
__Pyx_PyNumber_IntOrLong(PyObject * x)51519 static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {
51520 #if CYTHON_USE_TYPE_SLOTS
51521   PyNumberMethods *m;
51522 #endif
51523   const char *name = NULL;
51524   PyObject *res = NULL;
51525 #if PY_MAJOR_VERSION < 3
51526   if (likely(PyInt_Check(x) || PyLong_Check(x)))
51527 #else
51528   if (likely(PyLong_Check(x)))
51529 #endif
51530     return __Pyx_NewRef(x);
51531 #if CYTHON_USE_TYPE_SLOTS
51532   m = Py_TYPE(x)->tp_as_number;
51533   #if PY_MAJOR_VERSION < 3
51534   if (m && m->nb_int) {
51535     name = "int";
51536     res = m->nb_int(x);
51537   }
51538   else if (m && m->nb_long) {
51539     name = "long";
51540     res = m->nb_long(x);
51541   }
51542   #else
51543   if (likely(m && m->nb_int)) {
51544     name = "int";
51545     res = m->nb_int(x);
51546   }
51547   #endif
51548 #else
51549   if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) {
51550     res = PyNumber_Int(x);
51551   }
51552 #endif
51553   if (likely(res)) {
51554 #if PY_MAJOR_VERSION < 3
51555     if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) {
51556 #else
51557     if (unlikely(!PyLong_CheckExact(res))) {
51558 #endif
51559         return __Pyx_PyNumber_IntOrLongWrongResultType(res, name);
51560     }
51561   }
51562   else if (!PyErr_Occurred()) {
51563     PyErr_SetString(PyExc_TypeError,
51564                     "an integer is required");
51565   }
51566   return res;
51567 }
51568 static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
51569   Py_ssize_t ival;
51570   PyObject *x;
51571 #if PY_MAJOR_VERSION < 3
51572   if (likely(PyInt_CheckExact(b))) {
51573     if (sizeof(Py_ssize_t) >= sizeof(long))
51574         return PyInt_AS_LONG(b);
51575     else
51576         return PyInt_AsSsize_t(b);
51577   }
51578 #endif
51579   if (likely(PyLong_CheckExact(b))) {
51580     #if CYTHON_USE_PYLONG_INTERNALS
51581     const digit* digits = ((PyLongObject*)b)->ob_digit;
51582     const Py_ssize_t size = Py_SIZE(b);
51583     if (likely(__Pyx_sst_abs(size) <= 1)) {
51584         ival = likely(size) ? digits[0] : 0;
51585         if (size == -1) ival = -ival;
51586         return ival;
51587     } else {
51588       switch (size) {
51589          case 2:
51590            if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
51591              return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
51592            }
51593            break;
51594          case -2:
51595            if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
51596              return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
51597            }
51598            break;
51599          case 3:
51600            if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
51601              return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
51602            }
51603            break;
51604          case -3:
51605            if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
51606              return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
51607            }
51608            break;
51609          case 4:
51610            if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
51611              return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
51612            }
51613            break;
51614          case -4:
51615            if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
51616              return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
51617            }
51618            break;
51619       }
51620     }
51621     #endif
51622     return PyLong_AsSsize_t(b);
51623   }
51624   x = PyNumber_Index(b);
51625   if (!x) return -1;
51626   ival = PyInt_AsSsize_t(x);
51627   Py_DECREF(x);
51628   return ival;
51629 }
51630 static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {
51631   return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False);
51632 }
51633 static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
51634     return PyInt_FromSize_t(ival);
51635 }
51636 
51637 
51638 #endif /* Py_PYTHON_H */
51639