
    ~Od#                     `   d Z ddlZddlZddlZddlZddlmZ ddlmZ ddl	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZL ddlmMZM ddlmNZN dd	lmOZO dd
lmPZP ddlmQZQ ddlmRZR ejS        ZTejS        ZUi ZVi ZWdD ]ZXdeWeX<    eYejZ        [                    d ej                                        Z\d ej]         ej^        e\                    z   dz    ed          z   dz    ed          z   dz    ed          z   dz    ed          z   dz    ed          z   dz    ed          z   dz    ed          z   dz    ed           z   d!z    ed"          z   d#z    ed$          z   d%z    ed&          z   d'z    ed(          z   d)z    ed*          z   d+z    ed,          z   d-z    ed.          z   d/z   eUz   d0z   d+d+d1g d2d3d4gd5Z_d6d7d8d9d:d;d<d=d=ed> eGe          d=id?
gZ`eWd@dAdBdCdDdEdFg dGedHidIdJgdKgdLZai dMi dNddOddPddQddRddSdTdUddVddWddXddYdZd[dd\dd]dd^dd_dd`d=dad=dbd=dcd=ddd=ded=dPdfdgdhdid=djd=dYd=d[d=dUdkdVdldWdmdXdni d\dod]dpd^dqd_drdsd=dtd=dud=dvdwdxdygdzd{d|d}gd~ddQddOddRddNddd=d=d=d=d=d=d=d=d=d=d=d=d=ed eGe          d=idddd= eGe3          dddd=e3dd eF eG eHe3e%                     eGe                    d eF eGe3          e% eGe                    de3d=ed=i eG eHe3e%e                    d eF eGe3          e% eGe                    d eF eGe3          e          di eF eG eHe3e%                     eGe                    diedgiedie>diedi eG eHee                    die>diedig eFe; eGe=                    dd eG eHe3e                    ded=i eG eHe3e                    dedi eG eHe3e                    di eG eHe3e                    ddgiedgiedie>di eG eHee                    diedie>diedige!dd eG eHe3e                    ded=i eG eHe3e                    dedi eG eHe3e                    di eG eHe3e                    ddgiedgiedie>di eG eHee                    diedie>diedige=dd eGe(          diddedig eFee:          di eFe eGe:                    dig eFe  eGe!                    d eF eG eHe3e%                     eGe                    d eF eGe3          e% eGe                    ded=i eF eG eHe3e%                     eGe                    d eF eGe3          e% eGe                    dedied eGe          diedigedie>diedi eG eHee                    die>diedi eFee          di eFe eGe                    digedi eGe          diedie2die0dig eGe(          died eG eHee(                    di eFe  eGe:           eGe!                    d	d eG eHe3e%                    d eF eGe3          e%          diddgdddddddddedie>dide>diediedidgdddg dԢ eFe: eGe!                    d՜
dddedٜg
Zbe1de/de.de@deDde?deBdeAdeEdeCde7de"dediZcdMeWidedigdecddediedi eFe6 eGe                    ddddd eFe6 eGe          e+          ddediedddgdge8dg ddediedigedd eFe eGe                    id eFe eGe          e*          ide#d=dd eHeAe@          d=ddeEd=ddeCd=dded=dedide9dgZdg dMeWidedigdd=ecd eFe4e*          di eFe5e*          die+di eFe4e*          dedigi eFe5e*          dedigie+d eFee(          d eFee*          d igid=ddd eFe* eGe4                    dddd eFe*e4          ddde+di de*d	id
e*didVe*didXdd_dd]e*didPddd eGe&          digde*dide5dide4dide*didse5didte4didddSddb eGe&          didd d!gdei eGe&          d"ie&d#id$ed% eGe&          d&igid'gd(d)d*ged=d+ded,i eHe%e<          d eG eHe%e<                    d-ie+di eFe6 eGe                    d.edi eFe6 eGe                    d/d0e5die4die5d1ie4d1ie)d2ie)d3ie)d4i eFe6 eGe           eGe8          e*          d5	ed6d7d=i eFe4 eGe                    d8d7d=i eGe-          d9ie-d:igd; eGe-          d<i eFe6 eGe          e*          d=d+ediec eFe6 eGe          e(          d=d=ed,i eFe6 eGe                    d=d>de%d eGe%          d-ied?ie+d@iedAd0e5die4die5d1ie4d1ie)d4ie)dBie)dCi eFee*          dD	edEi eFe4 eGe                    d8id9gdFd<g eFee*          d=d+e+d0i eFee(          dGedi eFee(          d=d>e+dHidgedIed?ied=d>g dJddKedLi eFe+ eGe%                    dMige+did eFe+ eGe%                    dNige8dOdP eGe%          dQigdRd<ddS eGe%          dNige8d=d+e5die4die5d1ie4d1i eFe) eGe%                    dMie)dTige)d3ie)d4 eFe) eGe%                    dNi eFe8e*          dUd eFe8e(          iedLie8d=d>dVdWdXdYdZe9d[igde9dKie+d\ided]d^d_d`dadbdcdd eFee,          dedf eFee,          d=d>dgd_d`dadhdcdi eFee'          dedf eFee'          d=d>ediediged=dd0e5die4die5d1ie4d1i eFee*          djdkdldme(dnie*doidpe9dqiee*drie(dsiedtidugigdv eG eHe+e(                    dwi eFe( eGe+                    dxiedyiged=dzd eFe eGe                    id eFe eGe          e*          ide#d=ddeAd=ddeEd=ddeCd=dded=dded/ded/edide9dZeed{idd|d}d~d eFe6 eGe                    d=dddde8d=dddded=dddddgZfd Zgddddddddddd
Zhd ZidS (  aG  

Rules for building C/API module with f2py2e.

Here is a skeleton of a new wrapper function (13Dec2001):

wrapper_function(args)
  declarations
  get_python_arguments, say, `a' and `b'

  get_a_from_python
  if (successful) {

    get_b_from_python
    if (successful) {

      callfortran
      if (successful) {

        put_a_to_python
        if (successful) {

          put_b_to_python
          if (successful) {

            buildvalue = ...

          }

        }

      }

    }
    cleanup_b

  }
  cleanup_a

  return buildvalue

Copyright 1999,2000 Pearu Peterson all rights reserved,
Pearu Peterson <pearu@ioc.ee>
Permission to use, modify, and distribute this software is given under the
terms of the NumPy License.

NO WARRANTY IS EXPRESSED OR IMPLIED.  USE AT YOUR OWN RISK.
$Date: 2005/08/30 08:58:42 $
Pearu Peterson

    N)Path   )__version__)C
