From d8776d61bfa934a68829d9971bb89311e55c67cf Mon Sep 17 00:00:00 2001 From: plaa Date: Sun, 4 Oct 2009 15:46:32 +0000 Subject: [PATCH] updates for 0.9.4 git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@26 180e2498-e6e9-4542-8430-84ac67f01cd8 --- .classpath | 10 +- ChangeLog | 9 + TODO | 13 +- build.properties | 4 + build.xml | 10 +- {extra-lib => lib-extra}/RXTXcomm.jar | Bin lib-test/hamcrest-core-1.1.jar | Bin 0 -> 33395 bytes lib-test/hamcrest-library-1.1.jar | Bin 0 -> 46692 bytes lib-test/jmock-2.5.1.jar | Bin 0 -> 241000 bytes lib-test/jmock-junit4-2.5.1.jar | Bin 0 -> 10247 bytes lib-test/junit-4.7.jar | Bin 0 -> 232354 bytes .../altimeter/Alt15K.java | 0 .../altimeter/AltData.java | 0 .../altimeter/RotationLogger.java | 0 .../altimeter/SerialDownload.java | 0 .../openrocket/communication/BugReporter.java | 58 ++ .../communication/Communication.java | 262 --------- .../communication/Communicator.java | 72 +++ .../communication/ConnectionSource.java | 21 + .../DefaultConnectionSource.java | 21 + .../communication/UpdateInfoRetriever.java | 226 ++++++++ src/net/sf/openrocket/database/Databases.java | 10 + .../openrocket/gui/components/HtmlLabel.java | 38 ++ .../gui/components/ResizeLabel.java | 47 -- .../gui/components/StyledLabel.java | 111 ++++ .../gui/components/UnitSelector.java | 2 +- .../gui/configdialog/FinSetConfig.java | 5 +- .../configdialog/FreeformFinSetConfig.java | 8 +- .../gui/configdialog/ParachuteConfig.java | 9 +- .../gui/configdialog/StreamerConfig.java | 7 +- .../openrocket/gui/dialogs/AboutDialog.java | 12 +- .../gui/dialogs/BugReportDialog.java | 8 +- .../gui/dialogs/ComponentAnalysisDialog.java | 6 +- .../gui/dialogs/CustomMaterialDialog.java | 4 +- .../openrocket/gui/dialogs/LicenseDialog.java | 4 +- .../gui/dialogs/MotorChooserDialog.java | 4 +- .../gui/dialogs/UpdateInfoDialog.java | 73 +++ .../preferences/PreferencesDialog.java | 4 +- .../sf/openrocket/gui/main/BasicFrame.java | 59 +- .../gui/main/ComponentAddButtons.java | 6 +- .../sf/openrocket/gui/main/RocketActions.java | 4 +- .../openrocket/gui/main/SimulationPanel.java | 6 +- src/net/sf/openrocket/gui/plot/PlotPanel.java | 4 +- .../openrocket/util/LimitedInputStream.java | 83 +++ src/net/sf/openrocket/util/Prefs.java | 45 +- src/net/sf/openrocket/utils/MotorCompare.java | 15 +- .../communication/BugReportTest.java | 72 +++ .../communication/CommunicationTest.java | 120 ---- .../communication/ConnectionSourceStub.java | 22 + .../communication/HttpURLConnectionMock.java | 548 ++++++++++++++++++ .../communication/UpdateInfoTest.java | 229 ++++++++ .../rocketcomponent/ComponentCompareTest.java | 3 + 52 files changed, 1774 insertions(+), 500 deletions(-) rename {extra-lib => lib-extra}/RXTXcomm.jar (100%) create mode 100644 lib-test/hamcrest-core-1.1.jar create mode 100644 lib-test/hamcrest-library-1.1.jar create mode 100644 lib-test/jmock-2.5.1.jar create mode 100644 lib-test/jmock-junit4-2.5.1.jar create mode 100644 lib-test/junit-4.7.jar rename {extra-src => src-extra}/altimeter/Alt15K.java (100%) rename {extra-src => src-extra}/altimeter/AltData.java (100%) rename {extra-src => src-extra}/altimeter/RotationLogger.java (100%) rename {extra-src => src-extra}/altimeter/SerialDownload.java (100%) create mode 100644 src/net/sf/openrocket/communication/BugReporter.java delete mode 100644 src/net/sf/openrocket/communication/Communication.java create mode 100644 src/net/sf/openrocket/communication/Communicator.java create mode 100644 src/net/sf/openrocket/communication/ConnectionSource.java create mode 100644 src/net/sf/openrocket/communication/DefaultConnectionSource.java create mode 100644 src/net/sf/openrocket/communication/UpdateInfoRetriever.java create mode 100644 src/net/sf/openrocket/gui/components/HtmlLabel.java delete mode 100644 src/net/sf/openrocket/gui/components/ResizeLabel.java create mode 100644 src/net/sf/openrocket/gui/components/StyledLabel.java create mode 100644 src/net/sf/openrocket/gui/dialogs/UpdateInfoDialog.java create mode 100644 src/net/sf/openrocket/util/LimitedInputStream.java create mode 100644 test/net/sf/openrocket/communication/BugReportTest.java delete mode 100644 test/net/sf/openrocket/communication/CommunicationTest.java create mode 100644 test/net/sf/openrocket/communication/ConnectionSourceStub.java create mode 100644 test/net/sf/openrocket/communication/HttpURLConnectionMock.java create mode 100644 test/net/sf/openrocket/communication/UpdateInfoTest.java diff --git a/.classpath b/.classpath index fc1bd663..fdfb5235 100644 --- a/.classpath +++ b/.classpath @@ -1,13 +1,17 @@ - + - - + + + + + + diff --git a/ChangeLog b/ChangeLog index 45192f7b..99ac81b1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2009-10-04 Sampo Niskanen + + * [BUG] Fixed too high configuration dialogs + +2009-10-03 Sampo Niskanen + + * Added debug information to ant build file compilation + * Implemented update information fetching (client side) + 2009-09-26 Sampo Niskanen * Implemented custom material editing diff --git a/TODO b/TODO index 69092107..9bca110f 100644 --- a/TODO +++ b/TODO @@ -4,7 +4,6 @@ Feature roadmap for OpenRocket 1.0 Must-have: -- Allow editing user-defined materials - Go through thrust curves and correct errors - Add styrofoam and depron materials @@ -12,12 +11,13 @@ Must-have: Bugs: - Simulation plot dialog forces dialog one button row too high (All/None) -- All configuration dialogs too high +- Unit tests fail from ant script Maybe: - Windows executable wrapper (launch4j) +- Inform user about software updates Postponed: @@ -31,18 +31,21 @@ Postponed: - Simulate other branches - Implement setDefaults() method for RocketComponent - BUG: Inner tube cluster rotation, edit with spinner arrows, slider wrong -- Inform user about software updates - Reading thrust curves from external directory - NAR/CNES/etc competition validity checking +- Running from command line +- Print support +- Saving as SVG Refactoring tasks: +- Move startup class to src14 directory, remove reflection - Remove database etc. initialization from class initialization, create separate set of test motors - Extract event rules and data saving from Simulator into listeners - Change SimulationStatus to include methods for obtaining basic - position (maybe even an interface) + position (maybe even change to an interface, implements Cloneable) - Change Motor (immutable) to be a factory of MotorInstance (stateful) @@ -74,4 +77,6 @@ In 0.9.4: - Save file as oldest OpenRocket format possible (for 0.9.4) - Non-exception bug handling - JTree text is cropped unnecessarily +- Allow editing user-defined materials +- [BUG] All configuration dialogs too high diff --git a/build.properties b/build.properties index d74b630a..16dafdf9 100644 --- a/build.properties +++ b/build.properties @@ -10,3 +10,7 @@ build.version=0.9.4pre build.source=default + +# Whether checking for updates is enabled by default. + +build.checkupdates=true diff --git a/build.xml b/build.xml index 97f5a4e4..b77dd04f 100644 --- a/build.xml +++ b/build.xml @@ -33,9 +33,11 @@ + - + + @@ -51,9 +53,9 @@ Compiling main classes - + Compiling startup classes - + @@ -150,7 +152,7 @@ ${criticaltodos} Building unit tests - + Running unit tests diff --git a/extra-lib/RXTXcomm.jar b/lib-extra/RXTXcomm.jar similarity index 100% rename from extra-lib/RXTXcomm.jar rename to lib-extra/RXTXcomm.jar diff --git a/lib-test/hamcrest-core-1.1.jar b/lib-test/hamcrest-core-1.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..5f1d5ce0c3d60472692cda24885c92042a693ac0 GIT binary patch literal 33395 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íK>0FSofW22mD9Rv65WKwY%;O@%t50!DG)4nkbEx2XU%(jPHf#t6W;7 zS%uAG=xZtM=q>iy3alm;^u!jI;4LgjIca}p3g%nReJ8Qhm2jU+dn}Bboo~XBX+xwP zsWJM=UR{e8M`&G%>O%#vucO}kv-;^@b7MgDNmGpDNrGsyhB(f50B_uy1g?>$QU)f` zz*qNnHuJQ@#k@-7=uxu*p}NX+aHn`n{!BXcjlb??L0_@kEtBSMM`9iVv?pJA7Vg+r zDIt$jT~h*^?urv5#x+a4jD&sB#HhRy`cyncs^Z%9WA*5O4d(8Xibq|ty!(u(H-HF;_ zzydf6IXM~rqdc9eqU$^_j>dNuKjMT&31&>?NYqUJjYE_e%_7GjOW0x_2V@1FK9k?( zoE*7Gl0efi>#66SvY9dGR9gRbW=b%?jiTS#U&3Ev{YPWrhk|E?9aj)BVGg@~ z-Lxu|tHD-1Tw9+*;|!#oRVcAzza7ew!(#nFPR%6y?!rqJAa}NMbLR-g9q#3l2lX;c z=zYp%pWS924Su45QP$Qec3(!*iPFc>fALqZ_-JsmSy2i-3RHj?-ryVL~il%VEYjZW${_+brH*KEVC znaQJ4Ol!aqL1yn!U~tx!K&ByCik5T7K8p#gGO-l){-`_qb(* zc34W*k#lC61y0;P$EG^GdwumTRU^!$ReQKJ4ugSKFhe@F3~hT|L0D%{9eec-Fu*+Z zIX5qV(w%I)&8NNES-2m&OJ4n6_B-|-IQ4gv{$~1F+Q5AL)pFtlDc_6atS%AlTEpK2 zz)tYjZi^Pl)l=eI5x;w(GsVT^?v-g>Q`)rptlX{%(Dl?$dA!nec1Qe!^q@oQpj;V6 zz8Zi4qH+VsaL`NWks@X=?vcdef0C)(S& z7AaxvsO7tWKRysIa-ffrcD5-f+aWPK)7 zeSu#6ZNV?UVmbZ$(0WNdY~?TEBkiO;2SyWeunMn!1d+EYn*B?D1>Zcq*$jDW66R`Af~az6aQj zzA>6tJ=W(yo%2yWbq0BKdIxFDqUuUcDGY_b6{|Y}__U`2KbcPFgr<#Kb!v{UIYIqt zXyZq~v?~;Q2Mv0(K&iPCj?|7i*dAx8_gW-hto8OW%DB4HHsEIq&EV47TX9;;@njj18RBai5~L@I ze1`~2KeL2z)}$}5l+O{qY9ZT`tY=FJobQ5e=%4SH5|}T~{Ub7WT#>SxIKVtNr%jaCaP8 zB8e%lSyg&p(nuU^O154o8~xwtioTUBbhtj5ZwufGOiMJXrIA}E;OKNiql#{A3o7z( zK%PQ99#MnE{4^8lWROwcZv^$QF(0enhEwSyDdnIuR(gFDk*HFXc%C#dexbHnd+i7t z<2m};U{SZa2Kv$sso&XR+-8DN�AXD_w45daGL99;F%HDn%FWYPHhFl9dM}^hUT+ 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

