Offset 1632, 15 lines modifiedOffset 1632, 15 lines modified
1632 #define·__Pyx_PyCriticalSection_End·PyCriticalSection_End1632 #define·__Pyx_PyCriticalSection_End·PyCriticalSection_End
1633 #define·__Pyx_PyCriticalSection2_End·PyCriticalSection2_End1633 #define·__Pyx_PyCriticalSection2_End·PyCriticalSection2_End
1634 #endif1634 #endif
  
1635 /*·IncludeStructmemberH.proto·*/1635 /*·IncludeStructmemberH.proto·*/
1636 #include·<structmember.h>1636 #include·<structmember.h>
  
1637 /*·CriticalSections.proto·(used·by·CythonFunctionShared)·*/1637 /*·CriticalSections.proto·(used·by·ParseKeywordsImpl)·*/
1638 #if·!CYTHON_COMPILING_IN_CPYTHON_FREETHREADING1638 #if·!CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
1639 #define·__Pyx_PyCriticalSection_Begin(cs,·arg)·(void)(cs)1639 #define·__Pyx_PyCriticalSection_Begin(cs,·arg)·(void)(cs)
1640 #define·__Pyx_PyCriticalSection2_Begin(cs,·arg1,·arg2)·(void)(cs)1640 #define·__Pyx_PyCriticalSection2_Begin(cs,·arg1,·arg2)·(void)(cs)
1641 #else1641 #else
1642 #define·__Pyx_PyCriticalSection_Begin·PyCriticalSection_Begin1642 #define·__Pyx_PyCriticalSection_Begin·PyCriticalSection_Begin
1643 #define·__Pyx_PyCriticalSection2_Begin·PyCriticalSection2_Begin1643 #define·__Pyx_PyCriticalSection2_Begin·PyCriticalSection2_Begin
1644 #endif1644 #endif
Offset 1877, 37 lines modifiedOffset 1877, 14 lines modified
1877 static·__Pyx_CachedCodeObjectType·*__pyx_find_code_object(int·code_line);1877 static·__Pyx_CachedCodeObjectType·*__pyx_find_code_object(int·code_line);
1878 static·void·__pyx_insert_code_object(int·code_line,·__Pyx_CachedCodeObjectType*·code_object);1878 static·void·__pyx_insert_code_object(int·code_line,·__Pyx_CachedCodeObjectType*·code_object);
  
1879 /*·AddTraceback.proto·*/1879 /*·AddTraceback.proto·*/
1880 static·void·__Pyx_AddTraceback(const·char·*funcname,·int·c_line,1880 static·void·__Pyx_AddTraceback(const·char·*funcname,·int·c_line,
1881 ·······························int·py_line,·const·char·*filename);1881 ·······························int·py_line,·const·char·*filename);
  
1882 /*·IncludeStringH.proto·*/ 
1883 #include·<string.h> 
  
1884 /*·CopyObjectArray.proto·*/ 
1885 #if·CYTHON_COMPILING_IN_CPYTHON 
1886 static·CYTHON_INLINE·void·__Pyx_copy_object_array(PyObject·*const·*CYTHON_RESTRICT·src,·PyObject**·CYTHON_RESTRICT·dest,·Py_ssize_t·length); 
1887 #endif 
  
1888 /*·PyObjectCall.proto·*/ 
1889 #if·CYTHON_COMPILING_IN_CPYTHON 
1890 static·CYTHON_INLINE·PyObject*·__Pyx_PyObject_Call(PyObject·*func,·PyObject·*arg,·PyObject·*kw); 
1891 #else 
1892 #define·__Pyx_PyObject_Call(func,·arg,·kw)·PyObject_Call(func,·arg,·kw) 
1893 #endif 
  
1894 /*·PyObjectCallMethO.proto·*/ 
1895 #if·CYTHON_COMPILING_IN_CPYTHON 
1896 static·CYTHON_INLINE·PyObject*·__Pyx_PyObject_CallMethO(PyObject·*func,·PyObject·*arg); 
1897 #endif 
  
1898 /*·GetVTable.proto·*/ 
1899 static·int·__Pyx_GetVtable(PyTypeObject·*type,·void**·table); 
  
1900 /*·FormatTypeName.proto·*/1882 /*·FormatTypeName.proto·*/
1901 #if·CYTHON_COMPILING_IN_LIMITED_API·&&·__PYX_LIMITED_VERSION_HEX·>=·0x030d00001883 #if·CYTHON_COMPILING_IN_LIMITED_API·&&·__PYX_LIMITED_VERSION_HEX·>=·0x030d0000
1902 typedef·PyObject·*__Pyx_TypeName;1884 typedef·PyObject·*__Pyx_TypeName;
1903 #define·__Pyx_FMT_TYPENAME·"%N"1885 #define·__Pyx_FMT_TYPENAME·"%N"
1904 #define·__Pyx_PyType_GetFullyQualifiedName(tp)·Py_NewRef((PyObject*)tp)1886 #define·__Pyx_PyType_GetFullyQualifiedName(tp)·Py_NewRef((PyObject*)tp)
1905 #define·__Pyx_DECREF_TypeName(obj)·Py_DECREF(obj)1887 #define·__Pyx_DECREF_TypeName(obj)·Py_DECREF(obj)
1906 #elif·CYTHON_COMPILING_IN_LIMITED_API1888 #elif·CYTHON_COMPILING_IN_LIMITED_API
Offset 1918, 41 lines modifiedOffset 1895, 26 lines modified
1918 #else··//·!LIMITED_API1895 #else··//·!LIMITED_API
1919 typedef·const·char·*__Pyx_TypeName;1896 typedef·const·char·*__Pyx_TypeName;
1920 #define·__Pyx_FMT_TYPENAME·"%.200s"1897 #define·__Pyx_FMT_TYPENAME·"%.200s"
1921 #define·__Pyx_PyType_GetFullyQualifiedName(tp)·((tp)->tp_name)1898 #define·__Pyx_PyType_GetFullyQualifiedName(tp)·((tp)->tp_name)
1922 #define·__Pyx_DECREF_TypeName(obj)1899 #define·__Pyx_DECREF_TypeName(obj)
1923 #endif1900 #endif
  
1924 /*·CalculateMetaclass.proto·*/ 
1925 static·PyObject·*__Pyx_CalculateMetaclass(PyTypeObject·*metaclass,·PyObject·*bases); 
  
1926 /*·IgnoreException.proto·*/ 
1927 static·CYTHON_INLINE·int·__Pyx_IgnoreGivenException(PyObject·*given_exception,·PyObject·*ignorable_exception); 
1928 #define·__Pyx_IgnoreException(ignorable_exception)·__Pyx_IgnoreGivenException(NULL,·ignorable_exception) 
  
1929 /*·UnpackUnboundCMethod_decl.proto·*/ 
1930 typedef·struct·{ 
1931 ····PyObject·*type; 
1932 ····PyObject·**method_name; 
1933 ····PyCFunction·func; 
1934 ····PyObject·*method; 
1935 ····int·flag; 
1936 #if·CYTHON_COMPILING_IN_CPYTHON_FREETHREADING·&&·CYTHON_ATOMICS 
1937 ····__pyx_atomic_int_type·initialized; 
1938 #endif 
1939 }·__Pyx_CachedCFunction; 
  
1940 /*·PyObjectCallMethod0.proto·*/1901 /*·PyObjectCallMethod0.proto·*/
1941 static·CYTHON_INLINE·PyObject*·__Pyx_PyObject_CallMethod0(PyObject*·obj,·PyObject*·method_name);1902 static·CYTHON_INLINE·PyObject*·__Pyx_PyObject_CallMethod0(PyObject*·obj,·PyObject*·method_name);
  
1942 /*·GetTypeDictOffset.proto·*/1903 /*·GetTypeDictOffset.proto·*/
1943 #if·!CYTHON_USE_TYPE_SLOTS1904 #if·!CYTHON_USE_TYPE_SLOTS
1944 CYTHON_UNUSED·static·Py_ssize_t·__Pyx_GetTypeDictOffset(PyObject·*tp,·int·require_cython_valid_result);1905 CYTHON_UNUSED·static·Py_ssize_t·__Pyx_GetTypeDictOffset(PyObject·*tp,·int·require_cython_valid_result);
1945 #endif1906 #endif
  
 1907 /*·IgnoreException.proto·*/
 1908 static·CYTHON_INLINE·int·__Pyx_IgnoreGivenException(PyObject·*given_exception,·PyObject·*ignorable_exception);
 1909 #define·__Pyx_IgnoreException(ignorable_exception)·__Pyx_IgnoreGivenException(NULL,·ignorable_exception)
  
1946 /*·CheckUnpickleChecksumError.export·*/1910 /*·CheckUnpickleChecksumError.export·*/
1947 static·void·__Pyx_RaiseUnpickleChecksumError(long·checksum,·long·checksum1,·long·checksum2,·long·checksum3,·const·char·*members);1911 static·void·__Pyx_RaiseUnpickleChecksumError(long·checksum,·long·checksum1,·long·checksum2,·long·checksum3,·const·char·*members);
  
1948 /*·PyObjectCallMethod1.proto·*/1912 /*·PyObjectCallMethod1.proto·*/
1949 static·CYTHON_INLINE·PyObject*·__Pyx_PyObject_CallMethod1(PyObject*·obj,·PyObject*·method_name,·PyObject*·arg);1913 static·CYTHON_INLINE·PyObject*·__Pyx_PyObject_CallMethod1(PyObject*·obj,·PyObject*·method_name,·PyObject*·arg);
  
