§ y<ˆjn!ãóì—dZddlZddlZddlZddlZddlZddlZddlZddlZddl m Z  ddl Z n #e $rdZ YnwxYwddl mZddlTddl mZejadadadadad ad ad adadadagad ad ada ia!d a"da#da$da%tJgia&d a'ga(d a)ga*da+d a,ga-ga.ga/d „Z0dÅd „Z1de_2iZ3dD] Z4ddie3e4<Œ dD] Z4ddie3e4<Œ iZ5iZ6dD]Z7e7dze5e7<e7e6e7dz<Œd„Z8d„Z9d„Z:d„Z;ej<dej=¦«j>Z?ej<dej=¦«j>Z@ej<dej=¦«j>ZAej<dej=¦«jBZCgd¢ZDgd¢ZEd „ZFd!„ZGeHdfd"„ZId#ZJd$ZKej<eJd eKeKd%fzej=¦«d&fZLej<eJd eKd'zeKd'zd%fzej=¦«ZMej<eJd(zej=¦«d)fZNej<eJd*zej=¦«d)fZOd+ZPej<eJd ePePd%fzej=¦«d)fZQePd,zd-zZRej<eJd eReRd%fzej=¦«d)fZSd.ZTej<eJd eTeTd%fzej=¦«d/fZUd0ZVej<eJd1eVeVd%fzej=¦«d2fZWd3ZXej<eJd eXeXd%fzej=¦«d4fZYej<eJd5zej=¦«d6fZZej<eJd7zej=¦«d8fZ[ej<eJd9zej=¦«d:fZ\ej<eJd;zej=¦«dfZ^ej<eJd?zej=¦«d@fZ_ej<eJdAzej=¦«dBfZ`ej<eJdCzej=¦«dDfZaej<eJdEzej=¦«dFfZbej<eJdGzej=¦«dHfZcej<eJdIzej=¦«dJfZdej<eJdKzej=¦«dLfZeej<eJdMzej=¦«dNfZfej<eJdOzej=¦«dPfZgej<eJdQzej=¦«dRfZhej<eJdSzej=¦«dTfZiej<eJdUzej=¦«dVfZjej<eJdWzej=¦«dXfZkej<eJdYzej=ejlz¦«dZfZmej<d[ejl¦«d\fZnd]„Zod^„Zpej<d_ej=¦«ZqdÆd`„Zrda„ZsdÇdc„Ztdd„ZudÅde„Zvej<dfej=¦«Zwej<dgej=¦«Zxej<dhej=¦«Zyej<diej=¦«Zzej<djej=¦«Z{ej<dk¦«Z|ej<dl¦«Z}ej<dmej=¦«Z~dn„Zdo„Z€dp„Z�dq„Z‚dr„Zƒds„Z„ej<dtej=¦«Z…ej<duej=¦«Z†ej<dvej=¦«Z‡ej<dwej=¦«Zˆej<dxej=¦«Z‰dy„ZŠdz„Z‹d{„ZŒd|„Z�dÆd}„ZŽdÆd~„Z�dÆd„Z�dÈd�„Z‘d‚„Z’dƒ„Z“dÉd„„Z”dÊd…„Z•dËd†„Z–d‡„Z—dˆ„Z˜dÌd‰„Z™dŠ„ZšdÍd‹„Z›ej<dŒej=¦«Zœd�„Z�ej<dŽej=¦«Zžd�„ZŸd�„Z d‘„Z¡d’„Z¢d“„Z£dÎd”„Z¤ifd•„Z¥d–„Z¦ej<d—¦«jBZ§d˜„Z¨d™„Z©ej<dšej=¦«Zªgfd›„Z«dœ„Z¬ej<d�ej=¦«Z­ej<džej=¦«Z®ej<dŸej=¦«Z¯ej<d ej=¦«Z°ej<d¡ej=¦«Z±d¢„Z²ifd£„Z³dÏd¦„Z´dÌd§„ZµdÌd¨„Z¶d©„Z·dÐdª„Z¸ga¹d«„Zºd¬„Z»d­„Z¼gdfd®„Z½d¯„Z¾�tr ¿e¾¦«eÀd°k�rögZÁgZÂdZÃdZÄdZÅdZÆejÇdd…D�]1ZÈeÈd krŒ eÈdd±krdZÃŒeÈd²krdadaŒ$eÈd³krd´adaŒ/eÈdµkrt&r e1d¶d¦«dadaŒMeÈd·krdaŒVeÈd¸krdaŒ_eÈd¹krdadaŒjeÈdºkrdad»adaŒweÈd¼krdZÄŒ€eÈd½krdZÆŒ‰eÈd¾krdZÅŒ’eÈdd¿kreÉdÀeÊeȦ«z¦«Œ¶eÄrdZÄeÈaŒ½eÅrdZÅeÈaŒÄeÃrV eËeȦ« Ì¦«eÁ ¿eȦ«Œú#eÍ$rZÎeÉdÁeΛd¤�¦«YdZÎ[Î�ŒdZÎ[ÎwwxYwe ¿eȦ«�Œ3t&st2rt4s e1dÂd¦«eºeÁ¦«ZÏt0rfe1dÃeÊt0¦«zd¦«e»eϦ«ZÐeËt0dĦ«5ZÃeàÑeЦ«ddd¦«n #1swxYwYeÆreHeϦ«dSdSdS)Ña* crackfortran --- read fortran (77,90) code and extract declaration information. Copyright 1999-2004 Pearu Peterson all rights reserved, Pearu Peterson 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/09/27 07:13:49 $ Pearu Peterson Usage of crackfortran: ====================== Command line keys: -quiet,-verbose,-fix,-f77,-f90,-show,-h -m ,--ignore-contains Functions: crackfortran, crack2fortran The following Fortran statements/constructions are supported (or will be if needed): block data,byte,call,character,common,complex,contains,data, dimension,double complex,double precision,end,external,function, implicit,integer,intent,interface,intrinsic, logical,module,optional,parameter,private,public, program,real,(sequence?),subroutine,type,use,virtual, include,pythonmodule Note: 'virtual' is mapped to 'dimension'. Note: 'implicit integer (z) static (z)' is 'implicit static (z)' (this is minor bug). Note: code after 'contains' will be ignored until its scope ends. Note: 'common' statement is extended: dimensions are moved to variable definitions Note: f2py directive: f2py is read as Note: pythonmodule is introduced to represent Python module Usage: `postlist=crackfortran(files)` `postlist` contains declaration information read from the list of files `files`. `crack2fortran(postlist)` returns a fortran code to be saved to pyf-file `postlist` has the following structure: *** it is a list of dictionaries containing `blocks': B = {'block','body','vars','parent_block'[,'name','prefix','args','result', 'implicit','externals','interfaced','common','sortvars', 'commonvars','note']} B['block'] = 'interface' | 'function' | 'subroutine' | 'module' | 'program' | 'block data' | 'type' | 'pythonmodule' | 'abstract interface' B['body'] --- list containing `subblocks' with the same structure as `blocks' B['parent_block'] --- dictionary of a parent block: C['body'][]['parent_block'] is C B['vars'] --- dictionary of variable definitions B['sortvars'] --- dictionary of variable definitions sorted by dependence (independent first) B['name'] --- name of the block (not if B['block']=='interface') B['prefix'] --- prefix string (only if B['block']=='function') B['args'] --- list of argument names if B['block']== 'function' | 'subroutine' B['result'] --- name of the return value (only if B['block']=='function') B['implicit'] --- dictionary {'a':,'b':...} | None B['externals'] --- list of variables being external B['interfaced'] --- list of variables being external and defined B['common'] --- dictionary of common blocks (list of objects) B['commonvars'] --- list of variables used in common blocks (dimensions are moved to variable definitions) B['from'] --- string showing the 'parents' of the current block B['use'] --- dictionary of modules used in current block: {:{['only':<0|1>],['map':{:,...}]}} B['note'] --- list of LaTeX comments on the block B['f2pyenhancements'] --- optional dictionary {'threadsafe':'','fortranname':, 'callstatement':|, 'callprotoargument':, 'usercode':|, 'pymethoddef:' } B['entry'] --- dictionary {entryname:argslist,..} B['varnames'] --- list of variable names given in the order of reading the Fortran code, useful for derived types. B['saved_interface'] --- a string of scanned routine signature, defines explicit interface *** Variable definition is a dictionary D = B['vars'][] = {'typespec'[,'attrspec','kindselector','charselector','=','typename']} D['typespec'] = 'byte' | 'character' | 'complex' | 'double complex' | 'double precision' | 'integer' | 'logical' | 'real' | 'type' D['attrspec'] --- list of attributes (e.g. 'dimension()', 'external','intent(in|out|inout|hide|c|callback|cache|aligned4|aligned8|aligned16)', 'optional','required', etc) K = D['kindselector'] = {['*','kind']} (only if D['typespec'] = 'complex' | 'integer' | 'logical' | 'real' ) C = D['charselector'] = {['*','len','kind','f2py_len']} (only if D['typespec']=='character') D['='] --- initialization expression string D['typename'] --- name of the type if D['typespec']=='type' D['dimension'] --- list of dimension bounds D['intent'] --- list of intent specifications D['depend'] --- list of variable names on which current variable depends on D['check'] --- list of C-expressions; if C-expr returns zero, exception is raised D['note'] --- list of LaTeX comments on the variable *** Meaning of kind/char selectors (few examples): D['typespec>']*K['*'] D['typespec'](kind=K['kind']) character*C['*'] character(len=C['len'],kind=C['kind'], f2py_len=C['f2py_len']) (see also fortran type declaration statement formats below) Fortran 90 type declaration statement format (F77 is subset of F90) ==================================================================== (Main source: IBM XL Fortran 5.1 Language Reference Manual) type declaration = [[]::] = byte | character[] | complex[] | double complex | double precision | integer[] | logical[] | real[] | type() = * | ([len=][,[kind=]]) | (kind=[,len=]) = * | ([kind=]) = comma separated list of attributes. Only the following attributes are used in building up the interface: external (parameter --- affects '=' key) optional intent Other attributes are ignored. = in | out | inout = comma separated list of dimension bounds. = [[*][()] | [()]*] [// | =] [,] In addition, the following attributes are used: check,depend,note TODO: * Apply 'parameter' attribute (e.g. 'integer parameter :: i=2' 'real x(i)' -> 'real x(2)') The above may be solved by creating appropriate preprocessor program, for example. éN)ÚPathé)Ú __version__)Ú*)ÚsymbolicÚfixú Úéÿÿÿÿcó|—dadadadadadadadadada ga da tgia da dadagaiadadadagagagagadadS)Nrrrr r r )Ú strictf77ÚsourcecodeformÚquietÚverboseÚtabcharÚ pyffilenameÚ f77modulenameÚ skipemptyendsÚignorecontainsÚ dolowercaseÚdebugÚ groupcounterÚ grouplistÚ neededmoduleÚ expectbeginÚskipblocksuntilÚ usermodulesÚ f90modulevarsÚ gotnextfileÚfilepositiontextÚcurrentfilenameÚ skipfunctionsÚ skipfuncsÚ onlyfuncsÚ include_pathsÚprevious_context©óúk/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib64/python3.11/site-packages/numpy/f2py/crackfortran.pyÚreset_global_f2py_varsr*Ès“€ð€IØ€NØ €EØ€GØ€GØ€KØ€MØ€MØ€NØ€KØ €Eà€LݘrÐ"€IØ€LØ€KØ€OØ€KØ€MØ€KØÐØ€OØ€MØ€IØ€IØ€MØÐÐÐr(có´—tsdStsG|r$tj t ¦«tj |¦«dSdS©N)rrÚsysÚstdoutÚwriter )ÚlineÚflags r)Úoutmessr2îs^€õ ðØˆÝ ðØ ð /Ý ŒJ× Ò Õ-Ñ .Ô .Ð .Ý Œ ×Ò˜ÑÔÐÐÐððr(é2zabcdefghopqrstuvwxyz$_ÚtypespecÚrealÚijklmnÚinteger)3ÚintÚdoubleÚfloatÚcharÚshortÚlongÚvoidÚcaseÚwhileÚreturnÚsignedÚunsignedÚifÚforÚtypedefÚsizeofÚunionÚstructÚstaticÚregisterÚnewÚbreakÚdoÚgotoÚswitchÚcontinueÚelseÚinlineÚexternÚdeleteÚconstÚautoÚlenÚrankÚshapeÚindexÚslenÚsizeÚ_iÚmaxÚminÚflenÚfshapeÚstringÚcomplex_doubleÚ float_doubleÚstdinÚstderrr.ÚtypeÚdefaultÚ_bncót—|tvr.td|›dt|›d�¦«t|S|S)Nzrmbadname1: Replacing "ú" with "ú". )ÚbadnamesÚerrmess©Únames r)Ú rmbadname1rr sF€Ø �xÐÐ݈Ø��•x ”~�~�~ð'ñ (ô (ð (嘌~ÐØ €Kr(có—d„|D¦«S)Ncó,—g|]}t|¦«‘ŒSr')rr©Ú.0Ú_ms r)ú zrmbadname..s€Ð +Ð +Ð +˜r�J�r‰NŒNÐ +Ð +Ð +r(r'©Únamess r)Ú rmbadnamer{s€Ø +Ð + UÐ +Ñ +Ô +Ð+r(cót—|tvr.td|›dt|›d�¦«t|S|S)Nzundo_rmbadname1: Replacing "rlrm)Ú invbadnamesrorps r)Úundo_rmbadname1r~sJ€Ø �{ÐÐ݈Ø�4�4� TÔ*Ð*Ð*ð,ñ -ô -ð -å˜4Ô Ð Ø €Kr(có—d„|D¦«S)Ncó,—g|]}t|¦«‘ŒSr')r~rus r)rxz"undo_rmbadname.."s €Ð 0Ð 0Ð 0 B�O˜BÑ Ô Ð 0Ð 0Ð 0r(r'rys r)Úundo_rmbadnamer�!s€Ø 0Ð 0¨%Ð 0Ñ 0Ô 0Ð0r(z-\*-\s*fortran\s*-\*-z-\*-\s*f90\s*-\*-z-\*-\s*fix\s*-\*-z[^c*]\s*[^\s\d\t])z.f90z.f95z.f03z.f08)z.forz.ftnz.f77z.fcó`—t�,tj|¦« ¦«j}nêt dt j |¦«¦«}t|d¦«5}|  |¦«}|  tj ¦«rd}n^|  tj tjf¦«rd}n0|  tjtjf¦«rd}nd}ddd¦«n #1swxYwYt|||¬¦«S) aNEnsures that filename is opened with correct encoding parameter. This function uses charset_normalizer package, when available, for determining the encoding of the file to be opened. When charset_normalizer is not available, the function detects only UTF encodings, otherwise, ASCII encoding is used as fallback. Né Úrbz UTF-8-SIGzUTF-32zUTF-16Úascii)Úencoding)Úcharset_normalizerÚ from_pathÚbestr†r`ÚosÚpathÚgetsizeÚopenÚreadÚ startswithÚcodecsÚBOM_UTF8Ú BOM_UTF32_LEÚ BOM_UTF32_BEÚBOM_LEÚBOM_BE)ÚfilenameÚmoder†ÚnbytesÚfhandleÚraws r)Úopenhookr›/sB€õÐ%Ý%Ô/°Ñ9Ô9×>Ò>Ñ@Ô@ÔIˆˆõ�R�œŸš¨Ñ2Ô2Ñ3Ô3ˆÝ �(˜DÑ !Ô !ð # WØ—,’,˜vÑ&Ô&ˆCØ�~Š~�fœoÑ.Ô.ð #Ø&��Ø—’¥Ô!4µfÔ6IÐ JÑKÔKð #Ø#��Ø—’¥¤µ´ Ð >Ñ?Ô?ð #Ø#��ð#�ð #ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #õ �˜$¨Ð 2Ñ 2Ô 2Ð2sÁ1BDÄDÄDcó(—d}t|¦«j ¦«tvrd}t |d¦«5}| ¦«}d}t |¦«rd}nt|¦«rd}d}|dkrw|ru|ddkrM| ¦«r9|dz}|ddkrt|d d …¦«s|d d …d krd}n| ¦«}|dkr|°ud d d ¦«n #1swxYwY|S)z(Check if file is in free format Fortran.FTÚrérú!rú Nééþÿÿÿr ú&) rÚsuffixÚlowerÚCOMMON_FREE_EXTENSIONSr›ÚreadlineÚ _has_f_headerÚ_has_f90_headerÚstripÚ_free_f90_start)ÚfnameÚresultr™r0Úns r)Úis_free_formatr¯Nsj€ð€FÝ ˆE�{„{Ô×ÒÑ!Ô!Õ%;Ð;Ð;ØˆÝ �%˜Ñ Ô ð& Ø×ÒÑ!Ô!ˆØ ˆÝ ˜Ñ Ô ð ØˆAˆAÝ ˜TÑ "Ô "ð ØˆA؈FØ�!Šeˆe˜ˆeØ�AŒw˜#Š~ˆ~ $§*¢*¡,¤,ˆ~Ø�Q‘�ؘ”G˜t’O�O­¸¸R¸a¸R¼Ñ(AÔ(A�OÀdÈ2ÈbÈ5ÄkÐUXÒFXÐFXØ!�FØØ×#Ò#Ñ%Ô%ˆDð �!Šeˆe˜ˆeð&ð&ð&ñ&ô&ð&ð&ð&ð&ð&ð&øøøð&ð&ð&ð&ð €MsÁB9DÄD ÄD c ó$—|s8tttttt t ttf }|gkrdSt}d}d}d}tj dtj ¦«}tj d¦«} tj d¦«} tj d¦«} |r |dd¦«d \}} d gd „td ¦«D¦«z} datj|t¬ ¦«} | ¦«}nO#t"$rB}t%d| ¦«›d| ¦«›d|›d�¦«‚d}~wwxYw|s�n | ¦«�rda| ¦«ada|} dadat,j t¦«d}t3t¦«j ¦«t8vr!t;|¦«st=|¦«sdan%t?t¦«rt=|¦«sdatrt@antBatEdtGt¦«›dt›trdpd›d�¦«| $¦« %dd ¦«}|dks|ddvrn|dd…}|dk¯tsYtM|d¦«\}}|d z }|dd… ¦«dkr!tM|d z|dd…zd¦«\}}| '¦«dkrtdkrnd}�Œ^tdk�r…|dd!vr2|dd… ¦«d"krd#|dd…z}n(d}�Œ¦trtQ|¦«d$kr |dd$…}|d| vrt%d%tG|¦«z¦«‚|rtr2tQ|¦«dkr|dd ks||d&d…z}d}d}�nétsŽ|  )|¦«}|r| *d'¦«}|r0||  )|¦« *d'¦«z}d}d}n*d#|dd…z}|r| ¦«}n|}|}|}|du}�nTd#|dd…z}|r| ¦«}n|}|}|}�n(tdkrù|sw|d(krq|  )|¦«r\|d)z} | ¦«}|stWd*¦«n||z}|  )|¦«rnŒB| ,¦«}|  )|¦«}|r| *d'¦«}|r0||  )|¦« *d'¦«z}d}d}n|r| ¦«}n|}|}|}|du}n$t[d+tGt¦«z¦«‚d,| .¦«dz t| fza| )|¦«}|�r| *d-¦«}t,j /|¦«rta||d¬.¦«n×t,j 1t¦«gtdz}d}|D]W}t,j 3||¦«}t,j /|¦«rd}ta||d¬.¦«nŒX|s@tEd/tG|¦«›d0t,j4 3|¦«›d1�¦«n ||¦«|} �Œr|r| ¦«}n|}|}d,| .¦«dz t| fza| )|¦«}|�r| *d-¦«}t,j /|¦«rta||d¬.¦«n×t,j 1t¦«gtdz}d}|D]W}t,j 3||¦«}t,j /|¦«rd}ta||d¬.¦«nŒX|s@tEd/tG|¦«›d0t,j4 3|¦«›d1�¦«n ||¦«da| 5¦«|r|dd¦«dS|\ aaaaaaaaadS)2zõ Read fortran codes from files and 1) Get rid of comments, line continuations, and empty lines; lower cases. 2) Call dowithline(line) on every line. 3) Recursively call itself when statement "include ''" is met. NFr z*\s*include\s*(\'|")(?P[^\'"]*)(\'|")z(?P.*)&\s*\Zz(\s*&|)(?P.*)z.*?'''r )r r ú có,—g|]}t|¦«‘ŒSr')Ústrrus r)rxz#readfortrancode..…s€Ð7Ð7Ð7 r�3˜r™7œ7Ð7Ð7Ð7r(é )r›Tzreadfortrancode: reading ú#z failed with zu. It is likely that installing charset_normalizer package will help f2py determine the input file encoding correctly.rrrÚfreez Reading file z (format:z,strictú) õ z rŸr¡z!f2pyr )rÚcrŸÚCrµÚf2pyz éHzxreadfortrancode: Found non-(space,digit) char in the first column. Are you sure that this code is in fix form? line=%sér0ú.pyfú z.Unexpected end of file when reading multiline z6Flag sourcecodeform must be either 'fix' or 'free': %szLine #%d in %s:"%s" rq)Ú dowithlineÚistopz-readfortrancode: could not find include file z in ú . Ignoring. )6rr r!rr Ú beginpatternrrrÚreÚcompileÚIÚrangeÚ fileinputÚ FileInputr›r§ÚUnicodeDecodeErrorÚ Exceptionr–ÚlinenoÚ isfirstlinerŠr‹Úsplitextrr¤r¥ÚCOMMON_FIXED_EXTENSIONSr©Ú_has_fix_headerr¯Úbeginpattern77Úbeginpattern90r2ÚreprÚ expandtabsÚreplaceÚsplit_by_unquotedrªrXÚmatchÚgrouproÚrstripÚ ValueErrorÚ filelinenoÚisfileÚreadfortrancodeÚdirnamer%ÚjoinÚpathsepÚclose)ÚffilerÀrÁÚ saveglobalsÚlocaldolowercaseÚcontÚ finallineÚllÚ includelineÚcont1Úcont2Ú mline_markÚl1Ú spacedigitsÚfinÚlÚmsgÚextÚrlÚ_Ú origfinalliner�ÚlcÚmÚfnÚ include_dirsÚ foundfileÚinc_dirÚfn1s r)rÝrÝhsò €ð ð6Ý!Õ#3µ_ÅnÕV_Ý �%¥­+ð6ˆ à �‚{€{؈Ý"Ðð €DØ€IØ €BÝ”*Ø5µr´tñ=ô=€Kå ŒJÐ,Ñ -Ô -€EÝ ŒJÐ-Ñ .Ô .€EÝ”˜IÑ&Ô&€JØ ðØˆ �2�rÑÔÐØ �F€BˆØ�%Ð7Ð7­U°2©Y¬YÐ7Ñ7Ô7Ñ7€KØÐÝ Ô ˜e­hÐ 7Ñ 7Ô 7€Cðað Ø— ’ ‘”ˆAˆAøÝ!ð ð ð Ýð¨C¯LªL©N¬Nðð¸S¿ZºZ¹\¼\ððØ!$ðððñôð øøøøð øøøð ð Ù Ø �?Š?Ñ Ô ñ 7Ø!Ð Ø!Ÿlšl™nœnˆO؈K؈B؈IØ"ˆNÝ”'×"Ò"¥?Ñ3Ô3°AÔ6ˆCÝ•OÑ$Ô$Ô+×1Ò1Ñ3Ô3Õ7NÐNÐNÝ(¨Ñ+Ô+ðOÝ/>¸qÑ/AÔ/AðOà� � Ý¥Ñ0Ô0ð (½ÈÑ9KÔ9Kð (Ø!'�Ýð .Ý-� � å-� Ý ˆGÝ�OÑ,Ô,Ð,Ð,­n¨nÝ Ð. YÐ4°"Ð4Ð4ð6ñ 7ô 7ð 7ð �LŠL‰NŒN× "Ò " 6¨3Ñ /Ô /ˆà�r’'�'Ø�Œu˜HÐ$Ð$ØØ�#�2�#”ˆAð�r’'�'õð DÝ'¨¨3Ñ/Ô/‰GˆQ�Ø �‰HˆAØ�"�1�"Œv�|Š|‰~Œ~ Ò(Ð(Ý(¨¨W©°r¸!¸"¸"´vÑ)=¸sÑCÔC‘��1Ø �7Š7‰9Œ9˜Š?ˆ?Ý Ò'Ð'ð ð�Ù Ý ˜UÒ "Ñ "Ø�ŒtÐ0Ð0Ð0Ø�Q�q�S”6—<’<‘>”> VÒ+Ð+Ø ! A B B¤%™�A�Aà �DÙÝð Ý�q‘6”6˜B’;�;ؘ#˜2˜#œ�AØ�a”D˜KÐ'Ð'Ýð!GåIMÈaÉÌñ!QñRôRðRðð! �Ið! ­C°©F¬F°QªJ¨J¸qÀ¼tÀsº{¸{à˜!˜A˜B˜Bœ%‘Z�Ø� Ø "� ‘ å ðàŸ š  A™œ�AØð,ØŸGšG F™OœO˜Øð Ø %§+¢+¨a¡.¤.×"6Ò"6°vÑ">Ô">Ñ>˜Ø$&˜ Ø(*˜ ˜ ð$ a¨¨¨¤e™O˜Ø+ð+Ø(*¯ª© ¬ ˜I˜Ià(*˜IØ(*˜ ؘؠT˜M�D‘Dð  ! A B B¤%™�AØ'ð'Ø$&§H¢H¡J¤J˜ ˜ à$&˜ Ø$&�MØ�B‘Bå ˜vÒ %Ð %Øð ˜C 6šM˜M¨j×.>Ò.>¸qÑ.AÔ.A˜Mؘ‘H�ðØŸš™œ�BØðÝØMñOôOðOàØ˜B™�AØ!×'Ò'¨Ñ+Ô+ðØðð—H’H‘J”J�Ø— ’ ˜A‘”ˆAØð $Ø—G’G˜F‘O”O�Øð ؘ%Ÿ+š+ a™.œ.×.Ò.¨vÑ6Ô6Ñ6�Ø� Ø "� � à#ð#Ø "§¢¡ ¤ �I�Ià "�IØ "� Ø�ؘT�MˆDˆDåØHÍ4ÕP^ÑK_ÔK_Ñ_ñaôað aà4Ø �NŠNÑ Ô ˜qÑ ¥/°2ð87ñ7Ðà × Ò ˜mÑ ,Ô ,ˆØ ñ "Ø—’˜‘”ˆBÝŒw�~Š~˜bÑ!Ô!ð BÝ ¨zÀÐCÑCÔCÐCÐCõ”G—O’O¥OÑ4Ô4ð 6Ý8Eñ F� à� Ø+ðð�GÝœ'Ÿ,š, w°Ñ3Ô3�CÝ”w—~’~ cÑ*Ô*ðØ$%˜ Ý'¨¸ È!ÐLÑLÔLÐLؘðð!ðBÝ�GݘR™œ˜˜¥"¤*§/¢/°,Ñ"?Ô"?Ð"?Ð"?ðAñBôBðBøð ˆJ�yÑ !Ô !Ð !Ø ˆñCaðDðØ—H’H‘J”Jˆ ˆ àˆ Ø€MØ0Ø �ŠÑÔ˜1Ñ�o¨rð43ñ3Ðà×Ò˜-Ñ(Ô(€AØñØ �WŠW�V‰_Œ_ˆÝ Œ7�>Š>˜"Ñ Ô ð >Ý ˜B¨:¸QÐ ?Ñ ?Ô ?Ð ?Ð ?åœGŸOšO­OÑ<Ô<Ð=Å ÑMˆL؈IØ'ð ð �Ý”g—l’l 7¨BÑ/Ô/�Ý”7—>’> #Ñ&Ô&ðØ !�IÝ# C°JÀaÐHÑHÔHÐHØ�Eððð >Ý�ݘ‘H”H�H�H�bœjŸošo¨lÑ;Ô;Ð;Ð;ð=ñ>ô>ð>øð ˆ �9ÑÔÐØÐØ‡I‚I�K„K€KØ ðD؈ �2�qÑÔÐÐÐð9Dñ 6ˆ Ð% ¸È Ø ˜% ¨+¨+¨+sÃ:DÄ EÄ=EÅEzN\s*(?P%s(?=\s*(\b(%s)\b)))\s*(?P(\b(%s)\b))\s*(?P%s)\s*\Zzqcharacter|logical|integer|real|complex|double\s*(precision\s*(complex|)|complex)|type(?=\s*\([\w\s,=(*)]*\))|byteú.*rhz|static|automatic|undefined)z([a-z]+[\w\s(=*+-/)]*?|)ÚfunctionrýrüÚbegin)z [a-z\s]*?Ú subroutinerÿrüzprogram|block\s*dataz@|module(?!\s*procedure)|python\s*module|(abstract|)\s*interface|z type(?!\s*\()z\end|endprogram|endblockdata|endmodule|endpythonmodule|endinterface|endsubroutine|endfunctionÚendzJend\s*(if|do|where|select|while|forall|associate|block|critical|enum|team)z[\w]*?Úendifzmodule\s*procedureÚmoduleprocedure)r Úimplicitrrür)r údimension|virtualrrüÚ dimension)r Úexternalrrür)r Úoptionalrrür)r Úrequiredrrür)r Úpublicr rür )r Úprivater rür )r Ú intrinsicr rür )r úintent|depend|note|checkr z \s*\(.*?\).*Úintent)r Ú parameterrz\s*\(.*r)r Údatarrür)r Úcallrrür)r Úentryrrür)r Úcallfunrrür)r Úcommonrrür)r Úuserrür)r Úcontainsrr r)r Úformatrrür)r úKthreadsafe|fortranname|callstatement|callprotoargument|usercode|pymethoddefrrüÚf2pyenhancementsz2\s*(?P''')(?P.*?)(?P''')\s*\ZÚ multilinec ó¼—td¦«t|¦«zr Jd¦«‚tjd d tj|¦«¦«d tj|¦«¦«dd¬¦«¦«}| |¦«}|r$| ¦«}|d |d fS|d fS) z¶ Splits the line into (line[:i], line[i:]), where i is the index of first occurrence of one of the characters not within quotes, or len(line) if no such index exists z"'zcannot split by unquoted quoteszR\A(?P({single_quoted}|{double_quoted}|{not_quoted})*)(?P{char}.*)\Zz[^"'{}]z[{}]z('([^'\\]|(\\.))*')z("([^"\\]|(\\.))*"))Ú not_quotedr;Ú single_quotedÚ double_quotedÚbeforeÚafterr )ÚsetrÄrÅrÚescaper×Ú groupdict)r0Ú charactersr�röÚds r)rÖrÖ�sÑ€õ �E‘ ” �S ™_œ_Ñ,ÐPÐPÐ/PÑPÔPÐ -Ý Œ ð !ß!'¢Ø!×(Ò(­¬°:Ñ)>Ô)>Ñ?Ô?Ø—’�rœy¨Ñ4Ô4Ñ5Ô5Ø0Ø0ð "(ñ"2ô"2ñ 3ô 3€Að �Š�‰ Œ €AØð)Ø �KŠK‰MŒMˆØ�(” ˜Q˜wœZÐ(Ð(Ø �"ˆ:Ðr(cóÚ—g}t|¦« d¦«D]2}dD]}| |d¦«}Œ| |¦«Œ3d |¦«S)Nú@,@z(),róú,)ÚmarkoutercommaÚsplitrÕÚappendrß)ÚargslineÚar®r�s r)Ú _simplifyargsr-±sq€Ø €AÝ ˜HÑ %Ô %× +Ò +¨EÑ 2Ô 2ððˆØð "ð "ˆAØ— ’ ˜!˜SÑ!Ô!ˆAˆAØ �Š�‰ Œ ˆ ˆ Ø �8Š8�A‰;Œ;Ðr(z"\s*(?P\b[a-z]+\w*\b)\s*=.*cón—t|d¦«\}}|r±td |¦«s‘td |¦«sq|dksJt |¦«¦«‚t|d¦«\}}|r-t ||¦«t|dd…d¦«\}}|°-t ||¦«dS|dkrwdat diat iiat gia gtt d<itt d<dtt d<dtt d <d a d a dS|dk�r d}trtt krd }t |krÑtd t t ¦«›d t t¦«›d�¦«td¦«tt dz  tt ¦«tt tt dz d d<tt =t dz at |k°Ñt�r tt krütt dz  tt ¦«tt tt dz d d<tt =t dz att dz  tt ¦«tt tt dz d d<tt =t dz ad a dS|dkrdSd}tt t"t$t&t(t*t,t.t0t2t4t6t8t:t<t>t@tBtDtFtHtJtttLfD]&}|d |¦«}|rn|dz}Œ'|�sötN} dtcxkr t krnndSdtt v�ratt dD�]G} | tPvr tP| } dtt vr| tt dvrŒHtSjd| ztU|¦«tRj+¦«} | rÍ|  |  ,d¦«¦«} t[|  ,d¦«¦«} | r d| ›d| ›d|  ,d¦«›d�}n d| ›d| ›d�}t\d |¦«}|s"tdt |¦«z¦«dSt_|d|¦«dS�ŒIt`dks7t`dkrEtb 2¦« 3d¦«rda4tdt z¦«dS|ddk�r™dtcxkr t krnnt dz att krdSt dkrtkdt z¦«‚t8d |¦«} | rƒ|  ,d ¦«tt ksZtkd!t |  ,d ¦«¦«›d"t tt ¦«›d#tl›�¦«‚tt krd a tt dz  tt ¦«tt tt dz d d<tt =t dz atnsda8dSdS|dd$krCdtcxkr t krnn t dzadSda9t_||d|¦«da8dS|dd%krdS|dd&krt_||d|¦«dS|dd'kr.ttrdSdtcxkr t krnndSt a dSdtcxkr t krnndSt_||d|¦«dS)(z¬ reset=-1 --- initialize reset=0 --- crack the line reset=1 --- final check if mismatch of blocks occurred Cracked data is saved in grouplist[0]. ú;rrNr ÚbodyÚvarsÚblockrqr ézcrackline: groupcounter=z groupname=r¿zYcrackline: Mismatch of blocks encountered. Trying to fix it by assuming "end" statement. Ú externalsÚ interfacedz5(?P[^"]*)\b%s\b\s*@\(@(?P[^@]*)@\)@.*\ZrÚargszcallfun ú(z ) result (r­ú)z8crackline: could not resolve function call for line=%s. rr¾z"crackline:%d: No pattern for line rz>crackline: groupcounter(=%s) is nonpositive. Check the blocks.Úthiszcrackline: End group z* does not match with previous Begin group z rþrrr);rÖÚf2pyenhancementspatternr×ÚmultilinepatternrÓÚ cracklinerÚ groupnameÚ groupcacherrrrr2r*ÚdimensionpatternÚexternalpatternÚ intentpatternÚoptionalpatternÚrequiredpatternÚparameterpatternÚ datapatternÚ publicpatternÚprivatepatternÚintrinsicpatternÚ endifpatternÚ endpatternÚ formatpatternrÃÚfunctionpatternÚsubroutinepatternÚimplicitpatternÚ typespatternÚ commonpatternÚ callpatternÚ usepatternÚcontainspatternÚ entrypatternÚmoduleprocedurepatternÚcrackline_re_1r}rÄÚmarkouterparenrÆrØr-ÚcallfunpatternÚ analyzelinerr!r¥Úendswithr&rËr rrrr)r0ÚresetróÚ has_semicolonÚsemicolon_lineÚflr1ÚpatröÚre_1rqÚm1Úm2r,s r)r<r<¼sQ€õ)¨¨sÑ3Ô3Ñ€A€}Øð Õ5°aÔ8×>Ò>¸tÑDÔDð Ý/°Ô2×8Ò8¸Ñ>Ô>ð ð˜Šzˆzˆz�4 ™;œ;‰zŒzˆzå0°°sÑ;Ô;шˆnØð NÝ �d˜EÑ "Ô "Ð "Ý#4°^ÀAÀBÀBÔ5GÈÑ#MÔ#MÑ ˆD�.ðð Nõ �$˜ÑÔÐØˆØ ˆq‚y€y؈ Ý! 2Ð&ˆ Ý" BÐ'ˆ Ý! 2Ð&ˆ Ø+-� •<Ô  Ñ(Ø+-� •<Ô  Ñ(Ø,.� •<Ô  Ñ)Ø+-� •<Ô  Ñ(؈ ØˆØˆØ ˆq‚y�yØ ˆÝ ð �\­\Ò9Ð9؈BݘRÒÐÝ ˆGÝ�,Ñ'Ô'Ð'Ð'­­i©¬¨¨ð:ñ ;ô ;ð ;å Ølñ nô nð nå •l QÑ&Ô '× .Ò .­z½,Ô/GÑ HÔ HÐ HÝ6?Å Ô6M�I•l QÑ&Ô '¨Ô +¨FÑ 3Ý�,Ð'Ý'¨!Ñ+ˆLõ˜RÒÐõ ñ �\­\Ò9Ð9Ý •l QÑ&Ô '× .Ò .­z½,Ô/GÑ HÔ HÐ HÝ6?Å Ô6M�I•l QÑ&Ô '¨Ô +¨FÑ 3Ý�,Ð'Ý'¨!Ñ+ˆLÝ •l QÑ&Ô '× .Ò .­z½,Ô/GÑ HÔ HÐ HÝ6?Å Ô6M�I•l QÑ&Ô '¨Ô +¨FÑ 3Ý�,Ð'Ý'¨!Ñ+ˆL؈LØˆØ ˆr‚z€zØˆØ €DÝ ¥/µ=Å/ÝÝ ¥+­}½nÝ Ý�jÝÝ�oÕ/@Ý¥­}Ý�Z­ÝÝ'Ý Ý&ð ððˆð �ŒF�LŠL˜Ñ Ô ˆØ ð Ø ˆEØ�a‰xˆˆØ ñK%ÝˆØ •Ð /Ð /Ò /Ð /¥<Ò /Ð /Ð /Ð /Ð /Ø ˆFØ �*¥\Ô2Ð 2Ñ 2Ý"¥<Ô0°Ô=ð ñ �Ø�;Ð&Ð&Ý& tÔ,�DØ¥:­lÔ#;Ð;Ð;ÀÍ ÕS_ÔH`ÐamÔHnÐ@nÐ@nØÝ”XØLÈtÑSÕUcÐdhÑUiÔUiÕkmÔkoñqôq�àðØŸš B§H¢H¨XÑ$6Ô$6Ñ7Ô7�BÝ% b§h¢h¨vÑ&6Ô&6Ñ7Ô7�AØð<ð<à ˜D˜D ! ! ! R§X¢X¨hÑ%7Ô%7Ð%7Ð%7ð 9˜˜ð<ð48°4°4¸¸¸Ð;˜Ý& qÔ)×/Ò/°Ñ5Ô5�AØðÝØWÕZ^Ð_cÑZdÔZdÑdñfôfðfà˜˜Ý  9¨dÑ3Ô3Ð3Ø�F�Fñõ �QŠ;ˆ;�7 aš<˜<­O×,AÒ,AÑ,CÔ,C×,LÒ,LÈVÑ,TÔ,T˜<Ø#Ð Ý Ð9½\ÑJÑ KÔ KÐ KØˆØ ˆQŒ�5Š‰Ø •Ð .Ð .Ò .Ð .¥,Ò .Ð .Ð .Ð .Ð .Ý'¨!Ñ+ˆLÝ¥,Ò.Ð.Ø�Ý ˜1Ò Ð Ýð0å+ñ-ñ.ô.ð .õ˜!Œ_× "Ò " DÑ *Ô *ˆØ 𠘟š &Ñ)Ô)­Yµ|Ô-DÒDÐDÝ�)å! "§(¢(¨6Ñ"2Ô"2Ñ3Ô3Ð3Ð3µT½)ÅLÔ:QÑ5RÔ5RÐ5RÐ5RÝ-Ð-ð/ñôð õ �lÒ *Ð *Ø ˆOÝ•, Ñ"Ô#×*Ò*­:µlÔ+CÑDÔDÐDÝ2;½LÔ2I� •, Ñ"Ô# BÔ'¨Ñ/Ý •lÐ #Ý# aÑ'ˆ Ýð ØˆKˆKˆKð ð à ˆQŒ�7Ò Ð Ø •Ð /Ð /Ò /Ð /¥<Ò /Ð /Ð /Ð /Ð /Ý'¨!Ñ+ˆLØ ˆF؈ Ý�A�s˜1”v˜tÑ$Ô$Ð$؈ ˆ ˆ Ø ˆQŒ�7Ò Ð Ø ˆØ ˆQŒÐ$Ò $Ð $Ý�A�s˜1”v˜tÑ$Ô$Ð$Ð$Ð$Ø ˆQŒ�:Ò Ð Ý ð Ø ˆFØ •Ð /Ð /Ò /Ð /¥<Ò /Ð /Ð /Ð /Ð /Ø ˆFÝ&ˆˆˆà •Ð /Ð /Ò /Ð /¥<Ò /Ð /Ð /Ð /Ð /Ø ˆFÝ�A�s˜1”v˜tÑ$Ô$Ð$Ð$Ð$r(có€—d}d}|D]6}|dkr|dz}|dkr|dz}Œn|dkr|dz }|dkr|dz}Œ1||z}Œ7|S)Nr rr7rú@(@r8ú@)@r')r0rïÚfr¹s r)rWrW[s€€Ø €AØ €AØ ð ð ˆØ �Š8ˆ8Ø�A‘ˆAØ�AŠvˆvؘ‘I�Øðð�#ŠXˆXØ�A‘ˆAØ�AŠvˆvؘ‘I�ØØ �‰EˆˆØ €Hr(r'cób—d}d}t||dz¦«\}}||z }|rq|d|kr|dkr |d|zdzz }n.||dz }|ddkr|dz }n|ddkr|dz}t|dd…|dz¦«\}}||z }|°q|rJt|||f¦«¦«‚|S)Nr rz()ú@r7rr8)rÖrÓ)r0Úcommarïrfrrs r)r(r(msõ€Ø €AØ €AÝ% d¨E°D©LÑ9Ô9�M€FˆE؈�K€AØ ð Ø �!ŒH˜Ò Ð  A¨¢F FØ ��u‘˜sÑ"Ñ "ˆAˆAà ��q”‰MˆAØ�QŒx˜3ŠˆØ�Q‘��Ø�q”˜S’�Ø�Q‘�Ý)¨%°°°¬)°U¸T±\ÑBÔB‰ ˆ�Ø ˆV‰ ˆð ð ðÐ$Ð$•$˜˜4 �|Ñ$Ô$Ñ$Ô$ˆ5Ø €Hr(cóZ—| dd¦« dd¦«}|S)Nrdr7rer8)rÕ)r0r�s r)Úunmarkouterparenrk€s*€Ø � Š �U˜CÑ Ô ×(Ò(¨°Ñ4Ô4€AØ €Hr(cóü—|si}|s|S||ur|St| ¦«¦«D]Ë}|dkr|s||vr ||||<Œ|dkr||D]}t|||¦«}ŒŒ=|dkrt||||¦«}Œ[|dkrt ||||¦«}Œy|dvr|s||vr ||||<Œ�|dkrŒ–|dvrt d|z¦«Œ­t d t|¦«z¦«‚|S) Nr4ÚattrspecÚ kindselectorÚ charselector)ú=ÚtypenameÚnote)r ÚcheckrrrÚdependz"appenddecl: "%s" not implemented. z-appenddecl: Unknown variable definition key: )ÚlistÚkeysÚ setattrspecÚsetkindselectorÚsetcharselectorrorËr³)ÚdeclÚdecl2ÚforceÚkrïs r)Ú appenddeclr~…so€Ø ðØˆØ ðØˆ Ø ˆu€}€}؈ Ý �%—*’*‘,”,Ñ Ô ð$ð$ˆØ � Š?ˆ?Øð #˜ ˜ ˜ Ø œ(��Q‘øØ �*Š_ˆ_ؘ1”Xð 3ð 3�Ý" 4¨¨EÑ2Ô2��ð 3à �.Ò Ð Ý" 4¨¨q¬°5Ñ9Ô9ˆDˆDØ �.Ò Ð Ý" 4¨¨q¬°5Ñ9Ô9ˆDˆDØ Ð#Ð #Ð #Øð #˜ ˜ ˜ Ø œ(��Q‘øØ �&Š[ˆ[Ø Ø ð)ð)ð)å Ð9¸AÑ=Ñ >Ô >Ð >Ð >åÐKÝ ™FœFñ#ñ$ô$ð $à €Kr(zD\s*(?P(@\(@.*?@\)@|\*[\d*]+|\*\s*@\(@.*?@\)@|))(?P.*)\Zz[(?:,(?P[\w(),]+))?(::)?(?P\b[a-z$_][\w$]*\b)(?:\((?P[\w,]*)\))?\Zzª\s*(?P\b[\w$]+\b)\s*(@\(@\s*(?P[\w\s,]*)\s*@\)@|)\s*((result(\s*@\(@\s*(?P\b[\w$]+\b)\s*@\)@|))|(bind\s*@\(@\s*(?P(?:(?!@\)@).)*)\s*@\)@))*\s*\ZzF\s*(?P(operator|assignment))@\(@\s*(?P[^)]+)\s*@\)@\s*\Zz9\s*(?P\b[\w$]+\b)\s*@\(@\s*(?P.*)\s*@\)@\s*\Zz4([-+]?(?:\d+(?:\.\d*)?|\d*\.\d+))[dD]((?:[-+]?\d+)?)zA([-+]?((?:\d+(?:\.\d*)?|\d*\.\d+))[eE]((?:[-+]?\d+)?)|(\d+\.\d*))zintent\s*\(.*?\bcallback\bcór—| dg¦«D]}t |¦«rdSŒ dS)Nrmrr)ÚgetÚ_intentcallbackpatternr×)Úvdeclr,s r)Ú_is_intent_callbackrƒ¸sF€Ø �YŠY�z 2Ñ &Ô &ððˆÝ !× 'Ò '¨Ñ *Ô *ð Ø�1�1ð à ˆ1r(cóx—d | ¦«¦«}t |¦«}t ||¦«|rc| d¦«}|rd„| d¦«D¦«ng}| d¦«|| d¦«fSdgdfS)Nr Ú attributescó6—g|]}| ¦«‘ŒSr')r¥)rvr,s r)rxz*_resolvetypedefpattern..Ås €Ð5Ð5Ð5˜q�—’‘”Ð5Ð5Ð5r(r'rqÚparams)rßr)Útypedefpatternr×ÚprintrØ)r0raÚattrss r)Ú_resolvetypedefpatternr‹¿s¯€Ø �7Š7�4—:’:‘<”<Ñ Ô €DÝ × Ò ˜dÑ #Ô #€BÝ ˆ$��O„O€OØ ð;Ø—’˜Ñ&Ô&ˆØ9>ÐFÐ5Ð5 E§K¢K°Ñ$4Ô$4Ð5Ñ5Ô5Ð5ÀBˆØ�xŠx˜ÑÔ ¨¯ª°Ñ(:Ô(:Ð:Ð:Ø ��Tˆ>Ðr(có>—t|¦«}t |¦«}|rR| d¦«| d¦«| d¦«| d¦«fSt |¦«}|r7| d¦«dz| d¦«zdz}|gddfSt  |¦«}|r,| d¦«| d¦«ddfSdgddfS)Nrqr6r­ÚbindÚschemer7r8)rWÚnameargspatternr×rØÚoperatorpatternÚcallnameargspattern)r0rarqs r)Ú_resolvenameargspatternr’Ês€Ý ˜$Ñ Ô €DÝ × Ò ˜tÑ $Ô $€BØ ðXØ�xŠx˜ÑÔ §¢¨&Ñ!1Ô!1°2·8²8¸HÑ3EÔ3EÀrÇxÂxÐPVÑGWÔGWÐWÐWÝ × Ò ˜tÑ $Ô $€BØ ð$Ø�xŠx˜Ñ!Ô! CÑ'¨"¯(ª(°6Ñ*:Ô*:Ñ:¸SÑ@ˆØ�R˜˜tÐ#Ð#Ý × "Ò " 4Ñ (Ô (€BØ ð>Ø�xŠx˜ÑÔ §¢¨&Ñ!1Ô!1°4¸Ð=Ð=Ø ��T˜4Ð Ðr(c ódB—| d¦«}|dkrdat�r |dv�rtsþtdkrót j t¦«  d¦«d}td|z¦«da tdzadtt<itt<gtt<gttd <ittd <dttd <|ttd <d ttd<da|dv� r·| ¦«}t!jd|t j¦«rd}nEt!jd|t j¦«rd}n"t!jd|t j¦«rd}|dkrTt'| d¦«¦«\}}}t)|¬¦«ttd |<g}d} n't+| d¦«¦«\}}} }|€|dkrd}nd}|dvrtd¦«||tfa|r:t-d„t/|¦«  d¦«D¦«¦«}ng}d|vr,d|vr| d¦«d|v°td¦«d} d} |d vrd} d!ttvrdS|ttd!vrdSttD]} | d |krdSŒ|ttd"vrdSd#d$d œ|}t2r(t4d%krtdkrtd&zad} |d'vrd} tdzaitt<gtt<| rÿt6dkr%td(t9t2¦«zd¦«d)tt<dttd <t2ttd <dttd<gttd <gttd*<gttd"<ittd <tdzaitt<gtt<| �r$t6dkrtd+tzd¦«d,tt<d,ttd <d-ttd <ttdz d›d.ttdz d ›�ttd<gttd <gttd*<gttd"<ittd <tdzaitt<gtt<|tt<|ttd <|sd/| d0d1¦«z}| d2¦«ttd3<t=|¦«ttd <| ttd4<tdkrtttd<n—t2rDtd5kr9ttdz d›d.t›�ttd<nLttdz d›d.ttdz d ›�ttd<t?tt  ¦«¦«D]-} tt| stt| =Œ.|ttd!<gttd <gttd*<gttd"<ittd <ittd6<|dkrgttd7<|d vrñ|ttd&z d*vr.ttd&z d* !|¦«tEj#ttd&z d ¦«ttd < ttd |ttd |d8 $d9¦«=n#tJ$rYnwxYw|d:v�r? tMttd |ttd&z d d¦«ttd |<n#tJ$rYnwxYw|d;krƒ| r�| ttd vrg|| ksatMttd |ttd | ¦«ttd |< ttd&z d" !|¦«n#tJ$rYnwxYw|d$krˆtNd | d2¦«d0z|z¦«}|rMtQ| d¦«| d¦«¦«\}}}}tS||||¦«|d vrüttdz  !tt¦«ttttdz d%d <tt=tdz attdz  !tt¦«ttttdz d%d <tt=tdz adSdS|d6kr©t+| d¦«¦«\}}} }|�~|r:t-d<„t/|¦«  d¦«D¦«¦«}ng}| �Jt9| ¦«¦«‚|ttd6|<d6|tfadSdS|dkrJtQ|| d¦«¦«\}}}}tS||||¦«}|� d=|tfadSdS|d>v�r ttd }| d¦« *¦«}| +d?¦«}|dkrÞ|d@krØtY|¦« +dA¦«d&z }|d|dz…d?z||dzd…z}| +d?¦«}||d…d?krrd!ttvr^tdB| d¦«›|d|…›dC�¦«|dD -ttd!¦«z}|dkrd}d}n)|d|… *¦«}||d&zd…}t/|¦«  d¦«}t]|¦«dkr5|d}tdEdD -|dd…¦«z¦«d}dF„t/|¦«  d¦«D¦«D�]â}t^ |¦«}|sL|dGvrd} ngta| 1¦«¦«tdH|›dIt9|¦«›dJ�¦«Œkt=| d ¦«¦«} |dGvr$| dKks| dLkr| | d¦«z } | |vri|| <|dMkr|| d¦«z}|d@k�r| d¦«|z}td |¦«rê| ttd!vr¾tdkr dNttd&z d vrtdO¦«| ttd krWtdP| ›dQttd ›dR�¦«ttd! !| ¦«n%tgdS| z¦«ntgdT| z¦«|dUvr|}d8|| vr"|| d8 !|¦«n |g|| d8<|d9kr�ttd dkrtdV¦«�Œp| ttd!vr�ŒŒd*ttvrgttd*<ttd* !| ¦«| }�Œä|ttd <|� d=|tfadSdS|dWkrGdX„| d¦«  dD¦«D¦«ttdY<dS|dZk�r|-dkr|,|0z},ŒJ|-d&krb|+ *¦«}+|+ DdD¦«r|+dd… *¦«}+| !|+|,g¦«|0}+d},d}-Œ³|-d&kr\|+ *¦«}+|+ DdD¦«r|+dd… *¦«}+| !|+|,g¦«i}1d ttvrttd }1d}|D�]¼}2d~„|2D¦«}2|2dddDkr|2ddd…|2d<|2ddd|krtd|2dz¦«Œ_d}d}3t]|2d¦«}4t-d€„t/|2d¦«  d¦«D¦«¦«D�]}|dd|krtd|z¦«Œ"d}.||4krH|.s|2d|dDks4|2d|dzkr|. }.|dz}||4kr|.°"|2d|dDk¯4|dz}||1vri|1|<d\|1|vrY|1|d\|2d|3|dz …ks6td�|›da|1|d\›d‚|2d|3|dz …›d_�¦«|2d|3|dz …|1|d\<|}3|}�Œ�Œ¾|1ttd <|� d=|tfadSdS|dƒk�r�| d¦« *¦«}|dd{ksd„|z}g}5d}-d}6d}7|D]\}0|0d{kr|-dz}-Œ|-d5kr8|6 *¦«}6|6sd…}6|5 !|6|7g¦«|-d&z }-d}6d}7|-d&zr|6|0z}6ŒW|7|0z}7Œ]|6 *¦«}6|6sd…}6|5 !|6|7g¦«i}8dƒttvrttdƒ}8|5D]o}0|0d|8vr g|8|0d<d†„t/|0d¦«  d¦«D¦«D]%}|r!|8|0d !|¦«Œ&Œp|8ttdƒ<dƒ|6tfadS|d‡k�rt!jdˆ| d¦«t j¦«}|�r˜| 1¦«}9d‡ttvrittd‡<| d ¦«}ittd‡|<d}:d‰|9v�r"|9d‰��dŠ|9vr |9dŠ€d}:|:ttd‡|d‹<dŒ„|9d‰  dD¦«D¦«}i};|D]¾}2d\|2vr’t!jd�|2t j¦«}#|#rP|# d‡¦« *¦«|;|# dަ« *¦«<n%td�t9|2¦«z¦«n|2|;|2<|;ttd‡|d�<Œ¿dSdSta| 1¦«¦«td‘¦«dS|d’vrâd“ttvrittd“<ttd“}<| d¦«d”kr[d”|. s6€ðJðJðJØ"#ð Ÿgšg™iœiðJðJðJr(r&z.šs6€ð"Nð"Nð"NØ&'ð#$§'¢'¡)¤)ð"Nð"Nð"Nr(Úvariable)rr rrrr r r ú::r rez"All arguments will have attribute r¿r'zXanalyzeline: cannot handle multiple attributes without type specification. Ignoring %r. có6—g|]}| ¦«‘ŒSr'ržrŸs r)rxzanalyzeline..Às €ÐEÐEÐE �!—'’'‘)”)ÐEÐEÐEr(©r r z&analyzeline: no name pattern found in z statement for z . Skipping. ÚoperatorÚ assignmentrÚ__user__z8analyzeline: missing __user__ module (could be nothing) z(analyzeline: appending intent(callback) ú to z arguments z,analyzeline: intent(callback) %s is ignored z=analyzeline: intent(callback) %s is already in argument list )rrr rr r z(analyzeline: ignoring program arguments rcó6—g|]}| ¦«‘ŒSr'ržrŸs r)rxzanalyzeline..ûs €Ð <Ð <Ð <˜1ˆQ�WŠW‰YŒYÐ <Ð <Ð .s €Ð?Ð?Ð?¨Q˜qŸwšw™yœyÐ?Ð?Ð?r(rpzAanalyzeline: could not extract name,expr in parameter statement "ú" of "ú" z1analyzeline: Overwriting the value of parameter "ú" ("z ") with "rmr4r5r$ÚeÚcomplexz+1j*(z analyzeline: Failed to evaluate z . Ignoring: rÚnonez.*?)\s*(\(\s*(?P[a-z-, ]+)\s*\)\s*|)\ZzDanalyzeline: could not extract info of implicit statement part "%s" zManalyzeline: could not extract types pattern of implicit statement part "%s" rnrorqú-có6—g|]}| ¦«‘ŒSr'ržrŸs r)rxzanalyzeline..Os €Ð)JÐ)JÐ)J¸¨!¯'ª'©)¬)Ð)JÐ)JÐ)Jr(zZanalyzeline: expected "-" instead of "%s" in range list of implicit statement z^analyzeline: expected "-" instead of "%s" in range list of implicit statement (2) rú'ú/r7r8có6—g|]}| ¦«‘ŒSr'ržrŸs r)rxzanalyzeline..…s €Ð&Ð&Ð&˜q�—’‘”Ð&Ð&Ð&r(z>analyzeline: implied-DO list "%s" is not supported. Skipping. có6—g|]}| ¦«‘ŒSr'ržrŸs r)rxzanalyzeline..�s €ÐUÐUÐU¨a §¢¡ ¤ ÐUÐUÐUr(z*analyzeline: changing init expression of "ú") to "rz//Ú_BLNK_có6—g|]}| ¦«‘ŒSr'ržrŸs r)rxzanalyzeline..Ês €ÐKÐKÐK A�a—g’g‘i”iÐKÐKÐKr(rzR\A\s*(?P\b\w+\b)\s*((,(\s*\bonly\b\s*:|(?P))\s*(?P.*))|)\s*\ZruÚnotonlyÚonlycó6—g|]}| ¦«‘ŒSr'ržrŸs r)rxzanalyzeline..Ýs €Ð?Ð?Ð? A�a—g’g‘i”iÐ?Ð?Ð?r(z7\A\s*(?P\b\w+\b)\s*=\s*>\s*(?P\b\w+\b)\s*\ZÚlocalz0analyzeline: Not local=>use pattern found in %s Úmapz0analyzeline: Could not crack the use statement. )rrÚusercodez-analyzeline: No context for multiline block. z+analyzeline: No code implemented for line. )HrØr&rrrrŠr‹Úbasenamer!r)r2rr=r>rr¥rÄr×rÆr‹Údictr’r{r(ÚremoverrrrÓrÕrrrurvr*ÚcopyÚdeepcopyr[rËr~rOÚcracktypespec0Ú updatevarsrªÚfindrWrßrXÚ namepatternr‰r"r�roÚget_parametersÚdetermineexprtyper€Ú real16patternÚfinditerÚstartrÚevalÚ SyntaxErrorÚ NameErrorÚ TypeErrorÚtypespattern4implicitÚ cracktypespecrÇÚordÚchrr�Ú isinstancer³Úappendmultiline)>rör?r0r2ÚnewnamerqrŠrór6r­Ú needmoduleÚ needinterfaceÚitr}Útr4ÚselectorÚattrÚedeclr�Ú last_namerçÚiÚplÚchr¹raÚapÚinitexprr‡ÚttÚvrðÚimplrzrbÚ kindselectÚ charselectrqr�ÚbegcÚendcÚoÚdlÚilrfÚfcÚinpr¹r1rïÚjÚllenÚclÚbnÚolÚ commonkeyÚmmÚisonlyròr$Úgcs> r)rYrYÙs"€ð �GŠG�F‰OŒO€EØ ˆ{ÒÐØÐÝñ�tÐ#GÐGÑGÝðHÝ!-°Ò!1Ð!1Ý”'×"Ò"¥?Ñ3Ô3×9Ò9¸#Ñ>Ô>¸qÔAˆÝØ QÐT[Ñ [ñ ]ô ]ð ]àˆ Ý# aÑ'ˆ Ø"+� •,ÑØ#%� •<Ñ Ø"$� •,ÑØ+-� •<Ô  Ñ(Ø+-� •<Ô  Ñ(Ø,5� •<Ô  Ñ)Ø+2� •<Ô  Ñ(Ø+4� •<Ô  Ñ(؈ Ø Ð+Ð+Ñ+à— ’ ‘ ” ˆÝ Œ8�O U­B¬DÑ 1Ô 1ð )Ø ˆEˆEÝ ŒXÐ(¨%µ´Ñ 6Ô 6ð )Ø#ˆEˆEÝ ŒXÐ-¨uµb´dÑ ;Ô ;ð )Ø(ˆEØ �FŠ?ˆ?Ý3°A·G²G¸GÑ4DÔ4DÑEÔE‰NˆD�%˜Ý59ÀUÐ5KÑ5KÔ5K�J•|Ô $ VÔ ,¨TÑ 2؈D؈FˆFå$;¸A¿GºGÀGÑÔ->� •<Ô  Ñ*Ý+5°dÑ+;Ô+;� •<Ô  Ñ(Ø-3� •<Ô  Ñ*Ý ˜1Ò Ð Ý/>�J•|Ô $ VÑ ,Ð ,åð `¥°Ò!2Ð!2å�|¨aÑ/Ô0°Ô8Ð8Ð8½/¸/ð4K• �<Ô(¨Ñ0Ð0õ�|¨aÑ/Ô0°Ô8Ð8Ð8½*Å\ÐTUÑEUÔ:VÐW]Ô:^Ð:^ð4`• �<Ô(¨Ñ0å•j¥Ô.×3Ò3Ñ5Ô5Ñ6Ô6ð 0ð 0ˆAÝ�lÔ+¨AÔ.ð 0Ý�|Ô,¨QÐ/øà+/� •<Ô  Ñ(Ø+-� •<Ô  Ñ(Ø02� •<Ô  Ñ-Ø13� •<Ô  Ñ.Ø+-� •<Ô  Ñ(Ø,.� •<Ô  Ñ)à �FŠ?ˆ?Ø35�J•|Ô $ ZÑ 0à Ð&Ð &Ð &Ø�:¥l°QÑ&6Ô7¸ ÔDÐDÐDÝ�<¨!Ñ+Ô,¨[Ô9×@Ò@ÀÑFÔFÐFÝ/3¬}Ý�<¨!Ñ+Ô,¨VÔ4ñ06ô06�J•|Ô $ VÑ ,ð Ý�|Ô,¨VÔ4°TÔ:Ý�|Ô,¨VÔ4°TÔ:¸:ÔF×LÒLÈZÑXÔXðZðZøåð ð ð Ø�ð øøøà Ð.Ð .Ñ .ð Ý9CÝ�|Ô,¨VÔ4°TÔ:½JÅ|ÐVWÑGWÔ˜>ÝAKÝ&¥|Ô4°VÔ<¸TÔBÅJÍ|ÔD\Ð]cÔDdÐekÔDlñBnôBn� ¥<Ô0°Ô8¸Ñ>ð Ý�<¨!Ñ+Ô,¨\Ô:×AÒAÀ$ÑGÔGÐGÐGøÝð ð ð Ø�ð øøøà �JÒ Ð Ý˜Q”×%Ò% a§g¢g¨hÑ&7Ô&7¸#Ñ&=ÀÑ&DÑEÔEˆAØð <Ý2@Ø—G’G˜F‘O”O Q§W¢W¨WÑ%5Ô%5ñ37ô37Ñ/�˜( D¨%å˜8 X¨t°UÑ;Ô;Ð;à Ð&Ð &Ð &Ý •l QÑ&Ô '× .Ò .­z½,Ô/GÑ HÔ HÐ HÝ6?Å Ô6M�I•l QÑ&Ô '¨Ô +¨FÑ 3Ý�,Ð'Ý'¨!Ñ+ˆLÝ •l QÑ&Ô '× .Ò .­z½,Ô/GÑ HÔ HÐ HÝ6?Å Ô6M�I•l QÑ&Ô '¨Ô +¨FÑ 3Ý�,Ð'Ý'¨!Ñ+ˆLˆLˆLð 'Ð &ð �ŠˆÝ#:¸1¿7º7À7Ñ;KÔ;KÑ#LÔ#LÑ ˆˆd�F˜DØ Ð Øð Ý ð"Nð"NÝ+9¸$Ñ+?Ô+?×+EÒ+EÀeÑ+LÔ+Lð"Nñ"Nô"NñOôO��ð�Ø�>�>¥4¨¡<¤<‘>”>�>Ø6:�J•|Ô $ WÔ -¨dÑ 3Ø '¨­|Ð<Ð Ð Ð ð Ð ð �ŠˆÝ*8Ø �1—7’7˜7Ñ#Ô#ñ+%ô+%Ñ'ˆ�(˜D %å˜x¨°4¸Ñ?Ô?ˆ Ø Ð Ø *¨Iµ|ÐDÐ Ð Ð ð !Ð à ÐnÐ nÑ nÝ�<Ô(¨Ô0ˆØ �WŠW�WÑ Ô × #Ò #Ñ %Ô %ˆØ �GŠG�D‰MŒMˆØ ˆqŠ5ˆ5�T˜XÒ%Ð%ݘrÑ"Ô"×'Ò'¨Ñ.Ô.°Ñ2ˆAØ�F�Q˜‘U�F”˜dÑ" R¨¨A©¨¨¤ZÑ/ˆBØ—’˜‘ ” ˆAØ�!�"�"Œv˜Š~ˆ~ &­Jµ|Ô,DÐ"DÐ"DÝ�ØŸš ™œ˜¨"¨R¨a¨R¬&¨&¨&ð2ñ3ô3ð3à˜#Ÿ(š(¥:­lÔ#;¸FÔ#CÑDÔDÑD�Ø ˆqŠ5ˆ5؈A؈BˆBà�B�Q�B”—’‘”ˆBØ�A˜‘E�F�F”ˆBÝ ˜BÑ Ô × %Ò % eÑ ,Ô ,ˆÝ ˆr‰7Œ7�QŠ;ˆ;Ø�A”ˆBÝ ÐoØ—’˜˜A˜B˜BœÑ Ô ñ"ñ #ô #ð #àˆ àEÐE¥^°BÑ%7Ô%7×%=Ò%=¸eÑ%DÔ%DÐEÑEÔEð5 ñ5 ˆAÝ×"Ò" 1Ñ%Ô%ˆBØð 1ØÐ0Ð0Ð0Ø�A�Aå˜!Ÿ+š+™-œ-Ñ(Ô(Ð(Ý�Gؘ˜�d 1™gœg˜g˜gð'ñ(ô(ð(àå˜rŸxšx¨Ñ/Ô/Ñ0Ô0�ØÐ,Ð,Ð,Ø�Z’� 1¨ Ò#4Ð#4Ø�R—X’X˜gÑ&Ô&Ñ&�ؘˆ~ˆ~Ø��a‘Ø�{Ò"Ð"ؘBŸHšH WÑ-Ô-Ñ-�Ø�xÒÑØ—W’W˜V‘_”_ rÑ)�Ý)×/Ò/°Ñ3Ô3ð=Ø¥ ­<Ô 8¸Ô @Ð@Ð@Ý'¨!Ò+Ð+Ø)µ½LÈ1ÑÐ>Ð>Ø<>•J�|Ô,¨[Ñ9Ý�<Ô(¨Ô5×<Ò<¸QÑ?Ô?Ð?؈I‰IØ+0� •<Ô  Ñ(Ø Ð Ø *¨Iµ|ÐDÐ Ð Ð ð !Ð à Ð"Ò "Ð "à <Ð < §¢¨Ñ 0Ô 0× 6Ò 6°sÑ ;Ô ;Ð <Ñ <Ô <õ •<Ô  Ñ1Ð1Ð1à �Ò Ñ Ý�<Ô(¨Ô0ˆØ �WŠW�WÑ Ô × #Ò #Ñ %Ô % a¨ dÔ +ˆØˆ Ý Ñ#Ô#×)Ò)¨%Ñ0Ô0ð$ ñ$ ˆAð Ø?Ð?°!·'²'¸#±,´,Ð?Ñ?Ô?‘ ��8�8øÝð ð ð Ý�ØhiÐhiÐhiÐkmÐkmÐkmÐnñpôpðpà�ð øøøõ$ EÑ*Ô*ˆFݘ1‘ ” ˆAؘˆ~ˆ~Ø��a‘Ø�e˜A”hˆˆ¨¨a¬°¬ ¸Ò(AÐ(AÝ�Ø�A�A�u˜Q”x ”}�}�} h h hð0ñ1ô1ð1å! (¨FÑ3Ô3ˆAØñ .Ø—5’5˜Ñ$Ô$¨Ò.Ð.ݘh™œ�BÝ*×3Ò3°HÑ=Ô=ðSðS˜Ý04Ø$ Q§W¢W¡Y¤Y¨q¯uªu©w¬wÐ%6Ô7×=Ò=Ñ?Ô?×GÒGÈÈSÑQÔQñ1Sô1S˜˜1Ÿ7š7™9œ9 Q§U¢U¡W¤WÐ,Ñ-Ð-à!Ÿwšw r™{œ{�H�HØ—U’U˜:Ñ&Ô&¨)Ò3Ð3Ø'¨¨¨œ|×1Ò1Ñ3Ô3×;Ò;¸CÀÑEÔEßš  WÑ-Ô-ðð ݘ 2 vÑ.Ô.��øÝ¥­IÐ6ð ð ð Ý�Ø#˜8˜8 S S Sð*ñ+ô+ð+à���‘øøøøð øøøõ! ™GœGˆE�!ŒH�S‰MؘU 1œXÐ%Ð%Ø�a”˜Ô$×+Ò+¨KÑ8Ô8Ð8Ð8à(3 }��a”˜Ñ$؈I‰IØ+0� •<Ô  Ñ(Ø Ð Ø *¨Iµ|ÐDÐ Ð Ð ð !Ð à �Ò Ñ Ø �7Š7�7Ñ Ô × !Ò !Ñ #Ô #× )Ò )Ñ +Ô +¨vÒ 5Ð 5Ø37�J•|Ô $ ZÑ 0Ð 0Ð 0Ø �WŠW�WÑ Ô ñ1 8Ø�Z­ Ô5Ð5Ð5Ý!¥,Ô/° Ô;��à�؈|ÝØSñUôUðUà�Ý# A§G¢G¨GÑ$4Ô$4Ñ5Ô5×;Ò;¸EÑBÔBð' ,ñ' ,�Ø�Ý”XØPÐRSÕUWÔUYñ[ô[�àðÝØ_ÐcdÑeñgôgðgàÝ*×0Ò0°·²¸&Ñ1AÔ1AÑBÔB�ØðÝØhÐlmÑnñpôpðpàÝ2@Ø—H’H˜VÑ$Ô$ b§h¢h¨wÑ&7Ô&7ñ39ô39Ñ/�˜( D¨%å3@ؘhñ4(ô4(Ñ0� ˜J¨à#+��ZÑ Ø'1��^Ñ$Ø'1��^Ñ$Ø#+��ZÑ Ý˜dŸiši™kœkÑ*Ô*ð$ð$�AØ œ7ð$Ø  ˜GøÝ'¨¯ª°Ñ(9Ô(9Ñ:Ô:×@Ò@ÀÑGÔGð,ð,�Aؘa�x�xð%Ø)JÐ)J¸Q¿WºWÀS¹\¼\Ð)JÑ)JÔ)J™J˜D $ $øÝ(ð%ð%ð%Ý#Ø }ðABñ!BñCôCðCà$˜Hð%øøøð '(§g¢g¡i¤iÐ/˜˜tݘt™9œ9­¨D© ¬ Ð6Ð6Ò6Ð6°QÒ6Ð6Ð6Ð6ÝØ}ðABñBñCôCðCà Ý"¥3 t¡9¤9­c°$©i¬i¸!©mÑ<Ô<ð,ð,˜Ø'+˜�S ™VœV™ ˜ ð,ñ,ð 48�J•|Ô $ ZÑ 0Ð 0Ð 0ðc1 8ð1 8ðd �Š‰Ø ˆØ ˆØ ˆØ ˆØ ˆØˆØ—’˜Ñ!Ô!ð ð ˆAØð ؘ’8�8ؘ�Bؘ’8�8 �8ؘA™�AØØ�CŠxˆxؘA‘g��Ø�c’�ؘA‘g�Ø�AŠvˆvؘ!‘V��Ø�a’�ؘ!‘V��Ø�a’�Ø—X’X‘Z”Z�Ø—=’= Ñ%Ô%ð(ؘA˜B˜BœŸš™œ�BØ— ’ ˜2˜r˜(Ñ#Ô#Ð#Ø�Ø�Ø�øØ �Š6ˆ6Ø—’‘”ˆBØ�}Š}˜SÑ!Ô!ð $ؘ˜˜”V—\’\‘^”^�Ø �IŠI�r˜2�hÑ Ô Ð ØˆØ •Z¥ Ô-Ð -Ð -Ý�lÔ+¨FÔ3ˆD؈ Øð ñ ˆAØ&Ð& AÐ&Ñ&Ô&ˆAØ�Œt�AŒw˜#Š~ˆ~ؘ”t˜A˜B˜B”x��!‘Ø�Œt�AŒw˜#Š~ˆ~ÝØUÐXYÐZ[ÔX\Ñ\ñ^ô^ð^àØˆA؈AÝ�q˜”t‘9”9ˆDÝÐUÐUµ>À!ÀAÄ$Ñ3GÔ3G×3MÒ3MÈeÑ3TÔ3TÐUÑUÔUÑVÔVð ñ �Ø�Q”4˜3’;�;ÝØYÐ\]Ñ]ñ_ô_ð_ð Ø�ؘ4’x�x b�x°°!´°Q´¸3²°Ø˜”t˜A”w #’~�~Ø!#˜V˜Ø˜A™�Að˜4’x�x b�x°°!´°Q´¸3²°ð˜‘E�ؘD�=�=Ø �D˜‘Gؘ$˜qœ'�>�>¨$¨q¬'°#¬,¸!¸A¼$¸qÀÀQÁ¸w¼-Ò*GÐ*GÝ�Gؘ˜˜4 œ7 3œ<˜<˜<¨¨1¬¨a°°A±¨g¬¨¨ð8ñ9ô9ð9à  œt A a¨!¡e Gœ}��Q”˜‘ Ø�Ø� ‘ ñ+ ð,,0� •<Ô  Ñ(Ø Ð Ø *¨Iµ|ÐDÐ Ð Ð ð !Ð à �Ò Ñ Ø�wŠw�wÑÔ×%Ò%Ñ'Ô'ˆØ�AŒw˜#Š~ˆ~ؘ$‘;ˆDØ ˆØ ˆØ ˆØ ˆØð ð ˆAØ�CŠxˆxؘ‘E�ØØ�AŠvˆvØ—X’X‘Z”Z�Øð"Ø!�BØ— ’ ˜2˜r˜(Ñ#Ô#Ð#ؘ‘E�Ø�Ø�Ø�1‰uð Ø˜!‘V��à˜!‘V��Ø �XŠX‰ZŒZˆØð ؈BØ � Š �2�r�(ÑÔÐØˆ Ø •z¥,Ô/Ð /Ð /Ý"¥<Ô0°Ô:ˆIØð .ð .ˆAØ�Œt˜9Ð$Ð$Ø"$� ˜!˜Aœ$‘ØKÐK­¸¸!¼Ñ)=Ô)=×)CÒ)CÀEÑ)JÔ)JÐKÑKÔKð .ð .�Øð.ؘa œd”O×*Ò*¨1Ñ-Ô-Ð-øð .ð.7� •<Ô  Ñ*Ø$ b­,Ð7ÐÐÐØ �Š‰Ý ŒXØ aÐcd×cjÒcjÐkrÑcsÔcsÕuwÔuyñ{ô{ˆà ñ IØ—’‘”ˆBØ�J¥|Ô4Ð4Ð4Ø24• �<Ô(¨Ñ/Ø—8’8˜FÑ#Ô#ˆDØ46�J•|Ô $ UÔ +¨DÑ 1؈Fؘˆ|‰|  6¤ Ñ 6Ø �?�? r¨)¤}Ð'<Ø�FØ@F• �<Ô(¨Ô/°Ô5°fÑ=Ø?Ð?¨¨F¬×)9Ò)9¸#Ñ)>Ô)>Ð?Ñ?Ô?�Ø�Øð Fð F�Aؘa�x�xÝœXØVÐXYÕ[]Ô[_ñaôa˜àð_Ø<>¿HºHØ %ñ='ô='ß',¢u¡w¤wð˜rŸxšx¨Ñ0Ô0×6Ò6Ñ8Ô8Ñ9Ð9õ$Ø SÕVZÐ[\ÑV]ÔV]Ñ ]ñ_ô_ð_ð_ð!"˜˜1™ØCE•J�|Ô,¨UÔ3°DÔ9¸%Ñ@Ð@ð Fð Fð�å �!—+’+‘-”-Ñ Ô Ð Ý ÐGÑ HÔ HÐ HÐ HÐ HØ Ð%Ð %Ð %Ø ¥Zµ Ô%=Ð =Ð =Ø;=�J•|Ô $Ð%7Ñ 8Ý •|Ô $Ð%7Ô 8ˆØ �7Š7�6‰?Œ?˜jÒ (Ð (¨Z¸1¨_¨_ݘ!˜Jœ-­Ñ-Ô-ð 0Ø!" :¤ ��*‘ Ø ˆjŒM× Ò  §¢¨Ñ!1Ô!1Ñ 2Ô 2Ð 2Ð 2Ð 2à!"§¢¨Ñ!1Ô!1ˆAˆa�gŠg�f‰oŒoÑ Ð Ð Ø �Ò Ð Ý Ð #Ýð JÝÐHÑIÔIÐIØ ˆFÝ ˆÝ�  2œÝ(¨¨!¨Ô,ØŸš ™œñ )ô )ð )ð )ð )õ �QŠ;ˆ;Ý �!—+’+‘-”-Ñ Ô Ð Ý ÐBÑ CÔ CÐ CÐ CÐ Cð ˆ;sˆâ3Adä dädäA$fæ fæfè.i é iéiÁK"AK#ÁK# ALÁLALÁSASÁSATÁS0AT ÁT ATÁ^?"A_"Á_"A`Á`A`cóp—d|vri|d<|d}||vrg||<|| |¦«dS)NÚf2pymultilines©r*)rØÚ context_nameÚmlr$s r)rârâ sT€Ø˜uÐ$Ð$Ø"$ˆÐÑØ ÐÔ€Aؘ1ÐÐØˆˆ,‰Ø€l„O×Ò˜2ÑÔÐØ €Fr(có²—d}d}tjd|tj¦«rd}nItjd|tj¦«rd}n&| ¦« ¦«}t  t |¦«¦«}|std¦«dS| ¦«}t|  ¦«¦«D]}t||¦«||<Œ|dvr|d}|d}|  d ¦«}|d kr)|d|… ¦«}||d zd…}||||fS) Nzdouble\s*complexúdouble complexzdouble\s*precisionzdouble precisionz>cracktypespec0: no kind/char_selector pattern found for line. )rºr7Úlogicalr5Ú characterrhr9rr¬rr3) rÄr×rÆrªr¥Ú selectpatternrWr2r"rurvrkrÒ)r4rçrèrérar$r}rìs r)rÐrÐsS€Ø€HØ €DÝ „xÐ# X­r¬tÑ4Ô4ð,Ø#ˆˆÝ ŒÐ'¨µ2´4Ñ 8Ô 8ð,Ø%ˆˆà—>’>Ñ#Ô#×)Ò)Ñ+Ô+ˆÝ × Ò �^¨BÑ/Ô/Ñ 0Ô 0€BØ ðÝØ Mñ Oô Oð OàˆØ � Š ‰Œ€AÝ �!—&’&‘(”(‰^Œ^ð&ð&ˆÝ  !¤Ñ%Ô%ˆˆ!‰ˆØÐQÐQÐQØ�V”9ˆØ ˆwŒZˆØ �Š�‰ Œ €A؈A‚v€vØ�"�1�"Œv�|Š|‰~Œ~ˆØ ��A‘��ŒZˆØ �X˜t RÐ 'Ð'r(z)\s*(?P\b\w+\b)\s*(?P.*)\s*\ZzB\s*(\(\s*(kind\s*=)?\s*(?P.*)\s*\)|\*\s*(?P.*?))\s*\Zz2\s*(\((?P.*)\)|\*\s*(?P.*))\s*\Zz§\s*(kind\s*=\s*(?P.*?)\s*(@,@\s*len\s*=\s*(?P.*)|)|(len\s*=\s*|)(?P.*?)\s*(@,@\s*(kind\s*=\s*|)(?P.*)|(f2py_len\s*=\s*(?P.*))|))\s*\Zz¿\s*(@\(@\s*(?!/)\s*(?P.*?)\s*@\)@\s*\*\s*(?P.*?)|(\*\s*(?P.*?)|)\s*(@\(@\s*(?!/)\s*(?P.*?)\s*@\)@|))\s*(=\s*(?P.*?)|(@\(@|)/\s*(?P.*?)\s*/(@\)@|)|)\s*\Zcó(—| ¦«}t|¦«dkr|S|d}tdt|¦«dz ¦«D]4}||dkr||dzdvs ||dz dvrŒ)|||z}Œ5||dz}|S)Nrrr±z ()[]{}=+-/* r )rªrXrÇ)ÚexprÚexpr2rìs r)Ú removespacesr;s§€Ø �:Š:‰<Œ<€DÝ ˆ4�y„y�A‚~€~؈ Ø �ŒG€EÝ �1•c˜$‘i”i !‘mÑ $Ô $ð ð ˆØ �ŒG�sŠNˆNØ�1�q‘5Œk˜^Ð+Ð+Ø�a˜!‘e” Ð.Ð.Ø Ø˜˜Qœ‘ˆˆØ �D˜”HÑ €EØ €Lr(có’—d}d}d}d}|D];}|dkr |dvr||z }|}Œ|s|dvr|}||kr| }n|dkr|r|dz }Œ4||z }|}Œ<|S) a( The function replace all spaces in the input variable line which are surrounded with quotation marks, with the triplet "@_@". For instance, for the input "a 'b c'" the function returns "a 'b@_@c'" Parameters ---------- line : str Returns ------- str r FNú\)rr¾ú")r¾rr±ú@_@r')r0ÚfragmentÚinsideÚ current_quoteÚescapedr¹s r)ÚmarkinnerspacesrJs¦€ð €HØ €FØ€MØ€GØ ð ð ˆØ �dŠ?ˆ?˜qÐ$5Ð5Ð5Ø ˜‰MˆH؈GØ Øð ˜!˜{Ð*Ð*؈MØ � Ò Ð Ø�ZˆFˆFØ �#ŠXˆX˜&ˆXØ ˜Ñ ˆHØ Ø�A‰ ˆØˆˆØ €Or(cóÊ—d}t||¦«\}}}|r¹d„t|¦« d¦«D¦«}g}tjd¦«} |D]r} | sŒ|  | ¦«} | rA|  d¦« ¦«} | | t| ¦«d…z} |  | ¦«Œs|}d„t|¦« d¦«D¦«} g}| D]x}d„ttt|¦«¦«d¬¦« d ¦«D¦«D]-}|r)|  |  d d¦«¦«Œ.Œy|D�]ä}t |¦«} | s td t|¦«z¦«Œ?t!|  d ¦«¦«}i}|t"t$d v�r^t"t$d | ¦«}d|v}|r||d<n-|r+||dkstd|›d|d›d|›d�¦«d|vrt'j|¦«|d<nš|r˜t)| ¦«¦«D]v}||dvrG|||d|ks/td|›d|›d|d|›d||›d� ¦«ŒSt'j||¦«|d|<Œwd|vr!|r|r||d<n±t-d|›d|›d�¦«nš|r˜t)| ¦«¦«D]v}||dvrG|||d|ks/td|›d|›d|d|›d||›d� ¦«ŒSt'j||¦«|d|<Œwd|vr||d<n-|r+|d|kstd|›d|d›d|›d�¦«d|vrt'j|¦«|d<nŽ|r*|D]'} | |dvr|d  | ¦«Œ(nat'j|¦«|d<t'j|¦«|d<t'j|¦«|d<||d<t'j|¦«|d<d| d¦«pgvrn|t"t$dvrTd t"t$vrgt"t$d <t"t$d   |¦«|  d!¦«�rt0 t3|  d!¦«¦«¦«}|�r| ¦«}d"D]!}||d#z�||d#z||<||d#z=Œ"t)| ¦«¦«D]&}||�t7||¦«||<Œ#||=Œ'd$|vrh|d%vr&d|vs|dsi|d<|d$|dd&<|d$=n>|d'kr8d|vs|dsi|d<d$|dvr |dd$=|d$|dd&<|d$=d(|vrGd)|vr8|d)|d(ks&td*|›d|d)›d|d(›d�¦«n |d(|d)<d$|vr^d+|vrZ|d$d,kr|d+|d$<|d+=n?|d+d-z|d$z|d+<|d$=t-d.|›d|›d/|›d|›d0|d+›d1� ¦«d+|vr|d2|d+z}d|vs|ds|g|d<n‡|d  |¦«|dD]:}|dd3…d4kr*||kr$|dd5=t-d|›d6|›d7|›d�¦«nŒ;n(td8||  d!¦«zz¦«t)| ¦«¦«D] }||s||=Œ|t"t$d |<d9t"t$vr+t"t$d9  |¦«|}�Œæ|S):Ncó6—g|]}| ¦«‘ŒSr'ržrŸs r)rxzupdatevars..us €ÐMÐMÐM !�A—G’G‘I”IÐMÐMÐMr(r&z(?P[a-zA-Z]+)rØcó6—g|]}| ¦«‘ŒSr'ržrŸs r)rxzupdatevars..�s €Ð EÐ EÐ E˜ˆ!�'Š'‰)Œ)Ð EÐ EÐ Er(có6—g|]}| ¦«‘ŒSr'ržrŸs r)rxzupdatevars..„s €ÐoÐoÐo �1—7’7‘9”9ÐoÐoÐor(r±©riz@ @rz;updatevars: no name pattern found for entity=%s. Skipping. rqr1r4z+updatevars: attempt to change the type of "r¸rÂz ". Ignoring. rnz0updatevars: attempt to change the kindselector "r¶roz updatevars:z*: attempt to change empty charselector to rÂz0updatevars: attempt to change the charselector "rqz/updatevars: attempt to change the typename of "rmrr6r4r)rXÚarrayÚinitÚ2rX©rºr7r r5rrr#rpz6updatevars: attempt to change the init expression of "r"r r'z updatevars: "z" is mapped to "r7z)" ú dimension(%s)é rr z: attempt to change r²z?updatevars: could not crack entity declaration "%s". Ignoring. r¨)rÞr(r)rÄrÅr×rØr¥rXr*rrrÕrÓr2rÓrrr>rrÎrurvror€ÚlenarraypatternrWr"rk)r4rèrmÚ entitydeclrërôrõrqrïr¹r,röÚsÚelÚel1r¹Úe1ÚenamerêÚnot_has_typespecr}raÚd1ÚlkÚdmÚdm1s r)rÑrÑos, €ð€IÝ'4°X¸xÑ'HÔ'HÑ$€J� ˜HØð ØMÐM¥~°hÑ'?Ô'?×'EÒ'EÀeÑ'LÔ'LÐMÑMÔMˆØ ˆÝ ŒJÐ.Ñ /Ô /ˆØð ð ˆAØð ØØ—’˜‘ ” ˆAØð #Ø—G’G˜GÑ$Ô$×*Ò*Ñ,Ô,�ؘ�#˜a™&œ&˜'˜'œ ‘N�Ø �HŠH�Q‰KŒKˆKˆKØˆØ EÐ E�^¨JÑ7Ô7×=Ò=¸eÑDÔDÐ EÑ EÔ E€BØ €CØ ð3ð3ˆØoÐo¥nµ\Å/ÐRSÑBTÔBTÑ5UÔ5UÐ]`Ð&aÑ&aÔ&a×&gÒ&gÐhmÑ&nÔ&nÐoÑoÔoð 3ð 3ˆBØð 3Ø— ’ ˜2Ÿ:š: e¨SÑ1Ô1Ñ2Ô2Ð2øð 3ðð~ñ~ˆÝ × Ò ˜aÑ Ô ˆØð Ý ØNÕRVÐWXÑRYÔRYÑZñ \ô \ð \à ݘ1Ÿ7š7 6™?œ?Ñ+Ô+ˆØˆØ •J�|Ô,¨VÔ4Ð 4Ñ 4Ý�|Ô,¨VÔ4°UÔ;×@Ò@ÑBÔBˆEØ)°Ð6Ð Øð 9Ø$,��jÑ!Ð!Øð 9 8¨u°ZÔ/@Ò#@Ð#@Ý�Ø�E�E˜5 Ô,Ð,Ð,¨h¨h¨hð8ñ9ô9ð9à UÐ*Ð*Ý(,¬ °*Ñ(=Ô(=��nÑ%Ð%Øð LݘjŸošoÑ/Ô/Ñ0Ô0ðLðL�AؘE .Ô1Ð1Ð1¸:Àa¼=ÈEÐR`ÔLaÐbcÔLdÒ;dÐ;dݘؘA˜A˜u˜u˜u e¨NÔ&;¸AÔ&>Ð&>Ð&>À È1Ä À À ð!OñPôPðPðPõ48´9¸Zȼ]Ñ3KÔ3K˜˜nÔ-¨aÑ0Ð0Ø UÐ*Ð*¨zÐ*Ø#ð3Ø,6�E˜.Ñ)Ð)å�GØ$˜u˜u j j jð2ñ3ô3ð3ð3àð LݘjŸošoÑ/Ô/Ñ0Ô0ðLðL�AؘE .Ô1Ð1Ð1¸:Àa¼=ÈEÐR`ÔLaÐbcÔLdÒ;dÐ;dݘؘA˜A˜u˜u˜u e¨NÔ&;¸AÔ&>Ð&>Ð&>À È1Ä À À ð!OñPôPðPðPõ48´9¸Zȼ]Ñ3KÔ3K˜˜nÔ-¨aÑ0Ð0Ø Ð&Ð&Ø$,��jÑ!Ð!Øð 9 5¨Ô#4¸Ò#@Ð#@Ý�Ø�E�E˜5 Ô,Ð,Ð,¨h¨h¨hð8ñ9ô9ð9à Ð&Ð&Ý$(¤I¨hÑ$7Ô$7��jÑ!Ð!Øð 4Ø!ð4ð4�AØ  jÔ 1Ð1Ð1ؘjÔ)×0Ò0°Ñ3Ô3Ð3øøå $¤ ¨(Ñ 3Ô 3ˆE�*Ñ Ý$(¤I¨jÑ$9Ô$9ˆE�.Ñ !Ý$(¤I¨jÑ$9Ô$9ˆE�.Ñ !Ø (ˆE�*Ñ Ý $¤ ¨(Ñ 3Ô 3ˆE�*Ñ Ø ˜%Ÿ)š) JÑ/Ô/Ð5°2Ð 6Ð 6¸1Å Í<Ô@XÐY_Ô@`Ð;`Ð;`Ø¥*­\Ô":Ð:Ð:Ø8:• �<Ô(¨Ñ5Ý •|Ô $ [Ô 1× 8Ò 8¸Ñ ;Ô ;Ð ;Ø �7Š7�7Ñ Ô ñ< /Ý ×&Ò&¥~°a·g²g¸gÑ6FÔ6FÑ'GÔ'GÑHÔHˆBØñ: /Ø—\’\‘^”^�Ø2ð)ð)�Bؘ"˜s™(”|Ð/Ø!# B¨¡H¤˜˜2™Ø˜r C™x˜LøÝ˜bŸgšg™iœi™œð"ð"�Aؘ!”uÐ(Ý 0°°A´Ñ 7Ô 7˜˜1™˜à˜q˜E˜Eà˜B�;�;ØÐ#LÐLÐLØ*°%Ð7Ð7ÀÀ~ÔAVÐ7Ø46˜E .Ñ1Ø57¸´Y˜˜nÔ-¨cÑ2ؘu˜I˜IØ! [Ò0Ð0Ø*°%Ð7Ð7ÀÀ~ÔAVÐ7Ø46˜E .Ñ1Ø  E¨.Ô$9Ð9Ð9Ø % nÔ 5°eÐ <Ø57¸´Y˜˜nÔ-¨cÑ2ؘu˜Ià˜R�<�<ؘe�|�|¨U°3¬Z¸2¸f¼:Ò-EÐ-EݘØ!˜E˜E 5¨¤: : :¨r°&¬z¨z¨zð!;ñ<ô<ð<ð<ð&(¨¤Z˜˜c™ à˜B�;�; 7¨b = =ؘ%”y B’�Ø$& w¤K˜˜5™ ؘw˜K˜Kà&(¨¤k°CÑ&7¸"¸U¼)Ñ&C˜˜7™ ؘu˜IݘØ$˜H˜H a a a¨¨¨°5°5°5¸"¸W¼+¸+¸+ð!GñHôHðHð˜b�=�=Ø(¨2¨g¬;Ñ6�BØ!¨Ð.Ð.°u¸ZÔ7HÐ.Ø-/¨D˜˜jÑ)Ð)à˜jÔ)×0Ò0°Ñ4Ô4Ð4Ø#(¨Ô#4ð&ð&˜CØ" 2 A 2œw¨+Ò5Ð5¸#Àº)¸)Ø$)¨*Ô$5°bÐ$9Ý ' Ø+0¨5¨5°#°#°#°r°r°rð);ñ!<ô!<ð!<à % øøõÐZؘAŸGšG GÑ,Ô,Ñ,ñ.ñ/ô/ð/å�e—j’j‘l”lÑ#Ô#ð ð ˆAؘ”8ð Ø˜!�HøØ27� •<Ô  Ô(¨Ñ/Ø �¥LÔ1Ð 1Ð 1Ý •|Ô $ ZÔ 0× 7Ò 7¸Ñ >Ô >Ð >؈ ‰ Ø Ðr(cór—d}d}d}|�rª|dvrÉt |¦«}|s!tdt|¦«z¦«dS| ¦«}|d|d<|d=t | ¦«¦«D] }||s||=Œt | ¦«¦«D]\}}t|¦«||<Œ�nÝ|dk�rVt |¦«}|s!tdt|¦«z¦«dS| ¦«}|d|d<|d=|drƒt t|d¦«¦«}| ¦«}d D],}||d zr||d z||<||||<||d z=Œ-|d � |d |d <|d=t | ¦«¦«D] }||s||=Œt | ¦«¦«D]\}}t|¦«||<Œn€|d kr[tjd |tj ¦«}|r| d¦«}nBtdt||z¦«z¦«ntdt|¦«z¦«|||fS)Nr%z4cracktypespec: no kindselector pattern found for %s Úkind2rrz4cracktypespec: no charselector pattern found for %s ÚcharlenÚlenkind)rXÚkindr$Úf2py_lenrhz\s*\(\s*(?P\w+)\s*\)rqz'cracktypespec: no typename found in %s z'cracktypespec: no selector used for %s )rnr×r2rÓr"rurvÚitemsrrroÚlenkindpatternr(rÄrÆrØ) r4rèrôrõrqr}rìr7r1s r)rÞrÞ s;€Ø€JØ€JØ€HØñ3&Ø Ð@Ð @Ð @Ý%×+Ò+¨HÑ5Ô5ˆJØð ÝØKÍtÐT\É~Ì~Ñ^ñ`ô`ð`à�Ø#×-Ò-Ñ/Ô/ˆJØ(¨Ô1ˆJ�s‰Oؘ7Ð#ݘ*Ÿ/š/Ñ+Ô+Ñ,Ô,ð &ð &�Ø! !”}ð&Ø" 1˜ øÝ˜Z×-Ò-Ñ/Ô/Ñ0Ô0ð .ð .‘��1Ý *¨1¡ ¤ � ˜1‘ � ñ .à ˜Ò $Ñ $Ý%×+Ò+¨HÑ5Ô5ˆJØð ÝØKÍtÐT\É~Ì~Ñ^ñ`ô`ð`à�Ø#×-Ò-Ñ/Ô/ˆJØ(¨Ô3ˆJ�s‰Oؘ9Ð%ؘ)Ô$ð AÝ(×.Ò.Ý" :¨iÔ#8Ñ9Ô9ñ;ô;�à!×+Ò+Ñ-Ô-�Ø)ð*ð*�Bؘr C™xÔ(ð8Ø&-¨b°3©hÔ&7˜ ™ Ø%,¨R¤[�J˜r‘NØ  S¡Ð)Ð)ؘ:Ô&Ð2à-4°ZÔ-@�J˜zÑ*ؘ9Ð%ݘ*Ÿ/š/Ñ+Ô+Ñ,Ô,ð &ð &�Ø! !”}ð&Ø" 1˜ øÝ˜Z×-Ò-Ñ/Ô/Ñ0Ô0ð .ð .‘��1Ý *¨1¡ ¤ � ˜1‘ � ð .à ˜Ò Ð Ý”xÐ =¸xÍÌÑNÔNˆHØð 5Ø#Ÿ>š>¨&Ñ1Ô1��åÐBݘh¨Ñ1Ñ2Ô2ñ4ñ5ô5ð5ð5õ Ð>ݘ(‘^”^ñ%ñ &ô &ð &à �z 8Ð +Ð+r(có—|si}|s|Sd|vr|g|d<|S|r|d |¦«||dvr|S|dkr&d|dvr|d |¦«nŸ|dkr&d|dvr|d |¦«ns|dkr&d|dvr|d |¦«nG|dkr&d|dvr|d |¦«n|d |¦«|S)NrmrJÚ automaticr r r)rzrér|s r)rwrwEsb€Ø ðØˆØ ðØˆ Ø˜ÐÐØ ˜6ˆˆZÑØˆ Ø ð&Ø ˆZÔ×Ò Ñ%Ô%Ð%Ø ˆt�JÔÐÐØˆ Ø ˆxÒИK¨t°JÔ/?Ð?Ð?Ø ˆZÔ×Ò Ñ%Ô%Ð%Ð%Ø �Ò Ð  °°jÔ1AÐ!AÐ!AØ ˆZÔ×Ò Ñ%Ô%Ð%Ð%Ø �Ò Ð Ø ˜D Ô,Ð ,Ð ,Ø �Ô × #Ò # DÑ )Ô )Ð )øØ �Ò Ð Ø ˜4  Ô+Ð +Ð +Ø �Ô × #Ò # DÑ )Ô )Ð )øà ˆZÔ×Ò Ñ%Ô%Ð%Ø €Kr(có®—|si}|s|Sd|vr||d<|St| ¦«¦«D]}|s ||dvr|||d|<Œ |S)Nrn©rurv©rzÚselr|r}s r)rxrx`s…€Ø ðØˆØ ðØˆ Ø˜TÐ!Ð!Ø"ˆˆ^ÑØˆ Ý �#—(’(‘*”*Ñ Ô ð-ð-ˆØ ð -�A˜T .Ô1Ð1Ð1Ø&)¨!¤fˆD�Ô  Ñ #øØ €Kr(có®—|si}|s|Sd|vr||d<|St| ¦«¦«D]}|s ||dvr|||d|<Œ |S)Nror?r@s r)ryryns…€Ø ðØˆØ ðØˆ Ø˜TÐ!Ð!Ø"ˆˆ^ÑØˆ å �#—(’(‘*”*Ñ Ô ð-ð-ˆØ ð -�A˜T .Ô1Ð1Ð1Ø&)¨!¤fˆD�Ô  Ñ #øØ €Kr(Úunknowncó—d|vr|dS|S)Nrqr')r2rCs r)Ú getblocknamerE}s€Ø �€€Ø�VŒ}ÐØ €Nr(cóR—d|d›d|d›d�adS#t$rYdSwxYw)NzIn: r—r¤rqr¿)r rË)r2s r)Ú setmesstextrG…sJ€ð Ø,1°&¬M¨M¨M¸5À¼=¸=¸=ÐIÐÐÐøÝ ð ð ð Ø ˆˆð øøøs �˜ &¥&cóz—i}d|vrt|d¦«}d|vr| |d¦«|S)NÚ parent_blockr)Ú get_usedictÚupdate)r2Úusedicts r)rJrJŽsH€Ø€GؘÐÐݘe NÔ3Ñ4Ô4ˆØ �€~€~Ø�Š�u˜U”|Ñ$Ô$Ð$Ø €Nr(c ó6—|€i}t|¦«}|s|St| ¦«¦«D]ß\}}| ¦«}|tvr*t d|›d| d¦«›d�¦«ŒLt|}t|¦«}|sŒk|rtd|z¦«t| ¦«¦«D]>\}}||vr0t dt|¦«›dt|¦«›d�¦«|||<Œ?Œà|S)Nzget_useparameters: no module z info used by rqr¿z,get_useparameters: mapping for %s not impl. z(get_useparameters: overriding parameter z with value from module ) rJrur:r¥rr2r€rÔrorÓ) r2Ú param_maprLÚusenameÚmappingÚmvarsr‡r}ròs r)Úget_useparametersrR—sV€ðÐØˆ ݘ%Ñ Ô €GØ ðØÐÝ  §¢¡¤Ñ1Ô1ððш�Ø—-’-‘/”/ˆØ �-Ð 'Ð 'Ý ˆGØ�W�W˜eŸiši¨Ñ/Ô/Ð/Ð/ð1ñ 2ô 2ð 2à ݘgÔ&ˆÝ Ñ&Ô&ˆØð Ø à ð QÝ ÐCÀwÑOÑ PÔ PÐ PݘŸš™œÑ(Ô(ð ð ‰DˆAˆqØ�Iˆ~ˆ~Ý�Ý59¸!±W´W°W°W½dÀ7¹m¼m¸m¸mðMñNôNðNàˆI�a‰LˆLð  ð Ðr(cóÖ‡‡—ts|St|t¦«rˆˆfd„|D¦«}|St|¦«t ‰›d|d›d�d¦«‰€t |¦«Š‰�_d|vr[|d}t| ¦«¦«D]1}||}d|vr#|d}d|vr|d}|‰vr ‰||d<Œ2ˆˆfd „|d D¦«} | |d <|S) Ncó:•—g|]}t|‰dz‰¬¦«‘ŒS©r )ÚtabrN©Ú postcrack2)rvÚgrNrVs €€r)rxzpostcrack2..»s<ø€ðððØõ˜!  t¡°yÐAÑAÔAðððr(úBlock: rqr¿rr1rnr8có:•—g|]}t|‰dz‰¬¦«‘ŒSrUrW)rvÚbrNrVs €€r)rxzpostcrack2..Îs<ø€ð(ð(ð(Øõ˜1 #¨¡*¸ ÐBÑBÔBð(ð(ð(r(r0)rrárurGr2rRrv) r2rVrNÚretr1r®Úvarr8ÚvalÚnew_bodys `` r)rXrXµsWøø€õ ðØˆ Ý�%�ÑÔððððððØðñôˆàˆ Ý�ÑÔÐÝ ˜s˜s˜s E¨&¤M M MÐ 2°AÑ6Ô6Ð6àÐÝ% eÑ,Ô,ˆ àР¨5  Ø�VŒ}ˆÝ�d—i’i‘k”kÑ"Ô"ð 6ð 6ˆAØ�q”'ˆCØ Ð$Ð$ؘ>Ô*�ؘT�>�>ؘvœ,�CؘiÐ'Ð'Ø'0°¤~˜˜V™ øð(ð(ð(ð(ð(ؘvœð(ñ(ô(€Hà€Eˆ&�Mà €Lr(có¶—t|t¦«rjg}g}|D]^}t|¦«t||dz¬¦«}d|vr d|dvr| |¦«ŒI| |¦«Œ_||zSt|¦«t|t ¦«s#d|vrt dt|¦«z¦«‚d|vr(|ddkst|›d|d›d �d ¦«t|¦«}t|¦«}t|¦«|d <t|d ¦«|d <d |vr|d r|d }t|||¬¦«|d<g}d|vrF|d}t| ¦«¦«D]}d|vr| |¦«Œni}d} d|vr|d} d|v�r�|d�r„g} d|vr|d} tj|d ¦«} | r| dz} nd} | |vr d} d| | fz|vr| dz} d| | fz|v°d| | fz} dgi| dzdœ}|dD]Ø}|| vr¨g}d}|dD]}|dz}|ddkrld} |dD]6}| dz} d|vr+|d|krtj|¦«}|d| =nŒ7|r)|ds |d|=| |  |¦«=nŒ€|d |¦«Œ®|| vr&t#| |¦«s| ||d |<ŒÙ|d s|dr3| |d<d|gi| |ddœ}i|| <t$ |¦«|r||d<|S)zi TODO: function return values determine expression types if in argument list r ©rVrqr±r2z0postcrack: Expected block dictionary instead of r£rZr¿rr1Úsortvarsr6r0rr r4r5Ú__user__routinesÚunknown__user__routinesrz%s_%irœÚ_user_interface)r2r0r1rqr r™)r2r0r1rqr5)rárurGÚ postcrackr*rÌrËr³r2Ú analyzeargsÚ analyzecommonÚ analyzevarsÚ sortvarnamesÚ analyzebodyrvrÎr[Ú isexternalr)r2r6rVÚgretÚuretrYÚ userisdefinedÚuseblockr}rqr5rQÚmnamerìrœr¹Úedefrýr\ÚbbÚmblocks r)rgrgÕst€õ�%�ÑÔð ØˆØˆØð ð ˆAÝ ˜‰NŒNˆNݘ!  t¡Ð,Ñ,Ô,ˆAà˜ˆ{ˆ{˜z¨Q¨v¬YÐ6Ð6Ø— ’ ˜A‘”��à— ’ ˜A‘”��Ø�d‰{ÐÝ�ÑÔÐÝ �e�TÑ "Ô "ð$ w°eÐ';Ð';ÝÐJݘE™ œ ñ#ñ$ô$ð $à �€€˜u Vœ}Ð0CÒCÐCÝ 3 3 3¨¨f¬ ¨ ¨ Ð6¸Ñ:Ô:Ð:Ý ˜Ñ Ô €EÝ ˜%Ñ Ô €EÝ Ñ&Ô&€Eˆ&�MÝ$ U¨6¤]Ñ3Ô3€Eˆ*ÑØ �€€˜5 œ=€Ø�VŒ}ˆÝ  t°Ð5Ñ5Ô5€Eˆ&�Mà€MØ �€~€~ؘ”<ˆÝ�h—m’m‘o”oÑ&Ô&ð (ð (ˆAؘQˆˆØ×$Ò$ QÑ'Ô'Ð'øð (ðˆØ €DØ �€€Ø�VŒ}ˆà�eÐÑ  kÔ 2ÑØˆ Ø ˜5РРؘ|Ô,ˆJÝ” ˜% œ-Ñ(Ô(ˆØ ð .ØÐ-Ñ-ˆEˆEà-ˆEØ �MÐ !Ð !؈AؘU A˜JÑ&¨-Ð7Ð7ؘ‘E�ð˜U A˜JÑ&¨-Ð7Ð7à˜u a˜jÑ(ˆEØ)°2بÐ0AÑ)AðCðCˆ à�{Ô#ð 4ð 4ˆAØ�JˆˆØ�Ø�ؘvœð"ð"�AؘA™�Aؘ”z [Ò0Ð0ؘØ"# F¤)ð&ð&˜BØ ! A¡˜AØ%¨˜|˜|°°6´ ¸a²°Ý'+¤y°¡}¤} Ø$% f¤I¨a LØ % øØð"Ø#$ V¤9ð5Ø$)¨&¤M°!Ð$4Ø *¨:×+;Ò+;¸AÑ+>Ô+>Ð ?Ø!˜EøØ˜&Ô!×(Ò(¨Ñ.Ô.Ð.Ð.à˜�:�:¥j°°q´Ñ&:Ô&:�:Ø+0°¬8�I˜fÔ% aÑ(øØ �VÔ ð '  ¨&Ô 1ð 'Ø",ˆE�,Ñ Ø.Øð9Ø$&°ÀUÈ;ÔEWðYðYˆFà ˆH�U‰OÝ × Ò ˜vÑ &Ô &Ð &Øð ؈ˆe‰ Ø €Lr(cóP—g}g}t| ¦«¦«D]E}d||vr$||dr| |¦«Œ0| |¦«ŒFt|¦«}d}|r§|d}d}|dd…D]}|||dvrd}nŒ|rH|dd…|gz}|dz}||kr.t dd |¦«zdz¦«||z}n3n0| |¦«|dd…}t|¦«}d}|°§|S)NrtrrzTsortvarnames: failed to compute dependencies because of cyclic dependencies between ú, r¿)rurvr*rXrorß)r1ÚindepÚdepròr®rìr^Úws r)rkrk5s|€Ø €EØ €CÝ �$—)’)‘+”+Ñ Ô ððˆØ �t˜A”wÐ Ð  4¨¤7¨8Ô#4Ð Ø �JŠJ�q‰MŒMˆMˆMà �LŠL˜‰OŒOˆOˆOÝ ˆC‰Œ€AØ €AØ ðØ �ŒFˆØ ˆØ�Q�R�R”ð ð ˆAØ�D˜”G˜HÔ%Ð%Ð%Ø�Ø�ð&ð ð Ø�a�b�b”'˜Q˜C‘-ˆCØ�A‘ˆAØ�1ŠuˆuÝð;àŸ)š) C™.œ.ñ)à+/ñ0ñ1ô1ð1ð ™ �Øð ð �LŠL˜‰OŒOˆOØ�a�b�b”'ˆCÝ�C‘”ˆA؈Að) ðð* €Lr(c óB—t|¦«s|Sg}t|d ¦«¦«D�]Ê}g}|d|D�]ª}tjd|tj¦«}|�rWg}| d¦«r?d„t| d¦«¦« d¦«D¦«}t| d¦«  ¦«¦«}||dvrwd|d|vr>|d|d  d d   |¦«z¦«n[d d   |¦«zg|d|d<n2|r%dd d   |¦«zgi|d|<n i|d|<||vr|  |¦«n|}td |›d |›d �¦«|  |¦«�Œ¬||d|<�ŒÌd|vr||d<n|d|z|d<|S)Nrz2\A\s*\b(?P.*?)\b\s*(\((?P.*?)\)|)\s*\ZÚdimscó6—g|]}| ¦«‘ŒSr'ržrŸs r)rxz!analyzecommon..cs6€ðSðSðSØ !ðŸGšG™IœIðSðSðSr(r&rqr1rmr&r'z:analyzecommon: failed to extract "[()]" from "z " in common /z/. Ú commonvars)Ú hascommonrurvrÄr×rÆrØr(r)rrrªr*rßro)r2r~r}Úcomvarsr¹rör|r®s r)ririWs�€Ý �UÑ Ô ðØˆ Ø€JÝ �%˜”/×&Ò&Ñ(Ô(Ñ )Ô )ð%ñ%ˆØˆØ�x” Ô#ð ñ ˆAÝ”ØEÀqÍ"Ì$ñPôPˆAàñ pØ�Ø—7’7˜6‘?”?ðSðSðSÝ%3°A·G²G¸F±O´OÑ%DÔ%D×%JÒ%JÈ5Ñ%QÔ%QðSñSôS�Då˜qŸwšw v™œ×4Ò4Ñ6Ô6Ñ7Ô7�ؘ˜fœ Ð%Ð%Ø! U¨6¤]°1Ô%5Ð5Ð5ؘfœ  aÔ(¨Ô4×;Ò;Ø+¨s¯xªx¸©~¬~Ñ>ñ@ô@ð@ð@ð,¨s¯xªx¸©~¬~Ñ>ð8@˜˜fœ  aÔ(¨Ñ4Ð4ðð.à&¨¸C¿HºHÀT¹N¼NÑ)KÐ(Lð,N˜˜fœ  aÑ(Ð(ð,.˜˜fœ  aÑ(ؘJÐ&Ð&Ø×%Ò% aÑ(Ô(Ð(øà�Ý�ØijÐijÐijÐlmÐlmÐlmÐnñpôpðpà �NŠN˜1Ñ Ô Ð Ñ Ø$ˆˆhŒ˜ÑÑØ˜5Ð Ð Ø(ˆˆlÑÐà# LÔ1°JÑ>ˆˆlÑØ €Lr(có0—t|¦«d„|d ¦«D¦«}g}|dD�]V}||d<|ddvrŽ|� |d|vrŒ|d}|d| ¦«vr t |d¦«|dtvrŒst r|dt vrŒŠt |d d ¬ ¦«|d <n|}t|||d z¬¦«}|ddvr"|ds| d¦«sd|vrŒã|d  dd¦«dkrt |¦«�Œ|ddkr|dt|d<| |¦«�ŒX|S)Ncó6—i|]\}}d|vs d|dv¯||“ŒS)rmr r')rvÚkeyÚvalues r)ú zanalyzebody..‡sB€ðððá ˆC�Ø ˜UÐ "Ð " h°e¸JÔ6GÐ&GÐ&Gð ˆUà&GÐ&GÐ&Gr(r1r0rIr2r©rqr6z T©Ú as_interfaceÚsaved_interfacer rbr¡r´rr±r Ú pythonmoduler¢) rGr:rvr#r*r$Úcrack2fortrangenrgr€rÕrr)r2r6rVÚ maybe_privater0r\Úas_s r)rlrl‚sà€õ�ÑÔÐððà œ-×-Ò-Ñ/Ô/ðñô€Mð €DØ �6Œ]ðñˆØ!ˆˆ.ÑØ ˆWŒ:Ð3Ð 3Ð 3ØÐ A f¤I°TÐ$9Ð$9Øà˜”i�à�Œy˜M×.Ò.Ñ0Ô0Ð0Ð0Ý× Ò   6¤Ñ+Ô+Ð+Ø�Œy�IÐ%Ð%ØÝð ˜Q˜vœY­iÐ7Ð7ØÝ#3Ø�>°ð$6ñ$6ô$6ˆAÐÑ Ð ðˆCÝ �a˜ #¨¡*Ð -Ñ -Ô -ˆØ ˆWŒ:Ð<Ð <Ð <Ø�Œyð =Ø!"§¢ Ñ!7Ô!7ð =à!¨Ð*Ð*ØØ ˆWŒ:× Ò ˜c 2Ñ &Ô &¨.Ò 8Ð 8Ý × Ò ˜qÑ !Ô !Ð !Ñ !à�Œz˜XÒ%Ð%Ø+,¨V¬9• ˜a œiÑ(Ø �KŠK˜‰NŒNˆN‰NØ €Kr(có¤—t|¦«t}i}d|vr±|d€3d}tdkr%tdt |d¦«z¦«nvt |d ¦«¦«D]N}|d| d¦«dvr|d|||<Œ7|d|d||<ŒO||fS)Nrrz6buildimplicitrules: no implicit rules for routine %s. rqr4)rJr=)rGÚdefaultimplicitrulesrr2rÓrurvr€)r2Ú implicitrulesÚ attrrulesr}s r)Úbuildimplicitrulesr‘¯sø€Ý�ÑÔÐÝ(€MØ€IØ�UÐÐØ �Ô Ð $Ø ˆMݘŠ{ˆ{ÝØMÕPTÐUZÐ[aÔUbÑPcÔPcÑcñeôeðeøõ˜%  Ô+×0Ò0Ñ2Ô2Ñ3Ô3ð Dð D�ؘÔ$ QÔ'×+Ò+¨JÑ7Ô7Ð?VÐVÐVØ',¨ZÔ'8¸Ô';�M !Ñ$Ð$à#(¨Ô#4°QÔ#7¸ Ô#C�I˜a‘L�LØ ˜)Ð #Ð#r(có†—t|||¦«}t|¦«ttfvr|St d|z¦«‚)z2 Like `eval` but returns only integers and floats zr=%r)rÙrhr8r:rÚ)r¹rYrïr�s r)Úmyevalr“Âs=€å ˆQ��1‰ Œ €AÝ ˆA�w„w•3��,ÐÐØˆÝ �V˜q‘\Ñ "Ô "Ð"r(z \A\b\w+\b\Zcó–— tt|ii¦«¦«}d|dfS#t$rYnwxYwt |¦«rdd|fSt |¦«}|D�]b}t |¦«|krŒt jd|zdz|¦«rŒ3t jd|zdzt j ¦«}| |¦«}|�rò | |¦«}|rG|  d¦«›d d›d |  d ¦«›�}| |¦«}|°Gt|ii¦«} | |¦«}|rG|  d¦«›d d›d |  d ¦«›�}| |¦«}|°Gt|ii¦«| z } | |¦«}|rG|  d¦«›d d ›d |  d ¦«›�}| |¦«}|°Gt|ii¦«}| |¦«}|rG|  d¦«›d d ›d |  d ¦«›�}| |¦«}|°Gt|ii¦«} | d z| z|kr| d z| z| kr| | |fcSn#t$rYnwxYwn�ŒddS)a Obtain ``a`` and ``b`` when ``e == "a*x+b"``, where ``x`` is a symbol in xset. >>> getlincoef('2*x + 1', {'x'}) (2, 1, 'x') >>> getlincoef('3*x + x*2 + 2 + 1', {'x'}) (5, 3, 'x') >>> getlincoef('0', {'x'}) (0, 0, None) >>> getlincoef('0*x', {'x'}) (0, 0, 'x') >>> getlincoef('x*x', {'x'}) (None, None, None) This can be tricked by sufficiently complex expressions >>> getlincoef('(x - 0.5)*(x - 1.5)*(x - 1)*x + 2*x + 3', {'x'}) (2.0, 3.0, 'x') rNrz\w\s*\([^)]*\bú\bú(?P.*?)\bú\b(?P.*)rr7r8rgà?gø?)NNN) r8r“rËÚgetlincoef_re_1r×rXrÄÚsearchrÅrÆrØ) r¹Úxsetr¹Úlen_er r`röraÚeer\r,Úc2s r)Ú getlincoefržÌs?€ð* Ý •�q˜"˜bÑ!Ô!Ñ "Ô "ˆØ�!�TˆzÐøÝ ð ð ð Ø ˆð øøøå×Ò˜QÑÔðØ�!�QˆwˆÝ �‰FŒF€EØ ð'ñ'ˆÝ ˆq‰6Œ6�EŠ>ˆ>Ø Ý Œ9Ð&¨Ñ*¨UÑ2°AÑ 6Ô 6ð à ÝŒzÐ.°Ñ2Ð5GÑGÍÌÑNÔNˆØ �JŠJ�q‰MŒMˆØ ñ ð Ø—Z’Z ‘]”]�Øð(àŸš Ñ*Ô*Ð*Ð*¨A¨A¨A¨r¯xªx¸Ñ/@Ô/@Ð/@ðB�BàŸš B™œ�Bðð(õ˜2˜r 2Ñ&Ô&�Ø—Z’Z ‘]”]�Øð(àŸš Ñ*Ô*Ð*Ð*¨A¨A¨A¨r¯xªx¸Ñ/@Ô/@Ð/@ðB�BàŸš B™œ�Bðð(õ˜2˜r 2Ñ&Ô&¨Ñ*�Ø—Z’Z ‘]”]�Øð(àŸš Ñ*Ô*Ð*Ð*¨C¨C¨C°·²¸'Ñ1BÔ1BÐ1BðD�BàŸš B™œ�Bðð(õ˜2˜r 2Ñ&Ô&�à—Z’Z ‘]”]�Øð(àŸš Ñ*Ô*Ð*Ð*¨C¨C¨C°·²¸'Ñ1BÔ1BÐ1BðD�BàŸš B™œ�Bðð(õ˜B  BÑ'Ô'�ؘ‘G˜a‘K 1Ò$Ð$¨¨S©°1©¸Ò):Ð):ؘa ˜7�N�N�NøøÝð ð ð Ø�ð øøøà ˆEñ? ð@ Ð s‚"%¥ 2±2ÃGJ5Ê5 KËKz\b[a-z][\w$]*\bcó —||vrØ|| dg¦«}d||vrat||¦«sLt ||d¦«D]%}||vr||vr||kr| |¦«Œ&|dd…D]E}| |g¦«pt |||¦«D]}||vr| |¦«ŒŒFn!t dt|¦«z¦«g}|||<|S)Nrtrpz,_get_depend_dict: no dependence info for %s )r€ÚisstringÚ word_patternÚfindallr*Ú_get_depend_dictr2rÓ)rqr1ÚdepsÚwordsÚwordrzs r)r£r£ s1€Ø ˆt€|€|Ø�T” —’˜x¨Ñ,Ô,ˆà �$�t”*Ð Ð ¥X¨d°4¬jÑ%9Ô%9Ð Ý$×,Ò,¨T°$¬Z¸¬_Ñ=Ô=ð 'ð '�ð˜uÐ$Ð$¨°¨¨¸$À$º,¸,Ø—L’L Ñ&Ô&Ð&øØ˜!˜!˜!”Hð $ð $ˆDØ—X’X˜d BÑ'Ô'ð:Ý'¨¨d°DÑ9Ô9ð $ð $�à˜E�>�>Ø—L’L ‘O”O�Oøð $ð $õ Ð?Å4ÈÁ:Ä:ÑNÑOÔOÐO؈؀Dˆ�JØ €Lr(cóx—t| ¦«¦«}i}|D]}t|||¦«Œ|Sr,)rurvr£)r1rzÚ depend_dictr®s r)Ú_calc_depend_dictr©- sF€Ý �—’‘”Ñ Ô €EØ€KØ ð/ð/ˆÝ˜˜D +Ñ.Ô.Ð.Ð.Ø Ðr(có~‡‡—t‰¦«Šg}t‰ ¦«¦«D]"}‰|s| |¦«‰|=Œ#‰rWt‰ ¦«¦«D]3\}}ˆfd„|D¦«}|s| |¦«‰|=Œ.|‰|<Œ4‰°Wˆfd„|D¦«S)z có•—g|]}|‰v¯|‘Œ Sr'r')rvr®r¨s €r)rxz$get_sorted_names..@ s#ø€Ð:Ð:Ð:˜Q¨¨kÐ)9Ð)9�qÐ)9Ð)9Ð)9r(có•—g|]}|‰v¯|‘Œ Sr'r')rvrqr1s €r)rxz$get_sorted_names..F sø€Ð 3Ð 3Ð 3�T d¨d l lˆD l l lr()r©rurvr*r:)r1rzrqÚlstÚnew_lstr¨s` @r)Úget_sorted_namesr¯5 søø€õ$ DÑ)Ô)€KØ €EÝ�[×%Ò%Ñ'Ô'Ñ(Ô(ð"ð"ˆØ˜4Ô ð "Ø �LŠL˜Ñ Ô Ð Ø˜DÐ!øØ ð,ݘk×/Ò/Ñ1Ô1Ñ2Ô2ð ,ð ,‰IˆD�#Ø:Ð:Ð:Ð: #Ð:Ñ:Ô:ˆGØð ,Ø— ’ ˜TÑ"Ô"Ð"Ø Ð%Ð%à$+� ˜DÑ!Ð!ð ð,ð 4Ð 3Ð 3Ð 3˜UÐ 3Ñ 3Ô 3Ð3r(cóª—|ddvr |dd…}t |¦«rdSt |¦«rdSd|zdzS) Nrú'"rr éézkind(r8)rÖr×Ú real8pattern)rcs r)Ú _kind_funcrµI sd€à ˆa„y�EÐÐØ˜˜"˜”ˆÝ×Ò˜6Ñ"Ô"ð؈qÝ × Ò ˜FÑ #Ô #ð؈qØ �VÑ ˜cÑ !Ð!r(cóf—d|z}|dkrdS|dkrdS|dkrdS|dkrd S|dd zkrd Sd S) Nr´érir3lr³lr²é€ér r')r�rös r)Ú_selected_int_kind_funcrºT sZ€à ˆa‰€A؈F‚{€{؈q؈G‚|€|؈q؈G‚|€|؈q؈G‚|€|؈q؈A�‰H‚}€}؈rØ ˆ2r(cóÌ—|dkrdS|dkrdStj¦« ¦«}| d¦«r |dkrdSn|dkrdS|dkrdSd S) Nér³r¹r²)Úaarch64Úarm64ÚpowerÚppcÚriscvÚs390xÚsparcé!ér´r )ÚplatformÚmachiner¥r�)Úpr�ÚradixrÇs r)Ú_selected_real_kind_funcrÊd s‡€ð ˆ1‚u€u؈q؈2‚v€v؈qÝÔÑ Ô ×&Ò&Ñ(Ô(€GØ×ÒÐYÑZÔZðØ �Š7ˆ7Ø�2ð ð ˆrŠ6ˆ6Ø�2Ø �"ŠWˆWØ�2Ø ˆ2r(c ój —tj|¦«}tj|¦«}dtfdtfdtffD]\}}||vr|||<Œg}t |¦«D]1}d||vr%d||dvr| |¦«Œ2t jdt j¦«}t jdt j¦«} t jdt j¦«} |D�]½}d ||v�r{||d } t||¦«r#|   ¦«} d D] } | j | Ž} Œ |  d | ¦«} |   d | ¦«} d } d||vr]d||dvrMt| ¦«}|   d||ddzd¦«} t| ¦«|k} | s˜|  | ¦«sƒ|  d¦«}t|¦«dkr[d |dd…¦«  ¦«  |d  ¦«d¦«} t#||¦«rÌt%| ¦«}t& | ¦«D]Œ}t%| | ¦«| ¦«…  ¦«  dd¦«¦«|| ¦«| ¦«…<Œ�d |¦«} n(t/||¦«rt1d| ›d�¦«t& | ¦«rd} nt4 | ¦«rd} t7| ||¦«||<n?#t8$r2}| ||<t1d|›dt;| ¦«›d�¦«Yd}~nd}~wwxYwt=||¦«r3t?||t@¦«rtC||¦«||<|  ¦«}||kr ||||<�Œ‰tE||¦«t1dt;|¦«z¦«�Œ¿|S)Nr8Úselected_int_kindÚselected_real_kindrmrz \bkind\s*\(\s*(?P.*)\s*\)z-\bselected_int_kind\s*\(\s*(?P.*)\s*\)z4\bselected_(int|real)_kind\s*\(\s*(?P.*)\s*\)rp))z.false.ÚFalse)z.true.ÚTruez kind("\1")zselected_int_kind(\1)Frnrór rr r$r¹zAget_parameters[TODO]: implement evaluation of complex expression r¿r²r³zget_parameters: got "z" on z2get_parameters:parameter %s does not have value?! )#rÎrµrºrÊr¯r*rÄrÅrÆÚ islogicalr¥rÕÚsubrXr×r)rßÚisdoublerurÖr×rØrÚ iscomplexr2r™r´rÙrËrÓr rár8ràr‰)r1Ú global_paramsr‡Úg_paramsrqÚfuncÚ param_namesr®Úkind_reÚselected_int_kind_reÚselected_kind_reròÚreplÚ is_replacedÚ orig_v_lenÚv_rñrörðÚnls r)rÔrÔw sÜ€Ý ŒY�}Ñ %Ô %€FÝŒy˜Ñ'Ô'€HØ¥ Ð+Ø+Õ-DÐEØ,Õ.FÐGðKð"ð"‰ ˆˆdð �xÐ Ð Ø!ˆH�T‰NøØ€KÝ ˜dÑ #Ô #ð"ð"ˆØ ˜˜aœÐ Ð  [°D¸´G¸JÔ4GÐ%GÐ%GØ × Ò ˜qÑ !Ô !Ð !øÝŒjÐ<½b¼dÑCÔC€GÝœ:Ø8½"¼$ñ@ô@Ðå”zØ?ÅÄñGôGÐà ðISñISˆØ �$�q”'ˆ>‰>Ø�Q”˜” ˆAݘ˜aœÑ!Ô!ð )Ø—G’G‘I”I�ðð)ð)�Dð "˜œ  4Ð(�A�AØ— ’ ˜M¨1Ñ-Ô-ˆAØ$×(Ò(Ð)AÀ1ÑEÔEˆAð  ˆKØ  a¤Ð(Ð(ؘT !œW ^Ô4Ð4Ð4Ý!$ Q¡¤�JØŸ š  #¨¨Q¬°Ô(?ÀÔ(GÑ"GÈÑLÔL�Aõ#& a¡&¤&¨:Ò"5�Kàð QØ'×-Ò-¨aÑ0Ô0ðQØŸš ™œ�Bå˜2‘w”w ’{�{ØŸGšG B s¨ s¤GÑ,Ô,×2Ò2Ñ4Ô4×<Ò<¸RÀ¼V¿\º\¹^¼^ÈRÑPÔP˜õ˜˜QœÑ Ô ð Mݘ!‘W”W�Ý&×/Ò/°Ñ2Ô2ðHðH�AÝ,0ؘ!Ÿ'š'™)œ) A§E¢E¡G¤GÐ+Ô,×2Ò2Ñ4Ô4×<Ò<¸SÀ#ÑFÔFñ-Hô-H�B�q—w’w‘y”y §¢¡¤Ð(Ñ)Ð)à—G’G˜B‘K”K��å˜4 œ7Ñ#Ô#ð MÝðLØFGðLðLðLñMôMðMõ ×#Ò# AÑ&Ô&ð Ø��Ý×$Ò$ QÑ'Ô'ð Ø�ð MÝ   H¨fÑ5Ô5��q‘ � øåð Mð Mð MØ��q‘ Ý�¸c¸c¸cÅ4ÈÁ7Ä7À7À7ÐKÑLÔLÐLÐLÐLÐLÐLÐLøøøøð Møøøõ˜˜QœÑ Ô ð +¥Z°°q´ ½3Ñ%?Ô%?ð +Ý  q¤ ™NœN��q‘ Ø—’‘”ˆBØ�QŠwˆwØ# AœY��r‘ ùå �$�q”'‰NŒNˆNÝ ØEÍÈaÉÌÑQñ Sô Sð Sñ Sà €MsÎ:OÏ P Ï(PÐP có.—|dvrdSt||¦«S)N)z(:)ú(*)rrá)Ú _eval_scalar)Úlengthr‡s r)Ú _eval_lengthräÕ s#€Ø Ð$Ð$Ð$؈uÝ ˜ Ñ 'Ô 'Ð'r(z\d+_c óª—t|¦«r| d¦«d} t|i|¦«}t|t¦«rt nt|¦«}ni#t ttf$r|cYSt$rB}td|›d|›dt|  ¦«¦«›d�¦«Yd}~nd}~wwxYw|S)Nrórrz" in evaluating z (available names: r·) Ú_is_kind_numberr)rÙrár³rÓrÛrÚrÜrËrorurv)r„r‡rðs r)rârâÝ s€Ý�uÑÔð$Ø— ’ ˜CÑ Ô  Ô#ˆð 5å�U˜B Ñ'Ô'ˆØ8� E­3Ñ/Ô/Ð8•�µS¸%Ñ@Ô@ˆˆøÝ •{¥IÐ .ðððØˆ ˆ ˆ Ý ð5ð5ð5݈à�3�3˜˜˜�t F§K¢K¡M¤MÑ2Ô2Ð2Ð2ð4ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøøð5øøøð €Ls¬=A*Á*C CÂ8C à Cc ó†)‡@‡A‡B—t|¦«t|¦«\}}tj|d¦«ŠB|ddkr|d‰Bvr i‰B|d<d|dvr‰‰Bd=d|ddvrv|ddd}t‰B¦«td„|dD¦«¦«zD]2}d D]-}||vr't ‰B |i¦«|¦«‰B|<Œ.Œ3g}|d }|D]0} ‰B|| |¦«Œ!#t$rYŒ-wxYwt‰B  ¦«¦«D]}||vr| |¦«Œt‰Bt|¦«¦«} i} tj d ¦«j} t‰B  ¦«¦«D]�} | | ¦«} | rr| |  ¦«|  ¦«…} | |ŒG#t$r-tj d | ztj¦«j| |<YŒ}wxYwŒ‚|D�] }|d t|  ¦«¦«vr%t ‰B|||d ¦«‰B|<d‰B|vrÿd‰B|vrd‰B|dvså|r°|d  ¦«}t||  ¦«¦«D]m}|dkr|||dkrŒ|‰B|vr|||‰B||<Œ=|dkr*|||D]}t ‰B||¦«‰B|<ŒŒnn3||d vr)t'dt)|¦«›d|d›d�¦«d‰B|vred‰B|dvrU‰B|dd} t+t-|i| ¦«¦«}n#t.$rYnwxYw|‰B|dd<d‰B|vred‰B|dvrU‰B|dd} t+t-|i| ¦«¦«}n#t.$rYnwxYw|‰B|dd<i}d‰B|v�r_‰B|d}| ¦«g‰B|d<d\}}}}}|D�]}|dd…dkr%|dd… ¦«dd…}nå|dd…dkr%|dd… ¦«dd…}n²|dd…dkr%|dd… ¦«dd…}n|dd …d!kr%|d d… ¦«dd…}nL|dd"…d#kr%|d"d… ¦«dd…}nt ‰B||¦«‰B|<|r�d‰B|vr g‰B|d<d$„t5|¦« d%¦«D¦«D]I}| d&d¦«}|‰B|dvr!‰B|d |¦«ŒJd}|rf| d'd(¦«}| d)d*¦«}d#‰B|vr |g‰B|d#<n!‰B|d# |¦«d}|�„d‰B|vr g‰B|d<t;d+„t5|¦« d%¦«D¦«¦«D]3}|‰B|dvr!‰B|d |¦«Œ4d}|�wd!‰B|vr g‰B|d!<d,„t5|¦« d%¦«D¦«D]3}|‰B|d!vr!‰B|d! |¦«Œ4d}�Œ|�rd‰B|v�rg‰B|d<t;d-„t5|¦« d%¦«D¦«¦«D�]Á}|d.krd.nd/}|| vrt+| |¦«}| D]–}tj d0|zd1ztj¦«}| |¦«} | rX|  d2¦«t+| |¦«z|  d3¦«z}| |¦«} | °XŒ—||kr|g}n#t5|d.¦« d4¦«}t?|¦«d5kr d/|vrd/g}d/}t?|¦«dkr|d |kr d6|d g}t?|¦«d5k�r[tAtBj"j#|¦«\}}||z dz} |  $tBj%j&¬7¦«}i}!|dD]ü} tCj'| ¦«}"|  (|"¦«rÑ |  )|"¦«\}}#||#fd8„}$t| *¦«¦«}%|% +|# *¦«¦«n:#tX$r-}&d}$t|  *¦«¦«}%Yd}&~&nd}&~&wwxYwtˆBfd9„|%D¦«¦«}'|$t|'¦«f|!| <Œý|!||<‰B|d |¦«�ŒÃd!‰B|v�rKd |v�rF||d v�r;‰B| dg¦«}(g})t[t\t^t`¦«‰B|¦«}*tc‰B|¦«�rïte‰B|d¦«D�]Ñ\}+}| |¦«Š@‰@€�n«|*�r¨‰@ 3¦«D�]’\} \},}-ˆ@ˆAfd:„ŠAt¦«}.‰A| |.¦«| |(vsd;‰B| vs d‰B| vrŒB|,�‰| |.vr…d<}/|,tCj'd=|›d>|+›d?�¦«¦«}0|0 $tBj%j&¬7¦«}0|0‰B| d;<|g|-z‰B| d<d!‰B| vrd=|›d>|+›d@|›�g‰B| d!<n{dA}/d‰B| vr g‰B| d<dB‰B| dvr!‰B| d dB¦«|( | ¦«|) d=|›d>|+›d@|›�¦«‰B|  dg¦«}1dC|1vsdD|1vs|1 |/rdDndC¦«|1r |1‰B| d<�Œ”‰@��‰@ 3¦«D]ï\} \},}-‰B|  dg¦«}'‰B|  dg¦«D]n}2|2 4d¦«rWd 5|2 ¦«¦«}2|' 6|2dEd… dF¦«¦«Œo|'r%tt|'¦«¦«‰B| d<||'vr|( | ¦«Œð�ŒÓnµto‰B|¦«r d‰B|vr–d/‰B|dvr4tq‰B|dd/| ¦«}3|3‰B|dd/<nRd‰B|dvrBtq‰B|dd| ¦«}3‰B|dd=|3‰B|dd/<|)r |)‰B|d!<|(r%tt|(¦«¦«‰B|d<d;‰B|v�rd‰B|vr g‰B|d<dC‰B|dvr1dD‰B|dvr!‰B|d dC¦«d‰B|vr�g‰B|d<t|  3¦«¦«D]=\} } | ‰B|d;¦«r!‰B|d | ¦«Œ>‰B|ds ‰B|d=ts‰B|¦«r%tu‰B|d;| ¦«‰B|d;<�Œ"t‰B  ¦«¦«D�]}||dk�rþd#‰B|vr‰B|d#|d#<|ddk�rÖdG|vr/|dG‰Bvr%tw‰B|‰B|dG¦«‰B|<dH|v�rž|dH}4|4 dId¦«}5|4|5k }6|5 dJd¦«}4|4|5k }7txd  |4¦«} | �rt{|  dK¦«|  d3¦«¦«\}8}9}}:t}|8|9¦«\};}<}=|8‰B|d< |dGr|8‰B|dGd<n#t.$rYnwxYw|;r;d|;vr, t-|;di| ¦«|;d<n#t.$rYnwxYw|;‰B|d<|ntj|d ¦«}>t‰B  ¦«¦«D]@}t[t~t€¦«‰B|¦«r|> |¦«ŒAdP|vrŽ|> 6t|dP  ¦«¦«¦«t|dP  ¦«¦«D],}|dP|D]}||>vr|> |¦«ŒŒ-|ddkr;dG|vr|> |dG¦«n|> |d¦«|ddQvr'|d}?|?‰Bvrd‰B|?vr‰B|?d|d<|ddRkr4|> 6t‰B  ¦«¦«¦«t‰B  ¦«¦«D] }||>vr‰B|=Œ ‰BS)SNr1r2rýrqr rmc3ó&K—|] }|dV—Œ dS)rqNr')rvr\s r)ú zanalyzevars..ù s&èè€Ð$FÐ$F°1 Q v¤YÐ$FÐ$FÐ$FÐ$FÐ$FÐ$Fr(r0r®r6z[A-Za-z][\w$]*z.*\b%s\brr4rÚ undefinedz"analyzevars: typespec of variable z is not defined in routine z. rorXrnr8)NNNNNr'rrr r½r rtr¡rsr³rrcó6—g|]}| ¦«‘ŒSr'ržrŸs r)rxzanalyzevars..O s €ÐUÐUÐU¨A˜aŸgšg™iœiÐUÐUÐUr(r&r±z\n\nz z\n r¿có6—g|]}| ¦«‘ŒSr'ržrŸs r)rxzanalyzevars..` s €Ð'_Ð'_Ð'_°a¨¯ª© ¬ Ð'_Ð'_Ð'_r(có6—g|]}| ¦«‘ŒSr'ržrŸs r)rxzanalyzevars..g s €ÐTÐTÐT¨A˜aŸgšg™iœiÐTÐTÐTr(có6—g|]}| ¦«‘ŒSr'ržrŸs r)rxzanalyzevars..m s €Ð#XÐ#XÐ#X°! A§G¢G¡I¤IÐ#XÐ#XÐ#Xr(r¤rr–r—rrz@:@r3Ú1)Úlanguagecó—||z |z Sr,r')r*r,r\s r)Úsolve_vzanalyzevars..solve_v‘ s€Ø01°A±¸©{Ð(:r(c3ó8•K—|]}|j‰v¯ |jV—ŒdSr,)r)rvr*r1s €r)rézanalyzevars..ž s9øèè€ð-7ð-7Ø/0Ø'(¤v° ~ ~ð%&¤FØ'5 ~ ~ ~ð-7ð-7r(có”•—‰ |dgg¦«dD]'}||vr!| |¦«‰||¦«Œ(dS)Nr)r€Úadd)ròr¤Úv1Úcoeffs_and_depsÚ compute_depss €€r)røz!analyzevars..compute_deps¿ s`ø€Ø*9×*=Ò*=¸aÀ$ÈÀÑ*LÔ*LÈQÔ*Oð!?ð!? BØ')° ~ ~Ø(,¯ª°© ¬ ¨ Ø(4¨ °R¸Ñ(>Ô(>Ð(>øð!?ð!?r(rpFzshape(rwr8z) == TÚinrrr¼r'r­r¦ÚpureÚ recursiver9rqz'analyzevars: prefix (%s) were not used )r¢r‰r™r˜r~r)rÿrýrh)ArGr‘rÎr rwr€r*ÚKeyErrorrurvrÔrRrÄrÅr×rØrrÆr¥r2rÓr³rÙrËÚreverserªr(r)rÕr{rØrXrÉrÚExprÚparseÚtostringÚLanguagerºÚ as_symbolrÚ linear_solveÚsymbolsrKÚ RuntimeErrorÚl_orÚ isintent_inÚisintent_inoutÚisintent_inplaceÚisarrayÚ enumerater:r�rßÚextendr räÚisscalarrâr~rOrÐrÞÚisintent_callbackÚ isintent_aux)Cr2r�r�Úgenr®r}Úsvarsr6r,r‡Ú dep_matchesÚ name_matchròröÚln0rïÚdimension_exprsréÚdimr rtrsrrr¹Útmpr$ÚstarrÈr`rùr0Úd2ÚdsizeÚsolver_and_depsr*r\ròÚ all_symbolsrðÚv_depsÚn_depsÚn_checksÚ n_is_inputrìÚsolverr¤Úall_depsÚ is_requiredr#Úv_attrÚaarãÚprÚpr1ÚispureÚisrecr4rèrêrôrõrqÚ neededvarsrqr÷rør1sC @@@r)rjrjí s�øøø€õ�ÑÔÐÝ1°%Ñ8Ô8Ñ€M�9Ý Œ9�U˜6”]Ñ #Ô #€DØ ˆW„~˜Ò#Ð#¨¨f¬ ¸TÐ(AÐ(AØ ˆˆU�6Œ]ÑØ ˆU�6Œ]ÐÐØ �ˆHØ ˜˜vœ rÔ*Ð *Ð *ؘ”- Ô# JÔ/ˆCݘ‘Y”Y¥Ð$FÐ$F¸¸f¼ Ð$FÑ$FÔ$FÑ!FÔ!FÑFð Bð B�Ø.ðBðB�AؘC�x�xÝ"-¨d¯hªh°q¸"©o¬o¸qÑ"AÔ"A˜˜Q™øðBð €EØ �Œ=€DØ ððˆð Ø �ŒGˆGØ �LŠL˜‰OŒOˆOˆOøÝð ð ð Ø ˆDð øøøå �$—)’)‘+”+Ñ Ô ððˆØ �Dˆ=ˆ=Ø �LŠL˜‰OŒOˆOøå ˜DÕ"3°EÑ":Ô":Ñ ;Ô ;€Fà€KÝ”Ð-Ñ.Ô.Ô4€JÝ �$—)’)‘+”+Ñ Ô ðKðKˆØ ˆJ�q‰MŒMˆØ ð KØ�!—'’'‘)”)˜AŸEšE™GœGÐ#Ô$ˆAð KؘA”��øÝð Kð Kð KÝ!#¤¨K¸1Ñ,=½r¼tÑ!DÔ!DÔ!J� ˜A‘��ð Køøøð  Kð ðJBñJBˆØ ˆQŒ4•4˜ ŸšÑ(Ô(Ñ)Ô)Ð )Ð )Ý! $ q¤'¨9°Q°q´T¬?Ñ;Ô;ˆD�‰GØ ˜T !œWÐ $Ð $Ø  a¤Ð(Ð(¨Z¸4À¼7À:Ô;NÐ-NÐ-NØ ð 1ؘAœ$Ÿ*š*™,œ,�CÝ! -°Ô"4×"9Ò"9Ñ";Ô";Ñ<Ô<ðBðB˜Ø  š?˜?¨}¸SÔ/AÀ!Ô/DÈ Ò/SÐ/SØ$Ø D¨¤GÐ+Ð+Ø)6°sÔ);¸AÔ)>˜D œG A™J˜JØ *š_˜_Ø%2°3Ô%7¸Ô%:ðBðB Ý*5°d¸1´g¸qÑ*AÔ*A  Q¡ øðBð˜% œ-Ð'Ð'Ý�GݘQ™œ˜˜  v¤  ð0ñ1ô1ð1à ˜T !œWÐ $Ð $ؘ˜Qœ Ô/Ð/Ð/ؘ”G˜NÔ+¨EÔ2�ðÝ�D  B¨Ñ/Ô/Ñ0Ô0�A�AøÝ ðððØ�Dðøøøà12��Q”˜Ô'¨Ñ.à ˜T !œWÐ $Ð $ؘ˜aœ Ô0Ð0Ð0ؘ”G˜NÔ+¨FÔ3�ðÝ�D  B¨Ñ/Ô/Ñ0Ô0�A�AøÝ ðððØ�Dðøøøà23��Q”˜Ô'¨Ñ/àˆØ ˜˜aœÐ Ñ Ø˜”7˜:Ô&ˆDØ �LŠL‰NŒNˆNØ"$ˆD�ŒG�JÑ Ø/KÑ ,ˆC�˜ ¨Øð+ !ñ+ !�Ø�R�a�R”5˜KÒ'Ð'ؘQ˜R˜Rœ5Ÿ;š;™=œ=¨!¨B¨$Ô/�C�CØ�r˜�r”U˜hÒ&Ð&Ø   œeŸkšk™mœm¨Q¨r¨TÔ2�F�FØ�r˜�r”U˜hÒ&Ð&Ø   œeŸkšk™mœm¨Q¨r¨TÔ2�F�FØ�r˜�r”U˜gÒ%Ð%ؘq˜r˜rœUŸ[š[™]œ]¨A¨b¨DÔ1�E�EØ�r˜�r”U˜f’_�_ؘa˜b˜bœEŸKšK™MœM¨1¨R¨4Ô0�D�Då)¨$¨q¬'°1Ñ5Ô5�D˜‘GØð"Ø t¨A¤wÐ.Ð.Ø,.˜˜Qœ Ñ)ØUÐUµÀÑ1GÔ1G×1MÒ1MÈeÑ1TÔ1TÐUÑUÔUð:ð:˜àŸiši¨¨RÑ0Ô0˜Ø d¨1¤g¨hÔ&7Ð7Ð7Ø  œG HÔ-×4Ò4°SÑ9Ô9Ð9øØ!�FØð ØŸ<š<¨°&Ñ9Ô9�DØŸ<š<¨°Ñ5Ô5�DØ T¨!¤WÐ,Ð,Ø+/¨&˜˜Qœ ™˜à˜Qœ œ×.Ò.¨tÑ4Ô4Ð4Ø�DØÐ%Ø t¨A¤wÐ.Ð.Ø,.˜˜Qœ Ñ)Ý&Ð'_Ð'_½>È&Ñ;QÔ;Q×;WÒ;WÐX]Ñ;^Ô;^Ð'_Ñ'_Ô'_Ñ`Ô`ð8ð8˜Ø D¨¤G¨HÔ$5Ð5Ð5Ø  œG HÔ-×4Ò4°QÑ7Ô7Ð7øØ!�FØÐ$Ø d¨1¤gÐ-Ð-Ø+-˜˜Qœ Ñ(ØTÐTµÀÑ1FÔ1F×1LÒ1LÈUÑ1SÔ1SÐTÑTÔTð7ð7˜Ø D¨¤G¨GÔ$4Ð4Ð4Ø  œG GÔ,×3Ò3°AÑ6Ô6Ð6øØ �EùØñ> 3�{¨$¨q¬'Ð1Ñ1Ø')��Q”˜ Ñ$Ý"Ð#XÐ#Xµ~ÀcÑ7JÔ7J×7PÒ7PÐQVÑ7WÔ7WÐ#XÑ#XÔ#XÑYÔYð<3ñ<3�AØ"# s¢( (˜3˜3°�Dà˜F�{�{Ý  q¤ ™NœN˜Ø#ð.ð.˜Ý!œzÐ*>ÀÑ*BÐEWÑ*WÕY[ÔY]Ñ^Ô^˜Ø ŸJšJ q™MœM˜Øð.Ø !§¢¨Ñ 1Ô 1Ý # F¨1¤I¡¤ñ!/Ø12·²¸Ñ1AÔ1Añ!B˜Aà $§ ¢ ¨1¡ ¤ ˜Að ð.øð ˜D’y�yØ"˜V˜˜å+¨A¨sÑ3Ô3×9Ò9¸%Ñ@Ô@˜Ý˜2‘w”w !’|�|¨¨r¨ ¨ Ø!˜U˜Ø˜Ý˜2‘w”w !’|�|¨¨1¬°ª ¨ Ø! 2 a¤5˜\˜Ý˜2‘w”w !’|‘|Ý!$¥X¤]Ô%8¸"Ñ!=Ô!=™˜˜BØ " R¡¨!¡ ˜Ø!ŸNšNµHÔ4EÔ4G˜NÑHÔH˜ð+-˜Ø!& v¤ðKðK˜AÝ (Ô 2°1Ñ 5Ô 5˜AØ$Ÿ~š~¨aÑ0Ô0ðKð!GØ+0×+=Ò+=¸aÑ+@Ô+@¡D A qà56¸!ð%;ð%;ð%;ð%;õ36°a·i²i±k´kÑ2BÔ2B KØ$/×$6Ò$6°q·y²y±{´{Ñ$CÔ$CÐ$CÐ$CøÝ'3ð!Gð!Gð!Gð /3 GÝ25°e·m²m±o´oÑ2FÔ2F K K K K K Køøøøð!Gøøøõ*-ð-7ð-7ð-7ð-7Ø4?ð-7ñ-7ô-7ñ*7ô*7 ð6=½dÀ6¹l¼lÐ5J °Ñ 2øð.=˜¨Ñ*ؘ”G˜KÔ(×/Ò/°Ñ2Ô2Ð2Ñ2à ˜$˜qœ'Ð !Ñ ! f° o¡o¸!¸uÀV¼}Ð:LÑ:Lð ˜!”W—[’[ ¨2Ñ.Ô.ˆF؈Hð0��k­>Ý.ñ0ô0Ø04°Q´ñ9ô9ˆJå�t˜A”wÑÔñW >Ý% d¨1¤g¨kÔ&:Ñ;Ô;ðK1ñK1‘D�A�qØ&5×&9Ò&9¸!Ñ&<Ô&<�OØ&Ð.áØ#ñ:=ð2A×1FÒ1FÑ1HÔ1Hð6=ñ6=Ñ-˜A™~ ¨ð?ð?ð?ð?ð?ð?õ (+¡u¤u˜HØ(˜L¨¨HÑ5Ô5Ð5Ø!" f  Ø$'¨4°¬7 N NØ$,°°Q´Ð$7Ð$7ð !)Ø%Ð1°a¸xÐ6GÐ6Gð/4  Ø'- v­hÔ.@Ø$6¨QÐ$6Ð$6°!Ð$6Ð$6Ð$6ñ/8ô/8ñ(9ô(9 à'+§}¢}Ý-5Ô->Ô-@ð(5ñ(Bô(B à/3  Q¤¨¡ ð67°C¸$±J  Q¤¨Ñ 1Ø#*°$°q´'Ð#9Ð#9ð)B°Ð(AÐ(A°aÐ(AÐ(A¸aÐ(AÐ(Að8C D¨¤G¨GÑ$4øð /3  Ø#+°4¸´7Ð#:Ð#:Ø8: D¨¤G¨HÑ$5Ø#'¨t°A¬w°xÔ/@Ð#@Ð#@Ø$(¨¤G¨HÔ$5×$<Ò$<¸TÑ$BÔ$BÐ$Bà &§ ¢ ¨aÑ 0Ô 0Ð 0Ø (§¢Ø$=¨QÐ$=Ð$=°!Ð$=Ð$=¸!Ð$=Ð$=ñ!?ô!?ð!?à%)¨!¤W§[¢[°¸RÑ%@Ô%@˜FØ$.°&Ð$8Ð$8Ø'1°VÐ';Ð';Ø &§ ¢ Ø2=Ð$M J JÀ:ñ!Oô!Oð!Oà%ð=Ø6<  Q¤¨ Ñ 3ùØ&Ñ2à1@×1FÒ1FÑ1HÔ1Hð 1ð 1Ñ-˜A™~ ¨Ø%)¨!¤W§[¢[°¸2Ñ%>Ô%>˜FØ&*¨1¤g§k¢k°*¸bÑ&AÔ&AðGðG Ø#%§=¢=°Ñ#:Ô#:ð!GØ)+¯ª°·²±´Ñ)<Ô)< BØ$*§M¢M°"°Q°r°T´(·.².ÀÑ2EÔ2EÑ$FÔ$FÐ$FøØ%ðFÝ48½¸V¹¼Ñ4EÔ4E  Q¤¨Ñ 1Ø ¨˜˜Ø &§ ¢ ¨aÑ 0Ô 0Ð 0øùðWK1õX˜$˜qœ'Ñ"Ô"ð >Ø! T¨!¤WÐ,Ð,ؘd 1œg nÔ5Ð5Ð5Ý!-¨d°1¬g°nÔ.EÀcÔ.JØ.4ñ"6ô"6˜à7=˜˜Qœ Ô/°Ñ4Ð4Ø $ q¤'¨.Ô"9Ð9Ð9Ý!-¨d°1¬g°nÔ.EÀeÔ.LØ.4ñ"6ô"6˜à  œG NÔ3°EÐ:Ø7=˜˜Qœ Ô/°Ñ4Øð ,Ø#+��Q”˜Ñ Øð 6Ý$(­¨V©¬Ñ$5Ô$5��Q”˜Ñ!à �$�q”'ˆ>‰>Ø  a¤Ð(Ð(Ø&(��Q”˜ Ñ#Ø $ q¤'¨*Ô"5Ð5Ð5Ø $ q¤'¨*Ô"5Ð5Ð5Ø�Q”˜ Ô#×*Ò*¨:Ñ6Ô6Ð6ؘt AœwÐ&Ð&Ø$&��Q”˜Ñ!Ý  ×!2Ò!2Ñ!4Ô!4Ñ5Ô5ð4ð4‘D�A�qØ�q˜˜aœ œ‘”ð4ؘQœ Ô)×0Ò0°Ñ3Ô3Ð3øØ˜A”w˜xÔ(ð*ؘQœ Ð)ݘ˜QœÑ Ô ð BÝ+¨D°¬G°C¬L¸&ÑAÔA��Q”˜‘ ùå �$—)’)‘+”+Ñ Ô ð+`ñ+`ˆØ ��f” Ò Ñ Ø˜˜aœÐ Ð Ø $ Q¤¨¤��f‘ Ø�WŒ~ Ò+Ñ+ؘuÐ$Ð$¨¨x¬¸DÐ)@Ð)@Ý(¨¨a¬°$°u¸X´Ô2GÑHÔH�D˜‘GؘuÐ$Ñ$ؘxœ�BØŸ*š* V¨RÑ0Ô0�CØ"$¨¢)˜m�FØŸš [°"Ñ5Ô5�BØ!# s¢˜]�EÝ$ Qœ×-Ò-¨bÑ1Ô1�AØñ`Ý:HØŸGšG F™OœO¨Q¯WªW°WÑ-=Ô-=ñ;?ô;?Ñ7˜ (¨D°%å;HØ$ hñ<0ô<0Ñ8˜  J°à.6˜˜Qœ  Ñ+ð!Ø$ XœðMØDL  U¨8¤_Ô 5°jÑ AøøÝ(ð!ð!ð!Ø ˜Dð!øøøà%ðAØ%¨Ð3Ð3ð!)Ý9=Ø(2°6Ô(:¸BÀñ:Hô:H J¨vÑ$6Ð$6øå'0ð!)ð!)ð!)Ø$( Dð!)øøøà6@˜D œG NÑ3Ø%ðAØ6@˜D œG NÑ3Ø#ð;Ø2:˜D œG JÑ/Ø!ðCÝ&1°$°q´'¸6Ñ&BÔ&B˜D ™GØ ðHÝ&1°$°q´'¸;Ñ&GÔ&G˜D ™GùåØFÍÈeÐT\ÌoÑI^ÔI^Ñ^ñ`ô`ð`ùà �Œ>ÐVÐ VÑ VØ ˜5Ð Ð Ýœ 5¨¤=°5¸Ô3FÑ#FÑGÔGˆJˆJ圠5¨¤=Ñ1Ô1ˆJÝ�d—i’i‘k”kÑ"Ô"ð %ð %ˆAØ4�tÕ%¥|Ñ4Ô4°T¸!´WÑ=Ô=ð %Ø×!Ò! !Ñ$Ô$Ð$øØ �eÐ Ð Ø × Ò �d 5¨¤>×#6Ò#6Ñ#8Ô#8Ñ9Ô9Ñ :Ô :Ð :ݘ% œ.×-Ò-Ñ/Ô/Ñ0Ô0ð -ð -�ؘwœ¨Ô*ð-ð-�AØ  Ð*Ð*Ø"×)Ò)¨!Ñ,Ô,Ð,øð-ð �Œ>˜ZÒ 'Ð 'ؘ5Ð Ð Ø×!Ò! %¨¤/Ñ2Ô2Ð2Ð2à×!Ò! %¨¤-Ñ0Ô0Ð0Ø �Œ>Ð7Ð 7Ð 7ؘ”=ˆDØ�tˆ|ˆ| ¨D°¬JÐ 6Ð 6Ø"& t¤*¨XÔ"6��h‘Ø �Œ>˜VÒ #Ð #Ø × Ò �d 4§9¢9¡;¤;Ñ/Ô/Ñ 0Ô 0Ð 0Ý�d—i’i‘k”kÑ"Ô"ð ð ˆAؘ Ð"Ð"ؘ�GøØ €Ks‘ÄD Ä D-Ä,D-ÈH È 4IÉIÏO2Ï2 O?Ï>O?ÑQ!Ñ! Q.Ñ-Q.ç5A&ié j é&#j êj ÁF=AGÁG AG$ÁG#AG$ÁG.AH ÁH AHÁHAHz\A[a-z]+[\w$]*\Zcó(—|}t |¦« }|r¬t|¦«\}}t||d|¦«}d}|D]8} |  ¦«} | t jt jzvrd} || z}Œ9|ddkr|dz}n|dz}|}||dvs ||dvr|dz}||dv°||dv°||vrAd } |t| ¦«z|vr| d z} |t| ¦«z|v°|t| ¦«z}|r ||d|<ns||dvr-||dvr|d||d|<n i|d|<d |vr8||d |d zvr%t|d|d ¦«|d|<|S) Nr1Úe_rór r¹Ú_er6r�rr4r5r) Úanalyzeargs_re_1r×r‘rÕr¥rcÚascii_lowercaseÚdigitsr³rw) r,r2r6Úorig_aÚ a_is_exprr�r�ÚatÚnar¹r}s r)Ú expr2namer5n sù€Ø €FÝ$×*Ò*¨1Ñ-Ô-Ð-€IØðÝ#5°eÑ#<Ô#<Ñ ˆ �yÝ ˜q %¨¤-°Ñ ?Ô ?ˆØ ˆØð ð ˆAØ—’‘ ” ˆAØ�Ô.µ´Ñ>Ð>Ð>Ø�Ø�a‘ˆBˆBØ ˆbŒ6�SŠ=ˆ=Ø�c‘ˆBˆBà�d‘ˆBØ ˆØ�5˜”=Ð Ð  A¨¨v¬Ð$6Ð$6Ø�C‘ˆAð�5˜”=Ð Ð  A¨¨v¬Ð$6Ð$6àˆD€y€yØ ˆØ•#�a‘&”&‰j˜DÐ Ð Ø�A‘ˆAð•#�a‘&”&‰j˜DÐ Ð à •�A‘”‰JˆØð I؈ˆfŒ �aÑÐà �E˜&”MÐ !Ð !ؘ˜vœÐ&Ð&Ø#(¨¤=°Ô#8��f” ˜aÑ Ð à#%��f” ˜aÑ Ø ˜%Ð Ð  F¨e°KÔ.@À5ÈÔCVÑ.VÐ$VÐ$VÝ*¨5°¬=¸Ô+;¸ZÑHÔHˆE�&ŒM˜!Ñ Ø €Hr(cóH—t|¦«t|¦«\}}d|vrg|d<g}|dD](}t|||¦«}| |¦«Œ)||d<d|vrGt |d ¦«¦«D]\}}|D]}||dvr i|d|<ŒŒ |dD]F}|d|vr:d|vrg|d<|d|dvr!|d |d¦«ŒGd|vr!|d|dvri|d|d<|S)Nr6rr1r0rqr4r­)rGr‘r5r*rur:)r2r�rór6r,r}Úargs1r\s r)rhrh“ s€€Ý�ÑÔÐÝ)¨%Ñ0Ô0Ñ€M�1Ø �UÐÐØˆˆf‰ Ø €DØ �6Œ]ððˆÝ �a˜ Ñ %Ô %ˆØ � Š �A‰ŒˆˆØ€Eˆ&�MØ�%ÐÐݘU 7œ^×1Ò1Ñ3Ô3Ñ4Ô4ð *ð *‰HˆAˆuØð *ð *�ؘE &œMÐ)Ð)Ø')�E˜&”M !Ñ$øð *ð�6Œ]ð5ð5ˆØ ˆVŒ9˜Ð Ð Ø %Ð'Ð'Ø%'��kÑ"Ø�Œy  kÔ 2Ð2Ð2Ø�kÔ"×)Ò)¨!¨F¬)Ñ4Ô4Ð4øØ�5ÐИU 8œ_°E¸&´MÐAÐAØ)+ˆˆfŒ �e˜H”oÑ&Ø €Lr(z\A\(.+?,.+?\)\Zz\A[+-]?\d+(_(?P\w+)|)\Zz*\A[+-]?[\d.]+[-\d+de.]*(_(?P\w+)|)\Zz \A\(.*\)\Zz\A(?P\w+)\s*\(.*?\)\s*\Zcóþ—t|t¦«rddiSt|t¦«rddiSt|t¦«rddiSt|t¦«r|St t |¦«¦«‚)Nr4r7r5rº)rár8r:rºrÌÚAssertionErrorrÓ)r�s r)Ú_ensure_exprdictr:µ s„€Ý�!•SÑÔð'ؘIÐ&Ð&Ý�!•UÑÔð$ؘFÐ#Ð#Ý�!•WÑÔð'ؘIÐ&Ð&Ý�!•TÑÔðØˆÝ �˜a™œÑ !Ô !Ð!r(cóЗ||vrt||¦«S| ¦«}t |¦«rddiSt |¦«}|rNd| ¦«vr4| d¦«rtdt|¦«z¦«ddiSt |¦«}|rNd| ¦«vr4| d¦«rtdt|¦«z¦«ddiSdD]V}d„t||¬ ¦«  d |zd z¦«D¦«D]}||vrt||¦«ccSŒ ŒWi}t |¦«rt|d d …||¦«}n…t |¦«}|ri| d¦«}t| d¦«||¦«}|rd |vr|d =|s%|d|vrt||d¦«S|ddvrdddidœS|stdt|¦«z¦«|S)Nr4rºrqz:determineexprtype: selected kind types not supported (%s) r7r5)ú+r¼rr¿có6—g|]}| ¦«‘ŒSr'ržrŸs r)rxz%determineexprtype..Ô s €ÐZÐZÐZ �!—'’'‘)”)ÐZÐZÐZr(r!rhrr rmrr±rr)r4roz>determineexprtype: could not determine expressions (%s) type. )r:rªÚdetermineexprtype_re_1r×Údetermineexprtype_re_2r"rØr2rÓÚdetermineexprtype_re_3r(r)Údetermineexprtype_re_4rÕÚdetermineexprtype_re_5)rr1ÚrulesröÚopr¹rçÚrns r)rÕrÕÁ sÀ€Ø ˆt€|€|Ý  T¤ Ñ+Ô+Ð+Ø �:Š:‰<Œ<€DÝ×#Ò# DÑ)Ô)ð'ؘIÐ&Ð&Ý×$Ò$ TÑ*Ô*€AØð'Ø �Q—[’[‘]”]Ð "Ð " q§w¢w¨v¡¤Ð "Ý ØMÕPTÐUYÑPZÔPZÑZñ \ô \ð \à˜IÐ&Ð&Ý×$Ò$ TÑ*Ô*€AØð$Ø �Q—[’[‘]”]Ð "Ð " q§w¢w¨v¡¤Ð "Ý ØMÕPTÐUYÑPZÔPZÑZñ \ô \ð \à˜FÐ#Ð#Ø"ð1ð1ˆØZÐZ¥^°DÀÐ%CÑ%CÔ%C×%IÒ%IÈ#ÐPRÉ(ÐUXÉ.Ñ%YÔ%YÐZÑZÔZð 1ð 1ˆAØ�DˆyˆyÝ'¨¨Q¬Ñ0Ô0Ð0Ð0Ð0Ð0Ð0ðð 1ð €AÝ×#Ò# DÑ)Ô)ð :Ý ˜d 1 R 4œj¨$°Ñ 6Ô 6ˆˆå "× (Ò (¨Ñ .Ô .ˆØ ð :Ø—’˜‘”ˆBÝ! !§'¢'¨&¡/¤/°4¸Ñ?Ô?ˆAØð "�Z 1�_�_Ø�j�MØð :Ø�a”5˜E�>�>Ý+¨E°"°Q´%¬LÑ9Ô9Ð9Ø ˆA„w�%ÐÐØ'¸#¸s¸ÐDÐDÐDØ ð^ÝØ MÕQUÐVZÑQ[ÔQ[Ñ \ñ ^ô ^ð ^à €Hr(r¿Fcól—t|¦«d}t|t¦«rO|D]J}|r1|ddvr'|dtvrŒtr|dtvrŒ5|t |||¬¦«z}ŒK|Sd}d}d}|d}|dkrdSg} d|vr|d}d|vrt|d} |dD]=} t | || ¦«} t| | ¦«s|  | ¦«Œ>|dd ks| rd d   | ¦«z}d} d |vrIt|d   ¦«¦«D]!} | ›|tz›| ›d |d | ›�} Œ"|  dg¦«dd…}|d krd|vr|  d¦«|r'| ›|tz›dd   |¦«›d|›�} d}d|vrt|d|tz¦«}d}d|vrt|d|tz¦«}|dkrd}d}d|vr0d|dz}|d| vr|  |d¦«t |d|tz|¬¦«}t!||d| |tz|¬¦«} d}d|vr |s d|dz}d|vr\d}t|d ¦«¦«D]-\} }|›|tz›d| ›dd   |¦«›d�}Œ.||z}|dkr|dkrd}|›|›|›d |›|›|›d |›| ›|›| ›|›|›|›d |›d |›�}|S)!Nr r2r©rqr†r•r6r1rýz(%s)r'rr±r Úcallbackúintent(z) rrr£r­z result (%s)r0r—z! in %srzentry r7r8r˜r›zend )rGrárur#r$rŠr5rr*rßrvrr€rÍÚ use2fortranÚcommon2fortranÚ vars2fortranr:)r2rVr‡r]rYr¦rqr6Ú blocktypeÚargslr1r,rr}Ú intent_lstrrr­r0ÚmessÚ entry_stmtsrìs r)rŠrŠî sB€õ�ÑÔÐØ €CÝ�%�ÑÔðØð Lð LˆAØð �Q�w”ZÐ#=Ð=Ð=Ø�V”9¥ Ð)Ð)ØÝð  6¤µ)Ð!;Ð!;ØØÕ(¨¨C¸lÐKÑKÔKÑKˆCˆC؈ Ø €FØ €DØ €DØ�g”€IØ�IÒÐØˆrØ €EØ �€€Ø�VŒ}ˆØ �€€Ø�VŒ}ˆØ�v”ð ð ˆAݘ!˜U EÑ*Ô*ˆAÝ$ T¨!¤WÑ-Ô-ð Ø— ’ ˜Q‘”�øØ �Œ>˜ZÒ 'Ð '¨5Ð 'ؘCŸHšH U™OœOÑ+ˆDØÐؘUÐ"Ð"Ý�eÐ.Ô/×4Ò4Ñ6Ô6Ñ7Ô7ð Rð RˆAà Ð  #­¡- -°°°°EÐ:LÔ4MÈaÔ4PÐ4Pð RÐ Ð à—’˜8 RÑ(Ô(¨¨¨Ô+€JØ�JÒР:°Ð#;Ð#;Ø×Ò˜*Ñ%Ô%Ð%Øð8à,Ð,¨cµG©m¨m¨mØŸHšH ZÑ0Ô0Ð0Ð0°$°$ð8Ðð €CØ �€~€~ݘ% œ,¨­g© Ñ6Ô6ˆØ €FØ�5ÐÐÝ  h¤°µw±Ñ?Ô?ˆØ Ð"Ò"Ð"ØˆØ €FØ�5ÐÐØ %¨¤/Ñ1ˆØ �Œ? %Ð 'Ð 'Ø �LŠL˜˜xœÑ )Ô )Ð )Ý ˜E &œM¨3µ©=À|Ð TÑ TÔ T€DÝ Ø ˆu�VŒ}˜e S­7¡]Àð Oñ Oô O€Dà €DØ �€€˜|€Ø˜5 œ=Ñ(ˆØ�%ÐÐØˆ ݘ˜wœ×-Ò-Ñ/Ô/Ñ0Ô0ð Ið I‰DˆAˆqà(˜[¨#µ©-¨-¨-¸¸¸¸C¿HºHÀQ¹K¼K¸K¸KðIˆKˆKà�kÑ!ˆØ�LÒ Ð  T¨^Ò%;Ð%;Øˆà ˆˆVˆV�Y�Y�Y   d d¨F¨F¨F°D°DÐ:JÐ:JÈCÈCÐQUÐQUÐW]ÐW]Ð_cÐ_cÐehÐehÐehÐjsÐjsÐjsÐuyÐuyð {€Cà €Jr(c óî—d}t| ¦«¦«D]P}|dkr#|›|›dd ||¦«›�}Œ+|›|›d|›dd ||¦«›�}ŒQ|S)Nr rÃzcommon r'zcommon /z/ )rurvrß)rrVr]r}s r)rJrJ9 sŠ€Ø €CÝ �&—+’+‘-”-Ñ Ô ðLðLˆØ �Š=ˆ=Ø%( S¨#¨#¨#¨s¯xªx¸¸q¼ Ñ/BÔ/BÐ/BÐCˆCˆCà*-¨#¨s¨s¨s°A°A°A°s·x²xÀÀqÄ Ñ7JÔ7JÐ7JÐKˆCˆCØ €Jr(có2—d}t| ¦«¦«D]ò}|›|›d|›d�}||ikr|r|ddkr |dd…}Œ1d||vr||drd|z}d||vr‚||drtd}t||d ¦«¦«D]D}|||d|kr |›|›|›�}d}Œ%|›|›|›d ||d|›�}d}ŒE|r|ddkr |dd…}Œó|S) Nr zuse r'r rÆz%s only:rÉr±z=>r?)rrVr]rör¹r}s r)rIrIC sa€Ø €CÝ �#—(’(‘*”*Ñ Ô ððˆØ"˜s C C C¨¨¨Ð+ˆØ ˆqŒ6�RŠ<ˆ<Øð �s˜2”w #’~�~ؘ#˜2˜#”h�Ø Ø �S˜”VÐ Ð   A¤ v¤Ð Ø Ñ$ˆCØ �C˜”Fˆ?ˆ?˜s 1œv eœ}ˆ?؈Aݘ#˜aœ& œ-×,Ò,Ñ.Ô.Ñ/Ô/ð ð �ؘ˜Aœ˜uœ  aÔ(Ò(Ð(Ø&) c¨1¨1¨a¨aÐ0�CØ�A�Aà*-¨#¨q¨q°!°!°!°S¸´V¸E´]À1Ô5EÐ5EÐF�CØ�A�AØ ð �3�r”7˜c’>�>Ø�c�r�c”(ˆCøØ €Jr(có´—|d}g}|D]J} t¦«d|z}||¦«r| |¦«Œ;#t$rYŒGwxYw|S)Nr z isintent_%s)Úglobalsr*rü)r^r­r]r rfs r)Útrue_intent_listrU[ s…€Ø ˆhŒ-€CØ €CØð#ð#ˆð #Ý‘ ” ˜-¨&Ñ0Ô1ˆAðˆq�‰vŒvð #Ø— ’ ˜6Ñ"Ô"Ð"øøõ ð ð ð Ø ˆDð øøøð €Js�AÁ AÁAc óÞ —t|¦«d}g}|D]!}||dvr| |¦«Œ"d|vr;|dD]2}||vr||vr| |¦«Œ td|z¦«Œ3d|vr| |d¦«|s=t | ¦«¦«D]}||vr| |¦«Œ|D�]}d||vrE||dD]6}||vr0d||vr&|||dvrtd|›d|›d �¦«Œ7d |vrŠ||d vr€t ||¦«r |›|›d |›�}|›|›d |›�}t||¦«r |›|›d |›�}||vr d||vrŒ´d} |dD]} || dkr| ddkrd} nŒ| rŒà||vr#t|¦«td|z¦«�Œ||dkr#|ddks|  d¦«r�Œ6d||vrRd||vrd||dvr||vr |›|›d |›�}�Œit||¦«td|z¦«�Œ’||d} | dkrd||vr| ›d||d›d�} i} d||vr||d} nd||vr||d} d | vr'| d d!vr| ›d"| d ›d�} nJ| ›d | d ›�} n.à s,€ð.ð.ð.˜!Ø  Ð,Ð,ðØ,Ð,Ð,r(z intent(in)z intent(out)rwr'rz dimension(r rHrszcheck(zdepend(rp)rºr z :: )rGr*ror rurvrÚ isoptionalÚshowr2r€rÍrßrUrÙr5ÚimagrË)r2r1r6rVr‡r]Únoutr,r$rår\Úvardefrèr¹rér­ròs r)rKrKi sü€õ �ÑÔÐØ €CØ €DØ ððˆØ ��f” Ð Ð Ø �KŠK˜‰NŒNˆNøØ�uÐÐØ�|Ô$ð Tð TˆAØ�DˆyˆyؘD�=�=Ø—K’K ‘N”N�NøåØNÐQRÑRñTôTðTðTà�UÐÐØ � Š �E˜*Ô%Ñ&Ô&Ð&Ø ðÝ�d—i’i‘k”kÑ"Ô"ð ð ˆAؘˆ}ˆ}Ø— ’ ˜A‘”�øØ ðg,ñg,ˆØ �t˜A”wРРؘ!”W˜XÔ&ð nð n�ؘ�9�9 ¨T°!¬WÐ!4Ð!4¸¸dÀ1¼gÀhÔ>OÐ9OÐ9OÝ�GØghÐghÐghÐjkÐjkÐjkÐlñnônðnøà ˜%Ð Ð  A¨¨{Ô);Ð$;Ð$;Ý   a¤Ñ)Ô)ð @Ø36°3¸¸¸¸Q¸QÐ?�Ø'* s¨C¨C¨C°°Ð3ˆCݘ$˜qœ'Ñ"Ô"ð 8Ø+.¨3°°°°Q°QÐ7�Ø�Dˆyˆy˜Z¨t°A¬wÐ6Ð6ØØˆDؘ6”]ð ð �ؘ˜&œ ’>�> a¨¤j°JÒ&>Ð&>Ø�DØ�EøØð ØØ �Dˆ=ˆ=Ý �‰JŒJˆJÝ ÐFÈÑJÑ KÔ KÐ KÙ Ø ��f” Ò Ð Ø�WŒ~ Ò+Ð+¨u¯yªy¸Ñ/BÔ/BÐ+ñ Ø ˜T !œWÐ $Ð $ؘT !œWÐ$Ð$¨°t¸A´w¸zÔ7JÐ)JÐ)Jؘ�9�9Ø/2¨s°C°C°C¸¸Ð;�CÙÝ ��a”‰MŒMˆMÝ ÐDÀqÑHÑ IÔ IÐ IÙ Ø�a”˜Ô$ˆØ �VÒ Ð   ¨d°1¬gÐ 5Ð 5Ø!'  ¨¨a¬°Ô)<Ð)<Ð)<Ð=ˆFØˆØ ˜T !œWÐ $Ð $ؘA”w˜~Ô.ˆHˆHØ ˜t AœwÐ &Ð &ؘA”w˜~Ô.ˆHØ �(ˆ?ˆ?ؘŒ}  Ð*Ð*Ø&, f f¨h°s¬m¨m¨mÐ<��à$* F F¨H°S¬M¨MÐ:��à˜Ð Ð Ø(.¨¨°¸´°Ð@�ؘXÐ%Ð%Ø.4¨f¨f°h¸vÔ6FÐ6FÐ6FÐG�F�Fà" fÑ-�F�Fؘ8Ð#Ð#Ø*0¨&¨&°(¸6Ô2BÐ2BÐ2BÐC�Ø ˆØ ˜˜aœÐ Ð ð.ð.˜t Aœw zÔ2ð.ñ.ô.ˆDàð +  °Ð 4Ð 4¸È$Ð9NÐ9Nð — ’ ˜MÑ*Ô*Ð*Øð Ø%+ V V¨S¯XªX°d©^¬^¨^Ð<�Ø�Ø ˜$˜qœ'Ð !Ð !à�˜˜˜˜3Ÿ8š8 D¨¤G¨KÔ$8Ñ9Ô9Ð9Ð9ð;ˆFàˆAØ �t˜A”wÐ Ð Ý" 4¨¤7Ñ+Ô+ˆCØð GØ-3¨V°Q°Q°Q¸¿ºÀ¹ ¼ ¸ ¸ ÐF�؈AØ �d˜1”gÐ Ð Ø(.¨°°°°3·8²8¸DÀ¼GÀGÔˆ>Ø�Q”˜” ˆAØ�AŒw�zÔ"Ð&CÐCÐCðݘQ™œ�A�AØ%&¤V V V¨Q¬V¨V¨VÐ4�A�AøÝ ðððØ�Dðøøøà&, f f¨a¨a¨a°°Ð3ˆFˆFà#) 6 6¨1¨1Ð-ˆFؘ#˜s˜s F FÐ+ˆ‰Ø €JsÒ"SÓ SÓ Scó|—tdd¦«t|t¦«tdd¦«gat t d¦«}tdd¦«t D]+}td|j›d�d¦«t||¦«}Œ,tdd¦«t|¦«}t|zS)NzReading fortran codes... rzPost-processing... z"Applying post-processing hooks... z r¿zPost-processing (stage 2)... ) r2rÝr<rrgrÚpost_processing_hooksÚ__name__ÚtraverserX)ÚfilesÚpostlistÚhooks r)Ú crackfortranrdô sÄ€õ Ð (¨!Ñ,Ô,Ð,Ý�E�9Ñ%Ô%Ð%Ý Ð " AÑ&Ô&Ð&Ø€KÝ� 1œÑ&Ô&€HÝ Ð 1°1Ñ5Ô5Ð5Ý%ð,ð,ˆÝÐ&�T”]Ð&Ð&Ð&¨Ñ*Ô*Ð*ݘH dÑ+Ô+ˆˆÝ Ð ,¨aÑ0Ô0Ð0ݘ(Ñ#Ô#€HÝ ˜Ñ !Ð!r(cóN—t|¦«dz}d}dtz}||z|zS)Nr¿zE! -*- f90 -*- ! Note: the context of this file is case sensitive. z� ! This file was auto-generated with f2py (version:%s). ! See: ! https://web.archive.org/web/20140822061353/http://cens.ioc.ee/projects/f2py2e )rŠÚ f2py_version)r2ÚpyfÚheaderÚfooters r)Ú crack2fortranrj s?€õ ˜5Ñ !Ô ! DÑ (€Cð€Fðõñ €Fð �C‰<˜&Ñ Ð r(có–—t|t¦«o4t|¦«dko!t|dttf¦«S)Nr3r)ráÚtuplerXr8r³)Úobjs r)Ú_is_visit_pairrn s@€Ý �s�EÑ "Ô "ð /Ý�C‘”˜A’ ð /å˜3˜qœ6¥C­ :Ñ.Ô.ð0r(có8—t|¦«r9|ddkr|S||||g|¢Ri|¤Ž}|�t|¦«sJ‚|S|}|\}}nd|f}d}t|t¦«rLg}t|¦«D]9\} } t | | f|g|¢R||gz|dœ|¤Ž\} } | �| | ¦«Œ:ndt|t ¦«rMt ¦«}| ¦«D])\} } t | | f|g|¢R||gz|dœ|¤Ž\}}|�|||<Œ*n|}|€|S||fS)aíTraverse f2py data structure with the following visit function: def visit(item, parents, result, *args, **kwargs): """ parents is a list of key-"f2py data structure" pairs from which items are taken from. result is a f2py data structure that is filled with the return value of the visit function. item is 2-tuple (index, value) if parents[-1][1] is a list item is 2-tuple (key, value) if parents[-1][1] is a dict The return value of visit must be None, or of the same kind as item, that is, if parents[-1] is a list, the return value must be 2-tuple (new_index, new_value), or if parents[-1] is a dict, the return value must be 2-tuple (new_key, new_value). If new_index or new_value is None, the return value of visit is ignored, that is, it will not be added to the result. If the return value is None, the content of obj will be traversed, otherwise not. """ rrIN)Úparentsr­)rnrárur r`r*rÌr:)rmÚvisitrpr­r6ÚkwargsÚ new_resultÚparentÚ result_keyr[r„Ú new_indexÚnew_itemrƒÚnew_keyÚ new_values r)r`r` sç€õ8�cÑÔð Ø ˆqŒ6�^Ò #Ð #àˆJØ�U˜3 ¨ÐA°$ÐAÐAÐA¸&ÐAÐAˆ Ø Ð !Ý! *Ñ-Ô-Ð -Ð -Ð-ØÐ ؈؉ˆ �C�Cà˜�ˆØˆ å�#•tÑÔðØˆ Ý% c™NœNð ,ð ,‰LˆE�5Ý"*¨E°5¨>¸5ð#Kà;?ð#Kð#KØ3:¸f¸XÑ3EØ28ð#Kð#KàCIð#Kð#KÑ ˆI�xðÐ$Ø×!Ò! (Ñ+Ô+Ð+øð  ,õ �C�Ñ Ô ð Ý‘V”Vˆ ØŸ)š)™+œ+ð 0ð 0‰JˆC�Ý!)¨3°¨,¸ð"Jà:>ð"Jð"JØ29¸V¸HÑ2DØ17ð"Jð"JàBHð"Jð"JÑ ˆG�YðÐ"Ø&/� ˜7Ñ#øð  0ðˆ àÐØÐØ �zÐ !Ð!r(c ób—|d\}}|\}}d„} |dvr#|dddksJ‚|dd} n+|dkr#|d ddksJ‚|d d} nd } d } | �8|} |  ¦«D] \} } t| ¦«r | | | ¦«} Œ!nd|d kr^|d dd} |} |  ¦«D]3\} } t| ¦«rtjd | zd zd| z| ¦«} Œ4| �'| |krt d|›d|›d|›d| ›d� d¦«|| fSd S)aüPreviously, Fortran character was incorrectly treated as character*1. This hook fixes the usage of the corresponding variables in `check`, `dimension`, `=`, and `callstatement` expressions. The usage of `char*` in `callprotoargument` expression can be left unchanged because C `character` is C typedef of `char`, although, new implementations should use `character*` in the corresponding expressions. See https://github.com/numpy/numpy/pull/19388 for more information. r cóv—tjd|zdz||¦«}tjd|zdz||¦«}|S)Nz[*]\s*\br•z\b\s*[\[]\s*0\s*[\]])rÄrÑ)Úvarnamer„s r)Ú fix_usagez8character_backward_compatibility_hook..fix_usagen sF€Ý”�{ WÑ,¨uÑ4°g¸uÑEÔEˆÝ”�u˜w‘Ð)@Ñ@Ø ñ'ô'ˆàˆ r()rrséýÿÿÿrr1rrpr¢NÚ callstatementz (? `z` )r:Ú ischaracterrÄrÑr2)Úitemrpr­r6rrÚ parent_keyÚ parent_valuerƒr„r}Ú vars_dictryr|Úvds r)Ú%character_backward_compatibility_hookr†\ sá€ð ' rœ{Ñ€J� Ø�J€Cˆðððð Ð+Ð+Ð+Ø�rŒ{˜1Œ~ Ò'Ð'Ð'Ð'ؘB”K ”Nˆ ˆ Ø �ŠˆØ�rŒ{˜1Œ~ Ò'Ð'Ð'Ð'ؘB”K ”Nˆ ˆ àˆ à€IØÐ؈ Ø$Ÿ?š?Ñ,Ô,ð :ð :‰KˆG�Rݘ2‰Œð :Ø%˜I g¨yÑ9Ô9� øð :ð �Ò Ð Ø˜B”K ”N 6Ô*ˆ ؈ Ø$Ÿ?š?Ñ,Ô,ð Oð O‰KˆG�Rݘ2‰Œð OõœFØ! GÑ+¨eÑ3°S¸7±]ÀIñOôO� øðÐØ ˜Ò Ð õ ð>¨ð>ð>°cð>ð>Ø"'ð>ð>Ø/8ð>ð>ð>Ø?@ñ Bô Bð Bà�YÐÐðÐr(Ú__main__r¤z-quietz-verboser3z-fixz?Use option -f90 before -fix if Fortran 90 code is in fix form. z-skipemptyendsz--ignore-containsz-f77z-f90r¶z-hz-showz-mr¼zUnknown option %s z OSError: a Warning: You have specified module name for non Fortran 77 code that should not need one (expect if you are scanning F90 code for non module blocks but then you should use flag -skipemptyends and also be sure that the files do not contain programs without program statement). z Writing fortran code to file %s rz)r)r)r')rCr,)r N)Nr )r )NN)rr)r¿F)r F)ÒÚ__doc__r-rcrÈrÄrŠrÎrÆr�Úpathlibrr‡Ú ImportErrorr rÚauxfuncsrÚversionrfr rrrrrrrrrrrÃr!rrr rr>rrr=r%rr$r&rr#r"rr*r2Ú _MAXCACHErŽr¹rnr}r®rrr{r~r�rÅrÆr™r¨r©rÐr×r«r¦rÏr›r¯rYrÝÚbeforethisafterÚ fortrantypesrOrÝrLrMÚ groupbegins77rÑÚ groupbegins90rÒÚ groupendsrJÚendifsrIÚmoduleproceduresrUrNr?r@rBrCrFrGrHrArDrErQrTrXrPrRrSrKÚSr:r;rÖr-rVr<rWr(rkr~rrˆr�r�r‘rÖr´r�rƒr‹r’rYrârÐrÓrnror;r(rrrÑrÞrwrxryrErGrJrRrXrgrkrirlr‘r“r˜ržr¡r£r©r¯rµrºrÊrÔrärærârjr.r5rhr>r?r@rArBr:rÕrŠrJrIrUrKr^rdrjrnr`r†r*r_raÚfuncsrfÚf2Úf3Ú showblocklistÚargvrïrorÓr�ráÚOSErrorÚdetailrbrgr/r'r(r)úr�sŸððKðKðX € € € Ø € € € ØÐÐÐØ € € € Ø € € € Ø € € € Ø€€€Ø € € € ØÐÐÐÐÐðØÐÐÐÐøØðððØÐÐÐðøøøðÐÐÐÐÐð ÐÐÐØÐÐÐÐÐàÔ"€ ð € Ø€Ø €Ø €Ø €Ø€ Ø€ Ø€ ؀؀ Ø €ð€ ؀؀ Ø€ ØÐØ€ Ø € Ø€ Ý ˜2Ð € Ø € Ø€ Ø€ Ø € ØÐØ€Ø € Ø€ Ø€ ð#ð#ð#ðLðððð€„ ØÐØ !ð3ð3€AØ)¨6Ð2ИÑÐØ ð6ð6€AØ)¨9Ð5ИÑÐØ €Ø€ ð ð ð €Að�e‘)€HˆQ�KØ€K��E‘ ÑÐðððð,ð,ð,ðððð1ð1ð1ð�” Ð3°R´TÑ:Ô:ÔA€ Ø�"”*Ð1°2´4Ñ8Ô8Ô?€Ø�"”*Ð1°2´4Ñ8Ô8Ô?€Ø�"”*Ð1°2´4Ñ8Ô8Ô>€ð:Ð9Ð9ÐØ8Ð8Ð8Ðð3ð3ð3ð>ððð4'+°!ðbDðbDðbDðbDðJ€ðD€ ؈rŒzØ�r˜<¨°tÐ<Ñ<¸b¼dñDôDØEKðL€ à"˜œ  ?؈ Ð4Ñ4°lÐEbÑ6bÐdhð6jñ$jØkmÔkoñqôqÐð�"”*˜_ð0?ñ?Ø@BÄñFôFØGNðO€à�B”J˜ð24ñ 4Ø57´Tñ;ô;ØÑ>ÀÄñFôFØGNðO€àØGñHàñ€ ð�”Ø�r˜=¨-¸Ð>Ñ>ÀÄñFôFØGNðO€ð7€ à ˆRŒZØ�r˜9 i°Ð6Ñ6¸¼ñ>ô>Ø?DðE€ ð €àˆrŒzØ�y &¨&°$Ð7Ñ7¸¼ñ?ô?Ø@GðH€ ð)ÐØ#˜œØ�rÐ+Ð-=¸tÐDÑDÀbÄdñLôLàðÐð�"”*ØÐ8Ñ8¸"¼$ñ@ô@ØAKðL€à�2”:˜oð18ñ8Ø9;¼ñ?ô?Ø@KðLÐà�"”*ØÐ8Ñ8¸"¼$ñ@ô@ØAKðL€à�"”*ØÐ8Ñ8¸"¼$ñ@ô@ØAKðL€à�"”*ØÐ8Ñ8¸"¼$ñ@ô@ØAKðL€à�” ØÐ4Ñ4°b´dñ<ô<Ø=EðF€ à�”ØÐ6Ñ6¸¼ñ>ô>Ø?HðI€à�2”:ØÐ:Ñ:¸B¼DñBôBØCNðOÐà�” ˜?ð.QñQØRTÔRVñXôXØYaðb€ à�2”:ØÐ@Ñ@À"Ä$ñHôHØITðUÐàˆbŒjØÐ0Ñ0°"´$ñ8ô8Ø9?ð@€ àˆbŒjØÐ0Ñ0°"´$ñ8ô8Ø9?ð@€ àˆrŒzØÐ2Ñ2°B´Dñ:ô:Ø;BðC€ à�”ØÐ6Ñ6¸¼ñ>ô>Ø?HðI€à�” ØÐ4Ñ4°b´dñ<ô<Ø=EðF€ à ˆRŒZØÐ.Ñ.°´ñ6ô6Ø7<ð=€ à�"”*ØÐ6Ñ6¸¼ñ>ô>Ø?IðJ€à�” ØÐ4Ñ4°b´dñ<ô<Ø=EðF€ ð%˜"œ* _ð8Mñ&MðOQôOSðVXôVZñOZñ[ô[ð]oðoÐà�2”:Ø9¸2¼4ñAôAØBMðNÐðððð(ððð�”ÐAÀ2Ä4ÑHÔH€ð\%ð\%ð\%ð\%ð~ ð ð ð$ ð ð ð ð& ð ð ð ðððð>�” ØKÈRÌTñSôS€ à�”ð%Ø&(¤dñ,ô,€ð�"”*ðrðtvôtxñyôy€à�"”*ð*Ø+-¬4ñ1ô1€ð!�b”jØ@À"Ä$ñHôHÐà�” Ø;ñ=ô=€ àˆrŒzØHñJôJ€ ð$˜œÐ$AÀ2Ä4ÑHÔHÐð ð ð ðððð  ð  ð  ðnDðnDðnDðb ð ð ð(ð(ð(ð4ˆbŒjÐEÀrÄtÑLÔL€ ؈rŒzØIÈ2Ì4ñQôQ€ àˆrŒzØ9¸2¼4ñAôA€ à�”ð2à35´4ñ9ô9€ð�"”*ðGðIKôIMñNôN€ð ð ð ð"ð"ð"ðJWðWðWðt8,ð8,ð8,ðxðððð6 ð ð ð ð ð ð ð ððððð ð ð ðððððððð<ðððð@]ð]ð]ð]ð@ðððD(ð(ð(ðV*ð*ð*ð*ðZ$ð$ð$ð&#ð#ð#ð#ð�"”*˜^¨R¬TÑ2Ô2€ðEðEðEðPˆrŒzÐ,¨b¬dÑ3Ô3€ ðððð,ððð4ð4ð4ð("ð"ð"ð ð ð ð ðððð&(*ð[ð[ð[ð[ð|(ð(ð(ð �"”*˜WÑ%Ô%Ô+€ð ð ð ð |ð|ð|ð| �2”:Ð1°2´4Ñ8Ô8Ðð ð" ð" ð" ð" ðJððð4$˜œÐ$6¸¼Ñ=Ô=ÐØ#˜œÐ$DÀbÄdÑKÔKÐØ#˜œØ1°2´4ñ9ô9Ðà#˜œ M°2´4Ñ8Ô8ÐØ#˜œÐ$EÀrÄtÑLÔLÐð "ð "ð "ð)+ð( ð( ð( ð( ðZHðHðHðHðVðððððððð0 ð ð ðBðBðBðBðPÐð"ð"ð"ð" !ð !ð !ð0ð0ð0ð "$¨Dð?"ð?"ð?"ð?"ðD9 ð9 ð9 öx×ÒÐBÑCÔCÐCð ˆzÒÑØ €EØ €EØ €AØ €BØ €BØ€MØ ŒX�a�b�bŒ\ð1ñ1ˆØ �Š7ˆ7Ø Ø ˆqŒT�SŠ[ˆ[؈AˆAØ �(Š]ˆ]؈E؈GˆGØ �*Š_ˆ_؈G؈EˆEØ �&Š[ˆ[Ýð [Ø�ØVÐXYñ[ô[ð[àˆMØ"ˆNˆNØ Ð"Ò "Ð "؈MˆMØ Ð%Ò %Ð %؈NˆNØ �&Š[ˆ[؈IØ"ˆNˆNØ �&Š[ˆ[؈IØ#ˆN؈MˆMØ �$ŠYˆY؈BˆBØ �'Š\ˆ\؈MˆMØ �$ŠYˆY؈BˆBØ ˆqŒT�SŠ[ˆ[Ø ˆGÐ)¨D¨D°©G¬GÑ3Ñ 4Ô 4Ð 4Ð 4Ø ð ØˆB؈KˆKØ ð ØˆB؈MˆMØ ð ð 2Ø��Q‘”— ’ ‘”�Ø— ’ ˜Q‘”��øØð 2ð 2ð 2Ø�Ð0 FÐ0Ð0Ð0Ñ1Ô1Ð1Ð1Ð1Ð1Ð1Ñ1øøøøð 2øøøð �LŠL˜‰OŒOˆO‰OÝ ð�ð­}ð؈ðð ñ  ô ð ðˆ|˜EÑ"Ô"€HÝð؈Ð3°d°d½;Ñ6GÔ6GÑGÈÑKÔKÐK؈m˜HÑ%Ô%ˆØ ˆT•+˜sÑ #Ô #ð  qØ �GŠG�C‰LŒLˆLð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð àðØ ˆˆX‰ŒˆˆˆðSÐðPðs6ª/¯9¸9á2bâb0âb+â+b0ä6eåeåe