applyrules	debugcapi
dictappenderrmessgentitlegetargs2hascallstatementhasexternalshasinitvaluehasnotehasresultnoteisarrayisarrayofstringsischaracterischaracterarrayischaracter_or_characterarray	iscomplexiscomplexarrayiscomplexfunctioniscomplexfunction_warnisdummyroutine
isexternal
isfunctionisfunction_wrapisint1isint1arrayisintent_aux
isintent_cisintent_callbackisintent_copyisintent_hideisintent_inoutisintent_nothideisintent_outisintent_overwrite	islogicalislong_complexislong_doubleislong_doublefunctionislong_longislong_longfunctionismoduleroutine
isoptional
isrequiredisscalarissigned_long_longarrayisstringisstringarrayisstringfunctionissubroutineisattr_valueissubroutine_wrapisthreadsafe
isunsignedisunsigned_charisunsigned_chararrayisunsigned_long_longisunsigned_long_longarrayisunsigned_shortisunsigned_shortarrayl_andl_notl_oroutmessreplace
stripcommarequiresf90wrapper)	capi_maps)cfuncs)common_rules)	use_rules)f90mod_rules)	func2subr)decl	frompyobjcleanupfrompyobjtopyarrmethod	pyobjfromclosepyobjfromfreememuserincludes	includes0includestypedefstypedefs_generated	cppmacrosrJ   	callbackslatexdocrestdocroutine_defsexternroutinesinitf2pywraphookscommonhooksinitcommonhooksf90modhooksinitf90modhooks
SOURCE_DATE_EPOCHz/* File: #modulename#module.c
 * This file is auto-generated with f2py (version:#f2py_version#).
 * f2py is a Fortran to Python Interface Generator (FPIG), Second Edition,
 * written by Pearu Peterson <pearu@cens.ioc.ee>.
 * Generation date: a  
 * Do not edit this file directly unless you know what you are doing!!!
 */

