From c6dc96f3872f947ea7f70188440c1282ca696ff5 Mon Sep 17 00:00:00 2001 From: Mark VanderVoord Date: Fri, 13 Nov 2015 09:16:42 -0500 Subject: [PATCH] We're going to use the C99 isinf() and isnan() macros wherever possible now. If your compiler doesn't support this, define UNITY_EXCLUDE_MATH_H and it will go back to the old method --- docs/Unity Summary.odt | Bin 58048 -> 37198 bytes docs/Unity Summary.pdf | Bin 113890 -> 170784 bytes src/unity.c | 33 ++++++------ src/unity_internals.h | 22 ++++++++ test/targets/clang_file.yml | 83 +++++++++++++++++++++++++++++++ test/targets/gcc_manual_math.yml | 46 +++++++++++++++++ 6 files changed, 167 insertions(+), 17 deletions(-) create mode 100644 test/targets/clang_file.yml create mode 100644 test/targets/gcc_manual_math.yml diff --git a/docs/Unity Summary.odt b/docs/Unity Summary.odt index 5000e56233849022bcd320288f948baf802d4ea8..2da4d3d368dc0159524f636b1eefd5df33439c0a 100644 GIT binary patch delta 33694 zcmaHyQ*fqF^q|9uHOYjNi8XOD6HIK|wr%H)ZR3k=+qP}ncCx?Sn}2O>)jm~Sr>bxI zrn^qpIp^sffSk;QK$4Y!gu(y=g9QUiv$Kjt5=Z_oi0F+}vwv`afqihq8nFV9U|?Wd z{x9}mU=Sa&l8Qp$;NV~oa0mzpF!1RAfrp2O^@|vnh@6<1n3RH!hK7cWo`ss8jhUI5 zgM)*ViJyjz_aB!4j|e-5kfe~1kbtm^#D9n>i7RT#sOxA*3#*GO{D+E$ma3AXhPsl5 zriQATk*2<>y1uuuhALpFWn^rm>20iOsBd6kWNv6?U}RxoW?*1$WNv9{XlY?-X6|HV zYi8l#>SS)_VCCTMXyNGK=;-L~?B?v`=IQR};O6A+>F(_5;c05^XYT0d>f!I@>*eVe z;uRbZFMeIiP?b(1tn#r z1$iZfKuLK?L0MT@ad}-ubwzn?Q(akMO=WFUZCTxaG_*E0H#D@gw>H$ZG`6(2G_pl){iE%FXmPClr{D>xA%2+cYp?WvqldqdnVg^1{-?k8v2$S#@E^hW;;d~J4aV? z#tw@nkBg^{D`rkQC-!RRPuo^5x(h-5O=Un|NAp}))l6qiPiN0qchz8T+rm)G+DzBZ zSnKw5SKogOj1CMB4vdVC4D<~T4*wU%#>RSwX8J~F`zKaMCuT+`mM5ksd#4u$W;P~f z=Evq%CzjXeCWfXbXP0Nk=Kf=0bzymNVP$<~VQzVGd2M-NZEdZ8cDHZ+VhmW=9a%h{ zSlJ(2JDb?LURvMV+}<4Az8>4TUf(^QKe$~yzF#}MUOTG|#D;q&toO%_QJTY9YnPL zWG2=q+M5CCLeNt#L{NH{>fSYl0#Y=YJz>@j?nScANvDF zu%Qpe`?8FQ<|DH~U*S?pZ|S=*|Hch*>4p7ufUYsW_IWJww}-)+2>f{;3Hv-r#*82c z1w7))o4;)@+PjWlKAydkA za`fdTz+(OO$H(()XoPmX14-cJ*sD}f#(L#;K0RyDq+TTd7mDS}{)fty-Q80lZI=k~ z*Di_1=MyUrlIvKJ>V=!FMx*DUcGK=?QKMzc)HT-A$D58%v{yU$9=DQ$*DFaa`MO3U zc0+#jmPYyhqoH6@65q}j@E*OTsZ@!EHnEzRXu+aA8`u1HNd^u`m_Ogyc;9_}4qVjb zZ?)-sR(FH(C~Op5y}u^{pG7L(pBs^yScC*^$&y<(51-z46E7a|PfsJ!*kc65*kJAN z8(kk~U7wRKogQ`cbfN^k!=eqZZNIk7D63TPig2WQ5|z>tA)U;C%GiXAHleSQRH_FL zH99a^bxXxKyc2Pz2k_ovl!1NRsUb+vus#nGgu}!TIhzUEk=L%EOTmB(G23_i9VR|K zes~E|nnk1>QA(%R{BHXlF9%86^^RMZ{8&xoqC9(C=)Utx=C>|f>Y+6lh13iBu`3}!{8=C zGTZb6EbANJTi7`p>#y3oofIrm&z5Pb9VpRpcQ$U#YpmWoN*rW+Px;@^Q!-G(U|9Hj zyquJD0PV}aq+AtMAC*H212;l5@b3$#Wh`2GE=DmH*mX;PlVI&5Q69GZUaJ(T zl)+TxJM?G^if<1=^57QGxH=L`u(`xXw=ID#@OhV|czo-7A|QTxsTM5`HIrUqAut0& zAT5O;7L0QP_Y*VD>YIqlAftKl1Rl8ia2Qezn&5Q*zpuhe;HU9-kcg$NN>Ch|dA z1$NuReQmMrn0Yb^vR8%16YQ-iTQf#ZGw=r=w%F{+8-7#qpHp-H!kp0g=td``+P$!` zhRnaM99s`@d1>8zYPk;e*ch#@l+;oB0_?G>qd@79|A=W21ac~KTEvAa=^0I*^SUAL zj-U)a1+7uEuc=2fnSG6!VV7QR1y0RH9|iC5_VMx*K>ieWC&8%67 z#1-A>8J_AplhjwJvnPzk^nD`8-@T~rx>0YNnvep^p@KZeXz^vGTCE-mC);k%pRJT+Qa z=x(D+3Po3C9`|a+4>S5|;*976?2oz!F1$cjSUO((BiU!g(7~K#JwpXg82AgV1X^+j zN_H;CdRx7r8rqACg}P@oF9sE)%h&NE@V{<>7sfkuu+ImAcB--_JA!CP+kL9flJw8`z_wJe%@;kolqsn;)GYv&8P51B*<6ct|)jv}sATaG!PnXiw4+god* z-Ec_v;cXmXd%8G#kp8;9)CEaj1Y14tw=kBcT7Oc_o12<5>!J`b=#diatvzOPPNe%x znEnz({MB#B(7NrcOV5OI(S$1*)HQVEix!qp-1qVfG=U zfL4da*Sk6Fs*k~PJcnn8`CY3sPK4@?w@yzfWLx`O`6g_E~Q1$Fv8#1x3tOw zvrEqSoj=?gI$fm?;^aZg;O>!#+x|hO2ik{Z~)greYb#w0T*#19-qyDh!sf7kyf?_J?USpHK3N0Luz z&rE8Op5A4hY1i+&NGP<)=S1lre3}oEA93pY+m=Z@SQXoE76aNyNh~(+|I^yzUlA@2 zpD^nJpzNgUPwI>?{&>YcTn z2}|H4{UXHg$oN(MUH@psIJC5Q0a_5Y)RI;Z06l3G7ShR&r|7mDU>|k0|7@DSDqFuFk9TAa@(Z812(@bEo0iy} z;7|!Vu8R4VcAsg1DV*hv?Q+3=DcBuTmftk}$DBV3ytd(Km~HA? zOqa-M9TjxqAH#!qCrpD;x|0P?FCtD%=+xZDxt24=gmqs%|9nS@^nLEP43#$8AVK#_ z7!AYaDu***WFZEj6znUWJm1m7?;?Wrz91fyfi{F+zANVAqBrkplA((ULMX(p)Y|5P zILX`$a-}Q7`MEII0d22{DP{e0L56N%DKO?qjfn70-&7hl7Ss%H{(fLWK^c=0A%+h3 zK>l11a?RfjXa4&kA%G(|cI|q_)_4hjH%LIEb%$%?PsT%JE7UEkyhT+~*^-8=O!&bA z9Jt$c(4wSX9>L?`q4iIsp_0PCTJ&3imZWK}RLo>lM@C|k6O-vh@VT5Yy9cwteKThp zsT%W19OM0H97xnCg0K@lcK}CCda^gwai*H`_ngGUidxOAaUO+`8#v9>=wXeZbik3% zA3PZ`d1FttWT^#$o6$Q5oDpi$`G06J8R%GhTn)|j*wo=-YMPnUDCAgYp(h~GXxh;3 zj2Ag#M}2Xc@E48%yVUw+qJ}3xqed&*Wv}9yyW17?kQ9I8^}!N8A=tYq;gv1j^sBo9 z%GB-FV=hDFvlp_-fI;cXy?*GuI+9_JoWXH*E6n*iyLciL+xzp%y+5MlVi>< zk<*to-}|t+v^qjOT%o4-ycbUu@JrD>EtjYMmFQh#4{=}6e&P!dTmOowAK4-x-eJPXnbs8fcprk_AopfOByXC2o$W*uI(NjX*a zHt>gbWi9M8Y7cDljcr+k=1Pn)cB@Yhjq2K23Se<(Mpgb%h^I2!3SwHy^0IRlSTT!v z9;x7Y2wHqsXKH&KDkUvjQZKccX5bCGbD`V4A)g}T>_2IpA9BeDY&=k1+@B!h7!=hb zFr(q>u|t0a&z!OlL-~`u{p|b)R}mzqdt_U_64+4R`b>Oj0gdepdz6M)?GV$g4o5*q z1KJdFzy6>nbN_k031RJLh8~5z?lpD4ZGe>?Q>Zk441eEt(jj2=HIACGfGor8M-<#m z5`j)gR9EuDicc65xWxDt$znApK#o=ZiSyxMi9J(lQO56#z~-5~)D0P)`obDy-H#g3 z7&KEAX?+EGc=1Kw*x>GHIrJ!3=Uc~L5`OGcSMPPT*!LzCL~7p1i+s1ZFvsyiH@@zO zu_N;}6+LtO8`-7d#o6-8>HVO9eEuQ2l0K)5VG+_xF8b*h$VrZNe(LnYQ5Cgut9HL; z%pY|{LJVA{JG)%BrW~-pjI7Nq{t$0b|J|jnJesYj?31QQ2_{rRbt?CJ{!BL~w{YQ3 zO?J}1HBCWQ{D7>;*a1UU5i_||{4-2mRT-h=Fh_IdG%-<}wo36wgJUO%z67pR%}uN9 z_Mguz*Lxg3|)>t(B46dPJ5_m}4C^wbB7(K9m$zWW!T@w=`{Y^hC|NC@I^zGpDxz{ZwArC>X zo|61~G3aM_frLY??V*@jsNpQHEV*H9g0X+-ihGwHAl(q{N62bd(oD&nl^CLHES)g+ z@v2DkX(*Qzh+sc3L9I|76JL1HKgxbizlo|ntjI*9pglZNG=vOjD3MClJ2A#7js%-y z7pTRkMi>g#usIzuOd_v<{!z1u>j}rBv!?xvPO;VcVRIHhc}l!+`U{r<=o1AC*<{`) z{~F!{uD!FCX1*berrG{YJ@1X^j6)(9qh4Py>eEaj!eG=Hdrtdkk;fx_XMaKe_7#Re zVoCbb6otD_tr1!Oi*EsLgTvoSVA%VT{ednf*Q%`!+OBX!dYBFNej-OJrOv6^eu#l7 zW$J-VjZ(^e8m((hNW>F43c{LWOn-Bnl-v~!AnlFtvBfORMO{IU#MnVsB(w$bwvXHK z5^!8bC15LaxjqJDk;$QqU4MdIGeiXLf+vwcyFL>C$UWYRV68DtpNOL|lM_WXZYO== zGz(c(QW`-Q_{E~Iq5Lru&++(>te&><&*4W-WM*szS9kY) zcSr{UBm2$^%6H)o)ycBLLe1%N1wN%MaYh}ev>k}5lF2CfNopU)BE>r;#Y7Le2JJ9o z!o=Ah(DP-b3vv?0a0j*WpM-jrgC&<_*hUS^74Zf}B$35ORTzp@>Mfy$37GR&fQDF@ zvPLIi=cg(upU#mLHrG|{gM$q_>eU8UN zNIgXi_n7`E*mUQRk1c2>9ySA;0DiJ#n3C)y)@`Cq_ezO6$gBzf04J1dBOD;U%hCM3 zLx3JHU*(NCJ_V0Z^ft-WNoZJj^nG$W@0h03{V2nHNV&-@u8{CC7wfb~3O1BD3Q~A4 z5B%z2CSc8aNN@ulDeDE(>z>*lEKdUt@1y*3sbh`>eIt~UjUV008Q=aJH_(vLvCz?&c_Q~jb_?lHdM^XcZmr2S? z%v(Y3nIqR-J*l^~l7P@p39wuu!3>Ww2lFRn96-gTb6*-1@rK^2U?*VGXp(j^kz!;b zA=M#}xj-?<)F)D(VOFqmeEF|yo%}t2>BMVcI$b@V$jlvf8U2i_b+*0 z!@R*YjTp8;1gEWJJj0{H6W(OL((QZ+YPHap^;%0S%|CrlBUc;f2U6lfpJ+6#s)0O4 zox-^TT-YZnr3GnFL1z2;llkT_-a)NvXJuN7J)DwOXi*lz2XCTcgKzulxZ7Wa_}RMS zz4~39=G;cb(qf)i81+CVzhZ5PmfIlpMTiKYExdudI(2b3HAE2980CbUSpU~gQP-)A zc2_X6t!4#m#1_0>z-f~HCSvmZRTC?e&|N_x{s(Ux_Cn^>l^VMrIdFk&;M?WH=E9Y|e%`g2U)OV73)xw3aWS8P^YZyiyqhG7Zaln+s%{oe#4F(b}u- zMLUhm(iYecy@#pc75P?G=uiLN-14z1G&m*e@_3LS$$ffDB>o*;$77-OTB;Y!_(L|M zi+IS@l~m2o8V2N0)L~-njHM8+O4Oq~y2CcqH48Wdr4k3ao&Adje}fq=Rc3I`>tC?} zzvCMY=q293+Vh}XIKSYhE#Un7$Kn_xD5Wb2K2Pb;TRwK>!O|>}_)^5ysom!@T zo@L%|h2wEomA4HBE%r}+f8N*C9jP*-OTLr)xLMx_gRE$a@lou~M(L@`t60S*?cj)7 z=@Rd{#0xEArxmU8hgtj#$Lf6MRx5<`A|P za%A*XSN~)9?!O9NzTPKFmu#1YXjiZ}w<)CsncwmAITamY!30tRh1;J|<=G@~Ah4M+ z6+KWbV&|<(@-jS%z%U5Ht|3H%JCdFJVo_c+Na`_nt6BZKpCr-!J5k9`)J&Rjj;Y*l z%g30312GEJgdb3|eBeRfu^0WGeTe?pV=>S@2HtFH+l$DcKQdSo5?oa@{0_f2{MJY^ z4Cag2j3k*QZ%#XVym$%DTWAAknjeS!XLrwm!hi@%cRhI-M#fR*V;pKU35YP&Ki{UKRXzf|b$*ITzf~{E4_3+-ESgTWz(6?-knxbV*xFBOb zc1$vyeQYSSPz#EDD#pCA7?QG*=LHn`B|xNxE$0%2#s0-*Dct^6g}4YrPHJ&`}-9y-u+0Wg$7oD zXMOktQaI9lto@Kz0Vaav(eE+#HJ(;1>LJQWq-IeP(&G}pAAS!h)c%3af0^enXkIuQ zr*n}orvj$FJ1ro5=iTQF!Bj*qU>f(+SK$4Ow5Ne8(?(aNDLYp{YsIL^ZxzW-DA1-q zy5ho?Ia80U0IN|NudV>QBGt?5JV5mU=HnlSP^&x8=NfQgmC@(n@N`9}P4W7_uuoc^ zbU`aYY&D}X98;>A3xZ$y@%B4fiEKANeTf7&^z0r{++Zo9P}!uhpTO^6zo~s2@IV#@ zwcpY8u9I+}S-$Q*u|?!#w;0*}Zfy0%p_!tSB8Mk*BXL*IA;28_Jls@W6J-tqcBRUU z!h7o%d2A3X7mm#zgF-0_c*!dsA9^=>nk_d58)_ov7#-|r7`pAL?`XN>NTJ6iz6o;@ zUv_xP-)np{`i5fI!ht7o6u4(k8NqGw4x40ktBkK_m!d)la@dM!c|)Ord<>9iwRsj5 z;AFj{cFZiM2X9OFj-g4ZX2HV%dBEw3W}-B(hQJWk{g3ruK}$u{tkGpux?Sf#1_n2a zXch<7{}wVIi!7Ucog){Wr#m~en3wf3(p{^ol8*x?UNh#8jS@J-376Lw|FE3~UQ|Dv z=UbnqR$&V~dgnH@gf%hK??m$)3Y^k%KnlCNF6lzo_H76vNcm#c!ti$iVZ<>b6_B(j zHf6IY*B-t8bPMmcQo-9fM0Gn?(Lp;!bU6W?Lo>6SPIlc!4j26}5j<=hx6t>Mx|9Q_ z?VR)yEi_8uSR^m{f|(Umfmk}AvHe|p8tCsOyd?1G2OZ7r!Yh2dS5WTjmWa z#^{vl?X+&Q8qE$Td@%_RF=U05R6+!W)NrW zA5vohuD^|GDakJ}gwO`x(|_B8#wTF%&_oVG<3Vg{xN;9d!rR7u(Mv_>jH&2_%xKEL z{L$xpHOHvO)@S4ZTf_SR!YLV4#u1($_ftY962n59SSDJxnn5?Wcltm$JR~)S+c??! z$@S-4K7w7^KhbyLxEch!yoa!14rL)nzy$fsU0-epC}oT!Tzb*}2s5v%k(&+!g# zx>&n%8>++7n4zB{9^1h?zS=%}J62tsO=a<_fg|3cWNRG&p{Na+TJ1#9aM8yh9b8+hg6x;6_ zvL_6&6PvB}q{$B|M;B5a%q;t_>ghCfZ7Ys}-fI_o0NWLwO88712cZCW721q?9}bfJ zc_biOoOJ*+^NZeQ{x)=9h(3lLiq%FX6o445FqXNdnPTLNIF&K-tZ@w0%_vx5n1a?e z#cWX+a?T~}ChOCTxPn=M8^qdv;r&@`<|iThe$vJQ1bXm zw;pesa7D90M=1+I%?H-ysj6UqOBp%x8_9D%Ed+pz2R;U`JH=Yuf>2|2&pQSkHhEW_ zif3lbfa;z_h`GG3TvpYb&U5SVA9amOHC~Ne*WggK#8w%FJFVb#jrrK<(|H~4_h?`b zr=_%%h^>g{0{sFkpMToZ9kFMS>z5A&b%P5gSeg+sRX0}xFYYVaQ5Ys!&|zQ@Tb0&G zWEX(-6H}Zv&gIZZbqXPwYr?^iF_C( z9bGJWTyH@&OQI=`L80eIaP@)97JquBdsAI`u{aoF0RmmqcwqE_x>T#!$NXjVM?>&D z?jF98m9tPqA-P}N>dNSXxj~ZbOW3Q9K^zcpy2KI@p?p%Bl=l~k>Do}Ot=QM1j&d^` ziIp|uDPaC_yx4Uw3mki8KUZ&puLN0XGzZuL&5xqN~kVfcqg$N^HRK zIX{drBw7+dZ?L|0+(ej0L1Bl@S5iXl4=MBxwZhcf0O7b8;XF?KO5eDSGT#Wq$Z8l9 zp;X{3(MVAU1sH@IIy%cG-WA5+(kI@)k+!Jw+08u(JV073WGtCe2Gof9Vue8ucxRiTVmd*tr^w*w|0AzQ;V; zWN7LMA=iUZtXfUw@8}JYoRinPr74KO#v+pnS)!LpI^-ssvOosf%|$Y01Qqbr-DVSG z;*X(RVs9D_F7-9wqZ`ifhKq2}3q=()6ZX2^x$8{(1H-RR=%krO6Xco5hNmCg@-q7N zdv|PUk7HzOyKl30A-%q&ghj7kZ?FuSx6*0RWKo&C4a*BmQtRpKcr7wbo7*kYq%xZ7 z2LkI^AI%RfC>*si@%HP>zGqyrgu^HbhrEc4X4sqgfT5#}AY^v9E<< z9!|%`PdPqvI}P$TtxjWR)D0Y$rw5s?hkf>WBj4+%3Sd8IJC?3C%y?bYRmOHS;G>(X zR4pzo7R^^exacW!C;?_W>bpu-AnCSJ!;Z+v=Ssgar~KN+sQejm=rWemQa2U82lx;f z@yNlmbmC7Pw1|G(wse;|v>kDrSy)8jouk!664L)jxQgF>KWTnHU1|?&sim6T$ zhTXP5jJmpeY~$USv)I?TnrRobdx4k){^hPTeh4x{8jPb;y#Rw*esvXx2)IDQ0i#K` z5Gwx(*adCP5Nsoi?%&DbR*jCLFous%0cZ(ujPV)nQ@HDJ8IzC|Y@m7_CW3{Jkm{)Hu zwkmmyofbI|QGjDrTLvORt zkplacpWMpxk5uNigSGCoI$j?On&Or7hGa$fVtKVGa?4#O4sg{V72UO zYET0$wT-?~U8{BWEeC4Xt?F>Y1&-3}xA{qTog;%b3xL0kgSE4hfPaR?9d>Rtd~h;no!n`n6TauU`Jy)? zCH>>&ab*%OZU=!(!;}i6=bkO36G=sg8^ zp%EQaA#hmOJ)p(RUUChAr=6-Dhk=6@CD!uW6i!8}b5Ch&lW5Pa?v~io5P*=8Oy! z=+0y7U)NWCkv-=E|C(m3Q`vaI3_Q}|&T=h7Mu9K7)aI$#qA+k0mMuKdqp$bZ#7dsY+^s1O{j5iut%({$5TN*(rQ0Sm10|@nU+Wkh%|*NIF`sHbOqz~**?nV z9vf_5=a~T#eaaR6gHrEN{|6(&lwL7~p=GjL!J_FnCY4%Y4VarqOZcp%w)es({Gi~+ z&rp~-R)j)~#m2EWC_&E|-(R*Ycx8>s)YS$l+D}y*g;}0J!nv?}+aCFJ&4leMJwTr` z{FuXX^?4HRKm2uiB1Yi$+nN!8+`<}87uX_{tbX_IQ?;f6Nzy9WXVWBO)xN~&?KgN< zra+3DK~o~I8?`X5=qyxJ9bg=amv zBo(y-%I%-pET1}XI4z7D)T1}LKqtI-T@##!#VKdzw_I0=Xef!LbEREn_>`6;)cC2Q z%8#&9USHB5FoYkMy~8a07sjsO5o4{1wkg)N;Yp5$tINc7fc(rrA^V3A z@JOlXg$E2ex9HDTt-zZG+O)x@6}>v-_c)U%qMzY=qoP%P=;B1lkDzL0kmWB=)B>rT#UB1A zGWr)P+>a4CNiu{CAJPqBAnfI!4SsL+S$N&Uo8`|28?ChH%y7RXEtB*eamYmAGF5d# zDXjed`*i?EDJ;>aXMz~GaF~>2%r3D=lt|W(0POm`U>x}{Qu01aQe1-qQ4qbPTex0qF0z)T zPJbgibiUyRv+G6~ceQFkzz3Z{+TCm0;@3C{D@N7Dhp*j!*PPL9C>LuRd+pbtO=K_OI|PrK#Sf224(D_v6l^DybMjJIbbUwtMmk;FYUzzA zn=A|S%>_kM4pUc4pv&#ZpGzv}w_~=H#a>5H&pY)+RS5bJOr@V2Atr<|5d3uw`JcDoc^Up7Cvmf?|~ zdWj4N5Bq17B93(zSPHorR=U08VfNLdojTo0rTxUM!k)<^0HnwFw9KB4KGs2B3D!tB z6Lu>pbvrJy$-v;*Y)7w*G)F57=twTQ3NUvPx2{3vrMxT)JUCxNl5ZpB#g$d{o&VgC z4M}Vu2j_s|k3R+!H;@4`cznGo4|FK?-v!L(gN```QerKupk%juYT)3Pp6+@0ZDB3t zlq}aqPmH}|0JBrl=kh?ZHQoN^tdvpW0D&VMzSRmJ@_SJkd;$01Z-{(%BUc2rlc2x7 zoyvawv_`X#@y%3VD%YoVsC>s2zP}9_>jd%6JcpU|wOcr_b-rvGq(C_pwBP&()G!Wx z@^l5pb>661jRecJ@ZB?3;H&_g)o=H~R2Y9*�IUfnF&srD1Dm5wz19NM#6d69UWK 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