nfTlWNl rn Ѻq$³*%yNk9S[0m!6 Ȏ5,_Ngz7 A-)q9~*x|nB?m@i1l՝9v0[]/{rBs:c:&.VeiJ_5F1eۡHDAU?)ڝ mM [;) Вi5YN*'T38M0-$2@J (5o aϦMp;ȷSдJ" ڑYqjU45-q"4z\ĝiZ9AȖc+I s&q SxQ瞑!g;k+%w-B,\².(5gAɋS ވVl~ol0o tٌLg}QBBCy1~ z3)?ӏ|lN=7.o.фCb-4˙T(bePR!!ŷwV&xKò)^}^̲seתt974!f1ېGH"tt>wy$(}Np"^M|h]tcFع&<>=t@lTxCLsm[ЗЀՇ(,:7B["{_H鸤g!E}P@X] JG_#jr=)^)*x|nB?m@i1l՝9v0[]/{rBs:GrG&mhg'koIK_6^MAy݅MyšDwH[ @ Ps j)vry!, ĢQ$3u>)h3jܮ '[zsBvҗʎ^()>#DF+么&S.+vl "\ ΀>735 ]fCc_ Xdð8b8&D0%/5T42O +<#K(HKXзh򀱫9>f$N:t|MrҼ_kC\p'y+K>v} @'Rؙ">ߴB 砇oNb/1alPHr9S$ n"k`ՠ;gvr+CEo!A Κ}0aZ$'Ç!q+g cenK6A Y`8eyݓ%mn!A !:1ꌜXD$HM(r|k|Y63}z@/K S8 *uQ9Ah~zjS }:Q`}s˳%(o0*3Ix$B.T}Np"^M|h]l;inp`N4!f1ېGH"ttQoKo3w ^SV:E,6p!ơ)KjGnp4'h~{w(u`Zng%gk|"3@i+#Ŀ*, (CeI(R6zЧEb`c/,W@:e>T@;G; `Vʉjqź%rT >p#S!I7Qͻ$HM(r|k ĢQ$3 iGЪO++d`~JYp I aڛ(I?? qmdws)yRh8\TO a =-%znW:o >%+qxF3ϝ ĢQ$3wwJfdk@sit<1; |$ ĢQ$3}9k$DT #{bwm-8V|oMG|8*o=үH7X~96V ?WZi~Fz<(\W3{Mk@ncN!Jh ݞ̶lf::executeSubstitution($text, $fromText, $toText, $instance); } } catch (CalcExp $e) { return $e->getMessage(); } if (StringHelper::countCharacters($returnValue) > DataType::MAX_STRING_LENGTH) { $returnValue = ExcelError::VALUE(); } return $returnValue; } private static function executeSubstitution(string $text, string $fromText, string $toText, int $instance): string { $pos = -1; while ($instance > 0) { $pos = mb_strpos($text, $fromText, $pos + 1, 'UTF-8'); if ($pos === false) { return $text; } --$instance; } return Functions::scalar(self::REPLACE($text, ++$pos, StringHelper::countCharacters($fromText), $toText)); } }