#ifdef __cplusplus
extern "C" {
#endif

#ifndef PY_SSIZE_T_CLEAN
#define PY_SSIZE_T_CLEAN
#endif /* PY_SSIZE_T_CLEAN */

/* Unconditionally included */
#include <Python.h>
#include <numpy/npy_os.h>

zSee f2py2e/cfuncs.py: includesz
#includes#
#includes0#

z,See f2py2e/rules.py: mod_rules['modulebody']zM
static PyObject *#modulename#_error;
static PyObject *#modulename#_module;

zSee f2py2e/cfuncs.py: typedefsz
#typedefs#

z(See f2py2e/cfuncs.py: typedefs_generatedz
#typedefs_generated#

zSee f2py2e/cfuncs.py: cppmacrosz
#cppmacros#

zSee f2py2e/cfuncs.py: cfuncsz
#cfuncs#

z"See f2py2e/cfuncs.py: userincludesz
#userincludes#

z"See f2py2e/capi_rules.py: usercodez9
#usercode#

/* See f2py2e/rules.py */
#externroutines#

z#See f2py2e/capi_rules.py: usercode1z
#usercode1#

z%See f2py2e/cb_rules.py: buildcallbackz
#callbacks#

zSee f2py2e/rules.py: buildapiz	
#body#

z&See f2py2e/f90mod_rules.py: buildhooksz
#f90modhooks#

z/See f2py2e/rules.py: module_rules['modulebody']

z&See f2py2e/common_rules.py: buildhooksz
#commonhooks#

zSee f2py2e/rules.pya,  

static FortranDataDef f2py_routine_defs[] = {
#routine_defs#
    {NULL}
};

static PyMethodDef f2py_module_methods[] = {
#pymethoddef#
    {NULL,NULL}
};

static struct PyModuleDef moduledef = {
    PyModuleDef_HEAD_INIT,
    "#modulename#",
    NULL,
    -1,
    f2py_module_methods,
    NULL,
    NULL,
    NULL,
    NULL
};

PyMODINIT_FUNC PyInit_#modulename#(void) {
    int i;
    PyObject *m,*d, *s, *tmp;
    m = #modulename#_module = PyModule_Create(&moduledef);
    Py_SET_TYPE(&PyFortran_Type, &PyType_Type);
    import_array();
    if (PyErr_Occurred())
        {PyErr_SetString(PyExc_ImportError, "can't initialize module #modulename# (failed to import numpy)"); return m;}
    d = PyModule_GetDict(m);
    s = PyUnicode_FromString("#f2py_version#");
    PyDict_SetItemString(d, "__version__", s);
    Py_DECREF(s);
    s = PyUnicode_FromString(
        "This module '#modulename#' is auto-generated with f2py (version:#f2py_version#).\nFunctions:\n"
#docs#".");
    PyDict_SetItemString(d, "__doc__", s);
    Py_DECREF(s);
    s = PyUnicode_FromString("az  ");
    PyDict_SetItemString(d, "__f2py_numpy_version__", s);
    Py_DECREF(s);
    #modulename#_error = PyErr_NewException ("#modulename#.error", NULL, NULL);
    /*
     * Store the error object inside the dict, so that it could get deallocated.
     * (in practice, this is a module, so it likely will not and cannot.)
     */
    PyDict_SetItemString(d, "_#modulename#_error", #modulename#_error);
    Py_DECREF(#modulename#_error);
    for(i=0;f2py_routine_defs[i].name!=NULL;i++) {
        tmp = PyFortranObject_NewAsAttr(&f2py_routine_defs[i]);
        PyDict_SetItemString(d, f2py_routine_defs[i].name, tmp);
        Py_DECREF(tmp);
    }
#initf2pywraphooks#
#initf90modhooks#
#initcommonhooks#
#interface_usercode#

#ifdef F2PY_REPORT_ATEXIT
    if (! PyErr_Occurred())
        on_exit(f2py_report_on_exit,(void*)"#modulename#");
#endif
    return m;
}
#ifdef __cplusplus
}
#endif
)r^   r_   )z*\section{Module \texttt{#texmodulename#}}
z
#modnote#
z
#latexdoc#zdModule #modulename#
================================================================================z

#restdoc#)
modulebodyseparatorsforr^   r_   z/*eof body*/z/*eof method*/z/*eof externroutines*/z/*eof routine_defs*/z/*eof initf90modhooks*/z/*eof initf2pywraphooks*/z/*eof initcommonhooks*/ z#note#)
bodyrS   ra   r`   rf   rb   rd   r^   r_   modnotea=  
#begintitle#
static char doc_#apiname#[] = "\
#docreturn##name#(#docsignatureshort#)\n\nWrapper for ``#name#``.\
\n#docstrsigns#";
/* #declfortranroutine# */
static PyObject *#apiname#(const PyObject *capi_self,
                           PyObject *capi_args,
                           PyObject *capi_keywds,
                           #functype# (*f2py_func)(#callprotoargument#)) {
    PyObject * volatile capi_buildvalue = NULL;
    volatile int f2py_success = 1;
#decl#
    static char *capi_kwlist[] = {#kwlist##kwlistopt##kwlistxa#NULL};
#usercode#
#routdebugenter#
#ifdef F2PY_REPORT_ATEXIT
f2py_start_clock();
#endif
    if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
        "#argformat#|#keyformat##xaformat#:#pyname#",\
        capi_kwlist#args_capi##keys_capi##keys_xa#))
        return NULL;
#frompyobj#
/*end of frompyobj*/
#ifdef F2PY_REPORT_ATEXIT
f2py_start_call_clock();
#endif
#callfortranroutine#
if (PyErr_Occurred())
  f2py_success = 0;
#ifdef F2PY_REPORT_ATEXIT
f2py_stop_call_clock();
#endif
/*end of callfortranroutine*/
        if (f2py_success) {
#pyobjfrom#
/*end of pyobjfrom*/
        CFUNCSMESS("Building return value.\n");
        capi_buildvalue = Py_BuildValue("#returnformat#"#return#);
/*closepyobjfrom*/
#closepyobjfrom#
        } /*if (f2py_success) after callfortranroutine*/
/*cleanupfrompyobj*/
#cleanupfrompyobj#
    if (capi_buildvalue == NULL) {
#routdebugfailure#
    } else {
#routdebugleave#
    }
    CFUNCSMESS("Freeing memory.\n");
#freemem#
#ifdef F2PY_REPORT_ATEXIT
f2py_stop_clock();
#endif
    return capi_buildvalue;
}
#endtitle#
z#routine_def#z#initf2pywraphook#z#declfortranroutine#z!#docreturn##name#(#docsignature#)z&#docreturn##name#(#docsignatureshort#)z*"    #docreturn##name#(#docsignature#)\n"
)zarrayobject.h
CFUNCSMESSMINMAXz#define DEBUGCFUNCSz1\subsection{Wrapper function \texttt{#texname#}}
zk
\noindent{{}\verb@#docreturn##name#@{}}\texttt{(#latexdocsignatureshort#)}
#routnote#

#latexdocstrsigns#
zlWrapped function ``#name#``
--------------------------------------------------------------------------------)rk   rm   r`   rb   ra   docdocshortdocsneedr\   r^   r_   rk   callfortranroutineroutdebugenterrO   routdebugleaveroutdebugfailure	setjmpbufz || 	docstrreq	docstropt	docstrout	docstrcbsdocstrsignsz\n"
"latexdocstrsignslatexdocstrreqlatexdocstroptlatexdocstroutlatexdocstrcbskwlist	kwlistoptcallfortrancallfortranappenddocsign
docsignoptz/*decl*/rV   z/*freemem*/docsignshortdocsignoptshortz\nParameters\n----------z$\nOther Parameters\n----------------z\nReturns\n-------z'\nNotes\n-----\nCall-back functions::\nz\noindent Required arguments:z\noindent Optional arguments:z\noindent Return objects:z\noindent Call-back functions:	args_capi	keys_capifunctyperP   z/*frompyobj*/rQ   z/*end of cleanupfrompyobj*/rT   z/*pyobjfrom*/rU   z/*end of closepyobjfrom*/rR   z/*topyarr*/z/*routdebugleave*/z/*routdebugenter*/z/*routdebugfailure*/z/*callfortranroutine*/	argformatz
--- #note#)	keyformatneed_cfuncs	docreturnreturnreturnformatrformatkwlistxakeys_xaxaformat	docsignxadocsignxashortinitf2pywraphookroutnotezf2py_rout_#modulename#_#name#z#modulename#.#name#)apinamepynamerO   _checkz-f2py_rout_#modulename#_#f90modulename#_#name#z##modulename#.#f90modulename#.#name#voidzGextern void #F_FUNC#(#fortranname#,#FORTRANNAME#)(#callprotoargument#);z/extern void #fortranname#(#callprotoargument#);zw    {"#name#",-1,{{-1}},0,0,(char *)  #F_FUNC#(#fortranname#,#FORTRANNAME#),  (f2py_init_func)#apiname#,doc_#apiname#},z]    {"#name#",-1,{{-1}},0,0,(char *)#fortranname#,  (f2py_init_func)#apiname#,doc_#apiname#},zL    {"#name#",-1,{{-1}},0,0,NULL,  (f2py_init_func)#apiname#,doc_#apiname#},F_FUNCzU    fprintf(stderr,"debug-capi:Fortran subroutine `#fortranname#(#callfortran#)'\n");zI        if (#setjmpbuf#) {
            f2py_success = 0;
        } else {z"            Py_BEGIN_ALLOW_THREADSzQ                #callstatement#;
                /*(*f2py_func)(#callfortran#);*/z,                (*f2py_func)(#callfortran#);z             Py_END_ALLOW_THREADSz	        })r   declfortranroutineroutine_defrt   ru   r   zFextern void #F_WRAPPEDFUNC#(#name_lower#,#NAME#)(#callprotoargument#);zv    {"#name#",-1,{{-1}},0,0,(char *)  #F_WRAPPEDFUNC#(#name_lower#,#NAME#),  (f2py_init_func)#apiname#,doc_#apiname#},a  
    {
      extern #ctype# #F_FUNC#(#name_lower#,#NAME#)(void);
      PyObject* o = PyDict_GetItemString(d,"#name#");
      tmp = F2PyCapsule_FromVoidPtr((void*)#F_FUNC#(#name_lower#,#NAME#),NULL);
      PyObject_SetAttrString(o,"_cpointer", tmp);
      Py_DECREF(tmp);
      s = PyUnicode_FromString("#name#");
      PyObject_SetAttrString(o,"__name__", s);
      Py_DECREF(s);
    }
    F_WRAPPEDFUNCz\    fprintf(stderr,"debug-capi:Fortran subroutine `f2pywrap#name_lower#(#callfortran#)'\n");z=    if (#setjmpbuf#) {
        f2py_success = 0;
    } else {z    Py_BEGIN_ALLOW_THREADSz     (*f2py_func)(#callfortran#);z9    #callstatement#;
    /*(*f2py_func)(#callfortran#);*/z    Py_END_ALLOW_THREADSz    })r   r   r   r   rt   ru   r   a  
    {
      extern void #F_FUNC#(#name_lower#,#NAME#)(void);
      PyObject* o = PyDict_GetItemString(d,"#name#");
      tmp = F2PyCapsule_FromVoidPtr((void*)#F_FUNC#(#name_lower#,#NAME#),NULL);
      PyObject_SetAttrString(o,"_cpointer", tmp);
      Py_DECREF(tmp);
      s = PyUnicode_FromString("#name#");
      PyObject_SetAttrString(o,"__name__", s);
      Py_DECREF(s);
    }
    #ctype#z#rname#,z#pydocsignout#z"\item[]{{}\verb@#pydocsignout#@{}}z--- #resultnote#z#ifdef USESCOMPAQFORTRAN
    fprintf(stderr,"debug-capi:Fortran function #ctype# #fortranname#(#callcompaqfortran#)\n");
#else
    fprintf(stderr,"debug-capi:Fortran function #ctype# #fortranname#(#callfortran#)\n");
#endif
zZ    fprintf(stderr,"debug-capi:Fortran function #ctype# #fortranname#(#callfortran#)\n");
)r   r   r|   r   ru   r   zJextern #ctype# #F_FUNC#(#fortranname#,#FORTRANNAME#)(#callprotoargument#);z2extern #ctype# #fortranname#(#callprotoargument#);zJ    {"#name#",-1,{{-1}},0,0,NULL,(f2py_init_func)#apiname#,doc_#apiname#},z&    #ctype# #name#_return_value={0,0};z"    #ctype# #name#_return_value=0;z1    PyObject *#name#_return_value_capi = Py_None;zP    #callstatement#;
/*    #name#_return_value = (*f2py_func)(#callfortran#);*/
z6    #name#_return_value = (*f2py_func)(#callfortran#);zY    fprintf(stderr,"#routdebugshowvalue#\n",#name#_return_value.r,#name#_return_value.i);zA    fprintf(stderr,"#routdebugshowvalue#\n",#name#_return_value);zH    #name#_return_value_capi = pyobj_from_#ctype#1(#name#_return_value);zpyobj_from_#ctype#1	long_longlong_doublez	#rformat#z,#name#_return_value_capiz,#name#_return_value)	r   r   rO   ru   rT   rt   r   r   r   zs    {"#name#",-1,{{-1}},0,0,(char *)#F_FUNC#(#fortranname#,#FORTRANNAME#),(f2py_init_func)#apiname#,doc_#apiname#},z[    {"#name#",-1,{{-1}},0,0,(char *)#fortranname#,(f2py_init_func)#apiname#,doc_#apiname#},z'    #ctype# #name#_return_value = NULL;z$    int #name#_return_value_len = 0;z,#name#_return_value,#name#_return_value_len,z(    #name#_return_value_len = #rlength#;zS    if ((#name#_return_value = (string)malloc(#name#_return_value_len+1) == NULL) {z<        PyErr_SetString(PyExc_MemoryError, "out of memory");z        f2py_success = 0;z    } else {z>        (#name#_return_value)[#name#_return_value_len] = '\0';z    if (f2py_success) {z        Py_BEGIN_ALLOW_THREADSzv#ifdef USESCOMPAQFORTRAN
        (*f2py_func)(#callcompaqfortran#);
#else
        (*f2py_func)(#callfortran#);
#endif
z        Py_END_ALLOW_THREADSz]        fprintf(stderr,"#routdebugshowvalue#\n",#name#_return_value_len,#name#_return_value);z2    } /* if (f2py_success) after (string)malloc */z$    STRINGFREE(#name#_return_value);)r   r   
STRINGFREE)
r   r   rO   r   ru   r   r   rV   rt   r   z]    fprintf(stderr,"debug-capi:Python C/API function #modulename#.#name#(#docsignature#)\n");zZ    fprintf(stderr,"debug-capi:Python C/API function #modulename#.#name#: successful.\n");zW    fprintf(stderr,"debug-capi:Python C/API function #modulename#.#name#: failure.\n");)rv   rw   rx   r   complex_long_doubleunsigned_charunsigned_shortunsignedunsigned_long_longsigned_char	characterz1    /* Processing auxiliary variable #varname# */z'    fprintf(stderr,"#vardebuginfo#\n");z,    /* End of cleaning variable #varname# */)rP   rQ   rt   z    #ctype# #varname# = 0;zmath.hz    #varname# = #init#;)rO   rt   rP   r   z
,#varname#z#outvarname#,z#varrformat#)r   r|   r   r   r   z    #ctype# #varname#;z3    #varname#.r = #init.r#, #varname#.i = #init.i#;)rO   rP   r       #ctype# #varname# = NULL;    int slen(#varname#);zlen..)rO   rt   r   )    #ctype# *#varname# = NULL;4    npy_intp #varname#_Dims[#rank#] = {#rank*[-1]#};&    const int #varname#_Rank = #rank#;forcombro   r   )rt   r   _dependzflen(#varname#),string)r   rt   r   z'    /* Processing variable #varname# */)rP   rQ   r   rt   z#pydocsign#z\item[]{{}\verb@#pydocsign#@{}}z--- See above.)r{   rz   r|   r   r   r   dependz"#varname#",z
#varname#,)r   r   r   z#varname#=#showinit#,)r   r   r   r   )r   r   r   r   z#varname#_extra_args=(),r   z#varname#_extra_args,z=#varname#_extra_args : input tuple, optional\n    Default: ()z
#cbdocstr#z\item[] #cblatexdocstr#z}\item[]{{}\verb@#varname#_extra_args := () input tuple@{}} --- Extra arguments for call-back function {{}\verb@#varname#@{}}.z3    #cbname#_t #varname#_cb = { Py_None, NULL, 0 };z1    #cbname#_t *#varname#_cb_ptr = &#varname#_cb;z,    PyTupleObject *#varname#_xa_capi = NULL;z$    #cbname#_typedef #varname#_cptr;r   z"#varname#_extra_args",Or   r   zO!z,&#varname#_cb.capir   z!,&PyTuple_Type,&#varname#_xa_capiz(setjmp(#varname#_cb.jmpbuf))z#varname#_cptr,rt   z#cbname#zsetjmp.hzif(F2PyCapsule_Check(#varname#_cb.capi)) {
  #varname#_cptr = F2PyCapsule_AsVoidPtr(#varname#_cb.capi);
} else {
  #varname#_cptr = #cbname#;
}
a  if (#varname#_cb.capi==Py_None) {
  #varname#_cb.capi = PyObject_GetAttrString(#modulename#_module,"#varname#");
  if (#varname#_cb.capi) {
    if (#varname#_xa_capi==NULL) {
      if (PyObject_HasAttrString(#modulename#_module,"#varname#_extra_args")) {
        PyObject* capi_tmp = PyObject_GetAttrString(#modulename#_module,"#varname#_extra_args");
        if (capi_tmp) {
          #varname#_xa_capi = (PyTupleObject *)PySequence_Tuple(capi_tmp);
          Py_DECREF(capi_tmp);
        }
        else {
          #varname#_xa_capi = (PyTupleObject *)Py_BuildValue("()");
        }
        if (#varname#_xa_capi==NULL) {
          PyErr_SetString(#modulename#_error,"Failed to convert #modulename#.#varname#_extra_args to tuple.\n");
          return NULL;
        }
      }
    }
  }
  if (#varname#_cb.capi==NULL) {
    PyErr_SetString(#modulename#_error,"Callback #varname# not defined (as an argument or module #modulename# attribute).\n");
    return NULL;
  }
}
z    if (create_cb_arglist(#varname#_cb.capi,#varname#_xa_capi,#maxnofargs#,#nofoptargs#,&#varname#_cb.nofargs,&#varname#_cb.args_capi,"failed in processing argument list for call-back #varname#.")) {
z        fprintf(stderr,"debug-capi:Assuming %d arguments; at most #maxnofargs#(-#nofoptargs#) is expected.\n",#varname#_cb.nofargs);
        CFUNCSMESSPY("for #varname#=",#varname#_cb.capi);zK        fprintf(stderr,"#vardebugshowvalue# (call-back in C).\n",#cbname#);z        CFUNCSMESS("Saving callback variables for `#varname#`.\n");
        #varname#_cb_ptr = swap_active_#cbname#(#varname#_cb_ptr);z        CFUNCSMESS("Restoring callback variables for `#varname#`.\n");
        #varname#_cb_ptr = swap_active_#cbname#(#varname#_cb_ptr);
        Py_DECREF(#varname#_cb.args_capi);
    }SWAPcreate_cb_arglist)rP   rQ   rt   r   r   z6    fprintf(stderr,"#vardebugshowvalue#\n",#varname#);z&#varname#,)rO   rT   r   r   r   )rt   r   '    PyObject *#varname#_capi = Py_None;z,&#varname#_capiz]    f2py_success = try_pyarr_from_#ctype#(#varname#_capi,&#varname#);
    if (f2py_success) {z2    } /*if (f2py_success) of #varname# pyobjfrom*/ztry_pyarr_from_#ctype#)	rO   r   r   r   r   rT   rU   rt   r   z;    if (#varname#_capi == Py_None) #varname# = #init#; elser   z"    if (#varname#_capi != Py_None)z        f2py_success = #ctype#_from_pyobj(&#varname#,#varname#_capi,"#pyname#() #nth# (#varname#) can't be converted to #ctype#");
    if (f2py_success) {zo        #varname# = (#ctype#)PyObject_IsTrue(#varname#_capi);
        f2py_success = 1;
    if (f2py_success) {z(    } /*if (f2py_success) of #varname#*/z#ctype#_from_pyobj)rP   rt   r   r   )rP   r   r   zD    fprintf(stderr,"#vardebugshowvalue#\n",#varname#.r,#varname#.i);z,#varname#_capi)rO   r   rT   r   r   ze        f2py_success = try_pyarr_from_#ctype#(#varname#_capi,&#varname#);
        if (f2py_success) {z6        } /*if (f2py_success) of #varname# pyobjfrom*/)	rO   r   r   r   r   rt   rT   rU   r   zW    if (#varname#_capi==Py_None) {#varname#.r = #init.r#, #varname#.i = #init.i#;} elsez3    }  /*if (f2py_success) of #varname# frompyobj*/)rO   r   z4    #varname#_capi = pyobj_from_#ctype#1(#varname#);)rT   rt   r   )r   r   r   zslen(#varname#),zF    fprintf(stderr,"#vardebugshowvalue#\n",slen(#varname#),#varname#);z:        STRINGPADN(#varname#, slen(#varname#), ' ', '\0');
STRINGPADN)rO   r   r   rT   r   rt   r   z    slen(#varname#) = #elsize#;
    f2py_success = #ctype#_from_pyobj(&#varname#,&slen(#varname#),#init#,#varname#_capi,"#ctype#_from_pyobj failed in converting #nth#`#varname#' of #pyname# to C #ctype#");
    if (f2py_success) {z:        STRINGPADN(#varname#, slen(#varname#), '\0', ' ');zH        STRINGFREE(#varname#);
    }  /*if (f2py_success) of #varname#*/r   z    f2py_success = try_pyarr_from_#ctype#(#varname#_capi, #varname#,
                                          slen(#varname#));
    if (f2py_success) {)r   r   r   r   rT   rU   rt   r   r   r   r   z2    PyArrayObject *capi_#varname#_as_array = NULL;z"    int capi_#varname#_intent = 0;z    int slen(#varname#) = 0;z,capi_#varname#_as_array)rO   r   r   r   rt   r   z%    int capi_overwrite_#varname# = 1;z"overwrite_#varname#",iz,&capi_overwrite_#varname#zoverwrite_#varname#=1,zoverwrite_#varname#,z9overwrite_#varname# : input int, optional\n    Default: 1)rO   r   r   r   r   r   r{   r   zK    capi_#varname#_intent |= (capi_overwrite_#varname#?0:F2PY_INTENT_COPY);z%    int capi_overwrite_#varname# = 0;zoverwrite_#varname#=0,z9overwrite_#varname# : input int, optional\n    Default: 0)rO   r   r   r   r   r   z    #setdims#;z&    capi_#varname#_intent |= #intent#;zk    const char * capi_errmess = "#modulename#.#pyname#: failed to create array from the #nth# `#varname#`";z    capi_#varname#_as_array = ndarray_from_pyobj(  #atype#,#elsize#,#varname#_Dims,#varname#_Rank,  capi_#varname#_intent,Py_None,capi_errmess);z    capi_#varname#_as_array = ndarray_from_pyobj(  #atype#,#elsize#,#varname#_Dims,#varname#_Rank,  capi_#varname#_intent,#varname#_capi,capi_errmess);a9      if (capi_#varname#_as_array == NULL) {
        PyObject* capi_err = PyErr_Occurred();
        if (capi_err == NULL) {
            capi_err = #modulename#_error;
            PyErr_SetString(capi_err, capi_errmess);
        }
    } else {
        #varname# = (#ctype# *)(PyArray_DATA(capi_#varname#_as_array));
z/    slen(#varname#) = f2py_itemsize(#varname#);z$    if (#varname#_capi == Py_None) {z    {z        #ctype# capi_c;a          int *_i,capi_i=0;
        CFUNCSMESS("#name#: Initializing #varname#=#init#\n");
        if (initforcomb(PyArray_DIMS(capi_#varname#_as_array),
                        PyArray_NDIM(capi_#varname#_as_array),1)) {
            while ((_i = nextforcomb()))
                #varname#[capi_i++] = #init#; /* fortran way */
        } else {
            PyObject *exc, *val, *tb;
            PyErr_Fetch(&exc, &val, &tb);
            PyErr_SetString(exc ? exc : #modulename#_error,
                "Initialization of #nth# #varname# failed (initforcomb).");
            npy_PyErr_ChainExceptionsCause(exc, val, tb);
            f2py_success = 0;
        }
    }
    if (f2py_success) {zG    }  /* if (capi_#varname#_as_array == NULL) ... else of #varname# */zl    if((PyObject *)capi_#varname#_as_array!=#varname#_capi) {
        Py_XDECREF(capi_#varname#_as_array); }z,        Py_XDECREF(capi_#varname#_as_array);z.    }  /*if (f2py_success) of #varname# init*/)rP   rQ   r   r   z6    fprintf(stderr,"debug-capi:Checking `#check#'\n");)rP   rt   zQ    CHECKSCALAR(#check#,"#check#","#nth# #varname#","#varshowvalue#",#varname#) {z    } /*CHECKSCALAR(#check#)*/CHECKSCALAR)rP   rQ   rt   r   _breakzQ    CHECKSTRING(#check#,"#check#","#nth# #varname#","#varshowvalue#",#varname#) {z    } /*CHECKSTRING(#check#)*/CHECKSTRING
CHECKARRAYz5    CHECKARRAY(#check#,"#check#","#nth# #varname#") {z    } /*CHECKARRAY(#check#)*/)rt   rP   rQ   r   r   CHECKGENERICz7    CHECKGENERIC(#check#,"#check#","#nth# #varname#") {z    } /*CHECKGENERIC(#check#)*/)rt   rP   rQ   c                 :   t          d| d         z             i }t          dd         }t          j        |           }t	          dt
          i|          }g }g }| d         D ]I}d}	| d         D ]7}
|
d         dvrt          d	           |
d         D ]}|d         |k    r|}	 n8|	st          d
|z  t          j	                   f|	g}d|	v rV|	d         
                                D ];\  }}t          j        |	          }|d= ||d<   ||d<   |                    |           <|D ]}	t          |	          }t          d         rt          d         }|d         }t          d           t!          | d|d                                                     |rut          d| d           t!          | d| d                                           t          d| d           t!          | d| d                                           n:t          d| d           t!          | d| d                                           t%          |	          \  }}|r-|r|                    |           n|                    |           t'          ||          }t	          ||          }Kt)          j        |           \  }}|r|                    |           t'          ||          }t	          ||          }t-          j        |           \  }}|r|                    |           t'          ||          }t	          ||          }|D ]9}t/          j        || d         |d                            }t	          ||          }:t3          j                    }|dxx         d t          j        D             z  cc<   i }|                                D ]}g ||<   ||         D ]}d}|t2          j        v rt2          j        |         }nL|t2          j        v rt2          j        |         }n*|t2          j        v rt2          j        |         }n|t2          j         v rt2          j         |         }n|t2          j!        v rt2          j!        |         }n|t2          j"        v rt2          j"        |         }n|t2          j        v rt2          j        |         }n|t2          j#        v rt2          j#        |         }nc|t2          j$        v rt2          j$        |         }nB|t2          j%        v rt2          j%        |         }n!t          dtM          |          z             s||                             |           |                    |           |D ]<}d|v r |d         |           sd|vr!t'          |||           }t	          ||          }=t'          tN          |          }tP          j)        *                    t          d         |d                   }||d<   tW          |d           5 }|,                    |d!         -                    d"d#                     ddd           n# 1 swxY w Y   t          d$| d         d%|d&           t          d'         rtP          j)        *                    t          d         |d         d(z             }tW          |d           5 }|,                    d)           |,                    d**                    |d+                              ddd           n# 1 swxY w Y   t          d,t          d         d|d         d-           t          d.         rtP          j)        *                    t          d         |d         d/z             }||d0<   tW          |d           5 }|,                    d1t
          z             d2t          vrC|,                    d3           |,                    d**                    |d4                              d2t          vr|,                    d5           ddd           n# 1 swxY w Y   t          d6t          d         d|d         d7           |rtP          j)        *                    t          d         |d8                   }||d9<   tW          |d           5 }|,                    d:           |,                    d;t
          z             |,                    d<           g } d=*                    |          d*z   .                    d*          D ]}!d>|!/                    d?          cxk    rd@k     rn n|                     |!d*z              >|!ru|!d>         dAk    rita          |!          d@k    r=|                     |!dd@         dBz              |!d@d         }!ta          |!          d@k    =|                     |!d*z              |                     |!d*z              d*                    |           -                    dCd*          } |,                    |            ddd           n# 1 swxY w Y   t          dD|z             |r0tP          j)        *                    t          d         dE|d         z            }||d9<   tW          |d           5 }|,                    dF           |,                    dGt
          z             |,                    dH           g } d=*                    |          d*z   .                    d*          D ]	}!d>|!/                    d?          cxk    rdIk     rn n|                     |!d*z              ?ta          |!          dIk    r|!d>         dAk    r|                     |!ddI         dJz              |!dId         }!ta          |!          d@k    r=|                     |!dd@         dJz              |!d@d         }!ta          |!          d@k    =|                     |!d*z              |                     |!d*z              d*                    |           -                    dCd*          } |,                    |            ddd           n# 1 swxY w Y   t          dK|z             |S )Lz
    Return
    z    Building module "%s"...
