~Etftpport-;>A~>Id-;>A~>hnputs>A~@valq@ ~@ptrp@ w AoQw  o Q~>hnputl>Ap@ p@ p AoQp AoQp AoQo Q~>nhgetl>Ap@ sQAsQ A  sQ A  sQ  ~> nhgets >Ap@ sQAsQ  w~> endian-; >A~> aendian-; >> D~> ptcl_csum > A~@ lenp @ ~@ap@pA ~?hisumpA?pA ~?xpA?p A&AO@<& AO?rO%AOu<   Wv<  ?W<& AO{rO%AO<  ?W<   p?A  p? AA  Wip_csum> A~@addrp@ p A s Q A Ap  W.string-;> %2ux%2ux-;> %2ux%2ux-;> %2ux%2uxp>DpSsPpSsPpSsPp SsPpSsPpSsPpS~=print=~>udpsend >A~?pkta'?~?uhp)?p)Sp)ASp)Ap)S~=memset)=p*? **Ap*S~@datap*@p*S~@dlenp* @p*S~=memmove*=p*?p/ @ /A o0AOo1AOo2AOo3AO 4Ap4S~?ptcllenp4 ?p4 S4>p5? 5Ap5S~>myaddrp5>p5S5>p6? 6"Ap6Sw6>p6S6>p7? 7Ap7Sp7@p7Op7S7>p8? 8$Ap8Sp8@w8Op8S8>p9? 9&Ap9Sp9?p9S9>p9? o:A(Po;A)Pp< @C< <A =A p= Sp= p= @ =A p= S= >w=~? .safep= ?p=? =(Ap=Sp= ?p=S=>aB?pC @ C*A oDEAOoEAOoFAO~?!ippG!? GApGSpG ~?"lenpG "? GApGSG>pH!? HApHSpH>CH>pHSH>pH!? oIAPoJAPoKAPoLAP MA pM SM>wMpM ?pM!? MApMSpM ?pMSM>pR!? R ApRSpRApRSR>pS!?pSSpS@ SApSSpSApSSS=~=#debug&U#=AOUX<-V;> udpsendpV>DpVSV=~@$ctlrnopX$@pXSaX?pXSpX"?pXSpXApX S~=%ethertxpktX%=X~>&nak\&>A~?'bufoaA|'?obA}'?ocA~'?~@(codepd(@od'?ae'?peS~@)msgpe )@peS~=*strcpye*=pf )@ pf S~=+strlenf+= fApf pg$@pgSpg@pgSag|'?pgSpg  Sg>~@,report&h,@AOh<-i; > tftp:-i;(> error(%-i;0> d): %s pi>"DpiSpi(@piSpi )@piSi=i~>-udprecvm-> A~>.rxactive$18&v.>AXv<~?/timopwA/?Ww udprecv p>8DpS=p? ApS=p>ADpS=p?pS=-;@> to ..p>FDpS=p?  A p S >w&AO<&#=AO<-;H> . not ip>KDpS=Wp#= p? 'AO<-;P> p...ip -;X> chksum ep>UDpS=W rror ip-;h> bad ver-;p> s/hlen p>fDpS=W not udp.p>xDpS=W<& AO<-;> ..okay p>DpS=p? oAQp  &A p S >wp p? ApSp "?p S>p? (A p S >p? 'AO p? wq w &AO <-;> udp...u-;> dp chksu-;> m error -;> csum #%4-;> ux len %p>DpSw pSp?pS=Wp? p@ wP ' X.<-;> d udppo-;> rt %ux %p  "A p S >wp ?p>DpSp ?pSp@wOpS=Wp@ p @ p"? p ~?addrp?pT&AON ux bad p>DpS=W<A &  S_<-;> ip udp:-;> packet -;> too big:-;> %d > %d-;> ; from a-;> ddr 0x%.p>DpSp Sp Sp  S=Wp@ qQp  ApSa?pSpApS=pA.>p"?Wtftpopen>0AoA'?oA'?-;> 8lux %sa'? p Sp>D p S~@namep@ p S~=sprint= Aa'? p"?a O p Sp>D p S=p@ A "?wU~?oportp?pA Wp@ qAQp$@ p Sp S~@ tftpp @ p SpA p  S->p@p? p @ p &AP octett-;> ftpopen:-;> error (-;> %d): %s p>DpSsQAsQ  pSp  ApS=pApA sQAsQ  p & ~> tftpblocknop  >O<-; > tftpope-;(> n: block-;0> error: p>!DpSp S=-;8> %d bloc-;@> k errorp$@pSp@pSpApSp><Dp SpAS&>pAp  AW tftpopen-;P> : failed-;X> to conn-;`> ect to sp>HDpS=pA~> tftpread >(Ap > A @~? trypA ?Wp$@ p Sp@ p Sp @ p Sp @ p  S->p @ p > p &AQp  "?&   @P @o '?p$@pSp@pSa'?pSpAp S>p"? p  A-;h> erver t-;p> ftpread:-;x> block e-;> rror: %d-;> , expectp>oDpSp Sp CpS=p > W ed %d i-%;> nvalid c-%;> tlrno %dp%>Dp%Sp%$@p%S%=p&A&~?filenamep)A?~?sysnamep*A?&+ AO+e?p>Sp>?p>Sp>@Ap>S>=p@A>qADA>pB>DpBSpB?pBSpBApBSB=pDA$?WDserverpEA>qFCA>pG>DpGS~=broadcastpG=DpGSpGApGSG=pH$@pHSpH>DpHSaH?pHSpHlApH S~>udpsendH>pI$@ pI SpI>D pI S~?repaI(? pI SpIlA pI  SI->&IAQI.string-S;> bootp -S;> timed oupS>DpSS~=printS=pTAT&W?AOWDp[Sa[T?p[S[=-b;> t %s (-b;> %d.%d.%d-b;> .%d!%d):pb>DpbSsb<?pbSsb=?pbSsb>?pb Ssb??pbSwb>pbSpb?pbSb=ad8? pd S~>nhgetld>~> myaddrpd >~>!tftpportwe!>De!>qe >af<? pf Sf>pf>qgEA>pi$@ pi Spi>D pi Spi? pi S~>"tftpbpi>"D pi  Si>pi &iAPi*"D pl S~?$dlenpl  $?pl S~=%bootpassl%=pl $? &lAXl,<~@&ctlrnopm&@ pm Spm>D pm Spm>"D pm SpmA pm  Sm >pm &mAPmD"DpqSpq Sq%=Wq[<-s;> %s okps&@psSps>DpsSpsApsSps>Dps SpsAS~>'naks'>pt#@ptSptASptASt%=puAuu5u!>A5u=A5u > A5u">A~>(Id5u(>A5u >A5u.>A5u>A~>)endian5u)>A~>*aendian5u*>A5u> AIu