From 49bef068787763b3fe70a9e417f64824e9554939 Mon Sep 17 00:00:00 2001 From: Tom St Denis Date: Thu, 19 Jun 2003 10:04:50 +0000 Subject: [PATCH] added libtommath-0.21 --- bn.pdf | Bin 232850 -> 233095 bytes bn.tex | 2 +- bn_fast_mp_montgomery_reduce.c | 2 +- bn_mp_div.c | 39 +++--- bn_mp_div_3.c | 4 +- bn_mp_div_d.c | 9 +- bn_mp_dr_reduce.c | 4 +- bn_mp_montgomery_reduce.c | 8 +- bn_mp_mul_d.c | 1 + bn_mp_n_root.c | 34 ++++-- bn_mp_reduce.c | 6 +- bn_radix.c | 4 +- bn_s_mp_sqr.c | 6 +- changes.txt | 4 + demo/demo.c | 2 + etc/2kprime.1 | 3 +- etc/makefile.msvc | 2 +- gen.pl | 1 - logs/add.log | 16 --- makefile | 4 +- makefile.msvc | 2 +- poster.pdf | Bin 37650 -> 37651 bytes pre_gen/mpi.c | 213 +++++++++++---------------------- tdcal.pdf | Bin 56671 -> 56674 bytes 24 files changed, 153 insertions(+), 213 deletions(-) diff --git a/bn.pdf b/bn.pdf index bdbc819b73274308c2aa503366b86f27e2a46ee2..1a361efbd92667a96b7c2180407aae0fc3411b88 100644 GIT binary patch delta 97488 zcmV)CK*GP0n+}Ja4vA!ad z;=v2^7-rsk%shqJd?5!SEmsi2H&NPg?<6s1;L0fywx9GZtpl^3o|vRZ)=9b=0hK-L zv{3X%zy;dbS6GtH8t#FqQxc-9?T@W)!K|Y>M!addx*m`toe!~pJ-_FO)SGlks57%^3yCGKKw3Gk9pJ>RNcKX75pKe>JFDChe*l+BN0*>eDg1jo9dME%AFQNEqg1VXGi z-^+uM&Yd`8N%%Ed3}L4SkMNy0ke+FlH4*&3)gDmD+JZ zwE}2c|2qLnHTQr&Xax6`UioIMG{7PSPE&I&b!Ayzr`S{_H2AxwtZ)fJH~Wrw?u|zC zT5&5Z>3S)+fVCn+-PG(Q%zgnr`Fc}>i2=8X0RdnE0Wp^$zX2+LYgiOj7#7pe)c`^B zg2dq_EWzGjSwTt`mX+HgEFgG68Fq(dWOfFI*@Z5T`D>wQS zi3j*{m_Q^D21F1U3Ck%B350?GT!O%)iUIg23dB<@Vu2Wrg$X4rWzg7cAVnl32!~|| zMq^Gn^28!=z3P}T1^E{|4_Fabok6eh5l)L{6fH4!XD6!Mv#htF% zf7Vns1QHK_HnXU3*%Xl)uV$e$wsOZLxD>%;fWvhF5J5mH8jF(RaJgUy8z7hzjt6i& z<(J98aFSXAs7R7P1WwSVu9M3GOfn9iYSR9G23J=+euu4{Jsa3^C??yEWe*%3xJiFy z24P5y0`?S8Vk{PK_3G)aL_rWRMozyQDxg<&1VY7s3B&QQgx1x8OV;e(ey}pNG}*nV zt!%EfmaD8P)AwxcwQm-vJF~RVlFQyP)_rF}o|Wer==9I+H;#L57`soC=-(_HN{Pw* zxP7u;8P=bdP-7S}oF`J?v-LgPu7LqHZlfd08R=ZPMr{6a?T@N z^Q!h6f&RO<8CRJa#bqB0Q=sE#2co^iN6bCyJ@o6lf4RQwKyX6&=j}m1(=%4+CY7w# zPLVyv=(1Jniz^@1zNYlrpU~BLd|-#C`Z0dzs-;<3=Xr-noAD|`BYhJs!L|HOere2q zm{GNLLvzZ;wB}ZNd3{sv)(7n!(1^I<)_3a*I@>OuRRsAL61OJV_h;Mll|QbESX{Zs zX(h{PYf1*geG~fRd0s>hW|^hcu~NLIt9ySn^Zv+n`m9@(anrtU5Le|R zjdh=u=sirq!ew_`ILg$c9-FF6wZvP-*CZC|7!G5CZ++j)y)y69Q*$?W9B4dbmN<-z zC9r!^biEagE;P+VOM}3U(CwH2EwmKX0 zYb!QrEnjG0rCt_%<>~2xt7YcU(!25~)oPEOK_mU|TCe;dxGu?rM{iJjPJUZ2#Q96# zn#F&|@dsm>W=R&46}M?(Y}`&iBpH-sj3r#l40G9SE4i?Bxn-(puW81z^4{5^F37oO zfnH`#H?7CXdEuAk8_TEo_F)MHcHkyQ81vO_4jy(+@OUvhZ{UAQn7GyVcFvfLs z-Ernd#aGGpbCxd(`{Z<9Qxor^zxic!yG<8#+rgH8bfn(V`F?s!&-2c*+RzVWnWL9> zF=wTRzBk_ZtI@*J+ZlJf^3F%^*{5K$GrDHmm)+DBxW60tDMK;%K|vIMt1PkBeNkC( zT4^)UapnE=1pxWF)S7omp!)d)WE}7$wqjETm~Y@}Bxu!PWGms4NQ1@|Q5BypJgPjg zMVaF=pVu~8;lXGUucy7UoN|&8C(zypiy+>=r+UCWaIbisUZAAfAxnAYt z^~KMd=o?n(gwaXJ`{vz$Ay)OhC4ISY;GDsnz2jMnYj`d--N}TTLj;M-AtH(f_8Ys?fH0So2?2rz zRZ2rfPfV8_3IS;gRZ2rfPfROAO;RDZp{es;>dimL`HwXfpp~7o zx`+MWN&gD|2eUsjv^kDe?f^YD7B)6^Xdv|a?_UQ0RZG&&6k=v&2R#qmJOH4hBhUjC zdN82G4e(+ISlO9@+yNkWs9#nVJBTy%5dgF$J^*uwBkEt%pMJLo3K1R-mSx zz(6O~PGZ^y6L;QcGv9dnRZh$-jvgT0rWVpqrI_CTJGnp632;)CW?c_yeo)n|fsPyLyo6*Qg++7#_)g67ouo1oVstBE7f)CT1I zA199=n%x8{|K~yA=lnbRKTjk-w4e+0t#NcRg*ZNs1A29_J|91Rs1K88g8DH1o7mZ) zn=|_Z|C+}i_}B6I1ED@F{y^yFE&o8M8LNLk5Ly=e2SV#Uzqah`(7JYiAha&z4}{jW z{{x|Q9sWRQUB^H0uM_(RLI>;o2SR({@&`g~xIH8Ee~H!o4}{wA_yhmdchG;#h@FG` zU-I)X{`ZwCCI)f$V&(xbb3kt`Zs^s)!_VjQpJ5tyRt_#8SqbQS%*MvY`OhoW)Wv@h zdhs~_;~xxqS^t~Ot)MqM2;>ejMV+64m+=a>4zbi~J@2(Fo?&^hJ08hgjy^ zk5Oyk;8bRE2KEsn1EL;nV}QBq|!6`zQx`Q(h5IVz_Abx)dCO@OO zj7)o=JlR1bv;LjqSgehOerhT?_v!1zyeoQXA!E7Eyk?ebb_}{R*Wms5j07BR4n(vJ z-H8j5%)11d`ATC^e_i@PLV2^s~|!0#gjLFnHSPjSnKSw(+YQC+4Qd(_MEms z4TBVflBz@KhqZ!Jm2#;&C6IqFRAP%e3sSZ6HupHLtVn@pg!kdGfSHhSdtLEx{L8JC za>itla6vN@j7=v-#WGvu>3LtSUV}2?z2*j_L_&R>_f4&ptC0+O0v}-(7c)7j2Lr}9 zU6SkGDZeT7z9hC)Bs(Bq3^m`9X`63P=;vTh#J&^XBmKm|x-D8PPy0k`iMz@bzpEujAIGBIM`r>m@XZbgpCsHiZ z2%??iU6rXRHxu8B)*O;Sq(O%lw)`Y!Hf;ScaFt!avR|1-C<-M5An=}WJ>`%p;yHaz zPnN$uaHa~0b!q_J> zAYSQY{Ia0*F(ioLUH<~ibXhWaH@2XCk+-}gQzm>qr=EY>D?argp|WWdO`cc?s?JBA z6={DlDWaMQq;Ip?l*z&^k-OyzqP@*gQFS7IGu9W@&BXK_@JP$SAx8{lUSEMc+Wn-w zOY*9fNf#}lP&o}?yI&HyboK`S2Xa_)z#0sHD|@aG%F9B zs@IRI>L|lv?S7E@>9alKE~LrySH*WxFCVoY?{XZI-)m8t?%xm8(T`_n8Rf&;rT8ml z%4NX6Q3Oj=Z_>>5x*t}qI~-|d_&6VaILX%+$`OBj%vdH)#>rfY%SfzK;>r5(lBz%H z=SOpkLw}RK3oCxXAs%}*R{rRSFz#s##ILrAHWHjSq|+UJ?{N5|ybJ`;sS%3a<87_E zAj!-G+`-owqU!d)E9m2p8K|ML9=kRV=t|9^GhDVGyf_L)ypq!R*#8>+5fx@o@j9l) z9<_f9!zXNdJ?sdzGoLTHDGQCav~f6#a;M_1n~_)>`B&CQxUp|z6?o|JUvz(qKv>k7 zx&cAiw_TAH2n;FaG_!}7sPd8MdOcIi_td^f$iqG~Iv)-%9V8{`C3xHrj1LB?aR!Ao z)w_3m%VRopC`geK!Z4!6&u^k<>e$k(&8B}xDyW!+^?gXrVREySG}PrK6FJlTqh{Ri zTit@K!?#F*f-}OGvwD1>5PZJ+h@We-k8FC=%`67G+t-&~-CI&Fa}8?(6!TN*q1JD) zD-=>cVm*0c_er|mVGL#4=rP9vXK1I2obzcoF>COP5S&~3<2o2AB22grtI_i-I}v}@ zmra*zxlFXc=2K&Ozk$_$vt1+H4DF&tsfVz?=w( zF-D}%USmkac2)m0cVqljbeHgyagvI}PeuS&7SI{3L9d(5G-e&P%CxoGT&wer4ljE< zY$d>SGbjD6OF#uA1T3kK^%?d4R&#$Hy$R^>mF*5P*a`P&o0)gXu5TYELQ03b+7ITb z^1geuJZMyIOxR4)SlX*dSP{J48N%5E7;adFt!f|ryhY8bs?ut9F-Q(DpJ-Mn?=35G zCi5!lk*}PoSfM9SZuN&e&birM`D&8+S}o`PPN|y@rIDeqk*LsV3%}R2ldOOItW}fi zz0e{^=|EQC{P=a4)`(G;Z@YxTy+XUqw(GLYk>xCdL4Y(BOfEbe3>(Kldmvd0B!G{3 z;#P*dBKMy9p~T{XDWKh>;6FdnZ`SEyc`k#qIKsrG7FShMJ|5pbzb4-7Knj9I`f7oe zGUBe>_shr6&0EBdX)DO_yMcdEfvUnvHIlCe%UOKgeM49cWOw#fB0SHvK1HXU)$xEa z8qn-}Y%%ThE}v2BjwD%afYWbRE8mj}*(43_t=LI-$(i#5POKaTj}*LXZCK{Y_&W`! z(m9}^{dRkhp;M4t754W#3b)ns)8F-lCdUX%BQZ-6UE`eiNncE1${c?T(Macu{fg?1 zqKS%}S0&#m9m#!Zjh9MO{vv$75nT-c2luP&GFl_I_eY3Nlj`9IT0tNJdT4 za_Sqrm#yP<>*z*-k12m0saR4{?x#T6?{OR}%&%Fp_wVhbSV?Hpanyg+6YaS zUaD{h0^+mq&VS2vGEO$t^HhJ)k6>BE!-3cJB(WZlyqfQ}6CvQ}!nosTXF@zuYz?e) z%d1+J-9&A*7H21=AdEmPL2uKwgrL%XdYjL%9Ns@9K!2vqD@lL4F;}Z-ed}wUDy#eD z&3J)7Mui?%S|O?>T7LFzld42jT~c3r!?ux=DER@fX1 z5+q}_CpN`Mn?RC8eC;l6qX%sfqzGA~#nf4a9e`c5ZFHTjiC|4{}0*v|RotS)_ zC7jRQCfx)95b=z!6nNH$oA7gyL}k%EMvLal_b+ZDS-Naw4`phA)0funqPAA{%I}BB zWVn^S>`f<+SDjm{Q%pYG5jL=kF}|Qzz#1w~r7Az8DQ$mD^d6EkqDsF&4UJtN>fUNX zRrtsguV(rU)ef17WB#!LzSyyy_A1DwAJhy>6i^rB&0(jD?KQO<{bYQx5jU+k zjY;{FI7!FFpRmVV%sM{wAP*KE^oNDK?_X}3TD`;}#K!_; zDBqW*8V}%*5)rG7`XjAi8)IXZhJtDMhP?1K<*|QAudEJB94s)a2tB&WuSJD}kiFFc z>-l`hL_#5eE+l06iprP~0tfS^6q8!~9NJZ$76^E)-%jl{t`))Wk<3 z*lEox;oTN@CAI9`B;<{AlF7Hd*B8Qr^Ch~GAbkbT>yv$*PTp^JUlNq02-BNB5g8B& zN#uVzg;&FheMLJo7{4r~z%uiFoV!Y6J7rn55v>0Bc4bHvM@Xh|?W8tQEtFwcvm|Oj z)s?Mu9`sJQ#N%)7}pc{k>DK6h(eA_dA#SWADn2VTmwm{}I{)@Inea!|N|2fZ*$E4f#Q z*P_j(|K?eEgIhc-aB5v6JuxA#JVf7>jfb5+PA8{r3@=wae2Gzh9&_P$Vvn6T+=(P} zt65T74MHq6Kb%}y+DKZoPBH^F}v zPI5ZIDv}ySrBinU#_w1^Yw?XY5A5#7pz052Pkkt85w)4o-3)E_8?1(<79u>}gd>}3 z)S$nfKFV)9Yeuvt$kYk>mIV&AhdEY8s-baNJ7%*xWYlE5&TFZIlPrep>a4~AOQ{-Z zc4C{)i41I|t1jeQBVW%xnY|9*wZMNQmm_g;!uUR0>~M2|P((Izklt$c${;~0rFym= zneY4{Focf@r6Xom=?Ok&wqxv9Zg_{7?P2{sk)C8)LX_h*39qeZ=$6~Y!?(`IQxw!Y zt~9R)fX+{mv^$IMW#fq2FYJF=Wk*<;Rc)zN&LGrBz3rP?@J(AE+?rfjk8XboVH9S> zytObvj#5ntZVg6ROI4=E{fGuH{h6nC$B+G zF^}wA3sYQ;CEJM;7b%Y2q^;Q*sV5kY?X#V3SR-MajbqE|q4-?!h-SH3Tw2F{AWzIs zy^wb%rqK%|Btj4Hs2@6%cfNme8);0bG>#46+tPKPXRN;wX3xPF7HzmQT>JdJK zLzHYU2y~DpxXsHK_cb0iqM774u5+cI=!(s5%VCXTf5f7WAR&@E4fKp@~e) zr?zud<+Qep7j$~V4EwX$fB3X-0FAMiD+8B|Ch3d&(93I!@Ykm#bQ>XwE3X4A2S4Ba z+~BxqJJ#*5^;#@PBzJ!~ zAW8dmyb*>s)yunInUF7c($)`#gnevNQwjD&y( zP+3`TGZZdt+lqf1-XAo%+Z>JTyr%+l)}?#4eVby$^$oSaZ4K{d_Bt``4(QZ5LA|XW z;0Yd_Hov%wb%w`!(;(fy=fW^ASL=PaAZd4Z(j!Xp)B}dwn=+5iNVd&kZ8xzCdsj0hreqcCWvw<&tuw>zUbz@?`avdd zeGDl#raK5@WzJ6>nlpUB^>unTt8V9;!(GOQ^|L0O6JoiM14OW<2UD#c!SG4pVXwXEuhS=h^S6#x*Q;Iw}jR!F8WlKC9Fk2iA1e;i`ae3GiC zJNN;hC1NUO#IYw~FJ+BGSBscGBG#1~KaEwP5oa%)%b(tXU#7|b%KGrs10D|Vh?DKk znNa^!-7ae)hpRmgZ*6CT&&Go)ow>hd?Dw<%AcSzgbNP(iN{A!k&}`EWHK1w+`!#an>dA9+0V! zWl9tcEwPD~W9V;R9GZ3(jJOf>-p$@Txe)un=Cd~{M7<4FN~3{E@s)Tub2Xm}^g4fU zRMDh~`poV>4rAl7J7K{+K3w6gnb0o31NW|lpG!~NnMH#mL{gbXJhi!xAf4P&#Sgop zbdt}X5qZ=tr?`|lLz082&zm%U+DhKi)P9d?@dIeKvm(Ga;q+G65kzr0P_Nql^9Qo9Na`7Ck2~xDjo< zVrg?54Lgo&vq zAf*$NIcTTP)+=P#n<%k%?ll2g0w%eiqQe7UHMXzZijw3 zxq0%@+nEfJ;T7C0Sz)vdlkZE08#iS zjUY5VshJd5mR%c17o&lPtB|dIX1TG=kKF6{otQ3GiLi^pT%_uZD9jrmr;rI_X#bs8wKW9R@mkodGOT%GQPuhq# z7e``dI#XUGZX20BzAZO2Mg!*vycE#I+fJOqO)9VTEB&#F>d5I_6M|4+Jc5jU{q+5KjTF#TyPjRT%hA|V~ zunGPZ-(>P9MWJ?Oh19g#n_F}4W&Xz8|CLE~=;M-t{7RBSs^znY;IIL-P%vUl|f zaz}&{es6i=>S}-Vn5%lVwav4;SzrylHs-NTn=eu$!j$WbYYM-tlAqaf6)qmap$UT% zhTGBVytrmu9;My}e1(CReS1ECyDi;i_dqyvs8#&&7w#|Fq%3iFPX8up{_3-x;G;3Y z71_YID)P%^0RaDj(O{D?|92`iS#4VF1^dbIM=mcZ9t?lxx;0D6+P!?$?rlDi-B*jC1W4M zxekzMvm`E*dX9K%`x$bZjo!O=xI1jnGXg}w!QH<$4bB5lK2_)@DwQVru~np}P0 zeZN4sInI_I9Vfe4!^*It$hDrQc*sj~Q&92sLR){6zvAq8S5daa)dJnUxNffnL@}4ylKpO#y7-V6!YXlAV%fVJYK!2@HRV(<=6Zk&Jg)OvsJ-U?< zH#_eY^7ySLBEQVKwLS{)%CWITQ14c@86MUAD19%4TiVGe6n`KYd9QdKBeD?~{IOInBi?J=GnE`XF&1ZQ(;*7)!Piu|Puq#b6ot^uEH2aI;NE(Z!F{?2HGU9na>d)<(w~r9AgO zD^;fO6uUPZyt~D5y=-=(UjLDd!V_4swD!Z)OBd(tS~DT=z-s%p&Btj7Anbpg7*fG@ zUbowV&QQW5i({G;;MHqt89o)PiFO|m(oBBMTGMKBL^XPkH!7+EtjkmMC*ca-xEI86 z26**iAHAG4pRx{xZ+ZDL>Z}L_)D}6TGPmfmC*!237RG6RQ zEdeoHW|PQwl~AL8BOK1BDvE!*-fsm2QA7>P>9!-nMC zzPu!u0f{79gZ$GDcC$o!~pP)bS}>**~wMc{~}JRG_soLmdU5+ zbHn+ppr(n*&@39TTpon(Se-9&;yx7mR#9Y^+Jk)peQ;GVvgbS5u0DT zx^HJdIa!7GIig>L609&cDKv+tW$Gu7meBC;STICAGDvBj(7r)f?}hVUnTo`P?6d8G zfqFlSl&2(Exz&e4=OUJ_^92yv2#k-Te8gW*)C3f&_b*f~itv6*BSAAgR3tE|UEp`+ z_~KNOiRhXm7@=i|T1hGnr7fw@Memvgna8uZQ^Ygzf!SRG3;+h&~YaOkWV^gtod zuYs|B$=J{=p&>m&_Q(p!%*aPDX;Z);$y?G&LNnEdaHZso5O{xD!@jX>Osf%31YpOW zt;BDEPF$QQ`Cz*2Zn{2YgC=Zt2-94Y$;#v)A z79HNY`I#_#Y0H6?e9ardpN+1Xx3M#8-d`}C8vAZRV?JaFDe3D8r(X8$%grKze)YI8 zCBMdJ97KB8?3P8Q2sk+w^F=;@`uCO2;4Ve$S%9Z>W%(%5s-$jgEfi#EuLD~%*%yng zqp+juTGM}PKfu8{NW5O0@Dl&}J`!&slR1z4Y3AfJ4*dlV`=vLk_M$oqHq{u`x1mx0 z9A0l^1R~#jxU23M@O<5qz>SGZ1uJ#B_H3AIp18EYn~*s)K2({7S62((w2g3sZ^%m8 zgzO{sPle0~K6+uMi~lyTGAmb9eTOnU{A$LBmqULha+;&&_Ct{GZ9KE3wEC19dDD56 z>|_GU8!rO9RoMO|U^5eX-bZSTZ9;A&QG(mdvqC}ucP(v!N~vEQlJ#A}uS!^l6)`k` zhmkf7t_S^=kBz1tce9qY**64B1Q#-#n+|mn%WXcCX^QiqRd6_W1CSyVUTSz6K||5<@|5!$4W*UeTcJb+h+%mxo$pEQk|!3lUrVlw-G)E~dQY23bS{;>c) z5`1+^Q>oe-yN!c(5-v7{+mpS3uTN@Hd)9xdlGe8mBn1ATjvb-ISz*dC765K;=yvhy zJ}opoT-OyWY}XtvKAe*EpBO!gP30QyPJt9cysN%s$?tzfHr=snNn#XwGJaLfnDKU3 zdQCxLaF?S`PeS5R8Ye3G1tFz;+?S<>gb#WD$=>wO{91QJrPUJ4w95fg6=sp}QA`_{v zp>b(mihKO#m&lm1%yQv58jM^idp8Kfe>syp9}#vjZFwWC-DCRXEzS|2sTJD8;M&h^ zJ+Jis;jrKb-5c2?=^s?)oVsjW7rK8Y%VrXXjxh`55=ly9n8^D)hLQ69Bc#+BvEM!O z7CT4D4YK8LuHH;xpi95|i7qiWn17~&kBX`AK!OhbG&y17l057j4f86V6&*pN>}tKr zwhG@d?G2(xL=1l;)&$~#ecJohd-6&jpf%e1#W~^S&jA?JVtLzzqHIzf26cZ$(A~F! zpPG#7iX%Z^TG67>CW3vm)e-x$C4rF%kp&`+Ea%LbaY@Ju+a|mx5+P_9WtF_|i;677 z_sS;iKUL6mkd=;~Yrx2-vZfMydQnR&RrlJ226`-_9`ftkT)dh2YPxR1+O?T<=HgF# zw5blJCEYye%`~~NGAKJ>p!9#AY0bKAp5XDxwG>HGFjN52_COW{OSF2zX8~>OirhVC z($vx*Zwa*F+;08VSUAVt>@SPxrOdQ4Qdgp0$kvg!p1HNjkA?}eE`DuKf}^tKs6FG- z(_KcMur6B?`fD)7w+nkJN&{=y7hcg$?W2=&*+d9ZZn^1W^ATE7Vr_py?<{2x#u+NU zYI3c&GB$f&X%+W;O=lcp&~%uH`trVd#L?J8CN!a8XYE~jvX$`hgX8<%ua}Sc!Y%sM z-tE=SH?)9Y@ZOq<#ghwNwL{d2pF9b5%isiKREon-1+8rq!zNMkFoVFM!S z`7tDq6hsub#S(mk((F@mh{<6}|0IYDC~cQ+vi0&$zdI}mgw;rcV@i&WB1YbDyl5S{ z$_T}}Z6?3_JhzM{xHnN8Ymc}mi4_pEQ*FqyRWGQ(yZf*a!Qp=^3u7>uzzl!8>a7ch za)l^;pFg@y`{p-^6bnK$_DEJuSl%z&d{0}sGT5;Ow`^yRFVZJyp0gCfEqOD}b}j2A{f|Z zL3lO}POyGHi)Irc)m95LFr=U1+ActbQc1xLE zaj34rbo_s5`8!sAP$l}1y4bx(G%i8nQcB0UZQtu7)UOpEoY}5q0?Lq9L?><$-$@*oB>XqULu=+WDa+n)@= znp`-}V?=??)elx^;1hUZr4}xO3ZS#aS5*fUO5>GTc$%lPm!)wm=E*tI^8ri%p&p25fGvXFGqK_^QzVh z2O)oG3XZCkuwcAr-~l$0Tmp+rZke239#S372z7vma znHd{sB%S}2-i0}W0G4l z^#+8)uWz27-Y&(}h#pMY!0;2EM|HDVJ>GxlZZlKz7Z?Nhr)Lf;eiZwxuTZi7I$Ne6 z@oK@?teH?$4 zQTY<9HXe3!kbl&{^Ko|vRLpKsl!1x^L6P9Pixpbd5p%8z2fM1PSN@kxb%cel-%k2V$>hkc@@rW?t1>ujR1#XqGG`;oMSKn64a?DlJpR%;3+%xa1ARN< ztmgN~3`>o5?r`__IBOWpGsvzm-^AY0b3#lCaVCPk@gK5&bC28)&RrH=iT58a&kHrl1lwRtHXbAE$Lprv=6{JrPQ|ZB}9G7rL0rdemmm$9aDSwiGP!wet$7>u^7IPdx4-xP^5fM)A zc7b!{0Egq(bOPteX&Q|`mfiP`js0=#?a`fd+&LDeLm3!K$e;+3GCGr_rUOBZsEkH> zF=A&!PN-8_6hl{HQ`#QHIN_i5SJUo4`#jJ0{l1^~`)-WfU`)_bd@;=BIWYlKVj7TD zV1Ilu1z<`PiHXS)AR*E`mraOJ1F)173}|g;fT;nBYZ4PRi8vAivUrO_pv@&BSe_N< z7vVt5LV+d;4ipe#31lS?l3;+5Cut};lt9ZcpwPd<3JReW3gwVeA{YiJniN4XG}9cS z@&oBO6A$poHf6I+jmn{5m7u_K2{H~yh<_B%F%CdM6Qa`d(q2#^`8S}Zo9EgXMo+MQ zdw)nzjR}@!9DfOT)?yQ(019{t3fy$*MmWh<04dtWPM_*Tf}u$*XJ#Nsz><|{l6rDL zTXShUqztr3mH-pMSm8t;a@2GbDZL30RpzFmqO5$ym3#d&?n-F8h?9I zOBo5Y9lV4pQ52Je(mVCFdD>n%9LZBOX9kJtm4FZg!hxWYRiauADlkBE6tn|qmw;7D zju)jRKuX35OuT^jFBJtUmga0$e;0ZB6q%X4y&@qA1qmtYRRF`1R{|Wzoqrc@;OH_N z)MW!TilVEq$%B$ML4ce%@%KmxO@GxUT1pi{J0ubBAWx>g_VR%%)sQJ;LpV-O($&zGzq9oF?kK%zvVm?gw8F z1_j3#*2XUh$Gt~q4L!R+<{0{RVDZ>l*MUpvUzpf1x^_r0H^lwL zj?Sg!ojH%ucS@H!|8Q+Yw|^e3G+a*FA-@!H>sIad##bJPURe{#y4CziS=2x^ZizPN zDzfjaxE37^~-RDD6!~6bNbMDYLVdpxU*3PUF?yACPUI_I@yBEJPkg+L7(FGx9_!|I2IiOJ}gw$v>DQBKR@0Wa zH3VkN&gklpnJd2c{&aQ8sJF7o8CBnU#-0Arqg1A6_MB_uiWK>s?q#($95X9W}Ud zZkr~fq3&H=+*{vy{c`-Jxv}Ia`-pMzO!>j4Rz&XN%e9AB-`OqX~} z0cs3FSXx>`Oe;f8Q&~Be(a!-Hw+BrD2LS;%mm$9aDSwh{R8v<1WUmS2q;D_il7!95U7A$M3Ji0 zqJXFc1soLQCemsJod9)p4gERuYu23eXYcQO_q(6{?oC+l<8R}_N5dd@6p`AHiDU-A z^z!nw2Y)m}5(!5jFfj;}!YIN5r4R!kJ386}J7hwDVh51u44NH-M!^vPCMs57aCn3i z*u=D&7tsM15rn}!5CObEX#^zFcg3A9j$5dKmUO?(R+w!wZo-GltMEMDwF z&wmGm5ov%z3<0D+#0zusA9GDa7%T@uNJJ8etPyJdPb2P9~fI_neKnw#F zIFiPSLZbn(WB^9^kQ{*I8em%@f=V?@08KFQfB?mC^S4SS(E;12`5NxeXK-~z<*}Nl zVMC#5JSkK%K&O%7|6Lb|z|k_ulLgR74u5nzhs8tiWEch^(uKF9iRaT?0BaJ3AUVXt z^>(8?r{u`v)vB@tx8i%{I#!Z3d8NsBuBBAvIT1(uoJ<~IH9rPGYhN3u7)QeAjdI3z zUbN*4XiryGyTrA{`rD>FG;T96wJOZ_*PY;vazeFksc*IziVD((d)Ez#Yqm^0vVWNA zkGZB(vFjz7UbJ#7UAwHOdu}=*N_qEbuYNAy;&~2^tFGIX4F$dE&$|8FD-X07?LBh~ z&&i+p+lStjEkAcgJu%30Jf!wo)_ra=#G@j6VpG`-@bQz}*0>ozpTB&*@})geJ-1>T z!|1c}Fq6TqUdJqnGJ_(b#wI*r9)E7{XKAI>&aNm}p8J51c|(5W=Siw{p`I@Dbc|kh zQe^jgo7QG$T_s+AEM_QKOMyiA>Q?MK>wKwCOVGuc%D{Dp9Cf`NfdqN%ZU^}vON}qD zS@WW8<8)h{5v#5=RyG2WWwW~QfI zp8NJ*c|c9cf#DUd0$&y9TbB1@#WxAY+PGhymyVeqgtm$rLqS+v-`m8ib_!ZM1vN6J z)_v=%rr(?^N{mU76b!T;Vt@CICr^g=Xg~1%ys_kznJ8fE+^M@#ybd=#QR(|M^{$oW z)!78$`yPG6m+;%HLSxVS54>Eh?Zlqkvg}pkn16|yag25A?%~}JUGP?Fr3K}~rFY)Q z!}_mE(~8%hXnAdU-zlVR?-i%Op3QI0mezsJMYPMSE8}(452GzRet+E-;@qe{eEy=m z;mG!eY{F>if$S0e$Aq5>Po<((n-WL5zykNqW%y#ZUhi^nQj%lPkz@rX4x-R9rf#8-SupR zp6>D5xabSJd#GhIVejSu}YlSBM+(({iML(Zp+h$uyDVWzl;2mU z_pmvcjw++3`ytaic3!$xGf}X^WSv7`piR_fV|0v;ZQHifQO6zIHs08_ZQHh!j?Ip3 zC-cqxvzpmGi`v({x9Xg0?Rq|LZwTy5nkl=i=NQx|G`F%e zu^{I@o)n2+cHh1=tv)!7?8Un(p<$4g;hL1?0TlN7Tb%f~XNc-$*%ddEahRgFUzj`4 z_SOdivegv4_Kgc9Zq&;?UFBy2eT6jP?(hC)qN-?5m3&XbdSBspTY{S|0~INnRjIr? ze=EKyPX#~hzd2uWnRa1`krN9@kRt~^;p$YX*8cyil8K9mi71s?71RbwU0GH_O(iu; z71Z+o=2mz$P+Cw>_Wy(Ory8n*VgWeDsN6$o9!y3@=@y8N7j@jSJmCh_98n_{2_kgj zHdKa($eCqQhE5YTcy1?KJ69XN-a87{*WI~{&yU}F&n|kikG%*SyovH*Y%PRsxd^xN zOj7WmtCA#Zd!VNn(IMDa7Y7080@(|ue%*esX&IpAc%W7ieSo0>RG$C` zWs)os%s=prCv1j9dysfY$J5_GAmXS#gyP7T@|4p+(&dW-KNQJ?j9EZa57GGgApiMq z>c@oy88CrF|2hQs)d#^3$WNhP6aKOWd2W|Ov;VS&4E&R`h+bziTtZC5E^Q<_rRWFs zHmDe5eQJ}pI0+0cr|!Q)$^j*$!Oe8Nc#DGT=os19Z;W7>!zeex3_^wrLJSY&O9&qq z(Gc?|V9TjGyaK_}rKtHJ6fkM}u0(%%1y)YGJ|B?dj^vJ2z(Ii@iO@BR!eLLvXcpeI z0*awo7k|c=M{=P%=bcLCh`;s}5n=MaNow_{^fYi#QVGD^3*yb$BmkKtU*M{%w`~%t zpuxhK3WRAm100;q7AQjork!&o;ygmsiz=7Gqry51= zcL)BOba-|Q28EE9*DFlzf6r--nD;_^liO=;GK>hz$vg~BQKC@}&4viKTX!-BPBxyN<$Py?4t+4qxG)r}MCW`Y=+#E^ZCw7)nu#4Oq9*nHS66 znxZ*1OpF!f6mKnaVBB}}hCaNlU589%g5?C&GkKU*oo|(*C=o}omn+ny5{sdUN`GgU z&Q;kE04d7JSS87>m}-kL&)=mZ6H)*DLTBrv<|H^@BDZ*4x^09Re+Rt` z(aomqFBBYf6+r+>0!twPV##{;c zsW1>^*2350*yD27k}R}X@A|g!?(}O}#L@~y=5D@f{%$CCKlj}*(etRbcl)cZ;kE9z zWxDBY5$HJMTu+cQ+d9uA0*p2MiQE#JbZ|Y`ECO2}JA)D)@{bCyeo+_Su6OE@{^2W) zezNZFl@iGG8WJ7-bIrB!`p4HJ>CFgfp0j4diqJ4nm2aQ7?yy7B4X%so3*Ct|nBec4 z#prSef9n~14fSqxa*Wxlf_2w`;_nCz)uYr;DnQ)b>%kPQw0|<+Qn?2}$iyyT)#SoF z@>(xv?l&ku-%fCd*xR^zsxDpmz1047lA18i!P`i+avd5r{eayiYW+NiStJ^d6!q97 zH=T$+jOU%}PkE_4UVXRH{Ejy}5q-pe4?};x*p;2p%s^jHa7Og9s^8V&$?kYMTB&SFJ|jP#F>W=Swe62@yP0av?xnKSLagZ{ zOh4vuJNJ_JJxnjMz`JX@gbwYcT(j5LdH<>M{Ivf1qUrR|ul&F%Ilnne0<{}|%s85IGKV!QSN9W;srIb1HDFy%$j4wPSu!e{8+?NvVl#3P`A={Cg=ZyZFueqW|YA2k?fk11a{EUqqbRG){GeCeN~<`{Z|b0HzC63SUF# z9LE#sUq4+h?!}sgiwMWqs#8a`EPs>j?7$vq=bf_WV^*LOp-nw~axv0_BdT59}0xaD!m z`O(PXk|c(w;w0EALamRZZ(Rm+ZMu#}R(7}#oAQMnwYa=nm+#a|0QLA<>JgGz)^S=G z^rsp8_NA|H{!+_m0ZHpwRdI>t+YEcgjbE`?tBNGkO4y~Ux>9eml#E!gZg2V+axZVy z*@6->Q_Iz$bQ|}zVWV$IU(z+ZH{fQryB+F5IK9AcH2R#FgLb-qWUhBcqDdmy%BMP?=JF?LQ$ZZ^m%bt3vX&+_fRLvVYM8ibfL|Z2n@mEtzeo^YJEMl%D_iRWc z@5o*FP5da0T(k?5)z=EYzF^aFU$nmA$M3>iecbh|O&Z(@fYNYguyQ%VZI6L|ri!2I zA@e@|-ciuwk9`FKq1X7$m^b0ySubY)U+5|S*qYffQW&}2-4dyvGjG%jWj+Z8VP}_P zqf&WIEYy-)`;>anY?0W?6n+(c4?@28_I(F|B*QAVd2>V#AOw7ZzW#ZT`hN?y)FXXR zCnzNaX;l@mR6T?LDz*Q~t+NK8o8SPnm8Hd*<>uEr+c#o5S3gP*hQ^|x`1izTCON=t z%W3WoGWSbFPDBJXHO%Y#J@FH0nwJoYQ{)13!#6(k`(@sQmV)QTXio+Qp8zp{qNo9a zjNx}r%Mc>;w%-FbRQ(TS4lgTIbaqMzNPv#?t_hfq!5Fn zKlfMf5sqly`y2Q=h2Uy_=!L$-k|3c=_5rLUp;qwsPlH?a0Qw*7ImUtHxfk)a_NFgl zk3YILC|j)_C59uR~}c!wk{vs)7S6#{s?Abe+ha1KphzTxhdxV|Ge*zWZb z&*UB3g`J;2!jU`pp!5>gFy3(vsY-l@0M+-LL-YgB|D8X6hAXx&t^*E$-cuZ$F+UE;gqwdMQ~4_lYPgkz?H9gW`enAGaevDj#~A{lnlnbkj7(`?Ev(J{sT&i~f= zk3+361J{}U+vl?Hq1@>EdGqIOY{JaHY8}zY%g^A_oOG%NkP>ZVUm?%U`YbJAM4WHM z-~0h@3P=8wa3BBkaTVo!WHOvRW)e08N=;IB1Uvt_@0Y;7EK_;a1S>ah2*-eFEo>wI z)v92cEvVS5T%7uP*~tT2TVHxI#O|pC@;slj zntU-5M;7Ku;8+)LVsXt5be^MSQagsaH2%)tf|JS@=6LBAfggbEAo))f6laOwKk$v5izU+FS%uh}sT}5LG7@6eU#4HqL7(BcImu>MAiD`q%bj z^5%H}u14}yl{-a&r-ClXa7wJ*(dk`3^@&2rDPgN^iK2Z`D>T#NdcBTmDQ$h7G!hLh z3v0^xjU>gRUj^l3#1b&aKaDZF<|QWL8vM9RodOPtzoHu6L12~s9Km~ozY@2rKqyb( z?W~rMp2onla~hAXhE1B-;Vy;SUt>7(zU&LoV&GtsIGs%29#xtW4p#guicDF%5}gas zlko~gSh+9^b`A+^8WrfMe5l2SwmV*}l~eq6pGpSWQ{p#Bq8^HzT9PbWFB z5(M88YIO6w3jGICVG*eQ08@PPU_FwlL#C=Zqxs)!Ak<{1?-g?kGI@rLZ6C~LWFJ`D zEeuaKa_*%3$cw_OVl}FbZ!1Q>QivSez)4dK8^xIUAEWtMp-`r1kL5qtn zNovBi**&T+M`SorhNj}W-hJ8n&=y>6i>!ggoWw{X$d80CjG*SYCS0T1fZMN;Si2wm zPPZlro@ZOCYff^xBrS)8XE#2;xmuW6Z{%?1y&%ks&w9GbUFK0s0x4u(AfZ4PhV!I4 zAI5PS8`;KII}TD7CNUZ6Uo5wl&!?hTdb1y=%0G$j^RT)Jk@Q+@~tYx~@#=air z*YdnTjk5!xlQ|FZuP_cgA?a(~BSDWA_L;L;tHHB%UgOug2wBoUxR5Q`{Cd`EG;R5= zZpa~}r8&`@Bt|#v>~bZ5Kv+q#r~CyfWDGuf7=2XN_(9EB@Alu-#29Yrlagu{FI9%y ztyJXzvA9l;m_$eA{*dlMcJ0Nm#CvdP->O$@`n+^Qg=plY(Fnw!c4>XySm89j@^PB= z=44Mf5ivA8mQO}7kQN#4IQTzL{-P-uncmKP9>`SbonU3(O*2jaLWVcz9sKwTnS3C3 zqs~^a9>!C2t#fI#)6gyD5Po};yU7>~6Ji}p%?59OCf2KmHI_@=3MGam(M=M2HB5Fc z^Xiks&;Khdp|-VV>@O{)R&eRW<%+lEdbGKv#i~l8RQ*FE64QTiVm$=dErA1FUg~e? zuKbp-`omrPot5qYamFCXA`n_54<8&+#AFc8^IMY2?l3Ps<*^F&Zgao&0i8!MtcgLk zX=EbH`)p@AQ7a}MW&0ukZ_-RH1eP4`p5!UAKRPeoj+u*tsmD7Pvo2FbAnMq^f*kJ&r+%0i zQA}aj6s_p=$zjCv@p_OkHzBRg}v72Rcm?<0U$peFTvn?!lnIVw7ltRp0eE*6uT|@ zE~<#eMCP?@UJ%>Rvi;3!?|xJOD``hRiHZ- zpUXhJeelW1j?{g_)LMrz_*_UolcdVPNBr__Z)}bpwNTaT|D7}Y>cthy7FRzK0_ zRCuE>QX-x6ylb0)IVfVvjDuRJ`FjQ2=g<^0iN1j!chpkq6SP~B;Lon(g)CBF7CAT| z+xzbgSvTV$itXd#6{nw(0HCAF^@}LRxNWfN9lO<**4RZ8H>Mw|5&p#K;As{ss~*I(LCWwD2f%Mt8wbKX|qU; zvgzp3dmpWGEo@G(Mgez!5Ccsfz~@*av6wjw z{t>^_PAPVv%z`bjQS$RZHVWpt5X@^MHYzg_{j#xZt2SrJ2sTnE>YOt8ZrlO(pi|KcqiyEnXW^*1Ym>&DQ;ZKO!vP zow<(b;1$(~h$+HzC`uqUQn(P^ZC@E>B%~^dEnf?n-Cn-~3~Rj_MoIOnu9$KqiPK$? z5j(ILgj>8M5E!02X1-v!Jsbi4-Q|P?Aa$c>)?coYog%Yi-Q7yUG1m=l(!9#vCoJ@~ z)GGcszi;Qo;ifdVwBn+o@gZ)Gy!lM~DGCAZleZ1vm=IV*2v^gL&&1_*dtt1u^gv#uO*VnP$7<@Yv%B-Jq62uPQ1kXt)*~yI z|5(e?{I$iSIhxJ zXm*aSnv4N=*8w1Kw~r^Mj-MlA+7hYuGYKa0VaTD`s4fQiq<_~Tdp>eT8{!#_O-j@o zCY_s5gL8upsxoSUa^VCyF@-R(0P5@l&K!N(JqK}^L9l*F1r1XAx9|hu62C$4w$>#B zWGdzvdPCOpmA&&F)clh}!Yj*PAI_YwFZ*=Kx=XQq&TPO`I`Of^!eeM-gFTkMKsSfk zcdoA#zda`sQ~xqJdxguDFuyahlf5@}yA{?c!@}v`FD1que8e#G9XBiY*_?*LE zh|`$M&hCJWy;R&3X9gak5iG-E0-9L=w45kp=&M+*tZvF(y_?KG$CM%iuZ^)N6|JwAxm^!Aa@wjd^V;`=3tZJzC z7AHU|r&T<%8TCgw1n;v^D+OokTA{)AHapy+AX=)+9}MiZ{vFkQ_}vzF`n(oocmuC#Q%n&Gzfs^R`yhcyz=j<#vfCt97P_xn77=hz~oo^rg9RNy4uk#pPUIx`mdkW!~-r){kL)uYb7;%EW|4Z{xHC$ zK<(334-@6e17z#gqN$9`XV9EX!TUBEHA1c~;4o1P2(@$FFAj&8pPa5$wysGj#}8_H z-)ls7T$_rG_n#ZI=$?_8d1KyUtb2oVjH4E5YjVS^!8R7>#yOk##$~ZO zDr*Ur*Q({2%(x{Otuh!y;F^_v{{ZSAsiF;h&mS{O@Wri7dW!R#t%g9dMfq~ncKb8>*$0xY#K|8LfAOy5q+cS%_ zu#p{&2Tl~8&e)x%O2aRNmC4mZn{Rxd``O|yS_Cn(W#tk1CDzeixype~R;jr7}2>1(4BYJS9X07BMwKPl-G|!T(raiy9eyuYk zN2pVayIQAp;}dC@Nnm8&aHREqCg9N|iEBWFGF3{=l*R)ZFlv;d`csXzhsBL+PP4_R zq?V2gZEQC^quc5gTO0Tqbbb!_#LK!D>*yMljPXXfqB(s{5a?e7l43IA5yxyQ^VoA2{N`t36^ z#Cjg7y&lbk&xoMg<q+A z!D!qzQGq~Ku;^X34z&@BN3~3n>w=|LX&$x&)x<;d!mR*J!?(mNE_lvm^P}-zbWt#x zNTZAF2ZOtTL91&nxztgtXgVXTznelXp3;5B;RrX?Y;6(jmF(qG(0w1(^u5zSrtteb z8G)x5h7CZAqxKl|Lw;p6G5r}Y>u*Hh4w}EK(U~-bJn!~)!s62xhKkdzOP5JugWk(3 zylRiGcLpEtrq_jvm>f4p*KKigmldy6>6H9%GsHtlJ(U7@n`KAXQ|*H~O=q&od%{D4 zX;0?Z5sl35 z*gdczgE{{}m(%Q3MppUF$FcZ=nvAo8Z_1PT-aKe*FBbN2P-fX0?q-ru^g&Ym`5s0z zAk$cJx_UJwNYF9u+PX(>4TmK^$;q~fNpPTQxe+wtd#`eS#iEb3#bGmU?KO|Bp{vw) z=ms47s%ki$#B67;l&qP2fM9f&@pQYJkRn7&RF??zCuI4o^tUU+;G!#VzYbawxuytW0`kFZgXjTX|HQ=V=99_`xCxUomO>qGh~ z+oMtN3ig;aW8++C>#Nr2I%G11GzL?{iL@clW6Zz={kCQnlnSxqY^bC&sK4&?SSNtm zvTtCKd0!TyW%aoJ+O^+u*3+&R^GGOWFJrQ6fRF`d z=D)CBL+UK*np%G=O!{zA z;CN$umbD263Ai^{%2N!%t#@5pQs(CRuvg3PC=IKy;`O_$_##YI_aYo|dDufXVv*$6 z?A|Gw3r_XfzYx7;mG`ilvSqQWOGiC?8h=u-{UsxZ(-y<;-oF%qAQ z;Eh%(spTuL&}DAgPeQD+$&DmVUX7NZuqz|}<)!Gy-@~>qG9QXNba&N0=f^bi)~4l@ z9x0VIwTTg$BP!<3BrT_4EI^mS@)HWKOR=o}J{HH>|>4 z!$#9Hodz^ndXgVkX&ug?KnLO{p37&^cm+_>j$OJI_?k+8B5}As#Fr_l6@K~@&W~h{ zq~Zt$tRy}6PQd0`)ttPQLQ%?czk0$C=DD8Hn}ibTcAKG{1|}#w<5$48KGoPE8s(D% zX|E~Oj+}TSKjw;7aDmdvt@n?EhPa5Su??OudZn9 zlm36$47LE!5b#7Lc52`<*@G|Xvvagsv%y$CER%%SNG}7+D#=H0a7sUII12l{N2TQ= zp5BWXeHn=XloXi>KCUR`B`#O?T(~?a$;V4yXXBiUSP% z0sP8H-t9gSY#d8oeywdWgdbUvIV1#|y*(u#Sm3hrz+f_HTmpa!td@?n zmX2PM7Q|ei@6#Seos*BKi1=ec8q_aumkVMM7U6_Ru9Qfp2@Xo}We}d!{mbJY!l(y|IH-tN z`~Zj&34EZ$8z{ik23K7K8j=S0>-SwR@mX$vGptmRKiZkuORoIeNS|A+TjaHvD+ zzCi~+0Vt@^{O?ms*l*EH9;nw^x(;_rGO!=Qog{mHi-Z(GsT>2Ch^!*J`L=$MX!CGi zlZcXoU)27q&3a&D^wtm2Y;@w^X-BoJq?8aic1Opr>We_`OfS|0Cz@BF=nGhjGODsN zQ32`g^Ks^eN{b;oy zLopDb3|M%Vvj!6~pb0s@xVUg&-TJ@z-UffX#XiRFeOjcXf|C&g@d1299-nr~AY_l< zB;wdY^A7+cNsP|?shu(ySw4UgrjbJS!AZ95{E1)!D&4vhR|ay6iwf@b5fb4?cE?FZ zA@UhbWLSQ(6PJd0k1K;F`-Kqh;m}LWT)Sc?MTh^5i)w=WC1GJm^{w}E-K?lS`T`X; zNe#9??>NNmpY#s|lDjG6EI^g>e8&&;E!BrR; z6CLq6Sk!`Ylvy!Z>Uk>UBtpO1OEfu&r0A?BdK~HzpR~G^ltNi5zW8&cj)c`k?fv<> zj)_i@;pPp`(POw30tdsb0apgHHlOG>fvPQDxC6Hj&vK^aqC^kW>VX-5eF)FqMJ8_eqH9nv=G%+Ig zo+aHW&-}?lvdSOw7Jjk_RTA9S1;lm`J-$G3Th9$RJg=|73%)6EypJ=wrCW(!P96xN z{CH@rMyo{3w%NHq3b2mPY;}}iv^{xD}+?{-2(UB#0)CY$3UMVnBC2FMN z&<8D%Fc&I=mvFCMt*6u8EKmCaAse1iHaj(LJ8|C$cVcs4PG?zq%=YpZ4xtWV=75$K z;%?)xz@P75AnDy!DaU_5=j<{1_@|hgdT9nOzQ)~YooFm0r?wP^-Se+X(&4UuxWG_f zpQ5eE?%SmdTym8$+^E09^R&bBt}ie*)KLq8;Yt;(pw*`*Q&U;tOfM_eq!&+rh#Ija zqB;_hd_JDp9CL&AXxt*kLDS!FJpl>elaP^I9g!O9&@!n;m#iYtNhPSM@QR)N!t)Po zE`BnN)AESgsU3vDw;gKjP)FP)P{Naz9vZ zD~`9$edCH|-x=o$@sGNi86`~LpIEACe2uG@8#{Jgwrs_lR6ep@8@0f~^M!zY`>C)% zeFva-_QqW0A!DpbMlv;n94G?d+1+U8Y^dc|nghR!Jsd&YzsYC6;`hhad1op@+GA8I zZQi@>xR)8M-2AiprIQ)sy#@-T|5)~v{*Vw&jFQ!2LHes~X^l2mo)l9U`Vbb?a{IyR z#H`XXTv*Tr%j3ksKec~+09&~0qawVJ=f!i}aX!AIlXuf6Xh0tq13ZNX{nV@KeN{#o zS%H9)s+wnsU0ckpIL(^b(taYsX4{|IjndeA5EIgT5+p~mS3hdB*ny{-%9pcFL$;+{M>b^_K(x3-?s}%Htbh8 zJ1fJUitO-G{!05H*1;EygWOp^yajlQf3=1e>rq3lR6k$i_cA3)S%J^cv$ZR|@>autyrmZV zhUzJI2nPQE{Yw&Z+yrG=8|pljZSL!ms@Dp}+(oO%|Jn~uU-HSkSoq<4*N8}74Ilm( zf(<<>&Pkjt7Sv_%$R?_I9&%=l0_P=R3yV|ImZ@x|h3dDlH)?<5qIdG;F&VijU$Cwe zatKvAfs0f2ZD1{EP=Ikga_T|I_@4ehF*(j;%-GP-fgOdF^Y!MwQU(Uzn^yAJEAbfT z-L%ofCuZcNpz}PKsY1@ou*X)61bWH#Cg$;fuA3#q9h|Jg1+Tw6*tNSI#bevWz>r|u z9Zs5OY7rbp;_CQVqk)hUVAipdsC&Ofn(zD6UEFWN05po)Ey+I}(xpV)f=1lg;=Yzv zPM@;XuAryAPt7yZs{&edH0vD&Yr`$qsqR@=>zuRc`-^XRtOL%(j2-_N2D5YaBb^m~ z9`!)T1UYJkR3u{LI!${yO+0wy%wzIm|G86glx}YK5dBzUw=}u^Du+XAYfxp?uG9KK zZtH(N4CJ=O$yILCMc;c7YD2PScr3+WdD<#>keiqO=~A2F%vrWFIkNUzp?qjAW*Q{> zxWz`;JAs3^1PL;{7E1IcO8n^-zZ;jJ{abTKYkUfsm45h-w>rJ1bI{mmQ=~H9@$vh0 z2%~6lV3`rt*v+qN?u(tN0pqP+hbO%TtGq9>&+a$GyTXb&ACy|)49hh_xm+X z4gc4?W5>~X%n@|1#LYAnf+g@obxAk*p~Stm*(}e)q2oXQTWfZtN+0eD(_D09@CaTr zc-(;C8dT<;zQ617xr?16_r1GBCMVd4k%vz!8D++WABl$ZulK$a^UFdqA^Z8BBxv*T z5Mb9ps{67tubkC;_07H8PK~j0c2%1KHmjC?t$*+rg-tVoUEj{@@FDnZxl;LR`j+m@ zH(aW9Zl2)ur^Hvfwn4*0I})?N8WPrcMPZY9+1Vd~$x>x`;_Gnm*4A3GQ7){=&TKwS z7x}QuhJ4iQ)V9FxB@o^*z~sh4LSU&m2B1q5Xe|3oIM|aw^(e2>Kb6E3HnO)8=3{wL zNx3WOd7Ngzlyyy~_0-YtNoA3`^RtPMvVHW84+cNpO)Dde;QXyBB|c>JPLZh8kl#xG zp8+yfsMrYQASMPWX|AnJJN_5-6|n|t#6Rb-p4Tcz&Q_1R$D&c>$A>9gJ3CV)5@5DD zcG$Eyykt^lrhZIR*?5D&bfJy@h>euT4C9Yet>wDo5iT9_8x*~&c}^uiWGI|^Ry0)t zL93~}XAS>H-jjabWjXGv6pGNi824px~L{o#yr+9*PYxTr0?y8Y% zs%8zVd;7aXj{@Sw4;hq9YKW}lPk`5a$+U$On~U_{OT>YXh5b$!6vVjBsr*|Ov6MoO zvVpgT80KVG(x1F1R}`X!7ZB$}q9!UV61cIKj-jw`B22sP-+-9yyEi7@qzJnmoZ}Am zRN|I2)dcyy^rlm1Kb6POl~X&JDh~D1xvQ~MXu(&305!|6VSvexTQd=n zkx?zo9?i;CrMhahK`lqOJb%BOv23ob=x@~ro|CE8jE~XN8ZoxmtCi*fxnpG^FFoVn zLB|a3(Z#bO8CJG|l8wbGJxfmfHNJb-8%#6vMeykWW!);ZX@IFHRv$~y_mAUO7%ug$h$WR6{eb7ZrmCJcHrtkV#;mob z+6d+RCa7H&)EK4Q;XedCq!iC&%7rEUXznqQn^BPn2{qhf`Uo+G?p@+-PYtLhe%kK-CK?>J)m!MK<7vNcoRwj0$GB{z@tQHP2O5#TfG%vf89hxW*J z4)psu_3OfeQd`FnwaA!zR_AQ9Tiyv;_;2IRRS=EF<@{nSLsrzoJPCWq(!V0^8TDih zdj58rTL@NWZ9R?e-vyEiSA#j40!*Vw)4mE?t_s`;Y%m7 zlk}G{%9wjg-`j%+8Uf9ct|%N;|7-qs{+`5~pIu&4FYeF3r6$R!q-w-0+@eOzI&}u* z_#zi~k~I4`UDP0LbT?@?W-NtJQq>*fyfLjzDy+1c&VM5MG;OQR?ioE#$ze(|-*f3w zS-aQCHM5Y=1Q#ZiLR}0`cq7LxlP?X8`xgj))}`0ILX6`i#sl<%{0a`rRywnAF>P{# zB`gQ{$-eb((5{zRD0)=Rmqm~YtTOEhO=GznpAYNZek8RODNyMW6Sd~W14>);%qLGt z?8{zhLj0TJA*_U*gZG|Q$R9FyTGmb^8=xxP9V_im5*2*kC@J`mi4&mJv!_-zWk)Cz z9t-QHa$K?BS3o=!^gs`%c{#kn~d_2OQHQfjhda_DwmNWKnd46K;SU8yPmB*C$VC~^Xhz(!P0AZ%4z@& zO@Bpa6CJn39c(y*Fc#u>tlp$${Bm#Tv$YM4ucT6qEfP@u$q13@n0cj$-v!*)99}B= zTby_#0S@6bs)|AFx;rCQ2-j$%iBW`b2uURp{)S;p`7;dz`irUAM{M(h(hp;32w@*> zy8*obTlAj8#vVIw$5ExBRDfHQb`hcj@L{n(@tn}Fjv$cZ>&AGWq! z*xXrKe)k-7M02kiVqx!W~XIR~-zg!^o?)<3tveJvvy#;Ftj z(>Y+&K=wMf;$?`17)Kf7oK<={dB)`4C({@uvkeCA4}j$4sJoSS+dk}4{+2mdNqtBb2k~g{wDAj6 z*=0&xw5tV(c=E87JMPkXDBR2b$=1ld4o>P#7%bLw6m(P(8~l@j9X{qxsnx4!LWfBQ zjTAJYd8RejvHt1#5D;=@G|y(&)-&D%5QaH!KMivJP7&{aJDYnPrN}%pDYcUlCDYhK zu-!zGD8}m%|D%UxZ(xbk`Km}0ui0e(Mw|p@x0~um%@39KOicR|v} zzfJ;WH+f<}XKnS_QqPpI{o(2Tr06))TOGnuv(C?C7Q~<@P)K4JUfa%|e>R z5Le8W1cf|p|L_(>|03Wr*!lJbQjEuMqhdD38=*G{hee~@)vu$G8=#0y`6AW$knu|- zj{4^^nEK6(&GQdew7T6JFf8v4?`yBT+nZW-FW%z`eYnx~5;>;mSM$jZZbW@Z(_J3Wv-&e{dyXV>uS+naZQ7`anv98W3p z%!A_894-Ei0o~=wf{Ea@DoZM^g(^aY2&x7C+;M!Wn*bKv7Pd>E;LtwnyUKRqfD|1To1_GT#)xKHL(#K zqQ~CO6}3Uc(TcZA%UDvpiFf0ld&RG2@ofFX*z;qYbDNn&B&*Z3iTp>z#1J*aQ4#{{ z+(kqn-pa8jBUOrkug#-fbcLB7PyVYc(X0qBoxt}m`*X^qRy*WywZpWMG-xYJmvv=y zEx(LY4G)?5AL_+YpkRfrpk(1r0{98lS;nWcvlj2fUMHP!YiAUZZD{5qaOjkF;rByY zQhGGxKE>7MwNk05i7&vp7^+#M$mOnv!N+TFmfi}}^dukbfYLi{y8klV3>R8px?y%A z5_Sn?t&CV8&*i&5%QI%oi-nwGqxXzHH~P>cVGtrHobaNwY9|3}7>`kf8>pV-H|$SM&G zoV5>`mC0E~M#fDV7K}v7Ox+VcEWM@CJJ!Bp3Z@e)|iV;{uME_+F_0(UQ6muF-xJ0P zYjHXg7sk;U;_S;~;Aa_}OE3w49!Efys;hAu+Dqn z4}oG4tqgkHPx1tWuml+4KKyQfe1N_G7f>QOebVdE z|BFfT`ujkVi@UQ^I9><=0wN;ln|BfUt(6Ud3gYPM!LGIfcNN7HAz*_?#J>y3)UT0Y zVx$toJuET3*iA1iyk604-^9X>XH){CW>Vr7>E5ReYJ~3jvJlXSVR2rZGsAQ z$5mK^0Qzcz3VHV;6d$Gs#Y}_*hWHs8?C#HJo74Lt;!V{e3WxxayU=&5M4R!w@MRM< zim^LC3bpoM-xI#-!@kN_P;O}@uv~sTL@HAL^Nojzll&q?6_!?h6EC}?`TlRfcvka8 zyqI(Mkr9SfQL@A+!fyGAbbDKnAmS_fJ9BR5W|jaD{rz)e2btZwa|d||_JUI^-2MeY zi3Sf4O@jZA%oqzz0R2W#VnOaDmI=AH3#*9yK={sjw+q9`->?fy*!zNeRZ8#v9{BFL zb997Z)MEfOAi@+pds9NV0TT~$|NOod0_U0<#;>UGTSwN_MXB#?-CoBJ4;t9|dW#k2 zFa54VfPZ|+Q)Db-*Y|}ophvOHRr@Yr6RNkbf{(YDnxGh=`5~UkI#B@@?h@-RzfDF%W&t z$-;%FXB&(Ap{-ITGk(Rtni=Pl!D7*|sc^+;3P^y8F)xICW;UA47lTeGmZKlw7b;{E z5$xp!>iC@&o+AqP7Q5O;tqCgoNS%jc-g?pf`0?6CNY&jl+(bS4$ol57>O@$rH1%iY z9(&i+mAN8B&M#Idc3CdpTx!~QC@x{1N(Yv#^z-drSQ&Zm z6c9w34?$rvG)m=J7N3eQ)PEEqq!v+59v!69tW-m5Z!}=8PZQ%iH5W;{9TCe0QOgA0 zUGn_kj4iLbpYJ453T$L-tLd+7|YW)e;n55?k(T=GUs zMTq=<)`gub#tf|lL2{lHuyk^QynG)*KtZDAHH9ac6V>QxQ8@W7XqNAW-l#)djjJlL zcM`aBHY5cWac758|o!Hl3Amn9=6eu)$Xv|CU~qkpI>$n$?9~ zz0q?8k@1x~q)qP~p3PImKUMF|k-|6nL56#ULyseg-#sL@d9gcWir7U=e74^Q0@?~1 zLvZL7U_5RI<@G*wy4=0{$w>GOR7%{#^A%$c@ww~C_Y`*E79K*cVfb`{RPSpytvlf* zOT&tM^~c5fr@n4yS40;wd*kVlMQYXAn4W|CkzaR^#e^<27^Q}hP-Ts5UuYODg*`U)+Dz9}8ZfmQ#mf43md_w`%lUtQ&I`cV9Hw zj>p#1(f%Y=QD8Pl(^jLQ31;F@^Iz!ia;G!$&PcT>Y&Io5ETPR6xwrJzmu)0Qs*0@0 z7lD*KtwsbyY;opxo(p%$iw}ekm#OT9kn=(Hd;7#20xF`{IwMWdTXw0yqYq25Xa#?j zHVDV)i;^*5HeIvghoixw7Oy5`ysw3k)milxLM2~?7S(Vv%vIHOF>KnUT9SqTXwZ8t6FIZ3M#RIcUe}?gqdo4tqfB!$!$8ZH7OdL z9U7$XCfhfN(x&d0k6#M}zpXM;&O3kpfWDMifa9c)W<@S|h`TTGYR0JsHaVyz*4QjHLFQJPbcUbb-0iqUD;0ikuJ{$;VB^CMYWwR zyFzZ9$=6$MdIqILD4vuKe#mQ&LzV+@RM$mr&5PMxq zQ@W%iT@1NJKEO}f%zc1wDVUvhUk>)K22kC+Ws9~k z?#NR3+0SqA2ksilyp3D7T%HQ|hm4VzKQO4mJ1UFabPd@06Kq~ZE^CuKDk{+V9%Q&# ze!J5UMW=6@Wf1^;WIvHzds2T-gicKCLwnJTWfEiK?u$ziR85s0&>H+AW@ZgOGR@ge zn)`&e+3Fn+)BN~BuyZoSm+K!L#c=^5mAac6(_YugGY2=@Vw2g1w)F$w;5alv{pBMM zA24hu1&X}(o)UUejxiX-s7(@1>q@ggNBiyA7V~*2-^Mq?%Z=t$a?5{A=K}wMJM1`W zS_FONCo_56FY6~RHpaC+86++Eo%vC}>Fo%W zvu0a06SJai%ZIpLa?!)Aspl_R&|%#~$|m&_Uc-4VPW<`6Gq=KO5aAfphPf68WZX@x zKsNJ>(E(9&SIpYRKtMm+Zna)%@vI=2TFb^kc`xq^&E$Kurvo#ATgQ2n{?T>Osik!# zU7jJY$PO6xaBqKtqXM=rd?`wuU!66+KI{s!5Q^|PI*}B8DO3fpPx>-uGnCP2t_;$` zFllCtMbF*=Uu@Lr~6mb^^Ut?2QORDQy%9BS;=hojz3^*(+=dse4f7gZCnEyTD^|Lne}9Q z*~MYQ{oWDYJOf1qnbd)0lr!Gg2k>S#B4?L1^ZmFuIvBi_VZiY+zjEHD^5CQ7X~5*8Ih6Z2W`y zZ$(!z6lc4CARY8XWhR$yacpLq`YL<9*7vNx z)#>MldRX(r@{?8(+0@XD0u4!rR)dd?0qhpq#v4DJ@$?O|*IHA=za2_FHEXs~$B#Q0 ziErL|BK^~d6U#iK)xB4;IF`MFL43aI^MjNFNtNCUqd`qm1CaqR#G&52#eKg?316qE z7Y=`lw_eD?e3R8V&H(Gb*nmSSyicoktZ;RSQ#mhcyHxU9xC825#4CQN$tb$}niBLP zX;#BzN67!7M|H=KkcXAu)cpDri05zWTA$TpH{uj}$R+wxv0mR;IWTLqtxgdDd<_J_ z;jaCCOb=?H&-$C(M`>Rs4V+Gq(O}uX_-TKC0i(R|)DHHncqA;a+Q%ib7|NQd6AVQ$$r^WLjuKWb7ZdFg41Y%0REISG&^rI4fQ8g9}q=e|(tSBbJ z;oPMsRFjDf<%`@>@6}B*dwF6fjFf*#UmbD|MU1bTE+>9!4CJ24tKq`qYb)(!Db~mg z&3A0q+NNu^?uTTk8KIwj-(pm{f3-KAo~7rclq2;r4rxKkDQNoijk?*0O7;6|6%tk) z0NVou-(}Y5{MgKust9|GYD8Wd_D(W{2e{%K^qr411;^OgEby^O)=t?Tk?nsUU~3MG zJ;PSak4JML?seA_b6qLp#)yrR3H9i~Xl%(K%B764B0p=cr&?1C(K(kAtIxcrXP_zp zOW#|bxHRh)iPLpA&jZ&YGQQ8hVc{Rl?EzO7CTkkW=Os_6tV6IQ@?KJzKQQv%%L?=S zpekFGuKe0#hjhUQW|dmtvTlDTXMH_|vro!5-8|K16}tZlCovRr94K~?$MP`}MNy8_a_lLJ-4%c;+YcriWzw3VMJQLKv#RWc6 zr(qdr3d&s#kZsUg>iDV;PZds9b!M+RUm|9VUuotBZ zg`6j;;3#r+<-B|5J95@#Y#N|?b9=NfeYMVS<`MagP>CTfe${`>=fQbB>6tpS;nlQ} z#%A@0XB?I?DLhYo5>z$>g!y(!&U~zD)hTB3Gl(-*BVXrF+C0Q8XIOFf`got|egC63 zWf-lBA7~!;6&qG?1lBa9nR4&%G^wem)0$O7lEXIc{KI~h|T2YrEjITM(4Wj3S#K{2G@TgyTV_#ngh3Zk2VkQm|MS8 zNIfOhVtDJ2Q^{UKY22|ONIn!*to}NGA4liRRD|*I6BlI#+a-!ujI@uqEQlgnB7_69 z%;`vptv$JmC&=Hkbq`>>@CH@b4Jto^nX7tV`R&Y+1wxmdNIVWSx9uztJ~DWCEww?R zCd9>2`) z)CiZR@%h;o@|Kk{ZzRKk?YmAi#_cvss(J)+un|unqNvGJrL{AND|~&MkUo~#g~qjW zpr@jdnT#Jv(zmhtPii#bE(9c2|sLtRcZ{A`)Wwbyymz62S$>d!{34c{+KdJt^3A{r1ONk(iEi!kZ@7Emd_t9Q!16apjBk&1}+oGXd&MP0@dkPhou(&Me^%X@P-9#xG!{PSbn8JT}K z0NU$2s^QJ9!p$7w+xmD;gHJ^>o~w}}a&L#rgr%(myNF|rb^u9%^UFhX5aIV{ueeAH zPs6@klIq*)DVQv(>SV9Bh(7($-~Vi+FW>%~q*UK!h?8$b3$f#qau)IrRoZdaqylj0 zp;U+J{3{MMsht8BTIwk)<9MSJP^W*bfgk$PoWepi6_1Q&0i0^^NWmw^{KeR*!|)&o z$4wnAQJG0fc5PBf?gMVO_lK|Cw?L+7w!_CQIt?76X*+SWzT4En{DdQT62i;QSzU3w z)!H_Py}EL$QTiF(yT_~6&NQZqQg=AKlE;)Mih5;aNw!ia&ZOJ~3IxQrJ;8q+$HqO^ zy{ChRhxGduN5J}-s;SW!yu7b`;R6uj<$7MrCZc6|rjBjxngS?7Y4Q&He)u*?4^c>d zh)_@o{aE%n4KOPwmq%ze$PT~kY&D%v^dy_Kns?tudgW6%n{u9V1O&h28Dh+G#pB3K z94ASn=(S(oI|2ztmm~UCZt;J(Db^bz`u<)0wv^QwnTMI0UCu)+l3v{t{>2uhghJKH zWM%&N3^gZwU4w=p7uqq#;mm(V)>L?&rOTnv z`I2#D$q;7_bei>pP~k=Fqe#wy3AQA<8F|%?ayF$eY_iyltz!olXjoG5nI;p=1q`Q2 zhxZ%|>WZ~uj)GSgyX=6L#;=21Q||`wcMKcsR#rAw@P#@F!witDWZg`HOy?|4@gFmA z>u`VG!?YRDR@9G679M}nnAx?L7KG){e?PF9JQ{IEvf)t}r-sV+$P0>8K@Uy?xY#;E z-d7K`#?++DV4t5+88+DBW4YkR-8t(*A)^$LC&*+4^ZFLAy#B%^;5Nom9OZZ*E`Mdp zvynZyQf>O-+8+gWCZGF8-xJ^~Yw=75^1eT<>~@wubrAl1i6ejAMPk$U)p8EXh5rKE zFFbTH?)&0gzieJQKV4XaT3vtxE8yU#mziUgLmm4`M&vSgQoE9R#<{FthXiqtIa%8+ zqO`-#Lx_!fn~Y;pp5nNbXr(J@xI%SIVhZGhPIc2**2Y5Az4b)x>_v9#r_%kCRrI`B zCHhx6#VSTED-C~t*aStCVR~Tk*0Fymza~M3eU9OJeDhUAM5s%XPGiL-k1adM_O*5U z(4Bc5V8@M3)ND5bqz>Oc{}`6lecolVDJJpW{O+A76Jy$KrCu!Iaz690IHUedIO4=Q z_Bs|zu^gL>&h@{G_b_L%OiCup;xrEIpG$83B514mub*Ei8 z0n57E1Fyr;o-ykS(eD2!Eg)xUyb`qFyBcZRiM-hsXEk*z3L;)=3OZSwn8Vq5jDC83 zmIa``pHi%5C6MMk86AC)hmBq3I*;xd-lvinXK^OBqQ$Da@pyPvxF7{>^OVqCWWOVt zx^^g-Q8<5&vcFH0oOr}A!?RKC3P_+m&`m5)7q{S>1$+`6Xsi%Ag;#qYY!`NHhFt2i zXu4RM_KH{IHMPM10vMvOt&dDRl!!fT=zcy)Lsm$=pNRYQ&44z?VfIws6hKQ?>i+JJ zn$q49H*Uwm(F3ghKIOqAJT~o;{yubUMQMDoeA$09;aYtC?60QwR4f6a7_hsZnoDD5 zGL)!}iSIPCdZ0|sjrUNg*M@}| zzVUw<>_+D`Oc0r1Sy-iI3e(9Hl6^Ta8~dH(e7~P}+k`K{Jcq!>MNgOTU`(V$WSx=D z*M{veGaVaorKbzFmeDN*jN5o>J5?lgCwD(4?eaqWad-S9eST|feC@0@pUs*&WvqlZ=TDrShaiQ@qqq$nf0!?O zgf>pM9)xY;)9m!F=s*)y7+F8*$R!7)kIaMgejWp<*N9S19c&ZC=NX%tpx_a*`<4}9 z^Bi(H;h}|>V{uZ%EvJ+4(>4FaO#FXcHwl5`Z9@JRrUGp@YUnNXR<4$0Zz`^ zi$d@`wIhfQUJUT9*lSy6FUqJG>bhP>+mm-z zchWrKl4pS7s5K1e8y8yU$~x$h*?%wLFWiJH9{4F_owtSP9iG*<*c7gA*sFg(W*R-r zHEiX1K-HuWI)^>EBS5W`*GkE_1w(F-DPoTh!C zCP2FDc%5VDfT4(ZayVDcpWA=l`*79O;fdn&h-#u2`DNSO{eM!$+-H7vYfW;HVgFGZV3gY2>mL< zD8i{XG%5Nul@r(!qCZS+o#OI`oF!(+z4?xYhyW?A~NC*5Z)@+GgAk>s0p5b1< zcUB$NWt+#2jThn0`~Ua>{BMH)5ecjvpFY0Q?vFv9j=&qq+ft22(^wK~Yba zE4u+_3sXc#K~YaDLrqdRm(iL57q_�c!&SI5?LfzX33R6ytQ<3Z=3nqRGrGmvPr- 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 delta 97513 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 diff --git a/bn.tex b/bn.tex index 3c07991..5341a4a 100644 --- a/bn.tex +++ b/bn.tex @@ -1,7 +1,7 @@ \documentclass[]{article} \begin{document} -\title{LibTomMath v0.20 \\ A Free Multiple Precision Integer Library \\ http://math.libtomcrypt.org } +\title{LibTomMath v0.21 \\ A Free Multiple Precision Integer Library \\ http://math.libtomcrypt.org } \author{Tom St Denis \\ tomstdenis@iahu.ca} \maketitle \newpage diff --git a/bn_fast_mp_montgomery_reduce.c b/bn_fast_mp_montgomery_reduce.c index 149cd9f..5c003e3 100644 --- a/bn_fast_mp_montgomery_reduce.c +++ b/bn_fast_mp_montgomery_reduce.c @@ -124,7 +124,7 @@ fast_mp_montgomery_reduce (mp_int * x, mp_int * n, mp_digit rho) _W = W + n->used; for (ix = 0; ix < n->used + 1; ix++) { - *tmpx++ = *_W++ & ((mp_word) MP_MASK); + *tmpx++ = (mp_digit)(*_W++ & ((mp_word) MP_MASK)); } /* zero oldused digits, if the input a was larger than diff --git a/bn_mp_div.c b/bn_mp_div.c index 3ba609d..4e0f353 100644 --- a/bn_mp_div.c +++ b/bn_mp_div.c @@ -14,14 +14,18 @@ */ #include -/* integer signed division. c*b + d == a [e.g. a/b, c=quotient, d=remainder] +/* integer signed division. + * c*b + d == a [e.g. a/b, c=quotient, d=remainder] * HAC pp.598 Algorithm 14.20 * - * Note that the description in HAC is horribly incomplete. For example, - * it doesn't consider the case where digits are removed from 'x' in the inner - * loop. It also doesn't consider the case that y has fewer than three digits, etc.. + * Note that the description in HAC is horribly + * incomplete. For example, it doesn't consider + * the case where digits are removed from 'x' in + * the inner loop. It also doesn't consider the + * case that y has fewer than three digits, etc.. * - * The overall algorithm is as described as 14.20 from HAC but fixed to treat these cases. + * The overall algorithm is as described as + * 14.20 from HAC but fixed to treat these cases. */ int mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d) @@ -29,7 +33,6 @@ mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d) mp_int q, x, y, t1, t2; int res, n, t, i, norm, neg; - /* is divisor zero ? */ if (mp_iszero (b) == 1) { return MP_VAL; @@ -73,7 +76,7 @@ mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d) neg = (a->sign == b->sign) ? MP_ZPOS : MP_NEG; x.sign = y.sign = MP_ZPOS; - /* normalize both x and y, ensure that y >= b/2, [b == 2^DIGIT_BIT] */ + /* normalize both x and y, ensure that y >= b/2, [b == 2**DIGIT_BIT] */ norm = mp_count_bits(&y) % DIGIT_BIT; if (norm < (int)(DIGIT_BIT-1)) { norm = (DIGIT_BIT-1) - norm; @@ -91,8 +94,8 @@ mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d) n = x.used - 1; t = y.used - 1; - /* step 2. while (x >= y*b^n-t) do { q[n-t] += 1; x -= y*b^{n-t} } */ - if ((res = mp_lshd (&y, n - t)) != MP_OKAY) { /* y = y*b^{n-t} */ + /* while (x >= y*b**n-t) do { q[n-t] += 1; x -= y*b**{n-t} } */ + if ((res = mp_lshd (&y, n - t)) != MP_OKAY) { /* y = y*b**{n-t} */ goto __Y; } @@ -111,7 +114,8 @@ mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d) if (i > x.used) continue; - /* step 3.1 if xi == yt then set q{i-t-1} to b-1, otherwise set q{i-t-1} to (xi*b + x{i-1})/yt */ + /* step 3.1 if xi == yt then set q{i-t-1} to b-1, + * otherwise set q{i-t-1} to (xi*b + x{i-1})/yt */ if (x.dp[i] == y.dp[t]) { q.dp[i - t - 1] = ((((mp_digit)1) << DIGIT_BIT) - 1); } else { @@ -124,7 +128,11 @@ mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d) q.dp[i - t - 1] = (mp_digit) (tmp & (mp_word) (MP_MASK)); } - /* step 3.2 while (q{i-t-1} * (yt * b + y{t-1})) > xi * b^2 + xi-1 * b + xi-2 do q{i-t-1} -= 1; */ + /* while (q{i-t-1} * (yt * b + y{t-1})) > + xi * b**2 + xi-1 * b + xi-2 + + do q{i-t-1} -= 1; + */ q.dp[i - t - 1] = (q.dp[i - t - 1] + 1) & MP_MASK; do { q.dp[i - t - 1] = (q.dp[i - t - 1] - 1) & MP_MASK; @@ -145,7 +153,7 @@ mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d) t2.used = 3; } while (mp_cmp_mag(&t1, &t2) == MP_GT); - /* step 3.3 x = x - q{i-t-1} * y * b^{i-t-1} */ + /* step 3.3 x = x - q{i-t-1} * y * b**{i-t-1} */ if ((res = mp_mul_d (&y, q.dp[i - t - 1], &t1)) != MP_OKAY) { goto __Y; } @@ -158,7 +166,7 @@ mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d) goto __Y; } - /* step 3.4 if x < 0 then { x = x + y*b^{i-t-1}; q{i-t-1} -= 1; } */ + /* if x < 0 then { x = x + y*b**{i-t-1}; q{i-t-1} -= 1; } */ if (x.sign == MP_NEG) { if ((res = mp_copy (&y, &t1)) != MP_OKAY) { goto __Y; @@ -174,7 +182,10 @@ mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d) } } - /* now q is the quotient and x is the remainder [which we have to normalize] */ + /* now q is the quotient and x is the remainder + * [which we have to normalize] + */ + /* get sign before writing to c */ x.sign = a->sign; diff --git a/bn_mp_div_3.c b/bn_mp_div_3.c index 40937f4..524531e 100644 --- a/bn_mp_div_3.c +++ b/bn_mp_div_3.c @@ -46,11 +46,11 @@ mp_div_3 (mp_int * a, mp_int *c, mp_digit * d) } else { t = 0; } - q.dp[ix] = t; + q.dp[ix] = (mp_digit)t; } if (d != NULL) { - *d = w; + *d = (mp_digit)w; } if (c != NULL) { diff --git a/bn_mp_div_d.c b/bn_mp_div_d.c index 459ca95..c721e6e 100644 --- a/bn_mp_div_d.c +++ b/bn_mp_div_d.c @@ -19,7 +19,8 @@ int mp_div_d (mp_int * a, mp_digit b, mp_int * c, mp_digit * d) { mp_int q; - mp_word w, t; + mp_word w; + mp_digit t; int res, ix; if (b == 0) { @@ -41,16 +42,16 @@ mp_div_d (mp_int * a, mp_digit b, mp_int * c, mp_digit * d) w = (w << ((mp_word)DIGIT_BIT)) | ((mp_word)a->dp[ix]); if (w >= b) { - t = w / b; + t = (mp_digit)(w / b); w = w % b; } else { t = 0; } - q.dp[ix] = t; + q.dp[ix] = (mp_digit)t; } if (d != NULL) { - *d = w; + *d = (mp_digit)w; } if (c != NULL) { diff --git a/bn_mp_dr_reduce.c b/bn_mp_dr_reduce.c index 0fece61..7d7259e 100644 --- a/bn_mp_dr_reduce.c +++ b/bn_mp_dr_reduce.c @@ -60,8 +60,8 @@ top: /* compute (x mod B**m) + mp * [x/B**m] inline and inplace */ for (i = 0; i < m; i++) { r = ((mp_word)*tmpx2++) * ((mp_word)k) + *tmpx1 + mu; - *tmpx1++ = r & MP_MASK; - mu = r >> ((mp_word)DIGIT_BIT); + *tmpx1++ = (mp_digit)(r & MP_MASK); + mu = (mp_digit)(r >> ((mp_word)DIGIT_BIT)); } /* set final carry */ diff --git a/bn_mp_montgomery_reduce.c b/bn_mp_montgomery_reduce.c index 6cda8af..e422cf3 100644 --- a/bn_mp_montgomery_reduce.c +++ b/bn_mp_montgomery_reduce.c @@ -61,10 +61,10 @@ mp_montgomery_reduce (mp_int * x, mp_int * n, mp_digit rho) /* Multiply and add in place */ for (iy = 0; iy < n->used; iy++) { - r = ((mp_word) mu) * ((mp_word) * tmpn++) + - ((mp_word) u) + ((mp_word) * tmpx); - u = (r >> ((mp_word) DIGIT_BIT)); - *tmpx++ = (r & ((mp_word) MP_MASK)); + r = ((mp_word) mu) * ((mp_word) * tmpn++) + + ((mp_word) u) + ((mp_word) * tmpx); + u = (mp_digit)(r >> ((mp_word) DIGIT_BIT)); + *tmpx++ = (mp_digit)(r & ((mp_word) MP_MASK)); } /* propagate carries */ while (u) { diff --git a/bn_mp_mul_d.c b/bn_mp_mul_d.c index f17a9fb..1c22208 100644 --- a/bn_mp_mul_d.c +++ b/bn_mp_mul_d.c @@ -33,6 +33,7 @@ mp_mul_d (mp_int * a, mp_digit b, mp_int * c) /* set the new temporary used count */ c->used = pa + 1; + c->sign = a->sign; { register mp_digit u, *tmpa, *tmpc; diff --git a/bn_mp_n_root.c b/bn_mp_n_root.c index 1e12fee..0f1bb56 100644 --- a/bn_mp_n_root.c +++ b/bn_mp_n_root.c @@ -16,11 +16,13 @@ /* find the n'th root of an integer * - * Result found such that (c)^b <= a and (c+1)^b > a + * Result found such that (c)**b <= a and (c+1)**b > a * - * This algorithm uses Newton's approximation x[i+1] = x[i] - f(x[i])/f'(x[i]) - * which will find the root in log(N) time where each step involves a fair bit. This - * is not meant to find huge roots [square and cube at most]. + * This algorithm uses Newton's approximation + * x[i+1] = x[i] - f(x[i])/f'(x[i]) + * which will find the root in log(N) time where + * each step involves a fair bit. This is not meant to + * find huge roots [square and cube, etc]. */ int mp_n_root (mp_int * a, mp_digit b, mp_int * c) @@ -58,33 +60,39 @@ mp_n_root (mp_int * a, mp_digit b, mp_int * c) goto __T3; } - /* t2 = t1 - ((t1^b - a) / (b * t1^(b-1))) */ - if ((res = mp_expt_d (&t1, b - 1, &t3)) != MP_OKAY) { /* t3 = t1^(b-1) */ + /* t2 = t1 - ((t1**b - a) / (b * t1**(b-1))) */ + + /* t3 = t1**(b-1) */ + if ((res = mp_expt_d (&t1, b - 1, &t3)) != MP_OKAY) { goto __T3; } /* numerator */ - if ((res = mp_mul (&t3, &t1, &t2)) != MP_OKAY) { /* t2 = t1^b */ + /* t2 = t1**b */ + if ((res = mp_mul (&t3, &t1, &t2)) != MP_OKAY) { goto __T3; } - if ((res = mp_sub (&t2, a, &t2)) != MP_OKAY) { /* t2 = t1^b - a */ + /* t2 = t1**b - a */ + if ((res = mp_sub (&t2, a, &t2)) != MP_OKAY) { goto __T3; } - if ((res = mp_mul_d (&t3, b, &t3)) != MP_OKAY) { /* t3 = t1^(b-1) * b */ + /* denominator */ + /* t3 = t1**(b-1) * b */ + if ((res = mp_mul_d (&t3, b, &t3)) != MP_OKAY) { goto __T3; } - if ((res = mp_div (&t2, &t3, &t3, NULL)) != MP_OKAY) { /* t3 = (t1^b - a)/(b * t1^(b-1)) */ + /* t3 = (t1**b - a)/(b * t1**(b-1)) */ + if ((res = mp_div (&t2, &t3, &t3, NULL)) != MP_OKAY) { goto __T3; } if ((res = mp_sub (&t1, &t3, &t2)) != MP_OKAY) { goto __T3; } - } - while (mp_cmp (&t1, &t2) != MP_EQ); + } while (mp_cmp (&t1, &t2) != MP_EQ); /* result can be off by a few so check */ for (;;) { @@ -94,7 +102,7 @@ mp_n_root (mp_int * a, mp_digit b, mp_int * c) if (mp_cmp (&t2, a) == MP_GT) { if ((res = mp_sub_d (&t1, 1, &t1)) != MP_OKAY) { - goto __T3; + goto __T3; } } else { break; diff --git a/bn_mp_reduce.c b/bn_mp_reduce.c index 4634c70..38689e8 100644 --- a/bn_mp_reduce.c +++ b/bn_mp_reduce.c @@ -32,8 +32,8 @@ mp_reduce (mp_int * x, mp_int * m, mp_int * mu) /* q1 = x / b**(k-1) */ mp_rshd (&q, um - 1); - /* according to HAC this is optimization is ok */ - if (((unsigned long) m->used) > (((mp_digit)1) << (DIGIT_BIT - 1))) { + /* according to HAC this optimization is ok */ + if (((unsigned long) um) > (((mp_digit)1) << (DIGIT_BIT - 1))) { if ((res = mp_mul (&q, mu, &q)) != MP_OKAY) { goto CLEANUP; } @@ -73,7 +73,7 @@ mp_reduce (mp_int * x, mp_int * m, mp_int * mu) /* Back off if it's too big */ while (mp_cmp (x, m) != MP_LT) { if ((res = s_mp_sub (x, m, x)) != MP_OKAY) { - break; + goto CLEANUP; } } diff --git a/bn_radix.c b/bn_radix.c index 82e6407..42419cd 100644 --- a/bn_radix.c +++ b/bn_radix.c @@ -56,7 +56,9 @@ mp_read_radix (mp_int * a, char *str, int radix) } ++str; } - a->sign = neg; + if (mp_iszero(a) != 1) { + a->sign = neg; + } return MP_OKAY; } diff --git a/bn_s_mp_sqr.c b/bn_s_mp_sqr.c index f7d68ab..bd4bc51 100644 --- a/bn_s_mp_sqr.c +++ b/bn_s_mp_sqr.c @@ -39,7 +39,7 @@ s_mp_sqr (mp_int * a, mp_int * b) t.dp[2*ix] = (mp_digit) (r & ((mp_word) MP_MASK)); /* get the carry */ - u = (r >> ((mp_word) DIGIT_BIT)); + u = (mp_digit)(r >> ((mp_word) DIGIT_BIT)); /* left hand side of A[ix] * A[iy] */ tmpx = a->dp[ix]; @@ -60,13 +60,13 @@ s_mp_sqr (mp_int * a, mp_int * b) *tmpt++ = (mp_digit) (r & ((mp_word) MP_MASK)); /* get carry */ - u = (r >> ((mp_word) DIGIT_BIT)); + u = (mp_digit)(r >> ((mp_word) DIGIT_BIT)); } /* propagate upwards */ while (u != ((mp_digit) 0)) { r = ((mp_word) * tmpt) + ((mp_word) u); *tmpt++ = (mp_digit) (r & ((mp_word) MP_MASK)); - u = (r >> ((mp_word) DIGIT_BIT)); + u = (mp_digit)(r >> ((mp_word) DIGIT_BIT)); } } diff --git a/changes.txt b/changes.txt index 5756d6a..fefe6fe 100644 --- a/changes.txt +++ b/changes.txt @@ -1,3 +1,7 @@ +June 19th, 2003 +v0.21 -- Fixed bug in mp_mul_d which would not handle sign correctly [would not always forward it] + -- Removed the #line lines from gen.pl [was in violation of ISO C] + June 8th, 2003 v0.20 -- Removed the book from the package. Added the TDCAL license document. -- This release is officially pure-bred TDCAL again [last officially TDCAL based release was v0.16] diff --git a/demo/demo.c b/demo/demo.c index 36544fd..5f4736b 100644 --- a/demo/demo.c +++ b/demo/demo.c @@ -162,6 +162,8 @@ int main(void) fprintf(log, "%d %9llu\n", cnt*DIGIT_BIT, (((unsigned long long)rr)*CLOCKS_PER_SEC)/tt); } fclose(log); + + return 0; log = fopen("logs/sub.log", "w"); for (cnt = 8; cnt <= 128; cnt += 8) { diff --git a/etc/2kprime.1 b/etc/2kprime.1 index e1384db..eb12565 100644 --- a/etc/2kprime.1 +++ b/etc/2kprime.1 @@ -1 +1,2 @@ -259-bits (k = 17745) = 926336713898529563388567880069503262826159877325124512315660672063305037101743 +256-bits (k = 36113) = 115792089237316195423570985008687907853269984665640564039457584007913129603823 +512-bits (k = 38117) = 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006045979 diff --git a/etc/makefile.msvc b/etc/makefile.msvc index e9fe6a2..0ce4550 100644 --- a/etc/makefile.msvc +++ b/etc/makefile.msvc @@ -2,7 +2,7 @@ # #Tom St Denis -CFLAGS = /I../ /Ogityb2 /Gs /DWIN32 /W3 +CFLAGS = /I../ /Ox /DWIN32 /W3 pprime: pprime.obj cl pprime.obj ../tommath.lib diff --git a/gen.pl b/gen.pl index d822182..7236591 100644 --- a/gen.pl +++ b/gen.pl @@ -9,7 +9,6 @@ open( OUT, ">mpi.c" ) or die "Couldn't open mpi.c for writing: $!"; foreach my $filename (glob "bn*.c") { open( SRC, "<$filename" ) or die "Couldn't open $filename for reading: $!"; print OUT "/* Start: $filename */\n"; - print OUT qq[#line 0 "$filename"\n]; print OUT while ; print OUT "\n/* End: $filename */\n\n"; close SRC or die "Error closing $filename after reading: $!"; diff --git a/logs/add.log b/logs/add.log index 796ab48..e69de29 100644 --- a/logs/add.log +++ b/logs/add.log @@ -1,16 +0,0 @@ -224 11069160 -448 9156136 -672 8089755 -896 7399424 -1120 6389352 -1344 5818648 -1568 5257112 -1792 4982160 -2016 4527856 -2240 4325312 -2464 4051760 -2688 3767640 -2912 3612520 -3136 3415208 -3360 3258656 -3584 3113360 diff --git a/makefile b/makefile index a835a2e..8fce574 100644 --- a/makefile +++ b/makefile @@ -1,6 +1,6 @@ CFLAGS += -I./ -Wall -W -Wshadow -O3 -fomit-frame-pointer -funroll-loops -VERSION=0.20 +VERSION=0.21 default: libtommath.a @@ -51,7 +51,7 @@ install: libtommath.a docs test: libtommath.a demo/demo.o $(CC) demo/demo.o libtommath.a -o test - cd mtest ; gcc $(CFLAGS) mtest.c -o mtest -s + cd mtest ; $(CC) $(CFLAGS) mtest.c -o mtest -s timing: libtommath.a $(CC) $(CFLAGS) -DTIMER demo/demo.c libtommath.a -o ltmtest -s diff --git a/makefile.msvc b/makefile.msvc index db2b4bc..652c135 100644 --- a/makefile.msvc +++ b/makefile.msvc @@ -2,7 +2,7 @@ # #Tom St Denis -CFLAGS = /I. /Ogityb2 /Gs /DWIN32 /W3 +CFLAGS = /I. /Ox /DWIN32 /W3 /WX default: library diff --git a/poster.pdf b/poster.pdf index 629336c4d8c5db4aafb644071da172d6174b1ce5..0fd33d4f1b7c4990c7ddd1abd2d850db2538435f 100644 GIT binary patch delta 16806 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 E09pSyEdT%j delta 16893 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 diff --git a/pre_gen/mpi.c b/pre_gen/mpi.c index c728269..1115a5d 100644 --- a/pre_gen/mpi.c +++ b/pre_gen/mpi.c @@ -1,5 +1,4 @@ /* Start: bn_fast_mp_invmod.c */ -#line 0 "bn_fast_mp_invmod.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -151,7 +150,6 @@ __ERR:mp_clear_multi (&x, &y, &u, &v, &B, &D, NULL); /* End: bn_fast_mp_invmod.c */ /* Start: bn_fast_mp_montgomery_reduce.c */ -#line 0 "bn_fast_mp_montgomery_reduce.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -278,7 +276,7 @@ fast_mp_montgomery_reduce (mp_int * x, mp_int * n, mp_digit rho) _W = W + n->used; for (ix = 0; ix < n->used + 1; ix++) { - *tmpx++ = *_W++ & ((mp_word) MP_MASK); + *tmpx++ = (mp_digit)(*_W++ & ((mp_word) MP_MASK)); } /* zero oldused digits, if the input a was larger than @@ -302,7 +300,6 @@ fast_mp_montgomery_reduce (mp_int * x, mp_int * n, mp_digit rho) /* End: bn_fast_mp_montgomery_reduce.c */ /* Start: bn_fast_s_mp_mul_digs.c */ -#line 0 "bn_fast_s_mp_mul_digs.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -430,7 +427,6 @@ fast_s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs) /* End: bn_fast_s_mp_mul_digs.c */ /* Start: bn_fast_s_mp_mul_high_digs.c */ -#line 0 "bn_fast_s_mp_mul_high_digs.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -530,7 +526,6 @@ fast_s_mp_mul_high_digs (mp_int * a, mp_int * b, mp_int * c, int digs) /* End: bn_fast_s_mp_mul_high_digs.c */ /* Start: bn_fast_s_mp_sqr.c */ -#line 0 "bn_fast_s_mp_sqr.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -664,7 +659,6 @@ fast_s_mp_sqr (mp_int * a, mp_int * b) /* End: bn_fast_s_mp_sqr.c */ /* Start: bn_mp_2expt.c */ -#line 0 "bn_mp_2expt.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -704,7 +698,6 @@ mp_2expt (mp_int * a, int b) /* End: bn_mp_2expt.c */ /* Start: bn_mp_abs.c */ -#line 0 "bn_mp_abs.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -739,7 +732,6 @@ mp_abs (mp_int * a, mp_int * b) /* End: bn_mp_abs.c */ /* Start: bn_mp_add.c */ -#line 0 "bn_mp_add.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -792,7 +784,6 @@ mp_add (mp_int * a, mp_int * b, mp_int * c) /* End: bn_mp_add.c */ /* Start: bn_mp_add_d.c */ -#line 0 "bn_mp_add_d.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -829,7 +820,6 @@ mp_add_d (mp_int * a, mp_digit b, mp_int * c) /* End: bn_mp_add_d.c */ /* Start: bn_mp_addmod.c */ -#line 0 "bn_mp_addmod.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -869,7 +859,6 @@ mp_addmod (mp_int * a, mp_int * b, mp_int * c, mp_int * d) /* End: bn_mp_addmod.c */ /* Start: bn_mp_and.c */ -#line 0 "bn_mp_and.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -925,7 +914,6 @@ mp_and (mp_int * a, mp_int * b, mp_int * c) /* End: bn_mp_and.c */ /* Start: bn_mp_clamp.c */ -#line 0 "bn_mp_clamp.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -963,7 +951,6 @@ mp_clamp (mp_int * a) /* End: bn_mp_clamp.c */ /* Start: bn_mp_clear.c */ -#line 0 "bn_mp_clear.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -1001,7 +988,6 @@ mp_clear (mp_int * a) /* End: bn_mp_clear.c */ /* Start: bn_mp_cmp.c */ -#line 0 "bn_mp_cmp.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -1043,7 +1029,6 @@ mp_cmp (mp_int * a, mp_int * b) /* End: bn_mp_cmp.c */ /* Start: bn_mp_cmp_d.c */ -#line 0 "bn_mp_cmp_d.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -1085,7 +1070,6 @@ mp_cmp_d (mp_int * a, mp_digit b) /* End: bn_mp_cmp_d.c */ /* Start: bn_mp_cmp_mag.c */ -#line 0 "bn_mp_cmp_mag.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -1133,7 +1117,6 @@ mp_cmp_mag (mp_int * a, mp_int * b) /* End: bn_mp_cmp_mag.c */ /* Start: bn_mp_copy.c */ -#line 0 "bn_mp_copy.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -1192,7 +1175,6 @@ mp_copy (mp_int * a, mp_int * b) /* End: bn_mp_copy.c */ /* Start: bn_mp_count_bits.c */ -#line 0 "bn_mp_count_bits.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -1236,7 +1218,6 @@ mp_count_bits (mp_int * a) /* End: bn_mp_count_bits.c */ /* Start: bn_mp_div.c */ -#line 0 "bn_mp_div.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -1253,14 +1234,18 @@ mp_count_bits (mp_int * a) */ #include -/* integer signed division. c*b + d == a [e.g. a/b, c=quotient, d=remainder] +/* integer signed division. + * c*b + d == a [e.g. a/b, c=quotient, d=remainder] * HAC pp.598 Algorithm 14.20 * - * Note that the description in HAC is horribly incomplete. For example, - * it doesn't consider the case where digits are removed from 'x' in the inner - * loop. It also doesn't consider the case that y has fewer than three digits, etc.. + * Note that the description in HAC is horribly + * incomplete. For example, it doesn't consider + * the case where digits are removed from 'x' in + * the inner loop. It also doesn't consider the + * case that y has fewer than three digits, etc.. * - * The overall algorithm is as described as 14.20 from HAC but fixed to treat these cases. + * The overall algorithm is as described as + * 14.20 from HAC but fixed to treat these cases. */ int mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d) @@ -1268,7 +1253,6 @@ mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d) mp_int q, x, y, t1, t2; int res, n, t, i, norm, neg; - /* is divisor zero ? */ if (mp_iszero (b) == 1) { return MP_VAL; @@ -1312,7 +1296,7 @@ mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d) neg = (a->sign == b->sign) ? MP_ZPOS : MP_NEG; x.sign = y.sign = MP_ZPOS; - /* normalize both x and y, ensure that y >= b/2, [b == 2^DIGIT_BIT] */ + /* normalize both x and y, ensure that y >= b/2, [b == 2**DIGIT_BIT] */ norm = mp_count_bits(&y) % DIGIT_BIT; if (norm < (int)(DIGIT_BIT-1)) { norm = (DIGIT_BIT-1) - norm; @@ -1330,8 +1314,8 @@ mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d) n = x.used - 1; t = y.used - 1; - /* step 2. while (x >= y*b^n-t) do { q[n-t] += 1; x -= y*b^{n-t} } */ - if ((res = mp_lshd (&y, n - t)) != MP_OKAY) { /* y = y*b^{n-t} */ + /* while (x >= y*b**n-t) do { q[n-t] += 1; x -= y*b**{n-t} } */ + if ((res = mp_lshd (&y, n - t)) != MP_OKAY) { /* y = y*b**{n-t} */ goto __Y; } @@ -1350,7 +1334,8 @@ mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d) if (i > x.used) continue; - /* step 3.1 if xi == yt then set q{i-t-1} to b-1, otherwise set q{i-t-1} to (xi*b + x{i-1})/yt */ + /* step 3.1 if xi == yt then set q{i-t-1} to b-1, + * otherwise set q{i-t-1} to (xi*b + x{i-1})/yt */ if (x.dp[i] == y.dp[t]) { q.dp[i - t - 1] = ((((mp_digit)1) << DIGIT_BIT) - 1); } else { @@ -1363,7 +1348,11 @@ mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d) q.dp[i - t - 1] = (mp_digit) (tmp & (mp_word) (MP_MASK)); } - /* step 3.2 while (q{i-t-1} * (yt * b + y{t-1})) > xi * b^2 + xi-1 * b + xi-2 do q{i-t-1} -= 1; */ + /* while (q{i-t-1} * (yt * b + y{t-1})) > + xi * b**2 + xi-1 * b + xi-2 + + do q{i-t-1} -= 1; + */ q.dp[i - t - 1] = (q.dp[i - t - 1] + 1) & MP_MASK; do { q.dp[i - t - 1] = (q.dp[i - t - 1] - 1) & MP_MASK; @@ -1384,7 +1373,7 @@ mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d) t2.used = 3; } while (mp_cmp_mag(&t1, &t2) == MP_GT); - /* step 3.3 x = x - q{i-t-1} * y * b^{i-t-1} */ + /* step 3.3 x = x - q{i-t-1} * y * b**{i-t-1} */ if ((res = mp_mul_d (&y, q.dp[i - t - 1], &t1)) != MP_OKAY) { goto __Y; } @@ -1397,7 +1386,7 @@ mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d) goto __Y; } - /* step 3.4 if x < 0 then { x = x + y*b^{i-t-1}; q{i-t-1} -= 1; } */ + /* if x < 0 then { x = x + y*b**{i-t-1}; q{i-t-1} -= 1; } */ if (x.sign == MP_NEG) { if ((res = mp_copy (&y, &t1)) != MP_OKAY) { goto __Y; @@ -1413,7 +1402,10 @@ mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d) } } - /* now q is the quotient and x is the remainder [which we have to normalize] */ + /* now q is the quotient and x is the remainder + * [which we have to normalize] + */ + /* get sign before writing to c */ x.sign = a->sign; @@ -1441,7 +1433,6 @@ __Q:mp_clear (&q); /* End: bn_mp_div.c */ /* Start: bn_mp_div_2.c */ -#line 0 "bn_mp_div_2.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -1509,7 +1500,6 @@ mp_div_2 (mp_int * a, mp_int * b) /* End: bn_mp_div_2.c */ /* Start: bn_mp_div_2d.c */ -#line 0 "bn_mp_div_2d.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -1603,7 +1593,6 @@ mp_div_2d (mp_int * a, int b, mp_int * c, mp_int * d) /* End: bn_mp_div_2d.c */ /* Start: bn_mp_div_3.c */ -#line 0 "bn_mp_div_3.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -1652,11 +1641,11 @@ mp_div_3 (mp_int * a, mp_int *c, mp_digit * d) } else { t = 0; } - q.dp[ix] = t; + q.dp[ix] = (mp_digit)t; } if (d != NULL) { - *d = w; + *d = (mp_digit)w; } if (c != NULL) { @@ -1672,7 +1661,6 @@ mp_div_3 (mp_int * a, mp_int *c, mp_digit * d) /* End: bn_mp_div_3.c */ /* Start: bn_mp_div_d.c */ -#line 0 "bn_mp_div_d.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -1694,7 +1682,8 @@ int mp_div_d (mp_int * a, mp_digit b, mp_int * c, mp_digit * d) { mp_int q; - mp_word w, t; + mp_word w; + mp_digit t; int res, ix; if (b == 0) { @@ -1716,16 +1705,16 @@ mp_div_d (mp_int * a, mp_digit b, mp_int * c, mp_digit * d) w = (w << ((mp_word)DIGIT_BIT)) | ((mp_word)a->dp[ix]); if (w >= b) { - t = w / b; + t = (mp_digit)(w / b); w = w % b; } else { t = 0; } - q.dp[ix] = t; + q.dp[ix] = (mp_digit)t; } if (d != NULL) { - *d = w; + *d = (mp_digit)w; } if (c != NULL) { @@ -1741,7 +1730,6 @@ mp_div_d (mp_int * a, mp_digit b, mp_int * c, mp_digit * d) /* End: bn_mp_div_d.c */ /* Start: bn_mp_dr_is_modulus.c */ -#line 0 "bn_mp_dr_is_modulus.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -1780,7 +1768,6 @@ int mp_dr_is_modulus(mp_int *a) /* End: bn_mp_dr_is_modulus.c */ /* Start: bn_mp_dr_reduce.c */ -#line 0 "bn_mp_dr_reduce.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -1843,8 +1830,8 @@ top: /* compute (x mod B**m) + mp * [x/B**m] inline and inplace */ for (i = 0; i < m; i++) { r = ((mp_word)*tmpx2++) * ((mp_word)k) + *tmpx1 + mu; - *tmpx1++ = r & MP_MASK; - mu = r >> ((mp_word)DIGIT_BIT); + *tmpx1++ = (mp_digit)(r & MP_MASK); + mu = (mp_digit)(r >> ((mp_word)DIGIT_BIT)); } /* set final carry */ @@ -1871,7 +1858,6 @@ top: /* End: bn_mp_dr_reduce.c */ /* Start: bn_mp_dr_setup.c */ -#line 0 "bn_mp_dr_setup.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -1902,7 +1888,6 @@ void mp_dr_setup(mp_int *a, mp_digit *d) /* End: bn_mp_dr_setup.c */ /* Start: bn_mp_exch.c */ -#line 0 "bn_mp_exch.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -1935,7 +1920,6 @@ mp_exch (mp_int * a, mp_int * b) /* End: bn_mp_exch.c */ /* Start: bn_mp_expt_d.c */ -#line 0 "bn_mp_expt_d.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -1992,7 +1976,6 @@ mp_expt_d (mp_int * a, mp_digit b, mp_int * c) /* End: bn_mp_expt_d.c */ /* Start: bn_mp_exptmod.c */ -#line 0 "bn_mp_exptmod.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -2072,7 +2055,6 @@ mp_exptmod (mp_int * G, mp_int * X, mp_int * P, mp_int * Y) /* End: bn_mp_exptmod.c */ /* Start: bn_mp_exptmod_fast.c */ -#line 0 "bn_mp_exptmod_fast.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -2341,7 +2323,6 @@ __M: /* End: bn_mp_exptmod_fast.c */ /* Start: bn_mp_gcd.c */ -#line 0 "bn_mp_gcd.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -2465,7 +2446,6 @@ __U:mp_clear (&v); /* End: bn_mp_gcd.c */ /* Start: bn_mp_grow.c */ -#line 0 "bn_mp_grow.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -2511,7 +2491,6 @@ mp_grow (mp_int * a, int size) /* End: bn_mp_grow.c */ /* Start: bn_mp_init.c */ -#line 0 "bn_mp_init.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -2550,7 +2529,6 @@ mp_init (mp_int * a) /* End: bn_mp_init.c */ /* Start: bn_mp_init_copy.c */ -#line 0 "bn_mp_init_copy.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -2582,7 +2560,6 @@ mp_init_copy (mp_int * a, mp_int * b) /* End: bn_mp_init_copy.c */ /* Start: bn_mp_init_size.c */ -#line 0 "bn_mp_init_size.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -2622,7 +2599,6 @@ mp_init_size (mp_int * a, int size) /* End: bn_mp_init_size.c */ /* Start: bn_mp_invmod.c */ -#line 0 "bn_mp_invmod.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -2793,7 +2769,6 @@ __ERR:mp_clear_multi (&x, &y, &u, &v, &A, &B, &C, &D, NULL); /* End: bn_mp_invmod.c */ /* Start: bn_mp_jacobi.c */ -#line 0 "bn_mp_jacobi.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -2912,7 +2887,6 @@ __A1:mp_clear (&a1); /* End: bn_mp_jacobi.c */ /* Start: bn_mp_karatsuba_mul.c */ -#line 0 "bn_mp_karatsuba_mul.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -3082,7 +3056,6 @@ ERR: /* End: bn_mp_karatsuba_mul.c */ /* Start: bn_mp_karatsuba_sqr.c */ -#line 0 "bn_mp_karatsuba_sqr.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -3203,7 +3176,6 @@ ERR: /* End: bn_mp_karatsuba_sqr.c */ /* Start: bn_mp_lcm.c */ -#line 0 "bn_mp_lcm.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -3250,7 +3222,6 @@ mp_lcm (mp_int * a, mp_int * b, mp_int * c) /* End: bn_mp_lcm.c */ /* Start: bn_mp_lshd.c */ -#line 0 "bn_mp_lshd.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -3317,7 +3288,6 @@ mp_lshd (mp_int * a, int b) /* End: bn_mp_lshd.c */ /* Start: bn_mp_mod.c */ -#line 0 "bn_mp_mod.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -3365,7 +3335,6 @@ mp_mod (mp_int * a, mp_int * b, mp_int * c) /* End: bn_mp_mod.c */ /* Start: bn_mp_mod_2d.c */ -#line 0 "bn_mp_mod_2d.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -3420,7 +3389,6 @@ mp_mod_2d (mp_int * a, int b, mp_int * c) /* End: bn_mp_mod_2d.c */ /* Start: bn_mp_mod_d.c */ -#line 0 "bn_mp_mod_d.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -3446,7 +3414,6 @@ mp_mod_d (mp_int * a, mp_digit b, mp_digit * c) /* End: bn_mp_mod_d.c */ /* Start: bn_mp_montgomery_calc_normalization.c */ -#line 0 "bn_mp_montgomery_calc_normalization.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -3504,7 +3471,6 @@ mp_montgomery_calc_normalization (mp_int * a, mp_int * b) /* End: bn_mp_montgomery_calc_normalization.c */ /* Start: bn_mp_montgomery_reduce.c */ -#line 0 "bn_mp_montgomery_reduce.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -3568,10 +3534,10 @@ mp_montgomery_reduce (mp_int * x, mp_int * n, mp_digit rho) /* Multiply and add in place */ for (iy = 0; iy < n->used; iy++) { - r = ((mp_word) mu) * ((mp_word) * tmpn++) + - ((mp_word) u) + ((mp_word) * tmpx); - u = (r >> ((mp_word) DIGIT_BIT)); - *tmpx++ = (r & ((mp_word) MP_MASK)); + r = ((mp_word) mu) * ((mp_word) * tmpn++) + + ((mp_word) u) + ((mp_word) * tmpx); + u = (mp_digit)(r >> ((mp_word) DIGIT_BIT)); + *tmpx++ = (mp_digit)(r & ((mp_word) MP_MASK)); } /* propagate carries */ while (u) { @@ -3597,7 +3563,6 @@ mp_montgomery_reduce (mp_int * x, mp_int * n, mp_digit rho) /* End: bn_mp_montgomery_reduce.c */ /* Start: bn_mp_montgomery_setup.c */ -#line 0 "bn_mp_montgomery_setup.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -3655,7 +3620,6 @@ mp_montgomery_setup (mp_int * n, mp_digit * rho) /* End: bn_mp_montgomery_setup.c */ /* Start: bn_mp_mul.c */ -#line 0 "bn_mp_mul.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -3709,7 +3673,6 @@ mp_mul (mp_int * a, mp_int * b, mp_int * c) /* End: bn_mp_mul.c */ /* Start: bn_mp_mul_2.c */ -#line 0 "bn_mp_mul_2.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -3791,7 +3754,6 @@ mp_mul_2 (mp_int * a, mp_int * b) /* End: bn_mp_mul_2.c */ /* Start: bn_mp_mul_2d.c */ -#line 0 "bn_mp_mul_2d.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -3875,7 +3837,6 @@ mp_mul_2d (mp_int * a, int b, mp_int * c) /* End: bn_mp_mul_2d.c */ /* Start: bn_mp_mul_d.c */ -#line 0 "bn_mp_mul_d.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -3911,6 +3872,7 @@ mp_mul_d (mp_int * a, mp_digit b, mp_int * c) /* set the new temporary used count */ c->used = pa + 1; + c->sign = a->sign; { register mp_digit u, *tmpa, *tmpc; @@ -3951,7 +3913,6 @@ mp_mul_d (mp_int * a, mp_digit b, mp_int * c) /* End: bn_mp_mul_d.c */ /* Start: bn_mp_mulmod.c */ -#line 0 "bn_mp_mulmod.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -3992,7 +3953,6 @@ mp_mulmod (mp_int * a, mp_int * b, mp_int * c, mp_int * d) /* End: bn_mp_mulmod.c */ /* Start: bn_mp_multi.c */ -#line 0 "bn_mp_multi.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -4061,7 +4021,6 @@ void mp_clear_multi(mp_int *mp, ...) /* End: bn_mp_multi.c */ /* Start: bn_mp_n_root.c */ -#line 0 "bn_mp_n_root.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -4080,11 +4039,13 @@ void mp_clear_multi(mp_int *mp, ...) /* find the n'th root of an integer * - * Result found such that (c)^b <= a and (c+1)^b > a + * Result found such that (c)**b <= a and (c+1)**b > a * - * This algorithm uses Newton's approximation x[i+1] = x[i] - f(x[i])/f'(x[i]) - * which will find the root in log(N) time where each step involves a fair bit. This - * is not meant to find huge roots [square and cube at most]. + * This algorithm uses Newton's approximation + * x[i+1] = x[i] - f(x[i])/f'(x[i]) + * which will find the root in log(N) time where + * each step involves a fair bit. This is not meant to + * find huge roots [square and cube, etc]. */ int mp_n_root (mp_int * a, mp_digit b, mp_int * c) @@ -4122,33 +4083,39 @@ mp_n_root (mp_int * a, mp_digit b, mp_int * c) goto __T3; } - /* t2 = t1 - ((t1^b - a) / (b * t1^(b-1))) */ - if ((res = mp_expt_d (&t1, b - 1, &t3)) != MP_OKAY) { /* t3 = t1^(b-1) */ + /* t2 = t1 - ((t1**b - a) / (b * t1**(b-1))) */ + + /* t3 = t1**(b-1) */ + if ((res = mp_expt_d (&t1, b - 1, &t3)) != MP_OKAY) { goto __T3; } /* numerator */ - if ((res = mp_mul (&t3, &t1, &t2)) != MP_OKAY) { /* t2 = t1^b */ + /* t2 = t1**b */ + if ((res = mp_mul (&t3, &t1, &t2)) != MP_OKAY) { goto __T3; } - if ((res = mp_sub (&t2, a, &t2)) != MP_OKAY) { /* t2 = t1^b - a */ + /* t2 = t1**b - a */ + if ((res = mp_sub (&t2, a, &t2)) != MP_OKAY) { goto __T3; } - if ((res = mp_mul_d (&t3, b, &t3)) != MP_OKAY) { /* t3 = t1^(b-1) * b */ + /* denominator */ + /* t3 = t1**(b-1) * b */ + if ((res = mp_mul_d (&t3, b, &t3)) != MP_OKAY) { goto __T3; } - if ((res = mp_div (&t2, &t3, &t3, NULL)) != MP_OKAY) { /* t3 = (t1^b - a)/(b * t1^(b-1)) */ + /* t3 = (t1**b - a)/(b * t1**(b-1)) */ + if ((res = mp_div (&t2, &t3, &t3, NULL)) != MP_OKAY) { goto __T3; } if ((res = mp_sub (&t1, &t3, &t2)) != MP_OKAY) { goto __T3; } - } - while (mp_cmp (&t1, &t2) != MP_EQ); + } while (mp_cmp (&t1, &t2) != MP_EQ); /* result can be off by a few so check */ for (;;) { @@ -4158,7 +4125,7 @@ mp_n_root (mp_int * a, mp_digit b, mp_int * c) if (mp_cmp (&t2, a) == MP_GT) { if ((res = mp_sub_d (&t1, 1, &t1)) != MP_OKAY) { - goto __T3; + goto __T3; } } else { break; @@ -4185,7 +4152,6 @@ __T1:mp_clear (&t1); /* End: bn_mp_n_root.c */ /* Start: bn_mp_neg.c */ -#line 0 "bn_mp_neg.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -4217,7 +4183,6 @@ mp_neg (mp_int * a, mp_int * b) /* End: bn_mp_neg.c */ /* Start: bn_mp_or.c */ -#line 0 "bn_mp_or.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -4267,7 +4232,6 @@ mp_or (mp_int * a, mp_int * b, mp_int * c) /* End: bn_mp_or.c */ /* Start: bn_mp_prime_fermat.c */ -#line 0 "bn_mp_prime_fermat.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -4324,7 +4288,6 @@ __T:mp_clear (&t); /* End: bn_mp_prime_fermat.c */ /* Start: bn_mp_prime_is_divisible.c */ -#line 0 "bn_mp_prime_is_divisible.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -4379,7 +4342,6 @@ mp_prime_is_divisible (mp_int * a, int *result) /* End: bn_mp_prime_is_divisible.c */ /* Start: bn_mp_prime_is_prime.c */ -#line 0 "bn_mp_prime_is_prime.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -4460,7 +4422,6 @@ __B:mp_clear (&b); /* End: bn_mp_prime_is_prime.c */ /* Start: bn_mp_prime_miller_rabin.c */ -#line 0 "bn_mp_prime_miller_rabin.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -4555,7 +4516,6 @@ __N1:mp_clear (&n1); /* End: bn_mp_prime_miller_rabin.c */ /* Start: bn_mp_prime_next_prime.c */ -#line 0 "bn_mp_prime_next_prime.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -4614,7 +4574,6 @@ int mp_prime_next_prime(mp_int *a, int t) /* End: bn_mp_prime_next_prime.c */ /* Start: bn_mp_rand.c */ -#line 0 "bn_mp_rand.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -4668,7 +4627,6 @@ mp_rand (mp_int * a, int digits) /* End: bn_mp_rand.c */ /* Start: bn_mp_read_signed_bin.c */ -#line 0 "bn_mp_read_signed_bin.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -4701,7 +4659,6 @@ mp_read_signed_bin (mp_int * a, unsigned char *b, int c) /* End: bn_mp_read_signed_bin.c */ /* Start: bn_mp_read_unsigned_bin.c */ -#line 0 "bn_mp_read_unsigned_bin.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -4745,7 +4702,6 @@ mp_read_unsigned_bin (mp_int * a, unsigned char *b, int c) /* End: bn_mp_read_unsigned_bin.c */ /* Start: bn_mp_reduce.c */ -#line 0 "bn_mp_reduce.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -4780,8 +4736,8 @@ mp_reduce (mp_int * x, mp_int * m, mp_int * mu) /* q1 = x / b**(k-1) */ mp_rshd (&q, um - 1); - /* according to HAC this is optimization is ok */ - if (((unsigned long) m->used) > (((mp_digit)1) << (DIGIT_BIT - 1))) { + /* according to HAC this optimization is ok */ + if (((unsigned long) um) > (((mp_digit)1) << (DIGIT_BIT - 1))) { if ((res = mp_mul (&q, mu, &q)) != MP_OKAY) { goto CLEANUP; } @@ -4821,7 +4777,7 @@ mp_reduce (mp_int * x, mp_int * m, mp_int * mu) /* Back off if it's too big */ while (mp_cmp (x, m) != MP_LT) { if ((res = s_mp_sub (x, m, x)) != MP_OKAY) { - break; + goto CLEANUP; } } @@ -4834,7 +4790,6 @@ CLEANUP: /* End: bn_mp_reduce.c */ /* Start: bn_mp_reduce_2k.c */ -#line 0 "bn_mp_reduce_2k.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -4895,7 +4850,6 @@ ERR: /* End: bn_mp_reduce_2k.c */ /* Start: bn_mp_reduce_2k_setup.c */ -#line 0 "bn_mp_reduce_2k_setup.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -4942,7 +4896,6 @@ mp_reduce_2k_setup(mp_int *a, mp_digit *d) /* End: bn_mp_reduce_2k_setup.c */ /* Start: bn_mp_reduce_is_2k.c */ -#line 0 "bn_mp_reduce_is_2k.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -4985,7 +4938,6 @@ mp_reduce_is_2k(mp_int *a) /* End: bn_mp_reduce_is_2k.c */ /* Start: bn_mp_reduce_setup.c */ -#line 0 "bn_mp_reduce_setup.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -5019,7 +4971,6 @@ mp_reduce_setup (mp_int * a, mp_int * b) /* End: bn_mp_reduce_setup.c */ /* Start: bn_mp_rshd.c */ -#line 0 "bn_mp_rshd.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -5091,7 +5042,6 @@ mp_rshd (mp_int * a, int b) /* End: bn_mp_rshd.c */ /* Start: bn_mp_set.c */ -#line 0 "bn_mp_set.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -5120,7 +5070,6 @@ mp_set (mp_int * a, mp_digit b) /* End: bn_mp_set.c */ /* Start: bn_mp_set_int.c */ -#line 0 "bn_mp_set_int.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -5167,7 +5116,6 @@ mp_set_int (mp_int * a, unsigned int b) /* End: bn_mp_set_int.c */ /* Start: bn_mp_shrink.c */ -#line 0 "bn_mp_shrink.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -5200,7 +5148,6 @@ mp_shrink (mp_int * a) /* End: bn_mp_shrink.c */ /* Start: bn_mp_signed_bin_size.c */ -#line 0 "bn_mp_signed_bin_size.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -5227,7 +5174,6 @@ mp_signed_bin_size (mp_int * a) /* End: bn_mp_signed_bin_size.c */ /* Start: bn_mp_sqr.c */ -#line 0 "bn_mp_sqr.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -5271,7 +5217,6 @@ mp_sqr (mp_int * a, mp_int * b) /* End: bn_mp_sqr.c */ /* Start: bn_mp_sqrmod.c */ -#line 0 "bn_mp_sqrmod.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -5312,7 +5257,6 @@ mp_sqrmod (mp_int * a, mp_int * b, mp_int * c) /* End: bn_mp_sqrmod.c */ /* Start: bn_mp_sub.c */ -#line 0 "bn_mp_sub.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -5370,7 +5314,6 @@ mp_sub (mp_int * a, mp_int * b, mp_int * c) /* End: bn_mp_sub.c */ /* Start: bn_mp_sub_d.c */ -#line 0 "bn_mp_sub_d.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -5408,7 +5351,6 @@ mp_sub_d (mp_int * a, mp_digit b, mp_int * c) /* End: bn_mp_sub_d.c */ /* Start: bn_mp_submod.c */ -#line 0 "bn_mp_submod.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -5449,7 +5391,6 @@ mp_submod (mp_int * a, mp_int * b, mp_int * c, mp_int * d) /* End: bn_mp_submod.c */ /* Start: bn_mp_to_signed_bin.c */ -#line 0 "bn_mp_to_signed_bin.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -5482,7 +5423,6 @@ mp_to_signed_bin (mp_int * a, unsigned char *b) /* End: bn_mp_to_signed_bin.c */ /* Start: bn_mp_to_unsigned_bin.c */ -#line 0 "bn_mp_to_unsigned_bin.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -5530,7 +5470,6 @@ mp_to_unsigned_bin (mp_int * a, unsigned char *b) /* End: bn_mp_to_unsigned_bin.c */ /* Start: bn_mp_toom_mul.c */ -#line 0 "bn_mp_toom_mul.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -5808,7 +5747,6 @@ ERR: /* End: bn_mp_toom_mul.c */ /* Start: bn_mp_toom_sqr.c */ -#line 0 "bn_mp_toom_sqr.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -6033,7 +5971,6 @@ ERR: /* End: bn_mp_toom_sqr.c */ /* Start: bn_mp_unsigned_bin_size.c */ -#line 0 "bn_mp_unsigned_bin_size.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -6061,7 +5998,6 @@ mp_unsigned_bin_size (mp_int * a) /* End: bn_mp_unsigned_bin_size.c */ /* Start: bn_mp_xor.c */ -#line 0 "bn_mp_xor.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -6111,7 +6047,6 @@ mp_xor (mp_int * a, mp_int * b, mp_int * c) /* End: bn_mp_xor.c */ /* Start: bn_mp_zero.c */ -#line 0 "bn_mp_zero.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -6140,7 +6075,6 @@ mp_zero (mp_int * a) /* End: bn_mp_zero.c */ /* Start: bn_prime_tab.c */ -#line 0 "bn_prime_tab.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -6200,7 +6134,6 @@ const mp_digit __prime_tab[] = { /* End: bn_prime_tab.c */ /* Start: bn_radix.c */ -#line 0 "bn_radix.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -6259,7 +6192,9 @@ mp_read_radix (mp_int * a, char *str, int radix) } ++str; } - a->sign = neg; + if (mp_iszero(a) != 1) { + a->sign = neg; + } return MP_OKAY; } @@ -6427,7 +6362,6 @@ int mp_fwrite(mp_int *a, int radix, FILE *stream) /* End: bn_radix.c */ /* Start: bn_reverse.c */ -#line 0 "bn_reverse.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -6465,7 +6399,6 @@ bn_reverse (unsigned char *s, int len) /* End: bn_reverse.c */ /* Start: bn_s_mp_add.c */ -#line 0 "bn_s_mp_add.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -6573,7 +6506,6 @@ s_mp_add (mp_int * a, mp_int * b, mp_int * c) /* End: bn_s_mp_add.c */ /* Start: bn_s_mp_exptmod.c */ -#line 0 "bn_s_mp_exptmod.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -6794,7 +6726,6 @@ __M: /* End: bn_s_mp_exptmod.c */ /* Start: bn_s_mp_mul_digs.c */ -#line 0 "bn_s_mp_mul_digs.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -6884,7 +6815,6 @@ s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs) /* End: bn_s_mp_mul_digs.c */ /* Start: bn_s_mp_mul_high_digs.c */ -#line 0 "bn_s_mp_mul_high_digs.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -6961,7 +6891,6 @@ s_mp_mul_high_digs (mp_int * a, mp_int * b, mp_int * c, int digs) /* End: bn_s_mp_mul_high_digs.c */ /* Start: bn_s_mp_sqr.c */ -#line 0 "bn_s_mp_sqr.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -7003,7 +6932,7 @@ s_mp_sqr (mp_int * a, mp_int * b) t.dp[2*ix] = (mp_digit) (r & ((mp_word) MP_MASK)); /* get the carry */ - u = (r >> ((mp_word) DIGIT_BIT)); + u = (mp_digit)(r >> ((mp_word) DIGIT_BIT)); /* left hand side of A[ix] * A[iy] */ tmpx = a->dp[ix]; @@ -7024,13 +6953,13 @@ s_mp_sqr (mp_int * a, mp_int * b) *tmpt++ = (mp_digit) (r & ((mp_word) MP_MASK)); /* get carry */ - u = (r >> ((mp_word) DIGIT_BIT)); + u = (mp_digit)(r >> ((mp_word) DIGIT_BIT)); } /* propagate upwards */ while (u != ((mp_digit) 0)) { r = ((mp_word) * tmpt) + ((mp_word) u); *tmpt++ = (mp_digit) (r & ((mp_word) MP_MASK)); - u = (r >> ((mp_word) DIGIT_BIT)); + u = (mp_digit)(r >> ((mp_word) DIGIT_BIT)); } } @@ -7043,7 +6972,6 @@ s_mp_sqr (mp_int * a, mp_int * b) /* End: bn_s_mp_sqr.c */ /* Start: bn_s_mp_sub.c */ -#line 0 "bn_s_mp_sub.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision @@ -7131,7 +7059,6 @@ s_mp_sub (mp_int * a, mp_int * b, mp_int * c) /* End: bn_s_mp_sub.c */ /* Start: bncore.c */ -#line 0 "bncore.c" /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is library that provides for multiple-precision diff --git a/tdcal.pdf b/tdcal.pdf index 1566a9ddc02773902d1db4ae33b33c97611efdec..e4f4b35d72b373c6d41963aa62da5856b0c0d3a2 100644 GIT binary patch delta 44158 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 wvNLgUumQV2xtagDhn