nameNf2py_version
interfacedrm   block)	interfacezabstract interfacez1buildmodule: Expected interface block. Skipping.
zKbuildmodule: Could not find the body of interfaced routine "%s". Skipping.
)fileentryargsemptygen	buildpath
modulenamez(    Generating possibly empty wrappers"
/coutputz    Maybe empty "z-f2pywrappers2.f90"
z-f2pywrappers2.f90z-f2pywrappers.f"
z-f2pywrappers.fuserZ   c                 H    g | ]}|t                                           v | S  )typedef_need_dictvalues).0cvars     0lib/python3.11/site-packages/numpy/f2py/rules.py
<listcomp>zbuildmodule.<locals>.<listcomp>/  s<     A A A4!%6%=%=%?%??? ???    rl   zbuildmodule: unknown need %s.
r   csrcwrj   	z  z    Wrote C/API module "z" to file "z"
	dorestdoczmodule.restz.. -*- rest -*-
rg   r_   z)    ReST Documentation is saved to file "zmodule.rest"

dolatexdocz
module.texltxz6%% This file is auto-generated with f2py (version:%s)

shortlatexzO\documentclass{article}
\usepackage{a4wide}
\begin{document}
\tableofcontents

r^   z\end{document}z$    Documentation is saved to file "zmodule.tex"
f2py_wrapper_outputfsrczC     -*- fortran -*-
z8C     This file is autogenerated with f2py (version:%s)
z<C     It contains Fortran 77 wrappers to fortran functions.
ri   r   !B    z
     &z
     &
