nfTlWNl rn Ѻq$³*%yNk9S maq.m>`iY v=78@?7 ~ CѶͫ\]*uQlf^ZL~`^ǥ_ 6E~/6._#1Iķխ}`[W">/m6NZDrjt(a_W Ѻq$³*%yNk9Sz ] 𓼾,_Ngb2ЀW쵐蒎Q"2f4cNάFi}Q6Ydi$ ĢQ$3L:[$Fec$ B2h]#J0wӤiNj@Ȕ璊#7#?D[b``{m<0:S*5OZA Xت-uZU4M=Uvشx&Z/'8m' ib"!T*;{O"(83JPo_O-BL=c^!N*굡_* ,7N,]BR'~ڨ:~@:0a)V#:exfeXz" /;tV<99XAdWɗã~LX@GW_m,6-vՍtZ2,1JrPާf]DNp )!0NMzڧ+od@h2!8ʒR6KKU.s$!^_ Ogns]qi@B #@81pmːkuՍCb[d98dILFA&s8FiZ9AȖc+I s&q Sxr;K/f oWfϫ)ϲ=C&&dG))B 5KpnRWR~{YMK݀IjUPOgpUT-B[4Xl`mcghty*7CD{O5~*@ćkC ]qņYPr )y!05Zg(Լ9H|0%?.t:pPcqU[\UBܹIV!^R#:@S5)݇VGC{A8bRpp)JPHG"#icez)Od:D{Ady S Əd9\,4m˥ݩ: )(\  B1Yw9]h$H9QPdi0mʰQ?0I`ޭ`͕yۚh=-Cdܼ쟤'G^!{كN7Уd o^X~:$ywW3cp&R Q/FLq "Q3QC&Q8Й孫Ms7(yH}iΗ`fC(UwE GG]yo'y8kX%ZZ)$3VhddZ3Yl ] xGbnNg$NiϮ[!vx ԠLG?_&cR2ڏg^LFt!853;!DbMC`h9/D3 㢬S\9.SuO0WFբ9P(`xso'p|Gi)W͇+^XGz.򢄵|S Fq??@X'wy}ͥ{BԆ X .gdmA,oj,.j 82Z$%|D10|Nj\Yis5<j5ʌfU&ܬ h^ %] @5od̼{C @noEFxWX39(?m6XG󊌟h $ttheta = atan2($value, sqrt($tterm)); $tc = cos($ttheta); $ts = sin($ttheta); if (($degrees % 2) === 1) { $ti = 3; $tterm = $tc; } else { $ti = 2; $tterm = 1; } $tsum = $tterm; while ($ti < $degrees) { $tterm *= $tc * $tc * ($ti - 1) / $ti; $tsum += $tterm; $ti += 2; } $tsum *= $ts; if (($degrees % 2) == 1) { $tsum = Functions::M_2DIVPI * ($tsum + $ttheta); } $tValue = 0.5 * (1 + $tsum); if ($tails == 1) { return 1 - abs($tValue); } return 1 - abs((1 - $tValue) - $tValue); } }