From e48ac6a26910280460e3a062e252ea52c0e679c9 Mon Sep 17 00:00:00 2001 From: Mikai B Date: Thu, 6 Mar 2025 15:56:14 +0100 Subject: [PATCH] on change callback --- ALCL.iml | 2 +- binary/Hashlink/out.hl | Bin 114737 -> 114969 bytes source/analysis/AnalyserType.hx | 14 ++++++++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ALCL.iml b/ALCL.iml index 25844b1..625c464 100644 --- a/ALCL.iml +++ b/ALCL.iml @@ -12,7 +12,7 @@ - + \ No newline at end of file diff --git a/binary/Hashlink/out.hl b/binary/Hashlink/out.hl index 9ac95372df9ec3e022ee6448b7ea2a87ee4b7e91..352dbf674d7f4826ed3af3cd79ed5bf90d69d2c5 100644 GIT binary patch delta 29564 zcmcG$2Xqz17e79;_4SvYy!7xw2qYmOp@kkGksu+2D!oc?D$SOi*$s9?R$VM;RP0I- zJ5m%86a@r378Df~3#i!3?=$-n!1De5&iSA7&&ivey>sVIyZ6qWnLE4D&~N5?(%I)! zD0IBiaI4vl?U~Hi7=Q9VHYTm6^qNhN(4Gm|6XwtBJ7dzk>C^g7nloqeq$#s6AoJ%9 zTee`D3*GcZ;+4MmDU-?hi{=fOJ9paDnUgM@HfPzUh1mz=)oF7VT)1pg-*%V8O9=sc zTc58aDYWUK3Y*^DqhEaejsQ`J%3kQhcJ^g2_G7y$6}G{{*6VDY#vW1G!#+~sXHPfM z8p%u8GeNewh&{{hZlr7rTZ?cjy9ePmb}wPu*?p8f$L`1b^X!2}8e|VP(lC3dk@{$` z0>A!#_Eg1SA_>%uBGaR!-bed`{_X%Fgeq*4pB-+BzTjuSHAVOO+3!u!eSY>w02E~Q z=Q-@J(F!}DvDZ|#-zQg845|s~e)eS}9jbW!j(uLkzF<2WX#$UoD6wxH!RmQ`!YhfN zlSVq+6C#`rVU?b%|_Buj8djnyBy@@c$-g2w`HsT@n z4#F^d7hxPbgfO1HhcJP?k1&yafG~-Dh%lKQ7A?8G(Y|ry1NCU@7*CL}mq)NYwZ^N% z*egZs)grccB-^L6{XzB`dkke9V2>j_$euv>I(rh~8|*2BZwfA8kF#eGzQr~pe49Pn zNR3Tw3*zsvtq9*`+YlaN+fgbX&`3wi3Sk*RUR}fo>K*tw>=RUK5c{-|PGFz8_(w(k zQ2AOa6Sj90d!IcA_y_EHgdegU_VH0Y>r=4n(a07EY0konPr;BI;iX{ zpQLG8g7HUzWc*2tzkq&|ppECPP0ux=iqyPaS9r1Cd?3~a^KO^T&9w{6d(KyQM~#=M zyn~O*3;kvzdi@JYt0$7o{2^m4ZwtWPytI*;ck*^%VqSviUA#S5nV$vmlY$p4Ofc^? zK9|h0~|>ZQ99)HPS(Rcq5JDBkD!-MvCTn7o$mEHVxT)zoj%qFYsIOP0>sIRzXwr zYQNQ{DZ0vUl{Q6h@LT0BudsIwL*X~8e1T8)8Y~zDeXrMV4Ri-4!K!5Wid99dv+Id9 zfLPTOX+xTb+~T)JHbrmuTjw@K@9Di`L28N~ z^EY^!qTl%&0!`7M{SEyBL?&`Wf8(}>N@Gn!m9a)QKGTd(RpVo@Ur~_{9N$pwBC()x zN5epS_PE^EHG%*VYGX{_FjRDt)-cStr(t+m!-%qmk!1~|jC-x4_G9B()sJ=sh1D4k zsBD5y4#{%J-!N8GTs7`79%>j@)-WEA3Edhd8V`GoBOW$GH$KtWRFxHC`qA+#@;6Kg z5HImsUmEKgrW)%TrWqR=&NDVPOgA2Fm|<*cm}xxLFw1znVYcx^kX;{OEB$PRk6r6! zSKFhGeLd&9-Xa}Adm&o^9(-(|**0B3$~`ncug%RRh7=Un54%Ikg75@QPy+$Z}K zL}i)y?9hbP^{lB5X4A8w>3N0AzvfzFx5D33`BtBlIcSN$;mW4utDBzJ#)fJ|S;KY4 zD^@4tRh@sP@fIrYijfMUz~CTbpWj>wrSd8I*1VqQ6LS@BNllvahN{0-N~`eRkH$`AV+Zg9t!z1z+Fy<5YL-5PG{ z*5Gt&Sl!LXbG&?^hj-C=p2j<=JjqU<_!hm*{%&FoJ+Z0Jq-2@a*dwQ2rpgt@nnCu# zsU5nX7px_I_G=>@BDs?^re~j2Hxx5MN+TU6H%;6X0!-^L_I2V}1e73~VOLD+NN3nf zr&ZTu3cJkHitsH(e5=gv7>=otZyUw8>-;&HKVQpq_7$cgjeU)oYX|!V;S20rgge=B zgfFra2zRmX5bkE*BYcVdfbeB@65$^9Bf?jNCBa{1KO@}BenGfTRGaT-zctc&_7M9W zFR!sb5FTKEB0R|cLioC{75E#RB7Boe2;br|!ne7C@Exuqe3xqo4{;sgd)$NYeeOm0 z0rw&NkoyrH<^hBs@gTyFc?jVV9!B^Hk3(4hDUZiMZ{i71r1J1u;}95tHPp%p1dJ?Y zvE_b_h8hi$OpLo&Fz;N>yK9%vJ=7PC#h*csFp1MzFe7bm2#sL&>)0q>NSO-?gS^}a7 zh;gXMr7(T^^df;%ga;D*!DBGBOWiRmRBuSV;SDwNDIemAdS8_a9*TVd=quj5h3h3O#qGpIy!HE&JK zn|T{*-olIQp);!MVbn2MOD5nn!Ebv<8o#oZ=9@wDts?VnJ{qa-@-dLGclcPu*YR-( z*Yoj!yvrvbJj5p=e2-5;_&%SE@B=;t;fH)G!oz$T!jJfQ2tVf25gy?)5PrgEBK(xk z!ho5d@!1HE@;L}U=W`K$!ROg!GmGnY1=%hyW>fGX3n{4oUqOrbE$X!-wkyalB$mt< ziHUb{BaOF2FYm%wvRxsJ#w%VouNB93u{cVIvE7TL<)SB-d%dCy@o+=I76;mZZc7vs zFH6J<`dP6o$;nLP*8ryTYXx7i1EPcj_75}j>fb}nFwa|spq@Y}v05(^gg)!tzI^Pp9xTODPq6Th*MTAle#2)l3$mDQE67W~f+ zW5O5pJshj=Vbof@6yYJU!?rW4W&PJ64I_mWLLbBYLba#KQ~0eQGML|nu$Hd@DT#dz zb*-?kF-wU$e!UQcz6;67JOY_pLub*DBpB)kfJOn-1{PV6!?p|aJKeVbAUgJk5P}VI zSP_Pqu*%|uSq8!z7Rs`WVm8cU$72XteBSuje|jJV$hm|KITNIb1pAI5etFQ zQIg28CHyWKy?hTrC*O-c<}&)2%NQ803&ab6*a@RIY>7|uc?A`pA7G3J>wLyYfrMBO z==>Q}wiA{tf{IU22?_M;kk;kz=+Lx4$6^79A%PvTTg|zE7TCAWsm_!A)}35tgQ!Gi zMM3*HQN8DZ8igoJQQpPY=B_RR*1fbGwM$^_23D59%HkuJz(PhHviQ07OLP0t zX?AE{YVvHir&Lw;$$Yk^q1W>GY`c738$s`W(5n^n@<4B|ptle7@&vs+z6|tK(97c& z+tfgdBbwN{~=O4!_+VJ-;j!|$e?Z|{}Mv-7uv4yzg(%3O~v?KM@B!2SOzYJl4qs5$h?~WBFgy{`Ah}nn2MW2Ve8S= zb)v!R2eI~;cPgg`WjRkU$%r7P8#+S7WHf`0FhiKcG*-fNGi=wK-@6_wBKCl52oJ!t z@t_+!2e4Rd5Mskz7}i1E-N?BBJ?h3VQLs&J4ATL7%#C46=;KD9-r3`BY(D7z?#6_8 zZ*gPL;B2di)iq!##kRRXj@WZ<%tGvWH?|zH9d7I@#CEwcp`>@aG1!UhB{yax_Octh zdDDaorb{X_*6@w?o<%F`lcVOj#(=jTVQka2=v9JRuDER9-=jPF>-sI}Pm zo^^>@ON<}*{ZVTv9uGvVWyVSVVAQ(E_>n&pwJwGpe>iGgg11Ma)}_Wzd|lMK%=nqF zk6QJ{kL;SLWf;Hm4bg^>@f-g=YH?#7f3!YonZ_1Y9kndu556hNCL4dUzR`T+-P9!Q{TOkpf)-N;mCMy;CwyfSJz zcr1@vtC7Z|)@BSWN_!S|<5f{>3-j=mQEO{G^K#_h#(aE5)Y=Yv|N5x)91Cz1@jMIh zE27p87UszD0*m7y`a6r~N2AssEP;O%wfw7fa$_L>mZ8=3hn|WB|X3HYhBG ze;aL3St>ssZO~X6KM`&4;_b(1gAb3Nq76aTF2a9{vTKZQ*pet4V|>d7MvcuZouygJ zt;>xs_~Upsunhi~b(M7`%jB1B@+`fs<*jzapdz3z?-`hflN9iv-3+=_a_<+QKdSEk|P5~&2P)a=YqK1)V_KyAKJ#BJdOsh%){sT$=lEnC8Rf;6CJ!vJ0p(?E|A(F&)*=6@m z%|Tgf2)~{1JMb^@I~3j+&+km&cct^YGx=Kk$$RrtKBlBlRtgoRP*r4&j?}d*i5;>} z+?!T^NTsr(>V>jasAz?%CVP?W70JyBdZD5hsye2)k-G291Q1l^0HA>kKie-Wdb-5k zrGB?0O%5U<`0oT=4k01boY1N%i;6#d?YT1?;8_ zY$%LjHNjwoJ@bL~^{>iGO(+&|!+P zhN=W2lBTGrLPTzje$i+=q0k=a!O`q)-7mHmbh(I>!kCjG+M{HtP^DFBy3$RhC9+gS zb2W53veoBOQnRA+Dox=J5dI+kCH|no#z0@H75&{RN^BE_LTaww3=~wYQBk|G>>gmn z8Y0?p2G;7+SmW5ezNCtvOp0XLSmX7h73k(dg;qfG)N2Z9FKO8Rl2Rn-AyTGllBSo- z1zv>?@_5zWx~EFdm330y7zZsGznhYz%g~n;z0Jn4`xK=jNP;N2R2KaMoe}SWB5gt# z&+b?B3OyJsl!zvGk+3+Uq@2oB@K<~n0MiMZz#g!FelWLwqC~POI-X5r56Wrr7?ZIYz^Bny1wGIv6LCSg<9 zMw#{x64WrE*sc8(_UI`{8RZ%pG?neM*F2P!IgRaAWF|I;&?Yg$GEFLe5yLy3eQdw^ zP(HSOetW2{{t?1vvV)3Vr`OgNO1dU@{d)_OUq|z1vDYQ3uC|csXhiZ4ATpc10Z37y z+Y8Bs-ayu6`hrOk$bwTeaHUr9~N`{{C%Cxs4^muYDCEf(eRuDFqy=}ko zaEsL0?41}1!N$oeT@v%yyLRZ23~e1@^P%}lA885AMnZhWF5HFI`6C(&`7<fT$0WYV%O8tleN)&%_P&g+C#^A^NvIq6jba*O=d%yI z-nw8#Et^5)qEU59rpi9DZ(7$j1C!X}lwH6+^dUW1R6Dqc$fN4iEFFyT;ktH#p9%Yg z@Fys{5DWQ?^-mXL8hR4{5`R)*i`Yl1!e)SO6Wg?wWDHeGu`i#n#q7wc4X?>d*iQTP z4Rc{rRBRkXciJmAwhli<_)`*p3dTzYTgr~vyEm557wjK5o(-&Cj~2Imny_W;F-aN@ zg{xs~)1WlKG8eJO0UH4+5wPAa>|*wWee{ zY>T~cQ)Zv7L~@}MAqmU=an5)tZiB$WfvxyiP zlWp6ycT*~*N%m)tbsxG7da1lI0iBrED1otFuB@wB-m_=Vn#<}cHCV*nuZDMNSfS1jIxuoY`!Bi0n#upkG6?fPPVeLFK;##XZJX%)k3No`RUc7?ENz zS7KMx?_t-mYlB|s%|i4tmFpDDQdcNc4@5McY`^z(UfYNdhd$$>^2Z0LuZ17ol^5h0 zW5Q&7nE1zsX|P3zXNL3Qc-F8)cAZ`HOedOcPkv??#^lLovRk6luak`}3ja3DzmMZT zB%3tF)YDB*hUsm=uIGuqIP7lz`b<@%8jB!eCK59V|B{)cuvP3UUlLMBZ?20=CT6l^ zCM(QlU+V(+?B;=|fj6*kyaJf|YNMsm_N_Mon3p_T zop6fgDt26CHxAk3HmBLgpY3`Y-)1NLsle~LWz1>dD)wCykzD(QEp1LG+{nI%KLEG? z+|o|Jf&Fl*PAC3er|;}3TU&KIRs2otq(4J!EX%ACo6lIs%gn*Fr@;hZUlFwe5u64P zwM2_U6vqSh&aFe^j#4v4X1bTHWx(2=`a)~dj$?1Mz&D}OCl1j`}$xK!F zQI%JFnI2|0v!4=s0R4k)KetFDW`vmO#LOUOreZ?gj%sFh$jnY)x3Hh%%7FIs_5(v> zXfA@89W=A!*{$psMaQ1^e@|tRTv$DX-Nt^EBy45JX0u3dRj7#D*l(U7=w>}%oSmaX zq$3kmGNSUT%9l0C%+btTovmTNr*#L)^ygoMQfs@TL%q9}Vn<@jDT&?A{)kkFz4cmm zt361H++F$UU~vdXZ4u+c2j$Dgts3l;Dq5gX3X}YI4HJkeY588`wtSzlM)PNSVCG`B z0_1i;Zp#lEYqA3DCzW6h3(^p&s0tLs1xS1Q@Q(BPiTn!k*QFGuN}4}Qhi*!VPfhYi zQg}iN?9pUNs!C1|cS}yv(lT@y(Mf6LjipU-DJ@;c_TyDA0*)q*+ znQ0cBg(m&k+IYh~FVJzq;B9Idt1NO`CAjMF3#qlvh(Y;^(Wt3detkm}wOGbvmG3d` z)O?x_<_HLeL9P7(ifIT{_E4YhN0!_2Luj&^8AOwnkP67{SWf+HSM4mzO;nQ-Qgi`p zBAnzBE^kZ*MK2iX)}4dW1T9}c_orjKH7OOicgHHR>cy0#Z<;fd(|9^kjZgO>Q=1p7 z>F@TU7jxr9MN8xyilvJhb_w45;<@z5s$He@q}^^;gg$Op@5=Lh+A2LGE0z6jU$84m zf3%%l1G|Vqy=Xv{UXZMd-c9e8oLZMum?CLvmV^O7#Z%Qt5>H6d3Ns}1xn3wLXs7R< z+6DdGDrn{>nk_TTmN{l&9$Qgl7F58IhTk&XY<+=QWH@HA@qk%kJZiQzcC$O!Ux|Yl z-}J=pHnbj^v=sl6S*n;FLuSW#vs04UDb?(pZg$QxyX2Z(qD^|XV<)q7x!I|w*`EmFPn3$rH6$!PY?`_)!DI;|`OjK=)9r4xZF>*o=`zAE_A+Awa#m z5)Zqb)7-&A3SKU#=hKIu9-ULet{V?(Uif;bLfSFx{sNz$W@%#Bb?Vi8rw7R$fR=&; z#adJioXI^Di%>P#R3)t-j4Fof;_~&SRh|N$hYm}urFLLXZ%E>xJsFYMSSIG{#=|ai zd`nc#mlcOmV|!XKRizJ-{LmR`2_W*Y=1W)Ex5TGu zkZo|J`AT#E#6Hef7%!pfLX5+q_<%1G<_TdTq(thg(@1WB+*G&sfHo>XDt+BoOn$La zlf}@KYi9QpR9(&ozi|88S2D`DI7_S@6s)bS9Wny?26HLe8&71I#J`bJ&0vtw4Vr?% z(hGc0MvzRq=d1NpvA4e3hQ`}pyn5L{!Rm@P-KS-^R!^EglAaMs;|Xb6dPQlvUX>Qf zWWT17^vp;yk4q~~#!9ig(Tfz&e$=I%2_3d6D-*Ph{YmzVdlNhmhpcoJ;&6Cx68xB8 z530a^{Qt+AZ2VVEqGhp`W%{Zz3lcJ=s)Y2oZV6hI)=HBzwX6&kLYtX|YCY*@&B2i5 zpb2m7&!KTqv)?SU-+Z&*#b%Xpz1hdO(X235^P|SiW?$o5v!8JszmsM^M$NOC&m6$g%xYGN zU$t3<$?Z;#!E(h|o-SiVaq0>qFCGgDm7FE3Sh$IWsRZ4dKqE`zNDEp(z!PdVD*#Wd zKA1a@3kH5lFfjP;?~~6d1}*krR$2_|PGY;>8q_8mhMj5-Oqi2CC%dem ztc^LSk6AO)9Bf==)*8>4LyRxkU0jO{MR)XkJEH?1E~Y2VlcfsnL=|22`}{h^92PVOw=f5lnKc72;CfQN;1ZnS3)2l&h+I1aW_G354-;oNjOp)* ztN)J^6&mvqaQQlly+hTTsi8s%?{=t1h5S;;7hji9m?+eyj5Z}`i9Qv6fC&jzKG+oj zNowU&0(i=;d};uU7$QC~VeC&NNtGkE)-A8Qs!~&gavDx~wZ|NhimG{%OGVYlnbt(n z^jhrez?KlR$vtBJF8P}kvCXw2VA`B%ImGx(72Ii`cvtXQk3-pUiE3gXDWpacc|xMA z+-D!kNJ0%p`piKgvnC%k@WvY(G5oh2YO9XQPY*HUv>Q8dC?`Bd#B`5JHPS`Z zX4!e4C28hZH@WM3IqEn!HtxL~yWRT=&9xa|Pq?sq5S!q}UP5f58~YluNp39u{haV* z5j#b?zaU+2PWcO<}@cuwBE*>K-cux_$ zH!+1IX=S0+DP(C1_86uT_1KB0~zqqkhe(&!Fdi zQM{0W(ajU|G~GNeg{|d*h_Ig89ZoujgXz8g;kC8k`d48uL8D~Jg2ff8$-3r+eQ=xz z?ehr6ex0y~yunN#l(9b`pmz(75ax5156XDu;bfs?50^l(#>JAe4MO&>ACK~EPOplPpeWU|@ z!d`KtA_JQ4X&+k=Z_e*oR$(p}XD*z{?%^Q~3qJeUk^KJHU1E3ys9u1oLSS8(HaMZ}vgf2EEW`7HKU^0h%s$XQ{b}u!n5zXm;{q!X9SD zl5n&UInKuU1AD~odbEuKa_j8rM{~9HtZpG3YOXz+OY=6ZJKBcQ7WO-zFU0Q2z%NSk zi&Mf$sRfY~sVbtyr>F6vNIdMoI9`$_C)1JX$?5StYTy1vYL8e#CK4hNPs&8lDNfF! zBr$6MEmyT{2>BOh0LvSDmn2Fs7rzuh`@1iyIxqE^m!ug7bB%-f=A{KDuQiuXF)yFW z*c`?dm{%Hxd6i+BcNh))2IE@ua$^mCYuQG7!I#g{&UVSM)bvMNZufljU9wNW^X)Jj3wX)$I?@tFup+_x5Q??*nG@f>24N2 zVTZmdrW@^UU!{XVM|@R6pR}#7T6B5bI4LQtC3Y%xYzor>VsA1tO%a>=PZ>Xoq)~;` zFOpcmO{;a&HrXG1mD=$s;diYj6LyIJjjo))I1Xz5CoU984>Og7@)M1pyMz-JEFm6? zlw?ZK`#&SYllGq{#(~<{?+Sc*;l4^$B$CaZwXgZEb;+(os<$m_VeZzE_YXv#OGM;P zL|#hl6K#>JJ$Tml+3ac_At=Z-bl(EAe{{17dGH9ON z=7)-;`Na{ESXksOE@}hoVN7v)5+7|FKa`_0H~&zc+BrMYmd$LH4u2TZHeKN@S|y6m z4xG#lJsqja$4S{pT9lrTt?}}cxpaX&=45esXD^O@XNKKOE_xVkW?Fh;Qerrw@Ggmk zrJj;fUw(+`Y3LIQr)c>FxW*>Qt+B78&=xP?j6sIChvl}vj9=>U2N%jD z6bi~zN=G+z5Id0y73aq)Aq5f+R`t?MnO}xIMID3Cp7zyf^u5aQK4~_5KqTW?UazXc zA77TKOsYsk$>QZCQ{o18>J_v#e-tGN(kx;n5MwJh?9IO~Xv>IK$Hst^s^cW2yfL+} zmI>E>9Q7-)ry_fNisT8%N|wgCeeNIm2?@WYiEbCNLa|lbKR#dmLyeui6uSsS}5&N^hy56{zR_FZ}7GIOdl2U|pw zvhu}dHrt2uBo_-vve-4cQf%nbmhFH;fy4ImG#5c{Mz|`5P@CF}@fyDx#?65?ewT|^ zI48ly`aymT_U8{cSrX0BU+33q0la{4Ieo*qOrmM@O~(NTCC6&<7W1l}Q9*B;5RQU0 z=_Z*b2i~SIhEm)*yzQKjXjbQyF4q;{#J)M<9p+cnQNpj971vQ5+d~+yrcxhQBnoCo z@WN;BI{jr@UEd0nWGml;t9|fN97Wmy8&Yw-1feUyF&cX85MSlPwL;gcI_O=@w#e8z zam5UkDwP9u9^6$*DDs%QR7f?RyS+_-=hUXiOKKn8(^`QDv{uAvYO6Vwm5(lmU}nE5 zB$E{r_CB}u9F!7VEKcL{sRyEep@ZGoW%VEM8#FcM)*W=63E=65y$bBdtx^P|WA*XVM3qoe8cUZg#u(=_jD;=`g*<~KQeb-MK2ZUmZ;C2B0OD@*EC)`zX?&k~Kx zS-`l`>SkPx-%56b-=r$=I44B`)bnZzm$?&^RY3#jDcIqZNEsY-H9s6ff)X7R2zq<_12~!}qyFLHzzA=c z`r^C7Q6DO*MAHgj@27ZM5ydOV!3Qa>94=F&N}=8YY>n3_-oiM!B(512e+JB7pC9sI z6SvT-6eeI_vA~x=ac|C-5n`i4@m`k-&<80YbjWJrZz7v>28m{}Suq%d^hPZD${TwW zYbgafQBrl(OFy#)daMR6tUk`4@Anjjq(WUmJ*wghJaA6abr0OLM)^bV2}3*F8Z?!y zcW}!QyZx=(31_*=I_+$g+*MguSt(vdFRrYsM!d3S^b>WOM|64^no6^J>MSmv#U&ft zQ>>nO>{GrvG>sj8vf4+t(80AD4!f^fUOirWtg`NWkg3FmP{MJIBpk+XJAVBV_9JZ6 z$f|_>I`)iKfjB0aRhW7BP7muA&vzE^oyC0TSqpdvXGDPJCUu1S1o*wpYK;V{L+}AQ zpO-mT1!y1I(Rn36+u`v?fVS}WCsu!XnumSHJ34KGG*dpx+d2b+w3YlhFLf>m()RKf zyq$Ajkls|?AGa3*>`Pvvstch6E)bqYaFtRrDQ}0Hr3zF*o6l9DG>-AJWM!f7*x@Co z?SwXmVapN_XzyGeqO)jQ=erPH8azj1-7?r${1(N-zIK*`X)FC3eycYQFZYCLU0fZp zhN{+3oCWjSAZcGadK}H6w>qujXlea0VhtzkIA5cxxG{m-60RP@ad-xmh0??i`gqqbv#|$s~ctT4)~Q9C3FIv_Jp;U7qYLtI()_rGh{4xQA=^U ztaR=M{Y2$n3Je>+7X$N5Q}K~7N(@&zMON9>?gChE!xAdnQdr=Ws zG=?d9@}?EEl-}-K3fIrnZejKZF8fhqujs+j!!QuppS+dxRwC_P+f8A`8cXu9zj&dp z8GCWN7(^h}WmLkJe3dNpY^K6n5m^4Uc(*e> zi5B|Kc)vM`wxpe%ZAo-T!Cg9<-R`(bdXBHVYBKD)G>v>&=~J!gWMSUImJ8b~>{Q0@ zdh-5cxA)uJU_T z53-hL(1KKr-zU3QaAIc5S-)#^7~vjgNe1mmpKu<@0GmJIyp=(V0#~R79`1$Pk;Z*a zD3fOSf`t3|(~6FF7#V5KpiHXk0sf3CAY(FV3q8m;13h#KJcJ zWTZI#;adrG63+N_+Ht8&s_T5TfbbUWB`H&fghJbOydTpb;ZeTLslkpT&3EQUX$sxu zln$mj&OK2&J?%DXtx4c5#{^QNLDmJz4;Onv8ZU6-`_K|+NIor&zm?3UY?aPijrFBO zWf^HJ^63~_=zN(^2hyn1sU@~PyTJ^LzF@zvGY+YT12-y*xf5aox2v&R%qg+LP1*Vt6>5Xr1url z*HZ6j$vT|H+fEH+Mw=QdyN%810<-r-YubaBI;CxBgWm4ExVBMQa}HP00gh5c8)$py zsv_D}Yd<3{BdR&CjiiarYejU9k|go7oIb^LabjbWgPED+HIssDRRR)TE~d*`HHuXs zTP3qq8e8RKtHQj)Y=3eT9Tf_Re_1$^ql&Xi=!jlrbI@D7qnJ=6zQY~HP7^&?$M8;b z6$N()mmsN^yCk{~#sXH1h6mOQ?>sM@h0BG`UnO(~-Riv8okmi-&JQF;jW@-Jzy}d$ z5_OW>7pvRS8nt|ZFFEQ=>OmupQcA07H)n7u?M1sg*Ok(qw1=~|lxEiV#CA)R7ewe- z!B3q$KEY2tv7h1sC%C{|7uajDB1gSM>m{S&(}*zfJ9WXT-qj7=m#A`77O9GqA)klE z4@}igwMcH(GrgCJ?0PKw^jP*8KD67--`iQ(4mMyP{(`d-k>rYt6fKG^4C9DcSjy$J zg^Z-<+R;R{{NngFQ75~GPH?)kr_&SG`k9`<^d#$^G?tgi`|_R6#`ZKf($Cl)%FW8k zLf?e&hfsEVXJJBP?2Zv%?IS7fAl5kJd(l0~|KQKbe2=2#IYXkT`;<#Uxp{ec z|K!j;r#ZAqeNVkKkeYW|eXD$$P~YdC(%k1==1a+gR-Wcu+y|O_y7N{adJdiJxO0Mw%(&6ql&rd%9g9S0_PK`TOU4Cf=a+s^>906>{V@u! zI(fse&os|Dw?9N+PfP^%G>gC~l)rRYVsK+*ShB2~0AUEmC> z6|$Vi7ssSw|C!RT#JEmT^8TkZEHze!vv7UeDIIu98qzK@t`8*QCbt+bNQ2rW4tt!J z2GSbs5@Qv*O=$LXr}H_`?3X(H908|c+eVcnT?z%|Z}I?MqFng!;7bJkE=_iur@ zmLG(`fLkP~r%ZePL%UqZUx&cpUOtYzo08A$yp_hizGU3jcitTefjJlxnAc+hbG=hO z3<7f?CNKw@1?GVB+A#WBlfbMp?hn9AE@lSGZcjj9GMqPt(+Rq5JP^#zk(@OGGGYW2 z?hVfN5%eAG6y7otvU8)eXJkxvZgPf?q8I&hg4pY?iq5A0l(N zfr~9U{0dAljc3Tr-3IQq#K3o-Av0^8!DAsacRKUNLT2tUo)x6^Cejc6LuT%AHUhc& zUjDX_8A*IV=|5!VK4U9*UdYUf(=zk6kePe`Av1S4k#TfS#Xshp`}sSn%JIDh?-C9B zHZt6H)=ET)IUjWPP=cc?It$kV`McN>cmP`hna;BFXhx_rjuWu>e~2H#;{O3>@OUuT zR%hvWS`^+v%pH=sL$QJ?f0)1LJUX7X==BIMmz5=QCf1BqQqvAqXB-H?d|k)8DM<2W zV&|?(&c-L*WN~28`8ZNxI}^U1cXtve(5SqD_i(ySpsl>_)WkRPp3ck(^oruGp*ZZ& zbjB((P+2`$ihJkI+%4j{ue@qVZ^Y9?x(O;swa?#@`Jq1sRI{<^*dv*MCWeUQ6J zlCAh<9LUHj6^k^PV`yOOc3vP(VZ@rc1HlPgrQ@AMbL1y^l~Xi{W~VeEZD>ZqI`Juf zwliT8{Dq(9BT>A&vv>9x-L~5;{~12OSq%#EdS2~3Jqg{jnGbY66p+pQoSP=&`79sg z(qSm_%Bkp;b$pof&{SHaJxciVeE5^^O~tlR zT(EFfyIGyts-9MGAb*UHaPrQh`R#V__rbdOQpkU?ZWj_`T?>0kJNXCT-4~oi=g|W1 zi~K_kFa9Fu#D!S?Y&nmH=q~4#^Jr8F;_Fw=_vg_z^d%>II_(fyhHKflD*(1E@KA~a zB6wO89NjE)W=)58L{Q@|J6BAn<6GS-HUz~wc~4hKD#8k!f=#;g7N^bpm2y4Kbr$n` z9oC0tJ4G{S3z#xBGiVjv?c6kjPIH$KA^wUZ&7^(kGN<26>>TcOX3eBa@b>XcT3Y&d z>x%D#s1`x$m-KQ^`08DO>2kIr=36Wh_B*|2(d8M-RIlQp5?sb3ULA~C=qDb(Ux7pD zGUuaNbShL{M3LL^|QU{MPBS7 z;}2bOVifjB_4%|d=8S(XmEUyEo)5LM%vm^}rgqPk`CHYvjl*AvO$YD0(?J(3fw4e- zd!T}Ekp62n=+fvekl%4$m`|r=Y?T7w!Y4{b{;tz+0Ub*ZId?9g z5eIOP!||(PH|n^VuTWD=sHk-k6jhX6F{hDd}Kq#c7hd^lk5=hQO z=g<<`D)lARdMT4{F65hwt(SW6ulU%ou@iJ6OX;;~({N0j?n&~%3)53>Jdp44XmW;^ zPjt2}rNwd6#Ub+PWXFkHMw6ZJGOE*APUlcJI_p147RNG7#dgoB+O+}cY11W#| zU`hi2mQM&5U@W9d>8&ZCe?YblD%L^2*yB6SCx)|-w&_wj3Y!jr%VrPccVWlc7 z&EO~aBwsSV2!-!O;lod|xJCE`&cerG1Q2}^2QuTFiI>qNP*`*sEvO$0|5R_fmW171 zjdtCw;&}h6o}$ubFUjnum_0O*oQ%69_{daHACxb7-1|YW`I00V_Qyz7!J+d+LRA+6 zZPGOk7lAZVogyyt^6&T*j~|(3d=>%O6*dWH?)Wqb+zXINchc)=?zHC4@bAPUf$vnhqhWIKi*TA?B2s*&pW*tEf0?+nlCj!u}^-ICo_Sc=UmBXMhrVH z>7Uqz&WDWlE{e7Okk>lox84h|pF`IBDc1Yx)_Y~vdp)efL#!in`AL2rTuZh()tnBG z`;1seu>~wccBdzH1av*e#5LY|o71jnV1h~Ob7DlnLZ3_4=Zf`(%9iTZ7ujg(jI7DX zvcW`~#yM}BG#WV)&=k0V2p{=SI1cw!(9v5&?>b4Ao9sn$d~>qqMe=5d%Q&YtmK=}d zgyv*#Jd&Tyh)41@NTx@e4Ho9BiOyaN9>f!gH${v~QhpMf?MCD@Ix;0KBMD;{e=6xb zHwnX~N2GKuB{PYS#bvaV{ER;NnI62I=d^2}{l(>MwD7QG9gerYOtijiVI9l2j&
    UGCBxbvf;TY}Z^) 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 J8>C*V_&*++(#Ze- delta 28956 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 + private var _onChangeCallbacks: ArrayVoid>; public static function createUnknownType(): AnalyserType { return new AnalyserType(); @@ -29,6 +30,15 @@ class AnalyserType { private function new() { _type = null; + _onChangeCallbacks = []; + } + + public function onTypeChange(cb: Void->Void, runImmediately: Bool = true): Void { + _onChangeCallbacks.push(cb); + + if (runImmediately) { + cb(); + } } public function toFixed(): AnalyserFixedType { @@ -45,6 +55,10 @@ class AnalyserType { public function setType(typeName: String): Void { _type = typeName; + + for (cb in _onChangeCallbacks) { + cb(); + } } public function hintIfUnknown(typeName: String): Void {