z*    Fortran 77 wrappers are saved to "%s"
z%s-f2pywrappers2.f90z!     -*- f90 -*-
z8!     This file is autogenerated with f2py (version:%s)
z<!     It contains Fortran 90 wrappers to fortran functions.
H   z&
     &z*    Fortran 90 wrappers are saved to "%s"
)1rE   defmod_rulesrI   modsign2mapr   r   r	   printsysstderritemscopydeepcopyappendrH   optionsr   touchbuildapir   rK   
buildhooksrM   rL   buildusevarsrJ   	get_needsf2cmap_mappedkeysrX   rY   rW   rZ   r[   r\   r]   re   rc   reprmodule_rulesospathjoinopenwriterF   splitfindlen)"mumret	mod_rulesvrdrdfuncwrappersfuncwrappers2nnbbibnb_listkanb1isf90b_pathm_nameapiwraparcrmruneedscodecrfnfwnlinesls"                                     r   buildmoduler&    sY    +qy9:::
CQQQI


"
"C	^\2C	8	8BLM|_ 2$ 2$F) 	 	B'{"EEELMMMZ  V9>>BE "  	^bcdknkuw w w w$b==7))++ $ $1mB''LFFs#### 	$ 	$B 'r**Ez" F -\*CDDD11Y112288::: 	FMMMMNNNF??V???@@FFHHHJJJJKKKF<<V<<<==CCEEEE JJJJKKKF<<V<<<==CCEEE IC . .!((.... ''---C%%BB##BB7	$< &q))HB "D!!!	B		B	B		B &q))HB #T"""	B		B	B		B    #Aqx&	':;;BE	* A A9+B A A A ADZZ\\  Qq 	 	AAF$$$$Q'fo%%OA&f)))'*fo%%OA&f///-a0f&&&$Q'fm##M!$f&&&$Q'f(((&q)f(((&q)9T!WWEFFFGNN13	4 T $ $MMkak!nnM(!2C2CAsA&&BB##B	L"	%	%B	gk*C	N	;	;BCK	b# 9!	< ((w778889 9 9 9 9 9 9 9 9 9 9 9 9 9 9GAfIIIrrrJKKK{ ;W\\K #l"3m"CE E"c]] 	.aGG'(((GGDIIbm,,---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	%%%s<'8'8'8: 	; 	; 	;| ;W\\K #l"3l"BD DE
"c]] 	+aGGI\Z\ \ \7**np p p		"Z.112227**)***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	%%%s<'8'8'8: 	; 	; 	; FW\\'+.4I0JKKF"c]] 	aGG-...GGK|\^ ^ ^GGOQ Q QEkk,//$6==dCC 
+ 
+s((((b(((((LLT**** +1Q43;;a&&B,,QssVj%8999bccF a&&B,, LLT****LLT****GGENN**<>>EGGENNN'	 	 	 	 	 	 	 	 	 	 	 	 	 	 	( 	=DEEE FW\\K "8C<M"NP PF"c]] 	aGG)***GGK|\^ ^ ^GGOQ Q QEkk-0047>>tDD + +s((((b(((((LLT****VVb[[QqTS[[LL3B3+!5666"##Aa&&2++QssVk%9:::bccF a&&2++ LLT****LLT****GGENN**<>>EGGENNN+	 	 	 	 	 	 	 	 	 	 	 	 	 	 	, 	=DEEEJs^   "0YY"%Y"A\&&\*-\*/Baa
a>Fiii4F>q>>rrstndr	  th)
r                        	   r   c           	          t          j        |           \  } }t          |           \  }}|t          _        | d         }t          |           r#t          d| d         d| d         d           nt          d| d         z             t          j        |           }t          i |          }t          D ]<}d|v r |d         |           sd|vr!t          |||           }t          ||          }=d	\  }	}
i }|D ]$}t          j        |||                   }t          ||                   rt          }nt          }t          ||                   smt!          ||                   s,|	d
z   }	t#          |	          t$          |	dz           z   dz   |d<   n1|
d
z   }
t#          |
          t$          |