1950 /*·RaiseArgTupleInvalid.export·*/1914 /*·RaiseArgTupleInvalid.export·*/
Offset 1971, 21 lines modifiedOffset 1933, 45 lines modified
1971 #define·__Pyx_CallCFunctionWithKeywords(cfunc,·self,·args,·kwargs)\1933 #define·__Pyx_CallCFunctionWithKeywords(cfunc,·self,·args,·kwargs)\
1972 ····((PyCFunctionWithKeywords)(void(*)(void))(cfunc)->func)(self,·args,·kwargs)1934 ····((PyCFunctionWithKeywords)(void(*)(void))(cfunc)->func)(self,·args,·kwargs)
1973 #define·__Pyx_CallCFunctionFast(cfunc,·self,·args,·nargs)\1935 #define·__Pyx_CallCFunctionFast(cfunc,·self,·args,·nargs)\
1974 ····((__Pyx_PyCFunctionFast)(void(*)(void))(PyCFunction)(cfunc)->func)(self,·args,·nargs)1936 ····((__Pyx_PyCFunctionFast)(void(*)(void))(PyCFunction)(cfunc)->func)(self,·args,·nargs)
1975 #define·__Pyx_CallCFunctionFastWithKeywords(cfunc,·self,·args,·nargs,·kwnames)\1937 #define·__Pyx_CallCFunctionFastWithKeywords(cfunc,·self,·args,·nargs,·kwnames)\
1976 ····((__Pyx_PyCFunctionFastWithKeywords)(void(*)(void))(PyCFunction)(cfunc)->func)(self,·args,·nargs,·kwnames)1938 ····((__Pyx_PyCFunctionFastWithKeywords)(void(*)(void))(PyCFunction)(cfunc)->func)(self,·args,·nargs,·kwnames)
  
 1939 /*·PyObjectCall.proto·(used·by·PyObjectFastCall)·*/
 1940 #if·CYTHON_COMPILING_IN_CPYTHON
 1941 static·CYTHON_INLINE·PyObject*·__Pyx_PyObject_Call(PyObject·*func,·PyObject·*arg,·PyObject·*kw);
 1942 #else
 1943 #define·__Pyx_PyObject_Call(func,·arg,·kw)·PyObject_Call(func,·arg,·kw)
 1944 #endif
  
 1945 /*·PyObjectCallMethO.proto·(used·by·PyObjectFastCall)·*/
 1946 #if·CYTHON_COMPILING_IN_CPYTHON
 1947 static·CYTHON_INLINE·PyObject*·__Pyx_PyObject_CallMethO(PyObject·*func,·PyObject·*arg);
 1948 #endif
  
1977 /*·PyObjectFastCall.proto·(used·by·PyObjectCallOneArg)·*/1949 /*·PyObjectFastCall.proto·(used·by·PyObjectCallOneArg)·*/
1978 #define·__Pyx_PyObject_FastCall(func,·args,·nargs)··__Pyx_PyObject_FastCallDict(func,·args,·(size_t)(nargs),·NULL)1950 #define·__Pyx_PyObject_FastCall(func,·args,·nargs)··__Pyx_PyObject_FastCallDict(func,·args,·(size_t)(nargs),·NULL)
1979 static·CYTHON_INLINE·PyObject*·__Pyx_PyObject_FastCallDict(PyObject·*func,·PyObject·*·const*args,·size_t·nargsf,·PyObject·*kwargs);1951 static·CYTHON_INLINE·PyObject*·__Pyx_PyObject_FastCallDict(PyObject·*func,·PyObject·*·const*args,·size_t·nargsf,·PyObject·*kwargs);
  
1980 /*·PyObjectCallOneArg.proto·(used·by·CallUnboundCMethod0)·*/1952 /*·PyObjectCallOneArg.proto·(used·by·CallUnboundCMethod0)·*/
1981 static·CYTHON_INLINE·PyObject*·__Pyx_PyObject_CallOneArg(PyObject·*func,·PyObject·*arg);1953 static·CYTHON_INLINE·PyObject*·__Pyx_PyObject_CallOneArg(PyObject·*func,·PyObject·*arg);
  
 1954 /*·UnpackUnboundCMethod_decl.proto·(used·by·UnpackUnboundCMethod)·*/
 1955 typedef·struct·{
 1956 ····PyObject·*type;
 1957 ····PyObject·**method_name;
 1958 ····PyCFunction·func;
 1959 ····PyObject·*method;
 1960 ····int·flag;
 1961 #if·CYTHON_COMPILING_IN_CPYTHON_FREETHREADING·&&·CYTHON_ATOMICS
 1962 ····__pyx_atomic_int_type·initialized;
 1963 #endif
 1964 }·__Pyx_CachedCFunction;
  
1982 /*·UnpackUnboundCMethod_impl.export·*/1965 /*·UnpackUnboundCMethod_impl.export·*/
1983 static·int·__Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction*·target);1966 static·int·__Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction*·target);
  
1984 /*·UnpackUnboundCMethod.proto·(used·by·CallUnboundCMethod0)·*/1967 /*·UnpackUnboundCMethod.proto·(used·by·CallUnboundCMethod0)·*/
1985 #if·CYTHON_COMPILING_IN_CPYTHON_FREETHREADING1968 #if·CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
1986 static·CYTHON_INLINE·int·__Pyx_CachedCFunction_GetAndSetInitializing(__Pyx_CachedCFunction·*cfunc)·{1969 static·CYTHON_INLINE·int·__Pyx_CachedCFunction_GetAndSetInitializing(__Pyx_CachedCFunction·*cfunc)·{
1987 #if·!CYTHON_ATOMICS1970 #if·!CYTHON_ATOMICS
Offset 2022, 14 lines modifiedOffset 2008, 28 lines modified
2022 #define·__Pyx_PyDict_values_Check(obj)··PyObject_TypeCheck((obj),·__Pyx_PyDictValues_TypePtr)2008 #define·__Pyx_PyDict_values_Check(obj)··PyObject_TypeCheck((obj),·__Pyx_PyDictValues_TypePtr)
2023 #define·__Pyx_PyDict_values_CheckExact(obj)··Py_IS_TYPE((obj),·__Pyx_PyDictValues_TypePtr)2009 #define·__Pyx_PyDict_values_CheckExact(obj)··Py_IS_TYPE((obj),·__Pyx_PyDictValues_TypePtr)
2024 static·CYTHON_INLINE·PyObject*·__Pyx_PyDict_Values(PyObject*·d);2010 static·CYTHON_INLINE·PyObject*·__Pyx_PyDict_Values(PyObject*·d);
  
2025 /*·RaiseDoubleKeywords.proto·*/2011 /*·RaiseDoubleKeywords.proto·*/
2026 static·void·__Pyx_RaiseDoubleKeywordsError(const·char*·func_name,·PyObject*·kw_name);2012 static·void·__Pyx_RaiseDoubleKeywordsError(const·char*·func_name,·PyObject*·kw_name);
  
 2013 /*·CalculateMetaclass.proto·*/
 2014 static·PyObject·*__Pyx_CalculateMetaclass(PyTypeObject·*metaclass,·PyObject·*bases);
  
 2015 /*·CopyObjectArray.proto·*/
 2016 #if·CYTHON_COMPILING_IN_CPYTHON
 2017 static·CYTHON_INLINE·void·__Pyx_copy_object_array(PyObject·*const·*CYTHON_RESTRICT·src,·PyObject**·CYTHON_RESTRICT·dest,·Py_ssize_t·length);
 2018 #endif
  
 2019 /*·IncludeStringH.proto·*/
 2020 #include·<string.h>
  
 2021 /*·GetVTable.proto·*/
 2022 static·int·__Pyx_GetVtable(PyTypeObject·*type,·void**·table);
  
2027 /*·AddModuleRef.proto·*/2023 /*·AddModuleRef.proto·*/
2028 #if·((CYTHON_COMPILING_IN_CPYTHON_FREETHREADING·&&·PY_VERSION_HEX·<·0x030F00a3)·||\2024 #if·((CYTHON_COMPILING_IN_CPYTHON_FREETHREADING·&&·PY_VERSION_HEX·<·0x030F00a3)·||\
2029 ·····__PYX_LIMITED_VERSION_HEX·<·0x030d0000)2025 ·····__PYX_LIMITED_VERSION_HEX·<·0x030d0000)
2030 ··static·PyObject·*__Pyx_PyImport_AddModuleRef(const·char·*name);2026 ··static·PyObject·*__Pyx_PyImport_AddModuleRef(const·char·*name);
2031 #else2027 #else
2032 ··#define·__Pyx_PyImport_AddModuleRef(name)·PyImport_AddModuleRef(name)2028 ··#define·__Pyx_PyImport_AddModuleRef(name)·PyImport_AddModuleRef(name)
2033 #endif2029 #endif
Offset 2042, 123 lines modifiedOffset 2042, 145 lines modified
2042 /*·CallTypeTraverse.proto·*/2042 /*·CallTypeTraverse.proto·*/
2043 #if·!CYTHON_USE_TYPE_SPECS2043 #if·!CYTHON_USE_TYPE_SPECS
2044 #define·__Pyx_call_type_traverse(o,·always_call,·visit,·arg)·02044 #define·__Pyx_call_type_traverse(o,·always_call,·visit,·arg)·0
2045 #else2045 #else
2046 static·int·__Pyx_call_type_traverse(PyObject·*o,·int·always_call,·visitproc·visit,·void·*arg);2046 static·int·__Pyx_call_type_traverse(PyObject·*o,·int·always_call,·visitproc·visit,·void·*arg);
2047 #endif2047 #endif
  
 2048 /*·pybuiltin_invalid.export·*/
 2049 static·void·__Pyx_PyBuiltin_Invalid(PyObject·*obj,·const·char·*builtin_type_name,·const·char·*argname);
2048 /*·JoinPyUnicode.proto·*/ 
2049 #define·__Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH\ 
2050 ····(!CYTHON_COMPILING_IN_GRAAL·&&·!CYTHON_COMPILING_IN_PYPY·&&·!CYTHON_COMPILING_IN_LIMITED_API) 
  
2051 /*·JoinPyUnicode.export·*/ 
2052 static·PyObject*·__Pyx_PyUnicode_Join(PyObject**·values,·Py_ssize_t·value_count,·Py_ssize_t·result_ulength,·int·kind); 
  
2053 /*·RaiseException.export·*/ 
2054 static·void·__Pyx_Raise(PyObject·*type,·PyObject·*value,·PyObject·*tb,·PyObject·*cause); 
  
2055 /*·HasAttr.proto·(used·by·ImportImpl)·*/ 
2056 #if·__PYX_LIMITED_VERSION_HEX·>=·0x030d0000 
2057 #define·__Pyx_HasAttr(o,·n)··PyObject_HasAttrWithError(o,·n) 
2058 #else 
2059 static·CYTHON_INLINE·int·__Pyx_HasAttr(PyObject·*,·PyObject·*); 
2060 #endif 
  
2061 /*·TupleOrListFromArrayImpl.proto·(used·by·ListFromArray)·*/ 
2062 CYTHON_UNUSED·static·PyObject·* 
2063 __Pyx_PyList_FromArray(PyObject·*const·*src,·Py_ssize_t·n); 
  
2064 /*·ListFromArray.proto·(used·by·ImportImpl)·*/ 
  
  
2065 /*·ImportImpl.export·*/ 
2066 static·PyObject·*__Pyx__Import(PyObject·*name,·PyObject·*const·*imported_names,·Py_ssize_t·len_imported_names,·PyObject·*qualname,·PyObject·*moddict,·int·level); 
  
2067 /*·ImportFrom.export·*/ 
2068 static·PyObject*·__Pyx_ImportFrom(PyObject*·module,·PyObject*·name); 
  