aDFp%+4BH=*^Y-v>G~}Wn`;I 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 @_Hgha@QhXHHOV}HykhI0v>slD2r7`>cqHLH z9tP8xsOC+1B3{f4PsfqSOr;(^VTxNW@69I=Tu~ktp?$oK*xX}ve~#6%o!@ZS?mRS+ z9!?tMsn;1m3ng~VDNx_aEiy%1aN8sqlzfs}8(!T%rT!&_*uBT;@%z%pF*DEi(A`J( z*~GqK9KNrlwKEk)16S-6aK)%luJ8Iko~)t3HL8^&y<__#AuO9|=c}&?`f+GQO6FCi zb6IqJ4Rzhxq89i?mIe{~T$q@cs>OfLNchc&dQg1Op;C;q~e zO9PJlQR=wzxJE=g3Q(*EChjB;N_g>Lz z3wg@|)3z}L6>MueDz3%(^>JJFoVu%yR00&hNzBQ+(^u1ieJ}T`1WB`AZMY%+p?^Dv`HA#QkWlO$bn$IyGX7QGubdtYe^HQLO#gJoOGLNi( zYZc^dqhwP2zI;?gd{B^L;dy~6gs>GaH#sj!@f}{{wn@#^c>$cHY+81xns)1LQBn=E zJpRaKpWEjc%Eco#O*dn9(?5`>CbRXeQBVpdN5)iS5)016M?J1zdX}|WC@UA_IgL-q zoPu3j?=eGOnKU)r44QbVbTzz*z~#d`xRk%Sj0ZCf8hM_umX9=OdoS$tFzemS$;stu zrjWN(veb5vQe##5jqym~Z0zxw4`cV(v&*tNN#DJrOJ_>gf0^<6cx~CKkp4b8gU!^k zs#%_BxUcT6Qw5QpFEt;lSgkA`$CL58cQa}=S8K91-}^S*a*@D{RbFBL+BLFAtcuvC zPHb@d~ zFh7f>I9m>Em7hbOO=e9zpbvV#NWw^+OaivQ>|3!WE0O)Z|n%+!rj z{f_5D(n}fX%{KVqAGooP6W9ll);b=yZ*tOx*awr=4NF(}yTA1yS>xQv#5cqvQwxld zDZ{^Ysyo?6MjKaY2y}ur_vFSHs|d0e`7w@H);GLtd0i=D)kUfyCh~D!TRe9T+Amy{&L4(R zuBQ`k^xV3hU@>vy1{ynWFJgA%M3|N6lJ|SWyJ#UR+Q7+Vk!NWx7|-~vzAeAd6-aMk zQ=}?*vpO6h)~S-GPDy0cE3Vl z&5NL<^>sSFVnU(tg09o3>FFMAH#lFT z`a1RAqC|I<&5Q(v5eyx!G1{q966a|0`Q75%xhAYAcu>*|2W+n1QpW7HHe)Uc^-H@n z&R%c*T386<^AGSajIgtI@f0IE{NXRdFg*LI=ZmhGw4`zK~)^B%Wb&q|r* z#rJZTt318~U2aPv667|T=wl48>{L>uCG6C>c*12zslIVXZsV(Njn&!JDHm*$M?2&u zPK}0K=#O@&{R!S&T<6B|TovZLWos^$+LlYh)@k5B0LR82f4oC?p#av=cW)=OSLc^5c;u_F{*Pr+bKx&pI!NP!3kofzDh;QpiV=g1Fl$@AFq`m(GF#E|gdyl8 z&RULJPj{mHWgUi0kN&{w_0*e{>oa5>8=j*ogor-uM==gfBW;(u`pAu*>(3eMJ&Uj+ zcx^D4n7&$)&(=#Q&YmoC@9s6by@rl?3s0)2j|>gXChZet1Za;XISBb zL_<=Mg?ku?Rl|JA%yDiTHvE#F8%%03?xuLlkNRJD4vlg}ELn`53Kq4$2pj(D=I-7* z*=yq)XS*85KYHKoQl5xZ9mMW4#F-2yt*UwD6V&P9a2?;9J|mMq!^2OiVh%qZHzW!o@3?VBCN3OLu?Jg-eaEC) zwK9BQV~)9Y*QSh6oh620TH3qTH)k*BI9s|%vs;W>yil3a0-A7Jj0#EdRe9!{hMnPW zNA94dD^22Au{1a|J@gTjY)G$7QKq~z!umziA~&29-re}R0jDP4)hR}d{4wwTsmM^1 z7dP>TsXr3M#AM7_+a=Gv+@Oicc(;XJw1-ju4b9uV*b4s{r1hRqt0Wp!OnPoeSwE^$ zh(Yne)UtP*RFeq&RadB+L_shQB6bg-{JgSuSEtz97m@b&Ka4kCdNB1!v&+b>=-yJk z(p5*dA(z^msGdb-xuL|4w(0W<)hQ$KYTsmRnO;6*(n{=*u3=_Bh0ne%(3mf_mF1s| zkC3z*GH$hKIWH!Qe<8?XJh#1TLwGg8Fe`sRoJy1HdcSOb8~Igk^f_383}PqR|HQ_k zBdanayK+J^%?AkO1csu`dbZWY2H8d2$*1qyf?KYZ_VGye8Q1w(y_c`hjV!(C!^$@= zzZOARdF|XfQ8{ISmG?1g)da$t8AmLeWrCT6GV0pXZ9B6d^Wc>D?3B@rmHmR-OfthkjRt} zdm#sjU5jy6-xxO!WtbM=R8COUl^E8wi)AT#64>)Kj^vTEvaLGy1G!_6SYyK1k@RC^ z=}8<@!G+LB5_4bvhnvIaIOP&X!!aHRe392PH;a2OBHU@QwKIB-T~TwK5H2)fNGn=C z+QY_vLhrNR=n7jSg!^Lf`SVSm7i=){9d-I6vN15AqnUx823;qdJu1Esl$dAI;NgyF z<(@Httk{Nn;5=!#&%<$&Z`@FlvPs|lwFO&rl4;1WRV4#_Y2^D;kexDiI)qQo_fZ9>hP9goX&o7 z=52QGdPfbW|5W$42Rr9zQruFQY?+j?)6m@l;xg_e+j7W1Bn??b6fk(T50o(*B{P2v z0wQ}Q4EpgL3*vd9{_sZp){WYVbzB~Z7PhX6d8xqpA#90lHID>|J6%!X-sx6~@~2LZ zmZ=qw;5fK_9-(0{mKlIkHE#AC(}-Fac=MU2A&yQ;^8)5X=1VtGT62kyy{wlE80_Zg zG$wuTXco07RSg#VkJwA^j?`g9;i}DRhY2SOm^Po{!7q<#$&-O^Ll&%?)x`{po>uyk zRftny`k!?Vy&H6+E%2H(TZywWr=*o#+HOq0K5ajYwHeDcS!CuFH~;EVbXIPCtJV#& z_RPD-EJ+IKyT52+^3P**5pQ(~e~M--XIWHm)+fy?SgXPm@*>XT?F_%h4zUZmOO2Tp zr7*>@QMhkf`qZMB+ad&!iW8bdr{lq@c8_8eCf=B$#rF_-MfP$M+8@+KTkSFY5BT(%i}#3cUNxXulNw5ilS(U;WL&Q{)ZcOL6eOe|~a& z4~!-MEvhc9p{yXUqsybN@N4C_K$ZVfH5%GM<>dgu!PyG1FGI=&mpJxMh2Kkz{w!f_ z3N>@KaB)4d=Vtk8%+4V!FW`8>On4K2qP1{7CQmX+7gk>_#s za0M59M3Ada3zT35e9})JD!2)t4t2=S{llL}-C$5^+yG(;FgHd3QwZ6!2MSby_MiqG zETmx0Yh65Pc3?`K0}SSv4hgachVCKGftR62QzIa2Xi@sVYe3ZmaKwCM1t(OGs^Fja`C!4|xZOzJxW*rNsN{iz zOe1l=fFsPI$#7_}p$It*Rtk=4ibUJ${XH6$XmB7)B)Lof_vE9dF*q6}l4t^?cRkb% zsAE%t8xM}YhXhs|{|Shy$>6AONM17V42)Xfe`3IaMS??aA)$_@e*;A&6dX1R$wV_l z&HQZ;DX?5{@Es)jgyr9(QHch}i$RhrtWcAW8cg75FG!l2HHd~H&;`m>5F9N7i8QhO zGZIyk!NDMq#4bD3MAV@nz!wSZ8IR=BI{qaWm0YmfHxirV^gArlF%)H=g1t+TNdKFE zMxqi4b{|9%5$>poM-3ye`yZ0#=K-R9f6Mu;Ga&d9f!(B#;6ksz1*2*{*h>bNz8`~UE$#Dh(Rk@UJiRCJIDD9RBAHY7zdcZ2_eiApBea1x2U68d}O zzZP;RWrFSOkW9buzhI)02{tT4BBvvMkNm}i2&GW4DH4*3cki#LsHB2zZ;(*CXp~T} zjRQ)lU|R_!l|1gRsHmiZkMohxx_DI3pNIS4i3C1QMqlX@t_L3hAYmoxAYq4Ks2U009YwO{GEuM&w-FoIT|h&V1^z7pJ8kA! H2Y>w!sRTga literal 0 HcmV?d00001 diff --git a/lib-test/jmock-2.5.1.jar b/lib-test/jmock-2.5.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..4415dfbc94f8515bef4495976bcdb0fa5e6b5981 GIT binary patch literal 241000 zcmd?S2b>hwl`ej&CscP&%?uNWLum3a0T@6a0YYSHBtTf8fGt^SW*TT|n8wqC069vQ zY)j7Bk{so=aFA^U1Cp^Vrgowd?0Hs$1uro6bGw+;h&|dreJkR`~CgH_f~b0w}SaFQ9 zZIQCY;nBj#aDK>oAx=a`@(V}vqiCIxFw}M%k$mBrKaB7)8H~@yg7KR|ZPM z1II^33d5sgytZJh*Aki|-qtOV_sge-NAo8wbS(bEo(JlFxI%<~vm?cKoIF+-7|pY0 z<>doI`EvQYzxv`=P^8cKP*x5&8P~~XCFNu?a+A}*4=;<4M%QV|itA+f(cIunaa#D% z+TgS~?fjU^2h$py>COz-nVEKGWo3%f!JD(Q&Kzehfz0DauECk_Ea25bK3K$$#r#;p zdrSGWlUK|5(Z!E$Lh0dEPuA&mmS<(Hvw}ZYW}QA~6|Yujoi)xSyjq)e);X8*>awh} z-r2ybjalb%XA`fk$U2*yExg*Ab+$R%d9{NdJBi~;*SU(o`(5YitX#_PYqGMQZL%vX z8=c**vnMN?`1{(dY%64a;>+H|UPUm`l+~7JlW~HA$`uXFgtn6|Q zxXw$nvWMR<%gSEoW}>~tbzYv8ea@}?aT`DKBl9q)kn0?FogjZ<*;hO~oF6?tQgCEj?D583;XDooS^w~zr2#b< ztZ}hbqu8(s5Sz?!HuoIqn=}|l>NggLi=&$ysp(vHgCn)uN`oM2gf zddv~y$YOBhfjf5P%cB<98}sFz$A^Ya?E~v69x4_F9dQdM!Cr?>IkKp;-$rEE*>#11 zLh;VR$hM*U@p1w6ts5vEA0BnY>Bn_xxNz+uN0xNzwi(I~A6{|o!Q0V>87Di7L z3d3lT&i)BiFnzQ*yiM0JeKdd4T-N7Dcb5n-ogW%1ohS|;c4VC%Wk>Qy2Sy-3tk|vB zK~z1Q;iegP7eM{?EC)2#g3 zDuZE+m-Ha1TA!CX(w+RaHR!gMN<)SGup(i3a&0yy7GDPNRZ(wsWCE~GjTRK%?g^J& z2EbL3?(m;H#p(dLq5Nt2BIgqP=X&E(74INOw-8mv;`8@)Pc5 zzwk1Eu8MX$Ci}R(yuEZBB8IAM@AzFDlwJnlwVf~JjHC-@$cl=T?q)2Y

yp`oB|TIsS@a|$Z; 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 T`L|HGhX2E^#N8J|U>5!#JIVK2 literal 0 HcmV?d00001 diff --git a/lib-test/jmock-junit4-2.5.1.jar b/lib-test/jmock-junit4-2.5.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..fb3697af4bfae4c900a75d6dec89950f12ed8faf GIT binary patch literal 10247 zcmcgyOHdr=5$=J7h0%Zjp$D=g|H4>WmSq=Yy^*jG0tX3@Vz6RKNt|JKfRUD2GP{c; zD{`#ZvGcO?@FhN_D&>@Yv{N=pqQuH2c9rkB=bBXIluIh9vh(#n&wa7jm1HS)XZ}b3 z-Tn99{dLb=y3iO=i9dIq-E~4Ulp_z&KvB9a?$<(Kx5MA1q<)ziy{KpQ%bard}w z=mjG)c=k4rKaw1JZs_>n!q5{UHdnO7jG4A``P=z|v62^4Ryx_=rnad8Z@0_Dh=8}8 zy_5<@F!yNmKP*0vxW1B0-w2H>r?jJFoM{z|C0j2*tPSSutvTm<(J~8%%ck!9_b-nB zwwZ|kyp!^w13&*wk+^miX(!Z1y?QY#Irq*9We>YEO95SGp5Q!X}w@uy7iJ*v=BY%>$4uj^}iDyv&dDce}g z8tFo6#waZ3G9%7xRzixGvn@TFvWu1lOG(YcX2w~nk^ajHMaFX(L!qtHre(|)R~8I= zUSG(frE5Bu*0Yy&+vIz$o zQL1t*@2b5&w3g)I)Ig{uV15+qsB^iZoi-*--b7VeR+87k9#2^5Y%XtFOOBO9>4Zin zX+)zfq-oSfr!?9_do?;uFu{R#qon+_d#okLY;VMm#CqBh+8-47uYJ+K5U$BEdma zbtzBZ&=3yDiO+lfLk8Xj!z(jCg?7fmHWXNlLfz6%9g7bsb6d#-&+xYfyC9pOPcuJd z)MGIy%_YaMghSHfqQ3R$QH@MubBmEk5u8De=VMeQJ15j_Sa7 zGrSE^FLmNuU?j#-7j4HcU+tislA1=ls0Y2f(b|lbN8phaHfMK@KjF6teMjO0_o*@d zJ}Cpgp~%~Ga3--%&9m`!ik^)0L_VVKp2*-jwY*7Nyg`YF?@1Qgr~@P#@y+pr1$rF! z2O!8W+G1d^AMC`jXae7Zbclu!3=T=g4`bvG+K0bKL17P=6|^5hchX}J?J+6B5nrq$ z)Cbz|f>=Y7V(|Eb7#|j|5o@w4`(-qXAQUAeSWq#e6+QR_ahc=oKVDmS|0>ka|2(z+ zc_|BjZ>V5)P6fa7eDzE#zAmfu6?!&GSGeV?DwO{mCax9@P!sC@{BbVs>F<&QMv_} z&EUeYZ%>*=Hlt8a$T@naT6V!b`XRPEeD;H5_=V!(Cc}FxhXD87R0}IL{eO2zAUXe3 zT)KMyydna(&Y4S=?nIZJ6|(UJ4)^~9_t(54F-M)Kz6*fEunUZ;uu)U_IfTjlqG@2e zs(KCZx`~L{>TdkSMTHKAh4%bm2$r}@!v>=6EQPjJ?dR~`8&Y}ofCEAi-cW@)7ELST zl6Oro5oX4wZ;H+%ys|Fv)< z0iDEbwUCEK#~EoHpo1EX(>aZuTa<2V^gP|!G){m|D}kIEeT(ig(HAs2MW;3THod6P zJ^Bt1Tj1B+O;PC4AaJ?6Iafd)z0)(2!vp z<(PDoexT70=|>v9Mz3r1WBQ3kKc&|dN^St8rjQ7jde(eiV$%uR&e>3jl@p#&i@Bne z5vC>BphcRq190#X{cMw{DzU-h=bzzROrC+KWeQTF>yne8P+Q(8IKa-7Sx6*ymED%c zm?m(ZF@Tc|R`f^Wi2naFsZPhkmAJOX7<1nU?h(wxXVmvk<@*bkoAuRI!^$AV2+weg zawH7nO6(L9qgZDa<_S<&g5KPz3bhn+&UKm7^=O0Fc$GCnZX`gCELbHR>;wzv3>c7Y zWTY!ZWZDz!-^iaa*G{Tc9dmY=`LTSSgBvVj($1~0cp;Wt?|K!+14?tnRl}ABT&BM& z8ZXr!@E9X8PHr0{{&Juv+!hcU!=+`kGjQF(5V9c-{Mh&bMSv0`k#%Zfz}g5bMnG{4 zW_y76b_2^i0;sx2BD5XOY>Cq_0C;eal2|Q;Yesoa%Mh-HaUH?$KA=ZNcu(LCWd*b_ zA7??C`DlMY%~#?B3|;S2%e!(UukQe65n8j|U$dQ#(lO9!V4v*L8^aybYmE=AQ|mgZ z4)$hJs_ZyMEf~%v6GwzrpIj^Fk029aAMBEQh&x8<*H|;4xaE(e%_Kgi{s+`{td6Sn6xOFxQ}27N&)xl)LAD!#t*ZH9kGC zje34XCm_-8nZ$>qjYlKfBYS^IBC$Pk=w#D2(t4WK>5+BX^CmU-G`;(BM0xwOzhLy< z>9;@o=mG8XWq*`KS|=d|-v1EP9lO~_QCyz~cE13$KMmWMfhAmkoae#y(^8I6a3hd4 zOvv1$9riX!PeG1Ogo`iH6exAWhR@?Fg4WZR%@zj!rLB>)HQq$0k8REA8^Uk7)lGM_ zfP-0#VXHeSXTiGI`jx;$9BbPiGLL4u2u<^+nJ!6Ok&}KH!pZ~v~wUJkTn-laG!wQD3Qs?KX2<+KC2fP z1GG%d&dra_j-y@^t~hKo2{P?Pke-l5vH(wnsUmI#4Ct$7s`g+cB{C1@)SNvpTSgS$ zEw~$n#jt&9aTr|u*VM31jgH;5qP1N*84cUphN42d%*P!sD(hL2S{uF_s6DWnko z!ZL1#X2zUx3C^CFo)j+DAD+iDma@Pt{Bd_{EoXAt!%qxi4nUOJb<6bqzM`B-!q<1z z3UmVdP^11IlEo)w->%Ziy>h>BP9;~oZ5}(p#(6~e*Es|3fe&RLa`$Ray;~t1o?N7t zMXa_EM!9Z1HvFtWI1g7~OGc8nrSvIC%ry>gn)mBkwtrrHa-;5fcAmw6DnEW=!cIUj zGJgJEi*$vMyr#J*VveJ53GY8Gvv+aeK*@s1ptc=z1go$vPXzw`f*Zk8D>s8%t1>T- zyf7+lp_E2&ch@_SK1t8-Nb9f3b(QlFGFaDjTwE+Mv!p{UY=yo<2rciq0oQ0fKLlc- zMZ?Bcs5mTTQ(+r1x2fM{O?p)}7Rh0m>9Gm8n9)hO2MvEf#Q zdaG{PfG42O5@+eLelZ|={nAly8Hd3JG9#`BbXg8IKN#hm-m0!iR2<#9lGQFvRSH>4 zzy#JU=hcl2cw|&SxO75aMc{Eg!sm~5h~FZJlxcPuUT7E*X@P_8SeTPAaMNj#W+Mse z29+U167@Jmo%W!v65;=Y>`X9(p%zzFQ`pHzG;TGz7jXYdh3)0OLu=D(64{c?}lC&Ir754j*h-_=_x#<;RiJ`{{-T5 zUk3>x=#=*=L`ho58Pewi-gO`_AD|@CnIe#u^cppMfZcDySnRoUEETVN5YZZ@i%wF)GSs@ z>ZF$kmTaQZ(A~(7Ijg_EBs-8||9yqrD@nCi;+K+~53ke-`>k%f;kC=T<(HHK8c4Kj z(C}YbDrKkqr6rHpTlZe9M@ps*-YZPyES5hD4(Q%P?p<9>?})NVI^L|DYIy}Gpt>Iq z>^G(ww*E@$)iU>h`l~zZQI|ZkI|;K~%{v7||JhrQXbH;>@g`Z>+Cp3CFp8jm=wovK E0o}N=^8f$< literal 0 HcmV?d00001 diff --git a/lib-test/junit-4.7.jar b/lib-test/junit-4.7.jar new file mode 100644 index 0000000000000000000000000000000000000000..700ad6952c76177568f705f2666ea994da565ba4 GIT binary patch literal 232354 zcmbTd1ym*3k~NGJ4u!kBySuv=?k*R1mx99Gy>Ktw-QC@xaCf(YpPruA^SZx&J+uD1 z$h&fJBQoRU*%7f%oJa*}&`;1nzkMKUUbz12_PQ3Ji?11Ul1w z*dwh?yG{EK6M%rg|6(ophY1$WHUKC3f0_CJ${_wBW8&syV&e#~wQ>9hafCm_O&tuZ zOfPWKpx7%R*xX>S;PakKt4rc!*@!PZivWk%NijzmNZ~qDX%gHL`Uu`G-rR{Z$@d<7DDsV_@|UI=^A*H*@~Cxj_Gu zoQa#Ai37me#K!4Q7ys)dWB+F*YXi4`v+A#k`2Sh)`2ruv_h3I6k) zoy<*a9RMc(q)qvM(EgiA`Rnkh{tuUNbhfjz0+=}byE%Ua5b~d{^EWsCs{+p7D;PQh ztc?HpR{ufM+Q7-k{QsAxgNeQKhkN|f@cs<1KZf_aKmU^=;olGQUy9bY#wP#dGi3j) z?&xITWb&JD{F4cPo|^x|WBM(+{g0zMI9vS*h<}~P-$LiVOaCts4)5>8tqp7dcFtA? zP9JgiAAI$1b!}{&0Hy$=zv}+g%zs6=-=ojJp8tQ&2pE53rz8EJ=L-_(x1j9!i7=fI z6bNV!3%MJwY+LAm_;|+B)qgU%Jj(GdYX?H`UxI{4~TzhJDQ=aRt>?s|-#3##m&C_o)B<_9ZEwn5F! z<9qTV=L(o5wx-N0`y9Vy*vClf)hYJ)TWGoK}Y&X zZ*tI#v8;=nXj6Qdm%2#V4Y*NNl_%Q4qr~EJ{(}legPJZ&WMuxQ zvNGQ<)cG*->?s-sP!NM0?O_hh1*w2Fk&@Uae4#1Akc_r;DhaXi=n3RMcXynMUY|=n~J*n@fH^c)eILOa-2jYYqnrNj8 zA|zJsrY`&AgA);5y*b^ z-R@X!p*M66^t-_f9v84BzEldTDG~!E@^b^)bLnGJR*b1`)prWn@jJVNBH-2N;MF%? z32sUyn}a3E5`jMZh>ir84Xqe_oo&8}wT?vD_(4XL3fOLbUf*>yM$8X0pXbUx_r#uL zHN_T9G=EXsgAwTR!u-U%XwDh0uFvJ2PB{;kT@jAF@?+58^;Fd5S$u}*?zs#o?4b3C?Jx`L9P zICb^(LewK`-I+3&a33D&8=JQg| zj%6yhyD3~FQ|0Os!QxZ!MghBxZ8)g^YnT``THLboKPiOEzj&8=p-&Q@IlaQocCTqco|mheLje zqffjQt~?4ZVA~SgrPM&fpjLiZJFqF)dTuR{>V@mAA;VE{24sE`o8W-lm7DEY;m^rD zbJ0x+RXP21&is^%`Kml~i^`s`CrSio@IMx`Q!xLiAX+77soV zY?eKDz{)_F6z6m_TteU{i6qN?Af2H0uEheq#AeXp!e zJr5De}%r1Nr*ZWa|Y1v&gV zfX2uHoY3_YmDv15N1JRW5v_$UHQ#x@cnCYGM19|oT)IZ69K% z!2E<^f-^Yb3#5h80R!;La=sSG42AxRu~MH5>|25&7uO9pcxFlj_@WJNk4+wYI!hsA zfIHC|+fe^b3Yr5ryZtCh93u{t$AbYH>A?P7D^~3=N21l0nyEubPS%#4qtDYz<#9Lg z_aF(zutvjUs0E~^-dUzebobgWu{F}Qc2)mm4A$UiSa&uwmi}g*9PQjs2Bi-H86`!P za94J&KB$LTHw;PK`*-;cP+o=$?p_8fWAAyxSnq$V<$uo#V1>p!H6TDh%O5LV;=gn3 zFD7;-A3WIjx4iJXS9>ez$Ri7)@XjVR%oP-XX==jIgshaK7N{+rvls(_@JeX)cSWA8S^)M(8#O#J8 zOb?BSl1I^x&?Ul-)I=N~&nS~a(|!bLYIr!HgE=N;OBd#O&5zyv3lfikV)eu$p8H2z zKWlfFDn`#uOG&tBkakYXNu1V3Lp_2on#)sT zV$JadVM}RyE39u{k~QOtNM(mDz`Wgt7+h)``x)GXnUhX~R(A{Cs?~OA1#k2*;#vdg zKuEY>3hGVvE5Cnu_a&yzl6x^rq5q0Njc$$s_X zV(mQ2KnJbg4heL1;yye|j zkZ||{wEF&V5a1mZBbZ^>M=q)T94eb+80wx+An>FZT^bAh?PqDkzZVL*_Rew;MHd6V?~h z!||Y?69_6cZvwkf^qqR_1yGdIM7j_Y1%8PVZLPkf^DVTMwQMUB_Q6`} z!HTC#7?~H@8<|e{?lgd$vUkBeP1NA{JJfrIZ&*Ks{K5lf1Ulh7JjP1vG&r?OY#f>}A1}RtuO{jc_y(5^&RZa@>>5-IgUi6h!9I`HB;gb`^ zki|%Ae=|S!y=_m$mu+j4+Sv~%YIdewu3F)F;g}HVf*0QF_bu`yO8txji?dYB*%T-X zL0gB*QVrOS{kD3@V5Mh`^s9NVU5^Y3J^x3uR00=Sa~&i9%<5GF1f|Q7hq}I#(vT}< zs7;)pCB!1d0wuRdC|;L~uYdD5d(^42mkn19D&D` zWBQr3cHc)FU>E8DuTqBT$4suYCNwUsaVVi&3e1Ta+0cQB*}`-&_M@S)|xUz)jZeNn)LMO zpgKqneu3$oH*^zsc76x`GoS|D1k`swn6=FZK_dE3fKoDXa<=;yrw;sL{SiVDd>Uxm z9Wt#cuL40~ET$a@An@S^=tDv!ReDw*&Z>JBj4GGcLEn->^|v8>zw(c8c#^VAt6wlN zdooXs@h~^?`+C0v>my^&URLeS8R4_?Tul!s6>-VYdb;gzH3!pu^PQNDLL-x>?G>_( zp$6>8r)7nP%lJmY2UL5CI)&$0$QK-0Mc8l8K${pB$^fsSv*B~CQAu0KT9ZVxejC3GuFm|CS|7mF$4^%FLW zKYZp+4#m(!zpColgmX3(6?&m?#fA6fA9W_$kXkJCNpI!bJjggaD<&C_P$s_!5%nd2wF4`#a6(@<;Ybu*XZP;gBR`QvQp*O?0DL<~LlbB`$ zANgmy`GEczBX*ZA1IHg2f%^zL1pkPU-vdtIm)}=iJ54T(WTe)VEct;xKu-c9?RHSd z1z=E=1R~N1gXOJY=!@9pi*>%?FcJh;ppS|n8iP`?5;MG~6BBLjH>NJW?@w1SU7xvt zdCH#D;Wzb(yT}^6tX|v%E;IW9RxVIK#@_%FrVk?F%;w_yxS98`ov z4=A@bj8$w+lE{gzGwDu8J&osfvd&ovqq?p6qm*fk#vJ#nN7xxL|FAJkHH zDCu%Hl$Nw1juka@4Q{$J0I7A#%_`cOvt~eoI2eeQGy$zeFgZU4d_@Q*kS>6(T1tII zC_avE3a+CrYeim%ul{FC#>UG&fJ9b|ob!&;=fwN{q4k0G#%ZgQz8zX0dt-ho{DoyL zBHGS@pL|f6Cp!lkf3E|gdCw@rOS@OtO`*RR%iT|-aga5mFS*G{svjAPZCkR!OQT8w%qI%@>nVLc4#X9oL|sX5Mu!0?vX8#5sYCv8LT7kXX7}{ zhfk0F~QkOuOyKcvzcdq`#u@`^Yc;Th`M@VzrygD4yU9s>~Fm{ z&v6^y=ag#K?Ww;@jGtp1Xv~8V$4{H}v!H8GT*{}G90epYC_yLKr?F9p%`dGe@}?Rj zVe-Z*Pi-`nK4;oGSYrNW*qXqxdCDwWq@3HOiM z+>_D;DYAlzK5Htgwp!jbzzh{>k`ARPPGgHpl6w_gJ~Y9P6btlDI5Rf+9=yJp&45j^ zoUL`FQ5)rmH6>n*kGVaM)_$?vI-4ZnW2?QvgKJj zv!N#Oa=vFYYPn%O*)OaH7=3aZDE&`)z#`S$UwN0xv)5l-vUhMu zHH|#fxU37^DIz^kE5Yp8@4@Y`?@J$J{Z$_hfgKHED{>-udD7Y34t?+hhNG{LQ7a)X z!F@{gRs47jO^*f)M;)!)V`wL9mnRQvs8dAa3vH_B)2*Ca{ab{7R;8xxRluw{OY~2I zK7#oSCk`XEzU3vQ9ICB}Qr8tuu`(1D9XT)rG}_v~TMge{aWc~u`li3^qn6R#_J2uY zw2XdbeW3eP6(R$KMlQ~2s38|+hmu^S25j!xieAZ|E+JPtWP7Q#vO^2}`nj_RaLukM zJyNI1WJq1^w9?ek9z574Ji5N>ATn9CevkL%5N;E1OrR_R|v6 zK1^bF&Y9WVlY~>t&fv#8%22K@dz;i8 zHJKD&@ia@*B@2_$tjNLk(V$(jHZ7|AGYG8vUJ%elu&bk`sQY#=lH)H(EC;?M+L?X! zacy&%HEu-f*F`l%DDW0a>c8jCR1O{1qQ4d~lAp*mjcC&l%SM&*)a>T zJ4f&df;{-_jy71LOlZePVGj<#*?CEjg{_-7+vi0I_6%RUh0+O`;p6-!f4Gvq6En9r zZ?*#NPy#qDHPP;Nr{2R$f5T|L7MLc1i^7IuSr16b_bW_~xooKgJyS0oNu=d0a~?39WP( z76Bcr-ta+BjUS+z)Np~!EcYttaWoDy1F5B z%JtbMkjioPQA%2QAVI9x*dkqlq1%rT%0X?5wsf!2LwMi^u4&rF^4li2;mmAH4?(Af zZ!q7kQ@>=o2S@F;nrtuwo@DFWN_uR{`4Q&vc}r;MOK1;fEyliQQ?uzmYyw6#^ zEwxKr4H4E`%ySO7q-J)%s;o|S8?a9s;>6n@IjE_qQ1AtxrpwHi3g=K5wW)P}WIvqh zTmw7JK`m0&Y_Uenxke`#V8mK$HJyn`LGJV3T@(nRquWqPi*Bi^BF$6fYDNMVbQ}&N z*n{AG{KW!S5-^eNRi3YZKB`&^OIr$9mENz-`zbJ4I54WK{5(#R7(I${t78i5vTHQ8 z6V`n+^DReP5LjIv*t`(Pio&5|68OZi>lx?3v)~4rkK~r`mH*FdyfVa6P40t@(|wcy ze%qw~dzSUFUn*t*ure_gb#VAsAs|vgM;hd#_@$;6DLYOhdqx?;@QuWSC7>$6umocC zL6IC=%hkZ8(ML^Q2>#bsA7v*qoiIK;tQ1GH^9;`kgN+S6U0@u8)u6yqzj7Q4&N-+8 z0SnT#oH@Vi_SJA^5FI3F-k&f+TYOR762kXPnD zNgQJ{Iy5V}yfThLqaAq8)b)6xBHU+a^bwtL)9zmnFT$VAel-ff$)-=BCO^=8X%Q}F z`JU>AVy)&jdrvSolI{{=X+!r-K*lIt?~_08B{6T3w+YXQF91KSgvY83%N)VwJw8O? z#o>j7ME+-uZnUWbj)Uqc!T8T{ya%1g7BfZ(?#rxYMOcz+$500QCIoM6K_*EGus#tES4uPa*OtM;;eW4V! z97C>%R<8}Ci;OTZui-T!N4>x+*46WyKnNMU(ns*9|O!rWmd}4Mx28Ur3Ln25VQ3b>x`unxr#O^&|J21Cg@+Hi%e~)I5w}F z1LxYoz+#D-x%OM)S$~k4iTcG6K5WlDr=_~eNTE^{Ud#1TFtgjHi&}nf*3P47+6+*s z&p3fb3LWzycwrR|hXy&)^kZ-~DKF(*Ev8Ao_pjDwYfjMIprFTU=&w-*&p`cAv1#Q} zFPJ(I)}Y9kwRlQybfjq#seMvkx_K=(zCUtPz85h5UCKX5O=6=xds90XuFnMyPG!tv zog$UUujw?6!lHel>c$vy#k5_qFnc;zg%+Vus{ELBENippmudZ!;e89nm4FBIc;Inp zFo#($qt>^3k`*Cq=X)V1%!Z?uxuVQ4I)p+9=(&uq{MPoB(RD{h6h%`E0Y9+hb|Qjm zIdZme;wAHi8CX#iXD%_hWf+&Ee2EH>^WW_gT47*NC0es-%-YBO{iE>V{9#|*(1EL&V!vb#GUvf|0rl{^B= zO)s8cc$4)W4%%mY^^YfcvJ2Q%YTd;c{?=+7=>ur|B!5CW;dsqMe+OkBbTonBl-o;^ zD2bn4EA9&;8g1KCM9#joD9(oHMr%VFdY}8v9Nk@PI@Csl;+^mrld$}JV~}D1sM}k_ z9i>}`;1gfBw@gM>9lE`w>079AN9w}Qu6Mk3r%xNgq&T=giMhr!RojIx*=GU|*~@CL zX}Qc&pb(h3GjI%oakB>zk?i2}qE{RfG^gZ&b`o5^>Mm64e4XX~I{PTXa!rJK0Fs$a zL8p(;FADYOYT=(XF_Wcm(b?~p(h&G9f|;o;kd7-auxkdbMG`w4ak(c4v*GP)-Zl9A zlyH#oEQU3fhV)*UQhdSOBFH|1Zm!7Hxu2YAHIjSwg5)~t++c}zq9`mffnHS5 z*H?|ANmt(~V1^FgWJQ|t=$?UaFQ&M=V|FTI5m2b3>(uERV8@ zvaRs#FO~3=1=fk*QlRojQHuN@1MY8m(AmM{_u5qC7i(LjkLo4b=L+pgA&Ts~`b5nw zbI*pK5d#4P^H^c{Vfj854TJt_TNTT#O1?>CX$FT`Vg&HU)*APK-hZra>C-k!S)!e0#rr&3&UuGP6h7{o9 z=D=d##El14iB+fZup?W*Q+$8&?VZ2UAji%u`9Hx|D z<5Q-dCqrnl$DPoanqe;&b`Sy|%Mc{t6Zq^-^gZHhzl0oq?0^GHm!weq{Ur@zVJey0 z8xc9#?u+AaHQ@SO+ksK2{2lzyIo{@u0?*^4X&B<85AN?EC#CYyOU&}y4ve6&f!#;j z>+g_DR0U{#WOyG4B(gq4VAQ^K3sew{`r>j08qpGpT+}&>MM78xEYs~Vk^TyopAWLF zl`hrg_a)V5!F<1_itwL7pB+~^9wrckkRX3CxN<&ZJd{1GJ)LCf`GQtqs^vA|!;4fy zd!YPaR326lg6&nrz(DLRUWyVm*bdO=qg0h7WTb0IT8auUrwvjjJ+`MB=|=p99T`$m)b$If}3+CE!E2zq!Q}U9|3vh+Ib6;=0HzI4-*3#rxv0SK| znv;ddkdXCXKvyU8CyF?ssB^E#gt@ZofnS`+g?@woqS7O$mFXnr3dg0iu{1Xti}|Ih zlmXZOCT6QJJ`<(VZdbGWdYJ=NL=3JZ0NMgO-79Z4Gd1ENwSprW6@fbpq#-zZaK3VgO6r1XEx@RdXSOi;$FPP%8YfOdDtiWXRSn9E*C0ltJa&6t(iuiC zG#9p6GDQi01_pEdCumHW41Xp^o%^2QuXjvEEoR{>Wi0Du8>|JlcxI+No?VVImde`s zYcWsC?wsTK9E0CIyVNZs5P|C4G(5yAc&EZwefEX`^iSbBiDSa=Y2wQm0?mTvbC zEZyD{tTY6rtDqqE>547dw(=a%3-iNnT&#_LFgVX@`Ch@bk}V<+);99b8-oy3d~=tG ze5zNWLGo9rL6cWt7c*9pvzG<>Z2^@i%JPiQoQs#N9g0`wL8BN7SKos!uD*p)(*(xx z`q?QB^D{X0NHD;Khv^7495s_HUih6z7xkHC44)9bH(9%6_-HjG3lB8eXfDU)J~!V9 zB?VZ)5VxF~*5Hoc5gHB}BhpcNtw$&UFw36<4*A4oZO7z1K>@SO_t@Gu{tamEEnz(I zd@)UHEDqPaI;v&XCVF$vm{B2Hp$n8Pd@op6&(@PTjQx@h3oiV@$<-l(Nh0!(lDSav zE9Tn+L~34QE{NO3=g`*M&I(l}#`3go#yzbM_&7WR_cX158M}2GZq_aF9IY6fUZiN3 z3iIThLu9|#9wK8l1!nUOPFp!2r3%{o>qT=J*O$oJ%rXL(?HE$_+14sw#Qx}nqjNlY zcNX?sczD;B3&COV$>Q-MR~(ege;MC`m3U`CQ=_TjH;$zon*XlVgxGjW5 zt_?P0XNzDSjHusCDpcg1QnBwX^)XVxClUCAzZHWz^AR^}k_l9-IC=?`TiB15UX{jA$1T!dUf$)r-rA1log!6851>~f8d%QP@FFJXk3aI@)O1h?wJe|*QrT7YnF@;hJIRkEDF;C zebUt=-&Q2veF{u7!W3anab<1+V3BH$v<}4ph3jn}BgNgs~`Nc#PyXkxoSi{V-W_ShpQL#7dd{;^&@SVX= zyw#sVg`K`{1~%yz6sr?d&h=~Q@o=c3Gg>QGm#SR|dQBDI(ZTiW>lw9X);A6ul1}QX z;+kdowXoL~9)ap_%-W}dID|`z6~Y-8+pe&KpuN|AYWtw@2yS-Zo2~ZIw zoW53Hnjt4Y7}M@Y3ZwfQ#`OQBFJXg^zWIM``$j5TD$NR@@UA9-3)P{b?B@8RnZqC< zh~)4DqB&7b09|_nlGrei$RxWv_h9ER`F|r#QLeKfsL*G@r#t(Zjvp;EuJ5nE?y$R9 z8o08FNQ3Lbmxk$*6{eFO zLWy_KP>T^{korblzsu93K$GWd7m>8u2Bn>4R%_wfVgw>43n)fibb~Aw+5?YZl2iB< zN#PO3cRmfrwYm{H`@(qlLE2-LHm#((mb1tG9F5J6qa}}VW=J*8wt&d`kla$^PV~M| z77yrsid%t9rlZ7wZiY1hUtu?}MOX$ut0H@AeK#NeY?m&btkw<`1=sI2S_qsZ@7GT(wAu(s6|Vy3G?Na04+r>nwP!SGqi zjD&^JIN{QV6piXNk%H!aHLp>wy3gK#{n9^7$~i`B41ZQJ#1zv)&RatX?8J?cW;$^p zUSu`DDICd9s{;=7DG>{VA~#_b*F44v3Pw2=^WF-MgWG+h_fGI+;t6UtwVuD+?8}a| z&@uFsyy4pMBwgf;ca6n)xtPEa=4Ov5JK;*$86M!AV9AH0ORb7LCVW2sDpmPeo~>!k z5b`?qlh9Susp3~t3-ub2!|)wMUJRYOG;v6SG^3*{n5x@8FrlL?$oCipr&$bAaeb(0 zz?{D`to$X)b^nntzq@1_y$DinGrPCkrvv>RR1qrkJW5SJ2iYQU8|K4qD}iODzGy5CDNeFtUVP`CB0 zWBDUQzT$P8>thSY$x)^r;zBb#{$(-ICW4~p_))zHf&~Ji`9HhHzv!KY5{eoIZ!)I2 zxuyt0jOcU-7wooq?f@hsV>Vk;0~v#*B-#3m@43$NE3S>HNEU_))Obz(p07-b;e?>^WG>wc z@tDYqu}lm7HelG_BL#Qr^&0zsn6UxoL&`EM~V#t ze1)>DYS@<~sQlF5Wd^E$_2pBW&5zf4@=m*^-s}*M+)T<1aq2beFmaZ1eUjp`KF>f5 z>C+Sk%hfr8!dlv}<+fm8=B`*nqJd|wBpFudok2la%Z07Whg48Ke?|8$$CU}^kWKO z@30~#3yHE!3&QOV;&(tuffDHqJv5<}hhKV8ba-UzW?WfH5 zuK5^uJ)|(0w`@@7ZouJpmp^AuLT8c@yulJ`qpzL~U~U8nf*prB{Rsl@_k|o?an%Tz zsaNT&k#$%c-@Ar$qdsWCH8IQndn`dS)y;$D;{NvQTCZ0`dHfko2CJEQp4C#O1IfC= zS&xy>TAvlbj482Qq5Vf4orJB2z=X5SxtUSzz8%*N*}S`!__F#V7w+^qO&yWV7J?y~ zwi}w6PnFtVW3uuStj|ljfk4rt|ShGcs5yLH*sA!{1_P$Z{pEMgYJY>F>t7Ik_`LiOcRarLGB> zWFfBJN|dYORe(iJYDV0IvZ1+`80oLiw5X}0mr~!UsAjzRt~E!Rwk4OTQ+NcXzHO))9J+O^ncMs*YZAdxIN)E zH5+B7?#9YdF=?gpP0Wy&wpCa+U&EM#=W@9^g;-JV(7ay$kkpzUmn-L}&G~SS@)jte#p1#c;c}IQ3ls5$p2P{mn?- zr&`dA+CDogyGYbvYiu*9`!)@VD0;y)I1%_-S|~K?>4^nsFgp?j`n-|pG6$t9P!V6j zX@8&DvYB#&(Xg1r4AF!nzl8=-5t}@k3BH!>)$J?=L|d5saEj(!hym{ey4~zKA^z0k z&{p8p!y53`YIIK!^ZJ}=8Wvs;=t0m2a)%0EF_Nk&;Zc)D1KM63OD&g@;&k)>UG%QUC4vLF3u!q1{V@%4)(~ENEz@+ZLcW)Vo!kdkM z;+uo+jhdUndish^uR8;@MAdRE_#;nz5N1zh&(ERt&fovip7g3#d?N6{YrH=yL4UU) z@;|&r*uc?5%)rRN_+P~!C7q9A5DIUt7mbygW^8W1CR#bFxk)+WmEdeLRcMg;3{hxw zFViN`X`I1g^!x5NvK6wl!&d$gH&+eHnJ;h#DV_&wj+4C1udjD^++TH0EhKh4uqfB2 z%$MivkhQ363KSM%1Vlwu`WwPljDs zHQ?Yq_#!O)-EeONSyPfnxZ11K`YR8Dk?&?;FNsN$nL0nbq_s!S%c#<~-Pc}~v#GlR z(qos+-W83T1%E#$V};qA9seje6qOXN>!vXU4$OzIrgg#FSKQJfzb@E^)q07!j831d zd*l2)bB&rNHruD23kxDI{Q z(iii*hCNi(3>Tc1`LQ?4t_{c$f#-t*!%7mUq_GQoLxy@bt&&MaU70`9&e1FPfK^?8 z1KC3sg{BKC#wh37R!%OYkXH2ZA0XZRYS$=L6v1cg-RI68;ir5DSxwx>FNYa#z=zFr zge=q7X9s4f_)AW?vX6gEW#5b{5nuwWmN&xt1?TuBsBhHj8sj*cGpNU(a>1VVR0^JQ zn~4}T^w^Bzh8V>xfTU0;0zu^&?$7+1X)Jm@<%2wQejJ2)BPy3N*RFKmH&9VvAdG>sw@~X6#z5~o0@h=^VY`{8;~Re!K$z+e@Q=-KP6(Fuz5KKd7A}iVDh`4O4t3%Q)J- zHxj7~6V$h|nh*gHtc*`2epQxcGm>0@LL*oBY)HDY5u__gZ~O9|FH+qz0+LXC>Y4?% z&%QLBtLuQE;ZGyM9VeVWIUl?ZGFN@yUT(aBCO2EcP`G|n!|Fiamllf@jSTZGJB=Rs zaB>l(f2-ll-?Re}-@Pmj3v?6h{z2t*OEE-wsG|67;uGxh1L+j~3oxZsDMnumG|V8< z5Ovj_mwLA)6%=1&$i-=6JxjgFq) zWQq<_p57usRMN-Vj;zs&Wmr#QNE|K-iV2BsYh=)9q}erS{*o9W}T-v;L#1V z0nehQWZ}{vkjx%TO+c+;jyPdfEatX?!;MKrvY%*;yvWH8F9)`kJ zMQ@?e$m`pe=9ES1XQ@(s7s?E_7kUbePS%a{SnIfzBivwH&-oV5Bb+SPxI%7jpgL{P z0*><%0NXbpz$Z`XXR%{EfpIUBK689uU5ytaU8K4s$u>SCKOIJHlN zIe1tbk&z4-#V1Gnk}d7}3|Fb%Q6bSWUK8Q7zLGYIS)oOvEXxj}#Am+)`^gg}qBW>7 zdDumYfY1ox6T#Lpa3}~fDdi5cRF0Zp59Rri#91AT+{BW>NLlJf1<0YKJO^qV3oEve zAGtQy05@~K3NPLGrZDLHmmi{R8Z0nl6useHxkCxQ5OJKmS&i++(XnIbG}66*jOk0X z4O1U{DlX~pg4S~}unTiHbhA`?`AsQ(IRHTes?3i?JB%s;HjSb!oC)TvkX0oohCl#72P4Qg;}s5?W=TVkC(vXrM@@cZW_n zk&nk}H*{XRf+R`{nmHt_ns2?%_>#QKv^gPjrQI|Oz)?ex91H7;2|2rtTc|`czhD;= zl{%J4=+MN+%I6Y165#lXq*OauSJvQFRCEy3g2OA`#2MY!+@!rQ^)s$6V*VOTS}@yB zFR%>4%Yxi-?7GW^(=5G-Zs|v)D*;x&d~wsb1{jl7(d9hYJzq8rKq z7>pW|LgR^B%}5Ul?wg+t8>Mc8!)}qM0Sn^K^g%__SmKD2Y=z>Ai5)5qc<}ZphYwe| zH|B(@IM8hRc^CXJRv|5%BIQ!Zs_q#0^LpO#nnmGNrMXMWqUw{e&CsEw3wCG+y6Hnm zG~JbHSstK2R%d+)HWJ$X2JQ>3s*)lWOkF=wuLNNvm+tr1jKj}#5@-6@rPKZ3S#grd z6-0$uq8GzW3UWL;1gRME0UOpFyn_`_J;V@a3_jDCm{8mSajrnH4G2+tdU1wx)F4FP zBzj+-6(&mh8`==ZagGz7r>DQ0hy?G*-DK+;ex455JwTvqnC{Kg_iIoH^65Ny(aP2B z=|mW7XjduDuZR@e*cnB7ua1u(zmDZq)wqa{3a*vtRz^KxJ8tRAUT0XsPVDu0v6L8U zcD@ie>Za}SE3+UN#*Zla7cS4YzYtW0F?%M(kM}D$ApV{h{FZe7yh*8|r8KL6@Fu5~ z#wIpWpZk>v{S2%)I~RmVw@a&uLIwP%5NE%>bqWir*{d|)VMGFEs{MePZ^DiZ5^>Vd zqr=3}dE?LX#?}CQ{!SlI20v$1-V~{ASer|GrEXeOMj6T!Rm4FQd}gSzYj3T7obyY| zOh(tI6g4|}(J;{SALfIgiRx$=O+)*^(0G(?Wt*X0CD*wIs=KO+3pjpt9ZHpHayeGm zwtJZ-os?DHV%g=|Ue;Qk^MMbf%_k|UD%n~;889k_1e=U6m$a)L5#q^D$e(gUrVo zDFS{I2rAl>j&Q_HWd?AfaP$JdR}fq=Ww- zUEjc@Ta+x@ecHBd+dggEK5g5!ZQJH)+qP}n?$>u_-kX?-cO$<22Wsv0?W)YI%uD#X z;iye*^-V7B8LA;H!RB9Y6$5UZbTc(D z0z#)Uhp_neuUaITB;ZrM37eKA8Wu*m-d8@>}9d)6lL`Cywn$zq1}{96mEKl#S-rIx&rX z2O6|{4u*}(Pqca?SYx{bJ5d{Bnc-ObjdpmdgZoaUo^A-RFQlIP4Wnx6j>KFg&So}M z02TkFz_FiLnKh(@Zy6X%V@)7mF9RGT^@by5tAn_o%Lo(i7M9#)}uyB+tng6zY@ z{FNTj_Vr(G0*#jCPxC*`pURJlj_`kJ0;S9xe(aw9FNNzQ+b+}p8$J_;)OkX%FftL& zmz2yLE!1BrnLKn(_X5OnBCFA5=v$;0>_$G6OB5U;j>cJ~AZ>MXy5<=UV3}RkE`2XD z_Oz`FsZKymJK4$xvj$hV`|i)7u+_?IzU5q~!0x z4^wco?wrkQjp~oY->LX2@$k{Hfqu4;r=b+}2qp*tjBsB52{!*ZyUfqHeDwa5L-0S= z!2Z3u@jri23jc6D`oDaDm%_RX76Uww%$%iKlO=hhbU)4Sqw(H3yX5rRlv1*BBs> z=vjU^|7zPbS}BKhz|J&3Oe9cMHSzDY0#?8#-b|j6-hza1o0sE-lWm2actx1NFoXVM z+a*rn$a5f144#IQpIgtbf7yxG)e;FrLIjnAUMX3nzpF@BuUyd2DeJff+z|D%E4lWfH3B4dG%A*{~C-c z`b?2Ue!fp=KdwFa|I3~D=L_)9(I`vxTou~|!`s+JFWKl91w1+N%-meds?jR^{2Hi$ zP&|3i3_3l{%b<^7j8E`e z2UGt=kov)ct?RLi*Vb|8)CJ$y{c$${`tUWPSf5f|`fp%kEMC9((E3nG!faH%vRWk5 zfca=hTCx^lH*;97#*+{H*`3A_Zg?1h<{3R}YS-B%Gx5`$5E*)jO7Ud$lJ6Ct9 z0j0#$_&B18srPbl?=}9)R+qm?&%^#pph(HF9z;@?r8==HVwI%d*|Q~#VoL>zjJm=S zfm1#fOJp>5v=;}^O2;;C4bp^?ME%goNQGZgZDnWQFTLE4gm%Rd?RdFi8 z>e#c+kXlJ)8e=Kmd+I=9*^{Fr!^EkA+`)(8s1iA>l`gRlqrW&BAtaqjhEE?l{b@CJz%PjI@59DQv|3?yzZ)IS?@d4e;zh|6d-f`hvvmraXhvuBbg z5BkL2{y89jM@{hwreeOyN=>FtE50Jwq{CwBD+@Ur9Y_WzIy%r)72Pn~uI}N7}RKRzPlCzCuBP9$m&oq`7kg z+q7%4P~Qv2n!|RDl1pUjHi1fprOQ4_&}V*x%GI524%pKr+qz57gNi zs{x?rEW>h{il@^525r?abAxCPrU&arJQ8u0S+i!$yjXJ9bb*zxs;L<5I80(A!WWn)rkU)%F4V{{VG}{z9jXDJ5U)2>#1Zi)@m{Lm zv(h;GFq7plT3yA{*)HZ$>=oVwH6I%gOtCqy@Cv`)6Kj@_Pz9$+DWr-5Qd#IDIpT$4 zjG#2pMNyWIlcA@((-q)-L@#zNWl`~%0sdj-h;}OTm ziF!ll8w1AA%JBz>)W`Db0D@{_?HB_GkPxHm>9$)Jk(T+@D&_? zcK(4;D}?I=kx3r@iPun%kArkss0UE@(9ADiEP1rHeilzmyYzKw#flpb&lh%Qymf@5L850N^jaU)$%mE+M&cO8vLh{8 z3O1o~tV(hmh7(Z97ZRZR1n=75BEffR*n5gyNwGDXT-DxdAfBqLsnhg6ap0hPkjzIM z*AdZBsJ@(;Xa4@r2A1djFRy957^LGcInp{gQe6n6dh9V`)IQ>Fm<06f0W>dC;i-Xs z55-fb4KJ|I@v;Xi=uC+s(dEuTuf;zPZGT9UiT(9tvHiVNvMumtUU0c=-qQTy8{V<COO;CQv~pu*(iV>*oZ5@ zV@*06#r9s<4@&Q1ItsJ2(Ox;4!T-)Z#C^YJg82-5=|FokoOunGl+8J9O!cJ(p%WIu zf##s8Sl5P@wS2Ti^!3gnV+KQ+kM8O?_G~I^jsv&x8w~H==66&T0jibbjRuTLObkjd zh^mg^f-oJQzt+~vf9(*+$J9@R{xo5gKV$~M|MCs~4|^*wc}dw{4Der&BYpLhymH9f z@uj9hv^vc0`01&+XrU%hD%7-_h3!;dG)PfH0en4pMw!(@aJds-E& zOY>rXriQ?etimBtQK_jJ4X;`?FCe#%t$OLz&u=_*oLkLP&i#_hy?SD~6D2@Jp|LUo zmIKnNB!h((+euq*)0OrJFIa=DZ;G)nTxqU!>}e)jbEJTq=S%lU|{StX6fvC+Q+|GHf<-A=5@nmnQlYJdFq~ zc8~fFJw{Dr+q3My)}R-c(<`ZA0RSR?&hUSHK>vRj^FNO9pPf{Z8iXhEvfDS`Wwo<9 z45J3YOmAIgyfcYmZLi2kpPDa?W_(zYe~<%B1t5*i<(LP0X0h~U%OFPvdk7Ryd|T9F zi#22!O|4mNLQ_jL7FlOPqj=_$S-g(8duz$)w+9m!S39P7-skQ7#QJmBbJq7YI`8*e zLkfVUGLhcHo=d<>C%!iyG#+ipjeo~Cek5xLdf)Nku%y64h@K}P9oVg~n-4`OA7lZp z5B5M#;7tj^M_TNM8@La`K#Jgt1iJK#IlK=>pDxJlU;HlI0k*(>Dt=F2q%eXf`43%N{!bssblurF^2jPC&MFL|Ml1lv~~^zC6dftO?aFOoR->TepdZz8@g)o9(6;UrFwq62xw5S2qHs&2?w zp~bOjd~qc)T*-sAi2OB4J(Qscrw#+~O$E1wkOdZkzmXrxK(c{OHR0g9&j+{m;G+F% zMVPOGG`jie3y}5-R4BhhMG+N?1q@GI_r8Q=Ipa8%m^4O;7>AuH7I1Nx?t?lUG^h*b zc)%tN2{QIi<7XG@r1Iq^Zrv?m`L}0o^+}aaIMRu}kybZ4dHO6=`RIZZIGE(=51ad{ zVN(wL90_x_SyYo`Y>Xkl{4Rh8b(s>!Qi%r3h>WeN?TD)`M@f-R1H!Z-I8dvBr?hdBlq|<+vaPK_(PC#|rdg=g6N%!WwEbN>nQ7AYp$&vtls7U1BcpfflL%SvG$t3 zOt*6ITW&3F?vweA9`vAW-U0qTh>gr0H)3Q;)=;%i83`wYAR1;6X&Rue;7x6@sc_=h zfSEC2BrEnnrQ|f`r!T|o7EgulChbI?LYd0JpF}EYbh*CNm6(XcDx4r_=L;Of$gdl2 z{6O`>$q6SxDN}rM#wvR*645chHO?bI;W8;?uaLLcf2lGhxkPN=8g<|^?Js1;BuL0o zDwnWFm`Nv-!NG+F6z}3m=aAHsm+1U?$MF&>j?bnd|1{~;6l>L~;W~RT$)~_VvfJ~` zw?0xd3Ki=9jXNDGbYzW`E3O_2m2rfv32Tu(E(05A&>li;ljVMNr$)T{K(v~zX?j)*%xPy-bX_z}$ zmu6sy->>k2WkQG4zArHke;7IU6D%(k#GltO4& zNGMCt#EfZ{1nKrulcl-L>BJdZ9%}WjoMAd^xi4lKoDL!0u z3}KzQ|J5$_-jd^5fC+Aszl1K=5xi9J3T_jB#Ci!lX<3(Ja{%iOY5?^HlEpNSX&aOS zV#ibR2r$pdd%9<(-Q@t9-sd0`5E3eJOrEWl@))HKBjw4nM!D$*v0+)TGM|xauCU^F z3dswOWnHLk^TS9<&1Pkiy0*RsT;S4HCsw6nf3asIafTxvK#R=q3^;IdxJySpV?2VO z%8NI4dT-{N<2<%r-3C|`udmMsY&%|cM^q_w%~}>~IC&Om4=Ly<2^@ko!EZ9r>paiH zaj?{ou&xkgX_j4`m%!<1o4o6y zPTEeG9)IRVS;-lfaf90oq2aq`;g~y|fT+knF7j}sW&cBWSR|iTmY_0fS{WK~ACw{6 z8Pybw^g6qTkYT^yr)yVK!P|6HZub{BxnIAAhr|xL0v%9mUeWN1_874#1L59~UsfmN z5KHU3G_wL5ylIN>aD;8puqibgoyM?aH0lf935@48aH5gJ$k;I5EPJ|4$o9~-$HMYg zkdQ=|RtiKLQko^{ppB13EhJNseb7gqlAe8b>sKvGN&AEVLrNSm&FG90SOW#*V@wp@ z%CLamma0_Yy;_J4dgVb?=`J6ty049j)>Wr?&32?QbzFYGlfUqH1^5l#jrql|g&Szr zNUcDd5AKh+9%^%g2Jkx+h+BpT5;S<;b(V-WNt4>*@n;P51~tyPPxXZy5zXiO(wOPJ zbPVeAyL;0OG`ysJjLfsg6j#<*SuJ#t7t>qa-vu9PI!8LB+VbL@5lK+;&D2AwXMeMU za*{#e^Dl8)GQ8D`xA}gAuHNBYx4YnGPX&I{IE9+?g zS^V}Gxi-)7n$}173jr_CL#KfCK;9F;HASX#0{D9(`@u(Sqz*Pv8)n8wELQoh;OKx z>hi<3&O%x5ugAwS;#o*aAwYO8LRpt@(53C6Ec+VCd7YzwpRPZ|0p&C<{cC9ey z_0r}nQTLSPYcC0x5TMROX!ZMDKe$<8heH>og$9op$3vYj?LZ%Og4w0HikaU_2Y>PT z!kHFhyeM^65*P72MpQd&Tz2`=nAEN& zw3NiVz7STEOfJQVG|m~U%NTI!Erko_RL6J4>76kfcJo;M&+8qKMU>1qpqipQfdAJ1Emb14VLDaTSLRgGcxaT_km1- z+vn~+CQ<3KE7OtT>JC@7CCmPe-Tw`k?Fk>Vi@@FctnLYpc7xyvi)ZwU`>b%w-ExM! ziohte?1>gQjT>w9k|*(%pY+J%mX~xeq%J&jTXcp2(mBwOq(vn$wRnQLwIgeTx5q=} zOufZT*q~GBF;wu8AnV9K6z<&AXCR!_sbco|OyBV!>eqbMFKm~#Pe$c8^xkJXH12ck zzh{Fobe1j24(fOZqV7--!x zjlyozv{f~Hh&M6(VZ)&mrLL6CCfdt!5vIHtfo{;_7U6~L)+pzM#ZErMAE3ETk*-tI zDb}ZJQKNNIqaCa#Px1kC8Thu-%~7U)3u({pwHB6bw6$x<->V|B z+MNCq)2I1vT-~wuWQc;>-J?rqz|u9s`btuz5cytVcHiGPDH^oQIKiYb*-~W;W9E~U zhc?bPDxpU)U*OZAuJBXu;n(mAHLy(mNm<_aJBn~bC-?Hp(B#WMj@BGeYZ&Nt*41D? z?^+dh1q!BqP3^X4!sBTTL`Qcos^@rJX;kN8J$c|{v@lQfzDFu_&K&BE!Gg+}Gge|A zd(w(#fVrV(h|_gDEpsroH31ezJ!03~`4k69!S;}r74;OY(&XcN;{h10?E z)U<2iog(Idq2fExPjBrSAJaQen0wj$73 zZfGGH^WbkLJI~6(+Eq@wC9AVlt4mcPUlv10o-vcHS=gel;z%gp!b8Tl1|@Zw=K(oG zdFmTHIk_;j{Fl+W&Z09WET6}zYw^_Kf>AO}c)$LWv~eAs(Lw&f>#2UsPydY<{3}XC z;77&u57y=%aTEX2GpRv&Djg>Ak)@@1I5_wj;`;%_`Tj~s;|Ayzb?t^A_G1JGt)M4n z8|^V9o!HnV_$&L@+``Jr0!q1YiM2^`-PbvO%zQJYdULaF{nFWG^NhExYW>oneSPUl zh3cJeyEAPKFrg4>aKT{#QWFL4~7E z=`Ep~Zl#^rzDQO-D9vtYuk=Il&?G1gn56aYQcv6aQrySrI$~BzxX!rH+9D?%nuY3# zXH^L=L-!OA=dcrRJF+meg5F{CqgG)}}{QvK1drP8cuvUgQR z>D5#T;|sO9Ei6ex8qx+E)wQ#RIhFe1G5SSLlX_?F**2;y%=$U!jjp+=(W0RBDMAD!e^&K{Z9B1WHl7op-UF2!@QwRsjjFp z9kHw>1X&I3)m}jrci9WMK13r$p1Of8HBQ>=tNdx)P{Fdd=zev2Gij3qajMNWg53x;`iKsKiH;3|3Ca*i zijt=k>?{=Xj!dc&BmLn@!o9mLZ1c;BH9>VOy9WILc0)_vSp%3=yB{Gb zokF6SovD2(SxxBDp=f1-)R%$G4GY!kd5d(+aiK1C?^0;fQ?{2oA<5^3f*sWn^ z&Fx0e+DHfa zw^3aI)N%&YQXB?E#jv%NEUutDL~phl<{Qc!8l;6Rapjkqz873PgQ6HSOG4Coasd>w z3r_J?TDjyRN^=EJRx(fQ*(8}`oXpggL|I?HKOYCP&I6OgYc*sI;HM)M0@j#Xr^jBv z(p%)dYS_h-2wm#DFNy%fv^5wzY>}e=`kSMV^NhqA21Qy1cRzC)%CH~y4IZrYGds}@ zkq8$oqg%GfEX6@K1b?{gQD$9z7>z49VLG#zWRxg95LKjdx2FVFGA)PJtVpomN&1sW_u#0i zI04)RYtbn{&UVu58XbG#GQEH(>YOldYMQ~R$196o83Ekhr}`pk61?SW)2Ih#C_V>k z)z9@zJc!&i)Dhe7p;)t2{*ol&MxrRk)il!)oM22p&r^=rz7Z&(^bRQ)j9{^J^jR7& z%y%(=Bu_OPs3Fp*fobowNHXZ1)55PH0f*Fkc?r;4#HYfTi}nmVBUe)25U4Q85Ydfe z4;zWmV!$aoYa%M!z2-qstT?r3cD{P)64G8VGXa(Dn~SXA0Ld1}a+C>Py6rVgAP6#G z3C-O-DDyzL#M9@OS+)(^Gn%;HGS3itO1^N^6Y-OuPX1|^aD#9qhWxQ^(Df8ch)Kyv+A`BQ?qm&^HU zG+MxlbbIpI^dpb3+rxz~iqG<{^8+E_dOwEnI6Z-aO;qX&ecNU(XV$@2lNya=^wJTG zGQV}Wkgo)d`Kx6#XGfOMGwW6g)C6lFI~bQtzgB)9OzJBUa*niuE?Ig7MsOzp0jpOk z#vY)Oc32@TB(ha_G417jxuIM`dUCNQhCw;Jk1pCJe{ z#c>n#;l0k;LGSH`{U{{7ViTYB+-J)T(Z}ko5ap0o6yD;C11aB-N$OE2h<^04E<`qp zEiC}UX!Uf)2M8|ftKC=rkS^ot`-8uDcmB1M{y}b(DYWjAyFnbi5J)zXkgGJdrm}{T z!uFWxE3jppuNCmXpY+?cH7ld~Il!|H)&d#rN$O1p*i6J~Z5g@b8L8kvmXX&**m@eJr(3@4r=;zu3+U7uWCHQ^fvN>uY& zHJm@&0+y0lGnWf3f+m67?^+!7k*94lhQz5IbL?&qwP=*M=!P=_#}cC-h-oWSZ{c@e z;632k@h_l=SE@8e$P)mdzXv}z26Ze=!M7#Q8@87^j{F-UmBS;LU~BH#J?0DLD`VFS z^IAy{?EYN4YTmH}!NbESbl!Hc|CXqCWh`o^a*!fD^KYbEpv7U|DTJMW#Lc_wv71&K z9btngGC?H~*=5^zj5)l`Pi~~^Lv=K}u~O|e8=+?M$h;($zzBcaU}DLW&NjoSjW#w2 zlNuFbv|j(xA7Kx3#1m>OtbZ!xpyqRsc~%p-$BAziQs6~DAYy5tqfJu{^X*I4IUktn z8kZ8jJoDI>BmMrIzcLfED&6!D41mh436)@hsnD@iC}wtKdtL2wa8Aa~xT^Exq&6)S zUq4edV@8%VnGxSfK1KT2m{n4f#^B~t zm%wVpk$MV0TN2gLB-+R~H%*(E-yI)tvwO)D>To^ zT6?eZ0Q@NeL)n4_*6;2*d;n0Mz)JaU<$3iazWdYN@gWBhigudNDLEvuO*{q z97@UG54Ci2i3RBj*6ZR0IN_QBf+@$v?HdQD@^9Fs$MXgcui~Dc*`Dn^F30OT?;w=- zb)H_m&D41OXVKUANeIU$Hms^2hxo>~JaAEC;5%F^-4NH3O8xCJ8^<o!Th^(5~MJlQ}oZBPxR_6D| zL9{4E9~>IV1r<=h9&(lBE2uO*kVb4#=CR36XI&tt=CkldwtSKt?vP1D&)2i|t~!Kw z0J&i&s6qz-bFcW)d4lY#5e?$Dbv-3;GYhh+vj8)MG8rfIEx7#2B;+Ci3xX7KI6;vH zvGK*!tB#1v?WgRv`@rG*#E^T)gJ0`y-40_Xxlf8hb# zIGH*@v=Xc`07o71pQ+kTfk~(L>H)jk2eCtJ!t>gsu?#t*0O>>P_2~HcpwumioMpMcO5DXIgolWjj$%*@U|}>gSotInYIeN44Fz%qbkytQUQbvggVLdvlvfYbqg%u{H#-)794hfA7bXFouda0Imc|`n!KEU(UxLlYFp^WE;e7Dd;iuc-r?q{IOCIN&h0~SI z&C}(F6oPzh*!Mk&RJUd>M!S^PL-Pa9^A4#CdK%8caH*m@lf8}ki#R2hbh=Hd=i#vg z`fOXIfWU6m&)L}R zc`f6Ze!IOBBWMx%lHKc7f_{*-EAmZx5s#wpBhzhqWv9R#BADq-x%T@GiQ!j(W-P#f zNq}K2?Ngdqp$8k+cbA1LxIY7M{LhMVU65mVdIvAEGvB~u-jVzVCa=a#N*Leq=`T_} zGm@04k|#L;_H%){Q)J7G%Vli^>tAzX-!6VoPA-(O_cblYMx+1(@;I2%CdZj9($fju zUt06%o4}DbKi7QP?++x1{Q9*c1|0xVzV7adMbEo#|G+oMpv~`l&{Ca}v_9!J3(=rPbx|s;Ay#iaf}z>T~dBO$T!~1Lvk0oE#cNdv{Pf`F&Z4S)88(J ziLlPWv#|{v%tJVBb-t4&W7>fXk|561};9!!k8!4 zxJ50dX$Ae8R$s@aB3V9>(V49e_oSyiVY`wwzYNxY?INr&v;V@7ZiEq>|FxWLvGZq- z64I8%GF?WQJK(G(7}b`B<<_z-`FKVnTXMa{&-n&rVf5aVjLYGZ^<))-mk*F06nW=U zDJTyTKft7PU)!rSclU!Ssasz63H4*3Zb zG}Fm6e~qIsp@SgXdy5g&;}><8rt{LdoMJ;4H+q!ICy zwb`rk-}Dg`sNATR=gf&YY_HE{mg zk;R{Mc#q%i2dyK{(gDfUEw9n}_5GiaN=BOA7u1ggWANwsw>0=)kjlT{l>d|lTggvK z^#4ZBv@*y)tyxn6#>3Zv&gMZ8$44Y5Hmj*`k`xEeh`01?!Sw{dlW5b0R%t9*#V|fv z|9rZ)_y*iTU_&iNHHQ9VPa_+DS&YaR9_aZM-0MI)qo+4q1ZY+~}>vDCZWxc7ERJOqj@=V23;^b~G$lLEm@R&;H%r)mh{Lv^a z+bDnGuVs}WZIV;MfiMj5MJD62Vke(sv3ri+PyE^?nyMlpCeJGuxJz4MRK8K4tl{wO zias>FH>gRvG`0XG6rvKK>8NMwyhN|)aE`_oVs>KE1Iqj~V`DqB2VVd>Orx_G&I`CK z?QH*Fic&uIKVQy2WwifMv;2E+@L#1=`N`w_u_*l~EM+A>{!_xAP@ZCGtb!`9*V1dW zst8bdIk^q+YJbQiYc1*ZJQ*{@G*W+`B3dP_7eMbs*91_ZN$R61p68$aTO;1?Ek1w? zyNC*f+DZfAVM@U#p|&|bBQdsg9MH>&bEsf{8f`lScI~`sHy0tX z(Ianfg%~R-|YWFwt1)1xIn;MM%?x zP^~avpcO+u0XotQ2&s*WfmQVYp5K}a=6|26R|GGFuO*xgfUBMyM&{cVN~e~IfZPM-M~vO9^fWCbsU*sqDPvQV#)(bGdSLG$(}4uo&_jGqF~x&tY|_v4&h`TG@& zo)W_tIJ)zNr0N5NVug;oBd`XNBf==P9gbt?^6@_-HGcCi;Z=pHa~iyV0SkS-gMFko^113zKj? zQ(UsYPoB%L8!x+Ul>Q`9Gzv z&K6^1u9?*^nHo12mgeNDsdZZO4OtsKq21Xm4k3yUjagikJIontvg}hT!@H-^m?5W) zk&5so!X51<%Gk90^E2Ldwj=1krUvX6e@d(T%z!dNSD3BwrqXarFhwlXo+QXwplzz} zGJ>mZyHn&ulo(&E=W6fjJ1|jI`BU;cOU-F6(=jTHzmjYzC1AOtB{oP@mNF+b6XMM@ z@49FzIgjMknA2f3b;=mI;wvl`imhd2$`9siX|;0vC~qDRmeUea-;~enH2ZMfBU=xX zJo-B3G4&I%)XI00)8mh;tVfS&RQ+j1X@2NviRq*|#^tIFLyfY|%3wJ^i!qPl^H>sE74tuIPZ%pP%NXqVh9V=>SCM;Mpj{D-!Are$ zc@JB4n;D4N2_x(r(^Dwas~&!F>3E}6AY2uUrSg4SIrKL?p4-1+qy6x9LgYV2dLmxx z{Bm|ms1+qIm~G)}*lw8Azgnq9OC+kJi(=HOlTw-PAy3gF75sJi9B5V$^7Cl7@doK& zJ|O8ZURb;f^ahRM7kiLlv3`=;!0NfX(r>y4uZ4!LVJ`ZhK)>+UzGi!JZcKoDdVhpc z4p`!ZW;-c zjeH1$+t434-}E=K9}#kbAHlCx^R*pMG`);fEk4r&jpi^}dd@LxZqs9B`OsxloLVT> ztYn86TRxbRtLjJkMFzS9wxbHMpbB-_ij<#AhNg#fHC{n-)hJpl;}Ri)ZC+9gR`;5` zbaXoFZ%T(_5W&6PCiVyRZ%sjvyEJYC6W8`y7UUL_Y8Uf}(O&Gt%L;ay2r|kEG$D4^Jqw_=WOf zjfD9)FojfNT(1Dy;-wYjrb&ni_`rZ;`fH`Pmw_p>77WFS=%SqPEm01unj4ydIzkB_ zg9gIPs)00ezMG+Y=G1*G5}~_zkby#l&0xMrN)j&~-O(>|@H1H8ZC@zA-S%x|f9nPiX7vaD(CzOrkJw5p4$R zS9iqFWpx}EucuJ97~qLdKp?kpPglZv4Zrxx*~(rbxLQb|jW#bz3T z$O#&`3_*#+G}3d*fhlPzhHIlzsc!R)ExG=oz9aeM!cQcj{#JhC1l0B9q3tc#;d@;X zSdgB_QyHVoUed2|TrM2P?IwKBhpno(-q1Y~Rh8JP`|0?`I~q86Fns|QMz?kND*J8r zQ@qvtNc_OIotD@0b^#wcWc_4DE%L+C{7OeI*2$|h{DfPaK+U_(e(i#=SBb0I_KRxp zF8hj{S8#KO2S+^QT#|)909M;NvPfjf?EUr&En!PMUYe1_6`zM-| z7!5MSJsQ$RG;lT03N>BaMNPJgorTFf(u2dFs;n-tJh)gL(OkxvUsQ+PwlQI{gNrg) zT-OyCBn6F3xXqkQLf)$!YgTi1WSmSW%}H4^PFpIoq-%JPr%g-wv`%!W3~a_o6D0Op zVY0X;H;om!7Yi3o>gJOkC8-jnI5P|f&&8-#&uTEJ(FmbFb zB-1lt2&-5t68~MGKL>||aSEYob}7u=xhor}Ac__PGILnLlrD0ia9W>;Tx<&#JLI|T zEi^NkH`H+pq@Q<)C?sQPQD~%f+ML2FRL1U2I@ukQQY=a0V+Q8n;K5ke9}?H`X&fgH zrAsJsV4k2S+Z1ZcBh3WV`P$lDbkxT|g$&|+8Q$=y zCcJT?g0X=$XNE3^(~nd2F{XS+8!gAVC8m}tL+b9i)4v}RZ2HDb@oq5dgOKS?Eja7X zLRAP{*%INv{l=M)3oIA5&AB2z?voGroAUbtgar6^V%Y5jQZ*4FJqw}yHZC&|9fK8>okxux2tQG+z3eh@5|5fRk42E`*@r>j5o3!rF#6O zJ~k)RRAwPd8nfC2Oc+pqOZI2;W-yL!YRz_Z1s2xHqAek$*Qgo=!<=PG;ms5XlY>M; zDjQKG>~X_Q1fF7hsPp+zu-68CE~~_opXS`LQw}r(@*V9 zjLhdDX`e~@eNOb6s?Gs0^&{O_Mnv{=!EP(%q5!Lv`JUYkz{XCn{vpZ(zOw|g$1w|} zM8^%`!*+vzBh~@omawH$$-^#5`~w=1%5Rx(hyHG9+{ukJL3HO2yTs_ zCL5M&L4H(5@-`)e$9nHFuE(YM+Aa;zsI6UR5Wa$flv-znEn-5P*+22AC^aii<(w3% z?bp1IZKTP!)r*Aiu9bQG$60|luRML=;YhB|sGR?8q&qFAL{lQR;t%Ht-~*K*jQjxh z0W6B>!y$2^Zdr>Uf8c$HaE5uU68@+ZFs)((AT(t=EWuSzcIAxLpJ|%7N@Qm;XNpn8 z;owjisNJODNFY0Xf?6^;@do9~9DigNm@}o>q^juEN815G2U#OLS_C0F$b71PQ%KVR zK=(j>5RyL_kPU5E{cyjh^WNaiRosZ8;Pjj^46kbLm))wA0XeKIp$_D*vU3Er_YXQH z(NTI{ZwMyQC+K6Wj+{}U>aZdh!b!W9WcolPs+lOl3dQ)VjZwhT)3ap181pNMgQZC- z?0(5RD~<)FN@i{@*fJRF!I=PF-NBrg#vj!Pt!?Z-^?KmfjARC+W(a;JGq|?Hj(o$( z306!v7-ox7@9=b73S@W0n4sN15Ki=hC1w)rP3~TE-O?J3whD(GQ*w|XZApK9e7eMn zT}6S%}o6CCVEkD&DY+ER(7s^qq(aG^7J(u&s5 z;@9*}WmZi%lTcZW!S}B)owo=tlk44Ri$$f{HxriMLvf{hjE6TTH%7W=#%+gT6E^oEQ|TrMVbh7Rw`p*JPASboT99#Kx381k=L{Lt zHdrZ&PA)C@Ka_oCP+eQLb%5Xy+}+*X-QC?ixH|*_2Y1)t?iSoFxVyW%OZd+1zVCJ4 z+x>ogRqQJ2{M&2Kv8IhVW~lSbPW7V(-Q>31xL3!fii`oP%lxag>!l|b?KyrQ^#F=G zuZ(3Zw5Vl+*?bhR85%?$Jx{~AR}*iJEh0GF2F3SK)>7dWXKYfK`Lpt+-?9DqTD-9l zLEJ;jgzj`w>b0-o>K9$7Lx;iw+N+L_uwHXv+SGj~t~!#zlT|FmQ_?l4-c`E~0jeI8 zU?14xZ0##1EyvV02eYhQ?{#yUkq2zwow|C~DkkR7`u_DEP)`b)2|c(Nru5%-7aM)o z;%gz^OcU48xZTd2!#Wp-DWhQR$3lL=dx4{VhI;G|FH^RQBt z@_f-X|Ybsv2?x#j$vBX(+jIdbOQl z*`TY~YUz7=h8D0g`sZ*xTK^{3@DdHw)5|n@0v1dTRQ5eJEf(M*-R1$%4Vs$kxOOD4@Xb2PaR|%-O`r%E9G-tDlV;*6uhGSbpls?bep(24z4xG8hC(%~6`XVj$fDhoH-%6S!;>uT63%20HLbc+r&2kMmIVEf81 zJs119@?0Tcxcm+`X`9{lIlL@w`qs8$R^IUl>1n=)9lV!j8(8nB{`Mc>-Tdv@qUh?# z5C_`RA%TFr@c1YG>Yc#UQK^z*j*q>8-LWR@LC}Q7PU48fTKye6az$K1&V7iAE}C}rkzm_@qv0Nn<0(Q`z`7|Xp<4!;AjjmBa1=7)e+k`*qx=@ zI@q0++v(w#B~Ml1msFPcbjxJ+vO+56gvEsX`e}`*4RVP#ryln^k^8b~EN03xC`s*F z6KV2NK9K#*8ni7iZnCPGy$;jusqVCkIGvj=m5{U?mx%`*$^-lbgjN%iIuB=wt^+EJ ziD{hn`s^X2MS7UocbV~eoUDlRh)L1j%JdydvOVYq&QaZAT;Px_O1=r|o)Z>nEv1e9 zX7##-_NzE$ic=>#6VGc%#qwjBKX3F+SdOFK;Jl+I!s2C$E4h2T1QL%CpeVMzibTBW zs@Uwgi!>ZHk%D?bG#D8fNIv6P5CEyIzXpnGh_9 zo!B4Eu7#-Tif|ohMLQJN=0dTZEQQQBD^u@4rXB#m^kp^v_XE2t7j zDg^oP?5YeYiYy5&-XQGo-5Y1xE|CNgOs@AvZj5P*SR}@S(s8cwhL5C86_1n=V7jk=u&;dh(&>6GuhsYuHSe_Js~!GOZzo!KLQoY zVuON4jlv#}E{uJl_JSP;IoaiGAU2vMb>Z6g?c2-w*OrPLUp_dz7?bo$=O})CQ;3^8 zgU}zd*T{a9sS~x&i%=Le(Zwc60>rc_DYplW9bw^mgs#T4#EuQROj?Dt`6k?ckv~eF zN~3>ln{kWY*7juS@)jAolctkpFxu4f`t&=F1l+IDNv?SDBh6eB~B*P#n6vhQ#yl|8X?1%+IuB z?9eah?~TL9OZZ#iT4BGIUUu~|xz>CqO4YcRHoSFnI2&e`KN6wLEAVp4 z4{_42-w?PTl_ICHR+XmxMT!^omqT}PvTho^)%{rOia}$Nj;mfa`>)IJ+ntvV8-=2a zTSGbFnlO%$L2}WtLc;R)R~E2)9&d}H3%ocTHLTp(;=E)06#MpOy5eX_#@?Ue&dYVM z`bw=6`RlaG4x*A~(eRN&?$;d|!GS{j100SANc)^))kYIAhe5TV`;)r;S4h$0@y%(M zZi0_kS4uvSEZ!vi_)wb?7nm0F!}KKP?fBsoWGz|3RHeolljtRg+0dQ46LHh2de-6s0p$*wbT>+In7UvwGl+`BWE8EqjzCfRliE^ zPOxw1owc60#@C%wm{Mzoq$l1=(!thoj^~m+QMDC~=8~l?e8^qdiQ=2kX8I%Iv`O4IF)tg*FO<(lN^H z8X0z1ZO}d#sH0c0X%_kMi}E9b%OK+Ip7CZ8>zPUXjoNw}Wep{)y}yA%G#6{Rr$g_W zW4a>}AEd3csNsvW>*G^oZmV2HAefUs%EciyxyG(8+pl>rkJt-*_y}c1eB%8CX38N+ z6P_=I%^;EN1cN$9YDemeUW6gm-x`7iSA+>|iDH`&C2_|6s6j;)$%P4Hu7+fYKPj7$ z!JJcp?BUr6tfLw9M5C>>;E%*%Q$`bXh`4)`vpOW zuu+#P3lJ=N;=vl+yUfhsieWuh7(O8Cz9QEb-Bia{9LGdOV+d_SMJI~cxlp-&4=a59 zZE~h(%f`Rsm+i-RFV|4T1ZgGSmEu+hH;M>W8$-0DfZLnTv}t}cE%`rxPzsSywkXyD zAu5rB>GsB#^||)NEj!;SEKTbZ5pUMzLcEVx^r{JMO}$fULxvugQ|s4rhxQ3%l1x#u`}7zAKA`zqkMVx?;Gy_@W?vl;5IS9J|r7Z+UO6- z&;Rhqaz-w|JqLd->xohxl?P=)vqUx_n?&W5uwb35dUNR0%DU2`bMI686 zz%)M8mtmw;Eks^?w^KRdwr>rh)!++hgRe5HAqZfajpG+-IyrXB?Q4rh@1)9fG|+Y2 zbqS(pst68?>9D`K_)+21p7`%4XOwuUS{=WuCt0 zp)y#JO`HdZj8jr1Uq*Y~up^d?mY%Gg^5pSlSl-;|Md&{xNVFk#=9^7QDlnnm8V#{+ zZ+yW?@1c8hVyfj6J&t1>n~DfiCSOEFY2YawqnyNT|Hg+fA{BlOlA4DgiGaf>Lt{uE zG^V28+Z(e6{VrrH{nbh~Tu!Ps4s{*HRi4{hY|l#A?%rU6SQEb=%@o4({@;YV{`izu zhznYNK$T}O-~y&UChPz5DMjp^%>Mk8&VPA3Oq+Rk#{xJPNwxbfJAyb^i#m@tQ4{$+D? zurqcxmbv*hnYLX2{Mgm?0m2w;z^2=4fvsLUc;L)#VEKf6YSTG$#fESB1hM&*v8Jb} zzzBsrBLustrn0B^OUC6=BHLN7`EJd!$*tt~2x(A#P_=-nNHd*{3PGTfp<0f~#xg7T z!~xx^ZrO!hs@?Pw{`RtGJhr+wG1uqkRi-deqVu6;K>0-&+N zzAmku6O|%M-e(>7d{^S7Nm#3M3Uen$cML1Ty~GpGR&qCt8gZ=UbV{$O)3mLor`?iB zwJ~vt`6^y!v!qkHAB9)HS7ZQf@Cij*wuX`LSfOT1W z*fKx%xlXB6^z`V8(jAmf4j;7RM$%E9A&T$>dLu7E@^iW*7^KA z;}z|chn88U!+fdp7I0+sCMw4)B_RNTytH_Y4Oot>Nt4|2&f*{Kvk^!3s4z)i1;gX; zxPipG+#=6#0Tnn&-3{ULdy*Q$(|@jyZcDYO&mkG&?>ZX3mBdHkMsN8!+^66|YoujJ zc%wq?ARnDpCSvIsmR#(ld!^bZqw4^v$^xq!1YT8g-~>OQ88E&uQvbC`9qdJI3UnSk zfM{Ozp_!HPdrq6IS)1p{#`VCU+THXAOO*- zVQ7WE&bQHKVOtIZNbP}%<-k&6{2^* zIzCtWCU)L0n&8Zo;5U4g;XLVKaIIkicwzJ;VJ|Zx|3T!NM1g(~wf_Bm-op2wY|K#9c15>xt+bdu|K54d9B4Ej6&^5g+5rtA!OiH`FcvZtPshhKFjR^ zQZbWLRno%`2tNucfU@InE6;Haucqi=?}_093jLv?36?At4(49^#!^;DQ_EcJMCz$4 z=fkd2l2Cr-v%{>IQvLO$jg&wYaEuP2fr&-xa1351j-bdc4j~Rf4uNP0)a5rcH#9Q*G*ba*W0;;504B-7 z?7-{*GVchc#>8~>X@CpMW7~(H@CQK{!zWYdKrP{aqa6Kl$Q1~7l&3(y-~&A9KPX3k z@ee@Ze;0cv&wsjxUY$c%dAI$DLpB@;JImm8HsW=bx4s! zUV#Gl`c#JnJE_9aWypOq9s+B6VRP*+XT*DRNA9c`=%I!E9Xa&0-I<8Z=%8(KlTJ;i z1L(ub+Ke3%&|DNZSl|+_cjvaFV1H~y)MmUv`j;i^Et*iK?%&w|>bCuHM03dbe7nG- z(fMyj^p{A;SCLNvxGg#pau{?+A~(tZ6E*`nyD@E~wh(2s=8{cv$6@WB-Q*el;HLOC z!j=S93M{&`@%2Xgn5lXE&u49a(B|GSL4z&HtyDs3w7WpQZ68McGWR6Zk%M0@ou+u= zeHgusW7IeWRGTpLT>1$s+Xab(FWuA$Z%9k#H~OBxk)X$WuF|IDB6Q;&i zb{79MqJNUYGWW}FG{;nQbnvrMaw^j? zm!~HA?%?oM9$QpQ*<8O>U)@-XnB+TaI7o>!Ce~-c@H=PZ+nM|KggWH}nI%jtOsrH) z!EbTFaRF%o;Qhvi;PJ9>Hh+VGQTU0*Ban4x2Nb#|{f`%M0n)fE{^Q1pQdyQ?1#<92 z&?)2zX^BulS?ToZ6otRh)9Mj^Q>CI)7EM(T_WO31;v47!nd~pa;ZZ1KZE=DdqdFL5^PnNe$&u7P6(hcgEiQe@ z)RY>;-n>XVTIfX?=xR(KfGrcL^y^4%d^OdJzTfjz>?vBI?rsEJ51HH|ZCuKP4a-x6 zcrZ)9bo#{RDx{g6U6?4~cYH2&qwT<4f9L+4j#}kJEH&1FerFkO33;{7v)t(1U5A>! zhTQqo3|y8aV0Huav&ArTIvHH>9UG|RcESW0ILiXw?oC84Kj^y-a$x zmqcu94re?j1d#O#6%`2ukwG**+_kRxT5vO3|9p~6g}s+M{)3)-p4wLo;IVT1`KHJy zgW6zGQ~~9q!CpF%5l*jKx3*C`I76wQi89#~^&Qg?v+J2X&m)QhIXNFwOrF*RSv{{A z0hx2lQ5XWEtXZd5z<9m7-TDSZGg-evnj@pfqc}j$|+L3Fd&6 zzIN(uBFU3622?yNl{a7ts0y{xEkwb45|7@;c`+jpsft6c;Ex1r+9lGd&$~_iMe(O- z?GK2rd1^kQJh}X7@8NC%veVRF zO>{45>Zihi8~OLJRTsf4Don?we9wQ&FQzJK?VEsU;wg{_`3Du@FaE;>m|rjm+1MzU z{}cUL>Z?wxs;GKHwRAe@R)|*gWK>iQb18H5!49Qzgtpj}uJJReiB0XpP3a}O!&qA8 z!xUH0SHrLjzTdDgvAJiDoj(EzKo;U~2g(ZF40-c?>Af!-ALMT8yFPqCxA4|fm;w;$ zF^43$bj8_1u=$f?%)o!_#SRu@RhT-EeJ|&#*hvp(^C?n(cLrZ9d=u`04;ahdZgP_= zreM_aH}tVquNeOr5SLPcO6M%3MH(NVzW( zZ!R-Bl%J+1CCOXd@-r3px(H&i zv*O0+1@Qz@RMZRMy;RL#LpSSrQnWJTkz|7(=!?n=+Gcblo3M>T;Ef&jjg)V!cUrsJ zGKA~CJ_&BAw$}-c#9E=0>|Kh5sDws1aSwjG%d-#Ev|GSVkx;3@?K3n)AKxw6sQ>xW zWPP5tsy=C4sA1D~ip|`=0h~&XM3-?C%pW+CkA@wM%zYQ&J`b*?726H6t-|EH<>GNI zUv<|$NGGEZy&ue_UAN>6YXxZJ(r7N$1jvDNu=#}PU^h(}mW$U;UqPTRReL@R2O9m{ zZ_U}FfnRN|+_HvuchKk~-Y}!-m(3T=MotYgp=V4^c`u7GkG*8IW@M`{>_p^~dpV+_ za9KREP2FtCc9*xAd0_yQ&nl9R26&96v!%; z4G0j17jDKqCABe)U2(}nuaH}16zF^d*sW5)L7(^~m-LE6*#yD=_hI#3-?vrN-A{bu&hFV` zFnjfq=`$C^VJzwsh{X}?=g&2;p z_{z)q&vjvb#@rTqVZ%ngj44*#eNv&QpZTPce|Jeb^SI|1pieqOZNH~i^aQm+(tabe zC2*c~$hX<)3(zzhX_=A=o|$|W``vYQPOoIXU-CtLBi}sbeA@@L zLv^SRLR(X=4M$K*_b=FLN+h6p63wZxf9lYiz5h(U8WY73HJEL5$!hmnWbN`eRwU>+ zyHX3^b(s#jh%BpZJG5?fhW*O7c=tA_jajXB>XI(=2EC_~Z2K$&I=fFAG?Fa%P*gvD zRlJgHTlM(ZRSQfn0D_@cas$b_K3S^L%SM+6BEjX_Q=D_`M{TP zFbDGlLrWg_mV#>rBdsZU!_9|ll>fSP_B=lFeYh8Xi7bf3W3UzTKKD|`n+Rkx&Z0MN zA2W=W@sZaF^rY$dUbo!Z4b!j_mqQ@t8`^ zf?44kIeD2;Ss>!=R-B!+WCz1u*BE(ku>@RakK6d1=i^cGAa)f~j94?pb^0Qv&?>An zhX8>**!%-}@EJ!}W#mA_!%SRvCUcb@;%d;-!0^x31bf5qFFFt)u+nb9Zv-V80Wku~ zV$}~mIC9f^k`KN|GmZ@hkE2;dijcrxw*Tz{d!zL^i9qzQ+x*;+#S@p5-;Kqpz6Ti_ z60)dcy@|I~0Nd`i=u-PZ{#M}YjGd+rA%(n?wwvB=EC#2&2T_;|ZrpUrjG}FU7RuqX zUh39iFnGLPu}@eV9C_SsI^VWedOE!sK)LcaoKod`&=|s6lo4RkQF@9&rkdE-yd?vs z(h-6ItcN<1AA=_&W`dk#uU_|>`-M!C#5`OQ} z=TOpsR^5kR?*1QK52QQn1H9eyyjptX#=&stfq05$d!CjRJ>c5qKAqtaAV0nO+oEMW zY(w2G{kevl`G*B_#+r#X8A2&Yj@UYKFkIOR^hUNfq&nuhcX;bN8C7Zcdgp#suy@Z< z_OXQBv9%Z&p@uc|qIjy8@CQGjGWZY-OhUd$Bl6raAePH>Va&1yR{cuvn&`sF-DDfd z!<`2ip_8^UcthKLTz*xV?A65!q=Jyc2T(y&@&PQ z-~b@ukmSF5_&&QXOqpCmR7x_c z#sO`LgjrKd=7b5^Sg&W0&bxID1E1@jvI4P1r{^+(!5=vnEG$8YqiOY%%PIDk z@8=0`_mkCKV5z;p_3y^Duu5xtqsmaDPlElJ7|cdKp)pT(WI<{b!49yeJ}r2?5Oqd- z4j~a4L~8>>y6r;)uWxP<3_n6W5Q%RUzIzPw0gGSgQ#yu4#wBVp^NqOWs-txSpGDQ1 z_VKvXk{gYwt+C3~GtmguO=YNJ?mCLM#cvY@)GrEKU6sBq1f;wG z`K?|;gtE0qIl@iqwt~@qVrAfKlb<%f9+}9J*gh6e|YC~WCpN*O)pemD*9U1pWrDsOP97d%**Z}Q)hfU zsKN|0L1pIt<&9}0#LE6m;@p0i+&T<@E1W62+!dD_ z8Sj7zw82#&sIO#V@l0TN~EH5rm5%SPO$6k+D2#Yt|7En1@) z7o7shzxq2i&U@TMB-WG5)r!!ZST#V&`9kpotc-cW0s7@P7y~?4X?^vP=1SR#1~t?; zDzbeB-O;AgZfm6kvzrOKW3y!maAh2OcKR_K7z3mXJz zs6+28eJ>XRG1l(te2RumB38Az93I8oDj2qNH z#{?m3@^~TUr{y_?PA3H8H~Mg|aN?U(jAPbq4y{TO z4ga8;7u~sCQz;Q?njw!2`DQoHYuLA6zM=eYQ=jIoAh8;SIOY4`5seBQ!Y(`oe=Wea zfq=gdI4`??a0nfS?fVPI5&0>krC;JG{o2uTtq{jaNZ*qTY$dR z)iXGF67apXN3$GXe!M%+IU+xQK^kg})*rg5NlXa(JQvH@n3s``L`Di60}Wqzgx)1K ztC5xDC_!bmx;@(GmVxK}g_74mAf#hT7e!%F`AQbAkR?`Lh_cj=P3U&w=Fx24#hC2UI8~aCY zBlYKn7o7NyP2Ye`_~0qlJjFfYKzBN^l9HU6@HI3#MrlY1i?EocE}SQq(7uQmY`96M>2=z3_TDpFtNAArby_9UUI3Z9jHqde zG^lm;iOX>;bh8;|n6hFVIP1otbStZK$2J=c{a$8Wl$oFm$-ib3e!}Z->_k&-f?15M zvaJ_w!>uBvsd1b_o<#8DztP}^S3GeXOWu8(ugPSd3Z6PtdFJyQW-+r%V#XQZGxAuT z{t0KhM)fN@pw=wgo|6SPSy4yDcDigTrF zVF`RHyhR7#(t&8#HFHc$Huy$`UpQ+xjk^x(%I|cGPdx!OO|U!P4-Jk`pxOC`8l;WT za0I@aHnvW*)b?Fby5w?*c^0QDzu6DZJ^eMz}gRCUF*zt1Fk(?m{Yvh3D+EUr$K2lWT|ph3Xx0_2qXV344W~) zDDt!5`lQTfL4Zs%Zi7EYgF^IufAn;fpmFqc?$-UU->d>=K@H8SA<_$qQp(p~!Kkrv zc5cFzF~YRTX-uwvC~n4vXZ;X)m3$p9hu`VcEwRRW6cZ+#fnS3=u>((4{ia3yW9(9v zfXMGNoorfJzKd~UlbS+Ywo4TAf@lk#kd&z60XF4sDwNV-T&dCpt72j|Pgq-L$0NpH zbBk}$2i)VpD%=yW3ilsOus;DOWasH(`M>qVC{-={SwY0#3(#D;voi@Bko%I#mXw9M zmDKk+A*$h`m4cqD&E<1y#u826kNkIXC39e6pFrLy`zv-y-Budf&!R03dE9s(esl@= zgK2h0pyHQG8tRL|JhO_$v{Am3hKZ$3P+TYGo=P?YOw{>in=oG<Ft*?hCeuZ_}5oZJk_!Jk(l7%-YmMh*$F9;4+_jGQLj zq@PXnnQ*tgJp0^4{TB7=<&T#zu)+fs%Hac-Y2s*FJKLqNdd9>KXKdj|(@@jBcb`g0a|R8YCqWKHwf*>&`8UB!6_SPDG0l8rbMqSQOD-?@Ox1{r10 zAHROl^KumPcb%U73h9s!O>+4)*+N~k$3^aBJ>6^>KLua6tIKE)or8Cki%jvNZo>8E zsr7sHN1-KWl#&Eyoza?jTAQ84ezOEg&y+U^QT0Nyb;+6jCA+GB<8I+-OJ1t$ML2t= zm*FC=h)tSPvbXkk9)=c6)`bUz`>geMTX;Rp*oYz`c(yPy_{pnGqqnl_;(!y=oOer> zx2*DZZM20rdVX)X+r_TVD_#?TA3oJf-;_H^rE+3HYUZq0LUvQGqUf?N0Z+(HQZHt! zmD=&ABZ{X_UX(K@X3fF+E3d?9eg@yXkYoJ_D@4m%oco=eH<9eG-DbbQ5k;?>S}q;p zmuWz*F~_TGNs8H)!701ynT5E8sq7e}pFwwd(e{_IYN09PM%PfwEg(fgR0Maov8TKO zo)Fd)uR1$uR9qI1V*v|uvA2xq(^H^PtbF{||oF{xXxhy)ho~!+{fphoRopVglZ1DM-i&o8i zf$;4#>X%_gDnocSVe?IxZZ2m#zDz!ZxZd0sJ0fUY+ik@=oqto?7Rzsb`RaRi*=Xgu-CShqbc~D0uicop zF|-OjE)$M4%OvVFEo-;+WJCMQeD;T@5aq}gnGpj;I!du;5L{J1znMdlR2<$~<9tRb z)CzDjRI@qY(B)>$Bu|jku4L+R>F)qB!<#W8Ke}grl&(_S^OO*xULS9v^L5>HvVrDS zw!=Zy#m1FIV@?^>Mbo`V5d26ao?v65rNJ!R&8QlU?)bFlGa9?=HX!gdjY8)ji@Mrz z)qWW*!q0mSVl=^SMaj3!rmbY|Y%%e|>*5zgt7^o_T+8TLT_Dcsvkn8nTCCiqcdM%k z1_7(hX4!S%zLrZ{M$`F|Y{N(b%n@(PsC4Hp{%mg2Z=3aP_tYWp;XAP6?c}E_GE>vf z=~}3Q5EDk5f}ki6^dyx#Bwz%)0Rd!VSi?}G0RinxxWZ|Wg_EONp)3Hg3ka5ZvTlDB_zJ4FkeEWbsMc?wU=j8k1`960I zYx`rgt1O-cr$n^ep{uk81R;bKtuXa>*@n*1V?db7n|hL`s1N-*7Eu%`2I9ETe zZ};G_wkZ(&eaJK^%Zx34gLP{rtkxPwcToFO$-VDo$C;9)jeA>49SJ>WB#vLVt(v;Dh5( zk?t=%-Y(ed6M&RHzogQiM{$4!$Tp-VDP~GI*rv#3aE7@TWhbM04zbJ>$^0s#j7C*v zlE!R#*c1-#>1u2?^5S|u5h!~BkwywG!)rJz+!R~9yeJE4$J{RmXx0#3%lgD2)Ohr{ z^n>w}Qz;lTk}$dOa5+(doCYB)8$kyjiK2gh1DCV7FA7-LmN%T3LT3b}!pA$$f_WMt zIOrm@RdCfdcjIx9X(m|(R8+*U^u=?mH~*eK4BAiG`eAmv>|V|Rnhv!Jsj-9Lq2mvc z+e+G9TVtyxk`>goOH5zUYO}Lq`~f@nPnL;ApHeUC3M}pT0cdMb6YGhuMXqR5M)CfhaSQ+}jHQQ-q<`&oZ^2|P{n;c0mSDhhdx-eM_`vp!Z%@kAM)NL^cO#VdP$M- ze6tfx;1vb8b5rXkR4%!@sLHToI8syOKod>r-k-_%m*GE zOECpXl}*e*ESFK(`atzKTu=N48vOXx+n%RFh4ux3?54wuT%SrExtkfKRR{y`q=xP+ z?07a$z(Py;+t#;m^j0tiPs)jl9h=vvZnRTn1FMGHOjvG#0HZaTZlSf__s{r-;lHsj z3ZoYjZXT7<@yV~CVo*E+i{YFtKFF{ggN#mCv*D&2_!lH6f8WWiFm~KqXN9W6pnOBkGi`B z-iOS>Gr#;GM-MuQoFvsz^Y8G0)f?pjR3kYQA~Y&fqN6^{+6Jq+hrtXAf5s?PcuZg>=2 z)B9M=$>dBi<&~}0gLYokyMQ>3zvpTq`=4KKfX0mk93=SfeJCksd3%>XeWj|k!mJ{u z-wJ%In_8kH4u_KJU{OX%P7N10MA)yOemYFqw<%k*M4R(7Zesrdfh`OH%RD63e^~aV z)u>%VD!K2Zr~RaJ_HC2@@856mhR{05y^`UGu`s(J$-+P}7!qFdYBLZTWU*{Xk8rgn zZIsvp!a1~ZpOSRk!5e^<93J(3T`7Cz9L-}FDbSN=~D6R?RF*guioLMwH>E$+9BEr*bfghI7R7R z%WF&(4RY;m7X^;`Jf|8i6YdKcMJVRFdaj|}mbCr_xHP5dc^WEhg(QtOg&3PoP?Y9L zN?nM1glco<%X89Sr?(hqA(QG&;AL1`aHw>TIXPutC{POQG;!nokYDw7<%^o#;>;hE zq3Ju$k4}^AtXy3ctiKjKw#v7o4%T`ar8XtinWa*wqCU<{$J}(+DqByBK|sazg-?P| zdT>pfUG{FI!xxr5%u9jinJm~ zs?3(Zm)*;2^_N~aUEn)tp5vqhYV$ZKOMjeW-p8Aq`pT3}hZHgEusS6CmNk0GnC2Mx zOzxfJ#tUE+w4RAt=-Z=;+y5nfO|Z2ScDdCxL;nq`qdFek4BU#sI0)Zx?AIV=rD1jE z#V%iMn43*W6mB7!UhO#4lDi|xwfz=~1=Q6O6wwoOPxm2vfRHpq=9WD9q zz#4_GKsl!@lMTBIRz%z7sd?pwfk2uC+cn42i&jQhdf8|nS^-pnU=Ns50rM$GpZ%r~$}*?{IgzifgV zz$rf_Vryl==Y24imX`GK_I?f9P0fyWXHttGgGIX=7l{Urj6M*rafMlK{3tqzEpnM` zmGPThggb+VNwQ6Tzz~x%y~%N@Bne()*DQj!PfX%aJ*=(h=}T6;zl|51ir7%)L5!!I zJN)G2X|(koLVF*;3=MN|1x(>IrN=o;Nhcjxu2gIp^nG8-fy-asf&S>fMgLj;%(0Im z@(9}!12={=!X1s77`}a6rNz!FJZ8SCat?0cy6JKjNXe~Y#l>9~7Krs?JEO6q{v9TD z_+TZs8my)28(x}P#w&b^p|#G6d2#=F(AMY*#U`80W(5}6EK8{#4=}jX4ZR9X7AJXZ zx!}2=0x$i{Z38_f*4AY0I7vfFo$Qki*QY2EB#CjW_mx+&q=M)7ix)?$bK_9^PBv16 zN^~Zm9Ot#DSvl?CT?>hq8r8Ifo{16bl$!l2(LCAZP*v7Me2@hV2$BI%^PMfpo2P00 zyWf=U`W$EB<~|Qt>UrawH+r*GgE-TEJ%ep9E}_)6JaWBND6*KeXvEXig1pSBme7^d zzUQ%Krrzk2J)P6!Q8*0`5EB`9frcQTz%WU9<_@sPM;%~Eh}L!LsOm;$?1yJCB#*0^ zCVIX(SA@ZE4cI06(Dqj8*2b6+n=Vq8{o>DjiFSdx)Co`8G7SpHl^bRZE3LwM85j-| zGfhRv1IlE^@@M8B(kf0V3w+noR%woEnc^T|q}62_1LypD3+}~0I0St`hA6u$FL}kB z87lhOqV|AJ0)lv(zE%v9nD_A)I}7ho>=K!X0dL=nzlCJ*M#wM(`y;|%Bb~(uTGKF~ zeLDano&U?eRg7%S{^<=|RrLPh4JOppSCVomp+rRAa5I>ddPGymsN-XE$g9$(+v+b& zf!<)oP5gK4hDUDLU{2T{tKobUbi{d@GH(6&FK_)C{6F4bzzk7hTr8U_g~Y6|PdyWr z;wH1K*3@cq6S~TF@I@wU@nC2SQ&$D{2s|1`v*hnxkGy+x*v_K+z6VfX))h%*>yEpf zz~%GB2(4TG!B8C3O=E{_$llN8>mw#}d%9g{|$YZ+S_4UcsJBmiHg@WfCspSPQTS z)6>x>C&)4qSzuD^E&{>x1W>gA;=^Ad@V9aU=xkVOTmb`8DTznR(;k7@Uo_%>YGyY0 zoJ2mp_F4g%dcFrZzs5O0C*8R7bz}|b334;qc@Rmiu0v#cYsCf9#RW)xe>;JZ!q+jU z1_*OUiNA2&G)S6Dp6vfH+#f+O?Tkwr@brQu6-pOoW7W;U&im@8enVELiX>2MQ zD?F*?j42V0begG%IdwGnVRcsOo-(0TN1hQqBvPzmOFFz3ljW=CfLa+bmO*SH(>ceS zd&A^$HOcN8T!aKTaDRnl;#{vQk^Ulf)j%_Fg^;JcB0QD-```L*!QhzA`oMmh7x4M- zM(ki@Vr^t$MsMk2Yr_{M^yM2N+~>>oJOsuUklty3)e<4FL`kOWM`CP+`jGL+2juTc zD=4ji0rWn?%+rHbPGPu1O{^6D^#P7cN;s(?UpKaqV(pTkAM-dGCmc%KN#Fu`Q zyJ@!jGsZh27H$(%cVor}8sKAxZrvB6QG*CKXd2JbZnMbWvyP?**@rh}!<)0pFi z!1!cwJTUu6P}Wmf8BMlo11RA1bftd>5NWM!xA9&&O-@wXT!hx8o79ZJQw0}?ZzM07 z7>WUo+IP9W#^o~1wve<9B5K|I{4A2U=V9EUw2pcMzv&V@v6a%&HdvUyNM|CdmdV|x z`76b(v$x!g>V*2zLs~MX?KzOXN)oopM+zJZP2T|BJDe!bgXW!iT}l!`Qr^jB zIAJPvL^XHQkeW!mSrbdAl@;aC_{TWsCRU@QuJgS8aGl5b=b=``-NX&UT!cP!<)g+c z)JZtrpNtVifH)T2Y1iQK^}q%kHRY#yeXY5~U2oFX!*bTgnVtd5xy)c|N$k|0HNeH- z3|H|+Z*cbu?H}Se?fApdqsr^4h+_1JHf(|- z;%>#4aO6lG`u#VesG!6#R6mdiJPzy&G5nvl|5xg(x{;0RpS~taSxx~MOZlFXvN^5^ zK7WNN6x1OkMFv>o?9arg%;6gs9yZnoiJ9YZeL)t0g$~;42J(c7%+FclaFiXFvewgn zUXG7V^zE+meIq&3qTKRD^0Z030s)F8%GzW+4J&dU_9!yaHpxG8xr0`DP1s+mK3!`7 zjCCGRV?vNXoT_B9HQ-B4*Gx4_n^sW?N0FBFr00Q{OQJ3QM*(zEocC($@m2JkG z0fkc7N?w)e0P_Z=UJ4xY16iM@+V6URcMOhTqwUQG%!Q8x3^_5i$9(2;kU8p&OW1k5 zYXV*lw))i&TkK`fqYO)|R@yo-Y%4HyI^z(z2R2XMItZle+!7-{CMVjZvCub@Th?7_XIQR+xlWLnCr zp4XN|{Va)8wXL(Vp_-PO-!P)9JyrPYWk``K7sv~|3>ks32FL%8LHzYqpjlEZMC5q_A!eURUE%tqLzZHfd)IpQ6f7uLd)!o)W+?KUdiiz`>gt{AM8po zRBH&{5m)Uz%EHb3F(b{tYMSi(%Hv?7sIn3QTr%o6<(@SJ#!4Dy``KMJ(wg zF~a=uSf8CvGU+NKt{qF(BdF>D9(J*09J`cN+Y2oxJctCp&AcXjcHL@=hv%Hruv~lX zFGzTH8FEHl-qZlS$rDZaYPyirV=p@Cx2NBUFGoAgv(Tdv5E-QVE?<8j#Pmb{AW~w| zSNV{yS*pOCj-QrR=2C!LtA(0CDwc!{3 zxSqyRr*VvmWN$jgvoyRT#YE+TStj!mfpLk>UdK4Ne5sbTXWKqZ4x!MG6|t0!b-{87le{7WuP?!5=Z9%Sv57h9=+18>veV? zQB?#@G6w$w7)0GGci=>^`T_7gT!FVP+Mn<9&;7tc=D_IU&x(!$pA47~qA!Y^`mTgA z6>+$jG=_EgHwu`+Vb2v!+vw{hlX{wz4#D5)!N9_ju4Er? z>OPCpOQ;%5Z*8Bi-z9-*cQ&i_%ab&-k=)J?9|;QYn2vS6=fTTuI>DD%68dM~k{E$E zP*aNO!SU+fsMmiSjAaSr`5&V@{{J?Y@^1$tVq@g|KlFtE9o^A5m7wuJLK+Z>q0i<^ zN>}dD4x5fBw#DoNoL7-%2!EtQ0%-}-YaWa#-+;%n<=g%G^84wtLlnvXW9%EFD{Yr; z!;Wp+wv&!++qRu_Y}>YNyJOpC$Lyr<`p({aoc--P?m73z8e@$$)}OcDdg`f~HEULY za6mwR{G7j&YQjB$lMXv-pBojSXzH0#)k2&-obu!~!qB-SJ!EX1qpruJjZA-I9mD$5 zOz9Je*=)8|j3f9)D}x#=?kjXh37j?R5i(vSO?#}-L^Pcf_-|6;z_;$~>oAv>Kq5Qv`Z+cF*co@3>yrKXx#(|@0 z01rXahSe$Eu~Fy7?@J=^mi&OpEqz`!^$-g+M^o6tS>gu(mWtP0)VXB`;MBd6BW>lc z>}b0M2VKlQ@&S&w#Av%^xdaM#!dQAr2FMk;BHMl*ngQy2;>^F(u^AGls-S;^`AN0p zdG4J)euAUbDc*6T^%WnetNhN4+#SCS1!)P^gt7P9YkTya1nqn1-&FA(1MPe1Cy;oI zgZ7vJWB5G*>R+1M=dq`Y(0v-v=e1{VvbT%&3h{dp^iScuzw%uk@+(6(!w>{?^PmG1 z=qRsDVcpPB_M@w3de%uV8H?tqpaX~4;k*k9sCd2=8>qQ-p}4Wa4t|U^UdERlT?h3R z-VnaNH!*T-4Ln8B5_-xS4j47oPAv6PW4 zk`165MJY4AZ>j+amle&%9p%N4OqG?Ww^MF5GS}lrh0{$S^i~{ExBGhRU9#AD7RWj6G(QpHWY21pU-KC}d6j8%j zkRm_+91}absKtyQdrbEQhLav&JAh_!h>C@bZ%tV>@_^3RLT4EwL~!wb3?l6AqHOoF7d!+YLh)O zqM*bWTFi_?pP5=^TZ#;?dnO;M;-jCvJ@Gn$+`|p>1-n^tq}s~4oo=Gw<{uoxD`Er9 z)RZ0J{b+)28|UWQ7P8Q1)-i9jFk@8vSpnaxaWQe8klGk-5vV_A%N``f`NHlg;a8Uv zYgRn6$?z*-A0(1=DYg3Oa^fr26X0I$t2oVuHX*M+xaMuJ#>sKUDpfgoC*1T%V%ZdX z&!V44hR$V>k7uoQmKDZpsD2cd4G^Yc#M%HyX=yGLl@L#y{m5-2KYd(Xw1== zaY~p8aB|E|C=&)^#Jla2)-h9JOb^Q)F@mJ&r7is)T8QKMO4$59Jyu>lf7IQVp?pEE zR=jx|L&2uq^=<@!CEky{JyDCsx0O3^Y!wX(Qsa{<-;^BqX_W~h4p3UTeiq8Gt`w1} zvggY78{DXCl4XT+1kfS~jGFmJ60ABE#cjaFu$m*^M3Mg~b%;E|#zrcT43Qr!8y|0S z05vUReO2Xz6|W!L&5>LT{?_N&o^WUqR(~9AT&}uq!Y*p2ta?JBRGpwkRxvnqn?6+v zkVRC+l9|{X>QpUlB5J~-&YCbQ0O>Zsv{|!Z59|E>xEi+AK+|8T5D{o?-V=I4cj}Zt zQ)%=3Z8jI2=QTQQq>zu7%aWLBjhwdn^2T-=Oy{uJP(-c^vG>&&n2oY{O-@0X zU^XAIr_y%WIaX{mv-GVTDrK8X0ggjtZtdtAxHJjcylsVsPpQgSPK(rLG)~#fieVYl zP0`bOshk%2mhzjne$>+i@wT}L?L3lbYF*Ql{`@&3TwXZMkFS%UBqdN&C$CI{hIAY&x;}45o;{^_YF6mpLwoM|+48T=C2f23R8T zR=3~bAh63|hP2KOY`Pu5eZYty@1=k};eW<+b7XOX!P8VYCyaWME7`?N6@1r%GVPYUscK;lC%@baAs$eyA%zPP{wkphYLg=Wxwhw#YkDp5q(@F z<*Tj22Al%1<$n7GoUS`0pzJ)%9V)1)to@1VVSW3DGnp5wn9FMBdA@Rvw zF#~C&=;-(k@t-vYVMtey5D%9|p*75p!r3foL;-A2-|BCMbE`T6i|IC@s{#+p4JhO2 z1_FVrnq*_5ubm;EeH2?QgKRs0*p8-NQ&t70DGW@a|MiPj{Wd3at3Babmgu@2^O_yC zLDza}&1~hKuF7q0$TfM;HTi(sWcV60#VCxrVyiY>t2WGlu*N z)%8X^Yt?#KG#8Dv8`iZOR2z4wR^9UckllMj%(l`C&S>$KAjSb`FS6tYS1}P0#~@d( zLH$|HG?L#>I;LDcux=!iK3^P=U$(^c-tqnhkkmDuwL+6d z7>}Vv$hM%FO;>sgTWx}zTDMK4Lky+Ctu}`4XcQLl?EqgpEBaG=Lh0mkNH&P_PeCuMp4_q3JQ8in>!;f9LY#`bCLCQNAFKNWuBGZtk10{JB7Nh!$H zo75YG$lmLN848ujO;=_EQ-(Lv%TZqD08^%Df8LGz!uj?mlWWWn+t<-qW^%IV(BiOO zu=$hIgQ+aelp;Tp&+gu4ZVzR6xH;onv9so2@lT%3n&Anp#gafcjv z=QdlzEH(9YM2o9*GVVAsmX|v-+U`I6sM=9}4DFKbF^uvb+&oYJ?8?13vp*!ez(cWY z6Wp-n+@Qm?tvf{-6i*{0;CL#)Ldh0p+^oFt)!9Xmsq79V(ldlywjj%S?ZLUBYM(x6 zsadmCQz}rQrgO^LW}s(u9|{QEq}^FR)o2(ElFp2G&)S}45Y~IoD2!jOIH)!ws#-TU zaGlFl?T=)`(41~Eb**z;?$IfZUbx5{@&NNZDE|rkW>F*wgH(>SwLq*;l3Iwj%LOoh1Y~pFMzpNhiLRMu(Gu~znF31`db|;lcFkYCG-|WIrX0}>A*Ox(0dT0q$rj%%TEe3Z%-A6+Rr7>Nv9qc z^vdJyLNgZV5R;z=bk5Z*;_X0XJCks>i*XDwduAEE^7hwy1{(xjF3aA~tm%8J1cKNw zI!_pT8(qv1!j)CV^6D_~1nUq62L&zk$j??0mqp*r>i4S|#{DqK@EGYN@O;#8!?<5@ zcO#1on0@fAy}Y6$P?P)>TY6WDi#&eD#@upQ-4N-ew8$S(tc;FY?@uA?V22f9fzO5(Z<&xutL&zmFRRfsLo9aiy@Q6lRs}PVjA} zuAfl9CgpWwMcuk2JVJ%Un=Gk^rlV)Q!Fa7~lPB1h!sGhx-`N^}m97a``1fA`&`b!> zfd0SgGS`1K=6qHDi&f7jEiEjZ-yO;8^CL335U%%oLH-Z$5hWGwsqlA0s)SHU6mnSw zzd-*1|9y(enKO6)<)%!N@4uu=}Rws|MkwvYX>?C3r*A z4|q|;e41tbHFP(bM!GPeJ%yU7T<-F_FA);@v}vD-Ok?>@T$5eBK;*69JevjPSp`Lz zlU#Z;ZM30Z!(CVW0!N)A*L=Rl=DU<0&PG88<6JrOI6uk>l#cL+Ob&=esA=w%2H1Y) z_RjPO%{!2}24nE%X$$!RH7HdINoq5O$grv%o$VD<7x?5Z3-{13t|neXEko5D=0VgO^>PgLe_92 zcYkB6(k%?N)07+iC3;)=_#nFqThBPA;L=Ax@ysV++?TKUh%RrAKc6=-5KN?;jo&vYw;i(y83X~m_- zU_=?RU@~_8jNh@X=su!j@*=zB6mbP#=)pviYmy}KLV zXQLTg(~Db}$99qthonRS5t$k1nHlWNi}(hIe5gJa_4A>m7=g+qdZgN=qH#QX?t;`UjtFo3j zx6xTQyRuk@?*GEUvK@R@{~ZV8rf|U+T}I{x;9!W^(`f)4Y|+<^M-DRVpEy|VUpQEX ziPU#mwq$kc+^DaYr@yuuBX@^ZH)m53=H5fNszX)OJT}3n{{% z1bz?e#t=-EdzZYOSmQy%F0y6Q8Np=k5I6uLi%}^(5^q$Gw8xx0}-!-RENe&ySBhAoxQ?M0+FRa61`xB=>*`)FexG z9a!QBtP_4y=E zifgcjWKc?d258;a@b=|8Tv>F@>DzibU>mCy@XAdaa(>aSd-*QJN(h%f%^aiBWtQ;J zkKFMT!UUgJ2Ii+qDO!Gng@vK%M0UH4={NY-rWlfkoevhDt!f6f6*zB_1>sg7P{vk- z9~4J^a^@cpda2+VF~>IfrBg#|C^7wnCt&7^HHPkN)${2zIa=VROLdYR!PB57=G+rk z42emM)RXIp?lS2sFal>nE6d0hoQj)O*&6ai%R7X*Sl-*q2PyaHuMB%#h^s?|?J;Yz zcvcO@IKgn$8(6VQWYY4EQt6c$_-Q?yZC{@oQA34ofgRfqSX&(dj_XlUlGcM$0jjI{ zp8dPqBH}fGD)l64VF@c@3}=U+9_IM=q|#Fe#qvJ1qJOd=c_vM3u9~TG7bW6lbglAk zv-n|Wp{br`A>T;r`1VgUDBmNp`(hVCKYq7pVqlx3lOe~%ht-i=;%-HP`vO5t{+=bw zh^Is@QpGPcbCeO0dGY4FV%&2+7dH`(y~xnjz1Ziv0TeuqpqGqrY{CsFhIy*{?9$gL zi&BCdw<&}8WCyq%H5@ezNwL2xk;|g6Qry@kB0WbYJ*c>E`);-w49} zTi>u1{*}fH@ZWuj^xyqu71itrIR~QC(kFVqfZfW0u0!+A$gT!WtyWd7M%X|+atOEc z>u$~9_B6m9UDc%?Ld{)kft`XeUmu$b`)%2R9e9qw93oaNBwTw9zb$JTOo zi(9A|t_4L?d<;yxZ_Ex$knM_C*nfFVjjb^im%F5)PiqPPHGF1qN(qcB#(B;W7^_fI zQ6UbrN=X5oLPXG4WjvfRT$-C|@>MMve7NX_t=T~w?@^CiFCVa=CoHc}A3om{&%R!@ zQJ}v~>PB7SeoFE8#mVk$tIHquC#o>|Bg+8U3)_J2M^KM=z^#iNI)T^3UQ*RjQ3MiD zcjkeBcq8qS`&bTkCYiT2DUnNv?Kb0kg_276l8RIrr<)a*GQB+QU&t)Z*%R7Iz2y5C z5|Fz}DAk-Z`FOomB3P$znrcaOGhe$~cYfU*j59p;D$##USZ_S+Xn)R>+V4u8!{J}d zdwW_qbd!e&d94@1(Hs^g^JB|Y`W<{w&RTe8ugdr(LInW~c3G0fu>JKsO`X5M_9Pa2 zS@Is=>4vM~ph6AU^8#;ZW_q)*86>Y`a}G`Sp^R(b8T zUdV63N?wd!O?4cgbr&I%RzR=mHgUD`+Qb^LWN`qHcEg&bEg_pj%yc=~>V3$WyxR5e z`vTG!g2A)ol{JPHbxl@cbhXe>Ix!`yDXz~99C0W+Ai#4z2kXUE37wiN_>}jw)mL6K& zx1C`nD<%sxe|<)o6+C&?PH|hJtnO=Q(VI;b3fH>FUPYKb&LyYbo5@($H8L-2&O*4G zc3mo!7;$1qk1!x(qdD2cm&+9%;w^53adhdTP8sDX&%8rYgs{S2uez2|aN^4>z9GJ< zWGsw9jRCYy-%1mV>uW387>y>V2QmX7JS_IGa#?6~l71MvtqpMVL1QggRVh`DC3dxE zT|X1KB2D*bRByY8a<|!Hs~70dv-nW!aeOHDME~?!7U_wd|A658ksE6lEGZdI*+7x+W zRdWUZF5>uC-q8foS%L;g%m)9jyj9ZN?!WU^g@5F&o24Pav)_2)I`@*v1>Hi`Cs&zOz=pQMF3ixhK=PC#i^bqwS zQd?41644Vfog7gI{?0L4tfrNc$<*^xNE;Z^1>G`1)TN45yDMp}7)v+RE#NSpQLW}o z^4O}P;{Ft5NPzB$VISONA~_r<_A6mZxuy^fW_$0BC|kxiAjwObvMHUGX7<8Ue=(9} zXd0)XobPF82&wL%nY|;^lhi{Kj$c-<+kq30 zu69F*&ADC1mdVBd2hT4ox>JTH81KrcE||dr@p+!6?(07iIGYk${a(PS#sC-+^>3$J z$<^jx>Azfq6$qdUUNrx-#IsNunNkwvN(}=(Fzhh@c*%t8UEQ^JjsI#*bq`nvYr-IE z0|MWjVR+Ir)}_KDZ_vYkUsn4xa671V znzA~x5-N=rJG&!{ph1@``uM?e5)c^wSHrg z9bx~@tbtEO$7ArJueL2-86dw1XocbN{(i=PcPzc5C;k=-Ra3PcsbmM}-mi{1B z$M}|{JG&1C8ZtORzc|qfJRGw6)z#GW3}0`r06%cHA%h5tHh-({72>;`7TLXwR#~)P z_7?J4?i?1*HFQCg%u$JrVNdv6ubLJbNAStKquA}}i6pXD#DbF+|7@}B2(7tkd^*<{ zG`#s2jn{}0S7^ojRAI!*Lag(Cwux&pW>>g6+1OZx%ZTA|Cvh-BX|uCuS!Hnk2A6IG z1`^TtGvhSI-{!H)KT%JG7!F)4r!U{XZTIQn<`47@FbwhYHe+s1Vc&LGt57i7)jQ2d zMAsy_&uQC6w1-CbgU9I=4(T?t7eq~Ou#{gSer{-s#?A@f{zsMMygYH|0I;PG;D-3S z|NLdof0mDmw$cFq@ndgM_MY9jnhr-4Jv(bc62T%XHB{GsZ(cW{IL+O<*8FPWe*}G3 zoUax^hoYn9VVPx_y_)Lw@9qWW{5~@n8X^m$jou1=;Hsa{{}`f#n(e_1ONA=2ARVWb zi4VpcVpK!&vG81MwJ9v7X|S(Br7wN`evyoC3b^}^GYOin<%)G|c~CF-NT#=zS~k^` z#DQ0-K2>>WKf^iY1OCwd;-e;TEG^lle?zh!gC4O0(HAH5y%raYn$d}4Q!ZWWoktvJ zCoxU5+nzH`nP=#z$RTh&;xOQlOkzgIka;Y@XfXLAxJdccQ4{cH_)vPIqoW4aI$Flb zY>{Mka^ul`pqR#%BRCsvb>Dc9%^?SF<{zhI;FrAJ{_EBb%*hyBobKUfl$Mmi!w<#B zn0F$Av+W1z2i3C?T``mCV7i&Xwb8|R;&wy=j4bW>1WLz*bg0+P3RdV3Esr`1v6{DD(uF#!W z8yWLp`K$xWW|%LGHlifI3&|5j&aY+hLAjq92NKCoedclYepVpte~rv%P@XFvWq8>a z!pO=%+h6}2_SKvP8^W0#A$c&)j`ODzcs;bKMKzf)$--t4W_+>aDZWBYmjEcUg6dI< znU%U6*(*nF)-umESM39`dYMb8^a*W!_Iv+YmbYzuN6z?W&yL%EUoSGnkwD#2l|&!whDO2n z`~~Ol?sPZL*1QOCrE9=M+`pKr{|KP}i#z?(nN)3^H$@QrX4n;tV0hL%fu$DU+bgb` zRh8bc!@gT1LvmV%F9s*CHuuWk{##W!f+3@%`}58Vuj9rBK<}+kXOW^kQJtm zE9u$XHh+1(S@(XQCGZDH4^0sRR%g?ZCJCql9Y6HK=3p!;jtpIAW%Y?4z~!IXBiT}^ z)5cP{Yw()3))*&@l4teF93?~tNH^{~!?A^a5vYX_a0kpXYHS|7v}1j1HD0k1C})IS zx=x)8Qh*M*Qu`0<8k z7!p8X%yWO9)uPLjZY+Ua;u@;5Y@O&`Yu07NwPgp{F^U5}ePo?GlH*Em%N9$aEVx-Z z5+JDWqDxc-|KcmilEfz8I#m;&FWaz)w6IfpyTzp5eiTcRUD>t`1xggPNNvAs6=hbA zC?1nLQWIKR1){2ArdegnGwsz6T2PM}8r!HMnh*XKJk}5C&^~76H-?DcCfGy!koS7 zo>sse(c2*lu^s^*8vpd_GXa`9_RVPA<$&tLd?RsE?Ajq3vs=llBGmA=1~#%XbnR=! zPgOr_TPhFdkq6vwLzFqm{cX|edmEGEs=ShnR_K0fYpoSK&ZG0^s#JUUXMb*~z3X=s zKlWvfuIlfId8FJUmfU1`jJ5+79_N_;9MA@>oP0H|K^1<9eW&8UhUEi2hZA9^6a1+o zzG3%0XY}1s)=7E~Ru>H1%1PKo;0P^G0>7k+B!I(GCYhK^(w~^fa#TXAnCVG0I@NvP zr+oa{mgqf`((&%yhVdg`boSVJP7E#sNeI-D!5(YOBcD3-2fm6u-GL3PH-zsIM05%P z(hA8VUqGv7?v^Nk5e?;%AZK7qz>9~KS5{3g+E3y=!&IM0?hu=Q-px1rTm8NCjHg7% zCBd*<)~$f$cibPCq3 zSp|eMFHujw9kYO*p}3ufevfa^ph4(8 zq}}rSDyxjrc%&8kG|OL{$2sMn{ztjklW_FR2Z#?)0DTF%|NraeAJHL4Ra<%SJL*?! zj4TddhNA#FQhmdrf^vsatwcri(lmGgI8R8ENM^%jVR%#E4&ybF#RxCM@o|~p*uxE{ zegirs?CObU_icu&D~mv&&j*|_)*BoCzzG(*HvFVA(i;0|RaK^P+(N-oQy5GWxQoio zE@IvmZ4q`JgKM)|%`+u{F5+DHriP1#HAY6$baIjzSAw3d1RXOuyJ-;X0K967;H|{; zW+rQry~YJ2yU>y$y_W1`pzxqZb2yQj^Tx_+o1&7{Uw6M&^}uwtc~M?wwb|D0G+Sxp zr9I0~A!<`;X`wYTz=R~|GHr58mSfFD1qA<+jw?rkJt*%d{bC^bT7kkP3~Yq%_XaNO z78|c#X}=r!X?gUO=`^zq_Q|UAvB}HsGtP71=%#pYd4_0XFBhY z>Rb+wH1MtEpiUhQV@#{0yvU8Kz*wP{+K00|G=Jsw+V=$VDk>7`P^~Z51a;m?Ds|N( z%-m}pg@HEhYNnqji}~5k*IsXRHlw_HPo&WWRicSrT9Rr^L-qCgeBR(S(_FpUNA9$m zL49>A=?07QA>FaU;g@G3*|9=d7|NJ#EZG)nauUqza&DEfy-kO(26N^inzyfK?Ll3D zn9&@2c(%$EsMs0vr~4Il=#SJ9EuAJgA4Dmqt>>yMr0=Uc|LLmEsp@BaXwre^VwKBh zq_xjT8~EM09^1x%nG#H~MnM@WWPx^Zs@OJh*OEA;m=tbHm}RR(IOCIJ(Kj>PU6Jv# zU6I!y*6Rc_=oaycYf)HVk<@-9Ev)LSc{v6`aoDI>V0f@ zoA0Du6o_DtDE#x-1ZrA)5CsvD@dN>RWNbz)tFN)+JT6$fi0gr!8p4k#Mx�oMFXR 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

`<^K9KoSHVVg)Dv&XRG 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 literal 0 HcmV?d00001 diff --git a/extra-src/altimeter/Alt15K.java b/src-extra/altimeter/Alt15K.java similarity index 100% rename from extra-src/altimeter/Alt15K.java rename to src-extra/altimeter/Alt15K.java diff --git a/extra-src/altimeter/AltData.java b/src-extra/altimeter/AltData.java similarity index 100% rename from extra-src/altimeter/AltData.java rename to src-extra/altimeter/AltData.java diff --git a/extra-src/altimeter/RotationLogger.java b/src-extra/altimeter/RotationLogger.java similarity index 100% rename from extra-src/altimeter/RotationLogger.java rename to src-extra/altimeter/RotationLogger.java diff --git a/extra-src/altimeter/SerialDownload.java b/src-extra/altimeter/SerialDownload.java similarity index 100% rename from extra-src/altimeter/SerialDownload.java rename to src-extra/altimeter/SerialDownload.java diff --git a/src/net/sf/openrocket/communication/BugReporter.java b/src/net/sf/openrocket/communication/BugReporter.java new file mode 100644 index 00000000..048701a9 --- /dev/null +++ b/src/net/sf/openrocket/communication/BugReporter.java @@ -0,0 +1,58 @@ +package net.sf.openrocket.communication; + +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.net.HttpURLConnection; + +import net.sf.openrocket.util.Prefs; + +public class BugReporter extends Communicator { + + // Inhibit instantiation + private BugReporter() { + } + + + /** + * Send the provided report to the OpenRocket bug report URL. If the connection + * fails or the server does not respond with the correct response code, an + * exception is thrown. + * + * @param report the report to send. + * @throws IOException if an error occurs while connecting to the server or + * the server responds with a wrong response code. + */ + public static void sendBugReport(String report) throws IOException { + + HttpURLConnection connection = connectionSource.getConnection(BUG_REPORT_URL); + + connection.setConnectTimeout(CONNECTION_TIMEOUT); + connection.setInstanceFollowRedirects(true); + connection.setRequestMethod("POST"); + connection.setUseCaches(false); + connection.setRequestProperty("X-OpenRocket-Version", encode(Prefs.getVersion())); + + String post; + post = (VERSION_PARAM + "=" + encode(Prefs.getVersion()) + + "&" + BUG_REPORT_PARAM + "=" + encode(report)); + + OutputStreamWriter wr = null; + try { + // Send post information + connection.setDoOutput(true); + wr = new OutputStreamWriter(connection.getOutputStream(), "UTF-8"); + wr.write(post); + wr.flush(); + + if (connection.getResponseCode() != BUG_REPORT_RESPONSE_CODE) { + throw new IOException("Server responded with code " + + connection.getResponseCode() + ", expecting " + BUG_REPORT_RESPONSE_CODE); + } + } finally { + if (wr != null) + wr.close(); + connection.disconnect(); + } + } + +} diff --git a/src/net/sf/openrocket/communication/Communication.java b/src/net/sf/openrocket/communication/Communication.java deleted file mode 100644 index df3b0ac1..00000000 --- a/src/net/sf/openrocket/communication/Communication.java +++ /dev/null @@ -1,262 +0,0 @@ -package net.sf.openrocket.communication; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.OutputStreamWriter; -import java.io.Reader; -import java.io.UnsupportedEncodingException; -import java.net.HttpURLConnection; -import java.net.URL; -import java.net.URLEncoder; -import java.util.ArrayList; - -import net.sf.openrocket.util.ComparablePair; -import net.sf.openrocket.util.Prefs; - -public class Communication { - - private static final String BUG_REPORT_URL = - "http://openrocket.sourceforge.net/actions/reportbug"; - private static final String UPDATE_INFO_URL = - "http://openrocket.sourceforge.net/actions/updates"; - - private static final String VERSION_PARAM = "version"; - - - private static final String BUG_REPORT_PARAM = "content"; - private static final int BUG_REPORT_RESPONSE_CODE = HttpURLConnection.HTTP_ACCEPTED; - private static final int CONNECTION_TIMEOUT = 10000; // in milliseconds - - private static final int UPDATE_INFO_UPDATE_AVAILABLE = HttpURLConnection.HTTP_OK; - private static final int UPDATE_INFO_NO_UPDATE_CODE = HttpURLConnection.HTTP_NO_CONTENT; - private static final String UPDATE_INFO_CONTENT_TYPE = "text/plain"; - - - private static UpdateInfoFetcher fetcher = null; - - - /** - * Send the provided report to the OpenRocket bug report URL. If the connection - * fails or the server does not respond with the correct response code, an - * exception is thrown. - * - * @param report the report to send. - * @throws IOException if an error occurs while connecting to the server or - * the server responds with a wrong response code. - */ - public static void sendBugReport(String report) throws IOException { - URL url = new URL(BUG_REPORT_URL); - - HttpURLConnection connection = (HttpURLConnection) url.openConnection(); - - connection.setConnectTimeout(CONNECTION_TIMEOUT); - connection.setInstanceFollowRedirects(true); - connection.setRequestMethod("POST"); - connection.setUseCaches(false); - connection.setRequestProperty("X-OpenRocket-Version", encode(Prefs.getVersion())); - - String post; - post = (VERSION_PARAM + "=" + encode(Prefs.getVersion()) - + "&" + BUG_REPORT_PARAM + "=" + encode(report)); - - OutputStreamWriter wr = null; - try { - // Send post information - connection.setDoOutput(true); - wr = new OutputStreamWriter(connection.getOutputStream(), "UTF-8"); - wr.write(post); - wr.flush(); - - if (connection.getResponseCode() != BUG_REPORT_RESPONSE_CODE) { - throw new IOException("Server responded with code " + - connection.getResponseCode() + ", expecting " + BUG_REPORT_RESPONSE_CODE); - } - } finally { - if (wr != null) - wr.close(); - connection.disconnect(); - } - } - - - - /** - * Start an asynchronous task that will fetch information about the latest - * OpenRocket version. This will overwrite any previous fetching operation. - */ - public static void startFetchUpdateInfo() { - fetcher = new UpdateInfoFetcher(); - fetcher.start(); - } - - - /** - * Check whether the update info fetching is still in progress. - * - * @return true if the communication is still in progress. - */ - public static boolean isFetchUpdateInfoRunning() { - if (fetcher == null) { - throw new IllegalStateException("startFetchUpdateInfo() has not been called"); - } - return fetcher.isAlive(); - } - - - /** - * Retrieve the result of the background update info fetcher. This method returns - * the result of the previous call to {@link #startFetchUpdateInfo()}. It must be - * called before calling this method. - *

- * This method will return null if the info fetcher is still running or - * if it encountered a problem in communicating with the server. The difference can - * be checked using {@link #isFetchUpdateInfoRunning()}. - * - * @return the update result, or null if the fetching is still in progress - * or an error occurred while communicating with the server. - * @throws IllegalStateException if {@link #startFetchUpdateInfo()} has not been called. - */ - public static UpdateInfo getUpdateInfo() { - if (fetcher == null) { - throw new IllegalStateException("startFetchUpdateInfo() has not been called"); - } - return fetcher.info; - } - - - - /** - * Parse the data received from the server. - * - * @param r the Reader from which to read. - * @return an UpdateInfo construct, or null if the data was invalid. - * @throws IOException if an I/O exception occurs. - */ - /* package-private */ - static UpdateInfo parseUpdateInput(Reader r) throws IOException { - BufferedReader reader; - if (r instanceof BufferedReader) { - reader = (BufferedReader)r; - } else { - reader = new BufferedReader(r); - } - - - String version = null; - ArrayList> updates = - new ArrayList>(); - - String str = reader.readLine(); - while (str != null) { - if (str.matches("^Version: *[0-9]+\\.[0-9]+\\.[0-9]+[a-zA-Z0-9.-]* *$")) { - version = str.substring(8).trim(); - } else if (str.matches("^[0-9]+:\\p{Print}+$")) { - int index = str.indexOf(':'); - int value = Integer.parseInt(str.substring(0, index)); - String desc = str.substring(index+1).trim(); - if (!desc.equals("")) { - updates.add(new ComparablePair(value, desc)); - } - } - // Ignore anything else - str = reader.readLine(); - } - - if (version != null) { - return new UpdateInfo(version, updates); - } else { - return null; - } - } - - - - - private static class UpdateInfoFetcher extends Thread { - - private volatile UpdateInfo info = null; - - @Override - public void run() { - try { - doConnection(); - } catch (IOException e) { - return; - } - } - - - private void doConnection() throws IOException { - URL url; - url = new URL(UPDATE_INFO_URL + "?" + VERSION_PARAM + "=" + - encode(Prefs.getVersion())); - - HttpURLConnection connection = (HttpURLConnection) url.openConnection(); - - connection.setConnectTimeout(CONNECTION_TIMEOUT); - connection.setInstanceFollowRedirects(true); - connection.setRequestMethod("GET"); - connection.setUseCaches(false); - connection.setRequestProperty("X-OpenRocket-Version", encode(Prefs.getVersion())); - connection.setRequestProperty("X-OpenRocket-ID", encode(Prefs.getUniqueID())); - connection.setRequestProperty("X-OpenRocket-OS", encode( - System.getProperty("os.name") + " " + System.getProperty("os.arch"))); - connection.setRequestProperty("X-OpenRocket-Java", encode( - System.getProperty("java.vendor") + " " + System.getProperty("java.version"))); - connection.setRequestProperty("X-OpenRocket-Country", encode( - System.getProperty("user.country"))); - - InputStream is = null; - try { - connection.connect(); - - if (connection.getResponseCode() == UPDATE_INFO_NO_UPDATE_CODE) { - // No updates are available - info = new UpdateInfo(); - return; - } - - if (connection.getResponseCode() != UPDATE_INFO_UPDATE_AVAILABLE) { - // Error communicating with server - return; - } - - if (!UPDATE_INFO_CONTENT_TYPE.equalsIgnoreCase(connection.getContentType())) { - // Unknown response type - return; - } - - // Update is available, parse input - is = connection.getInputStream(); - String encoding = connection.getContentEncoding(); - if (encoding == null) - encoding = "UTF-8"; - BufferedReader reader = new BufferedReader(new InputStreamReader(is, encoding)); - - - - } finally { - if (is != null) - is.close(); - connection.disconnect(); - } - - - } - - } - - - private static String encode(String str) { - if (str == null) - return "null"; - try { - return URLEncoder.encode(str, "UTF-8"); - } catch (UnsupportedEncodingException e) { - throw new RuntimeException("Unsupported encoding UTF-8", e); - } - } - -} diff --git a/src/net/sf/openrocket/communication/Communicator.java b/src/net/sf/openrocket/communication/Communicator.java new file mode 100644 index 00000000..24ed1f56 --- /dev/null +++ b/src/net/sf/openrocket/communication/Communicator.java @@ -0,0 +1,72 @@ +package net.sf.openrocket.communication; + +import java.io.UnsupportedEncodingException; +import java.net.HttpURLConnection; +import java.net.URLEncoder; + +public abstract class Communicator { + + protected static final String BUG_REPORT_URL; + + protected static final String UPDATE_INFO_URL; + + static { + String url; + url = System.getProperty("openrocket.debug.bugurl"); + if (url == null) + url = "http://openrocket.sourceforge.net/actions/reportbug"; + BUG_REPORT_URL = url; + + url = System.getProperty("openrocket.debug.updateurl"); + if (url == null) + url = "http://openrocket.sourceforge.net/actions/updates"; + UPDATE_INFO_URL = url; + } + + + protected static final String VERSION_PARAM = "version"; + + + protected static final String BUG_REPORT_PARAM = "content"; + protected static final int BUG_REPORT_RESPONSE_CODE = HttpURLConnection.HTTP_ACCEPTED; + protected static final int CONNECTION_TIMEOUT = 10000; // in milliseconds + + protected static final int UPDATE_INFO_UPDATE_AVAILABLE = HttpURLConnection.HTTP_OK; + protected static final int UPDATE_INFO_NO_UPDATE_CODE = HttpURLConnection.HTTP_NO_CONTENT; + protected static final String UPDATE_INFO_CONTENT_TYPE = "text/plain"; + + // Limit the number of bytes that can be read from the server + protected static final int MAX_INPUT_BYTES = 20000; + + + protected static ConnectionSource connectionSource = new DefaultConnectionSource(); + + + /** + * Set the source of the network connections. This can be used for unit testing. + * By default the source is a DefaultConnectionSource. + * + * @param source the source of the connections. + */ + public static void setConnectionSource(ConnectionSource source) { + connectionSource = source; + } + + + /** + * URL-encode the specified string in UTF-8 encoding. + * + * @param str the string to encode (null ok) + * @return the encoded string or "null" + */ + public static String encode(String str) { + if (str == null) + return "null"; + try { + return URLEncoder.encode(str, "UTF-8"); + } catch (UnsupportedEncodingException e) { + throw new RuntimeException("Unsupported encoding UTF-8", e); + } + } + +} diff --git a/src/net/sf/openrocket/communication/ConnectionSource.java b/src/net/sf/openrocket/communication/ConnectionSource.java new file mode 100644 index 00000000..b5b0fdcc --- /dev/null +++ b/src/net/sf/openrocket/communication/ConnectionSource.java @@ -0,0 +1,21 @@ +package net.sf.openrocket.communication; + +import java.io.IOException; +import java.net.HttpURLConnection; + +/** + * A source for network connections. This interface exists to enable unit testing. + * + * @author Sampo Niskanen + */ +public interface ConnectionSource { + + /** + * Return a connection to the specified url. + * @param url the URL to connect to. + * @return the corresponding HttpURLConnection + * @throws IOException if an IOException occurs + */ + public HttpURLConnection getConnection(String url) throws IOException; + +} diff --git a/src/net/sf/openrocket/communication/DefaultConnectionSource.java b/src/net/sf/openrocket/communication/DefaultConnectionSource.java new file mode 100644 index 00000000..501c37ac --- /dev/null +++ b/src/net/sf/openrocket/communication/DefaultConnectionSource.java @@ -0,0 +1,21 @@ +package net.sf.openrocket.communication; + +import java.io.IOException; +import java.net.HttpURLConnection; +import java.net.URL; + +/** + * Default implementation of ConnectionSource, which simply opens a new + * HttpURLConnection from a URL object. + * + * @author Sampo Niskanen + */ +public class DefaultConnectionSource implements ConnectionSource { + + @Override + public HttpURLConnection getConnection(String urlString) throws IOException { + URL url = new URL(urlString); + return (HttpURLConnection) url.openConnection(); + } + +} diff --git a/src/net/sf/openrocket/communication/UpdateInfoRetriever.java b/src/net/sf/openrocket/communication/UpdateInfoRetriever.java new file mode 100644 index 00000000..d67ea335 --- /dev/null +++ b/src/net/sf/openrocket/communication/UpdateInfoRetriever.java @@ -0,0 +1,226 @@ +package net.sf.openrocket.communication; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; +import java.net.HttpURLConnection; +import java.util.ArrayList; + +import net.sf.openrocket.util.ComparablePair; +import net.sf.openrocket.util.LimitedInputStream; +import net.sf.openrocket.util.Prefs; + +public class UpdateInfoRetriever { + + private UpdateInfoFetcher fetcher = null; + + + /** + * Start an asynchronous task that will fetch information about the latest + * OpenRocket version. This will overwrite any previous fetching operation. + * This call will return immediately. + */ + public void start() { + fetcher = new UpdateInfoFetcher(); + fetcher.setDaemon(true); + fetcher.start(); + } + + + /** + * Check whether the update info fetching is still in progress. + * + * @return true if the communication is still in progress. + */ + public boolean isRunning() { + if (fetcher == null) { + throw new IllegalStateException("startFetchUpdateInfo() has not been called"); + } + return fetcher.isAlive(); + } + + + /** + * Retrieve the result of the background update info fetcher. This method returns + * the result of the previous call to {@link #start()}. It must be + * called before calling this method. + *

+ * This method will return null if the info fetcher is still running or + * if it encountered a problem in communicating with the server. The difference can + * be checked using {@link #isRunning()}. + * + * @return the update result, or null if the fetching is still in progress + * or an error occurred while communicating with the server. + * @throws IllegalStateException if {@link #start()} has not been called. + */ + public UpdateInfo getUpdateInfo() { + if (fetcher == null) { + throw new IllegalStateException("start() has not been called"); + } + return fetcher.info; + } + + + + /** + * Parse the data received from the server. + * + * @param r the Reader from which to read. + * @return an UpdateInfo construct, or null if the data was invalid. + * @throws IOException if an I/O exception occurs. + */ + /* package-private */ + static UpdateInfo parseUpdateInput(Reader r) throws IOException { + BufferedReader reader; + if (r instanceof BufferedReader) { + reader = (BufferedReader)r; + } else { + reader = new BufferedReader(r); + } + + + String version = null; + ArrayList> updates = + new ArrayList>(); + + String str = reader.readLine(); + while (str != null) { + if (str.matches("^Version: *[0-9]+\\.[0-9]+\\.[0-9]+[a-zA-Z0-9.-]* *$")) { + version = str.substring(8).trim(); + } else if (str.matches("^[0-9]+:\\p{Print}+$")) { + int index = str.indexOf(':'); + int value = Integer.parseInt(str.substring(0, index)); + String desc = str.substring(index+1).trim(); + if (!desc.equals("")) { + updates.add(new ComparablePair(value, desc)); + } + } + // Ignore anything else + str = reader.readLine(); + } + + if (version != null) { + return new UpdateInfo(version, updates); + } else { + return null; + } + } + + + + /** + * An asynchronous task that fetches and parses the update info. + * + * @author Sampo Niskanen + */ + private class UpdateInfoFetcher extends Thread { + + private volatile UpdateInfo info = null; + + @Override + public void run() { + try { + doConnection(); + } catch (IOException e) { + return; + } + } + + + private void doConnection() throws IOException { + String url = Communicator.UPDATE_INFO_URL + "?" + Communicator.VERSION_PARAM + "=" + + Communicator.encode(Prefs.getVersion()); + + HttpURLConnection connection = Communicator.connectionSource.getConnection(url); + + connection.setConnectTimeout(Communicator.CONNECTION_TIMEOUT); + connection.setInstanceFollowRedirects(true); + connection.setRequestMethod("GET"); + connection.setUseCaches(false); + connection.setDoInput(true); + connection.setRequestProperty("X-OpenRocket-Version", + Communicator.encode(Prefs.getVersion())); + connection.setRequestProperty("X-OpenRocket-ID", + Communicator.encode(Prefs.getUniqueID())); + connection.setRequestProperty("X-OpenRocket-OS", + Communicator.encode(System.getProperty("os.name") + " " + + System.getProperty("os.arch"))); + connection.setRequestProperty("X-OpenRocket-Java", + Communicator.encode(System.getProperty("java.vendor") + " " + + System.getProperty("java.version"))); + connection.setRequestProperty("X-OpenRocket-Country", + Communicator.encode(System.getProperty("user.country") + " " + + Communicator.encode(System.getProperty("user.timezone")))); + + InputStream is = null; + try { + connection.connect(); + + if (connection.getResponseCode() == Communicator.UPDATE_INFO_NO_UPDATE_CODE) { + // No updates are available + info = new UpdateInfo(); + return; + } + + if (connection.getResponseCode() != Communicator.UPDATE_INFO_UPDATE_AVAILABLE) { + // Error communicating with server + return; + } + + if (!Communicator.UPDATE_INFO_CONTENT_TYPE.equalsIgnoreCase( + connection.getContentType())) { + // Unknown response type + return; + } + + + // Update is available, parse input + is = connection.getInputStream(); + is = new LimitedInputStream(is, Communicator.MAX_INPUT_BYTES); + String encoding = connection.getContentEncoding(); + if (encoding == null || encoding.equals("")) + encoding = "UTF-8"; + BufferedReader reader = new BufferedReader(new InputStreamReader(is, encoding)); + + String version = null; + ArrayList> updates = + new ArrayList>(); + + String line = reader.readLine(); + while (line != null) { + + if (line.matches("^Version:[a-zA-Z0-9._ -]{1,30}$")) { + version = line.substring(8).trim(); + } else if (line.matches("^[0-9]{1,9}:\\P{Cntrl}{1,300}$")) { + String[] split = line.split(":", 2); + int n = Integer.parseInt(split[0]); + updates.add(new ComparablePair(n, split[1].trim())); + } + // Ignore line otherwise + line = reader.readLine(); + } + + // Check version input + if (version == null || version.length() == 0 || + version.equalsIgnoreCase(Prefs.getVersion())) { + // Invalid response + return; + } + + + info = new UpdateInfo(version, updates); + + } finally { + try { + if (is != null) + is.close(); + connection.disconnect(); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + } +} diff --git a/src/net/sf/openrocket/database/Databases.java b/src/net/sf/openrocket/database/Databases.java index f3fa4bcf..9ec9f589 100644 --- a/src/net/sf/openrocket/database/Databases.java +++ b/src/net/sf/openrocket/database/Databases.java @@ -79,6 +79,7 @@ public class Databases { BULK_MATERIAL.add(new Material.Bulk("Cardboard", 680, false)); BULK_MATERIAL.add(new Material.Bulk("Carbon fiber", 1780, false)); BULK_MATERIAL.add(new Material.Bulk("Cork", 240, false)); + BULK_MATERIAL.add(new Material.Bulk("Depron", 40, false)); BULK_MATERIAL.add(new Material.Bulk("Fiberglass", 1850, false)); BULK_MATERIAL.add(new Material.Bulk("Kraft phenolic",950, false)); BULK_MATERIAL.add(new Material.Bulk("Maple", 755, false)); @@ -89,6 +90,7 @@ public class Databases { BULK_MATERIAL.add(new Material.Bulk("Polystyrene", 1050, false)); BULK_MATERIAL.add(new Material.Bulk("PVC", 1390, false)); BULK_MATERIAL.add(new Material.Bulk("Spruce", 450, false)); + // TODO: CRITICAL: Add styrofoam BULK_MATERIAL.add(new Material.Bulk("Quantum tubing",1050, false)); SURFACE_MATERIAL.add(new Material.Surface("Ripstop nylon", 0.067, false)); @@ -141,6 +143,14 @@ public class Databases { } + /* + * Used just for ensuring initialization of the class. + */ + public static void fakeMethod() { + + } + + /** * Find a material from the database with the specified type and name. Returns * null if the specified material could not be found. diff --git a/src/net/sf/openrocket/gui/components/HtmlLabel.java b/src/net/sf/openrocket/gui/components/HtmlLabel.java new file mode 100644 index 00000000..59fdbfa7 --- /dev/null +++ b/src/net/sf/openrocket/gui/components/HtmlLabel.java @@ -0,0 +1,38 @@ +package net.sf.openrocket.gui.components; + +import java.awt.Dimension; + +import javax.swing.JLabel; + +/** + * A JLabel that limits the minimum and maximum height of the label to the + * initial preferred height of the label. This is required in labels that use HTML + * since these often cause the panels to expand too much in height. + * + * @author Sampo Niskanen + */ +public class HtmlLabel extends JLabel { + + public HtmlLabel() { + super(); + limitSize(); + } + + public HtmlLabel(String text) { + super(text); + limitSize(); + } + + public HtmlLabel(String text, int horizontalAlignment) { + super(text, horizontalAlignment); + limitSize(); + } + + + private void limitSize() { + Dimension dim = this.getPreferredSize(); + this.setMinimumSize(new Dimension(0, dim.height)); + this.setMaximumSize(new Dimension(Integer.MAX_VALUE, dim.height)); + } + +} diff --git a/src/net/sf/openrocket/gui/components/ResizeLabel.java b/src/net/sf/openrocket/gui/components/ResizeLabel.java deleted file mode 100644 index 0978252a..00000000 --- a/src/net/sf/openrocket/gui/components/ResizeLabel.java +++ /dev/null @@ -1,47 +0,0 @@ -package net.sf.openrocket.gui.components; - -import java.awt.Font; -import javax.swing.JLabel; - -/** - * A resizeable JLabel. The method resizeFont(float) changes the current font size by the - * given (positive or negative) amount. The change is relative to the current font size. - *

- * A nice small text is achievable by new ResizeLabel("My text", -2); - * - * @author Sampo Niskanen - */ - -public class ResizeLabel extends JLabel { - - public ResizeLabel() { - super(); - } - - public ResizeLabel(String text) { - super(text); - } - - public ResizeLabel(float size) { - super(); - resizeFont(size); - } - - public ResizeLabel(String text, float size) { - super(text); - resizeFont(size); - } - - public ResizeLabel(String text, int horizontalAlignment, float size) { - super(text, horizontalAlignment); - resizeFont(size); - } - - - public void resizeFont(float size) { - Font font = this.getFont(); - font = font.deriveFont(font.getSize2D()+size); - this.setFont(font); - } - -} diff --git a/src/net/sf/openrocket/gui/components/StyledLabel.java b/src/net/sf/openrocket/gui/components/StyledLabel.java new file mode 100644 index 00000000..cad8a25a --- /dev/null +++ b/src/net/sf/openrocket/gui/components/StyledLabel.java @@ -0,0 +1,111 @@ +package net.sf.openrocket.gui.components; + +import java.awt.Font; + +import javax.swing.JLabel; +import javax.swing.SwingConstants; + +/** + * A resizeable and styleable JLabel. The method {@link #resizeFont(float)} changes the + * current font size by the given (positive or negative) amount. The change is relative + * to the current font size. The method {@link #setFontStyle(Style)} sets the style + * (bold/italic) of the font. + *

+ * A nice small text is achievable by new ResizeLabel("My text", -2); + * + * @author Sampo Niskanen + */ + +public class StyledLabel extends JLabel { + + public enum Style { + PLAIN(Font.PLAIN), + BOLD(Font.BOLD), + ITALIC(Font.ITALIC), + BOLD_ITALIC(Font.BOLD | Font.ITALIC); + + private int style; + Style(int fontStyle) { + this.style = fontStyle; + } + public int getFontStyle() { + return style; + } + } + + + + public StyledLabel() { + this("", SwingConstants.LEADING, 0f); + } + + public StyledLabel(String text) { + this(text, SwingConstants.LEADING, 0f); + } + + public StyledLabel(float size) { + this("", SwingConstants.LEADING, size); + } + + public StyledLabel(String text, float size) { + this(text, SwingConstants.LEADING, size); + } + + public StyledLabel(String text, int horizontalAlignment, float size) { + super(text, horizontalAlignment); + resizeFont(size); + checkPreferredSize(size, Style.PLAIN); + } + + + + public StyledLabel(Style style) { + this("", SwingConstants.LEADING, 0f, style); + } + + public StyledLabel(String text, Style style) { + this(text, SwingConstants.LEADING, 0f, style); + } + + public StyledLabel(float size, Style style) { + this("", SwingConstants.LEADING, size, style); + } + + public StyledLabel(String text, float size, Style style) { + this(text, SwingConstants.LEADING, size, style); + } + + public StyledLabel(String text, int horizontalAlignment, float size, Style style) { + super(text, horizontalAlignment); + resizeFont(size); + setFontStyle(style); + checkPreferredSize(size, style); + } + + + + + private void checkPreferredSize(float size, Style style) { + String str = this.getText(); + if (str.startsWith("") && str.indexOf(" */ -public class UnitSelector extends ResizeLabel implements ChangeListener, MouseListener, +public class UnitSelector extends StyledLabel implements ChangeListener, MouseListener, ItemSelectable { private DoubleModel model; diff --git a/src/net/sf/openrocket/gui/configdialog/FinSetConfig.java b/src/net/sf/openrocket/gui/configdialog/FinSetConfig.java index efec1267..df5ce634 100644 --- a/src/net/sf/openrocket/gui/configdialog/FinSetConfig.java +++ b/src/net/sf/openrocket/gui/configdialog/FinSetConfig.java @@ -15,7 +15,9 @@ import net.sf.openrocket.gui.SpinnerEditor; import net.sf.openrocket.gui.adaptors.DoubleModel; import net.sf.openrocket.gui.adaptors.EnumModel; import net.sf.openrocket.gui.components.BasicSlider; +import net.sf.openrocket.gui.components.StyledLabel; import net.sf.openrocket.gui.components.UnitSelector; +import net.sf.openrocket.gui.components.StyledLabel.Style; import net.sf.openrocket.rocketcomponent.FinSet; import net.sf.openrocket.rocketcomponent.FreeformFinSet; import net.sf.openrocket.rocketcomponent.RocketComponent; @@ -107,7 +109,8 @@ public abstract class FinSetConfig extends RocketComponentConfig { // JPanel panel = new JPanel(new MigLayout("fillx, align 20% 20%, gap rel unrel", // "[40lp][80lp::][30lp::][100lp::]","")); - panel.add(new JLabel("Through-the-wall fin tabs:"), "spanx, wrap 30lp"); + panel.add(new StyledLabel("Through-the-wall fin tabs:", Style.BOLD), + "spanx, wrap 30lp"); JLabel label; DoubleModel m; diff --git a/src/net/sf/openrocket/gui/configdialog/FreeformFinSetConfig.java b/src/net/sf/openrocket/gui/configdialog/FreeformFinSetConfig.java index 18b18032..52e02686 100644 --- a/src/net/sf/openrocket/gui/configdialog/FreeformFinSetConfig.java +++ b/src/net/sf/openrocket/gui/configdialog/FreeformFinSetConfig.java @@ -22,7 +22,7 @@ import net.sf.openrocket.gui.adaptors.DoubleModel; import net.sf.openrocket.gui.adaptors.EnumModel; import net.sf.openrocket.gui.adaptors.IntegerModel; import net.sf.openrocket.gui.components.BasicSlider; -import net.sf.openrocket.gui.components.ResizeLabel; +import net.sf.openrocket.gui.components.StyledLabel; import net.sf.openrocket.gui.components.UnitSelector; import net.sf.openrocket.gui.scalefigure.FinPointFigure; import net.sf.openrocket.gui.scalefigure.ScaleScrollPane; @@ -212,14 +212,14 @@ public class FreeformFinSetConfig extends FinSetConfig { panel.add(tablePane,"growy, width 100lp:100lp:, height 100lp:250lp:"); panel.add(figurePane,"gap unrel, spanx, growx, growy 1000, height 100lp:250lp:, wrap"); - panel.add(new ResizeLabel("Double-click", -2), "alignx 50%"); + panel.add(new StyledLabel("Double-click", -2), "alignx 50%"); panel.add(new ScaleSelector(figurePane),"spany 2"); - panel.add(new ResizeLabel("Click+drag: Add and move points " + + panel.add(new StyledLabel("Click+drag: Add and move points " + "Ctrl+click: Remove point", -2), "spany 2, right, wrap"); - panel.add(new ResizeLabel("to edit", -2), "alignx 50%"); + panel.add(new StyledLabel("to edit", -2), "alignx 50%"); return panel; } diff --git a/src/net/sf/openrocket/gui/configdialog/ParachuteConfig.java b/src/net/sf/openrocket/gui/configdialog/ParachuteConfig.java index f41ca5ce..d3b37bcb 100644 --- a/src/net/sf/openrocket/gui/configdialog/ParachuteConfig.java +++ b/src/net/sf/openrocket/gui/configdialog/ParachuteConfig.java @@ -17,7 +17,10 @@ import net.sf.openrocket.gui.adaptors.EnumModel; import net.sf.openrocket.gui.adaptors.IntegerModel; import net.sf.openrocket.gui.adaptors.MaterialModel; import net.sf.openrocket.gui.components.BasicSlider; +import net.sf.openrocket.gui.components.HtmlLabel; +import net.sf.openrocket.gui.components.StyledLabel; import net.sf.openrocket.gui.components.UnitSelector; +import net.sf.openrocket.gui.components.StyledLabel.Style; import net.sf.openrocket.material.Material; import net.sf.openrocket.rocketcomponent.MassComponent; import net.sf.openrocket.rocketcomponent.Parachute; @@ -36,7 +39,7 @@ public class ParachuteConfig extends RecoveryDeviceConfig { //// Canopy - panel.add(new JLabel("Canopy:"), "wrap unrel"); + panel.add(new StyledLabel("Canopy:", Style.BOLD), "wrap unrel"); panel.add(new JLabel("Diameter:")); @@ -62,7 +65,7 @@ public class ParachuteConfig extends RecoveryDeviceConfig { // CD - JLabel label = new JLabel("Drag coefficient CD:"); + JLabel label = new HtmlLabel("Drag coefficient CD:"); String tip = "The drag coefficient relative to the total area of the parachute.
" + "A larger drag coefficient yields a slowed descent rate. " + "A typical value for parachutes is 0.8."; @@ -89,7 +92,7 @@ public class ParachuteConfig extends RecoveryDeviceConfig { //// Shroud lines - panel.add(new JLabel("Shroud lines:"), "wrap unrel"); + panel.add(new StyledLabel("Shroud lines:", Style.BOLD), "wrap unrel"); panel.add(new JLabel("Number of lines:")); diff --git a/src/net/sf/openrocket/gui/configdialog/StreamerConfig.java b/src/net/sf/openrocket/gui/configdialog/StreamerConfig.java index 02011b71..5f94bbb9 100644 --- a/src/net/sf/openrocket/gui/configdialog/StreamerConfig.java +++ b/src/net/sf/openrocket/gui/configdialog/StreamerConfig.java @@ -17,7 +17,8 @@ import net.sf.openrocket.gui.adaptors.DoubleModel; import net.sf.openrocket.gui.adaptors.EnumModel; import net.sf.openrocket.gui.adaptors.MaterialModel; import net.sf.openrocket.gui.components.BasicSlider; -import net.sf.openrocket.gui.components.ResizeLabel; +import net.sf.openrocket.gui.components.HtmlLabel; +import net.sf.openrocket.gui.components.StyledLabel; import net.sf.openrocket.gui.components.UnitSelector; import net.sf.openrocket.material.Material; import net.sf.openrocket.rocketcomponent.MassComponent; @@ -93,7 +94,7 @@ public class StreamerConfig extends RecoveryDeviceConfig { // CD - JLabel label = new JLabel("Drag coefficient CD:"); + JLabel label = new HtmlLabel("Drag coefficient CD:"); String tip = "The drag coefficient relative to the total area of the streamer.
" + "A larger drag coefficient yields a slowed descent rate."; label.setToolTipText(tip); @@ -110,7 +111,7 @@ public class StreamerConfig extends RecoveryDeviceConfig { check.setText("Automatic"); panel.add(check,"skip, span, wrap"); - panel.add(new ResizeLabel("The drag coefficient is relative to the area of the streamer.", + panel.add(new StyledLabel("The drag coefficient is relative to the area of the streamer.", -2), "span, wrap"); diff --git a/src/net/sf/openrocket/gui/dialogs/AboutDialog.java b/src/net/sf/openrocket/gui/dialogs/AboutDialog.java index 516be5ec..41014f49 100644 --- a/src/net/sf/openrocket/gui/dialogs/AboutDialog.java +++ b/src/net/sf/openrocket/gui/dialogs/AboutDialog.java @@ -10,7 +10,7 @@ import javax.swing.JLabel; import javax.swing.JPanel; import net.miginfocom.swing.MigLayout; -import net.sf.openrocket.gui.components.ResizeLabel; +import net.sf.openrocket.gui.components.StyledLabel; import net.sf.openrocket.gui.components.URLLabel; import net.sf.openrocket.util.GUIUtil; import net.sf.openrocket.util.Icons; @@ -31,18 +31,18 @@ public class AboutDialog extends JDialog { panel.add(new JLabel(Icons.loadImageIcon("pix/icon/icon-about.png", "OpenRocket")), "spany 5, top"); - panel.add(new ResizeLabel("OpenRocket", 20), "ax 50%, growy, wrap para"); - panel.add(new ResizeLabel("Version " + version, 3), "ax 50%, growy, wrap rel"); + panel.add(new StyledLabel("OpenRocket", 20), "ax 50%, growy, wrap para"); + panel.add(new StyledLabel("Version " + version, 3), "ax 50%, growy, wrap rel"); String source = Prefs.getBuildSource(); if (!Prefs.DEFAULT_BUILD_SOURCE.equalsIgnoreCase(source)) { - panel.add(new ResizeLabel("Distributed by " + source, -1), + panel.add(new StyledLabel("Distributed by " + source, -1), "ax 50%, growy, wrap para"); } else { - panel.add(new ResizeLabel(" ", -1), "ax 50%, growy, wrap para"); + panel.add(new StyledLabel(" ", -1), "ax 50%, growy, wrap para"); } - panel.add(new ResizeLabel("Copyright \u00A9 2007-2009 Sampo Niskanen"), + panel.add(new StyledLabel("Copyright \u00A9 2007-2009 Sampo Niskanen"), "ax 50%, growy, wrap para"); panel.add(new URLLabel(OPENROCKET_URL), "ax 50%, growy, wrap para"); diff --git a/src/net/sf/openrocket/gui/dialogs/BugReportDialog.java b/src/net/sf/openrocket/gui/dialogs/BugReportDialog.java index 6df68031..9ebd9f2a 100644 --- a/src/net/sf/openrocket/gui/dialogs/BugReportDialog.java +++ b/src/net/sf/openrocket/gui/dialogs/BugReportDialog.java @@ -25,8 +25,8 @@ import javax.swing.JScrollPane; import javax.swing.JTextArea; import net.miginfocom.swing.MigLayout; -import net.sf.openrocket.communication.Communication; -import net.sf.openrocket.gui.components.ResizeLabel; +import net.sf.openrocket.communication.BugReporter; +import net.sf.openrocket.gui.components.StyledLabel; import net.sf.openrocket.gui.components.SelectableLabel; import net.sf.openrocket.util.GUIUtil; import net.sf.openrocket.util.JarUtil; @@ -66,7 +66,7 @@ public class BugReportDialog extends JDialog { panel.add(new JScrollPane(textArea), "grow, wrap"); - panel.add(new ResizeLabel("The information above may be included in a public " + + panel.add(new StyledLabel("The information above may be included in a public " + "bug report. Make sure it does not contain any sensitive information you " + "do not want to be made public.", -1), "wrap para"); @@ -107,7 +107,7 @@ public class BugReportDialog extends JDialog { String text = textArea.getText(); try { - Communication.sendBugReport(text); + BugReporter.sendBugReport(text); // Success if we came here JOptionPane.showMessageDialog(BugReportDialog.this, diff --git a/src/net/sf/openrocket/gui/dialogs/ComponentAnalysisDialog.java b/src/net/sf/openrocket/gui/dialogs/ComponentAnalysisDialog.java index 81577443..cd7d9c98 100644 --- a/src/net/sf/openrocket/gui/dialogs/ComponentAnalysisDialog.java +++ b/src/net/sf/openrocket/gui/dialogs/ComponentAnalysisDialog.java @@ -45,7 +45,7 @@ import net.sf.openrocket.gui.adaptors.ColumnTableModel; import net.sf.openrocket.gui.adaptors.DoubleModel; import net.sf.openrocket.gui.adaptors.MotorConfigurationModel; import net.sf.openrocket.gui.components.BasicSlider; -import net.sf.openrocket.gui.components.ResizeLabel; +import net.sf.openrocket.gui.components.StyledLabel; import net.sf.openrocket.gui.components.StageSelector; import net.sf.openrocket.gui.components.UnitSelector; import net.sf.openrocket.gui.scalefigure.RocketPanel; @@ -370,14 +370,14 @@ public class ComponentAnalysisDialog extends JDialog implements ChangeListener { }); - panel.add(new ResizeLabel("Reference length: ", -1), + panel.add(new StyledLabel("Reference length: ", -1), "span, split, gapleft para, gapright rel"); DoubleModel dm = new DoubleModel(conditions, "RefLength", UnitGroup.UNITS_LENGTH); UnitSelector sel = new UnitSelector(dm, true); sel.resizeFont(-1); panel.add(sel, "gapright para"); - panel.add(new ResizeLabel("Reference area: ", -1), "gapright rel"); + panel.add(new StyledLabel("Reference area: ", -1), "gapright rel"); dm = new DoubleModel(conditions, "RefArea", UnitGroup.UNITS_AREA); sel = new UnitSelector(dm, true); sel.resizeFont(-1); diff --git a/src/net/sf/openrocket/gui/dialogs/CustomMaterialDialog.java b/src/net/sf/openrocket/gui/dialogs/CustomMaterialDialog.java index 7fb7ad40..ef22d845 100644 --- a/src/net/sf/openrocket/gui/dialogs/CustomMaterialDialog.java +++ b/src/net/sf/openrocket/gui/dialogs/CustomMaterialDialog.java @@ -16,7 +16,7 @@ import javax.swing.JTextField; import net.miginfocom.swing.MigLayout; import net.sf.openrocket.gui.adaptors.DoubleModel; -import net.sf.openrocket.gui.components.ResizeLabel; +import net.sf.openrocket.gui.components.StyledLabel; import net.sf.openrocket.gui.components.UnitSelector; import net.sf.openrocket.material.Material; import net.sf.openrocket.util.GUIUtil; @@ -54,7 +54,7 @@ public class CustomMaterialDialog extends JDialog { "gapleft para, span, wrap" + (note == null ? " para":"")); } if (note != null) { - panel.add(new ResizeLabel(note, -1), "span, wrap para"); + panel.add(new StyledLabel(note, -1), "span, wrap para"); } diff --git a/src/net/sf/openrocket/gui/dialogs/LicenseDialog.java b/src/net/sf/openrocket/gui/dialogs/LicenseDialog.java index b58113da..10759a69 100644 --- a/src/net/sf/openrocket/gui/dialogs/LicenseDialog.java +++ b/src/net/sf/openrocket/gui/dialogs/LicenseDialog.java @@ -14,7 +14,7 @@ import javax.swing.JScrollPane; import javax.swing.JTextArea; import net.miginfocom.swing.MigLayout; -import net.sf.openrocket.gui.components.ResizeLabel; +import net.sf.openrocket.gui.components.StyledLabel; import net.sf.openrocket.util.GUIUtil; public class LicenseDialog extends JDialog { @@ -32,7 +32,7 @@ public class LicenseDialog extends JDialog { JPanel panel = new JPanel(new MigLayout("fill")); - panel.add(new ResizeLabel("OpenRocket license", 10), "ax 50%, wrap para"); + panel.add(new StyledLabel("OpenRocket license", 10), "ax 50%, wrap para"); String licenseText; try { diff --git a/src/net/sf/openrocket/gui/dialogs/MotorChooserDialog.java b/src/net/sf/openrocket/gui/dialogs/MotorChooserDialog.java index 6893dccf..887085df 100644 --- a/src/net/sf/openrocket/gui/dialogs/MotorChooserDialog.java +++ b/src/net/sf/openrocket/gui/dialogs/MotorChooserDialog.java @@ -37,7 +37,7 @@ import javax.swing.table.TableRowSorter; import net.miginfocom.swing.MigLayout; import net.sf.openrocket.database.Databases; -import net.sf.openrocket.gui.components.ResizeLabel; +import net.sf.openrocket.gui.components.StyledLabel; import net.sf.openrocket.motor.Motor; import net.sf.openrocket.unit.UnitGroup; import net.sf.openrocket.util.GUIUtil; @@ -251,7 +251,7 @@ public class MotorChooserDialog extends JDialog { } }); panel.add(delayBox,"gapright unrel"); - panel.add(new ResizeLabel("(Number of seconds or \"None\")", -1), "wrap para"); + panel.add(new StyledLabel("(Number of seconds or \"None\")", -1), "wrap para"); setDelays(false); diff --git a/src/net/sf/openrocket/gui/dialogs/UpdateInfoDialog.java b/src/net/sf/openrocket/gui/dialogs/UpdateInfoDialog.java new file mode 100644 index 00000000..518403c9 --- /dev/null +++ b/src/net/sf/openrocket/gui/dialogs/UpdateInfoDialog.java @@ -0,0 +1,73 @@ +package net.sf.openrocket.gui.dialogs; + +import java.awt.Window; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.Collections; +import java.util.List; + +import javax.swing.JButton; +import javax.swing.JDialog; +import javax.swing.JLabel; +import javax.swing.JPanel; + +import net.miginfocom.swing.MigLayout; +import net.sf.openrocket.communication.UpdateInfo; +import net.sf.openrocket.gui.components.URLLabel; +import net.sf.openrocket.util.ComparablePair; +import net.sf.openrocket.util.GUIUtil; +import net.sf.openrocket.util.Icons; + +public class UpdateInfoDialog extends JDialog { + + public UpdateInfoDialog(UpdateInfo info) { + super((Window)null, "OpenRocket update available", ModalityType.APPLICATION_MODAL); + + JPanel panel = new JPanel(new MigLayout("fill")); + + + panel.add(new JLabel(Icons.loadImageIcon("pix/icon/icon-about.png", "OpenRocket")), + "spany 100, top"); + + + panel.add(new JLabel("OpenRocket version " + info.getLatestVersion() + + " is available!"), "wrap para"); + + List> updates = info.getUpdates(); + if (updates.size() > 0) { + panel.add(new JLabel("Updates include:"), "wrap rel"); + + Collections.sort(updates); + int count = 0; + int n = -1; + for (int i=updates.size()-1; i>=0; i--) { + // Add only specific number of top features + if (count >= 4 && n != updates.get(i).getU()) + break; + n = updates.get(i).getU(); + panel.add(new JLabel(" \u2022 " + updates.get(i).getV()), "wrap 0px"); + count++; + } + } + + panel.add(new JLabel("Download the new version from:"), + "gaptop para, alignx 50%, wrap unrel"); + panel.add(new URLLabel(AboutDialog.OPENROCKET_URL), "alignx 50%, wrap para"); + + JButton button = new JButton("Close"); + button.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + UpdateInfoDialog.this.dispose(); + } + }); + panel.add(button, "right"); + + this.add(panel); + + this.pack(); + this.setLocationRelativeTo(null); + GUIUtil.setDisposableDialogOptions(this, button); + } + +} diff --git a/src/net/sf/openrocket/gui/dialogs/preferences/PreferencesDialog.java b/src/net/sf/openrocket/gui/dialogs/preferences/PreferencesDialog.java index 2ef8e113..38cc36fe 100644 --- a/src/net/sf/openrocket/gui/dialogs/preferences/PreferencesDialog.java +++ b/src/net/sf/openrocket/gui/dialogs/preferences/PreferencesDialog.java @@ -19,7 +19,7 @@ import javax.swing.JPanel; import javax.swing.JTabbedPane; import net.miginfocom.swing.MigLayout; -import net.sf.openrocket.gui.components.ResizeLabel; +import net.sf.openrocket.gui.components.StyledLabel; import net.sf.openrocket.unit.Unit; import net.sf.openrocket.unit.UnitGroup; import net.sf.openrocket.util.GUIUtil; @@ -204,7 +204,7 @@ public class PreferencesDialog extends JDialog { panel.add(button, "grow, wrap para"); - panel.add(new ResizeLabel("The effects will take place the next time you open a window.",-2), + panel.add(new StyledLabel("The effects will take place the next time you open a window.",-2), "spanx, wrap"); diff --git a/src/net/sf/openrocket/gui/main/BasicFrame.java b/src/net/sf/openrocket/gui/main/BasicFrame.java index 8ad7601a..fcf74ca2 100644 --- a/src/net/sf/openrocket/gui/main/BasicFrame.java +++ b/src/net/sf/openrocket/gui/main/BasicFrame.java @@ -48,6 +48,7 @@ import javax.swing.ListSelectionModel; import javax.swing.LookAndFeel; import javax.swing.ScrollPaneConstants; import javax.swing.SwingUtilities; +import javax.swing.Timer; import javax.swing.ToolTipManager; import javax.swing.UIManager; import javax.swing.border.TitledBorder; @@ -60,6 +61,9 @@ import javax.swing.tree.TreeSelectionModel; import net.miginfocom.swing.MigLayout; import net.sf.openrocket.aerodynamics.WarningSet; +import net.sf.openrocket.communication.UpdateInfo; +import net.sf.openrocket.communication.UpdateInfoRetriever; +import net.sf.openrocket.database.Databases; import net.sf.openrocket.document.OpenRocketDocument; import net.sf.openrocket.file.GeneralRocketLoader; import net.sf.openrocket.file.OpenRocketSaver; @@ -74,6 +78,7 @@ import net.sf.openrocket.gui.dialogs.ComponentAnalysisDialog; import net.sf.openrocket.gui.dialogs.ExampleDesignDialog; import net.sf.openrocket.gui.dialogs.LicenseDialog; import net.sf.openrocket.gui.dialogs.SwingWorkerDialog; +import net.sf.openrocket.gui.dialogs.UpdateInfoDialog; import net.sf.openrocket.gui.dialogs.WarningDialog; import net.sf.openrocket.gui.dialogs.preferences.PreferencesDialog; import net.sf.openrocket.gui.scalefigure.RocketPanel; @@ -1151,7 +1156,18 @@ public class BasicFrame extends JFrame { private static void runMain(String[] args) { - + + // Start update info fetching + final UpdateInfoRetriever updateInfo; + if (Prefs.getCheckUpdates()) { + updateInfo = new UpdateInfoRetriever(); + updateInfo.start(); + } else { + updateInfo = null; + } + + + /* * Set the look-and-feel. On Linux, Motif/Metal is sometimes incorrectly used * which is butt-ugly, so if the system l&f is Motif/Metal, we search for a few @@ -1200,12 +1216,51 @@ public class BasicFrame extends JFrame { // Load defaults Prefs.loadDefaultUnits(); + + // Load motors etc. + Databases.fakeMethod(); - // Starting action + // Starting action (load files or open new document) if (!handleCommandLine(args)) { newAction(); } + + + // Check whether update info has been fetched or whether it needs more time + checkUpdateStatus(updateInfo); + } + + + private static void checkUpdateStatus(final UpdateInfoRetriever updateInfo) { + if (updateInfo == null) + return; + + int delay = 1000; + if (!updateInfo.isRunning()) + delay = 100; + + final Timer timer = new Timer(delay, null); + + ActionListener listener = new ActionListener() { + private int count = 5; + @Override + public void actionPerformed(ActionEvent e) { + if (!updateInfo.isRunning()) { + timer.stop(); + + UpdateInfo info = updateInfo.getUpdateInfo(); + if (info != null && !Prefs.getVersion().equals(info.getLatestVersion())) { + new UpdateInfoDialog(info).setVisible(true); + } + } + count--; + if (count <= 0) + timer.stop(); + } + }; + timer.addActionListener(listener); + timer.start(); } diff --git a/src/net/sf/openrocket/gui/main/ComponentAddButtons.java b/src/net/sf/openrocket/gui/main/ComponentAddButtons.java index f1402256..a8072de4 100644 --- a/src/net/sf/openrocket/gui/main/ComponentAddButtons.java +++ b/src/net/sf/openrocket/gui/main/ComponentAddButtons.java @@ -26,7 +26,7 @@ import javax.swing.tree.TreeSelectionModel; import net.miginfocom.swing.MigLayout; import net.sf.openrocket.document.OpenRocketDocument; -import net.sf.openrocket.gui.components.ResizeLabel; +import net.sf.openrocket.gui.components.StyledLabel; import net.sf.openrocket.gui.configdialog.ComponentConfigDialog; import net.sf.openrocket.rocketcomponent.BodyComponent; import net.sf.openrocket.rocketcomponent.BodyTube; @@ -269,7 +269,7 @@ public class ComponentAddButtons extends JPanel implements Scrollable { // Add labels String[] l = text.split("\n"); for (int i=0; i

The data will be plotted in time order " + + StyledLabel desc = new StyledLabel("

The data will be plotted in time order " + "even if the X axis type is not time.", -2); this.add(desc, "width :0px:, growx, wrap para"); diff --git a/src/net/sf/openrocket/util/LimitedInputStream.java b/src/net/sf/openrocket/util/LimitedInputStream.java new file mode 100644 index 00000000..4e264fa1 --- /dev/null +++ b/src/net/sf/openrocket/util/LimitedInputStream.java @@ -0,0 +1,83 @@ +package net.sf.openrocket.util; + +import java.io.FilterInputStream; +import java.io.IOException; +import java.io.InputStream; + +/** + * A filtering InputStream that limits the number of bytes that can be + * read from a stream. This can be used to enforce security, so that overlong + * input is ignored. + * + * @author Sampo Niskanen + */ +public class LimitedInputStream extends FilterInputStream { + + private int remaining; + + public LimitedInputStream(InputStream is, int limit) { + super(is); + this.remaining = limit; + } + + + @Override + public int available() throws IOException { + int available = super.available(); + return Math.min(available, remaining); + } + + + @Override + public int read(byte[] b, int off, int len) throws IOException { + if (remaining <= 0) + return -1; + + int result = super.read(b, off, Math.min(len, remaining)); + if (result >= 0) + remaining -= result; + return result; + } + + + @Override + public long skip(long n) throws IOException { + if (n > remaining) + n = remaining; + long result = super.skip(n); + remaining -= result; + return result; + } + + + @Override + public int read() throws IOException { + if (remaining <= 0) + return -1; + + int result = super.read(); + if (result >= 0) + remaining--; + return result; + } + + + + // Disable mark support + + @Override + public void mark(int readlimit) { + + } + + @Override + public boolean markSupported() { + return false; + } + + @Override + public synchronized void reset() throws IOException { + throw new IOException("mark/reset not supported"); + } + +} diff --git a/src/net/sf/openrocket/util/Prefs.java b/src/net/sf/openrocket/util/Prefs.java index 2b7c4101..f4f26133 100644 --- a/src/net/sf/openrocket/util/Prefs.java +++ b/src/net/sf/openrocket/util/Prefs.java @@ -57,6 +57,7 @@ public class Prefs { private static final String BUILD_VERSION; private static final String BUILD_SOURCE; public static final String DEFAULT_BUILD_SOURCE = "default"; + private static final boolean DEFAULT_CHECK_UPDATES; static { try { @@ -81,6 +82,12 @@ public class Prefs { BUILD_SOURCE = props.getProperty("build.source"); + String value = props.getProperty("build.checkupdates"); + if (value != null) + DEFAULT_CHECK_UPDATES = Boolean.parseBoolean(value); + else + DEFAULT_CHECK_UPDATES = true; + } catch (IOException e) { throw new MissingResourceException( "Error reading build.properties", @@ -103,6 +110,8 @@ public class Prefs { public static final String PLOT_SHOW_POINTS = "ShowPlotPoints"; + private static final String CHECK_UPDATES = "CheckUpdates"; + /** * Node to this application's preferences. * @deprecated Use the static methods instead. @@ -152,14 +161,18 @@ public class Prefs { } - private static final Material DEFAULT_LINE_MATERIAL = - Databases.findMaterial(Material.Type.LINE, "Elastic cord (round 2mm, 1/16 in)", - 0.0018, false); - private static final Material DEFAULT_SURFACE_MATERIAL = - Databases.findMaterial(Material.Type.SURFACE, "Ripstop nylon", 0.067, false); - private static final Material DEFAULT_BULK_MATERIAL = - Databases.findMaterial(Material.Type.BULK, "Cardboard", 680, false); - + /* + * Within a holder class so they will load only when needed. + */ + private static class DefaultMaterialHolder { + private static final Material DEFAULT_LINE_MATERIAL = + Databases.findMaterial(Material.Type.LINE, "Elastic cord (round 2mm, 1/16 in)", + 0.0018, false); + private static final Material DEFAULT_SURFACE_MATERIAL = + Databases.findMaterial(Material.Type.SURFACE, "Ripstop nylon", 0.067, false); + private static final Material DEFAULT_BULK_MATERIAL = + Databases.findMaterial(Material.Type.BULK, "Cardboard", 680, false); + } ////////////////////// @@ -242,6 +255,16 @@ public class Prefs { + public static boolean getCheckUpdates() { + return PREFNODE.getBoolean(CHECK_UPDATES, DEFAULT_CHECK_UPDATES); + } + + public static void setCheckUpdates(boolean check) { + PREFNODE.putBoolean(CHECK_UPDATES, check); + storeVersion(); + } + + ////////////////// public static File getDefaultDirectory() { @@ -360,11 +383,11 @@ public class Prefs { switch (type) { case LINE: - return DEFAULT_LINE_MATERIAL; + return DefaultMaterialHolder.DEFAULT_LINE_MATERIAL; case SURFACE: - return DEFAULT_SURFACE_MATERIAL; + return DefaultMaterialHolder.DEFAULT_SURFACE_MATERIAL; case BULK: - return DEFAULT_BULK_MATERIAL; + return DefaultMaterialHolder.DEFAULT_BULK_MATERIAL; } throw new IllegalArgumentException("Unknown material type: "+type); } diff --git a/src/net/sf/openrocket/utils/MotorCompare.java b/src/net/sf/openrocket/utils/MotorCompare.java index 28894cac..356014fa 100644 --- a/src/net/sf/openrocket/utils/MotorCompare.java +++ b/src/net/sf/openrocket/utils/MotorCompare.java @@ -14,17 +14,24 @@ import net.sf.openrocket.motor.ThrustCurveMotor; public class MotorCompare { + /** Maximum allowed difference in maximum thrust */ private static final double MAX_THRUST_MARGIN = 0.20; + /** Maximum allowed difference in total impulse */ private static final double TOTAL_IMPULSE_MARGIN = 0.10; + /** Maximum allowed difference in mass values */ private static final double MASS_MARGIN = 0.10; - - private static final double THRUST_MARGIN = 0.15; - + + /** Number of time points in thrust curve to compare */ private static final int DIVISIONS = 100; + /** Maximum difference in thrust for a time point to be considered invalid */ + private static final double THRUST_MARGIN = 0.15; + /** Number of invalid time points allowed */ private static final int ALLOWED_INVALID_POINTS = 15; - + + /** Minimum number of thrust curve points allowed (incl. start and end points) */ private static final int MIN_POINTS = 7; + public static void main(String[] args) throws IOException { final double maxThrust; final double maxTime; diff --git a/test/net/sf/openrocket/communication/BugReportTest.java b/test/net/sf/openrocket/communication/BugReportTest.java new file mode 100644 index 00000000..991b8fd2 --- /dev/null +++ b/test/net/sf/openrocket/communication/BugReportTest.java @@ -0,0 +1,72 @@ +package net.sf.openrocket.communication; + +import static org.junit.Assert.*; + +import java.io.IOException; + +import net.sf.openrocket.util.Prefs; + +import org.junit.Test; + + +public class BugReportTest { + + private HttpURLConnectionMock setup() { + HttpURLConnectionMock connection = new HttpURLConnectionMock(); + Communicator.setConnectionSource(new ConnectionSourceStub(connection)); + + connection.setUseCaches(true); + return connection; + } + + private void check(HttpURLConnectionMock connection) { + assertEquals(Communicator.BUG_REPORT_URL, connection.getTrueUrl()); + assertTrue(connection.getConnectTimeout() > 0); + assertEquals(Prefs.getVersion(), connection.getRequestProperty("X-OpenRocket-Version")); + assertTrue(connection.getInstanceFollowRedirects()); + assertEquals("POST", connection.getRequestMethod()); + assertFalse(connection.getUseCaches()); + } + + + @Test + public void testBugReportSuccess() throws IOException { + HttpURLConnectionMock connection = setup(); + connection.setResponseCode(Communicator.BUG_REPORT_RESPONSE_CODE); + + String message = + "MyMessage\n"+ + "is important\n"+ + "h\u00e4h?"; + + BugReporter.sendBugReport(message); + + check(connection); + + String msg = connection.getOutputStreamString(); + assertTrue(msg.indexOf("version=" + Prefs.getVersion()) >= 0); + assertTrue(msg.indexOf(Communicator.encode(message)) >= 0); + } + + + @Test + public void testBugReportFailure() throws IOException { + HttpURLConnectionMock connection = setup(); + connection.setResponseCode(200); + + String message = + "MyMessage\n"+ + "is important\n"+ + "h\u00e4h?"; + + try { + BugReporter.sendBugReport(message); + fail("Exception did not occur"); + } catch (IOException e) { + // Success + } + + check(connection); + } + +} diff --git a/test/net/sf/openrocket/communication/CommunicationTest.java b/test/net/sf/openrocket/communication/CommunicationTest.java deleted file mode 100644 index 8a2b9beb..00000000 --- a/test/net/sf/openrocket/communication/CommunicationTest.java +++ /dev/null @@ -1,120 +0,0 @@ -package net.sf.openrocket.communication; - -import static org.junit.Assert.*; - -import java.io.IOException; -import java.io.StringReader; -import java.util.Random; - -import org.junit.Test; - -public class CommunicationTest { - - @Test - public void testIllegalInputUpdateParsing() throws IOException { - - UpdateInfo info; - - info = Communication.parseUpdateInput(new StringReader("")); - assertNull(info); - - info = Communication.parseUpdateInput(new StringReader("vj\u00e4avdsads")); - assertNull(info); - - info = Communication.parseUpdateInput(new StringReader("\u0000\u0001\u0002")); - assertNull(info); - - info = Communication.parseUpdateInput(new StringReader("Version: 1.2")); - assertNull(info); - - info = Communication.parseUpdateInput(new StringReader("Version: 1.2pre")); - assertNull(info); - - info = Communication.parseUpdateInput(new StringReader("Version: 1.2.x")); - assertNull(info); - - info = Communication.parseUpdateInput(new StringReader("\u0000\u0001\u0002")); - assertNull(info); - - // Feed random bad input - Random rnd = new Random(); - StringBuilder sb = new StringBuilder(10000); - for (int i=0; i<100; i++) { - int length = rnd.nextInt(10000); - sb.delete(0, sb.length()); - for (int j=0; j requestProperties = new HashMap(); + private volatile int connectTimeout = -1; + private volatile String contentEncoding = ""; + + private volatile boolean doInput = false; + private volatile boolean doOutput = false; + + private volatile byte[] content = null; + private volatile String contentType = null; + private volatile boolean useCaches = false; + + + private volatile InputStream inputStream = null; + private volatile ByteArrayOutputStream outputStream = null; + + private volatile String trueUrl = null; + + + private volatile boolean connected = false; + private volatile int connectionDelay = 0; + + private volatile boolean failed = false; + + + + + public HttpURLConnectionMock() { + super(MOCK_URL); + } + + public HttpURLConnectionMock(URL u) { + super(u); + } + + + + public String getTrueUrl() { + return trueUrl; + } + + public void setTrueUrl(String url) { + assertNull(this.trueUrl); + this.trueUrl = url; + } + + + public boolean hasFailed() { + return failed; + } + + + public void setConnectionDelay(int delay) { + this.connectionDelay = delay; + } + + + + @Override + public void connect() { + if (!connected) { + try { + Thread.sleep(connectionDelay); + } catch (InterruptedException e) { + } + connected = true; + } + } + + @Override + public void disconnect() { + + } + + @Override + public boolean usingProxy() { + return false; + } + + + + + @Override + public boolean getInstanceFollowRedirects() { + return this.instanceFollowRedirects; + } + + @Override + public void setInstanceFollowRedirects(boolean followRedirects) { + assertFalse(connected); + this.instanceFollowRedirects = followRedirects; + } + + @Override + public String getRequestMethod() { + return this.requestMethod; + } + + @Override + public void setRequestMethod(String method) throws ProtocolException { + assertFalse(connected); + this.requestMethod = method; + } + + @Override + public int getResponseCode() throws IOException { + connect(); + return this.responseCode; + } + + public void setResponseCode(int code) { + this.responseCode = code; + } + + + @Override + public void addRequestProperty(String key, String value) { + assertFalse(connected); + assertFalse(this.requestProperties.containsKey(key.toLowerCase())); + this.requestProperties.put(key.toLowerCase(), value); + } + + + @Override + public void setRequestProperty(String key, String value) { + assertFalse(connected); + this.requestProperties.put(key.toLowerCase(), value); + } + + + @Override + public String getRequestProperty(String key) { + return this.requestProperties.get(key.toLowerCase()); + } + + + @Override + public int getConnectTimeout() { + return this.connectTimeout; + } + + @Override + public void setConnectTimeout(int timeout) { + assertFalse(connected); + this.connectTimeout = timeout; + } + + + + @Override + public String getContentEncoding() { + connect(); + return this.contentEncoding; + } + + public void setContentEncoding(String encoding) { + this.contentEncoding = encoding; + } + + + + @Override + public int getContentLength() { + connect(); + if (content == null) + return 0; + return content.length; + } + + public void setContent(byte[] content) { + this.content = content; + } + + public void setContent(String content) { + try { + this.content = content.getBytes("UTF-8"); + } catch (UnsupportedEncodingException e) { + fail("UTF-8"); + } + } + + + @Override + public String getContentType() { + connect(); + return this.contentType; + } + + public void setContentType(String type) { + this.contentType = type; + } + + + + @Override + public boolean getDoInput() { + return this.doInput; + } + + + @Override + public void setDoInput(boolean doinput) { + assertFalse(connected); + this.doInput = doinput; + } + + + @Override + public boolean getDoOutput() { + return this.doOutput; + } + + + @Override + public void setDoOutput(boolean dooutput) { + assertFalse(connected); + this.doOutput = dooutput; + } + + + @Override + public InputStream getInputStream() throws IOException { + assertTrue(doInput); + assertNull(inputStream); + assertNotNull(content); + + connect(); + inputStream = new ByteArrayInputStream(content); + return inputStream; + } + + + @Override + public OutputStream getOutputStream() throws IOException { + assertTrue(doOutput); + assertNull(outputStream); + outputStream = new ByteArrayOutputStream(); + return outputStream; + } + + public byte[] getOutputStreamData() { + return outputStream.toByteArray(); + } + + public String getOutputStreamString() { + try { + return outputStream.toString("UTF-8"); + } catch (UnsupportedEncodingException e) { + fail("UTF-8"); + return null; + } + } + + + + @Override + public void setUseCaches(boolean usecaches) { + assertFalse(connected); + this.useCaches = usecaches; + } + + + + @Override + public boolean getUseCaches() { + return this.useCaches; + } + + + + + + + + + private void assertNull(Object o) { + try { + org.junit.Assert.assertNull(o); + } catch (AssertionError e) { + failed = true; + throw e; + } + } + + private void assertNotNull(Object o) { + try { + org.junit.Assert.assertNotNull(o); + } catch (AssertionError e) { + failed = true; + throw e; + } + } + + private void assertTrue(boolean o) { + try { + org.junit.Assert.assertTrue(o); + } catch (AssertionError e) { + failed = true; + throw e; + } + } + + private void assertFalse(boolean o) { + try { + org.junit.Assert.assertFalse(o); + } catch (AssertionError e) { + failed = true; + throw e; + } + } + + private void fail(String msg) { + failed = true; + org.junit.Assert.fail(msg); + } + + + + + + + + + + + + + + + + + + + @Override + public InputStream getErrorStream() { + throw new UnsupportedOperationException(); + } + + + + @Override + public String getHeaderField(int n) { + throw new UnsupportedOperationException(); + } + + + + @Override + public long getHeaderFieldDate(String name, long Default) { + throw new UnsupportedOperationException(); + } + + + + @Override + public String getHeaderFieldKey(int n) { + throw new UnsupportedOperationException(); + } + + + @Override + public Permission getPermission() throws IOException { + throw new UnsupportedOperationException(); + } + + + @Override + public String getResponseMessage() throws IOException { + throw new UnsupportedOperationException(); + } + + + + @Override + public void setChunkedStreamingMode(int chunklen) { + throw new UnsupportedOperationException(); + } + + + + @Override + public void setFixedLengthStreamingMode(int contentLength) { + throw new UnsupportedOperationException(); + } + + + + + + @Override + public boolean getAllowUserInteraction() { + throw new UnsupportedOperationException(); + } + + + + @Override + public Object getContent() throws IOException { + throw new UnsupportedOperationException(); + } + + + + @SuppressWarnings("unchecked") + @Override + public Object getContent(Class[] classes) throws IOException { + throw new UnsupportedOperationException(); + } + + + @Override + public long getDate() { + throw new UnsupportedOperationException(); + } + + + + @Override + public boolean getDefaultUseCaches() { + throw new UnsupportedOperationException(); + } + + + @Override + public long getExpiration() { + throw new UnsupportedOperationException(); + } + + + + @Override + public String getHeaderField(String name) { + throw new UnsupportedOperationException(); + } + + + + @Override + public int getHeaderFieldInt(String name, int Default) { + throw new UnsupportedOperationException(); + } + + + + @Override + public Map> getHeaderFields() { + throw new UnsupportedOperationException(); + } + + + + @Override + public long getIfModifiedSince() { + throw new UnsupportedOperationException(); + } + + + @Override + public long getLastModified() { + throw new UnsupportedOperationException(); + } + + @Override + public int getReadTimeout() { + throw new UnsupportedOperationException(); + } + + + + @Override + public Map> getRequestProperties() { + throw new UnsupportedOperationException(); + } + + + @Override + public URL getURL() { + throw new UnsupportedOperationException(); + } + + + + @Override + public void setAllowUserInteraction(boolean allowuserinteraction) { + throw new UnsupportedOperationException(); + } + + @Override + public void setDefaultUseCaches(boolean defaultusecaches) { + throw new UnsupportedOperationException(); + } + + + @Override + public void setIfModifiedSince(long ifmodifiedsince) { + throw new UnsupportedOperationException(); + } + + + @Override + public void setReadTimeout(int timeout) { + throw new UnsupportedOperationException(); + } + + + + + + @Override + public String toString() { + throw new UnsupportedOperationException(); + } + + + + +} diff --git a/test/net/sf/openrocket/communication/UpdateInfoTest.java b/test/net/sf/openrocket/communication/UpdateInfoTest.java new file mode 100644 index 00000000..19fed4d0 --- /dev/null +++ b/test/net/sf/openrocket/communication/UpdateInfoTest.java @@ -0,0 +1,229 @@ +package net.sf.openrocket.communication; + +import static org.junit.Assert.*; + +import java.io.IOException; +import java.util.Collections; +import java.util.List; +import java.util.Random; + +import net.sf.openrocket.util.ComparablePair; +import net.sf.openrocket.util.Prefs; + +import org.junit.Test; + +public class UpdateInfoTest { + + /** The connection delay */ + private static final int DELAY = 100; + + /** How much long does the test allow it to take */ + private static final int ALLOWANCE = 2000; + + + private HttpURLConnectionMock setup() { + HttpURLConnectionMock connection = new HttpURLConnectionMock(); + Communicator.setConnectionSource(new ConnectionSourceStub(connection)); + + connection.setConnectionDelay(DELAY); + connection.setUseCaches(true); + connection.setContentType("text/plain"); + return connection; + } + + private void check(HttpURLConnectionMock connection) { + assertEquals(Communicator.UPDATE_INFO_URL + "?version=" + Prefs.getVersion(), + connection.getTrueUrl()); + assertTrue(connection.getConnectTimeout() > 0); + assertEquals(Prefs.getVersion(), connection.getRequestProperty("X-OpenRocket-Version")); + assertNotNull(connection.getRequestProperty("X-OpenRocket-Country")); + assertNotNull(connection.getRequestProperty("X-OpenRocket-ID")); + assertNotNull(connection.getRequestProperty("X-OpenRocket-OS")); + assertNotNull(connection.getRequestProperty("X-OpenRocket-Java")); + assertTrue(connection.getInstanceFollowRedirects()); + assertEquals("GET", connection.getRequestMethod()); + assertFalse(connection.getUseCaches()); + } + + + @Test + public void testUpdateAvailable() throws IOException { + HttpURLConnectionMock connection = setup(); + connection.setResponseCode(Communicator.UPDATE_INFO_UPDATE_AVAILABLE); + + String content = + "Version: 6.6.6pre A \n" + + "Extra: information\n" + + "100:hundred\n" + + "50: m\u00e4 \n\n" + + "1: one\n" + + "-2: none"; + connection.setContent(content); + + UpdateInfoRetriever retriever = new UpdateInfoRetriever(); + retriever.start(); + + // Info is null while processing + assertNull(retriever.getUpdateInfo()); + + waitfor(retriever); + assertFalse(connection.hasFailed()); + + UpdateInfo info = retriever.getUpdateInfo(); + assertNotNull(info); + + check(connection); + + assertEquals("6.6.6pre A", info.getLatestVersion()); + + List> updates = info.getUpdates(); + assertEquals(3, updates.size()); + Collections.sort(updates); + assertEquals(1, (int)updates.get(0).getU()); + assertEquals("one", updates.get(0).getV()); + assertEquals(50, (int)updates.get(1).getU()); + assertEquals("m\u00e4", updates.get(1).getV()); + assertEquals(100, (int)updates.get(2).getU()); + assertEquals("hundred", updates.get(2).getV()); + } + + + + + @Test + public void testUpdateNotAvailable() throws IOException { + HttpURLConnectionMock connection = setup(); + connection.setResponseCode(Communicator.UPDATE_INFO_NO_UPDATE_CODE); + + String content = + "Version: 6.6.6pre A \n" + + "Extra: information\n" + + "100:hundred\n" + + "50: m\u00e4 \n\n" + + "1: one\n" + + "-2: none"; + connection.setContent(content); + + UpdateInfoRetriever retriever = new UpdateInfoRetriever(); + retriever.start(); + + // Info is null while processing + assertNull(retriever.getUpdateInfo()); + + waitfor(retriever); + assertFalse(connection.hasFailed()); + + UpdateInfo info = retriever.getUpdateInfo(); + assertNotNull(info); + + check(connection); + + assertEquals(Prefs.getVersion(), info.getLatestVersion()); + assertEquals(0, info.getUpdates().size()); + } + + + + @Test + public void testInvalidResponses() { + HttpURLConnectionMock connection = setup(); + connection.setResponseCode(404); + connection.setContent("Version: 1.2.3"); + + UpdateInfoRetriever retriever = new UpdateInfoRetriever(); + retriever.start(); + assertNull(retriever.getUpdateInfo()); + waitfor(retriever); + assertFalse(connection.hasFailed()); + assertNull(retriever.getUpdateInfo()); + check(connection); + + + connection = setup(); + connection.setResponseCode(Communicator.UPDATE_INFO_UPDATE_AVAILABLE); + connection.setContentType("text/xml"); + + retriever = new UpdateInfoRetriever(); + retriever.start(); + assertNull(retriever.getUpdateInfo()); + waitfor(retriever); + assertFalse(connection.hasFailed()); + assertNull(retriever.getUpdateInfo()); + check(connection); + + + + connection = setup(); + connection.setResponseCode(Communicator.UPDATE_INFO_UPDATE_AVAILABLE); + String content = + "100:hundred\n" + + "50: m\u00e4 \n\n" + + "1: one\n"; + connection.setContent(content); + + retriever = new UpdateInfoRetriever(); + retriever.start(); + assertNull(retriever.getUpdateInfo()); + waitfor(retriever); + assertFalse(connection.hasFailed()); + assertNull(retriever.getUpdateInfo()); + check(connection); + + + connection = setup(); + connection.setResponseCode(Communicator.UPDATE_INFO_UPDATE_AVAILABLE); + connection.setContent(new byte[0]); + + retriever = new UpdateInfoRetriever(); + retriever.start(); + assertNull(retriever.getUpdateInfo()); + waitfor(retriever); + assertFalse(connection.hasFailed()); + assertNull(retriever.getUpdateInfo()); + check(connection); + + } + + @Test + public void testRandomInputData() { + + Random rnd = new Random(); + for (int i=0; i<10; i++) { + int size = (int) ((1 + 0.3 * rnd.nextGaussian()) * Math.pow(i, 6)); + byte[] buf = new byte[size]; + rnd.nextBytes(buf); + + HttpURLConnectionMock connection = setup(); + connection.setResponseCode(Communicator.UPDATE_INFO_UPDATE_AVAILABLE); + connection.setContent(buf); + + UpdateInfoRetriever retriever = new UpdateInfoRetriever(); + retriever.start(); + assertNull(retriever.getUpdateInfo()); + waitfor(retriever); + assertFalse(connection.hasFailed()); + assertNull(retriever.getUpdateInfo()); + check(connection); + } + + } + + + + private void waitfor(UpdateInfoRetriever retriever) { + long t = System.currentTimeMillis(); + + while (retriever.isRunning()) { + if (System.currentTimeMillis() >= t+ALLOWANCE) { + fail("retriever took too long to respond"); + } + + try { + Thread.sleep(10); + } catch (InterruptedException e) { } + } + + System.out.println("Waiting took " + (System.currentTimeMillis()-t) + " ms"); + } + +} diff --git a/test/net/sf/openrocket/rocketcomponent/ComponentCompareTest.java b/test/net/sf/openrocket/rocketcomponent/ComponentCompareTest.java index d1f94d94..d09e90ab 100644 --- a/test/net/sf/openrocket/rocketcomponent/ComponentCompareTest.java +++ b/test/net/sf/openrocket/rocketcomponent/ComponentCompareTest.java @@ -13,6 +13,9 @@ public class ComponentCompareTest { @Test public void testComponentEquality() { + + System.out.println("TEST CLASSPATH: " + System.getProperty("java.class.path")); + Rocket r1 = net.sf.openrocket.util.TestRockets.makeBigBlue(); Rocket r2 = net.sf.openrocket.util.TestRockets.makeBigBlue(); -- 2.30.2