dz           z   dz   |d<   nd|d<   |||<   |D ]S}d|v rd|v r |d         ||                   sd|vr-t          ||||                   }t          ||          }d|v r nT&|D ]}t          ||                   rt          }nt          }||         }|D ]S}d|vrd|v r |d         ||                   sd|vr-t          ||||                   }t          ||          }d|v r nTd||         v rB||         d         D ]3}||d<   t          t&          |||                   }t          ||          }4t)          |d         t*                    r|d                                          t)          |d         t*                    r|d                                          t/          t1          d|d         |d         |d         d                    |d<   t/          t1          d|d         |d         d                    }|dk    r)t/          t1          d d|d         i                    |d!<   nt1          d"|d         |d#          |d!<   |d!                             d$d%          |d&<   |d&                             d'd(          |d&<   t/          t1          d)|d*         |d+         d,                    }t3          |d+                   d
k    r0t/          t1          d-|d*         |d+         d,                    |d.<   n||d.<   ||d*<   t)          |d/         t*                    r+t/          t1          d0d/|d/         i                    d1z   |d/<   g |d2<   g |d3<   d4D ]}||v r/t)          ||         t*                    r|d2         ||         z   |d2<   d5|z   }||v rPt)          ||         t*                    r5|d3         ||         d6d
         z   d7gz   ||         d