2069 /*·FindInheritedMetaclass.proto·*/ 
2070 static·PyObject·*__Pyx_FindInheritedMetaclass(PyObject·*bases); 
  
2071 /*·RaiseErrorWithObjectTypes.proto·(used·by·MergeVTables)·*/2050 /*·RaiseErrorWithObjectType.proto·(used·by·ValidateBasesTuple)·*/
2072 #define·__Pyx_RaiseErrorWithObjectTypes1(exc_type,·message,·arg,·obj1,·obj2)·__Pyx_RaiseErrorWithTypes1(exc_type,·message,·arg,·Py_TYPE(obj1),·Py_TYPE(obj2)) 
2073 #define·__Pyx_RaiseTypeErrorWithObjectTypes(message,·obj1,·obj2)·__Pyx_RaiseTypeErrorWithTypes(message,·Py_TYPE(obj1),·Py_TYPE(obj2)) 
2074 #define·__Pyx_RaiseTypeErrorWithTypes(message,·type_obj1,·type_obj2)·__Pyx_RaiseErrorWithTypes1(PyExc_TypeError,·"%.1s"·message,·"",·type_obj1,·type_obj2)2051 #define·__Pyx_RaiseTypeErrorWithObjectType(message,·obj)··__Pyx_RaiseErrorWithObjectType(PyExc_TypeError,·message,·obj)
 2052 #define·__Pyx_RaiseErrorWithObjectType(exc_type,·message,·obj)··__Pyx_RaiseErrorWithType(exc_type,·message,·Py_TYPE(obj))
2075 CYTHON_UNUSED2053 CYTHON_UNUSED
2076 static·void·__Pyx_RaiseErrorWithTypes1(PyObject*·exc_type,·const·char·*message,·const·char·*arg,·PyTypeObject·*type_obj1,·PyTypeObject·*type_obj2);2054 static·void·__Pyx_RaiseErrorWithType(PyObject*·exc_type,·const·char*·message,·PyTypeObject·*type_obj);
  
2077 /*·MergeVTables.proto·*/ 
2078 static·int·__Pyx_MergeVtables(PyTypeObject·*type);2055 /*·RaiseErrorWithObjectType1.proto·(used·by·ValidateBasesTuple)·*/
 2056 #define·__Pyx_RaiseTypeErrorWithObjectType1(message,·arg,·obj)·__Pyx_RaiseErrorWithObjectType1(PyExc_TypeError,·message,·arg,·obj)
 2057 #define·__Pyx_RaiseErrorWithObjectType1(exc_type,·message,·arg,·obj)·__Pyx_RaiseErrorWithType1(exc_type,·message,·arg,·Py_TYPE(obj))
 2058 CYTHON_UNUSED
 2059 static·void·__Pyx_RaiseErrorWithType1(PyObject*·exc_type,·const·char*·message,·const·char·*arg,·PyTypeObject·*type_obj);
  
 2060 /*·ValidateBasesTuple.proto·(used·by·PyType_Ready)·*/
 2061 #if·CYTHON_COMPILING_IN_CPYTHON·||·CYTHON_COMPILING_IN_LIMITED_API·||·CYTHON_USE_TYPE_SPECS
 2062 static·int·__Pyx_validate_bases_tuple(const·char·*type_name,·int·has_dictoffset,·PyObject·*bases);
2079 /*·PyObjectLookupSpecial.proto·*/ 
2080 #if·CYTHON_USE_PYTYPE_LOOKUP·&&·CYTHON_USE_TYPE_SLOTS 
2081 #define·__Pyx_PyObject_LookupSpecialNoError(obj,·attr_name)··__Pyx__PyObject_LookupSpecial(obj,·attr_name,·0) 
2082 #define·__Pyx_PyObject_LookupSpecial(obj,·attr_name)··__Pyx__PyObject_LookupSpecial(obj,·attr_name,·1) 
2083 static·CYTHON_INLINE·PyObject*·__Pyx__PyObject_LookupSpecial(PyObject*·obj,·PyObject*·attr_name,·int·with_error); 
2084 #else 
2085 #define·__Pyx_PyObject_LookupSpecialNoError(o,n)·__Pyx_PyObject_GetAttrStrNoError(o,n) 
2086 #define·__Pyx_PyObject_LookupSpecial(o,n)·__Pyx_PyObject_GetAttrStr(o,n) 
2087 #endif2063 #endif
  
 2064 /*·PyType_Ready.export·*/
 2065 CYTHON_UNUSED·static·int·__Pyx_PyType_Ready(PyTypeObject·*t);
2088 /*·pybuiltin_invalid.export·*/ 
2089 static·void·__Pyx_PyBuiltin_Invalid(PyObject·*obj,·const·char·*builtin_type_name,·const·char·*argname); 
  
2090 /*·Py3MetaclassGet.export·*/ 
2091 static·PyObject·*__Pyx_Py3MetaclassGet(PyObject·*bases,·PyObject·*mkw); 
  
2092 /*·LimitedApiGetTypeTypeDict.proto·(used·by·DelItemOnTypeDict)·*/2066 /*·LimitedApiGetTypeTypeDict.proto·*/
2093 #if·CYTHON_COMPILING_IN_LIMITED_API2067 #if·CYTHON_COMPILING_IN_LIMITED_API
2094 static·PyObject·*__Pyx_GetTypeTypeDict(PyTypeObject·*tp);2068 static·PyObject·*__Pyx_GetTypeTypeDict(PyTypeObject·*tp);
2095 #endif2069 #endif
  
2096 /*·DelItemOnTypeDict.proto·(used·by·SetupReduce)·*/2070 /*·DelItemOnTypeDict.proto·(used·by·SetupReduce)·*/
2097 #define·__Pyx_DelItemOnTypeDict(tp,·k)·__Pyx__DelItemOnTypeDict((PyTypeObject*)tp,·k)2071 #define·__Pyx_DelItemOnTypeDict(tp,·k)·__Pyx__DelItemOnTypeDict((PyTypeObject*)tp,·k)
  
2098 /*·DelItemOnTypeDict.export·*/2072 /*·DelItemOnTypeDict.export·*/
2099 static·int·__Pyx__DelItemOnTypeDict(PyTypeObject·*tp,·PyObject·*k);2073 static·int·__Pyx__DelItemOnTypeDict(PyTypeObject·*tp,·PyObject·*k);
  
2100 /*·RaiseErrorWithObjectType.proto·(used·by·SetupReduce)·*/ 
2101 #define·__Pyx_RaiseTypeErrorWithObjectType(message,·obj)··__Pyx_RaiseErrorWithObjectType(PyExc_TypeError,·message,·obj) 
2102 #define·__Pyx_RaiseErrorWithObjectType(exc_type,·message,·obj)··__Pyx_RaiseErrorWithType(exc_type,·message,·Py_TYPE(obj)) 
2103 CYTHON_UNUSED 
2104 static·void·__Pyx_RaiseErrorWithType(PyObject*·exc_type,·const·char*·message,·PyTypeObject·*type_obj); 
  
2105 /*·SetItemOnTypeDict.proto·(used·by·SetupReduce)·*/2074 /*·SetItemOnTypeDict.proto·(used·by·SetupReduce)·*/
2106 #define·__Pyx_SetItemOnTypeDict(tp,·k,·v)·__Pyx__SetItemOnTypeDict((PyTypeObject*)tp,·k,·v)2075 #define·__Pyx_SetItemOnTypeDict(tp,·k,·v)·__Pyx__SetItemOnTypeDict((PyTypeObject*)tp,·k,·v)
  
2107 /*·SetItemOnTypeDict.export·*/2076 /*·SetItemOnTypeDict.export·*/
2108 static·int·__Pyx__SetItemOnTypeDict(PyTypeObject·*tp,·PyObject·*k,·PyObject·*v);2077 static·int·__Pyx__SetItemOnTypeDict(PyTypeObject·*tp,·PyObject·*k,·PyObject·*v);
  
2109 /*·SetupReduce.export·*/2078 /*·SetupReduce.export·*/
2110 static·int·__Pyx_setup_reduce(PyObject*·type_obj);2079 static·int·__Pyx_setup_reduce(PyObject*·type_obj);
  
 2080 /*·ValidateExternBase.export·*/
 2081 static·int·__Pyx_validate_extern_base(PyTypeObject·*base);
2111 /*·PyObjectCall2Args.proto·(used·by·Py3ClassCreate)·*/ 
2112 static·CYTHON_INLINE·PyObject*·__Pyx_PyObject_Call2Args(PyObject*·function,·PyObject*·arg1,·PyObject*·arg2); 
  
2113 /*·Py3ClassCreate.export·*/ 
2114 static·PyObject·*__Pyx_Py3MetaclassPrepare(PyObject·*metaclass,·PyObject·*bases,·PyObject·*name,·PyObject·*qualname, 
2115 ···········································PyObject·*mkw,·PyObject·*modname,·PyObject·*doc); 
2116 static·PyObject·*__Pyx_Py3ClassCreate(PyObject·*metaclass,·PyObject·*name,·PyObject·*bases,·PyObject·*dict, 
2117 ······································PyObject·*mkw,·int·calculate_metaclass,·int·allow_py2_metaclass); 
  
