2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* Generated by Cython 0.11.2 on Mon Jun 22 02:56:08 2009 */  
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define PY_SSIZE_T_CLEAN 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "Python.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "structmember.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# ifndef Py_PYTHON_H 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # error Python headers needed to compile C extensions, please install development version of Python. 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# ifndef PY_LONG_LONG 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PY_LONG_LONG LONG_LONG 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# ifndef DL_EXPORT 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define DL_EXPORT(t) t 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_VERSION_HEX < 0x02040000 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define METH_COEXIST 0 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_VERSION_HEX < 0x02050000 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  typedef  int  Py_ssize_t ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PY_SSIZE_T_MAX INT_MAX 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PY_SSIZE_T_MIN INT_MIN 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PY_FORMAT_SIZE_T "" 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyInt_FromSsize_t(z) PyInt_FromLong(z) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyInt_AsSsize_t(o)   PyInt_AsLong(o) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyNumber_Index(o)    PyNumber_Int(o) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyIndex_Check(o)     PyNumber_Check(o) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_VERSION_HEX < 0x02060000 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyVarObject_HEAD_INIT(type, size) \ 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          PyObject_HEAD_INIT ( type )  size , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyType_Modified(t) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  typedef  struct  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       void  * buf ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       PyObject  * obj ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       Py_ssize_t  len ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       Py_ssize_t  itemsize ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       int  readonly ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       int  ndim ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       char  * format ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       Py_ssize_t  * shape ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       Py_ssize_t  * strides ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       Py_ssize_t  * suboffsets ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       void  * internal ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }  Py_buffer ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyBUF_SIMPLE 0 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyBUF_WRITABLE 0x0001 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyBUF_FORMAT 0x0004 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyBUF_ND 0x0008 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyBUF_STRIDES (0x0010 | PyBUF_ND) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_MAJOR_VERSION < 3 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define __Pyx_BUILTIN_MODULE_NAME "__builtin__" 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# else 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define __Pyx_BUILTIN_MODULE_NAME "builtins" 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_MAJOR_VERSION >= 3 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define Py_TPFLAGS_CHECKTYPES 0 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define Py_TPFLAGS_HAVE_INDEX 0 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define Py_TPFLAGS_HAVE_NEWBUFFER 0 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_MAJOR_VERSION >= 3 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyBaseString_Type            PyUnicode_Type 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyString_Type                PyBytes_Type 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyString_CheckExact          PyBytes_CheckExact 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyInt_Type                   PyLong_Type 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyInt_Check(op)              PyLong_Check(op) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyInt_CheckExact(op)         PyLong_CheckExact(op) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyInt_FromString             PyLong_FromString 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyInt_FromUnicode            PyLong_FromUnicode 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyInt_FromLong               PyLong_FromLong 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyInt_FromSize_t             PyLong_FromSize_t 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyInt_FromSsize_t            PyLong_FromSsize_t 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyInt_AsLong                 PyLong_AsLong 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyInt_AS_LONG                PyLong_AS_LONG 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyInt_AsSsize_t              PyLong_AsSsize_t 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# else 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyBytes_Type                 PyString_Type 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_MAJOR_VERSION >= 3 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define PyMethod_New(func, self, klass) PyInstanceMethod_New(func) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if !defined(WIN32) && !defined(MS_WINDOWS) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # ifndef __stdcall 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # define __stdcall 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # ifndef __cdecl 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # define __cdecl 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  # ifndef __fastcall 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # define __fastcall 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# else 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define _USE_MATH_DEFINES 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_VERSION_HEX < 0x02050000 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n))) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a)) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n))) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# else 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n)) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a)) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n)) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_VERSION_HEX < 0x02050000 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define __Pyx_NAMESTR(n) ((char *)(n)) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define __Pyx_DOCSTR(n)  ((char *)(n)) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# else 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define __Pyx_NAMESTR(n) (n) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # define __Pyx_DOCSTR(n)  (n) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# ifdef __cplusplus 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __PYX_EXTERN_C extern "C" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# else 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __PYX_EXTERN_C extern 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  <math.h> 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __PYX_HAVE_API__msgpack 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "stdlib.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "string.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "pack.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "unpack.h" 
  
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define __PYX_USE_C99_COMPLEX defined(_Complex_I) 
  
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# ifdef __GNUC__ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define INLINE __inline__ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# elif _WIN32 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define INLINE __inline 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# else 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define INLINE  
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  { PyObject  * * p ;  char  * s ;  long  n ;  char  is_unicode ;  char  intern ;  char  is_identifier ; }  __Pyx_StringTabEntry ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  int  __pyx_skip_dispatch  =  0 ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* Type Conversion Predeclarations */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_MAJOR_VERSION < 3 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_PyBytes_FromString          PyString_FromString 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_PyBytes_FromStringAndSize   PyString_FromStringAndSize 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_PyBytes_AsString            PyString_AsString 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# else 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_PyBytes_FromString          PyBytes_FromString 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_PyBytes_FromStringAndSize   PyBytes_FromStringAndSize 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_PyBytes_AsString            PyBytes_AsString 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False)) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  int  __Pyx_PyObject_IsTrue ( PyObject * ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  PyObject *  __Pyx_PyNumber_Int ( PyObject *  x ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if !defined(T_PYSSIZET) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_VERSION_HEX < 0x02050000 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define T_PYSSIZET T_INT 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# elif !defined(T_LONGLONG) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define T_PYSSIZET \ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ( ( sizeof ( Py_ssize_t )  = =  sizeof ( int ) )   ?  T_INT   :  \
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ( ( sizeof ( Py_ssize_t )  = =  sizeof ( long ) )  ?  T_LONG  :  - 1 ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# else 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define T_PYSSIZET \ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ( ( sizeof ( Py_ssize_t )  = =  sizeof ( int ) )           ?  T_INT       :  \
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ( ( sizeof ( Py_ssize_t )  = =  sizeof ( long ) )          ?  T_LONG      :  \
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ( ( sizeof ( Py_ssize_t )  = =  sizeof ( PY_LONG_LONG ) )  ?  T_LONGLONG  :  - 1 ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if !defined(T_SIZET) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if !defined(T_ULONGLONG) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define T_SIZET \ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ( ( sizeof ( size_t )  = =  sizeof ( unsigned  int ) )   ?  T_UINT   :  \
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ( ( sizeof ( size_t )  = =  sizeof ( unsigned  long ) )  ?  T_ULONG  :  - 1 ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# else 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define T_SIZET \ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ( ( sizeof ( size_t )  = =  sizeof ( unsigned  int ) )           ?  T_UINT       :  \
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ( ( sizeof ( size_t )  = =  sizeof ( unsigned  long ) )          ?  T_ULONG      :  \
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ( ( sizeof ( size_t )  = =  sizeof ( unsigned  PY_LONG_LONG ) )  ?  T_ULONGLONG  :  - 1 ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  Py_ssize_t  __Pyx_PyIndex_AsSsize_t ( PyObject * ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  PyObject  *  __Pyx_PyInt_FromSize_t ( size_t ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  size_t  __Pyx_PyInt_AsSize_t ( PyObject * ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# ifdef __GNUC__ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* Test for GCC > 2.95 */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if __GNUC__ > 2 ||               (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))  
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define likely(x)   __builtin_expect(!!(x), 1) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define unlikely(x) __builtin_expect(!!(x), 0) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# else  /* __GNUC__ > 2 ... */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define likely(x)   (x) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define unlikely(x) (x) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif  /* __GNUC__ > 2 ... */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# else  /* __GNUC__ */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define likely(x)   (x) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define unlikely(x) (x) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif  /* __GNUC__ */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_m ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_b ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_empty_tuple ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  int  __pyx_lineno ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  int  __pyx_clineno  =  0 ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  const  char  *  __pyx_cfilenm =  __FILE__ ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  const  char  * __pyx_filename ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  const  char  * * __pyx_f ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# ifdef CYTHON_REFNANNY 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  void  ( * INCREF ) ( void * ,  PyObject * ,  int ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  void  ( * DECREF ) ( void * ,  PyObject * ,  int ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  void  ( * GOTREF ) ( void * ,  PyObject * ,  int ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  void  ( * GIVEREF ) ( void * ,  PyObject * ,  int ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  void *  ( * NewContext ) ( const  char * ,  int ,  const  char * ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  void  ( * FinishContext ) ( void * * ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  __Pyx_RefnannyAPIStruct ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  __Pyx_RefnannyAPIStruct  * __Pyx_Refnanny  =  NULL ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_ImportRefcountAPI(name)   (__Pyx_RefnannyAPIStruct *) PyCObject_Import((char *)name, (char *)"RefnannyAPI") 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_INCREF(r) __Pyx_Refnanny->INCREF(__pyx_refchk, (PyObject *)(r), __LINE__) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_DECREF(r) __Pyx_Refnanny->DECREF(__pyx_refchk, (PyObject *)(r), __LINE__) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_GOTREF(r) __Pyx_Refnanny->GOTREF(__pyx_refchk, (PyObject *)(r), __LINE__) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_GIVEREF(r) __Pyx_Refnanny->GIVEREF(__pyx_refchk, (PyObject *)(r), __LINE__) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_XDECREF(r) if((r) == NULL) ; else __Pyx_DECREF(r) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_SetupRefcountContext(name)   void* __pyx_refchk = __Pyx_Refnanny->NewContext((name), __LINE__, __FILE__) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_FinishRefcountContext()   __Pyx_Refnanny->FinishContext(&__pyx_refchk) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# else 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_INCREF(r) Py_INCREF(r) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_DECREF(r) Py_DECREF(r) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_GOTREF(r) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_GIVEREF(r) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_XDECREF(r) Py_XDECREF(r) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_SetupRefcountContext(name) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_FinishRefcountContext() 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif  /* CYTHON_REFNANNY */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_XGIVEREF(r) if((r) == NULL) ; else __Pyx_GIVEREF(r) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __Pyx_XGOTREF(r) if((r) == NULL) ; else __Pyx_GOTREF(r) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  void  __Pyx_RaiseDoubleKeywordsError (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  char *  func_name ,  PyObject *  kw_name ) ;  /*proto*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  void  __Pyx_RaiseArgtupleInvalid ( const  char *  func_name ,  int  exact ,  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_ssize_t  num_min ,  Py_ssize_t  num_max ,  Py_ssize_t  num_found ) ;  /*proto*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  int  __Pyx_ParseOptionalKeywords ( PyObject  * kwds ,  PyObject  * * argnames [ ] ,      PyObject  * kwds2 ,  PyObject  * values [ ] ,  Py_ssize_t  num_pos_args ,      const  char *  function_name ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __Pyx_Import ( PyObject  * name ,  PyObject  * from_list ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __Pyx_GetName ( PyObject  * dict ,  PyObject  * name ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  void  __Pyx_RaiseNeedMoreValuesError ( Py_ssize_t  index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  void  __Pyx_RaiseTooManyValuesError ( void ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __Pyx_UnpackItem ( PyObject  * ,  Py_ssize_t  index ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  int  __Pyx_EndUnpack ( PyObject  * ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  void  __Pyx_Raise ( PyObject  * type ,  PyObject  * value ,  PyObject  * tb ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  void  __Pyx_ErrRestore ( PyObject  * type ,  PyObject  * value ,  PyObject  * tb ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  void  __Pyx_ErrFetch ( PyObject  * * type ,  PyObject  * * value ,  PyObject  * * tb ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  int  __Pyx_StrEq ( const  char  * ,  const  char  * ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  unsigned  char  __Pyx_PyInt_AsUnsignedChar ( PyObject  * ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  unsigned  short  __Pyx_PyInt_AsUnsignedShort ( PyObject  * ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  unsigned  int  __Pyx_PyInt_AsUnsignedInt ( PyObject  * ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  char  __Pyx_PyInt_AsChar ( PyObject  * ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  short  __Pyx_PyInt_AsShort ( PyObject  * ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  int  __Pyx_PyInt_AsInt ( PyObject  * ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  signed  char  __Pyx_PyInt_AsSignedChar ( PyObject  * ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  signed  short  __Pyx_PyInt_AsSignedShort ( PyObject  * ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  signed  int  __Pyx_PyInt_AsSignedInt ( PyObject  * ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  unsigned  long  __Pyx_PyInt_AsUnsignedLong ( PyObject  * ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  unsigned  PY_LONG_LONG  __Pyx_PyInt_AsUnsignedLongLong ( PyObject  * ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  long  __Pyx_PyInt_AsLong ( PyObject  * ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  PY_LONG_LONG  __Pyx_PyInt_AsLongLong ( PyObject  * ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  signed  long  __Pyx_PyInt_AsSignedLong ( PyObject  * ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  signed  PY_LONG_LONG  __Pyx_PyInt_AsSignedLongLong ( PyObject  * ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  void  __Pyx_WriteUnraisable ( const  char  * name ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								static  int  __Pyx_SetVtable ( PyObject  * dict ,  void  * vtable ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								static  void  __Pyx_AddTraceback ( const  char  * funcname ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  int  __Pyx_InitStrings ( __Pyx_StringTabEntry  * t ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* Type declarations */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* "/home/inada-n/work/msgpack/python/msgpack.pyx":39
  
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *  cdef  int  BUFF_SIZE = 2 * 1024 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  cdef  class  Packer :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      " " " Packer that pack data into strm. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  __pyx_obj_7msgpack_Packer  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject_HEAD 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  struct  __pyx_vtabstruct_7msgpack_Packer  * __pyx_vtab ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  char  * buff ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  unsigned  int  length ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  unsigned  int  allocated ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  struct  msgpack_packer  pk ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * strm ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* "/home/inada-n/work/msgpack/python/msgpack.pyx":200
  
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *      return  unpacks ( packed ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  cdef  class  Unpacker :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      " " " Do nothing. This function is for symmetric to Packer " " " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      unpack  =  staticmethod ( unpacks ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  __pyx_obj_7msgpack_Unpacker  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject_HEAD 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* "/home/inada-n/work/msgpack/python/msgpack.pyx":39
  
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  cdef  int  BUFF_SIZE = 2 * 1024 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  cdef  class  Packer :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      " " " Packer that pack data into strm. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  __pyx_vtabstruct_7msgpack_Packer  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * ( * __pack ) ( struct  __pyx_obj_7msgpack_Packer  * ,  PyObject  * ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  struct  __pyx_vtabstruct_7msgpack_Packer  * __pyx_vtabptr_7msgpack_Packer ;  
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								/* Module declarations from msgpack */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyTypeObject  * __pyx_ptype_7msgpack_Packer  =  0 ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyTypeObject  * __pyx_ptype_7msgpack_Unpacker  =  0 ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  int  __pyx_v_7msgpack_BUFF_SIZE ;  
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								static  PyObject  * __pyx_k_1  =  0 ;  
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								static  int  __pyx_f_7msgpack__packer_write ( struct  __pyx_obj_7msgpack_Packer  * ,  const  char * ,  unsigned  int ) ;  /*proto*/  
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define __Pyx_MODULE_NAME "msgpack" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								int  __pyx_module_is_main_msgpack  =  0 ;  
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* Implementation of msgpack */  
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								static  char  __pyx_k___main__ [ ]  =  " __main__ " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp___main__ ;  
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k___init__ [ ]  =  " __init__ " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp___init__ ;  
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								static  char  __pyx_k___del__ [ ]  =  " __del__ " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp___del__ ;  
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k_flush [ ]  =  " flush " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_flush ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k_pack_list [ ]  =  " pack_list " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_pack_list ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k_pack_dict [ ]  =  " pack_dict " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_pack_dict ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k_pack [ ]  =  " pack " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_pack ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k_unpack [ ]  =  " unpack " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_unpack ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k_strm [ ]  =  " strm " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_strm ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k_size [ ]  =  " size " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_size ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k_len [ ]  =  " len " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_len ;  
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								static  char  __pyx_k_obj [ ]  =  " obj " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_obj ;  
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k_o [ ]  =  " o " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_o ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k_stream [ ]  =  " stream " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_stream ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k_packed_bytes [ ]  =  " packed_bytes " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_packed_bytes ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k_cStringIO [ ]  =  " cStringIO " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_cStringIO ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k_StringIO [ ]  =  " StringIO " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_StringIO ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k_staticmethod [ ]  =  " staticmethod " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_staticmethod ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k_unpacks [ ]  =  " unpacks " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_unpacks ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k_write [ ]  =  " write " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_write ;  
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								static  char  __pyx_k_2 [ ]  =  " flush " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_2 ;  
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k_encode [ ]  =  " encode " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_encode ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k_iteritems [ ]  =  " iteritems " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_iteritems ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k_TypeError [ ]  =  " TypeError " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_TypeError ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k_getvalue [ ]  =  " getvalue " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_getvalue ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k_read [ ]  =  " read " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_read ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_builtin_staticmethod ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_builtin_TypeError ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_3 ;  
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								static  PyObject  * __pyx_kp_4 ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k_3 [ ]  =  " utf-8 " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_k_4 [ ]  =  " can't serialize %r " ;  
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* "/home/inada-n/work/msgpack/python/msgpack.pyx":51
  
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *      cdef  object  strm 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      def  __init__ ( self ,  strm ,  int  size = 0 ) :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  size  < =  0 : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              size  =  BUFF_SIZE 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  int  __pyx_pf_7msgpack_6Packer___init__ ( PyObject  * __pyx_v_self ,  PyObject  * __pyx_args ,  PyObject  * __pyx_kwds ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  int  __pyx_pf_7msgpack_6Packer___init__ ( PyObject  * __pyx_v_self ,  PyObject  * __pyx_args ,  PyObject  * __pyx_kwds )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_v_strm  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  int  __pyx_v_size ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  int  __pyx_r ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  int  __pyx_t_1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  static  PyObject  * * __pyx_pyargnames [ ]  =  { & __pyx_kp_strm , & __pyx_kp_size , 0 } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_SetupRefcountContext ( " __init__ " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( unlikely ( __pyx_kwds ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_ssize_t  kw_args  =  PyDict_Size ( __pyx_kwds ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject *  values [ 2 ]  =  { 0 , 0 } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    switch  ( PyTuple_GET_SIZE ( __pyx_args ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      case   2 :  values [ 1 ]  =  PyTuple_GET_ITEM ( __pyx_args ,  1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      case   1 :  values [ 0 ]  =  PyTuple_GET_ITEM ( __pyx_args ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      case   0 :  break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      default :  goto  __pyx_L5_argtuple_error ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    switch  ( PyTuple_GET_SIZE ( __pyx_args ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      case   0 : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      values [ 0 ]  =  PyDict_GetItem ( __pyx_kwds ,  __pyx_kp_strm ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      if  ( likely ( values [ 0 ] ) )  kw_args - - ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      else  goto  __pyx_L5_argtuple_error ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      case   1 : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      if  ( kw_args  >  1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        PyObject *  value  =  PyDict_GetItem ( __pyx_kwds ,  __pyx_kp_size ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( unlikely ( value ) )  {  values [ 1 ]  =  value ;  kw_args - - ;  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( unlikely ( kw_args  >  0 ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      if  ( unlikely ( __Pyx_ParseOptionalKeywords ( __pyx_kwds ,  __pyx_pyargnames ,  0 ,  values ,  PyTuple_GET_SIZE ( __pyx_args ) ,  " __init__ " )  <  0 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  51 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L3_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_v_strm  =  values [ 0 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( values [ 1 ] )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __pyx_v_size  =  __Pyx_PyInt_AsInt ( values [ 1 ] ) ;  if  ( unlikely ( ( __pyx_v_size  = =  ( int ) - 1 )  & &  PyErr_Occurred ( ) ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  51 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L3_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __pyx_v_size  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_v_size  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    switch  ( PyTuple_GET_SIZE ( __pyx_args ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      case   2 :  __pyx_v_size  =  __Pyx_PyInt_AsInt ( PyTuple_GET_ITEM ( __pyx_args ,  1 ) ) ;  if  ( unlikely ( ( __pyx_v_size  = =  ( int ) - 1 )  & &  PyErr_Occurred ( ) ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  51 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L3_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      case   1 :  __pyx_v_strm  =  PyTuple_GET_ITEM ( __pyx_args ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      default :  goto  __pyx_L5_argtuple_error ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  goto  __pyx_L4_argument_unpacking_done ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L5_argtuple_error : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_RaiseArgtupleInvalid ( " __init__ " ,  0 ,  1 ,  2 ,  PyTuple_GET_SIZE ( __pyx_args ) ) ;  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  51 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L3_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L3_error : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_AddTraceback ( " msgpack.Packer.__init__ " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L4_argument_unpacking_done : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":52
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      def  __init__ ( self ,  strm ,  int  size = 0 ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  size  < =  0 :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              size  =  BUFF_SIZE 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_1  =  ( __pyx_v_size  < =  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( __pyx_t_1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":53
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *      def  __init__ ( self ,  strm ,  int  size = 0 ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  size  < =  0 : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              size  =  BUFF_SIZE              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          self . strm  =  strm 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_v_size  =  __pyx_v_7msgpack_BUFF_SIZE ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    goto  __pyx_L6 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L6 : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":55
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              size  =  BUFF_SIZE 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          self . strm  =  strm              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          self . buff  =  < char * >  malloc ( size ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          self . allocated  =  size 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_INCREF ( __pyx_v_strm ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_GIVEREF ( __pyx_v_strm ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( ( ( struct  __pyx_obj_7msgpack_Packer  * ) __pyx_v_self ) - > strm ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( ( ( struct  __pyx_obj_7msgpack_Packer  * ) __pyx_v_self ) - > strm ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ( ( struct  __pyx_obj_7msgpack_Packer  * ) __pyx_v_self ) - > strm  =  __pyx_v_strm ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":56
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          self . strm  =  strm 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          self . buff  =  < char * >  malloc ( size )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          self . allocated  =  size 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          self . length  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ( ( struct  __pyx_obj_7msgpack_Packer  * ) __pyx_v_self ) - > buff  =  ( ( char  * ) malloc ( __pyx_v_size ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":57
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          self . strm  =  strm 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          self . buff  =  < char * >  malloc ( size ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          self . allocated  =  size              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          self . length  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ( ( struct  __pyx_obj_7msgpack_Packer  * ) __pyx_v_self ) - > allocated  =  __pyx_v_size ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":58
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          self . buff  =  < char * >  malloc ( size ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          self . allocated  =  size 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          self . length  =  0              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          msgpack_packer_init ( & self . pk ,  < void * > self ,  < msgpack_packer_write > _packer_write ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ( ( struct  __pyx_obj_7msgpack_Packer  * ) __pyx_v_self ) - > length  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":60
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          self . length  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          msgpack_packer_init ( & self . pk ,  < void * > self ,  < msgpack_packer_write > _packer_write )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *      def  __del__ ( self ) : 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  msgpack_packer_init ( ( & ( ( struct  __pyx_obj_7msgpack_Packer  * ) __pyx_v_self ) - > pk ) ,  ( ( void  * ) __pyx_v_self ) ,  ( ( int  ( * ) ( void  * ,  const  char * ,  unsigned  int ) ) __pyx_f_7msgpack__packer_write ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_FinishRefcountContext ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  __pyx_r ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* "/home/inada-n/work/msgpack/python/msgpack.pyx":62
  
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *          msgpack_packer_init ( & self . pk ,  < void * > self ,  < msgpack_packer_write > _packer_write ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      def  __del__ ( self ) :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          free ( self . buff ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_pf_7msgpack_6Packer___del__ ( PyObject  * __pyx_v_self ,  PyObject  * unused ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_pf_7msgpack_6Packer___del__ ( PyObject  * __pyx_v_self ,  PyObject  * unused )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_r  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_SetupRefcountContext ( " __del__ " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":63
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *      def  __del__ ( self ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          free ( self . buff ) ;              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      def  flush ( self ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  free ( ( ( struct  __pyx_obj_7msgpack_Packer  * ) __pyx_v_self ) - > buff ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  Py_None ;  __Pyx_INCREF ( Py_None ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XGIVEREF ( __pyx_r ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_FinishRefcountContext ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  __pyx_r ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* "/home/inada-n/work/msgpack/python/msgpack.pyx":65
  
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *          free ( self . buff ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      def  flush ( self ) :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          " " " Flash local buffer and output stream if it has 'flush()' method. " " " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  self . length  >  0 : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_pf_7msgpack_6Packer_flush ( PyObject  * __pyx_v_self ,  PyObject  * unused ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_doc_7msgpack_6Packer_flush [ ]  =  " Flash local buffer and output stream if it has 'flush()' method. " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_pf_7msgpack_6Packer_flush ( PyObject  * __pyx_v_self ,  PyObject  * unused )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_r  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  int  __pyx_t_1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_t_2  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_t_3  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_t_4  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_SetupRefcountContext ( " flush " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":67
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *      def  flush ( self ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          " " " Flash local buffer and output stream if it has 'flush()' method. " " " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  self . length  >  0 :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              self . strm . write ( PyString_FromStringAndSize ( self . buff ,  self . length ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              self . length  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_1  =  ( ( ( struct  __pyx_obj_7msgpack_Packer  * ) __pyx_v_self ) - > length  >  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( __pyx_t_1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":68
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          " " " Flash local buffer and output stream if it has 'flush()' method. " " " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  self . length  >  0 : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              self . strm . write ( PyString_FromStringAndSize ( self . buff ,  self . length ) )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              self . length  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  hasattr ( self . strm ,  ' flush ' ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_2  =  PyObject_GetAttr ( ( ( struct  __pyx_obj_7msgpack_Packer  * ) __pyx_v_self ) - > strm ,  __pyx_kp_write ) ;  if  ( unlikely ( ! __pyx_t_2 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  68 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    __Pyx_GOTREF ( __pyx_t_2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_3  =  PyString_FromStringAndSize ( ( ( struct  __pyx_obj_7msgpack_Packer  * ) __pyx_v_self ) - > buff ,  ( ( struct  __pyx_obj_7msgpack_Packer  * ) __pyx_v_self ) - > length ) ;  if  ( unlikely ( ! __pyx_t_3 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  68 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    __Pyx_GOTREF ( __pyx_t_3 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_4  =  PyTuple_New ( 1 ) ;  if  ( unlikely ( ! __pyx_t_4 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  68 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    __Pyx_GOTREF ( ( ( PyObject  * ) __pyx_t_4 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyTuple_SET_ITEM ( __pyx_t_4 ,  0 ,  __pyx_t_3 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __Pyx_GIVEREF ( __pyx_t_3 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_t_3  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_3  =  PyObject_Call ( __pyx_t_2 ,  ( ( PyObject  * ) __pyx_t_4 ) ,  NULL ) ;  if  ( unlikely ( ! __pyx_t_3 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  68 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    __Pyx_GOTREF ( __pyx_t_3 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __Pyx_DECREF ( __pyx_t_2 ) ;  __pyx_t_2  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __Pyx_DECREF ( ( ( PyObject  * ) __pyx_t_4 ) ) ;  __pyx_t_4  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __Pyx_DECREF ( __pyx_t_3 ) ;  __pyx_t_3  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":69
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          if  self . length  >  0 : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              self . strm . write ( PyString_FromStringAndSize ( self . buff ,  self . length ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              self . length  =  0              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  hasattr ( self . strm ,  ' flush ' ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              self . strm . flush ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( ( struct  __pyx_obj_7msgpack_Packer  * ) __pyx_v_self ) - > length  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    goto  __pyx_L5 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L5 : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":70
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              self . strm . write ( PyString_FromStringAndSize ( self . buff ,  self . length ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              self . length  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  hasattr ( self . strm ,  ' flush ' ) :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              self . strm . flush ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_1  =  PyObject_HasAttr ( ( ( struct  __pyx_obj_7msgpack_Packer  * ) __pyx_v_self ) - > strm ,  __pyx_kp_2 ) ;  if  ( unlikely ( __pyx_t_1  = =  - 1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  70 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  if  ( __pyx_t_1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":71
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              self . length  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  hasattr ( self . strm ,  ' flush ' ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              self . strm . flush ( )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      def  pack_list ( self ,  len ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_3  =  PyObject_GetAttr ( ( ( struct  __pyx_obj_7msgpack_Packer  * ) __pyx_v_self ) - > strm ,  __pyx_kp_flush ) ;  if  ( unlikely ( ! __pyx_t_3 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  71 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    __Pyx_GOTREF ( __pyx_t_3 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_4  =  PyObject_Call ( __pyx_t_3 ,  ( ( PyObject  * ) __pyx_empty_tuple ) ,  NULL ) ;  if  ( unlikely ( ! __pyx_t_4 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  71 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    __Pyx_GOTREF ( __pyx_t_4 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __Pyx_DECREF ( __pyx_t_3 ) ;  __pyx_t_3  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __Pyx_DECREF ( __pyx_t_4 ) ;  __pyx_t_4  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    goto  __pyx_L6 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L6 : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  Py_None ;  __Pyx_INCREF ( Py_None ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  goto  __pyx_L0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L1_error : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_t_2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_t_3 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_t_4 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_AddTraceback ( " msgpack.Packer.flush " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L0 : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XGIVEREF ( __pyx_r ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_FinishRefcountContext ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  __pyx_r ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* "/home/inada-n/work/msgpack/python/msgpack.pyx":73
  
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              self . strm . flush ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      def  pack_list ( self ,  len ) :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          " " " Start packing sequential objects. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_pf_7msgpack_6Packer_pack_list ( PyObject  * __pyx_v_self ,  PyObject  * __pyx_v_len ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_doc_7msgpack_6Packer_pack_list [ ]  =  " Start packing sequential objects. \n \n         Example: \n \n             packer.pack_list(2) \n             packer.pack('foo') \n             packer.pack('bar') \n \n         This code is same as below code: \n \n             packer.pack(['foo', 'bar']) \n          " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_pf_7msgpack_6Packer_pack_list ( PyObject  * __pyx_v_self ,  PyObject  * __pyx_v_len )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_r  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  size_t  __pyx_t_1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_SetupRefcountContext ( " pack_list " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":86
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              packer . pack ( [ ' foo ' ,  ' bar ' ] ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          " " " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          msgpack_pack_array ( & self . pk ,  len )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      def  pack_dict ( self ,  len ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_1  =  __Pyx_PyInt_AsSize_t ( __pyx_v_len ) ;  if  ( unlikely ( ( __pyx_t_1  = =  ( size_t ) - 1 )  & &  PyErr_Occurred ( ) ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  86 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  msgpack_pack_array ( ( & ( ( struct  __pyx_obj_7msgpack_Packer  * ) __pyx_v_self ) - > pk ) ,  __pyx_t_1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  Py_None ;  __Pyx_INCREF ( Py_None ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  goto  __pyx_L0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L1_error : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_AddTraceback ( " msgpack.Packer.pack_list " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L0 : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XGIVEREF ( __pyx_r ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_FinishRefcountContext ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  __pyx_r ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* "/home/inada-n/work/msgpack/python/msgpack.pyx":88
  
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          msgpack_pack_array ( & self . pk ,  len ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      def  pack_dict ( self ,  len ) :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          " " " Start packing key-value objects. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_pf_7msgpack_6Packer_pack_dict ( PyObject  * __pyx_v_self ,  PyObject  * __pyx_v_len ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_doc_7msgpack_6Packer_pack_dict [ ]  =  " Start packing key-value objects. \n \n         Example: \n \n             packer.pack_dict(1) \n             packer.pack('foo') \n             packer.pack('bar') \n \n         This code is same as below code: \n \n             packer.pack({'foo', 'bar'}) \n          " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_pf_7msgpack_6Packer_pack_dict ( PyObject  * __pyx_v_self ,  PyObject  * __pyx_v_len )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_r  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  size_t  __pyx_t_1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_SetupRefcountContext ( " pack_dict " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":101
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              packer . pack ( { ' foo ' ,  ' bar ' } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          " " " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          msgpack_pack_map ( & self . pk ,  len )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *      cdef  __pack ( self ,  object  o ) : 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_1  =  __Pyx_PyInt_AsSize_t ( __pyx_v_len ) ;  if  ( unlikely ( ( __pyx_t_1  = =  ( size_t ) - 1 )  & &  PyErr_Occurred ( ) ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  101 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  msgpack_pack_map ( ( & ( ( struct  __pyx_obj_7msgpack_Packer  * ) __pyx_v_self ) - > pk ) ,  __pyx_t_1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  Py_None ;  __Pyx_INCREF ( Py_None ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  goto  __pyx_L0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L1_error : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_AddTraceback ( " msgpack.Packer.pack_dict " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L0 : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XGIVEREF ( __pyx_r ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_FinishRefcountContext ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  __pyx_r ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* "/home/inada-n/work/msgpack/python/msgpack.pyx":103
  
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          msgpack_pack_map ( & self . pk ,  len ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *      cdef  __pack ( self ,  object  o ) :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          cdef  long  long  intval 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          cdef  double  fval 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								static   PyObject  * __pyx_f_7msgpack_6Packer___pack ( struct  __pyx_obj_7msgpack_Packer  * __pyx_v_self ,  PyObject  * __pyx_v_o )  {  
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  PY_LONG_LONG  __pyx_v_intval ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  double  __pyx_v_fval ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  char  * __pyx_v_rawval ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_v_k ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_v_v ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_r  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_2  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_3  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  int  __pyx_t_1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_t_2  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PY_LONG_LONG  __pyx_t_3 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  double  __pyx_t_4 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  char  * __pyx_t_5 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  Py_ssize_t  __pyx_t_6 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_t_7  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_t_8  =  NULL ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  PyObject  * __pyx_t_9  =  NULL ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  int  __pyx_t_10 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  int  __pyx_t_11 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __Pyx_SetupRefcountContext ( " __pack " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_INCREF ( __pyx_v_o ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_v_k  =  Py_None ;  __Pyx_INCREF ( Py_None ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_v_v  =  Py_None ;  __Pyx_INCREF ( Py_None ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":108
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          cdef  char *  rawval 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  o  is  None :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_nil ( & self . pk ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  o  is  True : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_1  =  ( __pyx_v_o  = =  Py_None ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( __pyx_t_1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":109
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  o  is  None : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_nil ( & self . pk )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  o  is  True : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_true ( & self . pk ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    msgpack_pack_nil ( ( & __pyx_v_self - > pk ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    goto  __pyx_L3 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":110
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          if  o  is  None : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_nil ( & self . pk ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  o  is  True :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_true ( & self . pk ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  o  is  False : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_2  =  __Pyx_PyBool_FromLong ( 1 ) ;  if  ( unlikely ( ! __pyx_t_2 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  110 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_t_2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_1  =  ( __pyx_v_o  = =  __pyx_t_2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_t_2 ) ;  __pyx_t_2  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( __pyx_t_1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":111
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_nil ( & self . pk ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  o  is  True : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_true ( & self . pk )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  o  is  False : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_false ( & self . pk ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    msgpack_pack_true ( ( & __pyx_v_self - > pk ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    goto  __pyx_L3 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":112
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          elif  o  is  True : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_true ( & self . pk ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  o  is  False :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_false ( & self . pk ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  long ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_2  =  __Pyx_PyBool_FromLong ( 0 ) ;  if  ( unlikely ( ! __pyx_t_2 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  112 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_t_2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_1  =  ( __pyx_v_o  = =  __pyx_t_2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_t_2 ) ;  __pyx_t_2  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( __pyx_t_1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":113
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_true ( & self . pk ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  o  is  False : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_false ( & self . pk )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  long ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              intval  =  o 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    msgpack_pack_false ( ( & __pyx_v_self - > pk ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    goto  __pyx_L3 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":114
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          elif  o  is  False : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_false ( & self . pk ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  long ) :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              intval  =  o 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_long_long ( & self . pk ,  intval ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_1  =  PyObject_TypeCheck ( __pyx_v_o ,  ( ( PyTypeObject  * ) ( ( PyObject * ) & PyLong_Type ) ) ) ;  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( __pyx_t_1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":115
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_false ( & self . pk ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  long ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              intval  =  o              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_long_long ( & self . pk ,  intval ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  int ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_3  =  __Pyx_PyInt_AsLongLong ( __pyx_v_o ) ;  if  ( unlikely ( ( __pyx_t_3  = =  ( PY_LONG_LONG ) - 1 )  & &  PyErr_Occurred ( ) ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  115 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    __pyx_v_intval  =  __pyx_t_3 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":116
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  long ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              intval  =  o 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_long_long ( & self . pk ,  intval )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  int ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              intval  =  o 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    msgpack_pack_long_long ( ( & __pyx_v_self - > pk ) ,  __pyx_v_intval ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    goto  __pyx_L3 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":117
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              intval  =  o 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_long_long ( & self . pk ,  intval ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  int ) :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              intval  =  o 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_long_long ( & self . pk ,  intval ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_1  =  PyObject_TypeCheck ( __pyx_v_o ,  ( ( PyTypeObject  * ) ( ( PyObject * ) & PyInt_Type ) ) ) ;  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( __pyx_t_1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":118
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_long_long ( & self . pk ,  intval ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  int ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              intval  =  o              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_long_long ( & self . pk ,  intval ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  float ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_3  =  __Pyx_PyInt_AsLongLong ( __pyx_v_o ) ;  if  ( unlikely ( ( __pyx_t_3  = =  ( PY_LONG_LONG ) - 1 )  & &  PyErr_Occurred ( ) ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  118 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    __pyx_v_intval  =  __pyx_t_3 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":119
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  int ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              intval  =  o 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_long_long ( & self . pk ,  intval )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  float ) : 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *              fval  =  o 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    msgpack_pack_long_long ( ( & __pyx_v_self - > pk ) ,  __pyx_v_intval ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    goto  __pyx_L3 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":120
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              intval  =  o 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_long_long ( & self . pk ,  intval ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  float ) :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *              fval  =  o 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_double ( & self . pk ,  fval ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_1  =  PyObject_TypeCheck ( __pyx_v_o ,  ( ( PyTypeObject  * ) ( ( PyObject * ) & PyFloat_Type ) ) ) ;  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( __pyx_t_1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":121
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_long_long ( & self . pk ,  intval ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  float ) : 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *              fval  =  o              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_double ( & self . pk ,  fval ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  str ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_4  =  __pyx_PyFloat_AsDouble ( __pyx_v_o ) ;  if  ( unlikely ( PyErr_Occurred ( ) ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  121 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_v_fval  =  __pyx_t_4 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":122
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  float ) : 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *              fval  =  o 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_double ( & self . pk ,  fval )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  str ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              rawval  =  o 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    msgpack_pack_double ( ( & __pyx_v_self - > pk ) ,  __pyx_v_fval ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    goto  __pyx_L3 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":123
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *              fval  =  o 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_double ( & self . pk ,  fval ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  str ) :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              rawval  =  o 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_raw ( & self . pk ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_1  =  PyObject_TypeCheck ( __pyx_v_o ,  ( ( PyTypeObject  * ) ( ( PyObject * ) & PyString_Type ) ) ) ;  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( __pyx_t_1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":124
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_double ( & self . pk ,  fval ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  str ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              rawval  =  o              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_raw ( & self . pk ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_raw_body ( & self . pk ,  rawval ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_5  =  __Pyx_PyBytes_AsString ( __pyx_v_o ) ;  if  ( unlikely ( ( ! __pyx_t_5 )  & &  PyErr_Occurred ( ) ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  124 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_v_rawval  =  __pyx_t_5 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":125
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  str ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              rawval  =  o 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_raw ( & self . pk ,  len ( o ) )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_raw_body ( & self . pk ,  rawval ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  unicode ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_6  =  PyObject_Length ( __pyx_v_o ) ;  if  ( unlikely ( __pyx_t_6  = =  - 1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  125 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    msgpack_pack_raw ( ( & __pyx_v_self - > pk ) ,  __pyx_t_6 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":126
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              rawval  =  o 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_raw ( & self . pk ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_raw_body ( & self . pk ,  rawval ,  len ( o ) )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  unicode ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              o  =  o . encode ( ' utf - 8 ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_6  =  PyObject_Length ( __pyx_v_o ) ;  if  ( unlikely ( __pyx_t_6  = =  - 1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  126 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    msgpack_pack_raw_body ( ( & __pyx_v_self - > pk ) ,  __pyx_v_rawval ,  __pyx_t_6 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    goto  __pyx_L3 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":127
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_raw ( & self . pk ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_raw_body ( & self . pk ,  rawval ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  unicode ) :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              o  =  o . encode ( ' utf - 8 ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              rawval  =  o 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_1  =  PyObject_TypeCheck ( __pyx_v_o ,  ( ( PyTypeObject  * ) ( ( PyObject * ) & PyUnicode_Type ) ) ) ;  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( __pyx_t_1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":128
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_raw_body ( & self . pk ,  rawval ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  unicode ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              o  =  o . encode ( ' utf - 8 ' )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              rawval  =  o 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_raw ( & self . pk ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_2  =  PyObject_GetAttr ( __pyx_v_o ,  __pyx_kp_encode ) ;  if  ( unlikely ( ! __pyx_t_2 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  128 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    __Pyx_GOTREF ( __pyx_t_2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_7  =  PyTuple_New ( 1 ) ;  if  ( unlikely ( ! __pyx_t_7 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  128 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __Pyx_GOTREF ( ( ( PyObject  * ) __pyx_t_7 ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __Pyx_INCREF ( __pyx_kp_3 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    PyTuple_SET_ITEM ( __pyx_t_7 ,  0 ,  __pyx_kp_3 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __Pyx_GIVEREF ( __pyx_kp_3 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_8  =  PyObject_Call ( __pyx_t_2 ,  ( ( PyObject  * ) __pyx_t_7 ) ,  NULL ) ;  if  ( unlikely ( ! __pyx_t_8 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  128 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __Pyx_GOTREF ( __pyx_t_8 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    __Pyx_DECREF ( __pyx_t_2 ) ;  __pyx_t_2  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __Pyx_DECREF ( ( ( PyObject  * ) __pyx_t_7 ) ) ;  __pyx_t_7  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    __Pyx_DECREF ( __pyx_v_o ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_v_o  =  __pyx_t_8 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_t_8  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":129
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  unicode ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              o  =  o . encode ( ' utf - 8 ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              rawval  =  o              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_raw ( & self . pk ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_raw_body ( & self . pk ,  rawval ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_5  =  __Pyx_PyBytes_AsString ( __pyx_v_o ) ;  if  ( unlikely ( ( ! __pyx_t_5 )  & &  PyErr_Occurred ( ) ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  129 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_v_rawval  =  __pyx_t_5 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":130
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              o  =  o . encode ( ' utf - 8 ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              rawval  =  o 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_raw ( & self . pk ,  len ( o ) )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_raw_body ( & self . pk ,  rawval ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  dict ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_6  =  PyObject_Length ( __pyx_v_o ) ;  if  ( unlikely ( __pyx_t_6  = =  - 1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  130 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    msgpack_pack_raw ( ( & __pyx_v_self - > pk ) ,  __pyx_t_6 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":131
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              rawval  =  o 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_raw ( & self . pk ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_raw_body ( & self . pk ,  rawval ,  len ( o ) )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  dict ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_map ( & self . pk ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_6  =  PyObject_Length ( __pyx_v_o ) ;  if  ( unlikely ( __pyx_t_6  = =  - 1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  131 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    msgpack_pack_raw_body ( ( & __pyx_v_self - > pk ) ,  __pyx_v_rawval ,  __pyx_t_6 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    goto  __pyx_L3 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":132
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_raw ( & self . pk ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_raw_body ( & self . pk ,  rawval ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  dict ) :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_map ( & self . pk ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              for  k , v  in  o . iteritems ( ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_1  =  PyObject_TypeCheck ( __pyx_v_o ,  ( ( PyTypeObject  * ) ( ( PyObject * ) & PyDict_Type ) ) ) ;  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( __pyx_t_1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":133
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_raw_body ( & self . pk ,  rawval ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  dict ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_map ( & self . pk ,  len ( o ) )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              for  k , v  in  o . iteritems ( ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *                  self . pack ( k ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_6  =  PyObject_Length ( __pyx_v_o ) ;  if  ( unlikely ( __pyx_t_6  = =  - 1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  133 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    msgpack_pack_map ( ( & __pyx_v_self - > pk ) ,  __pyx_t_6 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":134
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  dict ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_map ( & self . pk ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              for  k , v  in  o . iteritems ( ) :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *                  self . pack ( k ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *                  self . pack ( v ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_8  =  PyObject_GetAttr ( __pyx_v_o ,  __pyx_kp_iteritems ) ;  if  ( unlikely ( ! __pyx_t_8 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  134 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __Pyx_GOTREF ( __pyx_t_8 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_t_7  =  PyObject_Call ( __pyx_t_8 ,  ( ( PyObject  * ) __pyx_empty_tuple ) ,  NULL ) ;  if  ( unlikely ( ! __pyx_t_7 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  134 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    __Pyx_GOTREF ( __pyx_t_7 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __Pyx_DECREF ( __pyx_t_8 ) ;  __pyx_t_8  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( PyList_CheckExact ( __pyx_t_7 )  | |  PyTuple_CheckExact ( __pyx_t_7 ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __pyx_t_6  =  0 ;  __pyx_t_8  =  __pyx_t_7 ;  __Pyx_INCREF ( __pyx_t_8 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    }  else  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __pyx_t_6  =  - 1 ;  __pyx_t_8  =  PyObject_GetIter ( __pyx_t_7 ) ;  if  ( unlikely ( ! __pyx_t_8 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  134 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_GOTREF ( __pyx_t_8 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __Pyx_DECREF ( __pyx_t_7 ) ;  __pyx_t_7  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    for  ( ; ; )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      if  ( likely ( PyList_CheckExact ( __pyx_t_8 ) ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( __pyx_t_6  > =  PyList_GET_SIZE ( __pyx_t_8 ) )  break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __pyx_t_7  =  PyList_GET_ITEM ( __pyx_t_8 ,  __pyx_t_6 ) ;  __Pyx_INCREF ( __pyx_t_7 ) ;  __pyx_t_6 + + ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      }  else  if  ( likely ( PyTuple_CheckExact ( __pyx_t_8 ) ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( __pyx_t_6  > =  PyTuple_GET_SIZE ( __pyx_t_8 ) )  break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __pyx_t_7  =  PyTuple_GET_ITEM ( __pyx_t_8 ,  __pyx_t_6 ) ;  __Pyx_INCREF ( __pyx_t_7 ) ;  __pyx_t_6 + + ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								      }  else  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        __pyx_t_7  =  PyIter_Next ( __pyx_t_8 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( ! __pyx_t_7 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          if  ( unlikely ( PyErr_Occurred ( ) ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  134 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								          break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        __Pyx_GOTREF ( __pyx_t_7 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								      } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      if  ( PyTuple_CheckExact ( __pyx_t_7 )  & &  likely ( PyTuple_GET_SIZE ( __pyx_t_7 )  = =  2 ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        PyObject *  tuple  =  __pyx_t_7 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        __pyx_2  =  PyTuple_GET_ITEM ( tuple ,  0 ) ;  __Pyx_INCREF ( __pyx_2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __pyx_3  =  PyTuple_GET_ITEM ( tuple ,  1 ) ;  __Pyx_INCREF ( __pyx_3 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        __Pyx_DECREF ( __pyx_t_7 ) ;  __pyx_t_7  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        __Pyx_DECREF ( __pyx_v_k ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __pyx_v_k  =  __pyx_2 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __pyx_2  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __Pyx_DECREF ( __pyx_v_v ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __pyx_v_v  =  __pyx_3 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __pyx_3  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      }  else  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        __pyx_1  =  PyObject_GetIter ( __pyx_t_7 ) ;  if  ( unlikely ( ! __pyx_1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  134 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        __Pyx_GOTREF ( __pyx_1 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        __Pyx_DECREF ( __pyx_t_7 ) ;  __pyx_t_7  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        __pyx_2  =  __Pyx_UnpackItem ( __pyx_1 ,  0 ) ;  if  ( unlikely ( ! __pyx_2 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  134 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        __Pyx_GOTREF ( __pyx_2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        __pyx_3  =  __Pyx_UnpackItem ( __pyx_1 ,  1 ) ;  if  ( unlikely ( ! __pyx_3 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  134 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        __Pyx_GOTREF ( __pyx_3 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( __Pyx_EndUnpack ( __pyx_1 )  <  0 )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  134 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        __Pyx_DECREF ( __pyx_1 ) ;  __pyx_1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __Pyx_DECREF ( __pyx_v_k ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __pyx_v_k  =  __pyx_2 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __pyx_2  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __Pyx_DECREF ( __pyx_v_v ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __pyx_v_v  =  __pyx_3 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __pyx_3  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      /* "/home/inada-n/work/msgpack/python/msgpack.pyx":135
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_map ( & self . pk ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              for  k , v  in  o . iteritems ( ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *                  self . pack ( k )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *                  self . pack ( v ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  tuple )  or  isinstance ( o ,  list ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __pyx_t_7  =  PyObject_GetAttr ( ( ( PyObject  * ) __pyx_v_self ) ,  __pyx_kp_pack ) ;  if  ( unlikely ( ! __pyx_t_7 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  135 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_GOTREF ( __pyx_t_7 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __pyx_t_2  =  PyTuple_New ( 1 ) ;  if  ( unlikely ( ! __pyx_t_2 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  135 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								      __Pyx_GOTREF ( ( ( PyObject  * ) __pyx_t_2 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_INCREF ( __pyx_v_k ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      PyTuple_SET_ITEM ( __pyx_t_2 ,  0 ,  __pyx_v_k ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_GIVEREF ( __pyx_v_k ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __pyx_t_9  =  PyObject_Call ( __pyx_t_7 ,  ( ( PyObject  * ) __pyx_t_2 ) ,  NULL ) ;  if  ( unlikely ( ! __pyx_t_9 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  135 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_GOTREF ( __pyx_t_9 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_DECREF ( __pyx_t_7 ) ;  __pyx_t_7  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								      __Pyx_DECREF ( ( ( PyObject  * ) __pyx_t_2 ) ) ;  __pyx_t_2  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __Pyx_DECREF ( __pyx_t_9 ) ;  __pyx_t_9  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      /* "/home/inada-n/work/msgpack/python/msgpack.pyx":136
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              for  k , v  in  o . iteritems ( ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *                  self . pack ( k ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *                  self . pack ( v )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  tuple )  or  isinstance ( o ,  list ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_array ( & self . pk ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __pyx_t_9  =  PyObject_GetAttr ( ( ( PyObject  * ) __pyx_v_self ) ,  __pyx_kp_pack ) ;  if  ( unlikely ( ! __pyx_t_9 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  136 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_GOTREF ( __pyx_t_9 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __pyx_t_2  =  PyTuple_New ( 1 ) ;  if  ( unlikely ( ! __pyx_t_2 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  136 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								      __Pyx_GOTREF ( ( ( PyObject  * ) __pyx_t_2 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_INCREF ( __pyx_v_v ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      PyTuple_SET_ITEM ( __pyx_t_2 ,  0 ,  __pyx_v_v ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_GIVEREF ( __pyx_v_v ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __pyx_t_7  =  PyObject_Call ( __pyx_t_9 ,  ( ( PyObject  * ) __pyx_t_2 ) ,  NULL ) ;  if  ( unlikely ( ! __pyx_t_7 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  136 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_GOTREF ( __pyx_t_7 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_DECREF ( __pyx_t_9 ) ;  __pyx_t_9  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								      __Pyx_DECREF ( ( ( PyObject  * ) __pyx_t_2 ) ) ;  __pyx_t_2  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __Pyx_DECREF ( __pyx_t_7 ) ;  __pyx_t_7  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __Pyx_DECREF ( __pyx_t_8 ) ;  __pyx_t_8  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    goto  __pyx_L3 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":137
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *                  self . pack ( k ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *                  self . pack ( v ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  tuple )  or  isinstance ( o ,  list ) :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_array ( & self . pk ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              for  v  in  o : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_1  =  PyObject_TypeCheck ( __pyx_v_o ,  ( ( PyTypeObject  * ) ( ( PyObject * ) & PyTuple_Type ) ) ) ;  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( ! __pyx_t_1 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_10  =  PyObject_TypeCheck ( __pyx_v_o ,  ( ( PyTypeObject  * ) ( ( PyObject * ) & PyList_Type ) ) ) ;  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_t_11  =  __pyx_t_10 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  }  else  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_11  =  __pyx_t_1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  if  ( __pyx_t_11 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":138
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *                  self . pack ( v ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  tuple )  or  isinstance ( o ,  list ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_array ( & self . pk ,  len ( o ) )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              for  v  in  o : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *                  self . pack ( v ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_6  =  PyObject_Length ( __pyx_v_o ) ;  if  ( unlikely ( __pyx_t_6  = =  - 1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  138 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    msgpack_pack_array ( ( & __pyx_v_self - > pk ) ,  __pyx_t_6 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":139
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          elif  isinstance ( o ,  tuple )  or  isinstance ( o ,  list ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_array ( & self . pk ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              for  v  in  o :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *                  self . pack ( v ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          else : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( PyList_CheckExact ( __pyx_v_o )  | |  PyTuple_CheckExact ( __pyx_v_o ) )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __pyx_t_6  =  0 ;  __pyx_t_8  =  __pyx_v_o ;  __Pyx_INCREF ( __pyx_t_8 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    }  else  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __pyx_t_6  =  - 1 ;  __pyx_t_8  =  PyObject_GetIter ( __pyx_v_o ) ;  if  ( unlikely ( ! __pyx_t_8 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  139 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_GOTREF ( __pyx_t_8 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    for  ( ; ; )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      if  ( likely ( PyList_CheckExact ( __pyx_t_8 ) ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( __pyx_t_6  > =  PyList_GET_SIZE ( __pyx_t_8 ) )  break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __pyx_t_7  =  PyList_GET_ITEM ( __pyx_t_8 ,  __pyx_t_6 ) ;  __Pyx_INCREF ( __pyx_t_7 ) ;  __pyx_t_6 + + ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      }  else  if  ( likely ( PyTuple_CheckExact ( __pyx_t_8 ) ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( __pyx_t_6  > =  PyTuple_GET_SIZE ( __pyx_t_8 ) )  break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __pyx_t_7  =  PyTuple_GET_ITEM ( __pyx_t_8 ,  __pyx_t_6 ) ;  __Pyx_INCREF ( __pyx_t_7 ) ;  __pyx_t_6 + + ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								      }  else  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        __pyx_t_7  =  PyIter_Next ( __pyx_t_8 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( ! __pyx_t_7 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          if  ( unlikely ( PyErr_Occurred ( ) ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  139 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								          break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        __Pyx_GOTREF ( __pyx_t_7 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								      } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_DECREF ( __pyx_v_v ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __pyx_v_v  =  __pyx_t_7 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __pyx_t_7  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      /* "/home/inada-n/work/msgpack/python/msgpack.pyx":140
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              msgpack_pack_array ( & self . pk ,  len ( o ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              for  v  in  o : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *                  self . pack ( v )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          else : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              #  TODO :  Serialize  with  defalt ( )  like  simplejson . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __pyx_t_7  =  PyObject_GetAttr ( ( ( PyObject  * ) __pyx_v_self ) ,  __pyx_kp_pack ) ;  if  ( unlikely ( ! __pyx_t_7 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  140 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_GOTREF ( __pyx_t_7 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __pyx_t_2  =  PyTuple_New ( 1 ) ;  if  ( unlikely ( ! __pyx_t_2 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  140 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								      __Pyx_GOTREF ( ( ( PyObject  * ) __pyx_t_2 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_INCREF ( __pyx_v_v ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      PyTuple_SET_ITEM ( __pyx_t_2 ,  0 ,  __pyx_v_v ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_GIVEREF ( __pyx_v_v ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __pyx_t_9  =  PyObject_Call ( __pyx_t_7 ,  ( ( PyObject  * ) __pyx_t_2 ) ,  NULL ) ;  if  ( unlikely ( ! __pyx_t_9 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  140 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_GOTREF ( __pyx_t_9 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_DECREF ( __pyx_t_7 ) ;  __pyx_t_7  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								      __Pyx_DECREF ( ( ( PyObject  * ) __pyx_t_2 ) ) ;  __pyx_t_2  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __Pyx_DECREF ( __pyx_t_9 ) ;  __pyx_t_9  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __Pyx_DECREF ( __pyx_t_8 ) ;  __pyx_t_8  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    goto  __pyx_L3 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /*else*/  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":143
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          else : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              #  TODO :  Serialize  with  defalt ( )  like  simplejson . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              raise  TypeError ,  " can't serialize %r "  %  ( o , )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *      def  pack ( self ,  obj ,  flush = True ) : 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_8  =  PyTuple_New ( 1 ) ;  if  ( unlikely ( ! __pyx_t_8 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  143 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __Pyx_GOTREF ( ( ( PyObject  * ) __pyx_t_8 ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    __Pyx_INCREF ( __pyx_v_o ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    PyTuple_SET_ITEM ( __pyx_t_8 ,  0 ,  __pyx_v_o ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    __Pyx_GIVEREF ( __pyx_v_o ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    __pyx_t_9  =  PyNumber_Remainder ( __pyx_kp_4 ,  ( ( PyObject  * ) __pyx_t_8 ) ) ;  if  ( unlikely ( ! __pyx_t_9 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  143 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __Pyx_GOTREF ( __pyx_t_9 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __Pyx_DECREF ( ( ( PyObject  * ) __pyx_t_8 ) ) ;  __pyx_t_8  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __Pyx_Raise ( __pyx_builtin_TypeError ,  __pyx_t_9 ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __Pyx_DECREF ( __pyx_t_9 ) ;  __pyx_t_9  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  143 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_L3 : ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  Py_None ;  __Pyx_INCREF ( Py_None ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  goto  __pyx_L0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L1_error : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_3 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_t_2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_t_7 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_t_8 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 01:58:07 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_t_9 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __Pyx_AddTraceback ( " msgpack.Packer.__pack " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __pyx_L0 : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_v_k ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_v_v ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_v_o ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XGIVEREF ( __pyx_r ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_FinishRefcountContext ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  __pyx_r ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* "/home/inada-n/work/msgpack/python/msgpack.pyx":145
  
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              raise  TypeError ,  " can't serialize %r "  %  ( o , ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *      def  pack ( self ,  obj ,  flush = True ) :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          self . __pack ( obj ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  flush : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_pf_7msgpack_6Packer_pack ( PyObject  * __pyx_v_self ,  PyObject  * __pyx_args ,  PyObject  * __pyx_kwds ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_pf_7msgpack_6Packer_pack ( PyObject  * __pyx_v_self ,  PyObject  * __pyx_args ,  PyObject  * __pyx_kwds )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_v_obj  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_v_flush  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_r  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_t_1  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  int  __pyx_t_2 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_t_3  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  static  PyObject  * * __pyx_pyargnames [ ]  =  { & __pyx_kp_obj , & __pyx_kp_flush , 0 } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_SetupRefcountContext ( " pack " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( unlikely ( __pyx_kwds ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_ssize_t  kw_args  =  PyDict_Size ( __pyx_kwds ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject *  values [ 2 ]  =  { 0 , 0 } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    values [ 1 ]  =  __pyx_k_1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    switch  ( PyTuple_GET_SIZE ( __pyx_args ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      case   2 :  values [ 1 ]  =  PyTuple_GET_ITEM ( __pyx_args ,  1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      case   1 :  values [ 0 ]  =  PyTuple_GET_ITEM ( __pyx_args ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      case   0 :  break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      default :  goto  __pyx_L5_argtuple_error ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    switch  ( PyTuple_GET_SIZE ( __pyx_args ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      case   0 : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      values [ 0 ]  =  PyDict_GetItem ( __pyx_kwds ,  __pyx_kp_obj ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      if  ( likely ( values [ 0 ] ) )  kw_args - - ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      else  goto  __pyx_L5_argtuple_error ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      case   1 : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      if  ( kw_args  >  1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        PyObject *  value  =  PyDict_GetItem ( __pyx_kwds ,  __pyx_kp_flush ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( unlikely ( value ) )  {  values [ 1 ]  =  value ;  kw_args - - ;  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( unlikely ( kw_args  >  0 ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      if  ( unlikely ( __Pyx_ParseOptionalKeywords ( __pyx_kwds ,  __pyx_pyargnames ,  0 ,  values ,  PyTuple_GET_SIZE ( __pyx_args ) ,  " pack " )  <  0 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  145 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L3_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_v_obj  =  values [ 0 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_v_flush  =  values [ 1 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_v_flush  =  __pyx_k_1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    switch  ( PyTuple_GET_SIZE ( __pyx_args ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      case   2 :  __pyx_v_flush  =  PyTuple_GET_ITEM ( __pyx_args ,  1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      case   1 :  __pyx_v_obj  =  PyTuple_GET_ITEM ( __pyx_args ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      default :  goto  __pyx_L5_argtuple_error ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  goto  __pyx_L4_argument_unpacking_done ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L5_argtuple_error : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_RaiseArgtupleInvalid ( " pack " ,  0 ,  1 ,  2 ,  PyTuple_GET_SIZE ( __pyx_args ) ) ;  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  145 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L3_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L3_error : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_AddTraceback ( " msgpack.Packer.pack " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L4_argument_unpacking_done : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":146
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      def  pack ( self ,  obj ,  flush = True ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          self . __pack ( obj )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  flush : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              self . flush ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_1  =  ( ( struct  __pyx_vtabstruct_7msgpack_Packer  * ) ( ( struct  __pyx_obj_7msgpack_Packer  * ) __pyx_v_self ) - > __pyx_vtab ) - > __pack ( ( ( struct  __pyx_obj_7msgpack_Packer  * ) __pyx_v_self ) ,  __pyx_v_obj ) ;  if  ( unlikely ( ! __pyx_t_1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  146 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_t_1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_t_1 ) ;  __pyx_t_1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":147
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *      def  pack ( self ,  obj ,  flush = True ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          self . __pack ( obj ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  flush :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              self . flush ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_2  =  __Pyx_PyObject_IsTrue ( __pyx_v_flush ) ;  if  ( unlikely ( __pyx_t_2  <  0 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  147 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( __pyx_t_2 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":148
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *          self . __pack ( obj ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  flush : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              self . flush ( )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  cdef  int  _packer_write ( Packer  packer ,  const_char_ptr  b ,  unsigned  int  l ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_t_1  =  PyObject_GetAttr ( __pyx_v_self ,  __pyx_kp_flush ) ;  if  ( unlikely ( ! __pyx_t_1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  148 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __Pyx_GOTREF ( __pyx_t_1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_t_3  =  PyObject_Call ( __pyx_t_1 ,  ( ( PyObject  * ) __pyx_empty_tuple ) ,  NULL ) ;  if  ( unlikely ( ! __pyx_t_3 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  148 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __Pyx_GOTREF ( __pyx_t_3 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __Pyx_DECREF ( __pyx_t_1 ) ;  __pyx_t_1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __Pyx_DECREF ( __pyx_t_3 ) ;  __pyx_t_3  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    goto  __pyx_L6 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L6 : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  Py_None ;  __Pyx_INCREF ( Py_None ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  goto  __pyx_L0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L1_error : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_t_1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_t_3 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_AddTraceback ( " msgpack.Packer.pack " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L0 : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XGIVEREF ( __pyx_r ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_FinishRefcountContext ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  __pyx_r ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* "/home/inada-n/work/msgpack/python/msgpack.pyx":150
  
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *              self . flush ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *  cdef  int  _packer_write ( Packer  packer ,  const_char_ptr  b ,  unsigned  int  l ) :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      if  packer . length  +  l  >  packer . allocated : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  packer . length  >  0 : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static   int  __pyx_f_7msgpack__packer_write ( struct  __pyx_obj_7msgpack_Packer  * __pyx_v_packer ,  const  char *  __pyx_v_b ,  unsigned  int  __pyx_v_l )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  int  __pyx_r ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  int  __pyx_t_1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_t_2  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_t_3  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_t_4  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_SetupRefcountContext ( " _packer_write " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":151
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  cdef  int  _packer_write ( Packer  packer ,  const_char_ptr  b ,  unsigned  int  l ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      if  packer . length  +  l  >  packer . allocated :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  packer . length  >  0 : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              packer . strm . write ( PyString_FromStringAndSize ( packer . buff ,  packer . length ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_1  =  ( ( __pyx_v_packer - > length  +  __pyx_v_l )  >  __pyx_v_packer - > allocated ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( __pyx_t_1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":152
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *  cdef  int  _packer_write ( Packer  packer ,  const_char_ptr  b ,  unsigned  int  l ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      if  packer . length  +  l  >  packer . allocated : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  packer . length  >  0 :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              packer . strm . write ( PyString_FromStringAndSize ( packer . buff ,  packer . length ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  l  >  64 : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_t_1  =  ( __pyx_v_packer - > length  >  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( __pyx_t_1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      /* "/home/inada-n/work/msgpack/python/msgpack.pyx":153
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *      if  packer . length  +  l  >  packer . allocated : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  packer . length  >  0 : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              packer . strm . write ( PyString_FromStringAndSize ( packer . buff ,  packer . length ) )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  l  >  64 : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              packer . strm . write ( PyString_FromStringAndSize ( b ,  l ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __pyx_t_2  =  PyObject_GetAttr ( __pyx_v_packer - > strm ,  __pyx_kp_write ) ;  if  ( unlikely ( ! __pyx_t_2 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  153 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								      __Pyx_GOTREF ( __pyx_t_2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __pyx_t_3  =  PyString_FromStringAndSize ( __pyx_v_packer - > buff ,  __pyx_v_packer - > length ) ;  if  ( unlikely ( ! __pyx_t_3 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  153 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								      __Pyx_GOTREF ( __pyx_t_3 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __pyx_t_4  =  PyTuple_New ( 1 ) ;  if  ( unlikely ( ! __pyx_t_4 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  153 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								      __Pyx_GOTREF ( ( ( PyObject  * ) __pyx_t_4 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      PyTuple_SET_ITEM ( __pyx_t_4 ,  0 ,  __pyx_t_3 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_GIVEREF ( __pyx_t_3 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __pyx_t_3  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __pyx_t_3  =  PyObject_Call ( __pyx_t_2 ,  ( ( PyObject  * ) __pyx_t_4 ) ,  NULL ) ;  if  ( unlikely ( ! __pyx_t_3 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  153 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								      __Pyx_GOTREF ( __pyx_t_3 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_DECREF ( __pyx_t_2 ) ;  __pyx_t_2  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_DECREF ( ( ( PyObject  * ) __pyx_t_4 ) ) ;  __pyx_t_4  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_DECREF ( __pyx_t_3 ) ;  __pyx_t_3  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      goto  __pyx_L4 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_L4 : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":154
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          if  packer . length  >  0 : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              packer . strm . write ( PyString_FromStringAndSize ( packer . buff ,  packer . length ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  l  >  64 :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              packer . strm . write ( PyString_FromStringAndSize ( b ,  l ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              packer . length  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_t_1  =  ( __pyx_v_l  >  64 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( __pyx_t_1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      /* "/home/inada-n/work/msgpack/python/msgpack.pyx":155
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              packer . strm . write ( PyString_FromStringAndSize ( packer . buff ,  packer . length ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  l  >  64 : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              packer . strm . write ( PyString_FromStringAndSize ( b ,  l ) )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              packer . length  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          else : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __pyx_t_3  =  PyObject_GetAttr ( __pyx_v_packer - > strm ,  __pyx_kp_write ) ;  if  ( unlikely ( ! __pyx_t_3 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  155 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								      __Pyx_GOTREF ( __pyx_t_3 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __pyx_t_4  =  PyString_FromStringAndSize ( __pyx_v_b ,  __pyx_v_l ) ;  if  ( unlikely ( ! __pyx_t_4 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  155 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								      __Pyx_GOTREF ( __pyx_t_4 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __pyx_t_2  =  PyTuple_New ( 1 ) ;  if  ( unlikely ( ! __pyx_t_2 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  155 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								      __Pyx_GOTREF ( ( ( PyObject  * ) __pyx_t_2 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      PyTuple_SET_ITEM ( __pyx_t_2 ,  0 ,  __pyx_t_4 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_GIVEREF ( __pyx_t_4 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __pyx_t_4  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      __pyx_t_4  =  PyObject_Call ( __pyx_t_3 ,  ( ( PyObject  * ) __pyx_t_2 ) ,  NULL ) ;  if  ( unlikely ( ! __pyx_t_4 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  155 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								      __Pyx_GOTREF ( __pyx_t_4 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_DECREF ( __pyx_t_3 ) ;  __pyx_t_3  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_DECREF ( ( ( PyObject  * ) __pyx_t_2 ) ) ;  __pyx_t_2  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_DECREF ( __pyx_t_4 ) ;  __pyx_t_4  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      /* "/home/inada-n/work/msgpack/python/msgpack.pyx":156
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          if  l  >  64 : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              packer . strm . write ( PyString_FromStringAndSize ( b ,  l ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              packer . length  =  0              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          else : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              memcpy ( packer . buff ,  b ,  l ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __pyx_v_packer - > length  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      goto  __pyx_L5 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /*else*/  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      /* "/home/inada-n/work/msgpack/python/msgpack.pyx":158
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              packer . length  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          else : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              memcpy ( packer . buff ,  b ,  l )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              packer . length  =  l 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      else : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      memcpy ( __pyx_v_packer - > buff ,  __pyx_v_b ,  __pyx_v_l ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      /* "/home/inada-n/work/msgpack/python/msgpack.pyx":159
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          else : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              memcpy ( packer . buff ,  b ,  l ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *              packer . length  =  l              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      else : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          memcpy ( packer . buff  +  packer . length ,  b ,  l ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __pyx_v_packer - > length  =  __pyx_v_l ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_L5 : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    goto  __pyx_L3 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /*else*/  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":161
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *              packer . length  =  l 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      else : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          memcpy ( packer . buff  +  packer . length ,  b ,  l )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          packer . length  + =  l 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      return  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    memcpy ( ( __pyx_v_packer - > buff  +  __pyx_v_packer - > length ) ,  __pyx_v_b ,  __pyx_v_l ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* "/home/inada-n/work/msgpack/python/msgpack.pyx":162
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *      else : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          memcpy ( packer . buff  +  packer . length ,  b ,  l ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          packer . length  + =  l              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      return  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_v_packer - > length  + =  __pyx_v_l ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L3 : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":163
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *          memcpy ( packer . buff  +  packer . length ,  b ,  l ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          packer . length  + =  l 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      return  0              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  def  pack ( object  o ,  object  stream ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  goto  __pyx_L0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  goto  __pyx_L0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L1_error : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_t_2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_t_3 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_t_4 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_WriteUnraisable ( " msgpack._packer_write " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L0 : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_FinishRefcountContext ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  __pyx_r ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* "/home/inada-n/work/msgpack/python/msgpack.pyx":165
  
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *      return  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  def  pack ( object  o ,  object  stream ) :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packer  =  Packer ( stream ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packer . pack ( o ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_pf_7msgpack_pack ( PyObject  * __pyx_self ,  PyObject  * __pyx_args ,  PyObject  * __pyx_kwds ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_pf_7msgpack_pack ( PyObject  * __pyx_self ,  PyObject  * __pyx_args ,  PyObject  * __pyx_kwds )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_v_o  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_v_stream  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_v_packer ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_r  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_t_1  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_t_2  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_t_3  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  static  PyObject  * * __pyx_pyargnames [ ]  =  { & __pyx_kp_o , & __pyx_kp_stream , 0 } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_SetupRefcountContext ( " pack " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_self  =  __pyx_self ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( unlikely ( __pyx_kwds ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_ssize_t  kw_args  =  PyDict_Size ( __pyx_kwds ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject *  values [ 2 ]  =  { 0 , 0 } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    switch  ( PyTuple_GET_SIZE ( __pyx_args ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      case   2 :  values [ 1 ]  =  PyTuple_GET_ITEM ( __pyx_args ,  1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      case   1 :  values [ 0 ]  =  PyTuple_GET_ITEM ( __pyx_args ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      case   0 :  break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      default :  goto  __pyx_L5_argtuple_error ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    switch  ( PyTuple_GET_SIZE ( __pyx_args ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      case   0 : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      values [ 0 ]  =  PyDict_GetItem ( __pyx_kwds ,  __pyx_kp_o ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      if  ( likely ( values [ 0 ] ) )  kw_args - - ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      else  goto  __pyx_L5_argtuple_error ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      case   1 : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      values [ 1 ]  =  PyDict_GetItem ( __pyx_kwds ,  __pyx_kp_stream ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      if  ( likely ( values [ 1 ] ) )  kw_args - - ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      else  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        __Pyx_RaiseArgtupleInvalid ( " pack " ,  1 ,  2 ,  2 ,  1 ) ;  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  165 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L3_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								      } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( unlikely ( kw_args  >  0 ) )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      if  ( unlikely ( __Pyx_ParseOptionalKeywords ( __pyx_kwds ,  __pyx_pyargnames ,  0 ,  values ,  PyTuple_GET_SIZE ( __pyx_args ) ,  " pack " )  <  0 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  165 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L3_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_v_o  =  values [ 0 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_v_stream  =  values [ 1 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }  else  if  ( PyTuple_GET_SIZE ( __pyx_args )  ! =  2 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    goto  __pyx_L5_argtuple_error ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_v_o  =  PyTuple_GET_ITEM ( __pyx_args ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_v_stream  =  PyTuple_GET_ITEM ( __pyx_args ,  1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  goto  __pyx_L4_argument_unpacking_done ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L5_argtuple_error : ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __Pyx_RaiseArgtupleInvalid ( " pack " ,  1 ,  2 ,  2 ,  PyTuple_GET_SIZE ( __pyx_args ) ) ;  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  165 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L3_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __pyx_L3_error : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_AddTraceback ( " msgpack.pack " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L4_argument_unpacking_done : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_v_packer  =  Py_None ;  __Pyx_INCREF ( Py_None ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":166
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  def  pack ( object  o ,  object  stream ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packer  =  Packer ( stream )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packer . pack ( o ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packer . flush ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_1  =  PyTuple_New ( 1 ) ;  if  ( unlikely ( ! __pyx_t_1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  166 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( ( ( PyObject  * ) __pyx_t_1 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_INCREF ( __pyx_v_stream ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyTuple_SET_ITEM ( __pyx_t_1 ,  0 ,  __pyx_v_stream ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_GIVEREF ( __pyx_v_stream ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_2  =  PyObject_Call ( ( ( PyObject  * ) ( ( PyObject * ) __pyx_ptype_7msgpack_Packer ) ) ,  ( ( PyObject  * ) __pyx_t_1 ) ,  NULL ) ;  if  ( unlikely ( ! __pyx_t_2 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  166 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_t_2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( ( ( PyObject  * ) __pyx_t_1 ) ) ;  __pyx_t_1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_v_packer ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_v_packer  =  __pyx_t_2 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_2  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":167
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *  def  pack ( object  o ,  object  stream ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packer  =  Packer ( stream ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packer . pack ( o )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packer . flush ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_2  =  PyObject_GetAttr ( __pyx_v_packer ,  __pyx_kp_pack ) ;  if  ( unlikely ( ! __pyx_t_2 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  167 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_t_2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_1  =  PyTuple_New ( 1 ) ;  if  ( unlikely ( ! __pyx_t_1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  167 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( ( ( PyObject  * ) __pyx_t_1 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_INCREF ( __pyx_v_o ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyTuple_SET_ITEM ( __pyx_t_1 ,  0 ,  __pyx_v_o ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_GIVEREF ( __pyx_v_o ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_3  =  PyObject_Call ( __pyx_t_2 ,  ( ( PyObject  * ) __pyx_t_1 ) ,  NULL ) ;  if  ( unlikely ( ! __pyx_t_3 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  167 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_t_3 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_t_2 ) ;  __pyx_t_2  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( ( ( PyObject  * ) __pyx_t_1 ) ) ;  __pyx_t_1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_t_3 ) ;  __pyx_t_3  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":168
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *      packer  =  Packer ( stream ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packer . pack ( o ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packer . flush ( )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  def  packs ( object  o ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_3  =  PyObject_GetAttr ( __pyx_v_packer ,  __pyx_kp_flush ) ;  if  ( unlikely ( ! __pyx_t_3 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  168 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_t_3 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_1  =  PyObject_Call ( __pyx_t_3 ,  ( ( PyObject  * ) __pyx_empty_tuple ) ,  NULL ) ;  if  ( unlikely ( ! __pyx_t_1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  168 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_t_1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_t_3 ) ;  __pyx_t_3  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_t_1 ) ;  __pyx_t_1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  Py_None ;  __Pyx_INCREF ( Py_None ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  goto  __pyx_L0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L1_error : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_t_1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_t_2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_t_3 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_AddTraceback ( " msgpack.pack " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L0 : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_v_packer ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XGIVEREF ( __pyx_r ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_FinishRefcountContext ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  __pyx_r ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* "/home/inada-n/work/msgpack/python/msgpack.pyx":170
  
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *      packer . flush ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  def  packs ( object  o ) :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      buf  =  StringIO ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packer  =  Packer ( buf ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_pf_7msgpack_packs ( PyObject  * __pyx_self ,  PyObject  * __pyx_v_o ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_pf_7msgpack_packs ( PyObject  * __pyx_self ,  PyObject  * __pyx_v_o )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_v_buf ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_v_packer ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_r  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_t_1  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_t_2  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_t_3  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_SetupRefcountContext ( " packs " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_self  =  __pyx_self ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_v_buf  =  Py_None ;  __Pyx_INCREF ( Py_None ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_v_packer  =  Py_None ;  __Pyx_INCREF ( Py_None ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":171
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  def  packs ( object  o ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      buf  =  StringIO ( )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packer  =  Packer ( buf ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packer . pack ( o ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_1  =  __Pyx_GetName ( __pyx_m ,  __pyx_kp_StringIO ) ;  if  ( unlikely ( ! __pyx_1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  171 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_1 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_1  =  PyObject_Call ( __pyx_1 ,  ( ( PyObject  * ) __pyx_empty_tuple ) ,  NULL ) ;  if  ( unlikely ( ! __pyx_t_1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  171 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_t_1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_1 ) ;  __pyx_1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_v_buf ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_v_buf  =  __pyx_t_1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":172
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *  def  packs ( object  o ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      buf  =  StringIO ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packer  =  Packer ( buf )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packer . pack ( o ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packer . flush ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_1  =  PyTuple_New ( 1 ) ;  if  ( unlikely ( ! __pyx_t_1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  172 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( ( ( PyObject  * ) __pyx_t_1 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_INCREF ( __pyx_v_buf ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyTuple_SET_ITEM ( __pyx_t_1 ,  0 ,  __pyx_v_buf ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_GIVEREF ( __pyx_v_buf ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_2  =  PyObject_Call ( ( ( PyObject  * ) ( ( PyObject * ) __pyx_ptype_7msgpack_Packer ) ) ,  ( ( PyObject  * ) __pyx_t_1 ) ,  NULL ) ;  if  ( unlikely ( ! __pyx_t_2 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  172 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_t_2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( ( ( PyObject  * ) __pyx_t_1 ) ) ;  __pyx_t_1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_v_packer ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_v_packer  =  __pyx_t_2 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_2  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":173
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *      buf  =  StringIO ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packer  =  Packer ( buf ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packer . pack ( o )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packer . flush ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      return  buf . getvalue ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_2  =  PyObject_GetAttr ( __pyx_v_packer ,  __pyx_kp_pack ) ;  if  ( unlikely ( ! __pyx_t_2 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  173 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_t_2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_1  =  PyTuple_New ( 1 ) ;  if  ( unlikely ( ! __pyx_t_1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  173 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( ( ( PyObject  * ) __pyx_t_1 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_INCREF ( __pyx_v_o ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyTuple_SET_ITEM ( __pyx_t_1 ,  0 ,  __pyx_v_o ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_GIVEREF ( __pyx_v_o ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_3  =  PyObject_Call ( __pyx_t_2 ,  ( ( PyObject  * ) __pyx_t_1 ) ,  NULL ) ;  if  ( unlikely ( ! __pyx_t_3 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  173 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_t_3 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_t_2 ) ;  __pyx_t_2  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( ( ( PyObject  * ) __pyx_t_1 ) ) ;  __pyx_t_1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_t_3 ) ;  __pyx_t_3  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":174
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *      packer  =  Packer ( buf ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packer . pack ( o ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packer . flush ( )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      return  buf . getvalue ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_3  =  PyObject_GetAttr ( __pyx_v_packer ,  __pyx_kp_flush ) ;  if  ( unlikely ( ! __pyx_t_3 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  174 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_t_3 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_1  =  PyObject_Call ( __pyx_t_3 ,  ( ( PyObject  * ) __pyx_empty_tuple ) ,  NULL ) ;  if  ( unlikely ( ! __pyx_t_1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  174 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_t_1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_t_3 ) ;  __pyx_t_3  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_t_1 ) ;  __pyx_t_1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":175
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *      packer . pack ( o ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packer . flush ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      return  buf . getvalue ( )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  cdef  extern  from  " unpack.h " : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_r ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_1  =  PyObject_GetAttr ( __pyx_v_buf ,  __pyx_kp_getvalue ) ;  if  ( unlikely ( ! __pyx_t_1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  175 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_t_1 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_3  =  PyObject_Call ( __pyx_t_1 ,  ( ( PyObject  * ) __pyx_empty_tuple ) ,  NULL ) ;  if  ( unlikely ( ! __pyx_t_3 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  175 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_t_3 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_t_1 ) ;  __pyx_t_1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  __pyx_t_3 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_3  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  goto  __pyx_L0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  Py_None ;  __Pyx_INCREF ( Py_None ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  goto  __pyx_L0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L1_error : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_t_1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_t_2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_t_3 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_AddTraceback ( " msgpack.packs " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L0 : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_v_buf ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_v_packer ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XGIVEREF ( __pyx_r ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_FinishRefcountContext ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  __pyx_r ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* "/home/inada-n/work/msgpack/python/msgpack.pyx":186
  
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  def  unpacks ( object  packed_bytes ) :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      " " " Unpack packed_bytes to object. Returns unpacked object. " " " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      cdef  const_char_ptr  p  =  packed_bytes 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_pf_7msgpack_unpacks ( PyObject  * __pyx_self ,  PyObject  * __pyx_v_packed_bytes ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_doc_7msgpack_unpacks [ ]  =  " Unpack packed_bytes to object. Returns unpacked object. " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_pf_7msgpack_unpacks ( PyObject  * __pyx_self ,  PyObject  * __pyx_v_packed_bytes )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  const  char *  __pyx_v_p ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  template_context  __pyx_v_ctx ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  size_t  __pyx_v_off ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_r  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  const  char *  __pyx_t_1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  Py_ssize_t  __pyx_t_2 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 12:46:02 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  PyObject  * __pyx_t_3  =  NULL ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_SetupRefcountContext ( " unpacks " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_self  =  __pyx_self ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":188
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *  def  unpacks ( object  packed_bytes ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      " " " Unpack packed_bytes to object. Returns unpacked object. " " " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      cdef  const_char_ptr  p  =  packed_bytes              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      cdef  template_context  ctx 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      cdef  size_t  off  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_1  =  __Pyx_PyBytes_AsString ( __pyx_v_packed_bytes ) ;  if  ( unlikely ( ( ! __pyx_t_1 )  & &  PyErr_Occurred ( ) ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  188 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __pyx_v_p  =  __pyx_t_1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":190
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *      cdef  const_char_ptr  p  =  packed_bytes 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      cdef  template_context  ctx 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      cdef  size_t  off  =  0              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      template_init ( & ctx ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      template_execute ( & ctx ,  p ,  len ( packed_bytes ) ,  & off ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_v_off  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":191
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *      cdef  template_context  ctx 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      cdef  size_t  off  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      template_init ( & ctx )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      template_execute ( & ctx ,  p ,  len ( packed_bytes ) ,  & off ) 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 12:46:02 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *      return  template_data ( & ctx ) 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  template_init ( ( & __pyx_v_ctx ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":192
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *      cdef  size_t  off  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      template_init ( & ctx ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      template_execute ( & ctx ,  p ,  len ( packed_bytes ) ,  & off )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 12:46:02 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *      return  template_data ( & ctx ) 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_2  =  PyObject_Length ( __pyx_v_packed_bytes ) ;  if  ( unlikely ( __pyx_t_2  = =  - 1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  192 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  template_execute ( ( & __pyx_v_ctx ) ,  __pyx_v_p ,  __pyx_t_2 ,  ( & __pyx_v_off ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":193
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *      template_init ( & ctx ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      template_execute ( & ctx ,  p ,  len ( packed_bytes ) ,  & off ) 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 12:46:02 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *      return  template_data ( & ctx )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  def  unpack ( object  stream ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_r ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_3  =  template_data ( ( & __pyx_v_ctx ) ) ;  if  ( unlikely ( ! __pyx_t_3 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  193 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 12:46:02 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_t_3 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  __pyx_t_3 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_3  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  goto  __pyx_L0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  Py_None ;  __Pyx_INCREF ( Py_None ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  goto  __pyx_L0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L1_error : ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 12:46:02 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_t_3 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_AddTraceback ( " msgpack.unpacks " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L0 : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XGIVEREF ( __pyx_r ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_FinishRefcountContext ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  __pyx_r ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* "/home/inada-n/work/msgpack/python/msgpack.pyx":195
  
						 
					
						
							
								
									
										
										
										
											2009-06-08 12:46:02 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *      return  template_data ( & ctx ) 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  def  unpack ( object  stream ) :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      " " " unpack from stream. " " " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packed  =  stream . read ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_pf_7msgpack_unpack ( PyObject  * __pyx_self ,  PyObject  * __pyx_v_stream ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  char  __pyx_doc_7msgpack_unpack [ ]  =  " unpack from stream. " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_pf_7msgpack_unpack ( PyObject  * __pyx_self ,  PyObject  * __pyx_v_stream )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_v_packed ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_r  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_t_1  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_t_2  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_SetupRefcountContext ( " unpack " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_self  =  __pyx_self ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_v_packed  =  Py_None ;  __Pyx_INCREF ( Py_None ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":197
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *  def  unpack ( object  stream ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      " " " unpack from stream. " " " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packed  =  stream . read ( )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      return  unpacks ( packed ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_1  =  PyObject_GetAttr ( __pyx_v_stream ,  __pyx_kp_read ) ;  if  ( unlikely ( ! __pyx_t_1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  197 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_t_1 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_2  =  PyObject_Call ( __pyx_t_1 ,  ( ( PyObject  * ) __pyx_empty_tuple ) ,  NULL ) ;  if  ( unlikely ( ! __pyx_t_2 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  197 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_t_2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_t_1 ) ;  __pyx_t_1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_v_packed ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_v_packed  =  __pyx_t_2 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_2  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":198
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *      " " " unpack from stream. " " " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      packed  =  stream . read ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      return  unpacks ( packed )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  cdef  class  Unpacker : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_r ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_1  =  __Pyx_GetName ( __pyx_m ,  __pyx_kp_unpacks ) ;  if  ( unlikely ( ! __pyx_1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  198 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_1 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_2  =  PyTuple_New ( 1 ) ;  if  ( unlikely ( ! __pyx_t_2 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  198 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( ( ( PyObject  * ) __pyx_t_2 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_INCREF ( __pyx_v_packed ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyTuple_SET_ITEM ( __pyx_t_2 ,  0 ,  __pyx_v_packed ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_GIVEREF ( __pyx_v_packed ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_1  =  PyObject_Call ( __pyx_1 ,  ( ( PyObject  * ) __pyx_t_2 ) ,  NULL ) ;  if  ( unlikely ( ! __pyx_t_1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  198 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_t_1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_1 ) ;  __pyx_1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( ( ( PyObject  * ) __pyx_t_2 ) ) ;  __pyx_t_2  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  __pyx_t_1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  goto  __pyx_L0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  Py_None ;  __Pyx_INCREF ( Py_None ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  goto  __pyx_L0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L1_error : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_t_1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_t_2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_AddTraceback ( " msgpack.unpack " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_r  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L0 : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_v_packed ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XGIVEREF ( __pyx_r ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_FinishRefcountContext ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  __pyx_r ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								static  struct  __pyx_vtabstruct_7msgpack_Packer  __pyx_vtable_7msgpack_Packer ;  
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_tp_new_7msgpack_Packer ( PyTypeObject  * t ,  PyObject  * a ,  PyObject  * k )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  struct  __pyx_obj_7msgpack_Packer  * p ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * o  =  ( * t - > tp_alloc ) ( t ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( ! o )  return  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  p  =  ( ( struct  __pyx_obj_7msgpack_Packer  * ) o ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  p - > __pyx_vtab  =  __pyx_vtabptr_7msgpack_Packer ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  p - > strm  =  Py_None ;  Py_INCREF ( Py_None ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  o ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  void  __pyx_tp_dealloc_7msgpack_Packer ( PyObject  * o )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  struct  __pyx_obj_7msgpack_Packer  * p  =  ( struct  __pyx_obj_7msgpack_Packer  * ) o ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  Py_XDECREF ( p - > strm ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ( * Py_TYPE ( o ) - > tp_free ) ( o ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  int  __pyx_tp_traverse_7msgpack_Packer ( PyObject  * o ,  visitproc  v ,  void  * a )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  int  e ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  struct  __pyx_obj_7msgpack_Packer  * p  =  ( struct  __pyx_obj_7msgpack_Packer  * ) o ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( p - > strm )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    e  =  ( * v ) ( p - > strm ,  a ) ;  if  ( e )  return  e ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  int  __pyx_tp_clear_7msgpack_Packer ( PyObject  * o )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  struct  __pyx_obj_7msgpack_Packer  * p  =  ( struct  __pyx_obj_7msgpack_Packer  * ) o ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject *  tmp ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  tmp  =  ( ( PyObject * ) p - > strm ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  p - > strm  =  Py_None ;  Py_INCREF ( Py_None ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  Py_XDECREF ( tmp ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  struct  PyMethodDef  __pyx_methods_7msgpack_Packer [ ]  =  {  
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  { __Pyx_NAMESTR ( " __del__ " ) ,  ( PyCFunction ) __pyx_pf_7msgpack_6Packer___del__ ,  METH_NOARGS ,  __Pyx_DOCSTR ( 0 ) } , 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  { __Pyx_NAMESTR ( " flush " ) ,  ( PyCFunction ) __pyx_pf_7msgpack_6Packer_flush ,  METH_NOARGS ,  __Pyx_DOCSTR ( __pyx_doc_7msgpack_6Packer_flush ) } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { __Pyx_NAMESTR ( " pack_list " ) ,  ( PyCFunction ) __pyx_pf_7msgpack_6Packer_pack_list ,  METH_O ,  __Pyx_DOCSTR ( __pyx_doc_7msgpack_6Packer_pack_list ) } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { __Pyx_NAMESTR ( " pack_dict " ) ,  ( PyCFunction ) __pyx_pf_7msgpack_6Packer_pack_dict ,  METH_O ,  __Pyx_DOCSTR ( __pyx_doc_7msgpack_6Packer_pack_dict ) } , 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  { __Pyx_NAMESTR ( " pack " ) ,  ( PyCFunction ) __pyx_pf_7msgpack_6Packer_pack ,  METH_VARARGS | METH_KEYWORDS ,  __Pyx_DOCSTR ( 0 ) } , 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  { 0 ,  0 ,  0 ,  0 } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyNumberMethods  __pyx_tp_as_number_Packer  =  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_add*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_subtract*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_multiply*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_divide*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_remainder*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_divmod*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_power*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_negative*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_positive*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_absolute*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_nonzero*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_invert*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_lshift*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_rshift*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_and*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_xor*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_or*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_coerce*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_int*/ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION >= 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*reserved*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # else 
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_long*/ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_float*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_oct*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_hex*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_add*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_subtract*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_multiply*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_divide*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_remainder*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_power*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_lshift*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_rshift*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_and*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_xor*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_or*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_floor_divide*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_true_divide*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_floor_divide*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_true_divide*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_index*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PySequenceMethods  __pyx_tp_as_sequence_Packer  =  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*sq_length*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*sq_concat*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*sq_repeat*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*sq_item*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*sq_slice*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*sq_ass_item*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*sq_ass_slice*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*sq_contains*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*sq_inplace_concat*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*sq_inplace_repeat*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyMappingMethods  __pyx_tp_as_mapping_Packer  =  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*mp_length*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*mp_subscript*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*mp_ass_subscript*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyBufferProcs  __pyx_tp_as_buffer_Packer  =  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*bf_getreadbuffer*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*bf_getwritebuffer*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*bf_getsegcount*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*bf_getcharbuffer*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_VERSION_HEX >= 0x02060000 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*bf_getbuffer*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_VERSION_HEX >= 0x02060000 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*bf_releasebuffer*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								PyTypeObject  __pyx_type_7msgpack_Packer  =  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyVarObject_HEAD_INIT ( 0 ,  0 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_NAMESTR ( " msgpack.Packer " ) ,  /*tp_name*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  sizeof ( struct  __pyx_obj_7msgpack_Packer ) ,  /*tp_basicsize*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_itemsize*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_tp_dealloc_7msgpack_Packer ,  /*tp_dealloc*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_print*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_getattr*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_setattr*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_compare*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_repr*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  & __pyx_tp_as_number_Packer ,  /*tp_as_number*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  & __pyx_tp_as_sequence_Packer ,  /*tp_as_sequence*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  & __pyx_tp_as_mapping_Packer ,  /*tp_as_mapping*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_hash*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_call*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_str*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_getattro*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_setattro*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  & __pyx_tp_as_buffer_Packer ,  /*tp_as_buffer*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  Py_TPFLAGS_DEFAULT | Py_TPFLAGS_CHECKTYPES | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_NEWBUFFER | Py_TPFLAGS_HAVE_GC ,  /*tp_flags*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DOCSTR ( " Packer that pack data into strm. \n \n     strm must have `write(bytes)` method. \n     size specifies local buffer size. \n      " ) ,  /*tp_doc*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_tp_traverse_7msgpack_Packer ,  /*tp_traverse*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_tp_clear_7msgpack_Packer ,  /*tp_clear*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_richcompare*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_weaklistoffset*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_iter*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_iternext*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_methods_7msgpack_Packer ,  /*tp_methods*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_members*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_getset*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_base*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_dict*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_descr_get*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_descr_set*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_dictoffset*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_pf_7msgpack_6Packer___init__ ,  /*tp_init*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_alloc*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_tp_new_7msgpack_Packer ,  /*tp_new*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_free*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_is_gc*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_bases*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_mro*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_cache*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_subclasses*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_weaklist*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __pyx_tp_new_7msgpack_Unpacker ( PyTypeObject  * t ,  PyObject  * a ,  PyObject  * k )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * o  =  ( * t - > tp_alloc ) ( t ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( ! o )  return  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  o ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  void  __pyx_tp_dealloc_7msgpack_Unpacker ( PyObject  * o )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ( * Py_TYPE ( o ) - > tp_free ) ( o ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  struct  PyMethodDef  __pyx_methods_7msgpack_Unpacker [ ]  =  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { 0 ,  0 ,  0 ,  0 } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyNumberMethods  __pyx_tp_as_number_Unpacker  =  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_add*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_subtract*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_multiply*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_divide*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_remainder*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_divmod*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_power*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_negative*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_positive*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_absolute*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_nonzero*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_invert*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_lshift*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_rshift*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_and*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_xor*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_or*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_coerce*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_int*/ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION >= 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*reserved*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # else 
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_long*/ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_float*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_oct*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_hex*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_add*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_subtract*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_multiply*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_divide*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_remainder*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_power*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_lshift*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_rshift*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_and*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_xor*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_or*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_floor_divide*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_true_divide*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_floor_divide*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_inplace_true_divide*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*nb_index*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PySequenceMethods  __pyx_tp_as_sequence_Unpacker  =  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*sq_length*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*sq_concat*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*sq_repeat*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*sq_item*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*sq_slice*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*sq_ass_item*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*sq_ass_slice*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*sq_contains*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*sq_inplace_concat*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*sq_inplace_repeat*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyMappingMethods  __pyx_tp_as_mapping_Unpacker  =  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*mp_length*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*mp_subscript*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*mp_ass_subscript*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyBufferProcs  __pyx_tp_as_buffer_Unpacker  =  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*bf_getreadbuffer*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*bf_getwritebuffer*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*bf_getsegcount*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*bf_getcharbuffer*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_VERSION_HEX >= 0x02060000 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*bf_getbuffer*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_VERSION_HEX >= 0x02060000 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*bf_releasebuffer*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								PyTypeObject  __pyx_type_7msgpack_Unpacker  =  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyVarObject_HEAD_INIT ( 0 ,  0 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_NAMESTR ( " msgpack.Unpacker " ) ,  /*tp_name*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  sizeof ( struct  __pyx_obj_7msgpack_Unpacker ) ,  /*tp_basicsize*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_itemsize*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_tp_dealloc_7msgpack_Unpacker ,  /*tp_dealloc*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_print*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_getattr*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_setattr*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_compare*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_repr*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  & __pyx_tp_as_number_Unpacker ,  /*tp_as_number*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  & __pyx_tp_as_sequence_Unpacker ,  /*tp_as_sequence*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  & __pyx_tp_as_mapping_Unpacker ,  /*tp_as_mapping*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_hash*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_call*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_str*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_getattro*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_setattro*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  & __pyx_tp_as_buffer_Unpacker ,  /*tp_as_buffer*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  Py_TPFLAGS_DEFAULT | Py_TPFLAGS_CHECKTYPES | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_NEWBUFFER ,  /*tp_flags*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DOCSTR ( " Do nothing. This function is for symmetric to Packer " ) ,  /*tp_doc*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_traverse*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_clear*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_richcompare*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_weaklistoffset*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_iter*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_iternext*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_methods_7msgpack_Unpacker ,  /*tp_methods*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_members*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_getset*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_base*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_dict*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_descr_get*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_descr_set*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_dictoffset*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_init*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_alloc*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_tp_new_7msgpack_Unpacker ,  /*tp_new*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_free*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_is_gc*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_bases*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_mro*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_cache*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_subclasses*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  0 ,  /*tp_weaklist*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  struct  PyMethodDef  __pyx_methods [ ]  =  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { __Pyx_NAMESTR ( " pack " ) ,  ( PyCFunction ) __pyx_pf_7msgpack_pack ,  METH_VARARGS | METH_KEYWORDS ,  __Pyx_DOCSTR ( 0 ) } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { __Pyx_NAMESTR ( " packs " ) ,  ( PyCFunction ) __pyx_pf_7msgpack_packs ,  METH_O ,  __Pyx_DOCSTR ( 0 ) } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { __Pyx_NAMESTR ( " unpacks " ) ,  ( PyCFunction ) __pyx_pf_7msgpack_unpacks ,  METH_O ,  __Pyx_DOCSTR ( __pyx_doc_7msgpack_unpacks ) } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { __Pyx_NAMESTR ( " unpack " ) ,  ( PyCFunction ) __pyx_pf_7msgpack_unpack ,  METH_O ,  __Pyx_DOCSTR ( __pyx_doc_7msgpack_unpack ) } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { 0 ,  0 ,  0 ,  0 } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  void  __pyx_init_filenames ( void ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_MAJOR_VERSION >= 3 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  struct  PyModuleDef  __pyx_moduledef  =  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyModuleDef_HEAD_INIT , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __Pyx_NAMESTR ( " msgpack " ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    0 ,  /* m_doc */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    - 1 ,  /* m_size */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __pyx_methods  /* m_methods */ , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    NULL ,  /* m_reload */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    NULL ,  /* m_traverse */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    NULL ,  /* m_clear */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    NULL  /* m_free */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  __Pyx_StringTabEntry  __pyx_string_tab [ ]  =  {  
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  { & __pyx_kp___main__ ,  __pyx_k___main__ ,  sizeof ( __pyx_k___main__ ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  { & __pyx_kp___init__ ,  __pyx_k___init__ ,  sizeof ( __pyx_k___init__ ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  { & __pyx_kp___del__ ,  __pyx_k___del__ ,  sizeof ( __pyx_k___del__ ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  { & __pyx_kp_flush ,  __pyx_k_flush ,  sizeof ( __pyx_k_flush ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { & __pyx_kp_pack_list ,  __pyx_k_pack_list ,  sizeof ( __pyx_k_pack_list ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { & __pyx_kp_pack_dict ,  __pyx_k_pack_dict ,  sizeof ( __pyx_k_pack_dict ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { & __pyx_kp_pack ,  __pyx_k_pack ,  sizeof ( __pyx_k_pack ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { & __pyx_kp_unpack ,  __pyx_k_unpack ,  sizeof ( __pyx_k_unpack ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { & __pyx_kp_strm ,  __pyx_k_strm ,  sizeof ( __pyx_k_strm ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { & __pyx_kp_size ,  __pyx_k_size ,  sizeof ( __pyx_k_size ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { & __pyx_kp_len ,  __pyx_k_len ,  sizeof ( __pyx_k_len ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  { & __pyx_kp_obj ,  __pyx_k_obj ,  sizeof ( __pyx_k_obj ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  { & __pyx_kp_o ,  __pyx_k_o ,  sizeof ( __pyx_k_o ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { & __pyx_kp_stream ,  __pyx_k_stream ,  sizeof ( __pyx_k_stream ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { & __pyx_kp_packed_bytes ,  __pyx_k_packed_bytes ,  sizeof ( __pyx_k_packed_bytes ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { & __pyx_kp_cStringIO ,  __pyx_k_cStringIO ,  sizeof ( __pyx_k_cStringIO ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { & __pyx_kp_StringIO ,  __pyx_k_StringIO ,  sizeof ( __pyx_k_StringIO ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { & __pyx_kp_staticmethod ,  __pyx_k_staticmethod ,  sizeof ( __pyx_k_staticmethod ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { & __pyx_kp_unpacks ,  __pyx_k_unpacks ,  sizeof ( __pyx_k_unpacks ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { & __pyx_kp_write ,  __pyx_k_write ,  sizeof ( __pyx_k_write ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  { & __pyx_kp_2 ,  __pyx_k_2 ,  sizeof ( __pyx_k_2 ) ,  0 ,  1 ,  0 } , 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  { & __pyx_kp_encode ,  __pyx_k_encode ,  sizeof ( __pyx_k_encode ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { & __pyx_kp_iteritems ,  __pyx_k_iteritems ,  sizeof ( __pyx_k_iteritems ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { & __pyx_kp_TypeError ,  __pyx_k_TypeError ,  sizeof ( __pyx_k_TypeError ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { & __pyx_kp_getvalue ,  __pyx_k_getvalue ,  sizeof ( __pyx_k_getvalue ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { & __pyx_kp_read ,  __pyx_k_read ,  sizeof ( __pyx_k_read ) ,  1 ,  1 ,  1 } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  { & __pyx_kp_3 ,  __pyx_k_3 ,  sizeof ( __pyx_k_3 ) ,  0 ,  0 ,  0 } , 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  { & __pyx_kp_4 ,  __pyx_k_4 ,  sizeof ( __pyx_k_4 ) ,  0 ,  0 ,  0 } , 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  { 0 ,  0 ,  0 ,  0 ,  0 ,  0 } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  int  __Pyx_InitCachedBuiltins ( void )  {  
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_builtin_staticmethod  =  __Pyx_GetName ( __pyx_b ,  __pyx_kp_staticmethod ) ;  if  ( ! __pyx_builtin_staticmethod )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  202 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_builtin_TypeError  =  __Pyx_GetName ( __pyx_b ,  __pyx_kp_TypeError ) ;  if  ( ! __pyx_builtin_TypeError )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  143 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  return  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L1_error : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  int  __Pyx_InitGlobals ( void )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( __Pyx_InitStrings ( __pyx_string_tab )  <  0 )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  1 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L1_error : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_MAJOR_VERSION < 3 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								PyMODINIT_FUNC  initmsgpack ( void ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								PyMODINIT_FUNC  initmsgpack ( void )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# else 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								PyMODINIT_FUNC  PyInit_msgpack ( void ) ;  /*proto*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								PyMODINIT_FUNC  PyInit_msgpack ( void )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_2  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_t_1  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * __pyx_t_2  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # ifdef CYTHON_REFNANNY 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  void *  __pyx_refchk  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_Refnanny  =  __Pyx_ImportRefcountAPI ( " refnanny " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( ! __Pyx_Refnanny )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      PyErr_Clear ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      __Pyx_Refnanny  =  __Pyx_ImportRefcountAPI ( " Cython.Runtime.refnanny " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      if  ( ! __Pyx_Refnanny ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          Py_FatalError ( " failed to import refnanny module " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_refchk  =  __Pyx_Refnanny - > NewContext ( " PyMODINIT_FUNC PyInit_msgpack(void) " ,  __LINE__ ,  __FILE__ ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_empty_tuple  =  PyTuple_New ( 0 ) ;  if  ( unlikely ( ! __pyx_empty_tuple ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  1 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /*--- Library function declarations ---*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_init_filenames ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /*--- Threads initialization code ---*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # ifdef WITH_THREAD  /* Python build with threading support? */ 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyEval_InitThreads ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /*--- Initialize various global constants etc. ---*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( unlikely ( __Pyx_InitGlobals ( )  <  0 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  1 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /*--- Module creation code ---*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_m  =  Py_InitModule4 ( __Pyx_NAMESTR ( " msgpack " ) ,  __pyx_methods ,  0 ,  0 ,  PYTHON_API_VERSION ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # else 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_m  =  PyModule_Create ( & __pyx_moduledef ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( ! __pyx_m )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  1 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  Py_INCREF ( __pyx_m ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_b  =  PyImport_AddModule ( __Pyx_NAMESTR ( __Pyx_BUILTIN_MODULE_NAME ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( ! __pyx_b )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  1 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( __Pyx_SetAttrString ( __pyx_m ,  " __builtins__ " ,  __pyx_b )  <  0 )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  1 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  if  ( __pyx_module_is_main_msgpack )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( __Pyx_SetAttrString ( __pyx_m ,  " __name__ " ,  __pyx_kp___main__ )  <  0 )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  1 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  /*--- Builtin init code ---*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( unlikely ( __Pyx_InitCachedBuiltins ( )  <  0 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  1 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_skip_dispatch  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /*--- Global init code ---*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /*--- Function export code ---*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /*--- Type init code ---*/ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_vtabptr_7msgpack_Packer  =  & __pyx_vtable_7msgpack_Packer ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION >= 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_vtable_7msgpack_Packer . __pack  =  ( PyObject  * ( * ) ( struct  __pyx_obj_7msgpack_Packer  * ,  PyObject  * ) ) __pyx_f_7msgpack_6Packer___pack ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # else 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  * ( void ( * * ) ( void ) ) & __pyx_vtable_7msgpack_Packer . __pack  =  ( void ( * ) ( void ) ) __pyx_f_7msgpack_6Packer___pack ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  if  ( PyType_Ready ( & __pyx_type_7msgpack_Packer )  <  0 )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  39 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  if  ( __Pyx_SetVtable ( __pyx_type_7msgpack_Packer . tp_dict ,  __pyx_vtabptr_7msgpack_Packer )  <  0 )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  39 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  if  ( __Pyx_SetAttrString ( __pyx_m ,  " Packer " ,  ( PyObject  * ) & __pyx_type_7msgpack_Packer )  <  0 )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  39 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_ptype_7msgpack_Packer  =  & __pyx_type_7msgpack_Packer ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  if  ( PyType_Ready ( & __pyx_type_7msgpack_Unpacker )  <  0 )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  200 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( __Pyx_SetAttrString ( __pyx_m ,  " Unpacker " ,  ( PyObject  * ) & __pyx_type_7msgpack_Unpacker )  <  0 )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  200 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __pyx_ptype_7msgpack_Unpacker  =  & __pyx_type_7msgpack_Unpacker ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /*--- Type import code ---*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /*--- Function import code ---*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /*--- Execution code ---*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":3
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *  #  coding :  utf - 8 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  from  cStringIO  import  StringIO              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  cdef  extern  from  " Python.h " : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_1  =  PyList_New ( 1 ) ;  if  ( unlikely ( ! __pyx_t_1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  3 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( ( ( PyObject  * ) __pyx_t_1 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_INCREF ( __pyx_kp_StringIO ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyList_SET_ITEM ( __pyx_t_1 ,  0 ,  __pyx_kp_StringIO ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_GIVEREF ( __pyx_kp_StringIO ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_1  =  __Pyx_Import ( __pyx_kp_cStringIO ,  ( ( PyObject  * ) __pyx_t_1 ) ) ;  if  ( unlikely ( ! __pyx_1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  3 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( ( ( PyObject  * ) __pyx_t_1 ) ) ;  __pyx_t_1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_2  =  PyObject_GetAttr ( __pyx_1 ,  __pyx_kp_StringIO ) ;  if  ( unlikely ( ! __pyx_2 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  3 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( PyObject_SetAttr ( __pyx_m ,  __pyx_kp_StringIO ,  __pyx_2 )  <  0 )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  3 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_2 ) ;  __pyx_2  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_1 ) ;  __pyx_1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":37
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  cdef  int  BUFF_SIZE = 2 * 1024              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  cdef  class  Packer : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_v_7msgpack_BUFF_SIZE  =  2048 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":145
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *              raise  TypeError ,  " can't serialize %r "  %  ( o , ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      def  pack ( self ,  obj ,  flush = True ) :              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          self . __pack ( obj ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *          if  flush : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_1  =  __Pyx_PyBool_FromLong ( 1 ) ;  if  ( unlikely ( ! __pyx_t_1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  145 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_t_1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_k_1  =  __pyx_t_1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_t_1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_GIVEREF ( __pyx_k_1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /* "/home/inada-n/work/msgpack/python/msgpack.pyx":202
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *  cdef  class  Unpacker : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      " " " Do nothing. This function is for symmetric to Packer " " " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *      unpack  =  staticmethod ( unpacks )              #  < < < < < < < < < < < < < < 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_1  =  __Pyx_GetName ( __pyx_m ,  __pyx_kp_unpacks ) ;  if  ( unlikely ( ! __pyx_1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  202 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_1 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_1  =  PyTuple_New ( 1 ) ;  if  ( unlikely ( ! __pyx_t_1 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  202 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( ( ( PyObject  * ) __pyx_t_1 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyTuple_SET_ITEM ( __pyx_t_1 ,  0 ,  __pyx_1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_GIVEREF ( __pyx_1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_1  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  __pyx_t_2  =  PyObject_Call ( __pyx_builtin_staticmethod ,  ( ( PyObject  * ) __pyx_t_1 ) ,  NULL ) ;  if  ( unlikely ( ! __pyx_t_2 ) )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  202 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_GOTREF ( __pyx_t_2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( ( ( PyObject  * ) __pyx_t_1 ) ) ;  __pyx_t_1  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  if  ( PyDict_SetItem ( ( PyObject  * ) __pyx_ptype_7msgpack_Unpacker - > tp_dict ,  __pyx_kp_unpack ,  __pyx_t_2 )  <  0 )  { __pyx_filename  =  __pyx_f [ 0 ] ;  __pyx_lineno  =  202 ;  __pyx_clineno  =  __LINE__ ;  goto  __pyx_L1_error ; } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  __Pyx_DECREF ( __pyx_t_2 ) ;  __pyx_t_2  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyType_Modified ( __pyx_ptype_7msgpack_Unpacker ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  goto  __pyx_L0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L1_error : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_t_1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_XDECREF ( __pyx_t_2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_AddTraceback ( " msgpack " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  Py_DECREF ( __pyx_m ) ;  __pyx_m  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_L0 : ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __Pyx_FinishRefcountContext ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # else 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  __pyx_m ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  const  char  * __pyx_filenames [ ]  =  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  " msgpack.pyx " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* Runtime support code */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  void  __pyx_init_filenames ( void )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __pyx_f  =  __pyx_filenames ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  void  __Pyx_RaiseDoubleKeywordsError (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  char *  func_name , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject *  kw_name ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyErr_Format ( PyExc_TypeError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # if PY_MAJOR_VERSION >= 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        " %s() got multiple values for keyword argument '%U' " ,  func_name ,  kw_name ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # else 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        " %s() got multiple values for keyword argument '%s' " ,  func_name , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        PyString_AS_STRING ( kw_name ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  void  __Pyx_RaiseArgtupleInvalid (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  char *  func_name , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    int  exact , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_ssize_t  num_min , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_ssize_t  num_max , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_ssize_t  num_found ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_ssize_t  num_expected ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  char  * number ,  * more_or_less ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( num_found  <  num_min )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        num_expected  =  num_min ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        more_or_less  =  " at least " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        num_expected  =  num_max ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        more_or_less  =  " at most " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( exact )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        more_or_less  =  " exactly " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    number  =  ( num_expected  = =  1 )  ?  " "  :  " s " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyErr_Format ( PyExc_TypeError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # if PY_VERSION_HEX < 0x02050000 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            " %s() takes %s %d positional argument%s (%d given) " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # else 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            " %s() takes %s %zd positional argument%s (%zd given) " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        func_name ,  more_or_less ,  num_expected ,  number ,  num_found ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  int  __Pyx_ParseOptionalKeywords (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject  * kwds , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject  * * argnames [ ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject  * kwds2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject  * values [ ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_ssize_t  num_pos_args , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  char *  function_name ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject  * key  =  0 ,  * value  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_ssize_t  pos  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject * * *  name ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject * * *  first_kw_arg  =  argnames  +  num_pos_args ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    while  ( PyDict_Next ( kwds ,  & pos ,  & key ,  & value ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        name  =  first_kw_arg ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        while  ( * name  & &  ( * * name  ! =  key ) )  name + + ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( * name )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            values [ name - argnames ]  =  value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( unlikely ( ! PyString_CheckExact ( key ) )  & &  unlikely ( ! PyString_Check ( key ) ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            # else 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( unlikely ( ! PyUnicode_CheckExact ( key ) )  & &  unlikely ( ! PyUnicode_Check ( key ) ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                goto  invalid_keyword_type ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                for  ( name  =  first_kw_arg ;  * name ;  name + + )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    # if PY_MAJOR_VERSION >= 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    if  ( PyUnicode_GET_SIZE ( * * name )  = =  PyUnicode_GET_SIZE ( key )  & & 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        PyUnicode_Compare ( * * name ,  key )  = =  0 )  break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    # else 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    if  ( PyString_GET_SIZE ( * * name )  = =  PyString_GET_SIZE ( key )  & & 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        _PyString_Eq ( * * name ,  key ) )  break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                if  ( * name )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    values [ name - argnames ]  =  value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    /* unexpected keyword found */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    for  ( name = argnames ;  name  ! =  first_kw_arg ;  name + + )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        if  ( * * name  = =  key )  goto  arg_passed_twice ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        # if PY_MAJOR_VERSION >= 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        if  ( PyUnicode_GET_SIZE ( * * name )  = =  PyUnicode_GET_SIZE ( key )  & & 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            PyUnicode_Compare ( * * name ,  key )  = =  0 )  goto  arg_passed_twice ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        # else 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        if  ( PyString_GET_SIZE ( * * name )  = =  PyString_GET_SIZE ( key )  & & 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            _PyString_Eq ( * * name ,  key ) )  goto  arg_passed_twice ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    if  ( kwds2 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        if  ( unlikely ( PyDict_SetItem ( kwds2 ,  key ,  value ) ) )  goto  bad ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        goto  invalid_keyword ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								arg_passed_twice :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __Pyx_RaiseDoubleKeywordsError ( function_name ,  * * name ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    goto  bad ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								invalid_keyword_type :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyErr_Format ( PyExc_TypeError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        " %s() keywords must be strings " ,  function_name ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    goto  bad ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								invalid_keyword :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyErr_Format ( PyExc_TypeError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        " %s() got an unexpected keyword argument '%s' " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        function_name ,  PyString_AsString ( key ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # else 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        " %s() got an unexpected keyword argument '%U' " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        function_name ,  key ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								bad :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __Pyx_Import ( PyObject  * name ,  PyObject  * from_list )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject  * __import__  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject  * empty_list  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject  * module  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject  * global_dict  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject  * empty_dict  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject  * list ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __import__  =  __Pyx_GetAttrString ( __pyx_b ,  " __import__ " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( ! __import__ ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        goto  bad ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( from_list ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        list  =  from_list ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        empty_list  =  PyList_New ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( ! empty_list ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            goto  bad ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        list  =  empty_list ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    global_dict  =  PyModule_GetDict ( __pyx_m ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( ! global_dict ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        goto  bad ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    empty_dict  =  PyDict_New ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( ! empty_dict ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        goto  bad ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    module  =  PyObject_CallFunctionObjArgs ( __import__ , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        name ,  global_dict ,  empty_dict ,  list ,  NULL ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								bad :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_XDECREF ( empty_list ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_XDECREF ( __import__ ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_XDECREF ( empty_dict ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  module ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __Pyx_GetName ( PyObject  * dict ,  PyObject  * name )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject  * result ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    result  =  PyObject_GetAttr ( dict ,  name ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( ! result ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        PyErr_SetObject ( PyExc_NameError ,  name ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  result ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  void  __Pyx_RaiseNeedMoreValuesError ( Py_ssize_t  index )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyErr_Format ( PyExc_ValueError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # if PY_VERSION_HEX < 0x02050000 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                 " need more than %d value%s to unpack " ,  ( int ) index , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # else 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                 " need more than %zd value%s to unpack " ,  index , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                 ( index  = =  1 )  ?  " "  :  " s " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  void  __Pyx_RaiseTooManyValuesError ( void )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyErr_SetString ( PyExc_ValueError ,  " too many values to unpack " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  * __Pyx_UnpackItem ( PyObject  * iter ,  Py_ssize_t  index )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject  * item ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( ! ( item  =  PyIter_Next ( iter ) ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( ! PyErr_Occurred ( ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            __Pyx_RaiseNeedMoreValuesError ( index ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  item ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  int  __Pyx_EndUnpack ( PyObject  * iter )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject  * item ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( ( item  =  PyIter_Next ( iter ) ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        Py_DECREF ( item ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __Pyx_RaiseTooManyValuesError ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    else  if  ( ! PyErr_Occurred ( ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  void  __Pyx_Raise ( PyObject  * type ,  PyObject  * value ,  PyObject  * tb )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_XINCREF ( type ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_XINCREF ( value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_XINCREF ( tb ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /* First, check the traceback argument, replacing None with NULL. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( tb  = =  Py_None )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        Py_DECREF ( tb ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        tb  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    else  if  ( tb  ! =  NULL  & &  ! PyTraceBack_Check ( tb ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        PyErr_SetString ( PyExc_TypeError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            " raise: arg 3 must be a traceback or None " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        goto  raise_error ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /* Next, replace a missing value with None */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( value  = =  NULL )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        value  =  Py_None ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        Py_INCREF ( value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # if PY_VERSION_HEX < 0x02050000 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( ! PyClass_Check ( type ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # else 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( ! PyType_Check ( type ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        /* Raising an instance.  The value should be a dummy. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( value  ! =  Py_None )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            PyErr_SetString ( PyExc_TypeError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                " instance exception may not have a separate value " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            goto  raise_error ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        /* Normalize to raise <class>, <instance> */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        Py_DECREF ( value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        value  =  type ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # if PY_VERSION_HEX < 0x02050000 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( PyInstance_Check ( type ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                type  =  ( PyObject * )  ( ( PyInstanceObject * ) type ) - > in_class ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                Py_INCREF ( type ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                type  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                PyErr_SetString ( PyExc_TypeError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    " raise: exception must be an old-style class or instance " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                goto  raise_error ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # else 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            type  =  ( PyObject * )  Py_TYPE ( type ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            Py_INCREF ( type ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( ! PyType_IsSubtype ( ( PyTypeObject  * ) type ,  ( PyTypeObject  * ) PyExc_BaseException ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                PyErr_SetString ( PyExc_TypeError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    " raise: exception class must be a subclass of BaseException " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                goto  raise_error ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __Pyx_ErrRestore ( type ,  value ,  tb ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								raise_error :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_XDECREF ( value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_XDECREF ( type ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_XDECREF ( tb ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  void  __Pyx_ErrRestore ( PyObject  * type ,  PyObject  * value ,  PyObject  * tb )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject  * tmp_type ,  * tmp_value ,  * tmp_tb ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyThreadState  * tstate  =  PyThreadState_GET ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_MAJOR_VERSION >= 3 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /* Note: this is a temporary work-around to prevent crashes in Python 3.0 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( ( tstate - > exc_type  ! =  NULL )  &  ( tstate - > exc_type  ! =  Py_None ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        tmp_type  =  tstate - > exc_type ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        tmp_value  =  tstate - > exc_value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        tmp_tb  =  tstate - > exc_traceback ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        PyErr_NormalizeException ( & type ,  & value ,  & tb ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        PyErr_NormalizeException ( & tmp_type ,  & tmp_value ,  & tmp_tb ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        tstate - > exc_type  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        tstate - > exc_value  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        tstate - > exc_traceback  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        PyException_SetContext ( value ,  tmp_value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        Py_DECREF ( tmp_type ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        Py_XDECREF ( tmp_tb ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    tmp_type  =  tstate - > curexc_type ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    tmp_value  =  tstate - > curexc_value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    tmp_tb  =  tstate - > curexc_traceback ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    tstate - > curexc_type  =  type ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    tstate - > curexc_value  =  value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    tstate - > curexc_traceback  =  tb ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_XDECREF ( tmp_type ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_XDECREF ( tmp_value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_XDECREF ( tmp_tb ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  void  __Pyx_ErrFetch ( PyObject  * * type ,  PyObject  * * value ,  PyObject  * * tb )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyThreadState  * tstate  =  PyThreadState_GET ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    * type  =  tstate - > curexc_type ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    * value  =  tstate - > curexc_value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    * tb  =  tstate - > curexc_traceback ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    tstate - > curexc_type  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    tstate - > curexc_value  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    tstate - > curexc_traceback  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  int  __Pyx_StrEq ( const  char  * s1 ,  const  char  * s2 )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     while  ( * s1  ! =  ' \0 '  & &  * s1  = =  * s2 )  {  s1 + + ;  s2 + + ;  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     return  * s1  = =  * s2 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  unsigned  char  __Pyx_PyInt_AsUnsignedChar ( PyObject *  x )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( sizeof ( unsigned  char )  <  sizeof ( long ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        long  val  =  __Pyx_PyInt_AsLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( unlikely ( val  ! =  ( long ) ( unsigned  char ) val ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( unlikely ( val  = =  - 1  & &  PyErr_Occurred ( ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                return  ( unsigned  char ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( unlikely ( val  <  0 ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                PyErr_SetString ( PyExc_OverflowError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                " can't convert negative value to unsigned char " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                return  ( unsigned  char ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            PyErr_SetString ( PyExc_OverflowError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                           " value too large to convert to unsigned char " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  ( unsigned  char ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  ( unsigned  char ) val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  ( unsigned  char ) __Pyx_PyInt_AsUnsignedLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  unsigned  short  __Pyx_PyInt_AsUnsignedShort ( PyObject *  x )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( sizeof ( unsigned  short )  <  sizeof ( long ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        long  val  =  __Pyx_PyInt_AsLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( unlikely ( val  ! =  ( long ) ( unsigned  short ) val ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( unlikely ( val  = =  - 1  & &  PyErr_Occurred ( ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                return  ( unsigned  short ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( unlikely ( val  <  0 ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                PyErr_SetString ( PyExc_OverflowError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                " can't convert negative value to unsigned short " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                return  ( unsigned  short ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            PyErr_SetString ( PyExc_OverflowError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                           " value too large to convert to unsigned short " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  ( unsigned  short ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  ( unsigned  short ) val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  ( unsigned  short ) __Pyx_PyInt_AsUnsignedLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  unsigned  int  __Pyx_PyInt_AsUnsignedInt ( PyObject *  x )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( sizeof ( unsigned  int )  <  sizeof ( long ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        long  val  =  __Pyx_PyInt_AsLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( unlikely ( val  ! =  ( long ) ( unsigned  int ) val ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( unlikely ( val  = =  - 1  & &  PyErr_Occurred ( ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                return  ( unsigned  int ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( unlikely ( val  <  0 ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                PyErr_SetString ( PyExc_OverflowError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                " can't convert negative value to unsigned int " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                return  ( unsigned  int ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            PyErr_SetString ( PyExc_OverflowError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                           " value too large to convert to unsigned int " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  ( unsigned  int ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  ( unsigned  int ) val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  ( unsigned  int ) __Pyx_PyInt_AsUnsignedLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  char  __Pyx_PyInt_AsChar ( PyObject *  x )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( sizeof ( char )  <  sizeof ( long ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        long  val  =  __Pyx_PyInt_AsLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( unlikely ( val  ! =  ( long ) ( char ) val ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( unlikely ( val  = =  - 1  & &  PyErr_Occurred ( ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                return  ( char ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            PyErr_SetString ( PyExc_OverflowError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                           " value too large to convert to char " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  ( char ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  ( char ) val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  ( char ) __Pyx_PyInt_AsLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  short  __Pyx_PyInt_AsShort ( PyObject *  x )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( sizeof ( short )  <  sizeof ( long ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        long  val  =  __Pyx_PyInt_AsLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( unlikely ( val  ! =  ( long ) ( short ) val ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( unlikely ( val  = =  - 1  & &  PyErr_Occurred ( ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                return  ( short ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            PyErr_SetString ( PyExc_OverflowError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                           " value too large to convert to short " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  ( short ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  ( short ) val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  ( short ) __Pyx_PyInt_AsLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  int  __Pyx_PyInt_AsInt ( PyObject *  x )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( sizeof ( int )  <  sizeof ( long ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        long  val  =  __Pyx_PyInt_AsLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( unlikely ( val  ! =  ( long ) ( int ) val ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( unlikely ( val  = =  - 1  & &  PyErr_Occurred ( ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                return  ( int ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            PyErr_SetString ( PyExc_OverflowError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                           " value too large to convert to int " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  ( int ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  ( int ) val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  ( int ) __Pyx_PyInt_AsLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  signed  char  __Pyx_PyInt_AsSignedChar ( PyObject *  x )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( sizeof ( signed  char )  <  sizeof ( long ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        long  val  =  __Pyx_PyInt_AsLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( unlikely ( val  ! =  ( long ) ( signed  char ) val ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( unlikely ( val  = =  - 1  & &  PyErr_Occurred ( ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                return  ( signed  char ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            PyErr_SetString ( PyExc_OverflowError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                           " value too large to convert to signed char " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  ( signed  char ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  ( signed  char ) val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  ( signed  char ) __Pyx_PyInt_AsSignedLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  signed  short  __Pyx_PyInt_AsSignedShort ( PyObject *  x )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( sizeof ( signed  short )  <  sizeof ( long ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        long  val  =  __Pyx_PyInt_AsLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( unlikely ( val  ! =  ( long ) ( signed  short ) val ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( unlikely ( val  = =  - 1  & &  PyErr_Occurred ( ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                return  ( signed  short ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            PyErr_SetString ( PyExc_OverflowError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                           " value too large to convert to signed short " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  ( signed  short ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  ( signed  short ) val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  ( signed  short ) __Pyx_PyInt_AsSignedLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  signed  int  __Pyx_PyInt_AsSignedInt ( PyObject *  x )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( sizeof ( signed  int )  <  sizeof ( long ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        long  val  =  __Pyx_PyInt_AsLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( unlikely ( val  ! =  ( long ) ( signed  int ) val ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( unlikely ( val  = =  - 1  & &  PyErr_Occurred ( ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                return  ( signed  int ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            PyErr_SetString ( PyExc_OverflowError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                           " value too large to convert to signed int " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  ( signed  int ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  ( signed  int ) val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  ( signed  int ) __Pyx_PyInt_AsSignedLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  unsigned  long  __Pyx_PyInt_AsUnsignedLong ( PyObject *  x )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_VERSION_HEX < 0x03000000 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( likely ( PyInt_CheckExact ( x )  | |  PyInt_Check ( x ) ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        long  val  =  PyInt_AS_LONG ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( unlikely ( val  <  0 ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            PyErr_SetString ( PyExc_OverflowError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            " can't convert negative value to unsigned long " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  ( unsigned  long ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  ( unsigned  long ) val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( likely ( PyLong_CheckExact ( x )  | |  PyLong_Check ( x ) ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( unlikely ( Py_SIZE ( x )  <  0 ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            PyErr_SetString ( PyExc_OverflowError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            " can't convert negative value to unsigned long " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  ( unsigned  long ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  PyLong_AsUnsignedLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        unsigned  long  val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        PyObject  * tmp  =  __Pyx_PyNumber_Int ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( ! tmp )  return  ( unsigned  long ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        val  =  __Pyx_PyInt_AsUnsignedLong ( tmp ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        Py_DECREF ( tmp ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  unsigned  PY_LONG_LONG  __Pyx_PyInt_AsUnsignedLongLong ( PyObject *  x )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_VERSION_HEX < 0x03000000 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( likely ( PyInt_CheckExact ( x )  | |  PyInt_Check ( x ) ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        long  val  =  PyInt_AS_LONG ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( unlikely ( val  <  0 ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            PyErr_SetString ( PyExc_OverflowError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            " can't convert negative value to unsigned PY_LONG_LONG " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  ( unsigned  PY_LONG_LONG ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  ( unsigned  PY_LONG_LONG ) val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( likely ( PyLong_CheckExact ( x )  | |  PyLong_Check ( x ) ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( unlikely ( Py_SIZE ( x )  <  0 ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            PyErr_SetString ( PyExc_OverflowError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            " can't convert negative value to unsigned PY_LONG_LONG " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  ( unsigned  PY_LONG_LONG ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  PyLong_AsUnsignedLongLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        unsigned  PY_LONG_LONG  val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        PyObject  * tmp  =  __Pyx_PyNumber_Int ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( ! tmp )  return  ( unsigned  PY_LONG_LONG ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        val  =  __Pyx_PyInt_AsUnsignedLongLong ( tmp ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        Py_DECREF ( tmp ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  long  __Pyx_PyInt_AsLong ( PyObject *  x )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_VERSION_HEX < 0x03000000 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( likely ( PyInt_CheckExact ( x )  | |  PyInt_Check ( x ) ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        long  val  =  PyInt_AS_LONG ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  ( long ) val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( likely ( PyLong_CheckExact ( x )  | |  PyLong_Check ( x ) ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  PyLong_AsLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        long  val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        PyObject  * tmp  =  __Pyx_PyNumber_Int ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( ! tmp )  return  ( long ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        val  =  __Pyx_PyInt_AsLong ( tmp ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        Py_DECREF ( tmp ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  PY_LONG_LONG  __Pyx_PyInt_AsLongLong ( PyObject *  x )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_VERSION_HEX < 0x03000000 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( likely ( PyInt_CheckExact ( x )  | |  PyInt_Check ( x ) ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        long  val  =  PyInt_AS_LONG ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  ( PY_LONG_LONG ) val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( likely ( PyLong_CheckExact ( x )  | |  PyLong_Check ( x ) ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  PyLong_AsLongLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        PY_LONG_LONG  val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        PyObject  * tmp  =  __Pyx_PyNumber_Int ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( ! tmp )  return  ( PY_LONG_LONG ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        val  =  __Pyx_PyInt_AsLongLong ( tmp ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        Py_DECREF ( tmp ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  signed  long  __Pyx_PyInt_AsSignedLong ( PyObject *  x )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_VERSION_HEX < 0x03000000 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( likely ( PyInt_CheckExact ( x )  | |  PyInt_Check ( x ) ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        long  val  =  PyInt_AS_LONG ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  ( signed  long ) val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( likely ( PyLong_CheckExact ( x )  | |  PyLong_Check ( x ) ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  PyLong_AsLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        signed  long  val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        PyObject  * tmp  =  __Pyx_PyNumber_Int ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( ! tmp )  return  ( signed  long ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        val  =  __Pyx_PyInt_AsSignedLong ( tmp ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        Py_DECREF ( tmp ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  signed  PY_LONG_LONG  __Pyx_PyInt_AsSignedLongLong ( PyObject *  x )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_VERSION_HEX < 0x03000000 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( likely ( PyInt_CheckExact ( x )  | |  PyInt_Check ( x ) ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        long  val  =  PyInt_AS_LONG ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  ( signed  PY_LONG_LONG ) val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( likely ( PyLong_CheckExact ( x )  | |  PyLong_Check ( x ) ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  PyLong_AsLongLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        signed  PY_LONG_LONG  val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        PyObject  * tmp  =  __Pyx_PyNumber_Int ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( ! tmp )  return  ( signed  PY_LONG_LONG ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        val  =  __Pyx_PyInt_AsSignedLongLong ( tmp ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        Py_DECREF ( tmp ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  void  __Pyx_WriteUnraisable ( const  char  * name )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject  * old_exc ,  * old_val ,  * old_tb ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject  * ctx ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __Pyx_ErrFetch ( & old_exc ,  & old_val ,  & old_tb ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ctx  =  PyString_FromString ( name ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # else 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ctx  =  PyUnicode_FromString ( name ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    __Pyx_ErrRestore ( old_exc ,  old_val ,  old_tb ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( ! ctx )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        PyErr_WriteUnraisable ( Py_None ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        PyErr_WriteUnraisable ( ctx ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        Py_DECREF ( ctx ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 13:12:29 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								static  int  __Pyx_SetVtable ( PyObject  * dict ,  void  * vtable )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject  * pycobj  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    int  result ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    pycobj  =  PyCObject_FromVoidPtr ( vtable ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( ! pycobj ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        goto  bad ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( PyDict_SetItemString ( dict ,  " __pyx_vtable__ " ,  pycobj )  <  0 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        goto  bad ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    result  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    goto  done ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								bad :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    result  =  - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								done :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_XDECREF ( pycobj ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  result ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# include  "compile.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "frameobject.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "traceback.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  void  __Pyx_AddTraceback ( const  char  * funcname )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject  * py_srcfile  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject  * py_funcname  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject  * py_globals  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyObject  * empty_string  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyCodeObject  * py_code  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyFrameObject  * py_frame  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    py_srcfile  =  PyString_FromString ( __pyx_filename ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # else 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    py_srcfile  =  PyUnicode_FromString ( __pyx_filename ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( ! py_srcfile )  goto  bad ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( __pyx_clineno )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        py_funcname  =  PyString_FromFormat (  " %s (%s:%d) " ,  funcname ,  __pyx_cfilenm ,  __pyx_clineno ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # else 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        py_funcname  =  PyUnicode_FromFormat (  " %s (%s:%d) " ,  funcname ,  __pyx_cfilenm ,  __pyx_clineno ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        py_funcname  =  PyString_FromString ( funcname ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # else 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        py_funcname  =  PyUnicode_FromString ( funcname ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( ! py_funcname )  goto  bad ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    py_globals  =  PyModule_GetDict ( __pyx_m ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( ! py_globals )  goto  bad ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    empty_string  =  PyString_FromStringAndSize ( " " ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # else 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    empty_string  =  PyBytes_FromStringAndSize ( " " ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( ! empty_string )  goto  bad ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    py_code  =  PyCode_New ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        0 ,             /*int argcount,*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # if PY_MAJOR_VERSION >= 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        0 ,             /*int kwonlyargcount,*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        0 ,             /*int nlocals,*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        0 ,             /*int stacksize,*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        0 ,             /*int flags,*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        empty_string ,  /*PyObject *code,*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __pyx_empty_tuple ,   /*PyObject *consts,*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __pyx_empty_tuple ,   /*PyObject *names,*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __pyx_empty_tuple ,   /*PyObject *varnames,*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __pyx_empty_tuple ,   /*PyObject *freevars,*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __pyx_empty_tuple ,   /*PyObject *cellvars,*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        py_srcfile ,    /*PyObject *filename,*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        py_funcname ,   /*PyObject *name,*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        __pyx_lineno ,    /*int firstlineno,*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        empty_string   /*PyObject *lnotab*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( ! py_code )  goto  bad ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    py_frame  =  PyFrame_New ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        PyThreadState_GET ( ) ,  /*PyThreadState *tstate,*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        py_code ,              /*PyCodeObject *code,*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        py_globals ,           /*PyObject *globals,*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        0                     /*PyObject *locals*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( ! py_frame )  goto  bad ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    py_frame - > f_lineno  =  __pyx_lineno ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyTraceBack_Here ( py_frame ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								bad :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_XDECREF ( py_srcfile ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_XDECREF ( py_funcname ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_XDECREF ( empty_string ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_XDECREF ( py_code ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Py_XDECREF ( py_frame ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  int  __Pyx_InitStrings ( __Pyx_StringTabEntry  * t )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    while  ( t - > p )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # if PY_MAJOR_VERSION < 3 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( t - > is_unicode  & &  ( ! t - > is_identifier ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            * t - > p  =  PyUnicode_DecodeUTF8 ( t - > s ,  t - > n  -  1 ,  NULL ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        }  else  if  ( t - > intern )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            * t - > p  =  PyString_InternFromString ( t - > s ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            * t - > p  =  PyString_FromStringAndSize ( t - > s ,  t - > n  -  1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # else   /* Python 3+ has unicode identifiers */ 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( t - > is_identifier  | |  ( t - > is_unicode  & &  t - > intern ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            * t - > p  =  PyUnicode_InternFromString ( t - > s ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        }  else  if  ( t - > is_unicode )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            * t - > p  =  PyUnicode_FromStringAndSize ( t - > s ,  t - > n  -  1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            * t - > p  =  PyBytes_FromStringAndSize ( t - > s ,  t - > n  -  1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # endif 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( ! * t - > p ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        + + t ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* Type Conversion Functions */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  int  __Pyx_PyObject_IsTrue ( PyObject *  x )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   if  ( x  = =  Py_True )  return  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   else  if  ( ( x  = =  Py_False )  |  ( x  = =  Py_None ) )  return  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   else  return  PyObject_IsTrue ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  PyObject *  __Pyx_PyNumber_Int ( PyObject *  x )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyNumberMethods  * m ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  const  char  * name  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject  * res  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_VERSION_HEX < 0x03000000 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( PyInt_Check ( x )  | |  PyLong_Check ( x ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# else 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( PyLong_Check ( x ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  Py_INCREF ( x ) ,  x ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  m  =  Py_TYPE ( x ) - > tp_as_number ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_VERSION_HEX < 0x03000000 
  
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  if  ( m  & &  m - > nb_int )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-17 13:45:08 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    name  =  " int " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    res  =  PyNumber_Int ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 09:51:24 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  else  if  ( m  & &  m - > nb_long )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    name  =  " long " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    res  =  PyNumber_Long ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-08 01:43:50 +09:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# else 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( m  & &  m - > nb_int )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    name  =  " int " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    res  =  PyNumber_Long ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( res )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_VERSION_HEX < 0x03000000 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( ! PyInt_Check ( res )  & &  ! PyLong_Check ( res ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# else 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( ! PyLong_Check ( res ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      PyErr_Format ( PyExc_TypeError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                   " __%s__ returned non-%s (type %.200s) " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                   name ,  name ,  Py_TYPE ( res ) - > tp_name ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      Py_DECREF ( res ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      return  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  else  if  ( ! PyErr_Occurred ( ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    PyErr_SetString ( PyExc_TypeError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    " an integer is required " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  res ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  Py_ssize_t  __Pyx_PyIndex_AsSsize_t ( PyObject *  b )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  Py_ssize_t  ival ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  PyObject *  x  =  PyNumber_Index ( b ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( ! x )  return  - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ival  =  PyInt_AsSsize_t ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  Py_DECREF ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return  ival ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  PyObject  *  __Pyx_PyInt_FromSize_t ( size_t  ival )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# if PY_VERSION_HEX < 0x02050000 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   if  ( ival  < =  LONG_MAX ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       return  PyInt_FromLong ( ( long ) ival ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       unsigned  char  * bytes  =  ( unsigned  char  * )  & ival ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       int  one  =  1 ;  int  little  =  ( int ) * ( unsigned  char * ) & one ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       return  _PyLong_FromByteArray ( bytes ,  sizeof ( size_t ) ,  little ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# else 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   return  PyInt_FromSize_t ( ival ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  INLINE  size_t  __Pyx_PyInt_AsSize_t ( PyObject *  x )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   unsigned  PY_LONG_LONG  val  =  __Pyx_PyInt_AsUnsignedLongLong ( x ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   if  ( unlikely ( val  = =  ( unsigned  PY_LONG_LONG ) - 1  & &  PyErr_Occurred ( ) ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       return  ( size_t ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   }  else  if  ( unlikely ( val  ! =  ( unsigned  PY_LONG_LONG ) ( size_t ) val ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       PyErr_SetString ( PyExc_OverflowError , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                       " value too large to convert to size_t " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       return  ( size_t ) - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   return  ( size_t ) val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}