d          z   d8gz   |d3<   t          t4          |          }t          |           rt          d9|d:         z             nt          d;|d:         z             ||fS )<Nvarsz+            Constructing wrapper function "r   .r   z"...
z.        Constructing wrapper function "%s"...
r   )r   r   r   
   z	 argumentnthz keywordhiddenr   r   checkrQ   rU   z #docsign##docsignopt##docsignxa#r   r   r   )r   r   r   docsignaturez#docsignopt##docsignxa#r   r   )r   r   rl   z	#docsign#docsignatureshortz#docsign#[#docsignopt#])r   r   _z\_latexdocsignatureshort,z, z #callfortran##callfortranappend#r   r   )r   r   z##callfortran# 0,#callfortranappend#callcompaqfortranr   z#docreturn#z = r~   r   )rz   r{   r|   r}   latexr   z\begin{description}z\end{description}z              %s
rr   z          %s
)rN   assubrr   rI   depargsr/   rE   routsign2mapr   
rout_rulesr   sign2mapr    	aux_rules	arg_rulesr$   r0   r   stndcheck_rules
isinstancelistreverserG   rF   r  routine_rules)routr  r   rA  varr  r	  r   r  r6  nthksavevrdr  _rulesr  optargscfsr  s                     r   r   r     s2   !$''JD$TNNMD'I
v,Ct Tl###T&\\\3 	4 	4 	4 	4 	AT&\RSSS

 
&
&C	B		B $ $MMkak$//MXQ5F5FAsD))BB##B ICG   CF++A 	&FFF Q(( &!#a&)) K'C!%cT#(^!;k!ICJJ!8D!%dd4"9o!=
!JCJJ%E

 	 	AA~~A+!H+c!f"5"581;L;L3A//B''q==E ( (A 	FFFaj 	 	A!!A+!H+c!f"5"581;L;L3A//B''q==Ec!fVG_ ( ( GS#a&99B''"'($// )