2118 /*·ArgTypeTestError.export·*/2082 /*·ArgTypeTestError.export·*/
2119 static·void·__Pyx_ArgTypeError(PyObject·*obj,·PyTypeObject·*type,·const·char·*name,·int·exact);2083 static·void·__Pyx_ArgTypeError(PyObject·*obj,·PyTypeObject·*type,·const·char·*name,·int·exact);
  
 2084 /*·UpdateUnpickledDict.export·*/
 2085 static·int·__Pyx_UpdateUnpickledDict(PyObject·*obj,·PyObject·*state,·Py_ssize_t·index);
  
 2086 /*·FindInheritedMetaclass.proto·*/
 2087 static·PyObject·*__Pyx_FindInheritedMetaclass(PyObject·*bases);
  
 2088 /*·OwnedDictNext.proto·*/
 2089 #if·CYTHON_AVOID_BORROWED_REFS
 2090 static·int·__Pyx_PyDict_NextRef(PyObject·*p,·PyObject·**ppos,·PyObject·**pkey,·PyObject·**pvalue);
 2091 #else
 2092 CYTHON_INLINE
 2093 static·int·__Pyx_PyDict_NextRef(PyObject·*p,·Py_ssize_t·*ppos,·PyObject·**pkey,·PyObject·**pvalue);
 2094 #endif
  
 2095 /*·PyObjectLookupSpecial.proto·*/
 2096 #if·CYTHON_USE_PYTYPE_LOOKUP·&&·CYTHON_USE_TYPE_SLOTS
 2097 #define·__Pyx_PyObject_LookupSpecialNoError(obj,·attr_name)··__Pyx__PyObject_LookupSpecial(obj,·attr_name,·0)
 2098 #define·__Pyx_PyObject_LookupSpecial(obj,·attr_name)··__Pyx__PyObject_LookupSpecial(obj,·attr_name,·1)
 2099 static·CYTHON_INLINE·PyObject*·__Pyx__PyObject_LookupSpecial(PyObject*·obj,·PyObject*·attr_name,·int·with_error);
 2100 #else
 2101 #define·__Pyx_PyObject_LookupSpecialNoError(o,n)·__Pyx_PyObject_GetAttrStrNoError(o,n)
 2102 #define·__Pyx_PyObject_LookupSpecial(o,n)·__Pyx_PyObject_GetAttrStr(o,n)
 2103 #endif
  
 2104 /*·RaiseErrorWithObjectTypes.proto·*/
 2105 #define·__Pyx_RaiseErrorWithObjectTypes1(exc_type,·message,·arg,·obj1,·obj2)·__Pyx_RaiseErrorWithTypes1(exc_type,·message,·arg,·Py_TYPE(obj1),·Py_TYPE(obj2))
 2106 #define·__Pyx_RaiseTypeErrorWithObjectTypes(message,·obj1,·obj2)·__Pyx_RaiseTypeErrorWithTypes(message,·Py_TYPE(obj1),·Py_TYPE(obj2))
 2107 #define·__Pyx_RaiseTypeErrorWithTypes(message,·type_obj1,·type_obj2)·__Pyx_RaiseErrorWithTypes1(PyExc_TypeError,·"%.1s"·message,·"",·type_obj1,·type_obj2)
 2108 CYTHON_UNUSED
 2109 static·void·__Pyx_RaiseErrorWithTypes1(PyObject*·exc_type,·const·char·*message,·const·char·*arg,·PyTypeObject·*type_obj1,·PyTypeObject·*type_obj2);
  
 2110 /*·ParseKeywordsImpl.export·*/
 2111 static·int·__Pyx_ParseKeywordsTuple(
 2112 ····PyObject·*kwds,
 2113 ····PyObject·*·const·*kwvalues,
 2114 ····PyObject·**·const·argnames[],
 2115 ····PyObject·*kwds2,
 2116 ····PyObject·*values[],
 2117 ····Py_ssize_t·num_pos_args,
 2118 ····Py_ssize_t·num_kwargs,
 2119 ····const·char*·function_name,
 2120 ····int·ignore_unknown_kwargs
 2121 );
 2122 static·int·__Pyx_ParseKeywordDictToDict(
 2123 ····PyObject·*kwds,
 2124 ····PyObject·**·const·argnames[],
 2125 ····PyObject·*kwds2,
 2126 ····PyObject·*values[],
 2127 ····Py_ssize_t·num_pos_args,
 2128 ····const·char*·function_name
 2129 );
 2130 static·int·__Pyx_ParseKeywordDict(
 2131 ····PyObject·*kwds,
 2132 ····PyObject·**·const·argnames[],
 2133 ····PyObject·*values[],
 2134 ····Py_ssize_t·num_pos_args,
 2135 ····Py_ssize_t·num_kwargs,
 2136 ····const·char*·function_name,
 2137 ····int·ignore_unknown_kwargs
 2138 );
  
 2139 /*·CallUnboundCMethod2.proto·*/
 2140 CYTHON_UNUSED
 2141 static·PyObject*·__Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction*·cfunc,·PyObject*·self,·PyObject*·arg1,·PyObject*·arg2);
 2142 #if·CYTHON_COMPILING_IN_CPYTHON
 2143 static·CYTHON_INLINE·PyObject·*__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction·*cfunc,·PyObject·*self,·PyObject·*arg1,·PyObject·*arg2);
 2144 #else
 2145 #define·__Pyx_CallUnboundCMethod2(cfunc,·self,·arg1,·arg2)··__Pyx__CallUnboundCMethod2(cfunc,·self,·arg1,·arg2)
 2146 #endif
  
 2147 /*·ImportFrom.export·*/
 2148 static·PyObject*·__Pyx_ImportFrom(PyObject*·module,·PyObject*·name);
  
 2149 /*·Py3MetaclassGet.export·*/
 2150 static·PyObject·*__Pyx_Py3MetaclassGet(PyObject·*bases,·PyObject·*mkw);
  
2120 /*·FetchSharedCythonModule.proto·(used·by·FetchCommonType)·*/2151 /*·FetchSharedCythonModule.proto·(used·by·FetchCommonType)·*/
2121 static·PyObject·*__Pyx_FetchSharedCythonABIModule(void);2152 static·PyObject·*__Pyx_FetchSharedCythonABIModule(void);
  
2122 /*·FetchCommonType.proto·*/2153 /*·FetchCommonType.proto·(used·by·CommonTypesMetaclass)·*/
2123 static·PyTypeObject*·__Pyx_FetchCommonTypeFromSpec(PyTypeObject·*metaclass,·PyObject·*module,·PyType_Spec·*spec,·PyObject·*bases);2154 static·PyTypeObject*·__Pyx_FetchCommonTypeFromSpec(PyTypeObject·*metaclass,·PyObject·*module,·PyType_Spec·*spec,·PyObject·*bases);
  
2124 /*·RaiseErrorWithObjectType1.proto·*/ 
2125 #define·__Pyx_RaiseTypeErrorWithObjectType1(message,·arg,·obj)·__Pyx_RaiseErrorWithObjectType1(PyExc_TypeError,·message,·arg,·obj) 
2126 #define·__Pyx_RaiseErrorWithObjectType1(exc_type,·message,·arg,·obj)·__Pyx_RaiseErrorWithType1(exc_type,·message,·arg,·Py_TYPE(obj)) 
2127 CYTHON_UNUSED 
2128 static·void·__Pyx_RaiseErrorWithType1(PyObject*·exc_type,·const·char*·message,·const·char·*arg,·PyTypeObject·*type_obj); 
  
2129 /*·CommonTypesMetaclass.proto·(used·by·CythonFunctionShared)·*/2155 /*·CommonTypesMetaclass.proto·(used·by·CythonFunctionShared)·*/
2130 static·int·__pyx_CommonTypesMetaclass_init(PyObject·*module);2156 static·int·__pyx_CommonTypesMetaclass_init(PyObject·*module);
2131 #define·__Pyx_CommonTypesMetaclass_USED2157 #define·__Pyx_CommonTypesMetaclass_USED
  
2132 /*·CythonFunctionPerModule.proto·(used·by·CythonFunctionShared)·*/2158 /*·CythonFunctionPerModule.proto·(used·by·CythonFunctionShared)·*/
2133 #define·__Pyx_CyFunction_USED2159 #define·__Pyx_CyFunction_USED
2134 #if·CYTHON_OPAQUE_SHARED_TYPES2160 #if·CYTHON_OPAQUE_SHARED_TYPES
Offset 2249, 22 lines modifiedOffset 2271, 14 lines modified
2249 #define·__Pyx_CyFunction_func_vectorcall(f)·(((PyCFunctionObject*)f)->vectorcall)2271 #define·__Pyx_CyFunction_func_vectorcall(f)·(((PyCFunctionObject*)f)->vectorcall)
2250 #endif2272 #endif
2251 #endif2273 #endif
  
2252 /*·PyMethodNew.proto·(used·by·CythonFunctionShared)·*/2274 /*·PyMethodNew.proto·(used·by·CythonFunctionShared)·*/
2253 static·PyObject·*__Pyx_PyMethod_New(PyObject·*func,·PyObject·*self,·PyObject·*typ);2275 static·PyObject·*__Pyx_PyMethod_New(PyObject·*func,·PyObject·*self,·PyObject·*typ);
  
2254 /*·OwnedDictNext.proto·(used·by·PyVectorcallFastCallDict)·*/ 
2255 #if·CYTHON_AVOID_BORROWED_REFS 
2256 static·int·__Pyx_PyDict_NextRef(PyObject·*p,·PyObject·**ppos,·PyObject·**pkey,·PyObject·**pvalue); 
2257 #else 
2258 CYTHON_INLINE 
2259 static·int·__Pyx_PyDict_NextRef(PyObject·*p,·Py_ssize_t·*ppos,·PyObject·**pkey,·PyObject·**pvalue); 
2260 #endif 
  
2261 /*·PyVectorcallFastCallDict.proto·(used·by·CythonFunctionShared)·*/2276 /*·PyVectorcallFastCallDict.proto·(used·by·CythonFunctionShared)·*/
2262 #if·CYTHON_VECTORCALL2277 #if·CYTHON_VECTORCALL
2263 static·CYTHON_INLINE·PyObject·*__Pyx_PyVectorcall_FastCallDict(PyObject·*func,·__pyx_vectorcallfunc·vc,·PyObject·*const·*args,·size_t·nargs,·PyObject·*kw);2278 static·CYTHON_INLINE·PyObject·*__Pyx_PyVectorcall_FastCallDict(PyObject·*func,·__pyx_vectorcallfunc·vc,·PyObject·*const·*args,·size_t·nargs,·PyObject·*kw);
2264 #endif2279 #endif
  
2265 /*·CythonFunctionShared.proto·*/2280 /*·CythonFunctionShared.proto·*/
2266 static·PyObject·*__Pyx_CyFunction_Init(PyObject·*op_in,·PyMethodDef·*ml,2281 static·PyObject·*__Pyx_CyFunction_Init(PyObject·*op_in,·PyMethodDef·*ml,
Offset 2275, 72 lines modifiedOffset 2289, 58 lines modified
2275 #if·CYTHON_VECTORCALL2289 #if·CYTHON_VECTORCALL
2276 static·PyObject·*·__Pyx_CyFunction_Vectorcall_NOARGS(PyObject·*func,·PyObject·*const·*args,·size_t·nargsf,·PyObject·*kwnames);2290 static·PyObject·*·__Pyx_CyFunction_Vectorcall_NOARGS(PyObject·*func,·PyObject·*const·*args,·size_t·nargsf,·PyObject·*kwnames);
2277 static·PyObject·*·__Pyx_CyFunction_Vectorcall_O(PyObject·*func,·PyObject·*const·*args,·size_t·nargsf,·PyObject·*kwnames);2291 static·PyObject·*·__Pyx_CyFunction_Vectorcall_O(PyObject·*func,·PyObject·*const·*args,·size_t·nargsf,·PyObject·*kwnames);
2278 static·PyObject·*·__Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject·*func,·PyObject·*const·*args,·size_t·nargsf,·PyObject·*kwnames);2292 static·PyObject·*·__Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject·*func,·PyObject·*const·*args,·size_t·nargsf,·PyObject·*kwnames);
2279 static·PyObject·*·__Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject·*func,·PyObject·*const·*args,·size_t·nargsf,·PyObject·*kwnames);2293 static·PyObject·*·__Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject·*func,·PyObject·*const·*args,·size_t·nargsf,·PyObject·*kwnames);
2280 #endif2294 #endif
  
