MFU2  Shunting-yard<C:\Users\Karol B\Downloads\Shunting-yard new fixed names.mfa4(@0YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYATNFAPMSASUMAGMI """)))UUUMMMBBB999|PP3f333f3333f3ffffff3f̙3ff333f333333333f33333333f33f3ff3f3f3f3333f33̙33333f333333f3333f3ffffff3f33ff3f3f3f3fff3ffffffffff3ffff̙fff3fffff3fff333f3f3ff3ff33f̙̙3̙ff̙̙̙3f̙3f333f3333f3ffffff3f̙3f3f3f333f3333f3ffffff3f̙3f3ffffffffff!___wwwcO 00xlg_;)m@tj:YPFa)2H*KIQ$G%(Mq*7VZ-(DuSBh aKgw!*x޻}v ">~}^¡.\܍[nDm80>.y_ ].1SFa[R>1> V\5o& @[9qe ZuưzUΙ.o}@lg;mlf<pݷnfz|V`l2Ab`8*2.Fߟ!wJdB!˙oZg :! r+xF˸ LJU -I_fiûl4 HυYn[BP31Xok;w NY& @-Z̷A>0?7 |>3858Y:΂kRX+jԗ^8?d:pdѷl\˚E[g7H0;a%\̧zfbD+ufܜ۬]`| TÝcH?n`ïe3}@]qo<*=uwLvF·IٓzXב/=Ɠ]~n3n ہ1z泿2i.]$3";#=7n̺4Ǔޗ6ţ1 D!{AkOek4uY?>=S󹽌eo"@, |(w]EP*\W(<}YezOEA<7n~V{bX4F)T ҋJ]=.?{U>}< O2d118W.T`Q3ҥ%H'D7(ݖLj>!¹@dm\?ݔZ$L|HLOq mqTuh02 4]`$ J-+GiY#l iӝd Z K3ɻ߸b+18@&#Ϗ6*? iy T:W7=f~[8ouY~ y|&WE`; M`+).%L Z4@r&a?l&Qr怹#"YbE6YR#F Q`Qt]O HN uӖ9FyXJ>PZ: rdm1ǶC_Y&*d46KY(Y)|"YbCow(odfJGguv.&ۨHv诲%"Y؄za767}r*kxY>bDUjK0Ϡzi/{M7]3Yd^mSw@[Aս%ʣ5JAcfO%|FOЎ:f06X$1mf f WY39M03) 7rMG΂3`|ΞHdͣx {of\ 6t{+.4vZ*rW+wEXEFW<x@C";C;F/:=74Lޥg`U]БLj*0XUѳZX@##`idO컇F>[S% N}됮VɁ)`}[4uv4#҉i]M7)T* Kygٕw˹8m;{ ec ڦ.Tܠ1Tp_c^يp?T.ĞF5R?S.#I !ij}j S݅w)W>}]~M +4uU o~NEjڪڏUj߯G?=wFu=OBsSѹ`i@o+*'|ZsX5鳇kv 7y[Up(k =R T8~U_~ZTPꛆ\ jW&bd'/  xUoHg݊ݲB6VvA !7Bf9,kGIB!"B}9"`8[ٺbMVQ {%vsn^|D{ PP;W]E2:|~~u/Q,=!o/,%ke) ⣌ڡl */v̚T" *-Jf7~S\%#^u[)jVӈ*fզveY!nb[Ӗ̗:=zUBBEAPǤ1iC[ݸ[;=0倴JK\ ]Ӯa&pX/u?,z;dʑ@}dqĆcw9\8Swh7'?,ucB*"EG _sWgTb h}$O(uMR##a厺6tpA:2>FL[؏ryP#"/Xz2cu= jǹϪ?w~GjSG-$3L?.>%S*^ט<ř¿nϓ$e aԸ|/qʳຒ}-J7$jL37t.+ 4ŝkvq$a*!b@"ٳg@<\[.&MH}Kt!䅾5,z`ݫȧ dN\έăa:DqѾygE,c.%hc[-n)btc V A8B&Siɠg< :C.]}Mʩt݊Ŷ}lH^7~.quߙg>ر*.e?F n`e17|pTQTTQU_ @[xe?hQ_' N>AQp)N./(d8HH`;ep G!Wǁ9b=! w߻pN_~{?HAY@ 4sF;mMe5seQ+ F-1:7`o[x]}5pi5hhQG[>޸,_foygvmE;Q+ÂC ruDmQ;s㺥Swy V?j ]Trw yQFm*8sFk{:T0 Gkg8LmTN 2{]}C'~Fl0jK^Q+~7UFf Nf\T< ~y 8MysQ&N1ްl4Jc<"DHKX@4 {aqNY83ߏiC_Q(ħ͓qZ+&ΜVp8nPi00x͗j@t60T2e ja~5+Bp'HjFƍ$2q[Xsf4#ɗ7?>]ܛ<\(gDӏǩ.Hs8-d|kJաe2u;`sɔMlt[;:H6;G߾TM)tݼXi:СzU\,&RYzunyH>:4uoBelk}?o ɷ;t'm?VcH<=#ZY'KОP]Y_L_q]w=?xzbVKV4Q,nud[ͺ=\)hl؂-}=y՟DUuʇ ђo_]jV?f|t`M^kk:WYe:gYWΗy+ANsOj\|JtO=K|Hc8|v L?=*¤s*mt}G"!܅MV&׏Q?Ne:2ߡȏ*ɯt2)u*Pv*n=6U<l',tbޖU*80aYʂ o 'k.~cz'7fإJlaAѕJ!ŽWܡ! Ԓ cA3:6y6?}xsKuhv lrkKY]E>UK x1o@op`tt;n#t OFLssMc~Faq&dH8I =@'D=NVswO\#O91LP\^kmdמH^ta axڞ$Z3/;\kXqzZI4;5+ <&Ҟ='U<f4۰ϗm`pE$s+y-F<wΥq#Da3>Km2g ZA ʪK-)Km`[fyIuv=W{dNGU+lAKLcBH{<=yв^u9Msh jԧ78?B,F7 Ͻ*-|9ɸ7VrxUr?YM,{x;0D(T|;* N`C%`ðDJ47#~U`{HG -5:H^T=iu3$iea 2sᩡ&O׸pKg>9' uᠣCx=6h܋=]*7Yo 1fv 00xA0PQ{vi OD?5)+8 )@Rtdoe8 qPO%^azVzԪOw@^#Sw |Bt_xCBWtt3qyCoH]/O(rnt:|~/df]X$]D)tAOzeހz%i ]L}>-aƢvmRPn. x C; vԎ=T*$+v_tRu2Jʆ<Vxi@h&(}ݯ&zq w紪!M^Һ~10ލE+<vw#g_L{^' @Гˠ8; }vTKxƁAcax!CST"NN 1!m |":О"*5?+~9lϺ3|&H/-Q79Ԯ?t m KLg!xݝ tT՝gI2I&d8 0(A b :6Fi0xtF3DHkhc,ht1YHV]dFEMZtlCj|]9|$sZǛhTG<-^Cj hYn_:[!T@6w-Ul RE)`Qwdwߪ%.mSշ[ fUK({o58J da Ζ9փ8 qG'ehbDs #[rz oZ0VԘJ!J H:{><{VCjm +wBfo$I)m!JNPz 1~d ]6M{۬wQs]1RJrc@LXXj3ɻղI뛐:(elcRui"ZcNѱ%>lڋN17t H?%څW<_Z=}mݾy'rĎwf>x9A j @ wρ|^ }.0iAbv̌7ߊbD  0&&xvL~" ^Gs c2LӲCJuWo |$lDsbpo*wm_ObDOigY3nZQ!ٛTyn0 )s Yhce2p7F]wu9(B;A>'@_ ΉQշTaFyu ny~&fH/N1uM Fd4'+I[|[ 탟wtBÜAc"c]5!D r4I tl^{e09}#(l%SPK& %/}!HnX@/դ/* V͵ Ael=?C~ @^ixѬhƧO@2IdID!= iBA?@!i;siMD!}یiDX  W7Pky:|y|~1yz8ea ˆT ^D#߿lh|U @3<a-g脶xGSƠ?@2G }*Q~BYgEP6`嫃'޶!+z.z?hf`M D x^jֽ7;}y\{ȯW k7F7ê? ?ݟz=n H!g0l5>{O4ü ?i{{"R}c(BT? 'H&|߃G!}>Jӽl5V~>믚;0:p"Ư9<qY@m #ZJժ@jŵ2xH?֭0! l >My%;e K^}kCm$o=l& ` 3C 0#6}[j{OW~zf,Xboqok$O>V`엁}g@{@ *-qT<}?_>>w1NX2[|gjIû}䳪HqByhi,7F_6\H#"/$`KǸdGw :߃dևޯu bؽHWפv9^D4ZVO'8z11?lVp3* ' Ɯ' Z'aw9@ݻY&h`Gxsͪzc|燨T+zo [>>`bxќ.Gd2}P'ߤRW+ -;x>ns@32+ӧ=QSd 5u . .E hy }jDatLpzzW*P *g&\yz~]w9 mFn}PTVVU~كj_`RMaVC#otd ==E߄> |gۀeFN>_v7 */ĸj߃* z H!,(#ߌ A-1 np.wٕ`+>^6.X`9(f#xQrc} U g~W^6t-\?$Ԫg~=`=8}Ϙ.~iFFIFnd5ՠ5; A.AEmg}R%{ߡ-ۯ;;`b?P H@hU/﵊o0; #W;'& ~ru/͂WT gvKyr)Nt+째f@4cc@w{+mk^ (Bapw7o ɩg$KѩqVX/]{g(;qÔ Cy切kzRGl \ S ;0=\T*;057V@>MQ~Y@-B̗#qg ^ E p8(RRӌ/ gGQ7S/Qhx^ Poo=Yff?WGsd /x䫀@غ9=&r9B?V?Ǐ3ʆ>x#@iž}j>JJPP+vPrz0[? -S ,lְgQTϘ\vrrvJV` %oP/hWuIݻyrӻG[^Og5Nεd/??*iF}Ph'قֿ>3~8~>Њ A{k\f7);O=,A}\GN;{_a Q7 m293Mo+DWP6gy_RFv'ONF.[z(kd [#b~۶Ho{zVD>\]sF.gwv?Q"wEjǤodž? M~r,o)_S~pT pHEؑBolPFFo3[v`;݇!;EN2T|7Gﰖ}Jow@EvZq(@ݏw!%ԡW|_S#N甜z_S'#d=!]9 W9g)S%g찏_~@bgۇ< j3v}:\6B&߬AՖ!nHWd?̀hW|ZkSz>2 ";X~|~?&, FX%sk}dߌ F,r]dS;;v>J=GK.86-`S|Tm֖S>5oukڧBN:PbcfJS6h5[<V)k]P,,Pd~:;yZV9/}*{5k?g(F#ۦO̧f!O-<7#ۚ-(9_4̯yGĻvJ+Bq3r(#cth*"3U|sP;'~ހR}p2FG_zNr3c .Xd |*OnY/UNH %N h-e}?] >?K5l#XADpqvl{z|/̧_"qZxKS\q-Ik@.iŷ -G+v'oѝ;i~%Fg>6UV[",m{o|_7@'"2U|5 CpkԒ=Ө? x6,iŏ|~w!P2{,e+`$ T~# |&|yŏ຿W";PV73+lmǾߌs`UdT)'TӲ|VUC4eu?cgO?n'Q~x`ߊzP -TW,ķŽMBzÐ[~{85ԧ$} ? Mi)>zjFVWUk̾(;=-zrJQ_v٤+]`c~/MWp~fE'6rTB4n#q98)e+TbPʾ6S a}8޽}ե&glzMdR, 8p^f"7~[ BHQʟE6IO| ,)qhpwWzmJV*z}M|=3HJ,__nx~Kn+22ݻmRt65ʥZmzS"b䬃 z7fFLgJ-3R@4~/A~[Q^FRrS og3k R,եKypmA^jjyu%i7&Lhv>~r\9Gh﫽j^!j̓Sbɜ1鳥c}{IVv{?:/6z)x+rmU+s3ߖ8-Na7?;k2H_0;(TKaw9ԙ'Gn[1+-%_m.85%' F)E>AtA.9c~bԏt]2wFr~Λ ]usFRRғ)3oH=M7.1i39}m~VVq zkM,M˹)e&xMʏmH留 Sɛ3:vRs5U.huy/Yǝdms{"jSWX%O=D18;Kre q4~Rj ۸uߵ;&5'{ 0I9U0//.?u+.ʐЦ̐6Aڒ `eOA]~q.soiZuAyIj\#w~cQndEKkc{< X{EG,՟{i_%gjO_Z2`տ7v?X}ܠabv?|gG|tկD}ybSCf1qw7-ч {_D]~~bS8$VG9 z;mc`ꦿFQᆰ]0w_<~ߺ={Wso~ޛ̏L ϣ~'խ]9?7Tޫ<@qڕ5W6*giiyeD)馹wtM #y33'6)Ye^ʺ_MIı?bYٓz7AFnk/'czjsgN&fλdL^G/vܽhH;0 ,Zy-uPo?˽[/^|Iv^LapyM5 퇆*ꉝ7_|IL ;oo;A7+ ǚ7՗3(AJZf]]mS_pO55֮+ f4M'@F9gko\M[zdGzps]wTxΈ M/Yv7֔VmÆ26l}ڲ5(.\`)۠OI;ҳ3/-Y^Q20V,f_b2feB9} i)LyܸhfΌt=~{Rs׻(MhbEeG^{O@y \Pu@`o]Unq 4]b P\ aѯ=؟[޳tC2-n^ղH7 Ұw>AOq7"%hEs;֞[tCv}?o4eAZݭBT?K x9.ʠ }}ݲdzE7kWVV_uC#N1j7}y;bH)!PYI^ۣC */koBGڃ_;wرֶōKBچ0fwP'쁬dǗ~~U"BeG;v[~ny;W4yD$s@ޟT}|!E^ʜ1q;&OGrswh%)O>;WoX[>.{[yȽK_{9y%R'C@N2ǦrFtf{a78'E++E"sN,Ouv,y8dKj`GO|9$Ȓ}ZQzCC{O] ?ֹc/!׫>}<^,,g )K%'AS/@Y}.vfТ;/4PC{HJ}=gIJ1m=s";('c4}=K7XN:N`4S4Wp ÇydgMy'agQcṣ f?a jZA :Jda@}vԂAx d'vUoOj}LⱽC*zT洎bZ>_3t%f䌦_{Z>`_cmӣWpvoeE#]NakO(k| _X ltzFGWz KU<=ζN'o<S 哼|僜QJX/Z;)GN7 9{|cϣ^; z){޿&m$E>_zR"i')Y'Y]gmtk" ߣ-ϱc Q^x=j.`- 1.H2Iu'4jxi_ډև, b߽|W$=;mlEMX:@<>[uv]e-Ff|\x(Lsས/>]KZP*v,K_;)FR?&}S?8Cb'gq o D&4'dWz+ -_r kҜwNrśl~`=C[=]}DԸgҚ@<7HNuJAU/`:a&}!w|;O髳7}?#ysDutzأU>عc'oo*fʃ/I>gsfQW}쵫"/`:iu0#;*0G^MCbi|~RfJ+E|u>䅶=8P<]oJ߶Kϡès>ٶ϶z6yuI.}=^_ZM"["ʇ :{=9_g[gUa_-d|R'+<_3^YZM^9ZgpD*b/l+Oy5>y=볼>r4ujtj٩rRu027X+=b*!߇90+Z^_9c5j\NA5/R,/p'/TkՀ쥞pC!A}T^A?-hgP럭: zH?"D}P Vi ..b__eW䯏yJQ_{w kjW'KlwԽŗ^^/h$KTO?3 K~Kj+&܈l YoT~5QϽK<}K%>f:`ސR7'yDz|ml- 5 oDK}"?烞l4k="}n/h'h'ؓ1qćcX$lDŽ r LL~wo_=_,d%ˋ/(@1qS@|R @]4,_pv)z~ˇ>ޓY=⎩㳞O~- _1}yf`z޳d^PAr~Pu*:}9yc;"ξNh<'HP)g[>M{7Pu@CdZ;Qpް MjЗʫOh=Mуuխ~T:5ǀRT*j@ÚoN6>}+Jl_ioOQGz|h:ny o|AkY0Nɢk'y_ [|Ҁrsvpy=-E+-_l+?*#?$]/rrg[Q|?M_J :N DPlc-:}o<ҋ0.zR(߫[>ŝ@iWbO[ _J t ;6rtU_ֳNO9yT(W{XaC !uzܟYϢD4@z!R;B^NzH'0ì81] _d"}`8IB& 2iIL* I_ʞJQ 8o{ W%n^9/q>|{y}: cp$JUʕKf.EW4 .@IX;De)}J!ZMAh P߽,{ӤV `O9jBD/4rpO_ "?\ëd֯_|ׇVH;?ty!+ /3NX 9. G)`j@ի<}O70󃫽xg[_ꋵ|U vɷKkW{[?h@y#Za{@ e pQ ?P\AXi;}I5 r/翎׃9բGV P~=YQߺx/tOR1Tk^iwsA3xf~'$UIb^_y&J?یΊrWg"}ג1,uoy28VW5?|CMg g@ZEge?R1|g)߷ =}': Th01X>$^u `A;"ҟaX?~۾ g j?{H׽xOeW?M7 YkBOU>bGX狀|=yۇy>` xWqC;Q~G%(;83K{{ :DT?Au"9;ϊr)2}kAL߾W=Uz?GuDP|W=lwx.?ߣMvu|B[>v@*n0b׷R!ݟ1}XIYR=K | Wq<|G.>',bO&wq״\!_OHS|i?gi$֪y:>\큞|,H|_taxo]^e^Ww?t_=)zc׳tD[?M#Sǃd b`h@[D_w'zKKdF#r <X3 ,zDx:7ѳ?1;`9#~|'U_) #?CY_1{$2~#?YU-T|9 V~r]u{Z-;+&=Ъ/N2`0se"z3 iPR:u`eW~GU}ՕՒn`(?.ٷQc o!Ӡ.\Y vCx'8-L+ * <5Gyg*pU]aW%\pF }wrgY1J>y1gb7ݞpwPIpy}>wu'3s.c;?De?+۰<@G /_gCVs@fFܟB|;E>Z>^YKϐO|>:G~ x7U]vW}zTɀuvӒQ>zSJ41]d_U Pw@ e_99@(fzw6agI+~0G}CpT|~(,3Ź߉[kmx֏/9@wO9?rެG|,aIýV|/m{P>"׃k2;5-cL__qT"o?F/@Y>!%& {p'P4+vy >KA?ndi[f/}ė6=9 @Y o?5S~r/`k~Y(_N<Ěu ([o' Y_QqVZT]vGyN%Ba/}-kV;ϺW{ 4@ID^}5{BN&G=?q/}kd~k^-H55vy'_$v4LZA=>Kc?8 luU~߅xt g~xW{Adk|׀N;N$Z@뀚,M_wx:`1 :?tfb_Zv{o}?>-33buȻ@iKԵ` {ڬw5{3wws޿oy 9* S!;B}keE9aqp\|&/g/_d#??m;BUmr~!eΏvy[<""+m>QQbHKV=ZPd%z}U">x^pί~+u ,~@} , Л+= #_k~Ŀ[\*6Չ{4.CB|@W!a5@סg61bGm1{ul_ ww?A'rl)7/+[ĕٳa>N׀#ĿA_$V$|~ y?$%zͿ=c#?; 'RgiN.=mJ~#".VfXh| x_7ũXkzQI5X?Ǒ[\9@T;J'? vը":ߵ[?<3$O?Gc߸[/<) IEK}??w{ Tjɟ?ubb?~(j"@ +POY N-=̱DBt 옧i-"OxU~h+f4_=w,>}OI(w FbzHH/Z~ߋb?ts.;_īzN҇8rO,7"Z\-ɎY[V;+`b]bX(tעCBe/>0jr7xKwii`yJ 8у]Lʖ>97S] Q)Y?"Ԁ1wgBF%"I@K5E}]@-|@=`-~H#@ۧ1O5@G~)RKQԧcPvĴmUB?Fb! ~gEmp!? @Ԫ-_{oL5ٟ'OV {DEO #N_@SJ}?8#fٟce .r7wWBD~kR/")ATG43@ 8;,M a ÛA3<w"8(m쥖Eȿˮٿ?{ψ~/{}+y2ti}1._eiH}&{_E_ k*hFe}&(ua>M,O}SeW8 ʟwzuW-ཀྵ\5P%s/! Q"-ofrz [;_Ϸ#+?l |WZ#ppCrBQ gN0?8$1|w]?.|B~W~O9u4=c8{2A9z儏YKw |"?z:| k_tm}w; y#Z_?wDv'w cu*Di/{/?m===/ yTK/݂ 2'/v{ƈ}&hi/&ej^POVOV,oAKrnS.hwȏXP_4Asf>rv1F=-J[]᯾ E pJKFJ1{W_=Dڿ"w #?bW|q7B~LFf/&Zz]{c-]Cτs~tJ>pJGvY:>>Z~W\7)UO׀[1<1g^cS8WTE Z~q. '|W=@ȳ |/gΘR-Ы bWfO})}%Ki#ϣQ䯱(Z1i@7 }DӖO'}' yNqI7>u껁>ƀ֏Aͳu@h'YVkѯ$w g}ʿV`83 gzĥ:@kKKy= { =B` !ugZYqF|';uHM]7{5ϟ\ラh<@o7j"~ Py=&.m-MRm2˷waP$~k}^񏿯1ƜőwC_5AJ;e'"و_={,`ெ#)z:D٫}H? xx0zě>XїgZ1ĭ`~a-o&!Z2{%}'3 < 1>W F eDGD#k[X:~y|P[,x=_wWvׇb7/ +K 5Au<T,kWWv-y Հcn.-/Kh>h{6y=IWYj <Ҁv+D/}1@}0n2SXYh-_%ω{d5kZgW[Ϣ;WjY|B/2Wm@͐^U` \1RK`;"0 c?<@x@tG`Xչa' :̟1d_a(x}ǷXYŐ{=M{=$̿Uʁ:@K#Ο1@ 9!lr{E-͊鷟oȿF<`?}Y'MJ.~]~ߩIyxܫ)%o5/ztx-dQLNV]u҇]P"R_ C_sCG{ \AFDXwjKNA/ТQ'XvHYHx0WD֞.'ϲz̞MyWʞG>E'|_Fn7=,Xqg[{2׍z ܢB?!_o 3Rȯyh7SW&ɞ_wmxOԫ0<$D>/[#0dƟLP?m6wNbWP(󧅤o$xW] Z\}D{}(8+C՟"|-e XX 2|Fws9AS y̞o=@1|]/rp%{8 2>WWa^zޯ3@-pSb< 8'\ג]⯚4%`K-|yCߥG&lJ>y-zKRG߲L4w<`ąP FCJ'jЛM!c]&{,fK^n.R7lֶN)+u{}?K￀#0CoCdZ6LfGJk6se {^a[u.TM)"w;W8= yAWxW?M8  h :E~*/u~bZJ:{S1?T)tp5I2%@[tRWNWb".>C>1~ `{ZH/mE?))*RKEm9y9{Б+~YZSkhk;X|t_I5 F]y=яϛT?b6_K=þD~:~JP⥪i,;r-`_QaHP  zֳRf_]<=W~kTN}+t4,gZ4#?K?=3 9)uMf{~~W,*5@ xgɌ|R*JzBn g%}>X]>錿eFMoM66bmmwcW~U\}pTWFu(i" ݺg ;P9\V4@Dרj'3k{MkiAt%Zo=\S kT#SIG(k^MOT_qW $? DZ'3~Wiŧ;n|^1{*oq >9Tpdﮓ@ItB+-X>TO|[U5@)}Z+r=Ч 1<q:poP1vz@Y 5AF$U(NO;&L $P]j@Jz DwK!OYo_7\@ROdxjZ5B7*<8! ʏ3phFֵR'n\ E;M'*zU1i*Dg KgV^َiB ;J wq_YwUYAƝYۥZփ@uAwJ<"a`__^+832~[M^E-끲&tCSK[?}Z9pϼ##c[-Դ^rR(Wu?*`T+ݟg٥kh酞-y^NaԩA{S (G~:wԑ'Y=hoܽs&ʃ^r3~{--끲&hO֥SCwա=?~@<@*F~:q,-`>]9;o!9q=zz0PTRd|%=ЯZ?; Wr7E1SS%=У zE/n܊BX.#Wx%(l@Of"[U 7{ZsE~u`xf/}-=Ч oIn3q#cO_ L-fW;0&*B}~' b:o"zo߆5cwUVx͟*b3cA2Ɗ~e0é`E~2~5AM3%}^{2Kd^28L~WFb@xI#?gÍpW~'34`U#(Fea,n_D W[r s+AI7>?MTZrb`j AE:}TW|`^g$(7U.@~W2 8`ƻ#91ҝT`BHDSi],2)#? zbb- y yy!V|ֻo^4 ߺFfxA>/ 2 Y%@곏"ryM3?s-#DN+{B!"cf_HZn/8;Lj_A}!5??b3~)}Gv,kd-4 G~+PV?sfRn0SG4@Gp/盛{Y [B%Ljӻ|K KW 80'L$< -[Pأ0\fS#\$8f:)~|xGE_Ea,ؚ@Ξ8GQ@_U(*~hWJ驃gx^?5ndC"Ёcf P@ol(뻨oשe5ۺE|O \#-UW@M*e@we5\|ѝ-G ׇW o}{*_ui (|@-gnq=|do6j( p:v g{=X=?kjb,t(yN q}l|M^\:4@TΪ pOo91QX#8/aϪh̜vϚ<ёdlBتn9O'e\8wq啥&:f''qjh ̞t>5Ƨy1)I "sŸDNKU1}Ĝ̌x% ŏ{rZk8ƽEyelVv`#pÅhk\|RJ5o:y8ρ9S\zh=g)c+_yfOjy͏KLJsOo&Ϗ/VMua|\LThS3<(klBRJVA=?~\_9VΞfr0GL9|f_ZLOper@vĤ!dw.HONF4`kKJ˺OWYgMsNb-.~NW}=e0gڽisSM;t糦?jfaԄxAB1}sS2>,WTʕr$N}scɲYSSd *^Ȩ8{j&x}EuIA~ pUQ/Z5?=oq}lI9|>7\͞UgRcfLqIEPf)?gI㷛=c8u缒 Yh25.>%kzp\ЦgNǁ`r'e^&GgNo2\j'Ξ6g0~ҙƥ%EN8ά(?>5hYO561eJ>hδ1\*tq&ȨfQ}_pD[qhkbJFxz>r҅ S8h R~Oͪ ͻKgMn1& @:~s5w,5yBjb!&\_|JCfL1\\1i֙=/ԝs'e'@']m|ݺxryo(?9xRy>Wf1{F>w.[8!7oPC_57vH=Q񩓌c ع|n>&(0ƗO-]407o:.KHY0qҹYɱQ>.D3{?Zrݜ)~H-mְtxwM 'e} b5^;'x~i٩v~_1|}w㝕WͰY}x5!ހyWNa2g??i(.h[_ƌΆg92buA`˚a4lբ=H.6lxW.YwQ.2Ա~ټ ԕsoKfC8׬XXVnԞ?(g3 ˜IV$d2{w͂y\)c6 ?pMWMU/a0]Q煮;9+5&J= 5||ELsOdD9?8~ť9v[ ~`mZ^Bϥ~Q f?jPo+ 3bT>1)?7Q3eDkbq5f?hQ1odJeKa/_SYϾ ;n=%;٦![ʦ::Rf?d_9p\*PQV~`Mָ͌b(~3~Ġ?RWU6i=&;^0:j_qu'X! K-gD,y+wV~㬂DlZ*0#V~exQ,ѱ'~`kWx4:Q8ُ#/X5jTTlˆ~pl}}lI#pC:~\`Q`˫ ۫n_0uRJ|42c.cCX25I?6G ѕKʮN]e9 V%?1)oh/>zO+,įM4B4aѵǧp򏵵`!gry bα;n)<616t{F'ogYiavR89 ?cbZ@cLrُU[sõ&g$Zf8(G첿|t=*WA@eCpqmMyqvZ\?f*/[ʜ8~oH|o;il_THe{!56B:>[pe~j\ Rr\]x3#>tDKkm0<|We%mau[Ǐic`WDF'@!~3s"'V@!<-w/̌ix l~hEU4::z hM)/?z|wʚYp1)#=zhyATk+uv7~`uEcc_jo=rkE8~V[ُ]?m\zlȘsQhC*gF["c//8No^w 33G~@߶l{qIXҽf?NߞX ǧPǓ ̝iMH5+M+/`4Z^>en׹`޺~a3%%8=ϬrFAj5~)upKv/uQIQZb_55~džŗwaf?N"I癇VT̀O ?\; hwXPd7qB>>t|ʥr^mK Y2'ٳ<׿#cƾdz1 c.Ћ;7=? 8]iK0B<>[+Cf?Po;?ON<(g[|JV5r4O߯o1.)c`_3._s&ڣׄ~P_$G8s!~CmLkG9OL!"/c. /_,1 Y~ЍޝqI80 ~Ѝvn]rF^J LO1o}qttl|'=r5d:gO0B5: ο[0B5zv=-וfآc6B4N:9zy pIz~ЌҸp3n[ɗP|eU+\3{l 9S~Pn]G.@._f?[(y+KDζo6 Sp ,mOW]19;n Y_ccGJȹ O _lm4/=9Z 9W"}k}/@w_cn016gk)c?SIoA|y[-DHϯs,5A4~'4,GXd |t͚tfV|ic|eOۃ__V863xvb _|vw+hU< ֖=e~ZDZמۢC[5|Oj߿ROkoZwu/g:fc<>XsҜL{ 701ʑt:Zuu3H=IL8뻞~ʧNNM{$WDcKכsuU%K=. jK˞`\x͗v?1qHus,7ݻ:6WɄd~> %V6hyi[[㲪YYxy/#c3'O]x'7d\|7=qwk4:})@[Jn[OF_xycn,<{5Z(K-=g7`|'Ι"}Q0k/F]qb"̟NL)ǂ.ս[XyKӞ>kp\t^c.fRv:WG̟ꠉ3.F￰+˧fgj%R WY2{}ϳ޷|n~vzbl֘ F/W?_pvqvFhS/ 2ʖ>p5i}=74/[4pRzo4RL*;\Lon_Z>kҘtGZ $rNpx o^ۼt 鉶(KʏT`tTLbw|f4şe 3c~z~r&f3T^o^4hq} 4KyQwwlZ$.\ҥBp;3 | $^ne_{aUuF}yߘ=UƸdKge%55{ϣ׻oqnqq`?w{:2{};V,Z0gJ1q_<`J5>nq{`w>feœǧe܂+]7Jā~e_'l|ڤ4{1q@6n҅5[dq:\ryMSRl1:^%*ƞ66jقEw7ٓG_y7E J&OHI2,^@dlbX.WͿ3y[ _bkf9gc"w} Y9%Z]S?Χ{ ͜HOVcS2OQv x;nZ|w͢ 卍c0j%jL**[A9smO<⮛+NO+`N?@jVsU-^g__iEWM/JMKv8'7}N-w޷ſvkwn;-/7=947>| Dڒ38#׽|S?辣U6Rlڭ}+ 'e8lMu H^~n6wsfKIq)!~ $f_dي-w Sqzko?ҼbYs &q~/| 3fd-15sl~ጫ\7,Uk6>vp/l5\(_Zç562֑?uUo <Ϙ#4k:i믻jfqclJ- Uߤ 19 ZPcO|;7? *6)D%S3O/{m^ղqO7<^ϫ/ݳc{u]˪︹jܒgL{71Ĕ g-\y<{Of }W}ag3qmKC7.(]8yBVfJb|5D'B,v?ez5޸d]+On9 ?޻;omVk{ْ^S6}j>{{7wVE\0v0ΑWT ֖9.'Y8dnUnuٝ Zf ckeT]u킹gNLKNĀ1FA K 9O0f|ΤE3Jʮ]Eŷܶ}}72{Oe,\xye%3 &dIzÛ=d蘸ĤlI¢3gϝW-^,h ϝ]2}jsDGNVFZb9ԀJice;r&L~ҹW]=o޼k$jnٜ+8&8ǏHONJX#=F!%`ONIK3.'w`JaaT(*,R8!ǧd{G>&N~p<"3..'$SRRҙ#--55M E`NS(70:222 \zd^B9s =2rh ߂58́[,~^7\|({ ([ x!O!^C.O"~H~Qd OsΡg tD}0Dw?6;r~TڤAl7>O'%X߽޹w'D'Q~LR3~uPs>0$oRzA.@. e[% x x1H@!Cp),uPTp1tI]8tqbA8v`tutp!kz^MZ?}{wK+>rP3̨46zO,`<Yf;=BiEƷS=zz23AO-o~zC  ·J`fCamV>wF g'?%x_XbEl? q<L!X+H;m}ObG:l~|v{}}SL&e^AijX_+ѹ2H!_1?z]̟u4Jat7JkL"`|=`/ Xy gD[ ˼\E ^E4]nX~{c+"Q Ԝ7QZ3d*j@yd8bizQVf4uZ3j s^d9 x A|d"cni5wTį?selkcZ3n-Zָ*0 0i CW 3Ce^yZe_+??wiY!w͟?i{޿ҿR^&ě x 0 `nV=]:@w`"q 8VeΏcS"+|u6kh++z!Aiz *L?@"-~X( ư [_o;4ZkXTcjqn}Hs^}|ϼ??=ϿB˿=_x_OןQOrv" xc`AX"aÄ&nxӁd{Av\Cn }0 H+ zҏV܏_B-C0ybҏl?#OCC1~qAbOY%R[?'e7'%7>?`@0xӱ 09=7^iR$!?(3h#0_ߟU]Wn/>_|>徟|>h'mbA xc`AX"aÄ&nxӁd{Av\Cn }0 H+ zҏV܏-Έu? af?i?.I׏{O~y:$_b!_~RV~SZP^Q^RR@AGMI{׻kϻ[ǻwwwcccSSSCCC333oSKC;{3k+Ww#G_7K'3 kWCw;k3_+S#C7g+K 3ssccSSGG;;33s++_##K7#ۧϏ{gWG7{+osccW WGK;;//ssKK##kS;#ۻÓoG#gc[WO;/s_K ;CϳÛscSwGg7W+K#ߧϏwwggSWCG3;w'/g#[K ; +ӃkgSK73# o_SC7'{cK7'o _##'#'#'#'##skkSS??ۧןϓLJsgߏ[ӃSsKgCW;K3?+{3#o+_OC3 '{k_OC3' wp/xF $)ƯY1ʈQL3( ƪ:  xՖK =F5\<ކNi `X8hsٺSqG2z8J뼴8 Xmz)9bcc9<rM[H&xHUJO~Ώ#~d-9v>b-֮?Dm  x E{.YƋ J S(EM@yDTtP9*a-. +>9f6+C:v8p͇4|/2\O/G2>K4'?ɢC,3SRwDz0vo ~|M  xc`@  l$nu0ج@4p4|7(@혮xrQ̦p C4 S/1`RGs.K 2r>cEj(4b>֠h>C|O/d4-V`$)|e>wZOhݾC[ڵ Shunting-yardH<&(%' &(%' &(%' &(%' &H&File&New F2Pass&word&Pause Ctrl+PPla&yers Ctrl+Y&Quit Alt+F4&OptionsPlay &samples Ctrl+SPlay &musics Ctrl+M&Hide the menu F8&Full Screen Alt+Enter&Help&Contents F1&About...  P Y S Mpqsw Error message  kclist.mfxList%Y kcedit.mfxEdit Box%YStringTokenizer.mfxString tokenizer%YsMain-{׻kϻ[ǻwwwcccSSSCCC333oSKC;{3k+Ww#G_7K'3 kWCw;k3_+S#C7g+K 3ssccSSGG;;33s++_##K7#ۧϏ{gWG7{+osccW WGK;;//ssKK##kS;#ۻÓoG#gc[WO;/s_K ;CϳÛscSwGg7W+K#ߧϏwwggSWCG3;w'/g#[K ; +ӃkgSK73# o_SC7'{cK7'o _##'#'#'#'##skkSS??ۧןϓLJsgߏ[ӃSsKgCW;K3?+{3#o+_OC3 '{k_OC3' w?? Console   Movement #0List kclist.mfx%Y$$x1Lucida Console(((  Console 2   Movement #0List kclist.mfx%Y$$1Lucida Console(((!Edit Box   Movement #0Edit Box kcedit.mfx%Y  @)1Lucida Console Output   Movement #0List kclist.mfx%Y$$(PTahoma Operator Stack   Movement #0List kclist.mfx%Y$$(PTahoma  Operator name   Movement #0List kclist.mfx%Y  (PTahomaLORLANDBORBXORBANDEQUALDIFFERENTLOWERGREATERLOWEREQLOWEREQGREATEREQGREATEREQADDSUBMULDIVMODUMINUS Scanner variables4Scanned character index!Scanned lookahead character index Source stringScanned characterScanned lookahead character Token typeAlterable String EAlterable String FisAlpha5ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_ isDigitDot 0123456789.isDigit 0123456789 isDelimeter &|<>=+/*%^! Movement #122 Function name   Movement #0List kclist.mfx%Y(PTahomaMINIMUMMAXIMUMSINABSOLUTEFACTORIALPOWERSQUAREROOT" String tokenizer  Movement #0String tokenizerStringTokenizer.mfx%Y Buffer variables4 Has letters Has digits Has symbolsBufferPredetermined token categoryFinal token category Movement #122 Operator symbol   Movement #0List kclist.mfx%Y~~(PTahoma||&&|^&=<><><==<>==>+-*/%!- Function symbol   Movement #0List kclist.mfx%Yhh(PTahomaminmaxsinabsfactorialpowsqrt  Error console   Movement #0List kclist.mfx%Y$$P1Lucida Console(((Error variables4 Error codeMessage Movement #1 Throw errorKLBEDAEH1STVEz 3%"Segoe UIRegular "%"Segoe UIRegular 8(-Throw error"$  &Error listI5  %"Segoe UIRegular  8(-Throw error.  2 N1 =6-,Undetermined error"#  %"Segoe UIRegular( 8(-Throw error.  2 B1 =*- Syntax error"#  %"Segoe UIRegularR  8(-Throw error$  D1 =,-"Unknown error    %"Segoe UIRegular 8(-Throw error 8J8 V-8Error found on position   ,  "  ", 2 SMER)This loop is started once if an error is found in user's input string. Prior to staring the loop we must determine the error code in the "Error code" variable, which is then interpreted in this behaviour and given a proper user-friendly error message. This message can be then displayed anywhere.This flag is required to display the "Unknown error" message if the error code is not interpreted in this group. If any message is assigned, the flag turns on, which prevents the "Unknown error" from showing.JError code hasn't been determined in the main code before starting a loop.-Something unknown is found, wrong characters.)Message is not interpreted in this group.&Display the error and reset it's code.SJBOError variablesSpriteOIC0 Error console0TSLOIC2GMIC([ !||;|!|P[|!|P[P[|!|;|!|;|!|A;|!|;|!|8+;|!|8+8+;|!|8+;|!|;|!|;|!||!||!|P[|!||!||!|;ﻥ|!|;|!|;|!|;|!|;|!|;|!|;|!||!|P[P[|!|P[|!|!!!Scanner variablesSpriteOIC2GMIC9n ``````````4ޅ4``4ނ4ށށ ށށށށ ށށށށށށނށށށރ ށށށނށށށށށށށށށށ ރށށށ ރށށށށށށށށށ ށށށށ ށށށ4ނ4``4ދ4``````````SPRGError liste8e7wVīV!Nf<Ǧl>Nc8b<Qf>ܽwvvvuu!DNE22 Operator precedence   Movement #0List kclist.mfx%Y(PTahoma102030405060607070707070708080909090100 Operator associavity   Movement #0List kclist.mfx%Y(PTahomaleftleftleftleftleftleftleftleftleftleftleftleftleftleftleftleftleftleftright Operator arguments   Movement #0List kclist.mfx%Ynn(PTahoma2222222222222222221 Function arguments   Movement #0List kclist.mfx%Y>>(PTahoma2211121pppppppp p p p ppppp pp$ H l``TL<x<< < < xEvtsT %"Segoe UIRegular N,-"Initiate scan h<,-"Initiate scan,1  =-!P ,  2 B V4-*-----------------B V4-*Start of scanning V-R0-&Scan characters  &Get tokenϵ  %"Segoe UI RegularJ L<-2Get scanned character\1  =D-   6 `P-FGet scanned lookahead character\1  =D-     %"Segoe UI Regular  @0-&Scan characters '   %"Segoe UIRegular&  @0-&Scan characters.  2 ^<-2Get scanned character   3 %"Segoe UI RegularZ  @0-&Scan characters '>-While   &Skip whitespaces2 ,-While:   ,  2 ^<-2Get scanned character H ,-While:   *-While '  &Token check  %"Segoe UI Regular &End @0-&Scan characters8  D"-End scan >0-&Scan characters   %"Segoe UIRegular &Minusheses (2)(l @0-&Scan characters:   -<1  =$-DELIMETER,  2 ^<-2Get scanned character F$-End token    %"Segoe UIRegular & Parentheses> @0-&Scan charactersh D5 ()   <1  =$-DELIMETER,  2 ^<-2Get scanned character F$-End token    %"Segoe UIRegular  & Operatorsq" ! @0-&Scan charactersh D5    <1  =$-DELIMETER,  2 ^<-2Get scanned character  ' H&-If level 1  "!& If level 15d #"6&-If level 1 ' >-While  $#& While scanned character is found in isDelimetersDigit (2) %$,-Whileh D5    ,  2 ^<-2Get scanned character  &%,-Whileh D5    *-While '  '&\ ('6&-If level 1F$-End token  '  )( *)  +*%"Segoe UIRegular ,+&NumbersV  -,%"Segoe UIRegular  .-%"Segoe UIRegular( /.@0-&Scan charactersh D5    61  =-NUMBER,  2 ^<-2Get scanned character  'H&-If level 1  0/&If level 15  10%"Segoe UIRegulard 216&-If level 1 '>-While  32&While scanned character is found in isDigitDot( 43,-Whileh D5    ,  2 ^<-2Get scanned character  54,-Whileh D5    *-While ' 65Z 766&-If level 1 'H&-If level 2  87&If level 25  98%"Segoe UIRegular  :9%"Segoe UIRegular ;:6&-If level 2F "4  E,  2 ^<-2Get scanned character  'H&-If level 3  <;6&-If level 2F "4  EF$-End token  ' ' =<&If level 35  >=%"Segoe UIRegular ?>6&-If level 3h D5 +- d  ,  2 ^<-2Get scanned character   @?%"Segoe UIRegulard A@6&-If level 3 '>-While  BA&While scanned character is found in isDigitot (2)0 CB,-Whileh D5    ,  2 ^<-2Get scanned character  DC,-Whileh D5    *-While ' ED( FE6&-If level 3F$-End token  ' ' ' GF HG IH JI  KJ%"Segoe UIRegular LK&Variables or functions0 ^ ML@0-&Scan charactersh D5    ,  2 ^<-2Get scanned character  'H&-If level 1  NM&If level 15d ON6&-If level 1 '>-While  PO&While scanned character is found in isAlpha or isDigitB%0 QP,-Whileh D5    ,-Whileh D5    ,  2 ^<-2Get scanned character  RQ,-Whileh D5    h D5    *-While ' SR  "TS%"Segoe UIRegular UT6&-If level 1.  2 rP-FGet scanned lookahead character d VU6&-If level 1 ' >-While  WV& Skip whitespaces2 XW,-While:   ,  2 rP-FGet scanned lookahead character H YX,-While:   *-While '  ZYH [Z6&-If level 1:   (:1  ="-FUNCTIONH \[6&-If level 1:   (:1  ="-VARIABLE\ ]\6&-If level 1F$-End token  ' ^] _^  `_%"Segoe UIRegular a`&UnknownBn ba@0-&Scan characters,  2 J(-Throw error ,  2 ^<-2Get scanned character D"-End scan  cb dc ed fe%"Segoe UIRegular,gf4$-End token$ V- *1  =-D"-End scan  hg%"Segoe UIRegularih2"-End scan 'Remsif scanned character is found in isDigit: set token type to NUMBER add 1 to scanned character and while scanned character is found in isDigitDot: add 1 to scanned character loop back and if scanned character is "e": add 1 to scanned character and if scanned character is "+" or "-": add 1 to scanned character and while scanned character is found in isDigit: add 1 to scanned character loop back end token(If scanned character is found in isDigit.While scanned character is found in isDigitDotIf scanned character is "e""If scanned character is "+" or "-"+While scanned character is found in isDigit Skip over whitespaces. Here an infinite "while" loop is started. If it stumbles on a whitespace, it moves it's position by 1 and scans once more. But if everything else but a whitespace is found, then the loop stops and the code continues to run. ;Check for end of expression. If found - stop the main loop.Check for minus.Check for parentheses.!Check for operators (delimeters).Check for a value.9Check for scientific notation like "2.3e-4" or "1.23e50".!Check for variables or functions.Check if this is a variable or a function. A function has a parentesis '(' open after the name. Here a similar loop to the one on the beginning of a scan is started.^Here something unknown is found or there are wrong characters, which result in a syntax error.If a token is already found - prevent another one to be found in the same loop. For this deactivate all the token checks, which are then activated at the beginning of every loop.Determine a token and store it. >Find a character on the current position in the source string. Scan each character.Get the first character.`Inspired by: http://www.speqmath.com/tutorials/expression_parser_cpp/html/parser/parser.cpp.htmlEvOb Console0TSL Console 20TSL!Edit Box00zE Output0TSL Operator Stack0TSL Operator name0TSL Scanner variablesSprite  Function name0TSL "String tokenizerENON Buffer variablesSprite  Operator symbol0TSL Function symbol0TSL Error console0TSL Error variablesSprite Operator precedence0TSL Operator associavity0TSL  Operator arguments0TSL Function arguments0TSLEvEd!    "   ConsolesFunction listsOperator listsEvTsEvLseaEvCs!DNE!#% ( &'<* +,.0 8 ACHK6H4^`<@DHT`\dh lv2 #default#itDz10.1.0^1.0com.clickteam.runtimeȧ 1.0 bcom.yourcompany.yourapplicationt Shunting-yard1.0.0.01.0.0.0 , resourcessrc 6 #default#i  Bcom.yourcompany.yourapplication>Touch the screen to continue.