From ef032536fe543cb3167275a6f2bebf91da265918 Mon Sep 17 00:00:00 2001
From: "Ion-Dorinel FILIP (25005)" <dorinel.filip@upb.ro>
Date: Tue, 11 Mar 2025 01:39:02 +0000
Subject: [PATCH] Revert "Fix link emulator"

This reverts merge request !20
---
 common/link_emulator/link   | Bin 36104 -> 0 bytes
 common/link_emulator/link.c |  12 ++++++------
 2 files changed, 6 insertions(+), 6 deletions(-)
 delete mode 100755 common/link_emulator/link

diff --git a/common/link_emulator/link b/common/link_emulator/link
deleted file mode 100755
index 4ac4bd8c68a17eeab7ae84f60182c40b24559936..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 36104
zcmeHwdwf*Ywf{bIW+#*9Ox_940eOlE32%8B2m=!c5FsdtI)r5MD0w*#9##d3C~3?s
z+*@0$RIyd7zgkOstwm@{P+RCji|x-!AJ?W{(L`)Z(N<ck`F+=ZoSYe$Yd`nbKRx;6
z?7h}ruf6u#`|Q2XIdgXUs+KwogXzO$3mHMZITBN@3ifuY43cs-hh^YAfsJQLfSm#-
z%gbegQhA(l#HKEVH<1!wA!RO;j*w`kQ*9xo#FywelP*hi$~+P#K2BK$$ES}LNjjbC
za!X&SEN5})-eif_shy8}(>Gt1_f^HF^Hsgq>&hs*$X&#DUh$n*d{(L)abBg`pCpF<
z=P0@HX`I<Cp07#q#ivUklMbDd4m#GJjnw~d^i?aq^)sZL`1DDMW;)gSt_2_Y<)1y2
zJJ}kgFHt*qRlRkp+{&i5G;f|YV`@u%aZ7VsbbImkIkSpq%_s@CmrN5TkX>H<Q%o&e
zwT_|PdI_h*F~=?mYk5?btICP~*1$ave)iq3efaK=zVpjRetO??pa0$=H_?#Y#6vW6
zkUZ6e1Wfrc_$M0S593b4I|w%x|1Sq$YQ6eGx9&Dn7IPc}lpTYSz?T!?HzvRbV1QS$
z#+;u?K)){m{(}VgY{<Wyoxe^%-<AOXRs#IW1o;1(0RKP&{L%#Y`x4-z3Gl56@SjfL
z=PMHU=ZXY!<|M#>Jpuk_3GlrM@b4wSXC$!mGYRTN@qf8?|9k@cH3{%t3Gh%W`U#Sl
zqYqFP8^*lV60OHa76{aBuMIRbx7D^Z-x_2ck)}|vwm#4rjRdy`TH5Qj#G#^X0@+&I
zf|NzWEx}+13kTckBkhn?8x99Ukw8Oja|<AhF?E4(q!yUg+U7Ra&=G2Gi!@jg>)PAu
z1L5XI=w@N43PxCMq`iTKL$z)7tTosg1|}Q{)zyZBb*&vN6s+6Y5NdB_9nnabHH3mg
z_SV7bNRVxA24hpCy{$!@!{DwDhC-|{7>P8u2HP9zYj>~?VA?~mR&1+nj<Dc%oC0KV
z-IhRI(-v6|Vq{bm8Xae`WmT1nD+1F>W>~rD7&A3?`Ve|r$xIfgtXUa=1;NJVa3mP2
zSy|E2-WIH>-P{s{qQ=(tHszmyB)u#ljgStEl!i#17?TOM|2YB4Qi(N1sU4%oSOZtl
zNeB{(LppMsn=@#XpQdo3qUIF3(#}`#)B8V<Vc2AT1xJTbxr40*OozVi>v%du7Xcjo
z>bkD+n-ty^7k?T)vs&`en6Ixfgz2;4>H49Mej8p*<wVhW8{U4AxM;(V(L#{w{y^6`
zy1wY+;wqV=>5r<aL?}6g*FL2JmklrGVUn78Y<O`!Q}{v~UQMw?iPwhLzN3OkHar@@
zI!bN$R11rFk`13`!<XCe={CIIhDShHN3{)~X<->#Z^OH7_)Rvvjxj23vf;CA^c^<5
zeO%mb!>iB{T)S-eJe!=oHhjJfzt4s*u;CBb@P#(~Asb#znMLX2HvBLf{b3t^xD9{A
zh97Ce_uBBIZ1__){Ae5gv<>gI;XlcK;(<>*@bMma*FEa*{?2z?{%-y&%%%K$dLxd(
z)BesET+a*U!I{r3WbDG=_~((hM>C>tqLK>(zaJbN+$UhV09+V&*@9`{zc6sZg6V>F
zVc?q<Oc$yP0}op;T@Wq|?6+XL5L_6z(}L*&aADvU3#Nhp!a%JB(|~_r;93i&f&Rk4
zA`7Mg{=z_+1=GNOVPK2}(|~?qAj^VjAipqRSg>2bfBs0<mj-Us--2ntM*S_A25Qvb
zg6RT``dcs!*r>k+(?E^-TQCjKsJ{i%z>NA^Fb&A4zXj7kjQU$J4Zx_s1=GNb`fC`i
z`QZX;%_U5<C*VI|yTJ~hjf4Ly4t^yLelZUIK^*+OIQZLf@YmzuN8{ix#liQ*!98*C
zo;djSI5-*yx5mN2IQXVGcwHR4G7k2|!3*NxnQ?G&96UY_9vKJc+2OK3RCc|5v%l+g
zf9D(Lt808^y=6c0_bk|tupP{McOGN!HI%qV--RGR2k%)h8NB`;K9-WJFGljv^?wN>
z>iQ{zeeTh_i0*lng8pw**faA2C6hn$cb)g2_~SMH6BkXt@k9U1A4PH@;87*OHQ3i6
z;z;w;_^@li_fX8DQ`Y%A7wo32zw2xy-QT_7ZUFtw9}W)o*Q2xjklzQ`xCy+Le&Qe4
zhC<4$10Mz}&r#}t-^V}IV;I$=>tz4y5YupyrvP-Y<DQ9-ypvE}{O^!@oT&Ss0-}q*
z12{&+`#_M0hop!%0YXF;iI^`%ylRQqB1HU%L{PW?K8<z9>C{jCv5Wr%CEff7ICowg
zjF!VU&(3A+Sz4$1d-Co>*Mu)WPf6FwBS6afqaKe*T>p=u;5dz_{il)Z=C_h6s<6K&
zqXc<>*Gn+<E;7USkIviwA(hmSk_thUS1Ofkuq$zb9!eG|B|%FG)hE6tUm)R}i<%5V
zu&&9Uu7;AOQpry+=%6OKb|nw}Ln!$z6~RVkDM>=En?DUvx+ZraFKcoXO!k_5hLluF
zB@I%^t5TqJ*IcP&n^N)sK<TcBk=ys9=k0;w@4EeBH(vr>dwQcq->0B}6CSsV+wuXK
zmPh7vM=vgVmONe6!~gHqumV|j^fp|bP?`S#U99lqRMP(&;Qd{`i~i2rFEY{IKbiy9
zn`8wZ#ZV0|?X+v$K^#5&87hL{UjvjC=tHiXe;%4)ZR1IP7jk4yH{XgJnOD`55k?mF
z%|P<3-M%`KN)46c?}jxHJm&9%gTiI!0w?)=&{I(9LMI9b=AvJ9^CA?<x|6&`f+a?@
z>k`pF{F@f-B!RJhkxu``9OZQCMyT#|SzRH$|F7Wh=8u3R#_2nOh|xR>R>lgKPHzA{
z*6B5~!P-R??8z&|^%71`wQHpMQv6d9d=msHoxTORZayBGrPJNWNvCt<l+!<gbU6KY
zq=cNLgW`{<N37GIyr?|`r~d@>cBg+9h05uVqv(Hh`hQ#^`dUl$rB3(O`@5avCsF+o
zi)Fq39$%jvAW_)^U_>+Z`I}FdFLpz%uitN+_IIzlSnr>bE4U)Oe=(?HeBFVDJaB}n
z+y8aUh#>fs|D^9QAtd%Tgb%Q%2YP{m)KmWMa*w~8D9-@Ie>LWnzSI7zpL5?s8~TC<
z1}(yb3q*bBGkvnp+&2@ReSt`N@@~O&2+g+{vmi8;ROO>8^zhwO1Obl$l+8!}hS)x#
z_GEtq1I?b^oo>*sm;C*=#!{rcuNWX^@UO_9^z}inu&o<0;Qs71RO_6v4<fFCRiy5E
zA%Y(QC`caabwAVF<$Dq&BNWLCB=)4QUy15R^^SDj{v>nX6+{FGFU<2DcHetFpl<%f
z8Nk({3E&*GM3?XIaf-SAe<LZDV<tg<ZXua);^^ySVh>-3siVK^hsfQjT=5gCLl6HP
zNrb6SLPGy{NDRa`|9teGbJzM$yzM>lciwg4#NS3w{_&O{*H1px^;|b!1&*tqyM4C5
zo1a9s8>75&$7DdyDp3z$+6-gP1N9i8y4Riecm0x-WMP60>^?;pBEs%<ef};7EJ;<^
zZ;@fDWze;#GRq1`;)$bwl$F_wd9kd_kzC51?EmO5)ERG^4oG_kmUa+)Ksf3-A+d|%
z3i>GIq(wWi1ORy0KLsA`LVTl$n(B_Rg2;-?ivaOoPW-3+lZo~SqOhOsOh$5q-LU|T
z*bDQRz}`XeOKsUJOS1tU@z3-1-cAKaL_xQ&7nawcw&z+<$22k)h$}?(c?&=?BqHiB
zLh{7XbP9<cz8C8RS^wiXlIf%OL}Q+urVBn4xs(0($%3a8cpdySunpHc+r_RF-Sv#@
zE!WZ55pzwN3C3qf3$=M!*`$5u2B}kWoR#v&QW1<_3i+~sRUrpciJuBq5{PRQz-~`B
zf2oXO$o(bRANoO<t_YuoK=Ny}q<=E;d|Wg>EhOFU73~8>_3sM3FDiqg00*vu{r$fo
zOFvH9r=(py-$6t6KS3NA?7CC$fB$b?>)z=<0ECEZ;C%1+54fMHaX7nu=R5n7zYi6x
z>%=eK>^k4|a@h&NMkITy9M1kt|BUK)OGURT@1G{Lyw~k}Z=Uab1idI$+j}3Q4ZiG!
zD02E4@<lfvgG!MU74r9Dl?<ZaD54zcuzM9agB<opjE1%d@ghR{WqUtCBU(&^<bd(n
zl`=y9gp~s#WOkO&FFBsS0FE9`*G95w9OTOgxl&jsryRRvpBK}QFaH@mV!x&S&UX$`
zuj=~Vc5&7Cc85srYeEut?K<h(3rcp<cP}-@zz&={Z@(8K=_<0Wdk+b4Kf~rPaPOgA
zc+e4fw{Nfizz>)3eLx6)TmmtM=Y3HaEQT#FEW${HPP~V-pA^^Tfh>|LX(L0l@12jM
zr78ZvS)3H@sv+7_@wBwxF+dXqMLThb_Fz0M?S%~V4AGiHv>lSxZP`ovB<Jdt(Ep}J
zlB3_UctYAhIX6!bii^c@L94E%J3xH|^&dR97EbG_HoDgB^>^PV-I|S9ui^Xrox;rq
zR4aGi)$869#R^9XJ=y>6pRl&_yYJ`)D>Whpe-S7Yq4sITInc#SE4=zLsV=<dX2}36
zk=MTS$LnEyzY}dG@%a)jNA4-O92vg;PG6saxkKF@FVF?1?vxm%@Atp|x6c0hF5es7
zzBfd*UlY?7Rqfp{B!TMxq_D+^aJ(Na*WX3{feozx0g3<TR2LJoP5Eth<s8akRg5D_
zyKeujzbktBlJI{65y=L=hcj4k;p@r$0hxnJirE4tSUtED_pHQ)=_Trm2XG<S)4OAm
zAfV|N%@2m#)!+R`)#L-^h+|yRIxi-<@1eO!S1-ix5#oFJJqVL-r-M}HeVRhXIK6PN
z4`R=wrQ1NsOO;fzu)h>iFStD`&*Q{9L4U!0^N9=Yt9rZmvr|xm_odMmbB3My-9Olv
zR|)0~ig_0?AB|(~7jwpwM}+2QB(o2iN!vDJ5R-qKsXw<f?1^Pq4u*3Z?G^i}o%;G%
zYA;b2+o@03sVB!$|Mg17_I3K+Fwl7Oe7|+yI~%=5#?u@`f!v57d(d*LkjSDH2p)eI
zUjS9;Vf|v2fmUe6MZ}uN9|E<SNu&!`o;dnbxC70ykS1iJ*{h^w{ZGFmy6Sl?=ojck
zmLRI167;;FKXLR$Dd;aWj}n3^l%OpTByIi{W);HN_%7}ONlavW=|Y3hrqJmZvn|Z4
z_dFq6ln@@;Y@!*_x0QO@u?4tFfE2#E9`BrkdJKuIKSVX^q6r{Gi-m<2EmqxYC*%4B
zc8JMKCNVuT3xzb*{Y~KzUL<k-^;9hpOP`_wVW$$>RqZ)<i`4lMw8vg1-@zK|SzH%M
z%^~a~L(MlS(F>J>#L>gQC2{>9lKDc7(68MguHw25bVb*BOiWLfyC9x=yR4s>SYuh`
z>+fb5tSQswiQVUr{?-h*#LbuF%E{}6F(;0W6=w5+G_seRoT03|=WW%p1J7BSEsH!@
zzD4VlIUX7&Ro<mqRy5>$Lg<O36QqtkmX2pc4)bB?5R50wsX0~sszt@9{^z`xQGwE-
zMnO4L!*rU#Ba8mCa6k$r&j{&VBrk41;&>s{^-m}LF*BYq*qC^Bj<7fH73x4eGv5^b
zNJY%cB)o^eC2{@JAV4<d99fl%wx*)IuGYnqR6nX<oFV8H7a{OvA@Ib}MM5>dL4ed8
zUsjqf_RDFTxG!Vfi4j6SIep@RPdxC62R`w@Cm#5hcz~XPqXSPlZz-u`Y~!Ty;ko1M
zC*L&JJJv^!0eZ!ggUxM?Uik##SX`uV*y)zyX~tl^H`4B<#|ypTGSJw|FDu78O-QoS
z#mgazn$Ql?4cYVzrMK4G8VrYP8-w1>(TFz`Y;BJOy&b_|$lDzDwzWsRcx19ISQmjg
z?QP!H9o~-iP{cdFKGq=laONfYrJc=f-umDz(coNfaC-+tk@_|WYm2tDcw57bW5Bm|
z)smHKmrY}>%?<Qlys(vx*&J<X2!@ImhUqa;d$rc!c~P%;q!OG<LhT(Lu&x7-P}0Mj
zu)Utu2V3yiWlMWF%<9@hp=d`$r_=CEXL|?_NV0WpTiV*UwSh5I+Zx2PlHT#*RJLeq
zFht%E;=SIo(o*lX+OVi_Y!OO^iqL-RgcHYyy~2V88%5$p-CH+L4c`P0z@h~kMIx}k
zk$np`;^EM`U|Yo7-k|D$5@qyd3*jt!wv^(B>Pjs+zQMZ^T82ub8lX|wYQvL8ZwSw=
zO0Mzahgg)#W;9GJfrw7LpP-c1w@2|TskV^Fg#mU^%EOnJGe$q~D<7bpG=VxwKt2R~
zm3P&;s;aBJ0u`=n3f4zkf+2~;YD65D@HcFW;|@jJ0uAk<ZMC6#cu8{~$Non*HX>+m
zi6cJ?|MmF)cl?v!Se;BfJ}foj-1kbk$d`Y%9Dy7SqGR7uys)J<9Put#AdHR)(4p=C
zDhgksDkYYN=1@3Nys#q_+-h-_3emwfAsL~oQ#^;<z9S$Z-1Zu7&U+G+*w|;Mels}O
zhxEXI4Gy}n7<wG37irV)P(R?W?He4N1Nhe02M5<9eHH0;q<{MF!NCJatKPu!1Zn-*
z!ND^~k08B>v=I~ZTnt}bSY(wVrFCc(QaAP`T96iExqUCv3-H-tq?@r*c^c_XEUM2V
zbzx)LgLO9@WG5ZQt!tRE-D3<-Pj>Bt4#JPX|AE&A2Wf4?mL!XL{y1c3;J@$JkO?}L
z=~<dtxZIt#&9#eNGi>ga)5nbkR`B15bnkDWixBD{xe@&D0=}2{)j_)M#eWujGZ{8A
zU#917M@2@G>2<&)VGH?n*zX4i=^nFH?x>++QT|h)uSa<y$+h_1hUR|<=+*FXB7V9(
zaWBdf@zXy1U1*yc$g$)*RtWvH)~Z7J5tM&}e5>^%OJz+cTk+Q5;8=UzRM}l9yB2M_
z6R@3+d~yh7Popf^&S!pP)roxg0OBA8sl|&&!pSHvP<_DPh4}b&4FAi*rzjSFbE0f6
zVx}WTMx&);9Lhg~{x~wGJl85;g7SM1Yh5Hz*W0nn@=HC+&!e2yoK`vIKRG_}z$YH~
z!~>sr;9u^6Lv*3Vu}P&gbki|OWzr>Rz3@Xj$aEY~6SyJ?TJP};SFqTlMShrq_4_<@
zt)fGh|K+2>c7hM9c?R9Wqr;mlQ@T?}#~D>FS67TZqU^)&sW|A`Ne7<#h&dD+>suw!
zxWtI#kjkiPGo_B<2@G+}QHnHvQ;NiEyU!>(g%;OtLXA>*O@~LrMEzi{K;d48fIW&4
zcLsI2;Kb!qz%M8PxThdsT@NMxUzX_irsD;cs>zt#wPmbY!JAatq0(I{-KWw+Dm|>y
zUX`9!X`f2Zs}wI4io>H)uS!c*TCUP+m2OgLhe~&;be~EOsr0Z)dsTW`rF|-mukXjf
z`aLso2NaD#>9UH7x!y_ZHb>hcQEypU$&8ZH;<Bg!%kG#qt)z6uWQAr|LB5PQ*{)Bh
zxO+H(Ig<Vyp6-zJ%f;N9u~iA;;4M&cW(eX5yAWF=sX`RIm(!GNxDLRYWJhu(NRyq(
zkD{9;yOIx4VkCW0l<~EY#{E#}m_$!;v58KOw=WrAh(7ALGJifPaPd`u_)B1P94Oib
z6n_L-9rq6x`RgcuXqd=<ir5|=MQr@Hl>hQ*!cTIg)2&SI!^!cSU~~Q)dD!tV?8v4(
zf03;Cd4b?vj=WivyPojnkYf(Z-9mXkPR^GLDk#5<PAxenC|M61l2WrjkGy9Kcs<E3
z7d<IqOhp$@&P=BQW_a<OL9#pRDdb(Oz~vfYhKS}VFt|o#lVWCELBMDMI9Z{~RrDVq
z$ykAtYxpFQCo-3plX&vy18@s}7bn*kA<mPD0#C|x&r3*+KY}P_<`tA@#`6Ts5`c?2
z9|Mjz5NftbdC%=|#iZ1H*E*!e3fP)jm`u+Bz$l1ME%K0sPNM>}sl!Bx%g6z3>IhMi
zZg^3i>J=p(<1s23n{q91xyHYtnNzP2K)!L3q>an{1>_Vm&jA#brrhkJhq#T8;K!6r
zMPEb_Gwy{6DYXJ{84Xmj*+Wzw<84StsS`k<QHb_QsTU@AjVA~Q3SgXZ9HLVi1lc6!
zBI{oQdrAcfXZ#BgpEi6rL6i4@ZBE*pWO}VL<4r1<>k|2cP@6U{oq~wDC`@RrDkRKi
zoVd~!j-usEHsK2=rBzVp$@nn{(|jX-hiXV^OI-plq%E^ayID({$oLOPn%^8lf=bg?
ze8Cd5ayYe!6tv1E@Iuh)(O(6PG>dY=tf|yrDj|wbBqOTLPoaeW45#!ld9ML=<wp>f
z>?CiDDon~jUCjcN8s?2~s>6H~c+;d?+D@|#l-zs{`6P1~wcwQhhC85<6}=4&Ncp$G
zlrchdUC&AsdeWbEErU!0Pua2bXE@1c##of3e<!sHfP-a^Mk0K9BQnD148|uRpE)Y~
zuORnq$H|#F+SLi1k%iGCbBvp4am6OHGbfvKq25e~+03jXBJ)a^>M)(4b()1ZCz*6@
zb(s;^mu`LoRmd{)VMV?<1(=cM=OAE=`7k6*Hj|JqF>gbDs@VZ))6AQ|Jl*Vpgd5G9
zQ1P41KIAu>YeCa!J_R`~W+UX>W!?t*z2<CSy3D_!^t0xVfEg@$9r+}q=o<i%5o@y`
zF!R&dZ$pYFfFe)kUtD{k*4PM4=KIP`VU%QEbW`OV28CSa-*THE!D;-8O8${UEH36M
zLD2zZh3}G?^H+e=2_f9$E;W9Kyg3mkX6}NShItYOI?M^EifMA3nOP2t409T!JIp5t
z!#uO$!!w>T7j-qm0H0^N>i<uZ$+J>k1eMEpAJm@N0`M5eAiy(60ENcOB;{%Wc#RNR
z!82C?lZ<V!#WPO;rN%c2m@j}i#xW@KED%7sF%#|NDHnj>Xs41z0;o22k?6$&SZ|ys
zbC%@q1i>a_9q}y9y$e8-F^-h_h1DI#!(>~f03ycU30R(X2jpxw{*8E6X43^{m$8%T
zv&y|3z;1(NdRDu-kaQXpubyk&_XF5#d_=&8jL(2<pRopK&&GnUpyYtD8h-QKSoC!O
zhm5BPxJj7vxN#*=o|{wX+H=@=g{mD$bwKwKV<fqEld!GVc!fl7c6|%fFEBn260(wu
zs12`LKsB9`IqVfMId4U|lhC5`kX0f8fD9o&Y&EnvAEX@Zzd0XAP7pq)33Hf}nl_yf
z#Z{<v-u_I=JO2x(5+}88vd38s%ckDOvr|$sK{C80*v7I`g`vhDU}tuki||e<do;48
z6<|aImtkL?Wv82OLs~W!6nJuyQm!Q-tt=<mMLB~Uo8!u-3mGm!M8(e&D#a{Ce%dX}
zlbhtahj{8j5tf@Qd}o}8hFn($;lZ_;xXMw-+_Y@U7Zm1Zr2GgOqaOz5W(s4OQGkl%
zx;<3jGS(y9b3Fp^Fz3A_;paHzW|?&TNoqjc<nVf^NijXuNN^<m0Y>I2WUfYj0A#*G
z7HZ`EATLnJa*cc#Emf$HOEmKPFseu){TkT^nZp#aN+a(>(~r#(7YK8cM(zgX6&{)}
zq?m^^vIw;v=Xw%VNHI?<r1K@J)>Xhw$XyCUQp`S0{u(?tVT?qc*T^}boTw-nU9)i{
zode}WMd?w<5#cg6S=s8faMRf26zRQj7VcJdW!h0;=_D=CfWTtKe3eF~0$HMvr3#rk
z0Tp%sIGtqfL(@6#qtioldW25jCHtIoHBYBv=LqOY|03m{z-c;lxFbYI88-3^d{J=9
z_%UJV0>V;jQQiD1_b_PbBP^YmlfcwRaVltVe*g^qJ7`?RHPyKeEtg6YlfsBFYa~{M
zqEJ#~{u1TxTBj(RL1lDePHL-k%4VL074B9^a03xsO{ajMqGnDfWacqwDC#qWm`@YI
zmm!7Cm_@;yll1R|p_Z04oB1oM*$*Z4tPya>FkeP5(U8^hL={#h(!|qUVG7x=5*2A=
znJr}4Fp2)7g--no%5rm)$%Rg=(1lty`zIjI%@@&@59}zGnu7j2yg~>qBf431k_|+y
zm`=!%OJH-s6vs*`6OEF35f+a4ikPk5Mp$ZU!RDY5Qi69<K{rkqDiGx9MChcLO1~Sq
z%=@6ZV1y%+1b&rBiIb&1h|`DzLh>&OD<q!*txd8hAW6(g)0NEM;gnY|9r-RXkpoe=
zHNcPP5S7cpwuF>5#5^YxAyUxc$e5rD*~ssMGjE(ZhcF^|GG8O%H%sB`2rVwhUy>SL
zgF{C&2n|s!M5?KWbu9BkI^Ahx(ah*xBA^V*d;&5vJB_Tj0epqflwqj>RCDA4;SqYO
zQ21I(6TZpshld_8L~rZ3f;boxyYWbkgP}}}f`5VF2aHTo?$}?IlLIRsFowTI?%Q9U
zb^<Q@l95h5&#`}f+H?UHNpO?9nLTJENzR%vH-Kh0B&L`r@%{xJc@HX;&r&<#NJ|F)
zAwvw<B<><u9yU@%zuUhF<2KD~gp3MgoGhCxym|?2F>aTYXdH_I9O9M(Qsdxxkhp8v
zP9vS>#E$)&+?xToCD4@if1rA&kuAaXuy~iYxH|1P>iQWC*0B6?G|fh-XOow-U?6~n
zbQlNQ+_+KEff<}p@FEcA{{B01s5%>s(Ntva@4F+1>a)=(4h#6q9qu}Ilaah#K)ZIj
z=?ZtVRA=tLc!!%HH+j$8|BpMElX6aSg}93E1(&$o*RlK?QHN!Q=$XGC4JsVsb`4VF
z;7JhXEQRIEjB(U4;8%Amt2C17`s>)=#PY*nFO=-Z#S$JD8mn5{J&L{17$MpHU>|0&
z=lx8vWGI%jT6k@w)rNVmtKF&ZkXbm=7GmfsF~sG;vH!+26WXV0a8up}Re^Fr4D#!p
zjLkGsWfakwjdnr8*F<$a!z7uwtA(s_@GDu2&ASqQH@+t9HTUn`nM;oZd_9Yb9Q&)Y
z-b1`Rl|rMYx&O${tQ(Q}h6oOG|Dl~(pG7?mt5_+|ngyYU^Hp?YrNWlO69_W*KfW_-
zIqdkRh;MWM!JQ(&k3dI?c|-;He2g4yE>KxC-}r8hw7}2CdPYdQC(DH02%6kh_ExHF
zluc~x?-j*ZML~N`LdrjslqQy!rCg79g2j<`JzVcFGNpls5d+Ta(8!|K2*WBsmdUao
zhpYv7aDf?*<kHORyJ|zVM#(V_zC-qGW{+jjhz*~yD_(?KI?1|6)UKzv5eWw4;KXbY
zhw$LU9vxHTYS}%96&)Kr26f*qhL~jvcax>42E5~2*>*}P7@bp~;)?G=+4ZDsYJsF2
zQuaBmY=ceN#(9d4jn09xDxvJ>`I2`?*$JtvN-JBqm*S)}NpDw)d%L1as7{zIRzp_{
zJP*gxR@d8L@QAIhVK5PK#Ns!}J|Idz3LGyN%%w!`a5?0DSC-2mx4|588_Xd$z8ns*
z@s%w%yBxL+F7rT9E2M}GF7tj&oGJ83tlX(erF@Q9s5#4AbT3pa)ST0k8&JRuTBtc^
zrQD0WT&Ou`3qUT^oO1*q7i!L{1t1q{&bb1R3pM9F0my}#bG`uNLe05A0Oew#<}4S0
zT&Ou02|zB?oQnk@7i!KW`3qpDT&Ovh<}L;x7ivzwuv#wEoRtEQ3pMBRv<Rvo7i!Lx
z+1CP)3pM8|_j&+wq2^reS_Wxyq2|2SeLVoVP;+j`*ab4VP;+i9s6~lfs5x&e+5$i>
z)SNd7bL2wJd2<T2qg<#t1F0nd<U-B4N!TVAYFK`BK!94P@#LZ}fi9O8YR)N{X|zx?
z=b+pqbP_ceS(Qwo0c0uiX{#xBBjsqJW;Wm?2zMbP2y>W8O`Ac8JX)x^_GeNafkHbw
z2r=69bI7$?KGsZ0Nv@YsUO-orq-0SICKgRet_&)`Ue?!;h(%LUS~lei3zITZa;QJh
zqA4j;1rRNolH49Dkc*}yj{rQ({3S`CMN?9i`8x8MG^b0R;+REMC(p4WnhhmmHdIL{
z5s{fR8*+^^Hxh<U%shZo24&qeFLGgCM3lRUU=PGPHz7BSxoL8jjL98IzMl%IJ=k!X
z<fiyCXzC{9$<rbfN%13^V1sc@(k3<3&LJ)w#=(nVaoxhM89^D0J?S(-$$$wdrhkSc
zVrC)Al7xjQ5RH++Qa=Q8Bu#vcnJ!{}b&@3SQe4KtMI`1HHakVhW}|5KY>Y@I>yJ*9
zbmEZ(LLYp9Dt-$aQ6S0Jr$pE&H~AdXm6TRo@Q6*D_%&f-xi(Q)M>t_!GD{_4qiKC$
zBq!<7NjyCvR6$L0zEb0AWyzzZ=xR}WDSD0)?JZP>-XiT~FiW;Rjnt5z!OYCLY4g&q
zPOHqBLkk7YD)9oVISKd?fSqoZHpWFLo^K<CM`sW?#*nPn6gdiE{y3JFwlK}abj@WL
zl{p63QpP~wR7grKF|H}n$|e?7=FBgm@-!`nlL;gxeYP+m!)_Wv(_#nV5W5@fE;7Sn
z_v9F6W?Gu86luuP8bl>YL-qur0rOy41&cRVOS4Gx(u^!48*!Vj^h;G_0O89EZxgjB
z$T93H3kx(jCWTBW67EE|8HRBnb3U%s!%;hz<@hmZiV-oor9(&BDm^A+Vv%&&C{%%s
z9<m3<#@pj{8VkoHr;Tw|<_tMv3^}4QXNG92v9e-h-4%9GW0GQPHZD~;IPK~&a0M>)
z@S5;A5Tj&^O~^9FXXd1tqlb?sr+9EBpQu8?h5HW(A+-PGg1C0M(h0=Ev@|sPkd0G>
zrx5v94TT#v7(^4QFuewD!1QwhoG=w`=R?e;BG%yMGB8`-#U2zw!ewut>3Ifuj4D6F
za<Oou^zh6Qref6!HpXVfQr=^z=9q2A>#&|<A%z5s_-Z>o*3;M{7DijqI8Vf<sx`&!
z{4`@-0U5nONU>^YkHm$R0@OzrT(+kVbym~r<WAZB<NLbq%*nblyM}^5_1ct}@Fi<g
zWiLz9A)js!zYN*Q?Y(*^z};3IEca8bJ(q@AmW-|Jp=isA@BX>=K+3x`kn-b$qadbh
zB6163J9km6bym|3qi#9eDiq;l6^@9->xQ9f4Rvy`#D>JESgzPYJpzaTnOLMn;+BCP
zv)KFS3mj90Ur+!T#s`@hl%Nwc{3A0u86z9J0spt-|1tcZ!vCM~p9BJjG1`HjjIxeq
zV#=Y@SSlsZoPv{c2AzC3Vdad|Ep*yNr_a*q0G+;q6Mr11q;KKmq}>AN?{Q+ibUI0=
zpW&4BDxF@V(_3`<GoAiUCn_*Wo@wG5pOlW1!3~z;&@+Ft)ZmWq@gi5}eqQh(_eS}s
z2f3pu4w2l%xobXmG%|<NNP3c|CppUVxWo0TfE#!+;M`aemp~1X7=UxG;Ysgu-oVWj
zJjHc4Hyo34%eedd+#v-;c#;&<z>`++<cD~YV{$fkHu1D$JbfECA3Me~Ht=-E#B6Rh
z^3-EIWh*yUl>L7Q-Fi8p+eqk9?s$`ra^>&|%lY&OFI~=!1+I-e?>(OWD$l%!r$5M3
zuH~a|;5m2lf~`DjH&0&9hu_DY?+Twpco9{YyCOV!H|HyO`rF(Y>Ey0sJjZO^&4)E`
z{$*~O*<PM?mKW~hDeI|DSG>)$ck`rscm_#%kQYJMK0f>@?o=L1g3Gw;P3~UL^IX5=
z$qjrGQ7-4BDcQ&KHlP`%@?4mj_6B!G-xSsy<(YzU+y$QZ3U}Vkvt2W|=es<qfsd}D
z8We5i6L<3*G{8zej94N(Gs=@Yxm%ovOO*Q|?%c!6%<WHdr<q!ER>(dD$@#8Mo^F0+
z=NsHG&$9JA`F(C$1|w2(&+_5>c>0r6#iTcRE-^N6A$2_;OAzYfkyvNdG466LwAHX+
z4<EChr!?^VMn1BWr@hKY4kCW?xMw}j2cxTj=MnEJDY27}>f|Y}@==4_=_)wu+He-O
zZ6wpKf@OcTTb6r_^Jh@tDRGR;Cd=Fr?%2wc5M(3}O)QfnXpM5$LlkhyuJt?((Rq?*
z-oVop@B^NCqXj(AGjFy4bH^#3xoHU81`xg*LPSq-Ze|by;<s`4KA!O)Vx+l2D&MV5
zNi&Ofqt@9Eq5s0R4M}e#ZR6SK1ADjwK?a;TmE*^zo#ulazbNfAt0eLvjm#wE3f%NW
zvYQuD;*(Ba&Wqak$TxTry7&TA@GhRx`7aQf*T#$9;P4QHrXWI$1!b-hp7IunF4zb?
z^LY|Vohx{n>nGfNm^&R)bNM)QkwO=`{X;h(OpozYl}|z5d6ryGX(`W8sf2lvd9zp7
z#$jH0lv>O2AT?VG2DB(@Yb3cYAXamRvbj8E$eWI2jP1)YRMODD86)duhkp1}4*N9x
z)39$1`Kh!q!o-ONdV>af2MyaM4cn#|tZ9gL(unP((b*|RV!cu+f<qQ?zMEs4gN!}J
zM~Ob0eu|r&3WHvZF(qv`A9u(KW9}443>)d4-25JmL}n-V;JlUkjIsY33VM>eK}dO!
zr;-<V=0kiKcrZ9^;N~&ulx&_abh?j<f<rv>7|-3!)0R`ecYGam5c%(7%q=)JG-{^_
z3sR4v6#m43?0DBP3H}QNw$`>pgVU$6%IfMht7}#Ve9Nj?7(ZZN+uGc+1HY-hg?<6v
zdZ~qeU_Qd=$K3<;Gwy-rdhx^SVR{P$1%b-dfx7m3{H#1)Rcgk2Dq4yb(1M?B2OX8w
z*4KvwL%4QpFo2h}EE87NRLhr})X(6rU0tyvux8QqmKpNL^wlrt2Lf%u?esJA^|g^&
zA#hu$IT8$P#*f@vB7LhW7FC0W-b}IHL6N^}Prr@d-Wu2}eyU#Ei3huaA^eO!esVt?
zvGl4R#iv>dqlJn<0Iyl$g)8OCSu+@Z>Yjd`pI+2~x?m_Aw7sw+&_nO<F!>r7yaopZ
z>Y^d!TB5CO_Mhn&zu{ls+|XcEXB}?Rs!s(7=PaqHsAkelOI8XWwAO~Uz$pDTn0Vg@
zpAu-MuM*To@Lm&sMPIx`Mz1GDJIdq>LeY+Cs7G5AlwoA-Umwu%QMqg-90?CBt*r7f
z@%j!LFA_qm0J*KXKByWZP`$=iQ?ntkbls|on#$Fy0s(2^THm$Riz-(5YN$D4zK(#m
z+3;lp@p*t~8-2zgSnq`^$+h8*<~CSFpD4igr)(8`y&%|(&{1#rmC@%6><D@nj^6hZ
zkw&E!FpY_*C%NJ)34zFtj-gnoRIXfGv&Odw-V8J~H#V`_P-C<e6=l{7S)#)9@dgU~
zKolWUHVawpsOrj<;v)<c=K+KR)eCAx?9*F@7U8lrKGxiZ9wm(l>yQxNh0xL}tFM~{
zEiKp?CqIjCN_0d*ve~2;Rdw(bgz90p21D(ZmX*~th!K1@g5n}<p?x)e-<nlujG;bF
zy-wM{B3lCphC0|Mya>V7HGa5dNnqu=8sGYWZ_S$3YbyM{iWR~*eBDBPF=D7s4Gk=n
z6$l(%9pBoaJc7BZvc?Aijb-xd4OWMPV;fp(8^hDo*C#al%0=sk+z`{zX_yE^DT3>#
zS>MM%JBx2|)b40$udS!1tYd-pmij<@Lj!#hLyKLr_PS~+-70Nq4>dPR&e%%VRIc<b
z39O>=gj#+2G`Izyp=iV#k2ujYp_VgQJNkcvXf@$T^ztyMMOP7{6!}{Bg4#$VghFkN
z=+yfC&Ol&WDA<55fX2s=AxF2k4{yj}k%F<KwjSTg2!yHalu9u=tXjQlaTP{W>MHWf
zAJV_^uLp|v_z)}@$|0t%9Z&RHW?^vFFZ1bU-Vq66yu$me(hc$*O4-|&EL(#<q^q>H
z0^Ay?URNC#O>2A=>(;ETyv|3?9rCC(7?5kNYZE-BoI_)l7^g85H#7jR9cup`3ZhH4
zC5E*~duwx@9IHg#Fi^&P&_r8UiD4G{<b_3#J@CF&g_YG+YguCyuNViKZnb(l%n=vI
zi2mdX=^ko5yvZBwkPR3JH(?|oiTGelbGS(ke(GB=Fti1OAf%yIvu4;LqhhrhgDDay
zf@0%ys8f<3MZ;HAt@f?=RWLmFgs}*Xjv<W#Wm`CSOC0yA)oWHRs*-GKppF&4Xvw1L
z8r4YQjus4D;vHlCX&6x@(F?R27yEoQ)qbm0Y@fmjY>m*TTXa7R1cGQsT%2H8Y#YYe
zxWu<~(YmS{kWr)3_ipIgL0_y<FO<qJ-l%Wj#E7D<IW%_IryZ5m82Q6;UZPDGV`c+h
zS8r=aK-OVGK*Kq%mR26441G68);cCqX>KGNbn&{SOMPnsYb$TSC`VUG(e-Kg#%H^{
z6=k#4WAWbN)=0E1xS%nJ2}N@qz}iq<(*pS|F>i6Bx45A;yrZqIDb(K99t{^q+qPkL
zRxErNMxpr7PH{&F7rnYjd#IRRvBij_3+nJjZ<8*jSDT9)>KbgY{9X?Y|3lYQJ2Z_h
z2kL4-S1?3mY-Cvdm(jb!RxerP$CS(dy07~2fT>OGt--0NV{>hBBv@NlJ2l$YJaxv7
zU~OpXv~aL>YDZnWJQcUpZf?hW+wHZXU~vcD&~C1qiZXoe2j5-81SZ%TZ9!>>O^t>_
zQ=8lBTB7yAsqkB1)(rJQw#K&TRLt?hk_4Y0n%Y=bcPU9(nP&eOS>YW@)c>e$D$Ok7
z2-|{qy&YE_yRFoDFuE1f^`xz&iNN|`12S?T5tvZ4PR@=nivZ#>qZrYP&rKDFF>MMW
zGD!Onv*>vMRfn)j#UzNxkfHcSwwbI@bW{=%+G)-QNVH#*ocxKx`sQ||WUB<>UXj7)
zsTxT?+7&fIM$Ra$GRh3izyOK)Bwjzq_MuqiAz{u#X?^L=^XY%4Cl(SNSghfpn?Dc6
zm*c)4_5_{mUfi*w!z<3XF^%+c^z=lCgL&9_BCs7^<O%Q1wIPw6uJD`U@Rh(DxHmXS
zJ+(;o(XkHy2Ftg;=OmCg-G+aXe<)7QUO}H{y-%j;zlzM|?0-toXEXhn2cEDI#|sLt
zpKrnjsyKd)^X25c4!nUctLYnVxZfcTEnnZ`(|9dk-=4&+GI1pG^F@>zESKFiTM^ol
z%h^MVcmr>v#lN5B7LLtf`n!-?j9B2~oelk-o5s%pJs!2V<fs&Q&n5RuuS-DR3Os%P
zO+RajN0G#FYXbT&0Pj^a_Jr<8dl~Ngs5sGO|0(2nSo~8@&jC+*^@FckFTFKG_;Mu&
zH(JH<3neH1i4)qRzMLN}C^`DsSS{x-3FwosrQ(78BjW6*N3Jd>e~Q3+E_r%pKJa9}
ze*RYLy@u!=S=RfN+CM%;uOCd-^s9t?O*ND@C%`X;|1W3frxVbBE&={2;K}|?$`6y2
z>Z1y;pBC13KA%9&D+%!Z3GgWpm<9jq=exE14-(L4B&csO@MOP!C|mdI8NgHf#>eNP
z1aj5^?;Ucxm8%!@9_#fx{XEkxz?1#@Np@}j?Syv}G5wyQ7W5fGj}|MH7)?))U1Y=3
z_y-v1wVBJc@3(}UVN5?&?okSkC!p_3fPYuX(a*wbdp;2OBBme4*LXKF<mWyWCtB}t
z;K}~@$IvDVysrIFx)68|<jkSxjcmtUVW-FX9`giMR-yEI6+J+4EEV!SY?D{Q`k_&J
zn3&|p_v@P#ef$%-^lB5?AO8qmMBt@t`*}|S{6k7k{4+6MPe9+R=;NOgd_m#kA3FUF
z@Z|qP%KxRxsJ9Zxzex0mL$9LOb-)c}AxFP00Wxu<1MgLNdon@M>sJXh{Z!z|Z+eee
zKMgZm;p3korFS95+6AjTJ=vP=zzj(Tl)^U(IhQj0Bf<D^cLMtR1>VErA7cJ8@Z?YJ
zA3bh-JAoXw7JGbUCF0wro0|iX+D6*+6PpK^_6>d6GZ1MF)X}#+X&<t_J<!<Fz8R}8
zd=)i>C0cYl*8Z&>E%;rl`jXPiQ_we9n*+6>Q0)%2LD@jRgcYcdwzks7whh9P7^_%2
zsal}~F5Sc|DFg2%TbnRKPhBrpN;?!wu@T}6_*N~!MrdHkhE<DJR#pIw6=1;USEc?X
zYgk}e)#}BIssgK*E?w)Z3DhiFT;&UhMP|AFC@OskHFmjcebY6DCT7d?lF!Flr1-|_
z|MXqe*dLsVS^A2fAhRzK%fzQ-Ey-jkHt(=hX^6oEf?`kQl7+cNM4y0-+s-Xx;ajmC
zh^Dgd`^0`**5aQbHw-P946$$V#1zDAbjOrne+9qMCO_LN7Mip{E^ZsdkjXFW#-PY4
zk@i>=ZI{JhV(KsVF|2a(fK-nlA#bUzQT5GVi%xtMH}=c7BAWGPa?IXCpg!ClXo4AZ
z*9IFAV%13-lk}T%@~60H5f>xe7DQ;>m<@Y*2PTGE?p?*8^gW2n-hQz5QP8}$jR(>C
zVuvzDl-TUTTV3{Tr$Ascw%-s3*isj_IpX35Zp0=@j2K-D*@vtm^n=)a3c0^(m6NOK
z(ewm2c2uy4J2~{_;~2g`0N*NBz2Dl?rH>h3_6x--*2=7%R)Mg7G7b@8|HyQ#B5M7(
zcA`58F+}p-Q4DHm7gK!UIi^g;QVfcfgm<)J;|XabB-19H!yZO3)WJ&d`-;I5?7Ng;
zM+&Zt?69FWN1I#fi<|2eYSH3KY-2StLEeOIDppdzqYWx#ik&i1LO0WBd(aL9P!__y
zEMic(j+O{35q>B^wxqEgAZ2Lpss!KR1}Mgnl2E%Chf0D?>T=M8dy*C;WytG-<j{Gj
z!ktYBlk5mURzmwxbbqL%KDasB2+G>FMqIrV*xc68uJg5<H`8rMRf47s>O4HCvxG)e
zTX3kYk@mR5mtM;MR~Y(T8Z7Cs=OB+l%p2*@sd~jjB5@{K`*8&Ty3wxr=O})i>Uovs
z(enZg)5|M%{wBq*({Y+mrFy=k(X_u}=hyo?I`wKomB#a54?Mos(5~%2tn}+tuiugs
zf4u#*z~d1*tNv#czfS3QLg*kH$#<Hco~5Is8UIA0^?QjBhfekH`AF=g{-@`j>9=w;
zzy5t3oi0_3+I~%^Q+m0aetSp5`uBHqs;9g0_G^23kRhLH{!O&ehC`=kB*?V>`1*eV
z<;1^O(dpk8(&-^3nE1(O@%#@1M}F1vt$DAS|LWge0*N@{+y5Z2c7Cto)9Gm{v>mG0
zQu9@m+4;|BNn)L9dM!f3Iz1f6Z!J>QVzu{U^gkQN->dd3b$TXGYnG|jtFg!9`1S8s
z=`=$Vsx;nzKT!O-{q=fWr`N?X==RfMUyS3|`*%8hQWL5)P8|D99KUO(B-H6H%P@sk
za&&SQ8QP;%-PGD&?VB$t;_cP2PX7!t+FRB9`uDv0|4IH2!Ar5L`Srf$dBuNTwZ9q`
ztoYaM_%-kniRRb)oP7&{#NmyLA8ofz<$mfAKdY8}tX!re6sQx;r{Q$SC!E%=*MB3*
zC53(~PSbmJMy2$`J(*Y<hu8d5;_$jUIvu9?<H*>ua*5d#SD^VcdU68(ua+wcJy0t!
zo_}T{{`Hc9e*40H#PicH6UF0*{_dM4SEX)vB_y79wc?NW-_L@QVJluOvLBjXr#B?v
z_jO3Fv2p!J^Xc?cir=n-@{J*h!K)H6hvw5rg5y+(qFsu=S6xrW0eiXepNe(t2}X4)
bzfERNeT@HUxV{{}Yq#X5eSG^72eSVM0abyx

diff --git a/common/link_emulator/link.c b/common/link_emulator/link.c
index 5d75098..a714173 100644
--- a/common/link_emulator/link.c
+++ b/common/link_emulator/link.c
@@ -313,13 +313,13 @@ void *run_forwarding(void *param)
 					m->payload[random_byte] ^=
 						1 << (random_bit2 % 8);
 				}
+				// printf("Enqueue 1.");
+				pthread_mutex_lock(&buffer_lock);
+				enqueue(buffer, m);
+				pthread_cond_signal(&buffer_cond);
+				pthread_mutex_unlock(&buffer_lock);
+				// printf("Done!\n");
 			}
-			// printf("Enqueue 1.");
-			pthread_mutex_lock(&buffer_lock);
-			enqueue(buffer, m);
-			pthread_cond_signal(&buffer_cond);
-			pthread_mutex_unlock(&buffer_lock);
-			// printf("Done!\n");
 		}
 	}
 }
-- 
GitLab