2281 /*·ValidateBasesTuple.proto·(used·by·PyType_Ready)·*/ 
2282 #if·CYTHON_COMPILING_IN_CPYTHON·||·CYTHON_COMPILING_IN_LIMITED_API·||·CYTHON_USE_TYPE_SPECS 
2283 static·int·__Pyx_validate_bases_tuple(const·char·*type_name,·int·has_dictoffset,·PyObject·*bases);2295 /*·RaiseException.export·*/
 2296 static·void·__Pyx_Raise(PyObject·*type,·PyObject·*value,·PyObject·*tb,·PyObject·*cause);
  
 2297 /*·PyObjectCall2Args.proto·(used·by·Py3ClassCreate)·*/
 2298 static·CYTHON_INLINE·PyObject*·__Pyx_PyObject_Call2Args(PyObject*·function,·PyObject*·arg1,·PyObject*·arg2);
  
 2299 /*·Py3ClassCreate.export·*/
 2300 static·PyObject·*__Pyx_Py3MetaclassPrepare(PyObject·*metaclass,·PyObject·*bases,·PyObject·*name,·PyObject·*qualname,
 2301 ···········································PyObject·*mkw,·PyObject·*modname,·PyObject·*doc);
 2302 static·PyObject·*__Pyx_Py3ClassCreate(PyObject·*metaclass,·PyObject·*name,·PyObject·*bases,·PyObject·*dict,
 2303 ······································PyObject·*mkw,·int·calculate_metaclass,·int·allow_py2_metaclass);
  
 2304 /*·HasAttr.proto·(used·by·ImportImpl)·*/
 2305 #if·__PYX_LIMITED_VERSION_HEX·>=·0x030d0000
 2306 #define·__Pyx_HasAttr(o,·n)··PyObject_HasAttrWithError(o,·n)
 2307 #else
 2308 static·CYTHON_INLINE·int·__Pyx_HasAttr(PyObject·*,·PyObject·*);
2284 #endif2309 #endif
  
2285 /*·PyType_Ready.export·*/ 
2286 CYTHON_UNUSED·static·int·__Pyx_PyType_Ready(PyTypeObject·*t);2310 /*·TupleOrListFromArrayImpl.proto·(used·by·ListFromArray)·*/
 2311 CYTHON_UNUSED·static·PyObject·*
 2312 __Pyx_PyList_FromArray(PyObject·*const·*src,·Py_ssize_t·n);
  
 2313 /*·ListFromArray.proto·(used·by·ImportImpl)·*/
2287 /*·ValidateExternBase.export·*/ 
2288 static·int·__Pyx_validate_extern_base(PyTypeObject·*base); 
  
2289 /*·UpdateUnpickledDict.export·*/ 
2290 static·int·__Pyx_UpdateUnpickledDict(PyObject·*obj,·PyObject·*state,·Py_ssize_t·index); 
  
 2314 /*·ImportImpl.export·*/
 2315 static·PyObject·*__Pyx__Import(PyObject·*name,·PyObject·*const·*imported_names,·Py_ssize_t·len_imported_names,·PyObject·*qualname,·PyObject·*moddict,·int·level);
2291 /*·ParseKeywordsImpl.export·*/ 
2292 static·int·__Pyx_ParseKeywordsTuple( 
2293 ····PyObject·*kwds, 
2294 ····PyObject·*·const·*kwvalues, 
2295 ····PyObject·**·const·argnames[], 
2296 ····PyObject·*kwds2, 
2297 ····PyObject·*values[], 
2298 ····Py_ssize_t·num_pos_args, 
2299 ····Py_ssize_t·num_kwargs, 
2300 ····const·char*·function_name, 
2301 ····int·ignore_unknown_kwargs 
2302 ); 
2303 static·int·__Pyx_ParseKeywordDictToDict( 
2304 ····PyObject·*kwds, 
2305 ····PyObject·**·const·argnames[], 
2306 ····PyObject·*kwds2, 
2307 ····PyObject·*values[], 
2308 ····Py_ssize_t·num_pos_args, 
2309 ····const·char*·function_name 
2310 ); 
2311 static·int·__Pyx_ParseKeywordDict( 
2312 ····PyObject·*kwds, 
2313 ····PyObject·**·const·argnames[], 
2314 ····PyObject·*values[], 
2315 ····Py_ssize_t·num_pos_args, 
2316 ····Py_ssize_t·num_kwargs, 
2317 ····const·char*·function_name, 
2318 ····int·ignore_unknown_kwargs 
2319 ); 
  
2320 /*·CallUnboundCMethod2.proto·*/ 
2321 CYTHON_UNUSED 
2322 static·PyObject*·__Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction*·cfunc,·PyObject*·self,·PyObject*·arg1,·PyObject*·arg2); 
2323 #if·CYTHON_COMPILING_IN_CPYTHON 
2324 static·CYTHON_INLINE·PyObject·*__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction·*cfunc,·PyObject·*self,·PyObject·*arg1,·PyObject·*arg2); 
2325 #else 
2326 #define·__Pyx_CallUnboundCMethod2(cfunc,·self,·arg1,·arg2)··__Pyx__CallUnboundCMethod2(cfunc,·self,·arg1,·arg2) 
2327 #endif2316 /*·MergeVTables.proto·*/
 2317 static·int·__Pyx_MergeVtables(PyTypeObject·*type);
  
 2318 /*·JoinPyUnicode.proto·*/
 2319 #define·__Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH\
 2320 ····(!CYTHON_COMPILING_IN_GRAAL·&&·!CYTHON_COMPILING_IN_PYPY·&&·!CYTHON_COMPILING_IN_LIMITED_API)
  
 2321 /*·JoinPyUnicode.export·*/
 2322 static·PyObject*·__Pyx_PyUnicode_Join(PyObject**·values,·Py_ssize_t·value_count,·Py_ssize_t·result_ulength,·int·kind);
  
2328 /*·Py3UpdateBases.export·*/2323 /*·Py3UpdateBases.export·*/
2329 static·PyObject*·__Pyx_PEP560_update_bases(PyObject·*bases);2324 static·PyObject*·__Pyx_PEP560_update_bases(PyObject·*bases);
  
2330 /*·SetVTable.export·*/ 
2331 static·int·__Pyx_SetVtable(PyTypeObject*·typeptr·,·void*·vtable);2325 /*·RejectKeywords.export·*/
 2326 static·void·__Pyx_RejectKeywords(const·char*·function_name,·PyObject·*kwds);
  
2332 /*·CythonFunction.export·*/2327 /*·CythonFunction.export·*/
2333 static·PyObject·*__Pyx_CyFunction_New(PyMethodDef·*ml,2328 static·PyObject·*__Pyx_CyFunction_New(PyMethodDef·*ml,
2334 ······································int·flags,·PyObject*·qualname,2329 ······································int·flags,·PyObject*·qualname,
2335 ······································PyObject·*closure,2330 ······································PyObject·*closure,
2336 ······································PyObject·*module,·PyObject·*globals,2331 ······································PyObject·*module,·PyObject·*globals,
2337 ······································PyObject*·code);2332 ······································PyObject*·code);
Offset 2368, 16 lines modifiedOffset 2368, 16 lines modified
2368 /*·FusedFunction.export·*/2368 /*·FusedFunction.export·*/
2369 static·PyObject·*__pyx_FusedFunction_New(PyMethodDef·*ml,·int·flags,2369 static·PyObject·*__pyx_FusedFunction_New(PyMethodDef·*ml,·int·flags,
2370 ·········································PyObject·*qualname,·PyObject·*closure,2370 ·········································PyObject·*qualname,·PyObject·*closure,
2371 ·········································PyObject·*module,·PyObject·*globals,2371 ·········································PyObject·*module,·PyObject·*globals,
2372 ·········································PyObject·*code);2372 ·········································PyObject·*code);
2373 static·PyTypeObject·*__Pyx_Get_FusedFunction_Type(void);2373 static·PyTypeObject·*__Pyx_Get_FusedFunction_Type(void);
  
2374 /*·RejectKeywords.export·*/ 
2375 static·void·__Pyx_RejectKeywords(const·char*·function_name,·PyObject·*kwds);2374 /*·SetVTable.export·*/
 2375 static·int·__Pyx_SetVtable(PyTypeObject*·typeptr·,·void*·vtable);
  
2376 /*·GCCDiagnostics.proto·(used·by·CIntToPy)·*/2376 /*·GCCDiagnostics.proto·(used·by·CIntToPy)·*/
2377 #if·!defined(__INTEL_COMPILER)·&&·defined(__GNUC__)·&&·(__GNUC__·>·4·||·(__GNUC__·==·4·&&·__GNUC_MINOR__·>=·6))2377 #if·!defined(__INTEL_COMPILER)·&&·defined(__GNUC__)·&&·(__GNUC__·>·4·||·(__GNUC__·==·4·&&·__GNUC_MINOR__·>=·6))
2378 #define·__Pyx_HAS_GCC_DIAGNOSTIC2378 #define·__Pyx_HAS_GCC_DIAGNOSTIC
2379 #endif2379 #endif
  
2380 /*·PyObjectVectorcallKwds.proto·(used·by·PyObjectVectorcallMethodKwds)·*/2380 /*·PyObjectVectorcallKwds.proto·(used·by·PyObjectVectorcallMethodKwds)·*/
Offset 3859, 91 lines modifiedOffset 3859, 14 lines modified
3859 ····PyTraceBack_Here(py_frame);3859 ····PyTraceBack_Here(py_frame);
3860 bad:3860 bad:
3861 ····Py_XDECREF(py_code);3861 ····Py_XDECREF(py_code);
3862 ····Py_XDECREF(py_frame);3862 ····Py_XDECREF(py_frame);
3863 }3863 }
3864 #endif3864 #endif
  
3865 /*·CopyObjectArray·*/ 
3866 #if·CYTHON_COMPILING_IN_CPYTHON 
3867 static·CYTHON_INLINE·void·__Pyx_copy_object_array(PyObject·*const·*CYTHON_RESTRICT·src,·PyObject**·CYTHON_RESTRICT·dest,·Py_ssize_t·length)·{ 
3868 ····PyObject·*v; 
3869 ····Py_ssize_t·i; 
3870 ····for·(i·=·0;·i·<·length;·i++)·{ 
3871 ········v·=·dest[i]·=·src[i]; 
3872 ········Py_INCREF(v); 
3873 ····} 
3874 } 
3875 #endif 
  
