From 6f8a05c4d90cad0444de98a08680b68927b7a5cb Mon Sep 17 00:00:00 2001 From: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Date: Thu, 23 Feb 2023 16:03:48 -0800 Subject: [PATCH 1/4] Add CI configuration and relevant gradle updates. --- .circleci/config.yml | 96 ++++++++++++++++ README.md | 15 ++- build.gradle | 108 +++++++++++++++--- config/checkstyle/checkstyle.xml | 15 +++ gradle.properties | 7 ++ gradle/wrapper/gradle-wrapper.jar | Bin 55627 -> 59536 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- settings.gradle | 2 +- .../serverprovider/package-info.java | 9 ++ 9 files changed, 234 insertions(+), 20 deletions(-) create mode 100644 .circleci/config.yml create mode 100644 config/checkstyle/checkstyle.xml create mode 100644 gradle.properties create mode 100644 src/main/java/com/launchdarkly/openfeature/serverprovider/package-info.java diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..eacb427 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,96 @@ +version: 2.1 + +orbs: + win: circleci/windows@5.0.0 + +workflows: + test: + jobs: + - build-linux + - test-linux: + name: Java 8 - Linux - OpenJDK + docker-image: cimg/openjdk:8.0 + requires: + - build-linux + - test-linux: + name: Java 11 - Linux - OpenJDK + docker-image: cimg/openjdk:11.0 + requires: + - build-linux + - test-linux: + # current LTS version + name: Java 17 - Linux - OpenJDK + docker-image: cimg/openjdk:17.0 + with-coverage: true + requires: + - build-linux + - test-linux: + name: Java 19 - Linux - OpenJDK + docker-image: cimg/openjdk:19.0 + requires: + - build-linux + - packaging: + requires: + - build-linux + +jobs: + build-linux: + docker: + - image: cimg/openjdk:8.0 + steps: + - checkout + - run: java -version + - run: ./gradlew dependencies + - run: ./gradlew jar + - persist_to_workspace: + root: build + paths: + - classes + + test-linux: + parameters: + docker-image: + type: string + with-coverage: + type: boolean + default: false + docker: + - image: <> + steps: + - checkout + - attach_workspace: + at: build + - run: java -version + - run: + name: Run tests + command: ./gradlew test + - run: + name: Save test results + command: | + mkdir -p ~/junit/ + find . -type f -regex ".*/build/test-results/test/.*xml" -exec cp {} ~/junit/ \; + when: always + + - store_test_results: + path: ~/junit + - store_artifacts: + path: ~/junit + - store_artifacts: + path: ./build/reports/jacoco/test/html + destination: coverage + + packaging: + docker: + - image: cimg/openjdk:8.0 + steps: + - run: java -version + - run: sudo apt-get install make -y -q + - checkout + - attach_workspace: + at: build + - run: + name: checkstyle/javadoc + command: ./gradlew javadoc checkstyleMain + - run: + name: build all SDK jars + command: ./gradlew publishToMavenLocal diff --git a/README.md b/README.md index 6eabb77..7a39f6e 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,20 @@ This version of the LaunchDarkly provider works with Java 8 and above. ### Installation -TODO: Implement +First, install the LaunchDarkly OpenFeature provider for the Server-Side SDK for Java as a dependency in your application using your application's dependency manager. + +```xml + + com.launchdarkly + launchdarkly-openfeature-serverprovider + 0.1.0 + +``` + +```groovy +implementation group: 'com.launchdarkly', name: 'launchdarkly-openfeature-serverprovider', version: '0.1.0' +// Use current version number in place of 0.1.0. +``` ### Usage diff --git a/build.gradle b/build.gradle index 2bf0355..e744838 100644 --- a/build.gradle +++ b/build.gradle @@ -1,19 +1,93 @@ -/* - * This build file was generated by the Gradle 'init' task. - * - * This generated file contains a sample Java Library project to get you started. - * For more details take a look at the Java Libraries chapter in the Gradle - * user guide available at https://docs.gradle.org/4.4.1/userguide/java_library_plugin.html - */ - -// Apply the java-library plugin to add support for Java Library -apply plugin: 'java-library' - -// In this section you declare where to find the dependencies of your project + +plugins { + id "java" + id "java-library" + id "checkstyle" + id "jacoco" + id "signing" + id "com.github.johnrengelman.shadow" version "7.1.2" + id "maven-publish" + id "io.github.gradle-nexus.publish-plugin" version '1.2.0' + id "idea" +} + +java { + withJavadocJar() + withSourcesJar() +} + repositories { - // Use jcenter for resolving your dependencies. - // You can declare any Maven/Ivy/file repository here. - jcenter() + mavenLocal() + mavenCentral() +} + +test { + testLogging { + events "passed", "skipped", "failed", "standardOut", "standardError" + showStandardStreams = true + exceptionFormat = 'full' + } + dependsOn 'cleanTest' + finalizedBy jacocoTestReport // report is always generated after tests run +} + +jacocoTestReport { + dependsOn test // tests are required to run before generating the report +} + +checkstyle { + toolVersion = "9.3" + configFile file("${project.rootDir}/config/checkstyle/checkstyle.xml") + checkstyleTest.enabled = false +} + +publishing { + publications { + mavenJava(MavenPublication) { publication -> + from components.java + + artifactId = 'launchdarkly-openfeature-serverprovider' + + pom { + name = 'LaunchDarkly OpenFeature provider for the Server-Side SDK for Java' + packaging = 'jar' + url = 'https://github.com/launchdarkly/openfeature-java-server' + + licenses { + license { + name = 'The Apache License, Version 2.0' + url = 'http://www.apache.org/licenses/LICENSE-2.0.txt' + } + } + + developers { + developer { + name = 'LaunchDarkly SDK Team' + email = 'sdks@launchdarkly.com' + } + } + + scm { + connection = 'scm:git:git://github.com/launchdarkly/openfeature-java-server' + developerConnection = 'scm:git:ssh:git@github.com:launchdarkly/openfeature-java-server.git' + url = 'https://github.com/launchdarkly/openfeature-java-server' + } + } + } + } + repositories { + mavenLocal() + } +} + +nexusPublishing { + clientTimeout = java.time.Duration.ofMinutes(2) // we've seen extremely long delays in creating repositories + repositories { + sonatype { + username = ossrhUsername + password = ossrhPassword + } + } } dependencies { @@ -23,8 +97,8 @@ dependencies { // This dependency is used internally, and not exposed to consumers on their own compile classpath. implementation 'com.google.guava:guava:23.0' - implementation group: 'com.launchdarkly', name: 'launchdarkly-java-server-sdk', version: '6.0.0' - implementation 'dev.openfeature:sdk:1.2.0' + implementation group: 'com.launchdarkly', name: 'launchdarkly-java-server-sdk', version: '6.+' + implementation 'dev.openfeature:sdk:[1.2.0,2.0.0)' // Use JUnit test framework testImplementation 'junit:junit:4.12' diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml new file mode 100644 index 0000000..7800907 --- /dev/null +++ b/config/checkstyle/checkstyle.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..afa7510 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,7 @@ +group = com.launchdarkly +version = 0.1.0-alpha.1 +signing.keyId= +signing.password= +signing.secretKeyRingFile= +ossrhUsername= +ossrhPassword= diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index d9b7505b1096bc428abaa017cb79c9d2da247111..7454180f2ae8848c63b8b4dea2cb829da983f2fa 100644 GIT binary patch delta 28910 zcmZU)V{~9a)3zHs6Wg|J+qP{RJGO1xns{PNtcf!*C&t7$^F8l6>wM39e)PubTGc;x z?R8&WRXx=Lp0ofitSko(0S5vC0|NpABJyv5fPnqy3IYQA@2()BF2W$AD9Hp4^52FI z&4L2L{|tnZ1r;P{!>}kY(aSJzU2k1M|CizaarXaug!uRD^kAt7 zdyw!+6E>2uu^Z%!g49SBW~5j32ws!FAjzJ@kvf2VN5|tNZr%ldrXFcVgM~40XK^EP zn_cdDnw>M+0YJQCet_I}wnp`UUhVZIDi9(0vqNGQ*p&Wu3)Za-VB94*sYdO@u`At< ziv$EL=FFMQDo{?Mr)SHTE%+6D9gEtiGRlZCq2cEo&N| z8BwQW^VF$-N}<^&~73Zn?by~HoEN*t%nYP{k!L`V{dLE$<giB zpfP>dY|@OUo`+-rb!gjQoFJ)l^gOdHowvQN|H1zh-0=zfNU_HHeJRtk0!Tf0;Omi* zG3_0gUT@v``((iNCHV2d5>)yuBME}WYB&rDizSwo#!O*`dp&t0lFm$KqA7`xX|6x! z$9kLuV2t<1A!C~B4{Esd5{W7*H-tMI3_+u+vXXX^nBj9#_^(A9`jd;mo2aZ!#+DL) zV>FQ&3j`&OC<(KGvY2G=%4cbF&CbLLsdQKKQe=BZouEVbjMLaf*wpxa*qXjb+Hvw- zB9z)>dD3nSV`gR4FaFdk!=oixouMa-aYJ_y*gflMZ*Lj8eBhaKo&5G=+PXX2gMD-F zkz1^Yz5xL|`uq>WWkLogdu!G#Z@VMrxIm0!InyZ=k=L!YXEOhVJ=rv|A0t&gs>zw7 zrse5P=TeTs>3zo8jm9{l-uE^zD$`#}%w4I5S!#INqFv%u2B^acP&L9cY}y4rB1Okb>PdcQzveWxj^yDMjN&Iw(DW3~ls zM-{JJw~q4nm~5ltc041XguyQ{^BD8R1XzB>o0Cp?|r4o^{CwK1d=8#W{xRGbL*U1x+_nt zqq%YKIQ#A0;!(HK8`p-EKLi#JS4!b-EUwHq=$p0oA+LB5x>wuRjC+2yuiKNh`QFa; zmZcRa-btJ@RpolsZT6Nk*b3aFv{xlpRr#L@QaYVLH6gMDKiN38<+HQ3gQZa_Yj+m&RP(~+@TCi z(P4Qplt5$!B1`(wJN76Jh zRjFC8D!8r~MN?`GcZVXtZ~6;nv-FeJx8(CCfp*9&*qXREwTz6%$XlyD=C|3Pb&?OJ z)M>!na@7~pLxWhtDq4>jP_42+|$;+vaKU(vav-dUBV>Ow^ zL%mrL;m7$Y-ulSr7Sz55eiqILoEgdZ_8+b6SVB&%u&BWL|CHaSO>cnxpFpoc|KouFV}mU29s%IrH$UBWWrB@^|i2w2MgB>VJTz{y{5kra4B4RnX&CP$~nbx%f>503R>|bk9G&Z7h9Vk5V-7<+8)nEd@I)z7^bQPVYZnVI2*G}KlZ z#l`gaDtp1k+}~HnSe%wU_znC1_+c2S*FyH-!f1sP8a|H3TrSsa`h^*xIt~ong#jy` zm%IGKN5242hywT)rwkJQKk3nSZiAkq=^Kk7H&)LfVss3UjU)LwSDSZ001H0-hDO8{ zi%aNgo^k&)g64L)%dfrVnxY^#=v&@TqV-ejl%wuO?3*G@0)s>>!fIwp=S+;}n#nr$?)zzaz zc95>*^oSewms+m2LwU}1>dAV}#IAz(=G0;3m{aD6tFa$rvvp-E!!rJ#6ssY1Ls~Dj zUC6EV5}cjl&hO@!KX6A6?I&2f)2)=jbWevg;2pT_iwOuY6N;9GXb@0qMZmAMvm_UW zVDo^s(=MOofw*wHEDmNWf$PQQE0Ns2C|!@!Q??}zuBOb9b~VyjJny-ow@$}BaDA>D z60t`>JzxBKSAk&*oq{+2^TgT-ih+XeSM&9fDAKZ}2ae(@o=mZd-;2bpi$W(w^5y1H zXO-vF*iS);M(pQyz2Y&wJw*li-$j#^cRc_&7nicKX`}fF3r9DT;+vx_TWnuP4ZfHV#Vq7+5o63RJ$({Czy5YsVB;c^;acX|OEtZBU#*o}-JT3Fo z5j9m@n1{509Bf`rqd9Jz^byYZW(0fArTWB2@(~RB9&PeozE&R1R_xG<$ODhD`4I`;xZ~24x2WQ>8cyM`{T>MGff2JO#KW+L?L@UP*&p zj{3x@cyHa`?X$iEih2L@R7Cs@;VG=m^2DF^(_59lto~TT_EyYCb;bA-Fx7A|83P$Y1f*&1AYQ>|t>;~|;q}e7)UteZzOyTy zo_@E-yd9pNr-l2%KqzNi3UDbF-15D)V8PznUu-J9kx%Il!NEu_D+AbLfJYu1vPKZK zV9aiB4wL%Quk)xd7!jRQ;b~{h0j^kPzoSN~PegFZdAgg0Qks4C z=8bqc>5r|lp1rjO>Ugx9yd&*TpNK(qDRbXw5`Aa6l;TQj9@p;2qnroKksJlO=n^|P zKN;_gMZ8!O46w@?->V-pKy*$&Bf$=9__Z&>d(DA#qj9XQ1}f#w+3BGnG`bg{^V(|O zx93}4Au#2Etyr-*+Ouz$>{eE|NhD5aigDy+rAL9Xwl+j_avU({ItdYj{L@Qe)iMg| zd93f%X*pASbIYaTbqjPZ02z%iGmML+6pZ$($j zy6cTN&XZ7VBqNbPGkuzM^o-z!f3H2?{IfaioY&Er{(w@<$nQAQHp3u=a2!tatm(q> z4}KxtupWMgOC-s*<4Gd*n63MrUa_;^)GUqeXut8kllqNPl6(Z1p#;-5Wi4{C(;h(z_IezdL<(uyiZqA9 zmsF8JWOb?4+Y^yD{>YwkXs`?`3{4-an4a<5Jy&PEs5Q67BC|#)7OFtBUJQ3TL*w<+45A!wrB%>@n=E#zgD^l21n6@J=qZS>{t z#bM?1^Qb(7!bJ?QerNXXk7sT9G;Gs-p4R7|PkmH6E#WdJx!1Y=w*gNDepg*51^0z+ zSKp1kX55%i7id3KXqJHm!249_te^k%qr*C|dj8A%rv#Drsmp76W}rg zV@jqRzj>3`L!Ke;BqPEZ_)pUgYxIRGxJ+N`Z+;^K@Pl>L`jnkk)%p$2;gOiG<&gpW zn_`W(_zTk*_8KMGC&k|i8k>yvAPIGc;04@4neOKG{1dVa>2m-#jc?wkh=NLc_oGi> z3-l;6stfe@^SQlS!^^#*>>O~bHToyT%lg-(w~Zl1{}j#l)T2-ND4o!76f0Vy7SiJT z5EfnUn3&cgG;QN(CKJj`IW1RoqnNa<<}+*Y*-?oN$_z$Hmn!?Y_!4anXZR}JR>K_> zlEa>5@tX#%mp4E?B$Ccm(<^hNC~}EvdHFc+u~m9!iS&`yQMFa;ES>bKex>D8D@uj2 zeY{ueBYbozI`%ERQN_D*ap`jWwp#UHhZc+WdA89s1Vx?1%`o3J1%~#@42rhLaz4TWvjf3&D`td_#R@PtT8f zB)*G3@Sec;r-!G@KX9I&P-2%^Iz&VJM;P*-+m9aSv8>EprMG(~E(ziJw};LL&ZG7H&lZx;2y}N7g8LXOdyQdCtnW2glq)9W)0tiCX8# zWN4k_`?{9+jIyhBfeast_;1!4vh1d&?BD6O5b6HQtkKl2Mmqesho$fWw z6Uo#iVN5XEmrYAgX9(0fGZ1eC8qZ5d$Y z1kfMKaJa0T0#2^H=tNs~Spmr^WCfgVlc96LE{v1T0|jl_(z(pN#fhffM^0pAY@)_w!h$zyp`cu zwBC&xN)k|&q$Uz7<4Rm9K|xl`Tu|O&t0B!K=zIsBkRJhd^l7-2_4giZdp#bN*CClZ-O z`Spt&$1~4n=}b$ZdF~Q!r}#GCKXc4zw}+z-TB;I(VCgjSAz|$44l8-3wX0miQkpEU zFgR)dj?L*aE$NG5VXN}?<2^{SUkNB$U^*3eR;1Qvx~;ekeYemju>$4|4kDlFaE0h| z8t+!wKY0PM1F7d+IH8(bl|cD}@t5|x4sq0riEv!UCLNaG4_{hjlrx@e#VpBAk<-Vp zAtl>)hCtba%9l-f?;L`qXPiLMgKL=0!Z#FH+*@7_P2HvBs<^|+i&Yc3eYpdy7xbk)hjZVa(BE2+uWI|u1OWlL z;H=-F;oSU)6Zou!69;E$%#gW)2h3kFbIqr$Kw`nPWW1n<27mz87Cr`VT(I0yDAXS9 zjF^F#V0Xu1W$=A{dn_eM$0oYyO;yoSud{L7{t+g-cY#mAIJ$4YiNQLGHCABbfq_O4 z@6>f76n2UQTmPK7wV+v}9`X*;jP#GU{fx@XfIGXOp+?(x-2QKGf1ezx`o#~po@c=N zE*94%;K0>{l>sDneC&A6i-eIO#B&cdE*CS$R>vn)O;{LahGktBa8$0p`7g?JrmO14 zzzBZ!pi{CsF(wyywL2-wIOiUSHFUBuI9`Y6;FTa9JKn{7+ns_2iA$@2CPd%P;~c2#E0GkJI@!aT*D*7>+|HDc2($VA9Npe;(y_x z&loQ#MB{}oTH;EHyY4VlbBo=^gKMTDisU99A~rgES$>gd-^Hk$`gYk>N#IPYunmQ;4fgID;Y+K(IXP(p`4C2XZnA{ubv40PHa4=F;<^mXu| z?)&=7{Cy~2qLDaqdKL21k3O$4)7Cc8LGg%j3>=--D$J(LtV_dFB(<5mPUfc>Zgawo z%I)Pd1uaY?*(;(FX%p5<{yTE$H!0A~g)aj}3ox=VvSb}h2+}|ZR`l<_r?!Pe#%AS0 zW{utr_8Z4chdiYqot$wrC>^X@fj{gXUULe*W-_L0J5IIQaR+G;r1?ru_;O1XLi(YP z?DX=7qW3k8xPh61g0Q_2LsW$(<)_U_Y5h&mWT~Tu(c#gEc%`;4Ai&z+DT#rJEelD_ z1Te#VnlryCs=VN`kjN#j3kq${JZR4$NX*-iEVsHpcKD_ z?vI%&z*7n93cbrxZUb3kCH5+!Opu>;2at(w9olx6y#YGptuLWI|61F^!L+omJJQgl z_TQNIHIp~5hj@y3+$dSK66GAP zeHBMJR@_%5AeeRs^B-2~og%+>psK(IV}iHp z5<66ewRe6!AETjafw!JeU%ykn2p8x3Gy9?*<%%wdxp;0F8mo`GU(wWEL-5TG{Uup< zB3DA079`kXHJ3h4m$fe*Km@4209|#)4y$!ExU`=I%7ek*y{kh*;@5(kwYz-s^uf&z zuj(d}TvOC58oE=}Cz1Q02#}WK4lf((g=BCK_H-j==_}a0#|S89aD#kPCJEXuPe-yh z%#zO1ax{~l-0mB5SbiaNXLYu`glBmf?#+8?ZX;GJ#nRIq8?dzuR3W@GAuo9p0hUE^OxMTj-a=w z@2<=gGj}|^AaPACPH9Ze#(}zy8j$DD5qRQ~V{qU_K-GX#$pik~!;JljTO-(^z&TNj z@YP?M!ZsMTp-8nG)lpXpaI3T3Jc9^ zp;R zre%gTmUBkBXv6tn;NeCOdB%B7K-|AxY}NMBcN}Yj{*d=%8zW@N!G7eT2x* zEWXd(I&dEx;AX%X7?T^f*6G;EFaD<#IlBFBaW#8Q7z!~vu$iHedx=Ho&VgS^iq^cR6%Fm}7*DOkzWjqsiPYDEdmM*1{P1|h z5o>;GUJ6Be(iB+$FZ5Ign|=@e?Ck;ERT#Q`wY#$bFcd-WN`lE0-meudgNgI{$rn5` ziC&{tC04wO?rTuYh3>0X++hv|hsKApfClm1z*Vrn#_Rn~=83+aWPixM7E3`myg|i{0 zC+xrYz&U;;19;!|1`Aw%N-=>j&bEG%gCq3Ox3YP@@=%FKA)?B_>_GCD^RuU2WV-9l zXb;F*xshxB%jtXcJYrRIImE})^9G^Nmb3H5a7CPrR}dRk;&u|^KmJ-)rB)y;YHC7~ zoAqlVyjjyhv5>^d*jv=IgcrNvn)e`yAi`cez@Jm|zYY@=4H^3Tw#7ma!m>@TsIO$% zW8vG(D~&(l=Vm9?-8izg%Zc@n+{?upJ;YrW>{$MsCm z0KYkCSt;K&NSFR%a`$5u`@;8S#M>I6L#c9n!9w8@zvUEbI)GK>Z66sRPHdXxtdn8k;MkQq%WBstNR#!Oe^ZdK46 z&#Fsk63@gRYaPDoUUFx=I~Bzfsd9C|P{5J>r3b?c)oTFIN0OX>d*D}Hh96jpm9DM~ zip#ujTFT&4${pbf_2T%5@9kocOnKeJ_f)n56c|>HAXEE`p6sX9P0>J?d&+AjfV!G| z*DPB8sBFF{{EAjFbt#tZOuU{$Z@}^5k)TSMLYa9F9uekqy%=!A z$y;BBx@Ckse*I^q>St$IG1WpLpC+$sdWIl_5g=44&ty^5+7*gTMWOgKx+yi_{|r!2fr`DYeS$ z81DZoTD4|*e?a};?}b1&*#A}3Qg-dmuKm}?!hi_^Li?ZmR740a;Eg_x@d=&ZR=Hf_ zS`tlKD8Uy^D$k-lgiHcU?oTX?D!vO6+m`a}%5ij?kV0|ay)s2IhM*FQ$^}j_FSQA5 zMA6Ildim@}>OS|2)suU73vs}UAbZFC@eJLU-~Bd1qTubk1&G}!Dde1bGvu6V@&3B2 zcLIJv?XC~4EO{3MFsJ358G`kED=K724$Gu@i`x4u(Jio7esD@dU1p57SCp|&b+p#m zaIjWm+GV0qG3JNfx2Kt(%B53;V&^9I z?rHmim};I;`|5V-Xg&99!Q8wq>}=pWh|Vq@cf86E-&q`CzP>{mEk$l z?Gr}G9x;PUls^JNjcR#>9WeH!x7PCG2-xZfKeT@(N#=a`y7xOu9P%qXtPdxL4YV}b zAaZ=uc@_R;&F^qVMi#N$Ih;-CY}NB1ou~L>`i_x>2Jot%wv-xlL{K+wnCS>B$Zc2a zfgLeQjo5DyM&s%;5H-s)ZlI8n(168Q^r!zmRWI9*@?2Bu*W2V0T!n{4> zd&NbIfoy>>A%_u&FL>Q^l=fupRHd|X!sjELlgiU5d_&JZRqhW6=9grC7Nkn_B(5KF z8_CuO0J*{I+2o({W&+E&zzp%3ViKDRutw^ze2J@CX|;_x?2mtCk1tfFPw*~%)W=7* zkBIYxkVY2n*8yQc1aaC!2WQ7DS1Z>2@5TJOf%>(J85VT42pCN-rSeKP=9C=!5x>`Z z8dL2;s2L_nJPYGDU$f)P4q+`Vwj5hIYN${hfU#XqHXI`B4tnUQ?BDI%fN7@SK6!sg zBYYjA0>L(zT8E?>9p`(0#X%801`Jjre(|>K$^#WOqWLDI-?#-}dSYN1 z5v9hG5S6@yxP8G+s9*0(6XrRJkjB(Mb1`bzhDo(X*v;m`}^ z0Z9Zsq1{9tJA;&u;uzbUXv(&#{V`$n!i{TTcWdqUo#g8&CFIXa6Nn#53Ll&M0Ra}4AvkBGP}E7c># zfhW18IVO$KGlvRo{SD%xw?b8kys=y@VPdYQ^FUE5O9b;8)7)>ETexpIn#}QlOcJCJ zw{>>2v5?;qi+~A4CX)iaQGRNq!FU4RM>{1ui&_nxmUuWNtwcI0SWXp`TJ_^Av_4v^ zvj$2l2aD9Sg=CCROx41Ozl=WdeJH7IgAaB2Y4g(r(si2=H&8pZDm$aaNNS}Pe7NSlVaT=?lb zRWc@GnH~wvIALld2$rhcZp0;M!YJ^U{CNh5b9mj;wpZVVVIP4CX6$VMs~t~NjpKQE zRpUUzkjgjh#8#2T1D!hJ04sTX*Kp5s9X#8G^G zPPDFf`s8>U^GqJZDg&V+7q~2&Tg9$;%ZXtDM$5&@QGiNoTyhno6Ov}gd#>nG%=gUc zqoqw*by~`5#Ul@c$|X)9ma|qW_e>Ds4`rMZbD8Fd;AYm`62HpN#)-WlvO<G_Gr1ySmUc^jUp+wpGQBw8&gHIlrujofTX?KUS( z3uz@J!)IV!j0)aaGx7_;qO|etGY_TH6Y4UP*P@Wi8J$h=3hv}ev9RNoOs{F_{7bDF z3W=%L@VEtm(S8P-o`?LCLlr)xJVR58r^X+FTQDz$R6$4_FlJZ~o^G7r7I|J4GaR!| z<}-BMJGmT9bB5n(+ilc7aW@!bs@Qy zv}-vz5w;YD7gSD+UChz;A6z3bxYiumG3FkbY87b)oN;`hWm>_+5RQXGKYQo!BnDW< z#{79URI!+Drv0mIr3&$&>av!GAaWPGlLQ%mH2$FKoa~+&GtqQ{J41D)1wBK_w+{_8 zVG7ngs&AzfpN<)et{JAbiLiDdm;>U0(zH3@Iv?MfW&YREFrENj+`j!?2T zbUP{*`P&}gN#&pUV#q5mF6V+G^~@29OITJmOkGm&R(ycn^|(*|$|C$L(bds735BK8 z4Q5!msy5wgVi@6wXTu$ziu#h@A(nJ3YJ@-ljI#d)TLzj}R7c|7Kwe!mfDZg`sWtX6 zT*xW1ra21bAhlQfg)qkN2C>Qm<#~*QEU**0eQt7~KY{mK^&Lr;W)Dfekp;q`?9)zo zFFm}Kg-&+pH)_&kl!cVzT)NA$ERA&A9yxI`su~YekcLfh?-%V7-9Mrt-$BVm|~usoOHT zu$m))v>jF-rgFv>PvQ+y$`w-0n#^(3lXO+Kt;}Hxn{>Vfj<66UQI!MDngmHTD%yq4 zVQbL*l-P0c5h|iFz%mB5!S0=Rsxe%i+v{)jdu@nQVMu&psrn$npklbJ z#tWtb-`0saxbh}4wVcV@@2n$jdMZBE(7)|ClyEgO{Q zI+Y_au6j!~U4<8JPgP$?jrjfc_fzrKk@U(@SpMO??t9?BY4CL)`?%&`Pt)eVLHZxO zqhCQvU5;<~zYvhe9(`Z)UvqQBzcS_j*fb>|1KK|R=w29KpDp9`si2F>qFC0sy7q2N zd$eK0qM|GgsKg{;5M}un-*QP>+0HNMgMF19>ZN|1r~4LaOO&tKi!O}43ETZ}TF|VQ z5;!M%RFepBvgBI-O;5v8IQKd0^|Afd_w=SP`*Bhn30gNKbZi1n@0haHn}nB}i_Vo0 z2Vj;_;3uODMTM2JnwR;w#z}QV-jH4yP17;$9hYz6pB#U~f$f!-W(@_tXa@kkFV1E1D~ZgGfp$0(i>}=!7Qm>dRJhpS8M1^)Ej^y0$}z+N&KZH(FCXQh)is#$o7D|o!W4x2e=;<^*j zbq!$xu8HaGr8y^M`t~_lal);?<8U=&ihfn|h-u0XRbuc*u|RIRq=qQ0)fvNc%?-!H zwVURKXtvR;1tUyMYLy$~_W%$X=wj}Ax?H9?^~PXU==@===&O`=+Jjc!ec*)}H_Vh6 z{t3Br_ZwI@5|BninHc_%M(H;kkVfM?kUIlh6#ON-dfw`T9V|3^d~kiS*RT*dDK(eW z&w_!%l1CuI-L*P$12rrvG0SEN zVaCLBh{$KFB{8{(>V^-tU+V_?U1c!!IW1o2NypU~Z?Zr;3pOJr`Vy9A&nPI3;Q_N{=S95UOFc6WF z-fkYBr&8$8p-+A?&S8}~S^0P;T;h|NGau9H{K{#(PMMxOmV;{HHKvMrJc8{??Cb7>O{1~?c8{hbupn`&LiR{z+%f@Q+`^aE2E|1KdYs@ z$8xNk-D;bw<1lP*3(xby&aBQ^T81;sC=9WB%yjUVlb9WDxc;Kl9F z4rzQVIaVIlz!|oe_H8Hp3YfDMQ`Y(bL0=VfOqj`NrGnm6g+oq{%_UEyeXn$WuBSFN zCr5AhPqXlWJ>oFxCz_on?S~e6*(v|120zc%*eokSLeW?Cz1o_IojDBglH`bA>Y1Kt zwz)g*J$ay9O`!2^EXGCdFN_)lKYahCvnTx)XTnx}fp&{0inWx)XE_=l9!Nax!LhG5 zoXeOJaE}yv4nyjwczYD;OPPxBKLsJ^XrE~yl=~?*mqLGDo+%tY zKG3`R`Eo6Al_Uo8-T3c2RxW@{5~~0P1|Qhs2E*8se{jclYvJFjrteR?Ry0v2~VVXxa|p=3|SewA-E`oO}us{XlQN z2c*;esAl4GU{uZ;Z;xRh4X>?)84AuL5WJHTfDA)Ai7>CWV~DS%Y>L=#ZlBA~I~8|kS7X}f6X-EdPELUQdRt$;wd!IFm8woDYF>(kn8{| z>4EvivG4M*)G!d$ndxdLbW4c!vQKH>WQ$UX>G& zI^u@7a)OyP_~INtH}*YX{vn;;MfX{v`TuSP8YV zPWS(J5()XvFthuglS}Do21;lm=n*?M9R}U@@GD5@ z=rQUvkn4BFuqtuMBi5=9U`r6!6`RHM^bG3`%fKNbR*p1#j`vx((4@De=bH?oLry_< zE8n%-b}L&C@cH=+X-traFp`{U!XsiL5dqC=u&k1FkP{5C;$aUkV{0U8>EE^ll47fl zl6@BFDgO4|>)dBC;NDHxd>CoC2{0_jI5Q5PveU3@+~fI9TfaE0fpA=#v$NaK<3@d9 zmcA0!ap1axB{=MPRpMK%{ZylAJoLJIyQH?KLqf5sP|CZZ_(N2JGDcCM*Rdci{3#>T z;HbvYtz$$$>Ua;3_$af`eadZDfF0Is=onV18877KsJu-xDMn%~sz%Lrz~@zWNrQ_x z$P7Ed=PnsSo?-Z5CVj=x8PGeWG+cquz&p`^0f#`>RlJvi@uGbSvO-~O2O<2mU>(d! zZtZ8Td<~21^u7Gm)@rh>SC2(?@lp1nmmj5Cu<*W`v_@M&pdrK-U2hA=g$Hz`dP32XDCc93_o&)-C zpZ%osiT5xk>yd7%zipz{De1VC_87ulI)?BiYUWJv9vdH8VG;H z>wbjQeTZWe@9DMd>7^9Aq5m+8iW4$RHOnfk0iA>MVQC@YJ3r_7JsNFd=ql}x1&=ji zUhx%-h-u~G6vWM&_Z;Xq&bNOZrBA6ydu!^~+B3>{!Rpd9$Agi{TvdrL)t8rrs9Jj`Zq`Ui5OT>-f6A_93OCEZ zpdtjLW`r!*6mnv^jzKuSaLMN z($jqvdYX}^oDdt>8E4vh+x~G<;Fs~m^VG|y^zk%kCf=6yg4@YU+3PObs%pk2z1byqa0L)QIg97Wg|w+jK0?@V zDIqzlzh<%1h2o!x2c?SirPYfnHZ#zcgZpPc{2)~>9QzRYgHro=v+eT06&T5W{p;C4 zB<9xAW}6`_)6PG9>>4(OqAl~z&tfpWO8yvk~z{mAS4qmQx@v&SDgwS#2AhE?HTT6reJ zz3z8gJ5Cll5;9^sSpMI9}c2DBFUD*wMe0>oQgWsmu?cEH>E!gT^myIizhKmi7 zui7lulEndkkFJ9U=@LnM(uUKYg;ume4w~~-Xq$S;k8Qn99VPN;_>V424eNd1VaZ2d z$m<2h_ARFLmRKq#R8#^Cw#&v=O*(xZn3opSbbYR}G}d%d^H(M6@|1^p&u#AwlFNFB zGX|ow(=2G>8zc3Y*OL>5dVRp=Xz(V=w-|hrV55NCp!!F5t;~TIV=sZ!%JGX~Z-~B2 zRXofQWb#&gD4JF>2Z@W%90g&jqAtcohYI_fJ9k)w7`GnI(Nr5ezHCYPlKLM++g$dc z)yNkFuvr!H$u)*DqzR7S;}ZmO~xV#kOk%N-s5U5DWluey1OKwWN}1>WZ}2R?`wDr;#_Dp;;Yh zQJH*CGtye?Xpo*f9i~h#Hx(n#z8JYku zZ0SjAoLA7Vq^Qw2?tLX_m7z)T{4t_18M5m9WbOo((?2wHJCNT|t1-obwAO4S6=XUx zVgrP$$`}852d8<%yFUmMOhGiwZCqwh@dx!t_J_qT-Tpwa_HVb#JMtT_8gr->I)Sh- zrmq*lv`fR0vAYpwl#*^T&$ge%`zHp}b)+G6Dg2i4x9-!^<(`SCQ=2xEFC~{V6_Y8= zJyx!NOuaPiXq6}%M-Jn00hs42Y4W%GMZBdD6Su=k0k3d;|DhGaaA76&3qtlZp<_n< z&ZO$izy8yN6<>uo4Mk4H?6GA!{Pd%$$wMD$v$A{Lat)o6th$u{ng)1E-}eE!DZ7_y zpL|vc3!i#q!)2=>yVaZh^ph3Rzcfm97hl-?@mM83?G2Gb!QGGM?k;(OgzNbiVnF+3?j9?tY0C~PzQ5`| z-(UKq=h-p8f8}#WMf86f2ui&}ag0wvlP*UQX?PI3Jb`BLSegV4l?9j2ao1 z>?JbCoIMOX9Dv*#n+7FlN84j8`)XQ`Y~|k|GE6HyHws!b*Y2FT%rw?Md3%YP1?R82 zSLw?=yQIP(ZS{iFBOhw!q70rzx(UTaI(xSWjIueX=D=LV$zYy2BlOgPoE?8Q$rlvs zID3Z?s=3!PR=rv$`3|U-iCNq_mrOa>bWR1i@y*f1XO3-xIBMl&Ef8I?FtQC_R^T9Q zO48G$i*<6DKG9Rh*DAr$VYd4r;Kkz$mB)tS8 z5Y9i;X|~UvRRYLX299v@3y)6RKO;Z_Yy5bAqPz0+=JVwDPt3uWI?3E$qR1XiO62#G zVcy0FP)zpaQsC)4p1li@9BH+o69RNBuPv0X&e@DN+MXs z9yq&p@_zH8sM}~dEF`jdH_Hb|6BbabAzjj`1+hZGqYX4s_yEUp6;5i>an6b{xkq<)E#t7T=jACtjv}s z_4&Q>yns^`7FRSKRNhA3${l_AV|oWMU~-4_OeyWL-3{Uctx1;+t1# z^;i8Z%auZ!rF|Yi%dS1|ms@L8Evfx$fU1&i*)zVS2&`8c9CZ8L9o_I!8|u~as`IkS z=QCv0p4zIwGg~;P23b*rd7D|v>U1>?p&J&{S-Q-|xlnr3(o2jL)tR)NOpbbfPjNgp z$*c|yQf1!rAUo55j2{cVdgnn%)v+4`B!%N6pEIk*~sKb}x_&;~LF-Ccd&t?|OHF;yy0^A;YWv%;54Z?Gxk zt9P|shvbh<5D(8LFp(il|MtM*0-(re&136#jjk>$x~l)=6Fa_d=ZLd+)^gNX&|{!A z1+5fSt~EGhYh;)%Jq-^@SRtH?&H#{ErZyw|`hzNpOBS&KJsYi`vC?c>+av{SEh zi6nh*zFiH-DMw33F*=p!%=_{rktn(rS}9RyTF%A0lU7p+8}tj&uHp45OaVN%9^SE& z@w|$Zey3kk^Fc6Dk!*Kf)sV|LTn0V2ErfP8Um+`sQ}u_Qt+pCxcE>1%ZF5%8*Z3*} zO5?1YFvE2b2-*f;h-zq-D-Gm92hzu+aeNgmNAlGCK1=%v+3K#Aq1Fvh| zBD&{#_H^^sN(xtQ;p}D{>P(b)$9r1~+4z~OSi|xhC$ElHrUTSmz%BJHX@qM}A z;DEaYzP1TV%e$X0#17rA?C`gq4vopqs0TTY6hDm-&Bft2{xe}+@83?^0?%P5r?&NC~0oYg~=TC>;6nipcG3<@N<`YyU&0 zr4)UYWk_zVI_hWy?vUfry3E;zNXge}U3Wv=3P?f*ZSSvpxWKBzkoB4SybHapq|t zSwcIPUXF3Htfy4j`)wW~U%$`Vh-H znkIYU;~a7r(9i5Fw1C25u-}~6EOF_V?&m^pN!vR4b;KZ2mh+ot)~#07ZKy%k%-%~r z%qv!fu7+1eLW-vV&UfySUD5U%5GZCD9#8^46aZL(ZL0!bzfBI}40=h^#o+wL0o4i5 zc!nsI4Z-9BvCVoM)rqV;0kq)&C@2Zo0jYvbD>5CPFlidxg{-&ehW%M$Rhr^QKEqc8 zF!L@DtLIe&m0RC4Q;ed+F~qp(d=dhAQ(WkiD?IrS=WzW1KRQ7xZQ)bW(0-s9P0AT| zHI_0lI-waUT64z=bki4)l<#y~vJ`W-Gogt;>t<3il5 zTGYx9-1wVTS3H8TPTu}uE0N+=h{~FbmX_y`I`3^2kg5z+mgXjTLxd3R#ZGu5Z*kxV z=#oaKwq@ubdL6@T`*{TX5>__@Qk~LbgI`b}YQ}BB#3d)9M3@lx5Cf3025>XH9I^U3 z;}p}o9?iG4x2F9d?`6-r?X6SY{2GIU^Rr7Twg=v;)rRT@X0mKZt{k(!(cUaHJg|6}q;i^FyfwlR$C?K5zSCE72;lp9w1j}`XHmp1Q4qEB8 zj5OoyZig)0FrP>Xe=KQd$D9u8sC@7Ns=#VCkE|VW2G{dxY7)e?;^80*Zl30n?E`4% zFRkbc5c-@Vc%(sGo$zH=mJPdhVwetZ>cVp~eE{f_Bmws%?Y$nz*wGLH(JIVuG|;pT zU?N!HG%i{Rlg6gXA5xajIHAs-U#+JsUoiRI5e-J#E$g|HwBF-t_)2+jBGesrSe_AW zQeDZ4J_@+*ebLVNM&!lvrR2=!wO9EP?3w-ziMNxWg<-~#iM6o6E!4e;|9v?T9Eqw? zWB>pc|K|UXjE=rqqAe=E=&)VDEn!a4EW^{{sn%=}U)DZA zJbZ9@y~Jpw_&8;!Xf~|WJvG$UGmGfd7Z@I4?Dlw00W`jTvJwpp9x@^=kg^oGpGh<2 zFr+o+Lh40jQQ{&UWfJgrVgNBLz~o&)>9w@&T@*_+QUM1n*8`v|B^lZmh>G$gmX3Nm zQLb?73A}d7+u(Y*9SR)3IjMh@LXsD;sTh zr54zA3=Z#x~Zj2;Ute5XEi zPAYJM=*LYsljn9-tV+$`dh8TKbIS9n7wdJTe0IG6{gFKDz>ZGX>;_AY75)BA7~fbL zK_9eq;&6+)zKfQnzP;YN^xJ4v02>;TAU%ZP9WA9ZrA9ACrn=hdJ}R>2pl@|2GPT$= zx&Isy1}D!DTP+PsN7#HXFMTVrCLgG~G069h11xCoq56L(2p8OU(cTws>J+*#$DK06 zj5EZsIxI>HTpP07aI1nMjfA%KZVVobQ6ksdP4+-4ri?*p?Y~kyA#&X?SoeMj>zE3) zydKXCnJYho2_ZoR+|t$CIw?J5vR~RfU%2iSaD!qLfYfqkgKIby3T4ZOuz(X(>YDO< zv-qC%ebbrZxQ%MhwVU5oMg`;DAC~$`jKa*Pt4Mb+-y}zYLX91PtoJ-18z>%da0(fC zQ2ZRAJSY2I1YIyCJF;YC(!GW8>U9x5`VzJ%wkRC~T|l$VT+RXk@SDQKkjiTq(mM!Y z+0+Hxa)uCA4kxqC{?r*CFMtPZS=2R?3jR=QTOb#ZC0D=yMVJBz-++v3=9eL#%zP+9tN zgM*?fCmb}4;;TSqsJfZzZFGHGqP?4?IULd|Gp~U&0_i&x_j2GgrmZ+wsE%aRUca9W zQ2b~}g22WgMlunQ1JxEe0Zn>nNr<<(8a+gpS*)nEl7 zO>a2HQh_#xQlU2A7ivSpL=`R-aTX}ZtC-O7+S|kMXpl6cYac_;#KMh9zc0Lm^w5{X zAvIb6pem)TS3lo&A@~OU{FN{D+)}Sw3u6p(1Ob1LfQL`vd-~CY>p#NYWUSQi!+^rs zFrq?0(EQVGn1BS09RT43j-UxM<&QPkPMNZDtWJb-re0hbgm|88iJDLxCjRqRX%K_b z1V4b%9L9+qJBkQaNX)k?vX_a6xzs9QNZv6wgzu6 z^GJP>mwAK`*YGuTFr;FGCtj%Op#oh#1Y@F^Vi2(I2>=R0+yx@IijTwE5}yZjD)C34 zm;U_ul4Mds4=syu33*NT$`yafD43_2u>G?AO6W8E8m4dSB#^@P__W}~%?T&kP>8!m zhZDH~X%~bqetY!vH7tq2x`?pZ9xa6d;)*GkA;QW8x&hLP%LPEZBL&JfW%Sh1Qtu_R z_`pnJp%nlsJ0h39OG}1Jp%c68aex2gNkQnwhx*W&joy#@9Y5#qtj%tU{d&etuM1Nd zdUe=dN2ok^SK@BOmB4TF2=hDH8e2Cv7iC%We2A-f!_bv&V1~vWQJ6=f zCWrW8yAc1zl-e$`2rlxQgTBadd||<)CFC=cxu#mcP!KNcRreW`8m z!36BwAN4GKL48hkBX%W)@$0Sew%DpHmE$kPOVzL`T?}e8hGO7Ne{zOsnk$#r$W;?r z)f^dJ%7_)`OU}j2xH)e-VMKXvGHDIoP0~Sq3bI6`BZ~(rnCh5Cio+uAeX_hV4%Cf4 zt!nRF&^vu4)7oa5N0GyCogd~L*_cH#h%RkI`N|VD89ob%j`@=X^2!Yw_V(d?rQ<`% zDK=E6nPigWAfCDZl$9v53;%p{xCllQWIDi70FSZ&Ia5|e!>X;4X*JBEto08yeQ{az~1 zrfON8Ji?UIGrnjZtbCVdc`x4jnZ}eXqqdyS$|_Muqo#46aO^;Zyl_XuIiZlN@Ey)v z*f$rB_HyBjs@}TL!axFBnJd~neUrNFtsHbe-PDL`w%fRpMPs^|-1=IUxp^ZT`RBUOME9RG-bef?O8j$ooFo}1WI7m<&qM){ z8kvV&0)8BRCTtPQTFB#Kt^_6|{dw@{FYGBl=eHY*lMyOSqNhfo(Y`}hy5UCG0jz44 zybR3^Ip=+8ed<#D)fskhgrSQHbb1Th3w)saj7u}1H3n$o!8luLZ)UidvcGkv#7lZ8lWP&>mRDM4ffC#t z4sS5pJ%b}=2ryw&&UNF@CGupx8#;z>l)81_lFr`3^{j+(?{5~O%eC%k$(|&4+Hdtz`BqeWrqDuooU53}ZUaX&;Xeri2xf=f4r|jx&I9nOAk6X zcQkryZOZKCXk>41>d0(wI^!w1s$DO>>ceue>+>6I{g_N_9-JY(8aHqv;Sen zYGQ5qZ}{2&)u?h9(jTn+x-fY#PwRt>5CQq5K9x(WH_t%>LUWK7=z*fV#FhPsOiu|^ z%@8M`KjLO3>}sLb(FjsBk44E3C(H*9*lW~;<|S>wCBlaCP&gSP(0 zx;6NikEuWUQ|+30`8m9NA0B?rwtQD7S5pBckn@&xf7A`RrjM6pFZ zBU;03OpYg8A@8P)qKAvVmSu*?LyK+Qk|7BYyY58SI|z33^4BK z_0*eCbBZ&nnVPw?Ly}8nE)TyfVXMRP)G)HZ2*^n*sWKJ-j(NmYQJ+Vo8Uj(&_rt|% zGk(}RfSmL3ISQ3uXu6F`O2aKR=F-2SV8ug3)Q;qFL{@A6!qfE81bu#s@K~8#!ew4tB7-t61KlDKw0nCP*|$gn0`; zTivI-hmNCAIz5U#1=2xNs0y$WfaY7}C~#r~S4rd~)W1eAo-{V`B7zswqtxczO{oSs zDPK{6cU_oOz%&JQMb`Td49CP1*!M4KlG8-gbaHe>tz?ktgFqI$avkFeLB)fDx zcVTUncqkjqPPl2GU}`WnKBo54eGq%YDXYz=CT?^#WBSdc@ETq{A-@cO1;wzHYRrBX z?;4@zDc+kLY%V8B^kckMG4P^BDAFA9JXGz(YVqYK+g zWkzPW?>6(d`6GkC~8fsFWwM_Gr02l^Iy<=WfROuI8g zjn*W@RC{E^Gi#Wo5R+km8`NI>QXn_sIdK!&Jf{+jaO*k3;j#I6!!gR|oQER|eh5Rf z*j)0Si;+4v2+Mnj#q-z6HO&v=l4GAGHHIy)-dJOlSR))TeSpv{&xf(0l~SXzM_P~& zEw&x&lY|V$XeDmnA-9B{W`*Gq@b#b3rAnbFX_I!!fK2V#AFEm_XK{C)&hR3_6|n9=&z}nt1cbov=kMV;3BYkq4gDdiWWBCplrL9? zkZc()PsTgc$tq>qQZCLQln`$oF4Yl;Gm&4O6U8*v3>Dp~8xLAfz&`x&eudZ_8~;Mu z)_6*B{YBc!Q2qW)wvYuEVxsmoO+@$Yy0YyZl zVFQTWg|8cE!~tC{QH134>vhy?TtabdelAgs5p-NUh(vDBZ_?}{JiUXAnCxZ}l!W!}mg)dag?8qg%Xw14TM$-V7ylFaa8+N){1=ZTA!go!j zz}ZaJ9(PS~Y)dWv*9T&X=1j=YiQ3L;bMykP$UoMv0*!`sy_&a&$#r#s*HXK+?{W)2 zCCHDIqg2N2#mirdAC)QK2NddKjJr%{*_qehNW|41qgv=%%$a$*G}^hBeJB(g>sFpw z-+^z3udV?&N%`#i>P1m}A0+H$d_*@}m`4&w!}wl|zlp!vG;b0UuJL`6&Rjwa)ooiI z=@2KiGbF$$b)~L5MhG`=^`{SP%2oUt2Q0NUTgTm%+A%~r2h+9ZH@m~+Nvujav(JM2 z(rvsE2x^9GRA_Ex#+n2#7o1ClC(g`BQmsBkymX=h=ucy-$z!B* zT`}(bFCZI13uYX;Hb=T~(arFVS$czZBF@-k0W~Y7`H686E6}NSI`>FKKAc5fF|xhb zbCOH1R;6G*X9=HkxI?gF^vP0=9wnc5&^AjsqdC&c%-IK=C765R(@84HwydhrC$k7i zy~TUadV$WIBbBYGV<+eYjrn?sGU<&R3`e+f;&*)AS7G|EqV#iW>?b}nFZ<61ml{I> zVF232xfVDg$-XKG**%+drR0&8?_@b_WBglU*J60Y@+irm%u~MLN^53*Y?v>HKD_y0 z#I?nz=+1B(#arEKuGdX;%Hm~Q?T2(YRlhx37kFuDAQ{s9Cb1ofO!2gi>SmoOZX9(8 zUNsh7BE1oA1lHW)S!Vj+stLUxtHpy#+#}i_!R{*QNb;bbjDx)QRR)JaFL@dapeQ3P z5Rse+Frc;LhNX`E*u*uEJq9Tk%OL3>u^s2^AHc6+C0Sf0S%S;Rg4`Q}n$6*2HX1;9 z*bovXt!yvufG40*yzDuT_87Ev#qG|s+r$CPwt=#|UQfDQoOioCrv}`ep4UR?oP3Dz zoTtu$bd#%-dPUC_k0r5YO3CVAfZ4bm@l8eyz#agJ5ELOf&6EYDdlet{rVNUP=@mho za=6#^SmJVDewRHACA;x7g9+i`TFR~Ie8e;SlQwt~NFz`OEpK@*8vN^j)i2V~;ekj&Z*)YeB z0(4jDvvR%@5RLasBpK~;Th?UFh0~52(xYEc!!z-r6ex*L9zVsC04Rz$O-ep?CUoR)=?kK8U$}NlGHG?bc9VlRsz3yz297CqA#(l`_2J~ zq6=2x^D5|<JJ0N4EY9uoX4#b1?y?xx$bJ#aEFi5o4 z@B6`SpyQ!E_ye)@yQMu@@THC=f2pCJ{hOjw`%k>Y*m|J}jr-WiDMg2_bCWd=p{Ema zh%B9^h?y1|!vQ&niC@&)9Q87nUln5jLeg~7)N;R<5mRnz^iELG8Sa+)X!8o_K`F zrKct+GVt?jZtWTZ;Sbwp2w&-^-z&rFZ>yEzSz$Luy~JEZuglJ_Z9wV%qWAOk13(^C zr>!x-e$s=~;h=m_LK*hGr?Fsl^0WtlA)DBKF9-6O z;W-Dhb79}*O%>*&Y!w!dP1p=nTLTELI+1iTYzayRj)=zXEm2g9pS|2|Ny1B}+H1(g z#YRbjf;KkzLf_G^`t76hGXd?i@l)CsWcXrgOx1i2V+&lhkq`@|oZ{I1_>5SF=YtHT zOJlhSc6qHgmY3HYmQ6T10;T+etEP;JDrkqvJM#3~y#=o}OyLDbH696(I3x z(bd&Q+*hY;3@da#OO(94$c9m{YH*n|g(KAK>mW=e4P;2il|iY{b}}x-S@IB zJOta_^3Mz1J4On^@=|NZGEQ9qpIjCdozT^koLSm%;KyXwfMl8&Z)xwZ=(C!*7@{(% zJdtzmr7-vcDlGQl+ef-6V=@(_&_f4l-&`9-OA(eJkwY4@_H~e`g-x+3HTn~jqv3_z zYf&tAOaxZ8Z$((yGcTuUsjj4HO<^8&%qDu$PI60J64$W|A2P?aYYC13*m}Imm+={H zisFa4lP3%b?lD&uzrMJo8@yrR3hL`WPrb9^OX}=WRu6FLus9@N)!Nlo7GLyp$BW|; z`P34vEr3+$v!jjVS%x?Tv@O~p66=LU+VO_wgSO#zpM{o_{>&LvDaDpf z9SwAP5vJY!dSS>wXlwW_fZD9`deuoST>Nz>-sd-+=GgEC2P=pPerL`I+0~rMb(#Lw{V@Q!jS+Q+OJfszIj)`o_!|x z?y+bjzAe%PyJa3wQD*Ck?v8Sh;Y{<9`!RWEF9y`H2`ZEy(7A8oD-+R8yS1{MiDDs7#1YJgUmWhJpi z*$Feuji&`u&7u}=1u!ciPd`H@WfG}yDlSEis)R7j_!-JZNP}zR?L01aWJGg@#oJ<} zuvc9N1|!D>q;4@0n8lY@i=i|_C`KL28L@|&!@dq7kA?Qbic3xX&Fo?_hh!)Z+#PL| z{@^Y4*Kc5TAu9`^69k<$Iqv4 zSaVT_ig=I=cUaIHmKo^B0S9CnMz4(HN(SS~$tw$X9m4+t`pM)PJxlNzF39`S8e~(T z0S)dcD}M^@V&L4fTnLh+HKx@?v~*Xtq~7D~w}|!vPhOKhEfA41H2l+RdTj!*3MlCH zfmMLqpd0cHBosFE|BMSyjS-;f{XYpE;^6mgJOABa=d~O-?7tiAfB>NN_y0}V{`5ee z9wNa1A>r2+JO4?)B&2{&e;GgiWd4f+q}SgGH0Ajx{X(>W&Yze|{!buCpAcC80wI1O zcR{uyd|J}3aPg(!l`2`ff1q@6H{STOw_K6z6 zb~yl}kAw%&Q#1W30Bp+xFn~P*2te}e$;JnNf&Ul290Gz93=EC>3k(b}!~Y8e7B3kL zbb$dJv7r15;NdTy`2|GS2l}yr0Su@>Qiy?LZn%Ge$a%ftYe0`>ATk652N+0^8U(@t zHn@}h1&Y}ZWby#r6G5Om2wdChOhAVKLLgw``BQC!h1LNR@|+b!&-9l7FlTKr05UJI zJd)}!0GQ`C7~tX;02k;piS@KZPaUklYY-v!5B)Qtza6gryeq&wUckhvO8#auFp2S0 z>~RaDR=@cC z+p+z!{Qf8X>Ykpv1Irq}_pSy*y8=2U_7*sRepC_CZ}c z|G%6;$87&GPY~^MAa5T%nEGw{eknK*02IX{0&*eX{oMrpzbOd(e^c}$qW#qjV0L6M znVtc^K}^WVe}V1}!oKE!h&Mn#@V09W0f8tv{@Ek#Pu+nTp}~X|g@SN`e+kNYE|HZ9 z(jE=y8#{PEqZA1O&;il$Q2qjencBdlh{gOW9q{2f;oq8q9QdWn^}g6h)&>N~+1Ieh_+4AKLm2MM3j zCsQx?H-P91LG;{Ug59%0^g>T**UiL}^FW^rvOrcw9x&RFyx+VHhj76P>NoVO#vclP zXZmp<|E-gi-xU7E|4{rI8{vSlkRSfV!v5>;x`q#f^Dq9L*-`#Gb8ndPX<@-eOkjn5 zr~=Vb;Qq(|@6Q_uXfyIlpjJ0imwf)XC9Rg)?JQb$r+9l=<(hL$vGkjpe xLPvqRdIEplL5M>7#UQGVF`hUqYIUfK3 delta 25015 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 re*t;;h3dHiRYD(X0{LsIoPO|@C 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 azS2 + * You will most often use {@link com.launchdarkly.openfeature.serverprovider.Provider} (the provider) and + * {@link com.launchdarkly.openfeature.serverprovider.ProviderConfiguration} (configuration options for the provider). + *