&&((("%&-- '
$$&&&#G,N8:9;=l;K:<[/-K -K%L %L M MB~ !:/12B/C023D0E"G "G# # $ $G "}}",K)R	]!;<<#> #> #**C68m9@+- +-#. #. $&&9#:#B#B3#N#NB #% $"")'#t"4"4  
W?$&}$5BObLcBe Be f f g gC
2!"##a''",W5Z<>}<Mdfgzd{]} ]} .~ .~ # # #&B}"[/4(( L$MKK#ABBD DFKL;B}BA ' '77z"Q%..7 "= 1BqE 9B}aK77z"Q%..7%'(:%;beAaCj%H'(&)+-a59&5%&&'B!" 
M2	&	&Bt 5$:78888 BzN3444t8Or   )j__doc__r   r   timer   pathlibr   rl   r   auxfuncsr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   versionr   numpy_versionr   sepdictr  intenvirongetgenerationtimeasctimegmtimer   r   rL  rC  r   rE  rF  rH  r&  rG  r   r   r   r   <module>ra     sv"  2 2f                                                                                                                                                        (                                    "#


,  A GAJJ RZ^^$7EEFF
 '$,{t{>'B'BCCD
G* h/00+1*4+2 h=>>3?2B3: h/00;1:4; @ h9::A ;@>A#F h011G#2F5G&L h-..M&/L2M)R h344S)5R8S,X h344Y,5X8Y2d h455e26d9e5j h677k58j;k8p h.//q80p3q;v h788w;9v<w>| h@AA}>B|E}@@ h788A@9@<ACF h$%%GC&F()#Gk#V &3Wk3V6WHR #)!') )   3_Q Qh /+151(EE'NNB7
 
 7p $-,.8:55523G ; SL Lb' . 6F fVZ *D2Dd%v &t .9$ ALT &t	 .;I	
 -d +D 3CD +D 3CD' 	"' "2' (5b' ;Nr' 	2' $R' *0' 	=' 	' .r' 	r' .r' 	1'  	=!'" 	+#'$ 	B%' '& 	:''( 	:)'* 	6+', 	;-'. 	R/'. %b/'. +5b/'0 	_1'4 	:;5'6 	_7': 	67;'< 	=='< #34H='> 	.?'@ 	2A'B 	6C'D 	RE' 'D ')2rb22BZ\lEE'NNB?M' ' 'P 3'%((	  C7!	  $uUU44+L+L%M%MuuUcOdOdee  hq$uUU?%;%;Z~I^I^__  bS.-r! E$$
NCCDD: E%%((*eeN6K6KLL:E%%((.99:
 uuTT/:>>??~AVAVWWYaboq r   ?@  4 5U44(.99::CE=>?+
 %ee,=&>&>??G$ $J $uTT/>%J%JKK  NV-r!
 E$$7788: :
 #U44#H#HII L 	 ttO^<<==QY?Z[vx y   78U44(.99::79LN567#
 "W, ,Z $uTT/>%J%JKK  NV-r!
 E$$7788: :
 #U44#H#HII L 	 ttO^<<==QY?Z[vx y   78U44(.99::79LN567#
 $W, ,Z eM**J7%A)+=>@ %i1A B B E   !&i7G1H1H I I L  
! %
EE/$:$:;;# &  %uUU44+L+L%M%MuuUcOdOdee  ht$uUU?%;%;Z~I^I^__  bV-r!
 E%%_j99::%'') ); E%%((*eeN6K6KLL;8
 )*R%)**,PR#EG    78    U44(.99::MO567#U9/00qsU9ee$566779}~@  ()st%''2#%:;%{3'79 }--{;$&A5/??@@BXZ%
EE*:$;$;UU?=S=STT_0 0b hdd?J??@@ PeeO44jAAw
 ;79DHH^9,_%7+ .   ,-MN  ,-KL+[9( #CDR3 6 $(9333')?)?@@S* *X {wv	 wa
J	 !+"M#%:$o%'7)+?)?*,<.0D,k]2K " 	 J "LMQJ!	  -x("$=>%%%	"2"233	  %$&%%%	"2"2LAA  )"$YZ  1+ y    ,	2\<4PQ  	%%~!6!677 	%%~!6!68HII  
 t(/:: 
 $ 
 ( 
   /0BC _T	lII
 @ "LMQJ! 	I eJ(899=IeJ(899=I"$45 5-=>>AdBI<AXAZ [ 5-=>>AdBI<AXAZ ['*P+05-+H+H,+05:J+K+KM]+_*` a  I6 !%(%%
*;*;<< 5I@ $-'%(*55	 ?IN %& MIX&(BC+-DE 	&(hi 	\	
 	4 	+  .p  q 	FD?%)**8: 	%'@A 	j#& 	j#&  	%t,!" 	j"78#$ 	j"78%& 	6'( 	4)* 	/002CD+, 	Z(-. 	/ YIL u.// 2    6  ?  % 122  5I  JK LFQ+
Z		
 ,-k6 6KI| -!Z[Z66eeDDQ[]iLjLjFkFkmz{.%%%	"2"233 {IH x(%%%	"2"233 GIN : #& #& "45 "45$ '  *+_`!9:%%%	"2"2EE(OO(* * MIH XU:uu\22335YU9      /
8 Gy!!#78%%%	"2"24DEEA! !gIj #$=>!%%%	"2"2MBB	 iIt  !Z[%%%	"2"233 sI@ )"L%%
2C2C]S!hi!23 IL : #& #& "45 "45!9:$ '   *+cd%	#344 KId $%~uZ|)<)<==CE23
 R%&%	#344
 
cIx HI%	=11 wI~ #$YZ%	=11 }IF #$Z[&' EIN  !hi MIZ< < < #.DE U<z!2!233JL
  .%eeJ&7&788,GI# YI@ U:JL

- &w%
##\24% }Id !#& #& "45 "45U>55#4#455JL   *+_`!9~uuZ'8'899<I%"233 cID	 	%%-00C	IH	  !jk G	IT	 2G9E5!?@ #+-?@!;< S	In	 8,/-0Q%!344	 	m	I@
 c%!344 	IJ
 8,/-0Q%//	 	I
I\
 c%// [
Id
 	*\<,HI c
Il
 : #& #& "45 "45%!122 k
I|
 4D>? EF	 >@!79(!:; 3/bOU44m4455 82 3 U=%%"5"566GIKL	
 y= =y
Ix 	%%~!6!677wI| 	%%~!6!68HII{IB  CIL # MIV $ WI` ( aIj  kIv  uI@ " IJ /0BC II	^  !]^  o<%%%	"2"233  o<  P;  R= -DI I IZ DTdtDTdt5 5s s s s sr   