3876 /*·PyObjectCall·*/ 
3877 #if·CYTHON_COMPILING_IN_CPYTHON 
3878 static·CYTHON_INLINE·PyObject*·__Pyx_PyObject_Call(PyObject·*func,·PyObject·*arg,·PyObject·*kw)·{ 
3879 ····PyObject·*result; 
3880 ····ternaryfunc·call·=·Py_TYPE(func)->tp_call; 
3881 ····if·(unlikely(!call)) 
3882 ········return·PyObject_Call(func,·arg,·kw); 
3883 ····if·(unlikely(Py_EnterRecursiveCall("·while·calling·a·Python·object"))) 
3884 ········return·NULL; 
3885 ····result·=·(*call)(func,·arg,·kw); 
3886 ····Py_LeaveRecursiveCall(); 
3887 ····if·(unlikely(!result)·&&·unlikely(!PyErr_Occurred()))·{ 
3888 ········PyErr_SetString( 
3889 ············PyExc_SystemError, 
3890 ············"NULL·result·without·error·in·PyObject_Call"); 
3891 ····} 
3892 ····return·result; 
3893 } 
3894 #endif 
  
3895 /*·PyObjectCallMethO·*/ 
3896 #if·CYTHON_COMPILING_IN_CPYTHON 
3897 static·CYTHON_INLINE·PyObject*·__Pyx_PyObject_CallMethO(PyObject·*func,·PyObject·*arg)·{ 
3898 ····PyObject·*self,·*result; 
3899 ····PyCFunction·cfunc; 
3900 ····cfunc·=·__Pyx_CyOrPyCFunction_GET_FUNCTION(func); 
3901 ····self·=·__Pyx_CyOrPyCFunction_GET_SELF(func); 
3902 ····if·(unlikely(Py_EnterRecursiveCall("·while·calling·a·Python·object"))) 
3903 ········return·NULL; 
3904 ····result·=·cfunc(self,·arg); 
3905 ····Py_LeaveRecursiveCall(); 
3906 ····if·(unlikely(!result)·&&·unlikely(!PyErr_Occurred()))·{ 
3907 ········PyErr_SetString( 
3908 ············PyExc_SystemError, 
3909 ············"NULL·result·without·error·in·PyObject_Call"); 
3910 ····} 
3911 ····return·result; 
3912 } 
3913 #endif 
  
3914 /*·GetVTable·*/ 
3915 static·int·__Pyx_GetVtable(PyTypeObject·*type,·void**·table)·{ 
3916 ····void*·ptr; 
3917 ····*table·=·NULL; 
3918 #if·CYTHON_COMPILING_IN_LIMITED_API 
3919 ····PyObject·*ob·=·PyObject_GetAttr((PyObject·*)type,·__pyx_mstate_global->__pyx_n_u_pyx_vtable); 
3920 #else 
3921 ····PyObject·*ob·=·PyObject_GetItem(type->tp_dict,·__pyx_mstate_global->__pyx_n_u_pyx_vtable); 
3922 #endif 
3923 ····if·(!ob) 
3924 ········goto·no_attr; 
3925 ····ptr·=·PyCapsule_GetPointer(ob,·0); 
3926 ····if·(!ptr·&&·!PyErr_Occurred()) 
3927 ········PyErr_SetString(PyExc_RuntimeError,·"invalid·vtable·found·for·imported·type"); 
3928 ····Py_DECREF(ob); 
3929 ····*table·=·ptr; 
3930 ····return·1; 
3931 no_attr: 
3932 ····if·(PyErr_ExceptionMatches(CYTHON_COMPILING_IN_LIMITED_API·?·PyExc_AttributeError·:·PyExc_KeyError))·{ 
3933 ········return·0; 
3934 ····} 
3935 ····Py_XDECREF(ob); 
3936 ····return·-1; 
3937 } 
  
3938 /*·FormatTypeName·*/3865 /*·FormatTypeName·*/
3939 #if·CYTHON_COMPILING_IN_LIMITED_API·&&·__PYX_LIMITED_VERSION_HEX·<·0x030d00003866 #if·CYTHON_COMPILING_IN_LIMITED_API·&&·__PYX_LIMITED_VERSION_HEX·<·0x030d0000
3940 static·__Pyx_TypeName3867 static·__Pyx_TypeName
3941 __Pyx_PyType_GetFullyQualifiedName(PyTypeObject*·tp)3868 __Pyx_PyType_GetFullyQualifiedName(PyTypeObject*·tp)
3942 {3869 {
3943 ····PyObject·*module·=·NULL,·*name·=·NULL,·*result·=·NULL;3870 ····PyObject·*module·=·NULL,·*name·=·NULL,·*result·=·NULL;
3944 ····#if·__PYX_LIMITED_VERSION_HEX·<·0x030b00003871 ····#if·__PYX_LIMITED_VERSION_HEX·<·0x030b0000
Offset 3975, 65 lines modifiedOffset 3898, 14 lines modified
3975 ····}·else·{3898 ····}·else·{
3976 ········result·=·__Pyx_NewRef(__pyx_mstate_global->__pyx_kp_u_);3899 ········result·=·__Pyx_NewRef(__pyx_mstate_global->__pyx_kp_u_);
3977 ····}3900 ····}
3978 ····goto·done;3901 ····goto·done;
3979 }3902 }
3980 #endif3903 #endif
  
3981 /*·CalculateMetaclass·*/ 
3982 static·PyObject·*__Pyx_CalculateMetaclass(PyTypeObject·*metaclass,·PyObject·*bases)·{ 
3983 ····Py_ssize_t·i,·nbases; 
3984 #if·CYTHON_ASSUME_SAFE_SIZE 
3985 ····nbases·=·PyTuple_GET_SIZE(bases); 
3986 #else 
3987 ····nbases·=·PyTuple_Size(bases); 
3988 ····if·(nbases·<·0)·return·NULL; 
3989 #endif 
3990 ····for·(i=0;·i·<·nbases;·i++)·{ 
3991 ········PyTypeObject·*tmptype; 
3992 #if·CYTHON_ASSUME_SAFE_MACROS 
3993 ········PyObject·*tmp·=·PyTuple_GET_ITEM(bases,·i); 
3994 #else 
3995 ········PyObject·*tmp·=·PyTuple_GetItem(bases,·i); 
3996 ········if·(!tmp)·return·NULL; 
3997 #endif 
3998 ········tmptype·=·Py_TYPE(tmp); 
3999 ········if·(!metaclass)·{ 
4000 ············metaclass·=·tmptype; 
4001 ············continue; 
4002 ········} 
4003 ········if·(PyType_IsSubtype(metaclass,·tmptype)) 
4004 ············continue; 
4005 ········if·(PyType_IsSubtype(tmptype,·metaclass))·{ 
4006 ············metaclass·=·tmptype; 
4007 ············continue; 
4008 ········} 
4009 ········PyErr_SetString(PyExc_TypeError, 
4010 ························"metaclass·conflict:·" 
4011 ························"the·metaclass·of·a·derived·class·" 
4012 ························"must·be·a·(non-strict)·subclass·" 
4013 ························"of·the·metaclasses·of·all·its·bases"); 
4014 ········return·NULL; 
4015 ····} 
4016 ····if·(!metaclass)·{ 
4017 ········metaclass·=·&PyType_Type; 
4018 ····} 
4019 ····Py_INCREF((PyObject*)·metaclass); 
4020 ····return·(PyObject*)·metaclass; 
4021 } 
  
4022 /*·IgnoreException·*/ 
4023 static·CYTHON_INLINE·int·__Pyx_IgnoreGivenException(PyObject·*given_exception,·PyObject·*ignorable_exception)·{ 
4024 ····if·(PyErr_GivenExceptionMatches(given_exception·?·given_exception·:·PyErr_Occurred(),·ignorable_exception))·{ 
4025 ········PyErr_Clear(); 
4026 ········return·1; 
4027 ····} 
4028 ····return·0; 
4029 } 
  
4030 /*·PyObjectCallMethod0·*/3904 /*·PyObjectCallMethod0·*/
4031 static·CYTHON_INLINE·PyObject*·__Pyx_PyObject_CallMethod0(PyObject*·obj,·PyObject*·method_name)·{3905 static·CYTHON_INLINE·PyObject*·__Pyx_PyObject_CallMethod0(PyObject*·obj,·PyObject*·method_name)·{
4032 #if·CYTHON_VECTORCALL·&&·(__PYX_LIMITED_VERSION_HEX·>=·0x030C0000·||·!CYTHON_COMPILING_IN_LIMITED_API)3906 #if·CYTHON_VECTORCALL·&&·(__PYX_LIMITED_VERSION_HEX·>=·0x030C0000·||·!CYTHON_COMPILING_IN_LIMITED_API)
4033 ····return·PyObject_VectorcallMethod(method_name,·&obj,·1·|·PY_VECTORCALL_ARGUMENTS_OFFSET,·NULL);3907 ····return·PyObject_VectorcallMethod(method_name,·&obj,·1·|·PY_VECTORCALL_ARGUMENTS_OFFSET,·NULL);
4034 #elif·CYTHON_COMPILING_IN_LIMITED_API3908 #elif·CYTHON_COMPILING_IN_LIMITED_API
4035 ····return·PyObject_CallMethodObjArgs(obj,·method_name,·NULL);3909 ····return·PyObject_CallMethodObjArgs(obj,·method_name,·NULL);
4036 #else3910 #else
Offset 4062, 14 lines modifiedOffset 3934, 23 lines modified
4062 ············"Please·report·this·as·Cython·bug");3934 ············"Please·report·this·as·Cython·bug");
4063 ········return·-1;3935 ········return·-1;
4064 ····}3936 ····}
4065 ····return·tp_dictoffset;3937 ····return·tp_dictoffset;
4066 }3938 }
4067 #endif3939 #endif
  
 3940 /*·IgnoreException·*/
 3941 static·CYTHON_INLINE·int·__Pyx_IgnoreGivenException(PyObject·*given_exception,·PyObject·*ignorable_exception)·{
 3942 ····if·(PyErr_GivenExceptionMatches(given_exception·?·given_exception·:·PyErr_Occurred(),·ignorable_exception))·{
 3943 ········PyErr_Clear();
 3944 ········return·1;
 3945 ····}
 3946 ····return·0;
 3947 }
  