+ */ +package com.launchdarkly.openfeature.serverprovider; From 2406067ab040c8f06b38a10dfdb3faa8c71fc707 Mon Sep 17 00:00:00 2001 From: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Date: Thu, 23 Feb 2023 16:11:09 -0800 Subject: [PATCH 2/4] Change name of publish step. --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index eacb427..84a98e9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -92,5 +92,5 @@ jobs: name: checkstyle/javadoc command: ./gradlew javadoc checkstyleMain - run: - name: build all SDK jars + name: Publish to local maven command: ./gradlew publishToMavenLocal From d118ba59fc6a6cb0f9b6345f7a3e28694df7a966 Mon Sep 17 00:00:00 2001 From: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Date: Thu, 23 Feb 2023 16:14:30 -0800 Subject: [PATCH 3/4] Add blank line to end of checkstyle config. --- config/checkstyle/checkstyle.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml index 7800907..51357a4 100644 --- a/config/checkstyle/checkstyle.xml +++ b/config/checkstyle/checkstyle.xml @@ -12,4 +12,4 @@ - \ No newline at end of file + From 05c8c618937f31b9f8a1178aa1f2a5f1218e413c Mon Sep 17 00:00:00 2001 From: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Date: Thu, 23 Feb 2023 16:15:35 -0800 Subject: [PATCH 4/4] Make indentation all the same type. --- config/checkstyle/checkstyle.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml index 51357a4..1292f2e 100644 --- a/config/checkstyle/checkstyle.xml +++ b/config/checkstyle/checkstyle.xml @@ -3,13 +3,13 @@ "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN" "https://checkstyle.org/dtds/configuration_1_3.dtd"> - + - - - - - + + + + +