
    fh                     6    d Z dZ ee          ZddlmZ d ZdS )z
List of builtin formulae
(c  CUBEKPIMEMBER
CUBEMEMBERCUBEMEMBERPROPERTYCUBERANKEDMEMBERCUBESETCUBESETCOUNT	CUBEVALUEDAVERAGEDCOUNTDCOUNTADGETDMAXDMINDPRODUCTDSTDEVDSTDEVPDSUMDVARDVARPDATEDATEDIF	DATEVALUEDAYDAYS360EDATEEOMONTHHOURMINUTEMONTHNETWORKDAYSzNETWORKDAYS.INTLNOWSECONDTIME	TIMEVALUETODAYWEEKDAYWEEKNUMWORKDAYzWORKDAY.INTLYEARYEARFRACBESSELIBESSELJBESSELKBESSELYBIN2DECBIN2HEXBIN2OCTCOMPLEXCONVERTDEC2BINDEC2HEXDEC2OCTDELTAERFERFCGESTEPHEX2BINHEX2DECHEX2OCTIMABS	IMAGINARY
IMARGUMENTIMCONJUGATEIMCOSIMDIVIMEXPIMLNIMLOG10IMLOG2IMPOWER	IMPRODUCTIMREALIMSINIMSQRTIMSUBIMSUMOCT2BINOCT2DECOCT2HEXACCRINTACCRINTM	AMORDEGRCAMORLINC	COUPDAYBSCOUPDAYS
COUPDAYSNCCOUPNCDCOUPNUMCOUPPCDCUMIPMTCUMPRINCDBDDBDISCDOLLARDEDOLLARFRDURATIONEFFECTFV
FVSCHEDULEINTRATEIPMTIRRISPMT	MDURATIONMIRRNOMINALNPERNPV	ODDFPRICE	ODDFYIELD	ODDLPRICE	ODDLYIELDPMTPPMTPRICE	PRICEDISCPRICEMATPVRATERECEIVEDSLNSYDTBILLEQ
TBILLPRICE
TBILLYIELDVDBXIRRXNPVYIELD	YIELDDISCYIELDMATCELLz
ERROR.TYPEINFOISBLANKISERRISERRORISEVEN	ISLOGICALISNA	ISNONTEXTISNUMBERISODDISREFISTEXTNNATYPEANDFALSEIFIFERRORNOTORTRUEADDRESSAREASCHOOSECOLUMNCOLUMNSGETPIVOTDATAHLOOKUP	HYPERLINKINDEXINDIRECTLOOKUPMATCHOFFSETROWROWSRTD	TRANSPOSEVLOOKUPABSACOSACOSHASINASINHATANATAN2ATANHCEILINGCOMBINCOSCOSHDEGREESzECMA.CEILINGEVENEXPFACT
FACTDOUBLEFLOORGCDINTzISO.CEILINGLCMLNLOGLOG10MDETERMMINVERSEMMULTMODMROUNDMULTINOMIALODDPIPOWERPRODUCTQUOTIENTRADIANSRANDRANDBETWEENROMANROUND	ROUNDDOWNROUNDUP	SERIESSUMSIGNSINSINHSQRTSQRTPISUBTOTALSUMSUMIFSUMIFS
SUMPRODUCTSUMSQSUMX2MY2SUMX2PY2SUMXMY2TANTANHTRUNCAVEDEVAVERAGEAVERAGEA	AVERAGEIF
AVERAGEIFSBETADISTBETAINV	BINOMDISTCHIDISTCHIINVCHITEST
CONFIDENCECORRELCOUNTCOUNTA
COUNTBLANKCOUNTIFCOUNTIFSCOVAR	CRITBINOMDEVSQ	EXPONDISTFDISTFINVFISHER	FISHERINVFORECAST	FREQUENCYFTEST	GAMMADISTGAMMAINVGAMMALNGEOMEANGROWTHHARMEANHYPGEOMDIST	INTERCEPTKURTLARGELINESTLOGESTLOGINVLOGNORMDISTMAXMAXAMEDIANMINMINAMODENEGBINOMDISTNORMDISTNORMINV	NORMSDISTNORMSINVPEARSON
PERCENTILEPERCENTRANKPERMUTPOISSONPROBQUARTILERANKRSQSKEWSLOPESMALLSTANDARDIZESTDEVSTDEVASTDEVPSTDEVPASTEYXTDISTTINVTRENDTRIMMEANTTESTVARVARAVARPVARPAWEIBULLZTESTASCBAHTTEXTCHARCLEANCODECONCATENATEDOLLAREXACTFINDFINDBFIXEDJISLEFTLEFTBLENLENBLOWERMIDMIDBPHONETICPROPERREPLACEREPLACEBREPTRIGHTRIGHTBSEARCHSEARCHB
SUBSTITUTETTEXTTRIMUPPERVALUE    )	Tokenizerc                 2   |                      d          sJ t          |           } | j        D ]h}|j        dk    r[|j        dk    rP|j                             d          s6|j        dd         t          vr t          d|j         d| j         d	          idS )
zR
    Utility function for checking whether a formula is syntactically correct
    =FUNCOPENz_xlfn.NzUnknown function z in z . The function may need a prefix)	
startswithra  itemstypesubtypevalueFORMULAE
ValueErrorformula)rn  ts     N/var/www/histauto/venv/lib/python3.11/site-packages/openpyxl/utils/formulas.pyvalidaterq     s     c"""""  G] u u6V	V 3 37%%h// uAGCRCL4P4P !sQW!s!s'/!s!s!stttu u    N)__doc__rl  	frozensetopenpyxl.formulara  rq   rr  rp  <module>rw     sX     w89X ' & & & & &	u 	u 	u 	u 	urr  