4068 /*·CheckUnpickleChecksumError·*/3948 /*·CheckUnpickleChecksumError·*/
4069 static·void·__Pyx_RaiseUnpickleChecksumError(long·checksum,·long·checksum1,·long·checksum2,·long·checksum3,·const·char·*members)·{3949 static·void·__Pyx_RaiseUnpickleChecksumError(long·checksum,·long·checksum1,·long·checksum2,·long·checksum3,·const·char·*members)·{
4070 ····PyObject·*pickle_module·=·PyImport_ImportModule("pickle");3950 ····PyObject·*pickle_module·=·PyImport_ImportModule("pickle");
4071 ····if·(unlikely(!pickle_module))·return;3951 ····if·(unlikely(!pickle_module))·return;
4072 ····PyObject·*pickle_error·=·PyObject_GetAttrString(pickle_module,·"PickleError");3952 ····PyObject·*pickle_error·=·PyObject_GetAttrString(pickle_module,·"PickleError");
4073 ····Py_DECREF(pickle_module);3953 ····Py_DECREF(pickle_module);
4074 ····if·(unlikely(!pickle_error))·return;3954 ····if·(unlikely(!pickle_error))·return;
Offset 4120, 14 lines modifiedOffset 4001, 54 lines modified
4120 ····}4001 ····}
4121 ····PyErr_Format(PyExc_TypeError,4002 ····PyErr_Format(PyExc_TypeError,
4122 ·················"%.200s()·takes·%.8s·%"·CYTHON_FORMAT_SSIZE_T·"d·positional·argument%.1s·(%"·CYTHON_FORMAT_SSIZE_T·"d·given)",4003 ·················"%.200s()·takes·%.8s·%"·CYTHON_FORMAT_SSIZE_T·"d·positional·argument%.1s·(%"·CYTHON_FORMAT_SSIZE_T·"d·given)",
4123 ·················func_name,·more_or_less,·num_expected,4004 ·················func_name,·more_or_less,·num_expected,
4124 ·················(num_expected·==·1)·?·""·:·"s",·num_found);4005 ·················(num_expected·==·1)·?·""·:·"s",·num_found);
4125 }4006 }
  
 4007 /*·PyObjectCall·(used·by·PyObjectFastCall)·*/
 4008 #if·CYTHON_COMPILING_IN_CPYTHON
 4009 static·CYTHON_INLINE·PyObject*·__Pyx_PyObject_Call(PyObject·*func,·PyObject·*arg,·PyObject·*kw)·{
 4010 ····PyObject·*result;
 4011 ····ternaryfunc·call·=·Py_TYPE(func)->tp_call;
 4012 ····if·(unlikely(!call))
 4013 ········return·PyObject_Call(func,·arg,·kw);
 4014 ····if·(unlikely(Py_EnterRecursiveCall("·while·calling·a·Python·object")))
 4015 ········return·NULL;
 4016 ····result·=·(*call)(func,·arg,·kw);
 4017 ····Py_LeaveRecursiveCall();
 4018 ····if·(unlikely(!result)·&&·unlikely(!PyErr_Occurred()))·{
 4019 ········PyErr_SetString(
 4020 ············PyExc_SystemError,
 4021 ············"NULL·result·without·error·in·PyObject_Call");
 4022 ····}
 4023 ····return·result;
 4024 }
 4025 #endif
  
 4026 /*·PyObjectCallMethO·(used·by·PyObjectFastCall)·*/
 4027 #if·CYTHON_COMPILING_IN_CPYTHON
 4028 static·CYTHON_INLINE·PyObject*·__Pyx_PyObject_CallMethO(PyObject·*func,·PyObject·*arg)·{
 4029 ····PyObject·*self,·*result;
 4030 ····PyCFunction·cfunc;
 4031 ····cfunc·=·__Pyx_CyOrPyCFunction_GET_FUNCTION(func);
 4032 ····self·=·__Pyx_CyOrPyCFunction_GET_SELF(func);
 4033 ····if·(unlikely(Py_EnterRecursiveCall("·while·calling·a·Python·object")))
 4034 ········return·NULL;
 4035 ····result·=·cfunc(self,·arg);
 4036 ····Py_LeaveRecursiveCall();
 4037 ····if·(unlikely(!result)·&&·unlikely(!PyErr_Occurred()))·{
 4038 ········PyErr_SetString(
 4039 ············PyExc_SystemError,
 4040 ············"NULL·result·without·error·in·PyObject_Call");
 4041 ····}
 4042 ····return·result;
 4043 }
 4044 #endif
  
4126 /*·PyObjectFastCall·(used·by·PyObjectCallOneArg)·*/4045 /*·PyObjectFastCall·(used·by·PyObjectCallOneArg)·*/
4127 #if·CYTHON_COMPILING_IN_LIMITED_API4046 #if·CYTHON_COMPILING_IN_LIMITED_API
4128 static·PyObject*·__Pyx_PyObject_FastCall_fallback(PyObject·*func,·PyObject·*·const*args,·size_t·nargs,·PyObject·*kwargs)·{4047 static·PyObject*·__Pyx_PyObject_FastCall_fallback(PyObject·*func,·PyObject·*·const*args,·size_t·nargs,·PyObject·*kwargs)·{
4129 ····PyObject·*argstuple;4048 ····PyObject·*argstuple;
4130 ····PyObject·*result·=·0;4049 ····PyObject·*result·=·0;
4131 ····size_t·i;4050 ····size_t·i;
4132 ····argstuple·=·PyTuple_New((Py_ssize_t)nargs);4051 ····argstuple·=·PyTuple_New((Py_ssize_t)nargs);
Offset 4337, 14 lines modifiedOffset 4258, 93 lines modified
4337 ····const·char*·func_name,4258 ····const·char*·func_name,
4338 ····PyObject*·kw_name)4259 ····PyObject*·kw_name)
4339 {4260 {
4340 ····PyErr_Format(PyExc_TypeError,4261 ····PyErr_Format(PyExc_TypeError,
4341 ········"%s()·got·multiple·values·for·keyword·argument·'%U'",·func_name,·kw_name);4262 ········"%s()·got·multiple·values·for·keyword·argument·'%U'",·func_name,·kw_name);
4342 }4263 }
  
 4264 /*·CalculateMetaclass·*/
 4265 static·PyObject·*__Pyx_CalculateMetaclass(PyTypeObject·*metaclass,·PyObject·*bases)·{
 4266 ····Py_ssize_t·i,·nbases;
 4267 #if·CYTHON_ASSUME_SAFE_SIZE
 4268 ····nbases·=·PyTuple_GET_SIZE(bases);
 4269 #else
 4270 ····nbases·=·PyTuple_Size(bases);
 4271 ····if·(nbases·<·0)·return·NULL;
 4272 #endif
 4273 ····for·(i=0;·i·<·nbases;·i++)·{
 4274 ········PyTypeObject·*tmptype;
 4275 #if·CYTHON_ASSUME_SAFE_MACROS
 4276 ········PyObject·*tmp·=·PyTuple_GET_ITEM(bases,·i);
 4277 #else
 4278 ········PyObject·*tmp·=·PyTuple_GetItem(bases,·i);
 4279 ········if·(!tmp)·return·NULL;
 4280 #endif
 4281 ········tmptype·=·Py_TYPE(tmp);
 4282 ········if·(!metaclass)·{
 4283 ············metaclass·=·tmptype;
 4284 ············continue;
 4285 ········}
 4286 ········if·(PyType_IsSubtype(metaclass,·tmptype))
 4287 ············continue;
 4288 ········if·(PyType_IsSubtype(tmptype,·metaclass))·{
 4289 ············metaclass·=·tmptype;
 4290 ············continue;
 4291 ········}
 4292 ········PyErr_SetString(PyExc_TypeError,
 4293 ························"metaclass·conflict:·"
 4294 ························"the·metaclass·of·a·derived·class·"
 4295 ························"must·be·a·(non-strict)·subclass·"
 4296 ························"of·the·metaclasses·of·all·its·bases");
 4297 ········return·NULL;
 4298 ····}
 4299 ····if·(!metaclass)·{
 4300 ········metaclass·=·&PyType_Type;
 4301 ····}
 4302 ····Py_INCREF((PyObject*)·metaclass);
 4303 ····return·(PyObject*)·metaclass;
 4304 }
  
 4305 /*·CopyObjectArray·*/
 4306 #if·CYTHON_COMPILING_IN_CPYTHON
 4307 static·CYTHON_INLINE·void·__Pyx_copy_object_array(PyObject·*const·*CYTHON_RESTRICT·src,·PyObject**·CYTHON_RESTRICT·dest,·Py_ssize_t·length)·{
 4308 ····PyObject·*v;
 4309 ····Py_ssize_t·i;
 4310 ····for·(i·=·0;·i·<·length;·i++)·{
 4311 ········v·=·dest[i]·=·src[i];
 4312 ········Py_INCREF(v);
 4313 ····}
 4314 }
 4315 #endif
  
 4316 /*·GetVTable·*/
 4317 static·int·__Pyx_GetVtable(PyTypeObject·*type,·void**·table)·{
 4318 ····void*·ptr;
 4319 ····*table·=·NULL;
 4320 #if·CYTHON_COMPILING_IN_LIMITED_API
 4321 ····PyObject·*ob·=·PyObject_GetAttr((PyObject·*)type,·__pyx_mstate_global->__pyx_n_u_pyx_vtable);
 4322 #else
 4323 ····PyObject·*ob·=·PyObject_GetItem(type->tp_dict,·__pyx_mstate_global->__pyx_n_u_pyx_vtable);
 4324 #endif
 4325 ····if·(!ob)
 4326 ········goto·no_attr;
 4327 ····ptr·=·PyCapsule_GetPointer(ob,·0);
 4328 ····if·(!ptr·&&·!PyErr_Occurred())
 4329 ········PyErr_SetString(PyExc_RuntimeError,·"invalid·vtable·found·for·imported·type");
 4330 ····Py_DECREF(ob);
 4331 ····*table·=·ptr;
 4332 ····return·1;
 4333 no_attr:
 4334 ····if·(PyErr_ExceptionMatches(CYTHON_COMPILING_IN_LIMITED_API·?·PyExc_AttributeError·:·PyExc_KeyError))·{
 4335 ········return·0;
 4336 ····}
 4337 ····Py_XDECREF(ob);
 4338 ····return·-1;
 4339 }
  
4343 /*·AddModuleRef·*/4340 /*·AddModuleRef·*/
4344 #if·CYTHON_COMPILING_IN_CPYTHON_FREETHREADING·&&·PY_VERSION_HEX·<·0x030F00a34341 #if·CYTHON_COMPILING_IN_CPYTHON_FREETHREADING·&&·PY_VERSION_HEX·<·0x030F00a3
4345 ··static·PyObject·*__Pyx_PyImport_AddModuleObjectRef(PyObject·*name)·{4342 ··static·PyObject·*__Pyx_PyImport_AddModuleObjectRef(PyObject·*name)·{
4346 ······PyObject·*module_dict·=·PyImport_GetModuleDict();4343 ······PyObject·*module_dict·=·PyImport_GetModuleDict();
4347 ······PyObject·*m;4344 ······PyObject·*m;
4348 ······if·(PyMapping_GetOptionalItem(module_dict,·name,·&m)·<·0)·{4345 ······if·(PyMapping_GetOptionalItem(module_dict,·name,·&m)·<·0)·{
4349 ··········return·NULL;4346 ··········return·NULL;
Offset 4441, 599 lines modifiedOffset 4441, 235 lines modified
4441 ········}4441 ········}
4442 ····}4442 ····}
4443 ····Py_VISIT((PyObject*)Py_TYPE(o));4443 ····Py_VISIT((PyObject*)Py_TYPE(o));
4444 ····return·0;4444 ····return·0;
4445 }4445 }
4446 #endif4446 #endif
  
 4447 /*·pybuiltin_invalid·*/
 4448 static·void·__Pyx_PyBuiltin_Invalid(PyObject·*obj,·const·char·*builtin_type_name,·const·char·*argname)·{
 4449 ····__Pyx_TypeName·obj_type_name·=·__Pyx_PyType_GetFullyQualifiedName(Py_TYPE(obj));
 4450 ····#if·CYTHON_COMPILING_IN_LIMITED_API·&&·__PYX_LIMITED_VERSION_HEX·<·0x030d0000
 4451 ····if·(unlikely(!obj_type_name))·return;
 4452 ····#endif
 4453 ····if·(argname)·{
 4454 ········PyErr_Format(PyExc_TypeError,
 4455 ············"Argument·'%.200s'·has·incorrect·type·(expected·%.5s,·got·"·__Pyx_FMT_TYPENAME·")",
 4456 ············argname,·builtin_type_name,·obj_type_name
 4457 ········);
4447 /*·JoinPyUnicode·*/ 
4448 static·PyObject*·__Pyx_PyUnicode_Join(PyObject**·values,·Py_ssize_t·value_count,·Py_ssize_t·result_ulength,·int·kind)·{ 
4449 #if·__Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH·&&·CYTHON_USE_UNICODE_INTERNALS 
4450 ····PyObject·*result_uval; 
4451 ····int·result_ukind,·kind_shift; 
4452 ····Py_ssize_t·i,·char_pos; 
4453 ····void·*result_udata; 
4454 ····static·const·Py_UCS4·max_char[5]·=·{0x7fU,·0xffU,·0xffffU,·0xffffU,·0x10ffffU}; 
4455 ····assert·(kind·>=·0); 
4456 ····if·(kind·>·PyUnicode_4BYTE_KIND)·kind·=·PyUnicode_4BYTE_KIND; 
4457 ····result_uval·=·PyUnicode_New(result_ulength,·max_char[kind]); 
4458 ····if·(unlikely(!result_uval))·return·NULL; 
4459 ····kind_shift·=·kind·>>·1;··//·0,·1,·2 
4460 ····result_ukind·=·1·<<·kind_shift;··//·1,·2,·4 
4461 ····result_udata·=·PyUnicode_DATA(result_uval); 
4462 ····assert(kind_shift·==·2·||·kind_shift·==·1·||·kind_shift·==·0); 
4463 ····if·(unlikely((PY_SSIZE_T_MAX·>>·kind_shift)·-·result_ulength·<·0)) 
4464 ········goto·overflow; 
4465 ····char_pos·=·0; 
4466 ····for·(i=0;·i·<·value_count;·i++)·{ 
4467 ········int·ukind; 
4468 ········Py_ssize_t·ulength; 
4469 ········void·*udata; 
4470 ········PyObject·*uval·=·values[i]; 
4471 ········if·(__Pyx_PyUnicode_READY(uval)·==·(-1)) 
4472 ············goto·bad; 
4473 ········ulength·=·__Pyx_PyUnicode_GET_LENGTH(uval); 
4474 ········#if·!CYTHON_ASSUME_SAFE_SIZE 
4475 ········if·(unlikely(ulength·<·0))·goto·bad; 
4476 ········#endif 
4477 ········if·(unlikely(!ulength)) 
4478 ············continue; 
4479 ········if·(unlikely((PY_SSIZE_T_MAX·>>·kind_shift)·-·ulength·<·char_pos)) 
4480 ············goto·overflow; 
4481 ········ukind·=·__Pyx_PyUnicode_KIND(uval); 
4482 ········udata·=·__Pyx_PyUnicode_DATA(uval); 
4483 ········if·(ukind·==·result_ukind)·{ 
4484 ············memcpy((char·*)result_udata·+·(char_pos·<<·kind_shift),·udata,·(size_t)·(ulength·<<·kind_shift)); 
4485 ········}·else·{ 
4486 ············#if·PY_VERSION_HEX·>=·0x030d0000 
4487 ············if·(unlikely(PyUnicode_CopyCharacters(result_uval,·char_pos,·uval,·0,·ulength)·<·0))·goto·bad; 
4488 ············#elif·CYTHON_COMPILING_IN_CPYTHON·||·defined(_PyUnicode_FastCopyCharacters) 
4489 ············_PyUnicode_FastCopyCharacters(result_uval,·char_pos,·uval,·0,·ulength); 
4490 ············#else 
4491 ············Py_ssize_t·j; 
4492 ············for·(j=0;·j·<·ulength;·j++)·{ 
4493 ················Py_UCS4·uchar·=·__Pyx_PyUnicode_READ(ukind,·udata,·j); 
4494 ················__Pyx_PyUnicode_WRITE(result_ukind,·result_udata,·char_pos+j,·uchar); 
4495 ············} 
4496 ············#endif 
4497 ········} 
4498 ········char_pos·+=·ulength; 
4499 ····} 
4500 ····return·result_uval; 
4501 overflow: 
4502 ····PyErr_SetString(PyExc_OverflowError,·"join()·result·is·too·long·for·a·Python·string"); 
4503 bad: 
4504 ····Py_DECREF(result_uval); 
4505 ····return·NULL; 
4506 #else 
4507 ····Py_ssize_t·i; 
4508 ····PyObject·*result·=·NULL; 
4509 ····PyObject·*value_tuple·=·PyTuple_New(value_count); 
4510 ····if·(unlikely(!value_tuple))·return·NULL; 
4511 ····CYTHON_UNUSED_VAR(kind); 
4512 ····CYTHON_UNUSED_VAR(result_ulength); 
4513 ····for·(i=0;·i<value_count;·i++)·{ 
4514 ········Py_INCREF(values[i]); 
4515 ········if·(__Pyx_PyTuple_SET_ITEM(value_tuple,·i,·values[i])·!=·(0))·goto·bad; 
4516 ····} 
4517 ····result·=·PyUnicode_Join(__pyx_mstate_global->__pyx_empty_unicode,·value_tuple); 
4518 bad: 
4519 ····Py_DECREF(value_tuple); 
4520 ····return·result; 
4521 #endif 
4522 } 
  
4523 /*·RaiseException·*/ 
4524 static·void·__Pyx_Raise(PyObject·*type,·PyObject·*value,·PyObject·*tb,·PyObject·*cause)·{ 
4525 ····PyObject*·owned_instance·=·NULL; 
4526 ····if·(tb·==·Py_None)·{ 
4527 ········tb·=·0; 
4528 ····}·else·if·(tb·&&·!PyTraceBack_Check(tb))·{ 
4529 ········PyErr_SetString(PyExc_TypeError, 
4530 ············"raise:·arg·3·must·be·a·traceback·or·None"); 
4531 ········goto·bad; 
4532 ····} 
4533 ····if·(value·==·Py_None) 
4534 ········value·=·0; 
4535 ····if·(PyExceptionInstance_Check(type))·{ 
4536 ········if·(value)·{ 
4537 ············PyErr_SetString(PyExc_TypeError, 
4538 ················"instance·exception·may·not·have·a·separate·value"); 
4539 ············goto·bad; 
4540 ········} 
4541 ········value·=·type; 
4542 ········type·=·(PyObject*)·Py_TYPE(value); 
4543 ····}·else·if·(PyExceptionClass_Check(type))·{ 
4544 ········PyObject·*instance_class·=·NULL; 
4545 ········if·(value·&&·PyExceptionInstance_Check(value))·{ 
4546 ············instance_class·=·(PyObject*)·Py_TYPE(value); 
4547 ············if·(instance_class·!=·type)·{ 
4548 ················int·is_subclass·=·PyObject_IsSubclass(instance_class,·type); 
4549 ················if·(!is_subclass)·{ 
4550 ····················instance_class·=·NULL; 
4551 ················}·else·if·(unlikely(is_subclass·==·-1))·{ 
4552 ····················goto·bad; 
4553 ················}·else·{ 
4554 ····················type·=·instance_class; 
4555 ················} 
4556 ············} 
4557 ········} 
4558 ········if·(!instance_class)·{ 
4559 ············PyObject·*args; 
4560 ············if·(!value) 
4561 ················args·=·PyTuple_New(0); 
4562 ············else·if·(PyTuple_Check(value))·{ 
4563 ················Py_INCREF(value); 
4564 ················args·=·value; 
4565 ············}·else 
4566 ················args·=·PyTuple_Pack(1,·value); 
4567 ············if·(!args) 
4568 ················goto·bad; 
4569 ············owned_instance·=·PyObject_Call(type,·args,·NULL); 
4570 ············Py_DECREF(args); 
4571 ············if·(!owned_instance) 
4572 ················goto·bad; 
4573 ············value·=·owned_instance; 
4574 ············if·(!PyExceptionInstance_Check(value))·{ 
4575 ················PyErr_Format(PyExc_TypeError, 
4576 ·····························"calling·%R·should·have·returned·an·instance·of·" 
4577 ·····························"BaseException,·not·%R", 
4578 ·····························type,·Py_TYPE(value)); 
4579 ················goto·bad; 
4580 ············} 
4581 ········} 
4582 ····}·else·{4458 ····}·else·{
4583 ········PyErr_SetString(PyExc_TypeError,4459 ········PyErr_Format(PyExc_TypeError,
 4460 ············"Expected·%.5s,·got·"·__Pyx_FMT_TYPENAME,
 4461 ············builtin_type_name,·obj_type_name
 4462 ········);
Max diff block lines reached; 96044/139656 bytes (68.77%) of diff not shown.