From dacf1cf9c235cff42e9969e3a1d2bef50bf5a058 Mon Sep 17 00:00:00 2001 From: Todd Baert Date: Wed, 15 Jun 2022 16:05:21 -0400 Subject: [PATCH 1/2] Code review, minor suggestions/comment changes, questions. Looks great! --- .../openfeature/javasdk/BaseEvaluation.class | Bin 0 -> 378 bytes .../main/dev/openfeature/javasdk/Client.class | Bin 0 -> 393 bytes .../dev/openfeature/javasdk/ErrorCode.class | Bin 0 -> 1221 bytes .../openfeature/javasdk/EvaluationContext.class | Bin 0 -> 4175 bytes .../openfeature/javasdk/FeatureProvider.class | Bin 0 -> 1840 bytes .../main/dev/openfeature/javasdk/Features.class | Bin 0 -> 5541 bytes .../javasdk/FlagEvaluationDetails.class | Bin 0 -> 2270 bytes .../javasdk/FlagEvaluationOptions.class | Bin 0 -> 743 bytes .../dev/openfeature/javasdk/FlagValueType.class | Bin 0 -> 1169 bytes lib/bin/main/dev/openfeature/javasdk/Hook.class | Bin 0 -> 2379 bytes .../dev/openfeature/javasdk/HookContext.class | Bin 0 -> 1640 bytes .../main/dev/openfeature/javasdk/Metadata.class | Bin 0 -> 162 bytes .../openfeature/javasdk/NoOpProvider$1.class | Bin 0 -> 760 bytes .../dev/openfeature/javasdk/NoOpProvider.class | Bin 0 -> 2827 bytes .../openfeature/javasdk/OpenFeatureAPI.class | Bin 0 -> 2213 bytes .../javasdk/OpenFeatureClient$1.class | Bin 0 -> 813 bytes .../openfeature/javasdk/OpenFeatureClient.class | Bin 0 -> 15413 bytes .../javasdk/ProviderEvaluation.class | Bin 0 -> 1788 bytes .../main/dev/openfeature/javasdk/Reason.class | Bin 0 -> 1228 bytes .../javasdk/exceptions/FlagNotFoundError.class | Bin 0 -> 928 bytes .../javasdk/exceptions/GeneralError.class | Bin 0 -> 908 bytes .../javasdk/exceptions/OpenFeatureError.class | Bin 0 -> 519 bytes .../javasdk/exceptions/ParseError.class | Bin 0 -> 904 bytes .../javasdk/exceptions/TypeMismatchError.class | Bin 0 -> 934 bytes .../javasdk/AlwaysBrokenProvider$1.class | Bin 0 -> 892 bytes .../javasdk/AlwaysBrokenProvider.class | Bin 0 -> 3088 bytes .../javasdk/DeveloperExperienceTest.class | Bin 0 -> 1338 bytes .../javasdk/DoSomethingProvider$1.class | Bin 0 -> 792 bytes .../javasdk/DoSomethingProvider.class | Bin 0 -> 2699 bytes .../openfeature/javasdk/EvalContextTests.class | Bin 0 -> 3604 bytes .../javasdk/FlagEvaluationSpecTests.class | Bin 0 -> 10544 bytes .../openfeature/javasdk/HookContextTest.class | Bin 0 -> 1106 bytes .../dev/openfeature/javasdk/HookSpecTests.class | Bin 0 -> 10440 bytes .../dev/openfeature/javasdk/MetadataTest.class | Bin 0 -> 1250 bytes .../openfeature/javasdk/NoOpProviderTest.class | Bin 0 -> 2838 bytes lib/bin/test/dev/openfeature/javasdk/Node.class | Bin 0 -> 527 bytes .../javasdk/NotImplementedException.class | Bin 0 -> 480 bytes .../openfeature/javasdk/ProviderSpecTests.class | Bin 0 -> 4709 bytes .../dev/openfeature/javasdk/Specification.class | Bin 0 -> 357 bytes .../openfeature/javasdk/Specifications.class | Bin 0 -> 233 bytes .../dev/openfeature/javasdk/BaseEvaluation.java | 2 +- .../openfeature/javasdk/EvaluationContext.java | 4 +++- .../openfeature/javasdk/FeatureProvider.java | 1 + .../java/dev/openfeature/javasdk/Features.java | 2 +- .../javasdk/FlagEvaluationOptions.java | 4 +++- .../openfeature/javasdk/OpenFeatureClient.java | 2 ++ 46 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 lib/bin/main/dev/openfeature/javasdk/BaseEvaluation.class create mode 100644 lib/bin/main/dev/openfeature/javasdk/Client.class create mode 100644 lib/bin/main/dev/openfeature/javasdk/ErrorCode.class create mode 100644 lib/bin/main/dev/openfeature/javasdk/EvaluationContext.class create mode 100644 lib/bin/main/dev/openfeature/javasdk/FeatureProvider.class create mode 100644 lib/bin/main/dev/openfeature/javasdk/Features.class create mode 100644 lib/bin/main/dev/openfeature/javasdk/FlagEvaluationDetails.class create mode 100644 lib/bin/main/dev/openfeature/javasdk/FlagEvaluationOptions.class create mode 100644 lib/bin/main/dev/openfeature/javasdk/FlagValueType.class create mode 100644 lib/bin/main/dev/openfeature/javasdk/Hook.class create mode 100644 lib/bin/main/dev/openfeature/javasdk/HookContext.class create mode 100644 lib/bin/main/dev/openfeature/javasdk/Metadata.class create mode 100644 lib/bin/main/dev/openfeature/javasdk/NoOpProvider$1.class create mode 100644 lib/bin/main/dev/openfeature/javasdk/NoOpProvider.class create mode 100644 lib/bin/main/dev/openfeature/javasdk/OpenFeatureAPI.class create mode 100644 lib/bin/main/dev/openfeature/javasdk/OpenFeatureClient$1.class create mode 100644 lib/bin/main/dev/openfeature/javasdk/OpenFeatureClient.class create mode 100644 lib/bin/main/dev/openfeature/javasdk/ProviderEvaluation.class create mode 100644 lib/bin/main/dev/openfeature/javasdk/Reason.class create mode 100644 lib/bin/main/dev/openfeature/javasdk/exceptions/FlagNotFoundError.class create mode 100644 lib/bin/main/dev/openfeature/javasdk/exceptions/GeneralError.class create mode 100644 lib/bin/main/dev/openfeature/javasdk/exceptions/OpenFeatureError.class create mode 100644 lib/bin/main/dev/openfeature/javasdk/exceptions/ParseError.class create mode 100644 lib/bin/main/dev/openfeature/javasdk/exceptions/TypeMismatchError.class create mode 100644 lib/bin/test/dev/openfeature/javasdk/AlwaysBrokenProvider$1.class create mode 100644 lib/bin/test/dev/openfeature/javasdk/AlwaysBrokenProvider.class create mode 100644 lib/bin/test/dev/openfeature/javasdk/DeveloperExperienceTest.class create mode 100644 lib/bin/test/dev/openfeature/javasdk/DoSomethingProvider$1.class create mode 100644 lib/bin/test/dev/openfeature/javasdk/DoSomethingProvider.class create mode 100644 lib/bin/test/dev/openfeature/javasdk/EvalContextTests.class create mode 100644 lib/bin/test/dev/openfeature/javasdk/FlagEvaluationSpecTests.class create mode 100644 lib/bin/test/dev/openfeature/javasdk/HookContextTest.class create mode 100644 lib/bin/test/dev/openfeature/javasdk/HookSpecTests.class create mode 100644 lib/bin/test/dev/openfeature/javasdk/MetadataTest.class create mode 100644 lib/bin/test/dev/openfeature/javasdk/NoOpProviderTest.class create mode 100644 lib/bin/test/dev/openfeature/javasdk/Node.class create mode 100644 lib/bin/test/dev/openfeature/javasdk/NotImplementedException.class create mode 100644 lib/bin/test/dev/openfeature/javasdk/ProviderSpecTests.class create mode 100644 lib/bin/test/dev/openfeature/javasdk/Specification.class create mode 100644 lib/bin/test/dev/openfeature/javasdk/Specifications.class diff --git a/lib/bin/main/dev/openfeature/javasdk/BaseEvaluation.class b/lib/bin/main/dev/openfeature/javasdk/BaseEvaluation.class new file mode 100644 index 0000000000000000000000000000000000000000..3dd30c22bb7b5871230741e78638aa620b0f4b5a GIT binary patch literal 378 zcmZ`#O;5r=5PgF{p`c>)7kDt`!rs+zz~ITm#5UenIyQ^VuGwz;<2?8S{87Yd^@7C9 zZr;3)yqT}v$0vX#&LZ>(S2;Jzy|aB~9cs^Ns~cVAZ)&A0UN^d|bui9G=o4lwr%G)L z_4u;oO(2X44$mTD!bLKF_$#;}j8jwCE}Ae%=2<4QxN~`XjmyNhz1E!fGCh?s5b1xTCi+{*YvqoiX0$^iZZsL zLZ(>lXy$!p-tXV{4}b|e9!i9s;j@a49DcHP$%)lopLJ{wY8qG$oremco%U3qLtm{v z_PmpBmGDx;oaIU};n8QeWT%aGn()>iEQ&Z+)QC{i#>}JWApF<|K`eAk<;r#|MzHc)TfyO#YPCK62faS22n!Uboy@TyxvU4B=h9Sk7)~dZkb-Rdg-AWirg?{+lgH zxwdoZ9YNbJ?iIEe26xlCp;a_pFX{|KC39D+sF&7E5HwoQk{NVFf#3YM`V;~B$fkCwA$%RW{S$8&~| z<$2awwQ+LB5bIT3+&{9btz@?668^gA7HAftmEs}8dM~YeQPDmI!lk`Zk-#d$YHyBA z-D)M+>AFjkZ^{w;g_c!#9h%!UIX1;nZBQ%T%E!A19~!=x`&snV^A5 z^pgZOC;7|)vNUdCY0|>dkcFlB0;5xWy2S9&CJbSi_#=cq6Xs9tJD3?Bl`e4S9Ag69 z_X#i|z?5HrX#pMt1eg`zku1Pm@CRj(Iv6udUk4M0>F;3LFasUT8m8RAoN${pF?UODrvap)c2MTxX-j6&{`=ffwBzF^b`}lrW23;^j}UfAa>gCNiw! IwXkpg0J%E~D*ylh literal 0 HcmV?d00001 diff --git a/lib/bin/main/dev/openfeature/javasdk/EvaluationContext.class b/lib/bin/main/dev/openfeature/javasdk/EvaluationContext.class new file mode 100644 index 0000000000000000000000000000000000000000..2969dcbbdca742a19303d4cbf92ca14a4c7cba0a GIT binary patch literal 4175 zcmds3TUQ%Z6#fpkKsr!Lxb%XWmbMU}#MYKxLQ$?3%B4zZZN1YFeA zoa(aH+O^a-*YY>HTz+R}l1$2Q^U;^&oIU4!``h2yXP^DoKfnG4U>x6uP$v+}$ep-Z zkjA>y?UE(qTl$V(%xuSJcJy3Hx3i`(Wg52JwL@qSXjh-(Io;TZFQ>L-+7@UrQ(KFA zp&%`RD+_5eA79stwzPKhIfA9Pi>49J=(e898X0esyF4MF*}AnM?X0nJUp^D)Sg69U z*cQ!Pb1F;s8`7GvX-SoASrjNr zj#Iy<8^^)&I4h`ADbvhJ-SA@_i`S&P-{IA^MG^f-O=DRjYmW=m55yh{G)$Qp8Ad(2 zHFO{n!fAn_W1K`7J?L(Mz&Q<#Xllk=0#NgJG=$I`!g&Vd9F3#+J-xU|)x(IoyDn;6 z99HWuYiM;x0~$`cqd^U)5LRcFHRMt$pORKmPvxXKZZoat9_m(B%{^m-y_w|+4=o%y zF{yT!p2<-BQd*^OMJR#(0pCe`r{lA@DV$Iej*KPm?ENwxus@mPh7jIkMAdAau`JVS z#tng$Rl|}+Gq)o%Q651dn{zHvv|yPGGJhu;Zdo-pbt9AG0=b)(1$D=w_OpVF&hwZb zSY}!li_HC*^2cx(*KkuE?Jb5HKuHDA#d{Pa!Oej6zCfpPda;;@`7E9&0#iqp#JAhQ z8>2?!i5P#IaaZ8GgC!~cCru7kQB{~437Ktfj?jAa1o2WP_V5HIFcre2Kx_3L(20g= z%_FNrbRmQ{P=Yfe3Z;ilk4t0Y9kc+DE2bRaIt20_?Ps+g{k93+qqLGHwV2c1x1; z7t=oJB^ZwE`vai5u zVf=|{NM~D;GZv&4q>u?AEpWj}P-oG)Y2|f0uF%!8S!c?pS%btn`OK{>uRU2_nwegk zo=DEDCFd5I%NO0_IuIZc#wNBx$O`mS-PLf?u#KERlgpucIS$74pS71&0%v@TYJ9Nr zcQTCv)VmU(o`>xasD)9{Jk?-<4^Lx3w~D-jkNgNzo4U0kpO&PNmI)u5{RA!-)Bs<6 zt#x)XEF>#7yCc>R@8N6AOZGynmIKFl`i`+Qc8s;ncqYXB5z2OQQ%3XB-ZV2&9z@dD z%?-q&*onIhu3&^SfjHh}lx|#C9d_5rPN@)njcboPuD`_S@0`^U zNhzav_xX^*6{Op^Q$b1uAdLke#R8GW@jm@1rItM|t%E<|($MfLd{B=^)u6+42olg3 zj0!I55O4J;frm6pSrp|~e8^E9$M-PjflqR-_P06UuP|SSKd|(i7Jsl;9pr9zWd*s- zLl$^|k32j-*}nbA-XPi0Bar==4%y8j89=sg$RoS@CfVDEkbQ(t0`U6Fc#q%2yL$-U zr}!)&`2PKZpJ4ElhX(&SzHowH!F+*sb+jm{93SXFlLmB(O^*eV^}d$${KTT+e>wMO7;{?_4}e*w%7H=O_g literal 0 HcmV?d00001 diff --git a/lib/bin/main/dev/openfeature/javasdk/FeatureProvider.class b/lib/bin/main/dev/openfeature/javasdk/FeatureProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..5e6a837e16c4e341da6a30c76b09540d0b5c8731 GIT binary patch literal 1840 zcmdT_O;5r=5S>M#0)C*NzraMi*t;bhG?JKLFo8d?(y=KvyQD0QKT7Y$gE1ccQN~%? zvW=l~BXH~N?##Ym)@8%UuPdN-4lyoI!fLz=}JeYFjOTpl^ z*)p~QRQ=k;AVwLc+@&*f85dw_AoT;E%ir|k^ksT zt<@;8#1rdoBV6a6q4WLLvst6^}!^(mkS})UT0V)(%VRs(yQM?Za^SDOwAso%) KI(;=}na98F literal 0 HcmV?d00001 diff --git a/lib/bin/main/dev/openfeature/javasdk/Features.class b/lib/bin/main/dev/openfeature/javasdk/Features.class new file mode 100644 index 0000000000000000000000000000000000000000..ffd3ae56cfeeb138a8dfdd4a027926d1df205dc9 GIT binary patch literal 5541 zcmdT|OK%e~5FQuWkV4x8C=@6V-VKj#d7~!Efkz~yN!f8p(YTMOrm24u8a7COD z;%~qiBrb>xKMLV>yxxuQ;B}Q1^ia8TvPlP4utWWq z)DHVyYHisAySKS*HHWxYfc*qY(X8d!zGJPw*rJ_~z??(Fhe6;`+uyLgJ|(caw3e8) z!mjH(wbYC-u2mIt1ZcL!YZ%=p14hCQ-N1ho_#u52BIkS<`#C73re`||t@WLVTo0jD zPSku%L)-Ow1U9l!t!5-3_N@^pwp_>O(I&8+%OQ0|j2rCaH`z`@Jxb(EqKsw4sQiid zAOAH6Oq|bSCx+@cs!fubrds~kW0W!JXW8`|RxDA=9{k-gQQgv|OiU5zWLk=bMwQ}! zlvM)n$9)P)2+I`(sgjgY7O`iUc$(KRH;;YO=^^47Rjt>V&O!xLMbz}7X}-1u+59LV z%6uBPGN=bw7McqAeQz;FbdQ>^r>xC!Xg6E)C5%V9k9bboe8q-na8wzdl!tgZ0ZkUi zh6d-LrdYnHXhqGJI9t{&P4g8~H7{J6hHIA_r}HGzZ~{h-O~Z zZ4u8&b6j1|$epXQ37l(8#dM4JitH75b{B_8WN z-3t2M4sE&~d+wWwUkI0@Ixt0mz&`e{2(Z8&3@2d<%)k2{^<) zFT#w(vmDP!Tw=HkhxxiP91-JDKF-52X?L92&BKDkCpbPS@hOHE;WS^j2xr82mX8%U zC+*HNy9!*8_#(%bB)-h>62mwHB*$kK?)KCMm5B7sb6>AmiJjjr65UQK91-m4Oo|mK&pn! zZ`c8WvCS^ij*{H3uM!y2XR`jq_A$7a+2M8H=p-;$DxoFSqLNcz5t!NzeZ@Vt#{*t= z*_!VQWwZwbX3R++9eQGPwnEpXh(nH~WHb;y0edsfiEV?>3Ye5az7kcGm@IIgt0GFt z<@X3AwAF$^xRQm-Fiv1(llyEd^vX<@^ikR=QK9ahmW=a`F`*h9H9E0}M}`8mO!l)K zG>;jV&qh_in=B$w7oD;Husw7BlDF}&;16IT%kX-94JXE>e%i6ipT9sU8T9a zMIdeFrp)_wcOst#hrp-vq8oJ@)mc<+GC|jQ8Xgh&ay}%Uh%z!WD6{=s5tzfQ_{Wo$ zhNlD$&xa#z*~SZNM})G%Hn@H^rz4AGNf#)A-RQ@ory4q06?+qZ=c|4VvHtK~$Nv!i z08)^~79ax_+AiQ|0J7K)qn*G-93`{_4YI?gh118$;}wjkTkE+EeUu36t<_WjtcBe?SuX9GRl z6NVcxqXcr0$1}8?Ipgl}KGbCPk)D0Sh`$euk@%$;{DT<&hcWoaupG(%BnppSJu|*N I@7%zPKd%Ie@c;k- literal 0 HcmV?d00001 diff --git a/lib/bin/main/dev/openfeature/javasdk/FlagEvaluationOptions.class b/lib/bin/main/dev/openfeature/javasdk/FlagEvaluationOptions.class new file mode 100644 index 0000000000000000000000000000000000000000..335254b2bff284d393827b804db87679cfbb47b6 GIT binary patch literal 743 zcma)4+fD*85IqGHfmQK-*Z5+PMEd~{Uc5w;RUa_E7pQBs+mfZrfB9fEKKKEClySNm zV+M#n0n7b)uu?h3M0@%Q30H`?g)8 zOw<^qgkiF&jB+i8d~N@Rp>Sk-vWz^c0Rl{yF^|O}78v%%lNewL%M3Yt%TTZFkEym% z0>f&663Ps-p)&F^jXN^A_77*64{cZI8<8lFzYh!UPSNc6zvCbI^J#?TwoQ|+JXOB* z`bgHH-vI2As64G%j%)&xgo+uOB1}quaD^h~r$v4yTgx0pKu~|iZ2bjuPgr@(ZmyA^ Z$!b|!*l8`J#+8=`u*)1zz()mj4`a#_<6F~;_fN8I$e(^&#ZH+ zUHge6&e+Q{j2rorqvg_G?!+(|Vjo6U4W_G(?b@9k1|=3RG59jg8V|y+fniEV z1o!E}^dKb~%iTFKJD%;DOsK^uncNYFh#|6KH6=n=UlulZ4$Bgs8%(^kWdk4 z2oG84wL83_V-4#JA0{a~`}&wM%lW!$K-+Y&<5qUL!Dc3_nvTmMRrzE3IrP zQZ*4CsL%@QFwHP`IoxU7#0`VX-hsmORary+G`>n^h53bo$6yS-RXmv^U*5_x&^V+&Bw*3gB(lgLN2?63 zAy4Q6KR%6Gdv`)j5*a169%GZA3xugqC(4}0zl^hp2;wQ8B@hJzAxtU;!i#|&V9M+a8D>fQSY9>J zMDKkIAHY{Io?RdX>Dne4e(=CZR(VC|hR z4foh9IphQ06l_mQWvJmw4iK*;>(4sH4QdE%)uLD*BBNs} zd=|JOWZGqI>I)O2_VG%Ujkfu$OktnPbF zrW+Kq8bqa9R2);y19_~Bn=Z#RZ$`41DligRnZ>~Djd4oX0jOZws)!PAYvmF6QJC+C zNSN7@MVd_#wEGVh^L3lzIqrvIB>rr|epVVg^WN3}CUUIUwL%@0HUUqt^Dc(`Kx?Iw z@RY#E_foTg5<})XE#>vO2nWN##>Qs!b{sp^=rYG+rmI}1>2rbIUMM5c^2^y2TE8Fbml!?-v1I0)@*fHD5e<3^;Z8 zb6muC0aptWp+q2wdkWtqklVo;JT~08!Xgbf5if(b7A*Z0D+{--z{&w$jL)5Lw~#6R z4RBpW-5%})_l43q-2H?fF}RQGVyMi(8h)oo2JiqLqV#A+vyM^<91PzYlidhmONbMs f!u|sJ54p{A*!qT&HHEzzVq2lM6t3H2glE42ND9iV literal 0 HcmV?d00001 diff --git a/lib/bin/main/dev/openfeature/javasdk/Metadata.class b/lib/bin/main/dev/openfeature/javasdk/Metadata.class new file mode 100644 index 0000000000000000000000000000000000000000..338e675bf88e7fd4bf14ed4ed41ee5067d4cbb4e GIT binary patch literal 162 zcmX^0Z`VEs1_nC@PId++Mh1nH)H412g4DdU)Wnj~qE!8?#InTVlx%(9)RM%M#F9jI z1{OvJ0g$MEPGVlVzJF3yYH|r91ABUEiCA2oE}Ie8zTcF12fPS3=E7w(^(nVKr9A!Aj!nQ0RU(vDJ}p2 literal 0 HcmV?d00001 diff --git a/lib/bin/main/dev/openfeature/javasdk/NoOpProvider$1.class b/lib/bin/main/dev/openfeature/javasdk/NoOpProvider$1.class new file mode 100644 index 0000000000000000000000000000000000000000..d26ae3b4be7bb4722ada79a9cb4062c93b3c8b51 GIT binary patch literal 760 zcma)4%SyvQ6g|_#rj60o`hHgp(kdDScZwTP6lxR{_tR#q(U>X8wBMx*5nT8Iew28p zRN76Ufjjq+bMHMllb_$OZvdy*vXEie4n)V3EfGHouG)$4o_U9-!Heh1o7Qb2J7FLa z_t1jLP}J|dh{sLurv5A%%0iZ*JZ!?XP(0v@Gi23Mn7RkFtu_oixbB!bPQo};rwrA~ zXf4$T2J=h?A`gZM2NrTR3=|yXQDiVG8c?W(vGCikb&=fjdL$T1HQC_N15ZMo_ll;b z%P`tz_mJpXO`&}LN&{yq)mmSsJC%fS^EihEhDl%U$yWJaQwIA^wv&dq2sM$ZK>_yl z1fqK$HzJwR1d{Se1{PKs+))&Cu#PgrIMM3gf=kqfHUFdNTb!#n7Rgz}(^QZOIbWpe zQl<)JQq~|F11lD_!1Nns$nvnMI!@6M<+@_;?0&%6`NZUV7c)g?mM}m8B|4pMY-1WT zlrhX=t~X(iyv7-&`8RSI^jk{#iWJACo`}^S>5h5yVFMhlP3CL zFp{Y8(H~_z)0XZU+rX2-CVQEkbG~!tJLl`n&tG4@0?6S}6kQAxmZ)WAMY#KdtEwlm zuXv67*6VCuZdIOpvSwStiz31>sAsYccT3r=-B)5yMbXPJ)yaRofp-kSF!X%6P*_`i zxsiXly0*T&y;)>PZ3dtP<=Jj&k)dxzy1wGB+Tl)B#E{Uw-1miL+OBDdeO`4GL&W7} zn(b%k&&%7gVg{jlmu%NoIfm|ZW``_Sq$Lb=V>pQc493B5E{P;!39v>)nRG|&Ka$c!j8IxnrE~;$*J?yASGIH+-lzXAL+DG>W3gkL0E;T8#2eMw zblu^lz)lQg?igE_oZhl zvQlp=qNS05Ps6}XOzUQvAz8FxQ#Z~qHBLjHfg{7aHrAmPHU)iV+UEOzly10Fnmp#H z^R<9CNMa@7g$r?lfSVqjRT*IY8v&mn+Ow5!xD>~k=~`$_G&aJ3z7sXka5y`a_`Fnn z9FlA^y<8im6pLph>m|xW^KTSn)!P&6w%)ae!h7AU{x4-nZn&=SRvdkFpv^mx7d~yu zdaL(woz4K=boHPMqlh9#?{PX7b-_SN9}QaLKJ?N%9UJIAL>5oThS4)IeTdX_s_zp< zKGq%2)4iWSLCz5*2q=aNG)gwiaghRn-Y?;D6KcMm0uVpK*b9QY`hg6(pn-HuP}Be* z-U7Ieak9Emx1Ffxv_L>TG&YWK^F?av5SefF*#K!Ygk-dkZsB$dY4(&z<86_$xYI(K pJ0;RgTco>~Zy_z55^13gQaA3^Ik=Apni=AAjGp@UkgkXx{|4j;Pz?Y8 literal 0 HcmV?d00001 diff --git a/lib/bin/main/dev/openfeature/javasdk/OpenFeatureAPI.class b/lib/bin/main/dev/openfeature/javasdk/OpenFeatureAPI.class new file mode 100644 index 0000000000000000000000000000000000000000..06882658ca97d41ad497c538551726cd762434b6 GIT binary patch literal 2213 zcma)7ZBrXn6n<_JSh8721c4UHODJuVP3^W8EgD4AR9b9!v0-q~PnTqcEz53Zvx)Yj zzs9fi6_FX8u^*iACpnJexpy}&1%iACyL;|A&-0v@d-&_$Uw;Fzj4cHbhMQHhX}C4h z`O@Tm!!wQNyvgg;17m}1D}k-BxvC(>kP>Hx&7D1CWB0jP@fikcp4+slrpJ&i^@0jv zHbd7uLzLGnhD^_h*U2ehfC8Sl?m?YYl%$M?Z`nr4s{3>rFI#(#l+SSY)bUbJ5`mXr zrtrj`>90CvaX!h^1rP+V|YA z1cZtxMik7nPGyM-p2uH^I;oh(h>$v`Ar6%x=I>in&p2gYv@O%2cFtXpd*G87Dc;gB zj|{^~CMdQXiL&om&R+hkrFS_)NYYChTH~>1`n<}0&M<$0nwD2yWOQ3YANmuxgS!e0 z(s#*8)Nl`a(Ek=5!@@a9T_T0KXAQ@<4$W<=Zc#5bxyKJp-}DNOWm0{|2_^lT;vkO_ldvpPNW!*KkLB&-pA}_{tiDBc? zxA3g2vlcPwO4Ib}l&`q8)oOTa=Q3Yhd=azTDhennc-UGro$;+}c!ZDXO7XgwWQH4r z)+ti3jPlvQ)L9G(JO*v9Ck#W^8iLxnhaCKho6`TCaD6KBQ@sqqLi&h=_Tn zH&rYZdPc;JrPG9b*T@#fAcn}2BukUd89md(Z0G48-y`)W22a3tjxhWKQu?cJ(XYSy zo$N0q@Hi&Oc>>quGm0_#8Y9Bs?>LcM!6;d#Fo|)pM(B5ien~|C!Ki|(j}%P)Ejek? zg&H1`YM~*eA7M&A!8EbY{)F^*5-FVyx@$Q9qiq6>2 zxcRaT(=S7=cZDnM@GSH&e1V=qj;jBN+%eu_IE`?t3qfro%;Rk$zE6>g09c?GQQX4ya z_(xvxiovJ`u1JAl)Pjj*8gYzUNFmD*FKEDc&6A?uzHf-|k~e(8kgEkv?qBiH)AwG` z(83wE|6bnSCE;dEs5-wV)~Q0V)}Pvi3O(7Xq%emC6Y~tkKaa!0B9^Ez*`>`5k}{+( zf_B&x$DVFyW?-OYt%Ev0l1)E|NC)lbCU7mRVVxmElKTs@N%k;lKPc+cI+ap{Ri8(Z zpfM%uB2p(oq>!i4$H_*(vRS&M;z literal 0 HcmV?d00001 diff --git a/lib/bin/main/dev/openfeature/javasdk/OpenFeatureClient.class b/lib/bin/main/dev/openfeature/javasdk/OpenFeatureClient.class new file mode 100644 index 0000000000000000000000000000000000000000..6ea2b905f0387ec62a3cfefc1a7c7c8f798939b9 GIT binary patch literal 15413 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 literal 0 HcmV?d00001 diff --git a/lib/bin/main/dev/openfeature/javasdk/ProviderEvaluation.class b/lib/bin/main/dev/openfeature/javasdk/ProviderEvaluation.class new file mode 100644 index 0000000000000000000000000000000000000000..66199a222f20b540382ff2f5d742512df87e655a GIT binary patch literal 1788 zcmd5+T~8D-6g`Fg98nPY5K$RWaTk#h^$9kcpur~s1{M+@ySsI_IMdm5Ivf2BYWyue zk!Ygt{wU+^uma06F~0FIZRhs%^xV_i{`&px2Y@P`=P|^v)D&GW>&?HhLhS_9?_Z~k9 zdfTz@bHdTeoEAI^6@$B#CVe+SSXn~rP`?bDq&ruUN}4L^E0qrzGB)a97*it{#|?(j zEvdwI9Mpxb*{!Vbu)+NUn+N^(f*I46q;WZQ^FjAX$W%Yoht6NR)&JnBkg-)Fb6UbA zs;s*crSh2r>G_+7O9`Ex)26kdfCYxn`$~%_^t+Dz&N`#F24j&>^%?#x;bNsx7oMM9J%s(Y#^YK$v#ebo+~lmam*@FO?k!bGUE) zf50$V8qC8UR3TZBlwNr|{3|}sRz7s`>#v*Av zz9$R|R73x`O9eb(_;d-fIM$q`;OvF5ZirXXUe@WsYF)7xfMLH8uh>^#*+T}z+9Fv^axQqL5L0N z8THwvBTRm!!7!$&wM3vTZc=N>34j^gqJFk7avK<9xP!Zdv2+WGOu+e$xi{nUN4WQs rqU0F0Jx;7m*Ygu~JwVi`xE>;Q9-a9IM@XL@m z46Beh$Q7}5=28>716Z(~e1q&6mX zLvCY6Kf~-7I=&AvdMjjkfq9Y`7he8_{)0}ji{uyL<8!0un7a=2(*|^cRI!#Y&sEdJ zKg2>Oe3fpDhez6&HMTwROC!ar-0_TDATj@09LUSK%0^=+JUqt=Ry#T3R1iN)3A6YG Tp8Np&cU&KyiwsGmgnjWFr!fOL literal 0 HcmV?d00001 diff --git a/lib/bin/main/dev/openfeature/javasdk/exceptions/FlagNotFoundError.class b/lib/bin/main/dev/openfeature/javasdk/exceptions/FlagNotFoundError.class new file mode 100644 index 0000000000000000000000000000000000000000..2e41d98978cd2f3bcaf1a4bbf3308663812df54e GIT binary patch literal 928 zcma)4%Wl&^6g`uqapIab1X|u@(h^9zs23m>q^g7nLrf`7aT00%&^=K6ET>?L!tJ) zVMNUJzVxZKM;(wobC$Pr8XHB_9n@e~aT%)?Ru~%pY{bD8R2Zyh-9dNvao?1`=D;$( zk{*W{!^64L{B6TDpfeKsWMGD7t38+L1lF-|n+7);x{;TR+&of2gWcSYNGRonO2^!c`Wo; z2K-Oex6V$|YTGu}uwhnxhhe4FKkar;t1uaLjGFeIoG4%PLZjR2xrVk(5*oDbB0c5; zY$G|{>Sp)!FVa~hFT)~PO+uJ&!Tt>ABV7tuqO(k45NtX3fGkpfma;<_6LmI^aB=e! zE`7n()6Av3Yy~C4FH$MP;2h&|9XEg)!%f_pajg^DaM|Cm_Nva0u>ONAcBY34Sxxd4 GaQ8R;&g-WD literal 0 HcmV?d00001 diff --git a/lib/bin/main/dev/openfeature/javasdk/exceptions/GeneralError.class b/lib/bin/main/dev/openfeature/javasdk/exceptions/GeneralError.class new file mode 100644 index 0000000000000000000000000000000000000000..a760b3abc037c52561b2fbf6b385598909ad5f11 GIT binary patch literal 908 zcma)4TWb?R6#gbjv&nXC(`db0C#}(>4_(AJQv#xCQ9=cK0UsxuF&W((vy-4dz#pU{ z1qFTgM~P>)p$$UNeVCnd&Ue0Z`R3Q}Z$AKZ@xVcW!5_-0pQJK=BZZl0>Aw|IkqzJZ z@_isvqmnrD_hl@#2zy#5+Choo(SIbpB+k7v&ODK!mPxHdcp`O1w8zh%F|Zd5RcU#j zCPT@v)nCM%b68M^p|Tr^tDGN-c;x4i3K|R_k7F&fB%I1250WTVp|G0r zR425C=rMPzM`Ov&hg9-;nRztH3|CP~AQ>BO2&CdM322B(3^JodV0a|WI2rQ4wceQ@ zqSba?Y+%bS_#VT0tAEkxq0uTHb*zT&VKUKy+*4MqwfSClEFKNoZ;>8u0j|}UZgsnC z`WNY}l9yqbtR^Asx8#0-_lYhAtk7AeFbKAqdq5V+Jxl2l#zwvEQ><-&#^tZLev!G7 zm#v^g_+=_(8N4$*ZsHbDW4MhwGpwS#pZgbkkuq#0r&p^+63e8 literal 0 HcmV?d00001 diff --git a/lib/bin/main/dev/openfeature/javasdk/exceptions/OpenFeatureError.class b/lib/bin/main/dev/openfeature/javasdk/exceptions/OpenFeatureError.class new file mode 100644 index 0000000000000000000000000000000000000000..3e1e07655d21d61a265f75afb79053fc942b4f05 GIT binary patch literal 519 zcmbVJO;5r=5Pd^|Lal=Mm3Z?&0v_zac#?2YNHjzfKe(4N;%aHhwk7^8^wT&WS*8siHk0#z#7Nu&+y>AAgp0HMaIAooO!tL29fzAn)P7ta{rCoy6 zY7Ys;lX%Qk5LR52P$tv{D&mW5I%0j}k3uFi25}%tzUWE4d@Ofz83z{XF4j;Hsq|hY zgrmVf3>_2P38%R^GZCTLYX2$p0~4Ba9cMb=zA~e3{a)08*->#%{8_ScK^v2jS*XC4 zL#RsCL_s1@a$ev(OHzOl!h3#4pt>4z66@?~tAAFOB#3)TP#5T}2@yRU92&4Oz*@5V@zetT~ zqKUryql|a9q%=mN`!GBA-gD3WIP>$@*Y5y2xNjlH@L(inZk&kdwea**3HOaR^U~2< zSG@B@qGcSV?t!OL(N!u|777dx|089e823&YvqXk!DwOnsW1&(aJ$m+(fjws^3&Z;) z9tno6-ZJKl!+_chrCmRek<=ZAe6w}TP%wcq7%n(iL6M=-laY8a4TnMlVq0aE(C{iMggP9m{KMoTa zct%s6sF)TJKH_%ya3Z*Vp9sE?nTOLtHh+-C&h=0tt3kdT?)?U> C-r`08 literal 0 HcmV?d00001 diff --git a/lib/bin/main/dev/openfeature/javasdk/exceptions/TypeMismatchError.class b/lib/bin/main/dev/openfeature/javasdk/exceptions/TypeMismatchError.class new file mode 100644 index 0000000000000000000000000000000000000000..72ced12e8de0ffb5f73a81b920f5567916334915 GIT binary patch literal 934 zcma)4TTc@~6#k|yy(}x#DtN~&SZsMBs`hvc4$ZUmf2~ef5CsF z#*k>D@BS#`nWX_Dsk#rdbI$qBcP`)j{Pp!afEMl-kYRW@5ED0wMR+8*9xLI#;S-(= z-n!zQCt@w5FmZeDW6_aGz_mBpQ7TdeJ~$`-Z)^$nLr5)mu$=-&#>5*p?EP4`a<=1 z-zVluJMySDrw+)TI`dm8jfE^KHp;L{xQgWhmKdu4Y{bSj6sctI@YT-i&R)0kq__Rd zG;za5!9;R;Bol^5GiUnSo@q>bDD>&r47GY=CetabS-@Qy-ze$&JRG`dq=+iRhy75A zB=RR>;CN9GOP?E!omfS*k>Igom3kxLXj0s{AiEQc6Ya<#CZq_pqX{X)5ece^j`tI- zxTl>!=utFq{?vZ+{3P{;Wnl$tX5sf3mg?=ZZo68^aM(1OTHR=@Jh3Z{ddn9Y+B8Y1 z(z>(sq%*LL@N}z~-P1oyXNkNF^JLWsVZJ%*GwhFa$zXxbJcU89#nc0`=nYI$T7)rC zd*c|FH$LIY7hFHfTu93nkt6zfDrFe#6FhF>7EormjXP7WRYDss>l;=ME6y=ie~`t_ N^-v_MM!pQze*=Na?rQ)5 literal 0 HcmV?d00001 diff --git a/lib/bin/test/dev/openfeature/javasdk/AlwaysBrokenProvider$1.class b/lib/bin/test/dev/openfeature/javasdk/AlwaysBrokenProvider$1.class new file mode 100644 index 0000000000000000000000000000000000000000..eae103937fe0b55b332ed5bdc72a247f5ad47f1c GIT binary patch literal 892 zcmb7CO>fgc5Ph4NIB^XPp-{?KTQJ}jR5ud0qDr(Xq9UY-qDmY$_K>=Db|ZTe;Ae3_ zl|X_!KMFA$0XYyKYH3zGqc?Bgyz$RpU%vy`M(Cm(nC`3Nt#hk(TN<(A~}to zWgq0HVkg(9q+aKGoF z%D}Up-Qv!tsY=bZKs!8N>)Mfkv#S$oK;WVe7j+L+%=>7dDNqe9V7`+o>W&6I%HPUf zMgpylj%9Wv^VH^lijI{puz4;8L7U~feKK7+VB&>vtuwXn(B!G=Z@IWG5S3Zd)n%_%ffyZUqW)b-aa9?1KXP&M;;JM34{-W3@e_tuecQaWO#8%h4RG1gK zFj(RBRXHv|G@Evd{0~<+8t}L}$G0b(+lsgT=nMSyGhF&S!CdCE#u#u{i%)-Y_izOZ zoUvoL_K(57zzpB8_^!2dhMPY)t6<9D&0uhFXM$R0jevty+`|LDSzVUReh)b+Sp5wn C-sCF) literal 0 HcmV?d00001 diff --git a/lib/bin/test/dev/openfeature/javasdk/AlwaysBrokenProvider.class b/lib/bin/test/dev/openfeature/javasdk/AlwaysBrokenProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..2547cb6675ffc3e4a0592dd51b96cd3f01eeb473 GIT binary patch literal 3088 zcmdT`ZBNrs7(JH_#>NyGFN*jAf-+vDBKXFZB|;z}PB5~Nkoe`YU1p)QOV>^KPnzf_ zj3jFO=#Mf!x9!%7Z5Uq&Ea}?bJolXEp6A@#=l7p)-vQ*1jiHTUx+Lm~Q4#u%;8x8P z$}X?-YH3e-seRyw)kV|T6Z#v|sH-Jm#t>z=CLt$tqdsh^#7&;in!*Es{+y(?g zM^@EUE5{H?Pi!(omyD7~AcC$WV(4V(&a1jutL<+Kv%t4C!H~)uMXqgfQZeFqWPO1!zQNV(2BJv+#_~CXhnET+sl-Y&w)9Fi9y( zAEmiy7@FYva-C~6ZmEXO@F|`5u9@hC(;*>+;V&&^EMI$p=3;)h+j5|BU`C@vap1M<<2^Xh6U$cb; z-$r)R%LVM8Lg9jBouy1Ry`s@JKzkRLbK;0y!*_8W(lM$Zu;B!Q8SBT zMU}nDV9*zQMjqaDUa#u9Fqbr5tqN*Yy4FOMS`XRSR51cNs_AN{UaW)e)cVkWoZb|= zGrG4=9wG6C9@>y}gMcWm&~wrWz*Th98?|KUp?^7f&ISeI$4G4vK;LH?^aI3v0P!Zk zb=;t+K|A)Q4fKwHWNwLL3~i-uAK~tg6G%Na(!3MpB2hfo&<18LG8Ru+9Jy6w%ufW4CFwVP- lPfn=%loWQXA+>)-Q4u`1tM&p5w)(UQ=q`U5x?~+ve*vMKh-v@; literal 0 HcmV?d00001 diff --git a/lib/bin/test/dev/openfeature/javasdk/DeveloperExperienceTest.class b/lib/bin/test/dev/openfeature/javasdk/DeveloperExperienceTest.class new file mode 100644 index 0000000000000000000000000000000000000000..77d170a579d3fb5a6464f200d0bf0bdcca34cba1 GIT binary patch literal 1338 zcmb`G-%k@k5XZk;3T=;Cpo)lAJ%0laUQF~wlmrx_v7tne#K&uIT9)43UiS7Xee+-P z!H{U8@BUH7*&^bP+Nkm2_GWf>K0Du;-A|w2eE_h6TLt641r&=oB`_ZKyVNg1V5*F9Oz^)hW7^E3Cg~l&8IonI zmLKl=T3Y|>WZvw_RNzkiFQsr=GpUS{kk*t6$&WW!g24RqEH*NtU71QgWHpYJ@r_h5 zpHZtT-SPG_*1}^V4QbC$q-QI$T);Wb`9%D>)=C#~ULbi9Yf4qvqrh#cD3Rd+=q6h6 z3DJGmDedf$82RDv7 zxVrV!aWIFPE$u~t*@a&lVtX*z3c0K1iBerwR-&FC4(uYX2po>iIQ{=Ae_w%SCPS-! zlw#YgbCOM8$r#9 zi+(^pD(W3XMHXR!r91bbbM71;`{D8aFMxBLILHW`1~l{4Pl|t#)YF9gv7E^?xb;7) zo|=%p3FFaqqGn-0Nu}k$7AP8sAIW&+Uk%1I)DE%&WM zM-64vmq}>)#n3k51^jgcR9YEshru#iH?=f3pln9xhJ{Tz%x;Ox$|o54`#vHh#}BTYP3217?-@ z^yamTSJ>uG;5FVXHk@)cIIFbti&F+ms{4d$EvPo$&QW{V=WOEuhj`DG5oFew=a?gd FgMX*7#PI+C literal 0 HcmV?d00001 diff --git a/lib/bin/test/dev/openfeature/javasdk/DoSomethingProvider.class b/lib/bin/test/dev/openfeature/javasdk/DoSomethingProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..cfcacbed9b95853ffe24892b87710287fc525538 GIT binary patch literal 2699 zcmdT`T~8B16g>ll(xr+N5EMTa1!+N8jXu$)4?zx@$_515L07V!{3^A-)ylsdkcMrMgw=TZ;h9tEE?QDvfcV?DcZKhWfBR78!EtXOt)_ARgZbiPhyl|ISyvK3)_ca7%kYY z?H3t_v$=hS#HO&ghGC4Sk;E9oM9FsfZmUt{vSL;p&X6gIn(6GD(pK}{%LFm=7}iR0 z3rFzJGmO`{|BCyjW%?$=Vm23>-;c^CF-7bA$1;mgHDoZOzUL;xlWgn~Q52OX(?s%x z5Dqupt+wg3Oy3qR!^dnX(7xlk$iB6+!<70OG+WfaF4-y<4W!cr_C+BCK^rK=~PT_ zNRAjO~TTvE!&}H%I0+2(_5~^56SSBeki2wQ)U?1^r|<*CG%LS-Y=vORjmh)$_gE(z-b zF;V(!Wzmu~zHO_md@f?kTUURn4Cx)$<#N+8J&)7IKEBI6+Nsqsz{3LQxIotk9b86f zq=N$8Q#3PZWHgSfoIv|b4?{@zfsDA5oCDi;6dg?l3 literal 0 HcmV?d00001 diff --git a/lib/bin/test/dev/openfeature/javasdk/EvalContextTests.class b/lib/bin/test/dev/openfeature/javasdk/EvalContextTests.class new file mode 100644 index 0000000000000000000000000000000000000000..98d47ef66b26d20da1a205748bf57a7fe478a4f7 GIT binary patch literal 3604 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 WZ2lyv0AujA32<)&&fsBg_2@6+&@;IJ literal 0 HcmV?d00001 diff --git a/lib/bin/test/dev/openfeature/javasdk/HookSpecTests.class b/lib/bin/test/dev/openfeature/javasdk/HookSpecTests.class new file mode 100644 index 0000000000000000000000000000000000000000..8154d80ecd9dbd13d07138060c6c4ea761a43603 GIT binary patch literal 10440 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 X^No|m?^u)J(Zmu4{RQH5&|m)z?!jl= literal 0 HcmV?d00001 diff --git a/lib/bin/test/dev/openfeature/javasdk/MetadataTest.class b/lib/bin/test/dev/openfeature/javasdk/MetadataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..faa9fac71ca484ef3803f82344fdca88a339948b GIT binary patch literal 1250 zcmbVMT~8B16g|@x7HScwB4VqoiqN8V6?n3SK!_&BwkEbhlm{~1owftpoo091@Q-}v zMU9F60DqM6PFq_v7>(KN%-*jv=ia$@zkUDw6~H#OEW{XAJkfJhM+6PQbvG2wG4Jun zJ8{ZFbB}9Y6Op!%V3;!&$LB%Qc~w6au4b5gDg&vv8REJ8K0{(pc_N88rc;=}B*Sb; z2BOk!*F{+4bzd-~OUmW`J`bglhsuO*$%tXK^e zcoFnuBnf{v2$beps(|2ge}u1ggex1;9eC0K6Fu&CiS63Ig;2y~(9e>=+A3_AhpM5) zDb?uZo(eo^I6SdyEn&O96oIyXreHUu@I6}wwkBgssT12(feE$CZ>lxBF6>c;g%SKF zL-{w{PN;g)6XE|NFAa;ge?jT8B^5TE<1Sq`tsSXF=zk9b8Z*e@60NC$1MM>;0hh@d z$1Hv2$udXp{2^jHNE7sx2v@NX;o3-CG~#tEk-GuCLAyD(Ns?ibO=r?K6JN0WHlDs+ z{eZg%>9tSDAG}ARbk;w3kzyP=(9lXFLF)|WiNqpN$dG1CF*~IAn0)9j_RgX>g4iH2 GhRq+>PE70o literal 0 HcmV?d00001 diff --git a/lib/bin/test/dev/openfeature/javasdk/NoOpProviderTest.class b/lib/bin/test/dev/openfeature/javasdk/NoOpProviderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..ade7a9c1a841796a94fcb508b7404f2c15cff121 GIT binary patch literal 2838 zcmcguO;_7i5WUZKknO4kOl(2|1d=o{#EII{Z@V;vLgUmQX-IuevJ>#)3LMFmWLg&e z9sLvSqML-%oYT{Fe^gIr^npZdl{5=BvNUhrojZ4C-t*u8{P8D%Rdf`j1j@VeK(qSN zd@6N!U`uUJKhT}seXV7+`wwjEz}S`cBk8ybG6EC4s`YfUtF^cH zYumDV0y7T>rfWQt9m6pQaLqI=S9cA|B)r*%Wp}l`0a2u9-*Ba^>3u`vjH(I>0@q$A zU>=jmWl^Lo_vK+8)0k0kL0~e{<1TTLx~bwKE(s_HdT$`xPX$WlCrgbXw<;sfshG!Q zf%9GI2HQ7ypGRKcw{mRXmTMbkw;HnqJF1C_MOf>W>B^tnWY^7}-i_SbeNVmWQX+KN z7||X|Xc1QxT%j5!DLTAM#WlPukR<^+EEs7~j;rN28DZbRl7h0p!sv3YIgYeF(khm5 zQ$W={%f=4_y+>_uBQ9kC8j~`xaQ}+F!1ctu<3qs>D5+cml|=vHjA>WtWd9%b!x>on zA2_ub{jd{O2|Vq%b`~EBocqzT_Z@Dtk5znvPX(q(WxtK0vI+bemu9%jLQ7IjBdD`z zGJ!j9s8NsyOQaYy4P9yHQNyZ&FHVec-CyG|{*s5c9&g8B(Hq`16?d`j4{u|xx-jSOIU);s`@y9plZNAs&+^1uQ{!)N0d^&e9Mo)#lH2M{6U4DV=@AQ&F zo}Ro6a(IiLs_#I*Z_^j>4y~pzPH*frLB9<2Gl6n|#g~|T`~p*rn}ze4Bb0=Aj@c%^ zRi0zv2-i7C+6z)ZhTe0?(pQl}El>y!xZnc?0kfDv1-B?vku0}~aSHE|7t``B?~?`i zU?i=>fYw}$R$+xnebg+hBv2YBN|TsE0kiasD9s&HDh8CMi26xNzU4EI(&r;7jZ#WE zLX}C~X)4U=FVv3k)vHRCh}Jaae1R02iP2g-rgfT9UwgFfjimJpDaG};8Y=Y?bt>dH zO)6xCxiwmqTd$U|M4Lb=WidycFi!{aWn3Y8tl6>;cTDb5pxFdz`T*Y&m5Wq-Rxj-p Vv_uwv?cwp-7Oe?9BD55~`xl5B1C9Uy literal 0 HcmV?d00001 diff --git a/lib/bin/test/dev/openfeature/javasdk/Node.class b/lib/bin/test/dev/openfeature/javasdk/Node.class new file mode 100644 index 0000000000000000000000000000000000000000..13ee5869388ffd13ab646081745a2e8f06bd7548 GIT binary patch literal 527 zcmaJ-O-sW-5PjPwjfvIPs#QTm@KQaPyA1&mJcW8_=zWuH)2%TnX;ScKc@jMM1N>3q zY^*|C=wavM&CHv(^Y#7l3Bbjfff~bkBo=ly6X{s+qRfRo%aJ9AB@%_F_6M8P=2~q0{o|J;2+G*?4YM*2#iLXVrn<_llElz+{JTwc?k0pwkVv|@dO8}E85Gs9L)Ki&E$sf+n-oEP thJ1^nd-4j=Z{E>vi~ zobkfy*tjSVIxCSMDl_-5GGleb-|vJ*%86Ftgp*YCH-j?*T@q^j*rZk&J5gcAMHyjr zh)_D!M%x~twLkpv9os~kdG}yKDD>liJ*;7)3J(=ReW(qOvS`Z5wVH-ZXb$6gJj#q`)1IgsFC^{&jB-s_@ zpe#2rLPcU#n4WNsNaT-r|G0kV##L7SaF)fc9SR;Wvi7Xmy!(#1xk!|hveAH zo$bypWdS)9{TF)dv6lip^-vf{iuRtrC%qQ^-t2NoIh3UYIpx6B&g|^_@xAxG_f}v2 z@AH2X(MR-~SvnzTG1SARO?2GVD$7&de58iTg^!!}Q#&-FPPY;rY-^XfS(*`afgd*` z75AE(yN`5`2@;8*x7QC7vtc)rk*J%3PTexG$vzTva$)hIpqbk?)HOOuXXa^^=4R=v zpf`^rsz&p4<}|^ed3u3P2|B-SV!e?Mc6GX~b|Wq5;<^n~^iZXS*X8C+);CVj)kEza z*;=^`qtC`_pgSrEv~xBUbg7-knHlJ{cxaq~@Z~tRnaYffA^Y;7vRS6-n!ulAFk){n zz*uTr0~ncp0zCh^-PbZH(U&I9blO#cmiHcPZOc%1;ipt`pfeS!jBnUyX;V2eur31| zX9_^aJ)C6YW!LB^oIE6LS7!T(mM%+it}gfbCg@8<9IoNCli2|?21%p`c;; zk1g2p2;Ag+JlBm>uQOCpt~*X67z@V>rb9Ge@UP+TQsZ3?=O5YFl2u2=v+&6k)*~wL z1BOTsN6vXwMp6Zi+p5ufvIxACL9_SK|UitainoIy?(BHmkJ=@samdD1>t499` zK@V=4b?%xLn5BCLOd8}a8w)d8QHIcE^C;qzT@|_gf+yhdtA!&YM}ak=u>)V}In3rj+pdUT7Ee?Kg^4CG;5^Egm*gGqt0Buvtn=ed z;f|B{+nW#9R$A>20PVC}%PTu|xw^i5$FEm6A8f4D<^ARMR;$x$w>R5$xxI70)w#E} zb#Hn5_FWI;oz_OHy}S-+U7Nqitb?;`Ibc&>uo8 z72xM>{Up%7WT53`0p9C18ZtG#e)h4TGee#Rr`BMSprG&x=_J zeN6dLn45K$s@P#T#KcrTm_OfH6Md${PWI2Sb{=j0_|T9N#=9Itw?AoOwyu~kFwwd^ zNg|_Beg-xL(}N&S{Yb_$`{daGEZ#*yFVEwdckkKhqMR^6ycvM^j-Y>SPm*ZjGh=yY z{FN~pb;kCmqxqX_T^YkOpWvft6r8QP{RkYiKm!G! zg7>2sJI2#6yr^y2JPq`!;ZMDnzV_AD;PIZ`zz5<sKE+dh zcHzoXs$Kbl=69abxqs66e_-zf{Q%c<{{1!ET|8&k>!S&{3;&yjAJA zgHvzgclmcT^T|lt0&82WmRERrwOZDB`HO1V;AQg&)83h4+NG(cEmfvXxc@HexPF9= z_onE$I#tK}({y~mIzIdsI+mvDxG_z~P1bSC>o|`v{fdEi_~*&=cusTZ)>LI5PgC{@ zD_cIop--oPc6+Lhl}g9rIA=~&Y0zSAtJU%jFYkU$`BkJOr==KkqR7+VPUsY6o(fvS J(G&FR{{uISZ5RLm literal 0 HcmV?d00001 diff --git a/lib/bin/test/dev/openfeature/javasdk/Specification.class b/lib/bin/test/dev/openfeature/javasdk/Specification.class new file mode 100644 index 0000000000000000000000000000000000000000..25e70d348f72524e7e4d6ffb9c3e036f9b8a6d07 GIT binary patch literal 357 zcma)2yKcfj5S(=YCy)n1G^wH#iAa$Mi%xuL-F8aoc>eT+ev*gM@XTgR z7@g3+HdBQAWpLi^d1Wh`X54aAgvX=JM|Ui_kiWE`g{WKWEXeZ7{H&*|=`(?FA=VYe cB9S1*B^oKNnurMfgCF2p;y`dWVz&l&e`qUZD*ylh literal 0 HcmV?d00001 diff --git a/lib/bin/test/dev/openfeature/javasdk/Specifications.class b/lib/bin/test/dev/openfeature/javasdk/Specifications.class new file mode 100644 index 0000000000000000000000000000000000000000..9ce6b0e00dbe51a6c82400ef231c112ed9a6f067 GIT binary patch literal 233 zcmX^0Z`VEs1_nC@ZgvJHMh3N%)H412g4DdU)Wnj~qE!8?#InTVlx+Rrg4E>9w9Mqh zlFauHgLAqU2P!%p9OjVN}=Xfvi+xWME`q24YsAcNl@rV`tz1u^2dk IBohM{03E+WB>(^b literal 0 HcmV?d00001 diff --git a/lib/src/main/java/dev/openfeature/javasdk/BaseEvaluation.java b/lib/src/main/java/dev/openfeature/javasdk/BaseEvaluation.java index bccdfe5d..c6ab9a3e 100644 --- a/lib/src/main/java/dev/openfeature/javasdk/BaseEvaluation.java +++ b/lib/src/main/java/dev/openfeature/javasdk/BaseEvaluation.java @@ -1,7 +1,7 @@ package dev.openfeature.javasdk; /** - * We differ between the evaluation results that providers return and what is given to the end users. This is a common interface between them. + * This is the common interface between the evaluation results that providers return and what is given to the end users. * @param The type of flag being evaluated. */ public interface BaseEvaluation { diff --git a/lib/src/main/java/dev/openfeature/javasdk/EvaluationContext.java b/lib/src/main/java/dev/openfeature/javasdk/EvaluationContext.java index 7eb3b16d..407fc842 100644 --- a/lib/src/main/java/dev/openfeature/javasdk/EvaluationContext.java +++ b/lib/src/main/java/dev/openfeature/javasdk/EvaluationContext.java @@ -1,6 +1,6 @@ package dev.openfeature.javasdk; -import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectMapper; // jackson is pretty standard, I'm glad you decided on this for object support import lombok.*; import java.time.ZonedDateTime; @@ -28,6 +28,8 @@ public class EvaluationContext { } // TODO Not sure if I should have sneakythrows or checked exceptions here.. + // do you mean un-checked exceptions? + // I had no idea about SneakyThrows, but it seems like a nicer solution than swallowing in an unchecked exception. @SneakyThrows public void addStructureAttribute(String key, T value) { jsonAttributes.put(key, objMapper.writeValueAsString(value)); diff --git a/lib/src/main/java/dev/openfeature/javasdk/FeatureProvider.java b/lib/src/main/java/dev/openfeature/javasdk/FeatureProvider.java index c1310831..308e188b 100644 --- a/lib/src/main/java/dev/openfeature/javasdk/FeatureProvider.java +++ b/lib/src/main/java/dev/openfeature/javasdk/FeatureProvider.java @@ -5,6 +5,7 @@ */ public interface FeatureProvider { Metadata getMetadata(); + // I think default methods are nicer than an abstract class, +1 to this. ProviderEvaluation getBooleanEvaluation(String key, Boolean defaultValue, EvaluationContext ctx, FlagEvaluationOptions options); ProviderEvaluation getStringEvaluation(String key, String defaultValue, EvaluationContext ctx, FlagEvaluationOptions options); ProviderEvaluation getIntegerEvaluation(String key, Integer defaultValue, EvaluationContext ctx, FlagEvaluationOptions options); diff --git a/lib/src/main/java/dev/openfeature/javasdk/Features.java b/lib/src/main/java/dev/openfeature/javasdk/Features.java index d831b3a6..c837ce4c 100644 --- a/lib/src/main/java/dev/openfeature/javasdk/Features.java +++ b/lib/src/main/java/dev/openfeature/javasdk/Features.java @@ -1,7 +1,7 @@ package dev.openfeature.javasdk; /** - * An API for the type-specific fetch methods we offer end users. + * An API for the type-specific fetch methods offered to users. */ public interface Features { diff --git a/lib/src/main/java/dev/openfeature/javasdk/FlagEvaluationOptions.java b/lib/src/main/java/dev/openfeature/javasdk/FlagEvaluationOptions.java index 37dd4bfc..83f2ee13 100644 --- a/lib/src/main/java/dev/openfeature/javasdk/FlagEvaluationOptions.java +++ b/lib/src/main/java/dev/openfeature/javasdk/FlagEvaluationOptions.java @@ -9,7 +9,9 @@ @Data @Builder public class FlagEvaluationOptions { - @Singular private List hooks; + // I guess because we are using boxed types, we can pass "Object" as T everywhere to avoid the + // "raw types" warning, but I'm not sure if that's really too helpful beyond removing some warnings + @Singular private List> hooks; @Builder.Default private ImmutableMap hookHints = ImmutableMap.of(); } diff --git a/lib/src/main/java/dev/openfeature/javasdk/OpenFeatureClient.java b/lib/src/main/java/dev/openfeature/javasdk/OpenFeatureClient.java index d7b6313c..5dcc141a 100644 --- a/lib/src/main/java/dev/openfeature/javasdk/OpenFeatureClient.java +++ b/lib/src/main/java/dev/openfeature/javasdk/OpenFeatureClient.java @@ -93,6 +93,7 @@ FlagEvaluationDetails evaluateFlag(FlagValueType type, String key, T defa return details; } + // errorHooks and afterAllHooks error handling seems consistent with spec, and what I implemented. I'm glad we landed here. private void errorHooks(HookContext hookCtx, Exception e, List hooks, ImmutableMap hints) { for (Hook hook : hooks) { try { @@ -122,6 +123,7 @@ private void afterHooks(HookContext hookContext, FlagEvaluationDetails de private EvaluationContext beforeHooks(HookContext hookCtx, List hooks, ImmutableMap hints) { // These traverse backwards from normal. EvaluationContext ctx = hookCtx.getCtx(); + // This is a bit counter-intuitive to me, just want to make sure... this is the stage that gets reversed because ArrayList.addAll() does a prepend, right? for (Hook hook : Lists.reverse(hooks)) { Optional newCtx = hook.before(hookCtx, hints); if (newCtx != null && newCtx.isPresent()) { From 09a2a754d3179e1b8a1c5ae634d961fa78539f6d Mon Sep 17 00:00:00 2001 From: Todd Baert Date: Wed, 15 Jun 2022 16:08:23 -0400 Subject: [PATCH 2/2] asd --- .../openfeature/javasdk/BaseEvaluation.class | Bin 378 -> 0 bytes .../main/dev/openfeature/javasdk/Client.class | Bin 393 -> 0 bytes .../dev/openfeature/javasdk/ErrorCode.class | Bin 1221 -> 0 bytes .../openfeature/javasdk/EvaluationContext.class | Bin 4175 -> 0 bytes .../openfeature/javasdk/FeatureProvider.class | Bin 1840 -> 0 bytes .../main/dev/openfeature/javasdk/Features.class | Bin 5541 -> 0 bytes .../javasdk/FlagEvaluationDetails.class | Bin 2270 -> 0 bytes .../javasdk/FlagEvaluationOptions.class | Bin 743 -> 0 bytes .../dev/openfeature/javasdk/FlagValueType.class | Bin 1169 -> 0 bytes lib/bin/main/dev/openfeature/javasdk/Hook.class | Bin 2379 -> 0 bytes .../dev/openfeature/javasdk/HookContext.class | Bin 1640 -> 0 bytes .../main/dev/openfeature/javasdk/Metadata.class | Bin 162 -> 0 bytes .../openfeature/javasdk/NoOpProvider$1.class | Bin 760 -> 0 bytes .../dev/openfeature/javasdk/NoOpProvider.class | Bin 2827 -> 0 bytes .../openfeature/javasdk/OpenFeatureAPI.class | Bin 2213 -> 0 bytes .../javasdk/OpenFeatureClient$1.class | Bin 813 -> 0 bytes .../openfeature/javasdk/OpenFeatureClient.class | Bin 15413 -> 0 bytes .../javasdk/ProviderEvaluation.class | Bin 1788 -> 0 bytes .../main/dev/openfeature/javasdk/Reason.class | Bin 1228 -> 0 bytes .../javasdk/exceptions/FlagNotFoundError.class | Bin 928 -> 0 bytes .../javasdk/exceptions/GeneralError.class | Bin 908 -> 0 bytes .../javasdk/exceptions/OpenFeatureError.class | Bin 519 -> 0 bytes .../javasdk/exceptions/ParseError.class | Bin 904 -> 0 bytes .../javasdk/exceptions/TypeMismatchError.class | Bin 934 -> 0 bytes .../javasdk/AlwaysBrokenProvider$1.class | Bin 892 -> 0 bytes .../javasdk/AlwaysBrokenProvider.class | Bin 3088 -> 0 bytes .../javasdk/DeveloperExperienceTest.class | Bin 1338 -> 0 bytes .../javasdk/DoSomethingProvider$1.class | Bin 792 -> 0 bytes .../javasdk/DoSomethingProvider.class | Bin 2699 -> 0 bytes .../openfeature/javasdk/EvalContextTests.class | Bin 3604 -> 0 bytes .../javasdk/FlagEvaluationSpecTests.class | Bin 10544 -> 0 bytes .../openfeature/javasdk/HookContextTest.class | Bin 1106 -> 0 bytes .../dev/openfeature/javasdk/HookSpecTests.class | Bin 10440 -> 0 bytes .../dev/openfeature/javasdk/MetadataTest.class | Bin 1250 -> 0 bytes .../openfeature/javasdk/NoOpProviderTest.class | Bin 2838 -> 0 bytes lib/bin/test/dev/openfeature/javasdk/Node.class | Bin 527 -> 0 bytes .../javasdk/NotImplementedException.class | Bin 480 -> 0 bytes .../openfeature/javasdk/ProviderSpecTests.class | Bin 4709 -> 0 bytes .../dev/openfeature/javasdk/Specification.class | Bin 357 -> 0 bytes .../openfeature/javasdk/Specifications.class | Bin 233 -> 0 bytes 40 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 lib/bin/main/dev/openfeature/javasdk/BaseEvaluation.class delete mode 100644 lib/bin/main/dev/openfeature/javasdk/Client.class delete mode 100644 lib/bin/main/dev/openfeature/javasdk/ErrorCode.class delete mode 100644 lib/bin/main/dev/openfeature/javasdk/EvaluationContext.class delete mode 100644 lib/bin/main/dev/openfeature/javasdk/FeatureProvider.class delete mode 100644 lib/bin/main/dev/openfeature/javasdk/Features.class delete mode 100644 lib/bin/main/dev/openfeature/javasdk/FlagEvaluationDetails.class delete mode 100644 lib/bin/main/dev/openfeature/javasdk/FlagEvaluationOptions.class delete mode 100644 lib/bin/main/dev/openfeature/javasdk/FlagValueType.class delete mode 100644 lib/bin/main/dev/openfeature/javasdk/Hook.class delete mode 100644 lib/bin/main/dev/openfeature/javasdk/HookContext.class delete mode 100644 lib/bin/main/dev/openfeature/javasdk/Metadata.class delete mode 100644 lib/bin/main/dev/openfeature/javasdk/NoOpProvider$1.class delete mode 100644 lib/bin/main/dev/openfeature/javasdk/NoOpProvider.class delete mode 100644 lib/bin/main/dev/openfeature/javasdk/OpenFeatureAPI.class delete mode 100644 lib/bin/main/dev/openfeature/javasdk/OpenFeatureClient$1.class delete mode 100644 lib/bin/main/dev/openfeature/javasdk/OpenFeatureClient.class delete mode 100644 lib/bin/main/dev/openfeature/javasdk/ProviderEvaluation.class delete mode 100644 lib/bin/main/dev/openfeature/javasdk/Reason.class delete mode 100644 lib/bin/main/dev/openfeature/javasdk/exceptions/FlagNotFoundError.class delete mode 100644 lib/bin/main/dev/openfeature/javasdk/exceptions/GeneralError.class delete mode 100644 lib/bin/main/dev/openfeature/javasdk/exceptions/OpenFeatureError.class delete mode 100644 lib/bin/main/dev/openfeature/javasdk/exceptions/ParseError.class delete mode 100644 lib/bin/main/dev/openfeature/javasdk/exceptions/TypeMismatchError.class delete mode 100644 lib/bin/test/dev/openfeature/javasdk/AlwaysBrokenProvider$1.class delete mode 100644 lib/bin/test/dev/openfeature/javasdk/AlwaysBrokenProvider.class delete mode 100644 lib/bin/test/dev/openfeature/javasdk/DeveloperExperienceTest.class delete mode 100644 lib/bin/test/dev/openfeature/javasdk/DoSomethingProvider$1.class delete mode 100644 lib/bin/test/dev/openfeature/javasdk/DoSomethingProvider.class delete mode 100644 lib/bin/test/dev/openfeature/javasdk/EvalContextTests.class delete mode 100644 lib/bin/test/dev/openfeature/javasdk/FlagEvaluationSpecTests.class delete mode 100644 lib/bin/test/dev/openfeature/javasdk/HookContextTest.class delete mode 100644 lib/bin/test/dev/openfeature/javasdk/HookSpecTests.class delete mode 100644 lib/bin/test/dev/openfeature/javasdk/MetadataTest.class delete mode 100644 lib/bin/test/dev/openfeature/javasdk/NoOpProviderTest.class delete mode 100644 lib/bin/test/dev/openfeature/javasdk/Node.class delete mode 100644 lib/bin/test/dev/openfeature/javasdk/NotImplementedException.class delete mode 100644 lib/bin/test/dev/openfeature/javasdk/ProviderSpecTests.class delete mode 100644 lib/bin/test/dev/openfeature/javasdk/Specification.class delete mode 100644 lib/bin/test/dev/openfeature/javasdk/Specifications.class diff --git a/lib/bin/main/dev/openfeature/javasdk/BaseEvaluation.class b/lib/bin/main/dev/openfeature/javasdk/BaseEvaluation.class deleted file mode 100644 index 3dd30c22bb7b5871230741e78638aa620b0f4b5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 378 zcmZ`#O;5r=5PgF{p`c>)7kDt`!rs+zz~ITm#5UenIyQ^VuGwz;<2?8S{87Yd^@7C9 zZr;3)yqT}v$0vX#&LZ>(S2;Jzy|aB~9cs^Ns~cVAZ)&A0UN^d|bui9G=o4lwr%G)L z_4u;oO(2X44$mTD!bLKF_$#;}j8jwCE}Ae%=2<4QxN~`XjmyNhz1E!fGCh?s5b1xTCi+{*YvqoiX0$^iZZsL zLZ(>lXy$!p-tXV{4}b|e9!i9s;j@a49DcHP$%)lopLJ{wY8qG$oremco%U3qLtm{v z_PmpBmGDx;oaIU};n8QeWT%aGn()>iEQ&Z+)QC{i#>}JWApF<|K`eAk<;r#|MzHc)TfyO#YPCK62faS22n!Uboy@TyxvU4B=h9Sk7)~dZkb-Rdg-AWirg?{+lgH zxwdoZ9YNbJ?iIEe26xlCp;a_pFX{|KC39D+sF&7E5HwoQk{NVFf#3YM`V;~B$fkCwA$%RW{S$8&~| z<$2awwQ+LB5bIT3+&{9btz@?668^gA7HAftmEs}8dM~YeQPDmI!lk`Zk-#d$YHyBA z-D)M+>AFjkZ^{w;g_c!#9h%!UIX1;nZBQ%T%E!A19~!=x`&snV^A5 z^pgZOC;7|)vNUdCY0|>dkcFlB0;5xWy2S9&CJbSi_#=cq6Xs9tJD3?Bl`e4S9Ag69 z_X#i|z?5HrX#pMt1eg`zku1Pm@CRj(Iv6udUk4M0>F;3LFasUT8m8RAoN${pF?UODrvap)c2MTxX-j6&{`=ffwBzF^b`}lrW23;^j}UfAa>gCNiw! IwXkpg0J%E~D*ylh diff --git a/lib/bin/main/dev/openfeature/javasdk/EvaluationContext.class b/lib/bin/main/dev/openfeature/javasdk/EvaluationContext.class deleted file mode 100644 index 2969dcbbdca742a19303d4cbf92ca14a4c7cba0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4175 zcmds3TUQ%Z6#fpkKsr!Lxb%XWmbMU}#MYKxLQ$?3%B4zZZN1YFeA zoa(aH+O^a-*YY>HTz+R}l1$2Q^U;^&oIU4!``h2yXP^DoKfnG4U>x6uP$v+}$ep-Z zkjA>y?UE(qTl$V(%xuSJcJy3Hx3i`(Wg52JwL@qSXjh-(Io;TZFQ>L-+7@UrQ(KFA zp&%`RD+_5eA79stwzPKhIfA9Pi>49J=(e898X0esyF4MF*}AnM?X0nJUp^D)Sg69U z*cQ!Pb1F;s8`7GvX-SoASrjNr zj#Iy<8^^)&I4h`ADbvhJ-SA@_i`S&P-{IA^MG^f-O=DRjYmW=m55yh{G)$Qp8Ad(2 zHFO{n!fAn_W1K`7J?L(Mz&Q<#Xllk=0#NgJG=$I`!g&Vd9F3#+J-xU|)x(IoyDn;6 z99HWuYiM;x0~$`cqd^U)5LRcFHRMt$pORKmPvxXKZZoat9_m(B%{^m-y_w|+4=o%y zF{yT!p2<-BQd*^OMJR#(0pCe`r{lA@DV$Iej*KPm?ENwxus@mPh7jIkMAdAau`JVS z#tng$Rl|}+Gq)o%Q651dn{zHvv|yPGGJhu;Zdo-pbt9AG0=b)(1$D=w_OpVF&hwZb zSY}!li_HC*^2cx(*KkuE?Jb5HKuHDA#d{Pa!Oej6zCfpPda;;@`7E9&0#iqp#JAhQ z8>2?!i5P#IaaZ8GgC!~cCru7kQB{~437Ktfj?jAa1o2WP_V5HIFcre2Kx_3L(20g= z%_FNrbRmQ{P=Yfe3Z;ilk4t0Y9kc+DE2bRaIt20_?Ps+g{k93+qqLGHwV2c1x1; z7t=oJB^ZwE`vai5u zVf=|{NM~D;GZv&4q>u?AEpWj}P-oG)Y2|f0uF%!8S!c?pS%btn`OK{>uRU2_nwegk zo=DEDCFd5I%NO0_IuIZc#wNBx$O`mS-PLf?u#KERlgpucIS$74pS71&0%v@TYJ9Nr zcQTCv)VmU(o`>xasD)9{Jk?-<4^Lx3w~D-jkNgNzo4U0kpO&PNmI)u5{RA!-)Bs<6 zt#x)XEF>#7yCc>R@8N6AOZGynmIKFl`i`+Qc8s;ncqYXB5z2OQQ%3XB-ZV2&9z@dD z%?-q&*onIhu3&^SfjHh}lx|#C9d_5rPN@)njcboPuD`_S@0`^U zNhzav_xX^*6{Op^Q$b1uAdLke#R8GW@jm@1rItM|t%E<|($MfLd{B=^)u6+42olg3 zj0!I55O4J;frm6pSrp|~e8^E9$M-PjflqR-_P06UuP|SSKd|(i7Jsl;9pr9zWd*s- zLl$^|k32j-*}nbA-XPi0Bar==4%y8j89=sg$RoS@CfVDEkbQ(t0`U6Fc#q%2yL$-U zr}!)&`2PKZpJ4ElhX(&SzHowH!F+*sb+jm{93SXFlLmB(O^*eV^}d$${KTT+e>wMO7;{?_4}e*w%7H=O_g diff --git a/lib/bin/main/dev/openfeature/javasdk/FeatureProvider.class b/lib/bin/main/dev/openfeature/javasdk/FeatureProvider.class deleted file mode 100644 index 5e6a837e16c4e341da6a30c76b09540d0b5c8731..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1840 zcmdT_O;5r=5S>M#0)C*NzraMi*t;bhG?JKLFo8d?(y=KvyQD0QKT7Y$gE1ccQN~%? zvW=l~BXH~N?##Ym)@8%UuPdN-4lyoI!fLz=}JeYFjOTpl^ z*)p~QRQ=k;AVwLc+@&*f85dw_AoT;E%ir|k^ksT zt<@;8#1rdoBV6a6q4WLLvst6^}!^(mkS})UT0V)(%VRs(yQM?Za^SDOwAso%) KI(;=}na98F diff --git a/lib/bin/main/dev/openfeature/javasdk/Features.class b/lib/bin/main/dev/openfeature/javasdk/Features.class deleted file mode 100644 index ffd3ae56cfeeb138a8dfdd4a027926d1df205dc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5541 zcmdT|OK%e~5FQuWkV4x8C=@6V-VKj#d7~!Efkz~yN!f8p(YTMOrm24u8a7COD z;%~qiBrb>xKMLV>yxxuQ;B}Q1^ia8TvPlP4utWWq z)DHVyYHisAySKS*HHWxYfc*qY(X8d!zGJPw*rJ_~z??(Fhe6;`+uyLgJ|(caw3e8) z!mjH(wbYC-u2mIt1ZcL!YZ%=p14hCQ-N1ho_#u52BIkS<`#C73re`||t@WLVTo0jD zPSku%L)-Ow1U9l!t!5-3_N@^pwp_>O(I&8+%OQ0|j2rCaH`z`@Jxb(EqKsw4sQiid zAOAH6Oq|bSCx+@cs!fubrds~kW0W!JXW8`|RxDA=9{k-gQQgv|OiU5zWLk=bMwQ}! zlvM)n$9)P)2+I`(sgjgY7O`iUc$(KRH;;YO=^^47Rjt>V&O!xLMbz}7X}-1u+59LV z%6uBPGN=bw7McqAeQz;FbdQ>^r>xC!Xg6E)C5%V9k9bboe8q-na8wzdl!tgZ0ZkUi zh6d-LrdYnHXhqGJI9t{&P4g8~H7{J6hHIA_r}HGzZ~{h-O~Z zZ4u8&b6j1|$epXQ37l(8#dM4JitH75b{B_8WN z-3t2M4sE&~d+wWwUkI0@Ixt0mz&`e{2(Z8&3@2d<%)k2{^<) zFT#w(vmDP!Tw=HkhxxiP91-JDKF-52X?L92&BKDkCpbPS@hOHE;WS^j2xr82mX8%U zC+*HNy9!*8_#(%bB)-h>62mwHB*$kK?)KCMm5B7sb6>AmiJjjr65UQK91-m4Oo|mK&pn! zZ`c8WvCS^ij*{H3uM!y2XR`jq_A$7a+2M8H=p-;$DxoFSqLNcz5t!NzeZ@Vt#{*t= z*_!VQWwZwbX3R++9eQGPwnEpXh(nH~WHb;y0edsfiEV?>3Ye5az7kcGm@IIgt0GFt z<@X3AwAF$^xRQm-Fiv1(llyEd^vX<@^ikR=QK9ahmW=a`F`*h9H9E0}M}`8mO!l)K zG>;jV&qh_in=B$w7oD;Husw7BlDF}&;16IT%kX-94JXE>e%i6ipT9sU8T9a zMIdeFrp)_wcOst#hrp-vq8oJ@)mc<+GC|jQ8Xgh&ay}%Uh%z!WD6{=s5tzfQ_{Wo$ zhNlD$&xa#z*~SZNM})G%Hn@H^rz4AGNf#)A-RQ@ory4q06?+qZ=c|4VvHtK~$Nv!i z08)^~79ax_+AiQ|0J7K)qn*G-93`{_4YI?gh118$;}wjkTkE+EeUu36t<_WjtcBe?SuX9GRl z6NVcxqXcr0$1}8?Ipgl}KGbCPk)D0Sh`$euk@%$;{DT<&hcWoaupG(%BnppSJu|*N I@7%zPKd%Ie@c;k- diff --git a/lib/bin/main/dev/openfeature/javasdk/FlagEvaluationOptions.class b/lib/bin/main/dev/openfeature/javasdk/FlagEvaluationOptions.class deleted file mode 100644 index 335254b2bff284d393827b804db87679cfbb47b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 743 zcma)4+fD*85IqGHfmQK-*Z5+PMEd~{Uc5w;RUa_E7pQBs+mfZrfB9fEKKKEClySNm zV+M#n0n7b)uu?h3M0@%Q30H`?g)8 zOw<^qgkiF&jB+i8d~N@Rp>Sk-vWz^c0Rl{yF^|O}78v%%lNewL%M3Yt%TTZFkEym% z0>f&663Ps-p)&F^jXN^A_77*64{cZI8<8lFzYh!UPSNc6zvCbI^J#?TwoQ|+JXOB* z`bgHH-vI2As64G%j%)&xgo+uOB1}quaD^h~r$v4yTgx0pKu~|iZ2bjuPgr@(ZmyA^ Z$!b|!*l8`J#+8=`u*)1zz()mj4`a#_<6F~;_fN8I$e(^&#ZH+ zUHge6&e+Q{j2rorqvg_G?!+(|Vjo6U4W_G(?b@9k1|=3RG59jg8V|y+fniEV z1o!E}^dKb~%iTFKJD%;DOsK^uncNYFh#|6KH6=n=UlulZ4$Bgs8%(^kWdk4 z2oG84wL83_V-4#JA0{a~`}&wM%lW!$K-+Y&<5qUL!Dc3_nvTmMRrzE3IrP zQZ*4CsL%@QFwHP`IoxU7#0`VX-hsmORary+G`>n^h53bo$6yS-RXmv^U*5_x&^V+&Bw*3gB(lgLN2?63 zAy4Q6KR%6Gdv`)j5*a169%GZA3xugqC(4}0zl^hp2;wQ8B@hJzAxtU;!i#|&V9M+a8D>fQSY9>J zMDKkIAHY{Io?RdX>Dne4e(=CZR(VC|hR z4foh9IphQ06l_mQWvJmw4iK*;>(4sH4QdE%)uLD*BBNs} zd=|JOWZGqI>I)O2_VG%Ujkfu$OktnPbF zrW+Kq8bqa9R2);y19_~Bn=Z#RZ$`41DligRnZ>~Djd4oX0jOZws)!PAYvmF6QJC+C zNSN7@MVd_#wEGVh^L3lzIqrvIB>rr|epVVg^WN3}CUUIUwL%@0HUUqt^Dc(`Kx?Iw z@RY#E_foTg5<})XE#>vO2nWN##>Qs!b{sp^=rYG+rmI}1>2rbIUMM5c^2^y2TE8Fbml!?-v1I0)@*fHD5e<3^;Z8 zb6muC0aptWp+q2wdkWtqklVo;JT~08!Xgbf5if(b7A*Z0D+{--z{&w$jL)5Lw~#6R z4RBpW-5%})_l43q-2H?fF}RQGVyMi(8h)oo2JiqLqV#A+vyM^<91PzYlidhmONbMs f!u|sJ54p{A*!qT&HHEzzVq2lM6t3H2glE42ND9iV diff --git a/lib/bin/main/dev/openfeature/javasdk/Metadata.class b/lib/bin/main/dev/openfeature/javasdk/Metadata.class deleted file mode 100644 index 338e675bf88e7fd4bf14ed4ed41ee5067d4cbb4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162 zcmX^0Z`VEs1_nC@PId++Mh1nH)H412g4DdU)Wnj~qE!8?#InTVlx%(9)RM%M#F9jI z1{OvJ0g$MEPGVlVzJF3yYH|r91ABUEiCA2oE}Ie8zTcF12fPS3=E7w(^(nVKr9A!Aj!nQ0RU(vDJ}p2 diff --git a/lib/bin/main/dev/openfeature/javasdk/NoOpProvider$1.class b/lib/bin/main/dev/openfeature/javasdk/NoOpProvider$1.class deleted file mode 100644 index d26ae3b4be7bb4722ada79a9cb4062c93b3c8b51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 760 zcma)4%SyvQ6g|_#rj60o`hHgp(kdDScZwTP6lxR{_tR#q(U>X8wBMx*5nT8Iew28p zRN76Ufjjq+bMHMllb_$OZvdy*vXEie4n)V3EfGHouG)$4o_U9-!Heh1o7Qb2J7FLa z_t1jLP}J|dh{sLurv5A%%0iZ*JZ!?XP(0v@Gi23Mn7RkFtu_oixbB!bPQo};rwrA~ zXf4$T2J=h?A`gZM2NrTR3=|yXQDiVG8c?W(vGCikb&=fjdL$T1HQC_N15ZMo_ll;b z%P`tz_mJpXO`&}LN&{yq)mmSsJC%fS^EihEhDl%U$yWJaQwIA^wv&dq2sM$ZK>_yl z1fqK$HzJwR1d{Se1{PKs+))&Cu#PgrIMM3gf=kqfHUFdNTb!#n7Rgz}(^QZOIbWpe zQl<)JQq~|F11lD_!1Nns$nvnMI!@6M<+@_;?0&%6`NZUV7c)g?mM}m8B|4pMY-1WT zlrhX=t~X(iyv7-&`8RSI^jk{#iWJACo`}^S>5h5yVFMhlP3CL zFp{Y8(H~_z)0XZU+rX2-CVQEkbG~!tJLl`n&tG4@0?6S}6kQAxmZ)WAMY#KdtEwlm zuXv67*6VCuZdIOpvSwStiz31>sAsYccT3r=-B)5yMbXPJ)yaRofp-kSF!X%6P*_`i zxsiXly0*T&y;)>PZ3dtP<=Jj&k)dxzy1wGB+Tl)B#E{Uw-1miL+OBDdeO`4GL&W7} zn(b%k&&%7gVg{jlmu%NoIfm|ZW``_Sq$Lb=V>pQc493B5E{P;!39v>)nRG|&Ka$c!j8IxnrE~;$*J?yASGIH+-lzXAL+DG>W3gkL0E;T8#2eMw zblu^lz)lQg?igE_oZhl zvQlp=qNS05Ps6}XOzUQvAz8FxQ#Z~qHBLjHfg{7aHrAmPHU)iV+UEOzly10Fnmp#H z^R<9CNMa@7g$r?lfSVqjRT*IY8v&mn+Ow5!xD>~k=~`$_G&aJ3z7sXka5y`a_`Fnn z9FlA^y<8im6pLph>m|xW^KTSn)!P&6w%)ae!h7AU{x4-nZn&=SRvdkFpv^mx7d~yu zdaL(woz4K=boHPMqlh9#?{PX7b-_SN9}QaLKJ?N%9UJIAL>5oThS4)IeTdX_s_zp< zKGq%2)4iWSLCz5*2q=aNG)gwiaghRn-Y?;D6KcMm0uVpK*b9QY`hg6(pn-HuP}Be* z-U7Ieak9Emx1Ffxv_L>TG&YWK^F?av5SefF*#K!Ygk-dkZsB$dY4(&z<86_$xYI(K pJ0;RgTco>~Zy_z55^13gQaA3^Ik=Apni=AAjGp@UkgkXx{|4j;Pz?Y8 diff --git a/lib/bin/main/dev/openfeature/javasdk/OpenFeatureAPI.class b/lib/bin/main/dev/openfeature/javasdk/OpenFeatureAPI.class deleted file mode 100644 index 06882658ca97d41ad497c538551726cd762434b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2213 zcma)7ZBrXn6n<_JSh8721c4UHODJuVP3^W8EgD4AR9b9!v0-q~PnTqcEz53Zvx)Yj zzs9fi6_FX8u^*iACpnJexpy}&1%iACyL;|A&-0v@d-&_$Uw;Fzj4cHbhMQHhX}C4h z`O@Tm!!wQNyvgg;17m}1D}k-BxvC(>kP>Hx&7D1CWB0jP@fikcp4+slrpJ&i^@0jv zHbd7uLzLGnhD^_h*U2ehfC8Sl?m?YYl%$M?Z`nr4s{3>rFI#(#l+SSY)bUbJ5`mXr zrtrj`>90CvaX!h^1rP+V|YA z1cZtxMik7nPGyM-p2uH^I;oh(h>$v`Ar6%x=I>in&p2gYv@O%2cFtXpd*G87Dc;gB zj|{^~CMdQXiL&om&R+hkrFS_)NYYChTH~>1`n<}0&M<$0nwD2yWOQ3YANmuxgS!e0 z(s#*8)Nl`a(Ek=5!@@a9T_T0KXAQ@<4$W<=Zc#5bxyKJp-}DNOWm0{|2_^lT;vkO_ldvpPNW!*KkLB&-pA}_{tiDBc? zxA3g2vlcPwO4Ib}l&`q8)oOTa=Q3Yhd=azTDhennc-UGro$;+}c!ZDXO7XgwWQH4r z)+ti3jPlvQ)L9G(JO*v9Ck#W^8iLxnhaCKho6`TCaD6KBQ@sqqLi&h=_Tn zH&rYZdPc;JrPG9b*T@#fAcn}2BukUd89md(Z0G48-y`)W22a3tjxhWKQu?cJ(XYSy zo$N0q@Hi&Oc>>quGm0_#8Y9Bs?>LcM!6;d#Fo|)pM(B5ien~|C!Ki|(j}%P)Ejek? zg&H1`YM~*eA7M&A!8EbY{)F^*5-FVyx@$Q9qiq6>2 zxcRaT(=S7=cZDnM@GSH&e1V=qj;jBN+%eu_IE`?t3qfro%;Rk$zE6>g09c?GQQX4ya z_(xvxiovJ`u1JAl)Pjj*8gYzUNFmD*FKEDc&6A?uzHf-|k~e(8kgEkv?qBiH)AwG` z(83wE|6bnSCE;dEs5-wV)~Q0V)}Pvi3O(7Xq%emC6Y~tkKaa!0B9^Ez*`>`5k}{+( zf_B&x$DVFyW?-OYt%Ev0l1)E|NC)lbCU7mRVVxmElKTs@N%k;lKPc+cI+ap{Ri8(Z zpfM%uB2p(oq>!i4$H_*(vRS&M;z diff --git a/lib/bin/main/dev/openfeature/javasdk/OpenFeatureClient.class b/lib/bin/main/dev/openfeature/javasdk/OpenFeatureClient.class deleted file mode 100644 index 6ea2b905f0387ec62a3cfefc1a7c7c8f798939b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15413 zcmc&)349z?8UMdrn`|acNNGz_O1BqH(xw5af=P+AC2a$t2T4m01vc4fvh8L!>~7N5 zsvI6DpdbP&9*80pRL(YSDVHFkhzh89pol1ncz}op9@Ou9^JaE-cV>4d4K4g2$;_MY z_<#TJm^bgSH}1I~K)aahLyjs+XPCY!9iW1 zwkxH&I~fm0`{|xe=7n2Yx?=tPdYo>RFCyL1aI&3NH8idxi|EZCQf#dm0^Lp>SRuO|&z0&^N{UM`IU6N$FQY?T!dI95XqjuNQu3P<&o z!-KtgyeHTjkwC@zf{}H>c$oiI7t0nY3s)74yv-7YclMRWb$%3MriSU5$X3nP;6pk8 zcD#lP`1!X64VCcw&?GQXhEPUjaXcQ}!J+Y^5i@yRvjz=SgkEwWOd*`-8WS5s41Q4z zB*7G2i8d6JU?`->FtcHkt1KB`_F^I4=EGY}f~QPOXgC?C2$TgAY%PaqlMM$W2`ES@ z&m`X}(TYVrux06YG@MGgN8&=E#gT|Wor<{BxHJ}tP)-q{+Zs0tlnxkdo}R~k0ZktX zMuvk)eOV+(G=17V$h=@3t<`&W4C!q)PqJgId~?OF!_Z0AE{#Q#`u1d->r&R5TE1$C zU1Vyz6@m2ir|ZdJIFcYRpI_9|YO`5c*gkf5dwSfBP8oc7{98oEw72=tL0O%ubsh0| zEMAV~qUhAM(YT(7MMm^cpf5H!6pjQL$G}iLMu|R{Xbt!)dIt2spq?Cvg#uJoR>xx_ z;gBA0XbglCf#GOK-%Qma6xbY#2a>chNgN2+(up!BQv@f-if}ZU$SET|UMjwsqQ=RZ zaj--dhC_FVI$3^6PVn{-`;+lu?gD}3dQ^`GBQnelMiQn+D-Fip;cz5hK+}VvlE?4I z>FDG_eTKj!dz(>-&yCBkGufn10>kcE#Vf3wuu*k;pDt5d)sQmp#v1BC;Uoo? zLM$-3!QLP`)%CVYbYra#Jv3LOnuK{*!#bS9(+?F^ful_cw$Y19#ReJ#+-fKXsS@k4 zNy9twF6t&SxB~j2;9GDUeK?OMpAB2Br4k7Y`#_Pa$(;T;93uiv4nl1*dj{gMZJZX8 zRo&RGVF%t#6YoGUu~JfkX3dR0yvLlXBrz;Vc_Alhayv~du5H$y#{zOz+3MLfoIdFwjC4mZV$aqZ= zXz>Oy)xd?`o-p4OzDT{v6YI$4UY(|YT~Yh80x?XDC-UvKz%rcU1uy&EO5lkx8FRR~ z=o+bPm&&nA;8xFXZPc`LzMI&RIqltGTR1tu&t@5t{yvfZ_GcGHy_m+UC9zmU4@TuC zfk12SF-0vlH$dbNVqWvprp{M2d<|b0I4UJry^sj3D^#>6iqrgcBW~Al2T#vDE=osy zxQmQPjibs&+OgZJ@1W*GZ^pslh_RL?D%%ufdLswtlz{Bl0CS-Sf~dEGEY$WfYWoE) zE({@08ohx@0QK<<>AoA6#WpHu*NnT}t}doGt<=s^DpF=#n2z@|un!2_apVp38V6s@ z*flG>y_jGKY%R=PkNa`7yI;c*(bbCKNIh1T$W{D9`C zC976-bu3;fFgK^w)^k+p1)kKf7)xlIohrRilU3t7B{!C;e%mXswFMyXV+~K^C-m}e zNwvDx+5+X~ay`XXC6==0XXdvD*$oU^1o{fn=89KJk-1&x;_xrn;a>_|H2(U$0U>bp zc$?sgj$00-dWVe?&oM&37P$S0o97kKa6uLyLh37&_%msq&aYOwM#PD)p4_#Uahq8W z7X*O^vs{2J1ZVJykhMNmrBjm)fRK}Z+GZueiEMChy zhMSLg(&&i~`4ejlHn^JWMqy`={>dQyEAL2sI1KcPX`ZpzG}$Ac?Ip+*!KE?Jh-)r& z4T}?RJ$dYASe~hK42HS-;6|-+@Po_a|1`WIN6F5WJsrzC&NjwEyahx|tRk7|f0)iZ*-uJY#ut-4dB;h$ z+BJMm6ihj9>DuH4C@;zsrj?ATmUmbki#J}e&NHlfH^CJSx72aK|FSm;f3LQwaMf_Q z=%`wr$@wr~C1?`btQrJFJ=AkY_c3^Ngkqm?f zhv=jj9p;tCzrxW0Jx-@oLV;j!A{nPsspi=+C0$$Y&hPhFAMWg)5%#L zE#PuQ`{|whO)bn9i`h6y?uEj*Ub2RBF#rY{=^&}2Bh90UTJL}1+ zsbs^kBz&4w&}4|i0<_RN5{whbPPT2j^s7kz#-0`9Vw{M#C_|Q$v3#$(X*cH2+lQ0( zl9Ng12%KY-IW)GphL6%Wu~ zc68=QnVNjwuVfbCOmtb2&SFWTi`?TNbvN$^?asB9?ZRnwW&1(n)q_~yT3S~+Z+>0L zerznkE*#(Ly9-kf;M@(h=kG;tUFj(LM$tct!BJdL=i85XG5Fza0@okB_fAqig`As% zouq^VXJFk+S3`7N$6Rd23iRS^gr&JFh%sb}1wl97i}y(vx^W>ck^prRELG$_ue%tR zkmM5__lDd+4 zg#A^;65lct-)k7(k~Dk?SjLwgmH6Io;2XfK416PmNR$#HM#v9g86tFKEg|u3m!w%^ z;k(Adca21q`MO4;T1+xpB&sDO#Xz;phAOYGmhs^AmlD2=YL|g(nTe_$(kV#0oPlTB zJqyh1@JS2IPf6lGtH5kd(Y4-*uAioKHi`H==bS;nTKWl$kaOE8h$EPf9X4Q^Enu4Q zIYqo?d>%JQN1H9;HCx21RK#Pt1tiIM{THnD2Jv{kNxW$&N+aHlcH%K(zl57CpTBG+ zJDY7J`^^r?{$7V<7x)Tpq1@qGdM2618B^6XZ~iE59mQ=A;?6thg1ur~E`=CgR9Q$= z;chBzT<)r{8++&p7Cfp1uOmF!vM7_-iBH(-&n(bOT)Ju0{f^#U~iDp)2ld3dcczO9VzKNN^JJKs_8B~ zreJy^)6|=60OblWhuR1O|7HU86n>}zlFp_d$!PpEQ`s#xT-=m#2NZY;KUab?*z}CE zYl=-z;aR04i%q|B)^fKEEH^e8TAbKK- zByxo3s)_@menZno^ppM($J764@)7m_2To~f1poj5 diff --git a/lib/bin/main/dev/openfeature/javasdk/ProviderEvaluation.class b/lib/bin/main/dev/openfeature/javasdk/ProviderEvaluation.class deleted file mode 100644 index 66199a222f20b540382ff2f5d742512df87e655a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1788 zcmd5+T~8D-6g`Fg98nPY5K$RWaTk#h^$9kcpur~s1{M+@ySsI_IMdm5Ivf2BYWyue zk!Ygt{wU+^uma06F~0FIZRhs%^xV_i{`&px2Y@P`=P|^v)D&GW>&?HhLhS_9?_Z~k9 zdfTz@bHdTeoEAI^6@$B#CVe+SSXn~rP`?bDq&ruUN}4L^E0qrzGB)a97*it{#|?(j zEvdwI9Mpxb*{!Vbu)+NUn+N^(f*I46q;WZQ^FjAX$W%Yoht6NR)&JnBkg-)Fb6UbA zs;s*crSh2r>G_+7O9`Ex)26kdfCYxn`$~%_^t+Dz&N`#F24j&>^%?#x;bNsx7oMM9J%s(Y#^YK$v#ebo+~lmam*@FO?k!bGUE) zf50$V8qC8UR3TZBlwNr|{3|}sRz7s`>#v*Av zz9$R|R73x`O9eb(_;d-fIM$q`;OvF5ZirXXUe@WsYF)7xfMLH8uh>^#*+T}z+9Fv^axQqL5L0N z8THwvBTRm!!7!$&wM3vTZc=N>34j^gqJFk7avK<9xP!Zdv2+WGOu+e$xi{nUN4WQs rqU0F0Jx;7m*Ygu~JwVi`xE>;Q9-a9IM@XL@m z46Beh$Q7}5=28>716Z(~e1q&6mX zLvCY6Kf~-7I=&AvdMjjkfq9Y`7he8_{)0}ji{uyL<8!0un7a=2(*|^cRI!#Y&sEdJ zKg2>Oe3fpDhez6&HMTwROC!ar-0_TDATj@09LUSK%0^=+JUqt=Ry#T3R1iN)3A6YG Tp8Np&cU&KyiwsGmgnjWFr!fOL diff --git a/lib/bin/main/dev/openfeature/javasdk/exceptions/FlagNotFoundError.class b/lib/bin/main/dev/openfeature/javasdk/exceptions/FlagNotFoundError.class deleted file mode 100644 index 2e41d98978cd2f3bcaf1a4bbf3308663812df54e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 928 zcma)4%Wl&^6g`uqapIab1X|u@(h^9zs23m>q^g7nLrf`7aT00%&^=K6ET>?L!tJ) zVMNUJzVxZKM;(wobC$Pr8XHB_9n@e~aT%)?Ru~%pY{bD8R2Zyh-9dNvao?1`=D;$( zk{*W{!^64L{B6TDpfeKsWMGD7t38+L1lF-|n+7);x{;TR+&of2gWcSYNGRonO2^!c`Wo; z2K-Oex6V$|YTGu}uwhnxhhe4FKkar;t1uaLjGFeIoG4%PLZjR2xrVk(5*oDbB0c5; zY$G|{>Sp)!FVa~hFT)~PO+uJ&!Tt>ABV7tuqO(k45NtX3fGkpfma;<_6LmI^aB=e! zE`7n()6Av3Yy~C4FH$MP;2h&|9XEg)!%f_pajg^DaM|Cm_Nva0u>ONAcBY34Sxxd4 GaQ8R;&g-WD diff --git a/lib/bin/main/dev/openfeature/javasdk/exceptions/GeneralError.class b/lib/bin/main/dev/openfeature/javasdk/exceptions/GeneralError.class deleted file mode 100644 index a760b3abc037c52561b2fbf6b385598909ad5f11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 908 zcma)4TWb?R6#gbjv&nXC(`db0C#}(>4_(AJQv#xCQ9=cK0UsxuF&W((vy-4dz#pU{ z1qFTgM~P>)p$$UNeVCnd&Ue0Z`R3Q}Z$AKZ@xVcW!5_-0pQJK=BZZl0>Aw|IkqzJZ z@_isvqmnrD_hl@#2zy#5+Choo(SIbpB+k7v&ODK!mPxHdcp`O1w8zh%F|Zd5RcU#j zCPT@v)nCM%b68M^p|Tr^tDGN-c;x4i3K|R_k7F&fB%I1250WTVp|G0r zR425C=rMPzM`Ov&hg9-;nRztH3|CP~AQ>BO2&CdM322B(3^JodV0a|WI2rQ4wceQ@ zqSba?Y+%bS_#VT0tAEkxq0uTHb*zT&VKUKy+*4MqwfSClEFKNoZ;>8u0j|}UZgsnC z`WNY}l9yqbtR^Asx8#0-_lYhAtk7AeFbKAqdq5V+Jxl2l#zwvEQ><-&#^tZLev!G7 zm#v^g_+=_(8N4$*ZsHbDW4MhwGpwS#pZgbkkuq#0r&p^+63e8 diff --git a/lib/bin/main/dev/openfeature/javasdk/exceptions/OpenFeatureError.class b/lib/bin/main/dev/openfeature/javasdk/exceptions/OpenFeatureError.class deleted file mode 100644 index 3e1e07655d21d61a265f75afb79053fc942b4f05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 519 zcmbVJO;5r=5Pd^|Lal=Mm3Z?&0v_zac#?2YNHjzfKe(4N;%aHhwk7^8^wT&WS*8siHk0#z#7Nu&+y>AAgp0HMaIAooO!tL29fzAn)P7ta{rCoy6 zY7Ys;lX%Qk5LR52P$tv{D&mW5I%0j}k3uFi25}%tzUWE4d@Ofz83z{XF4j;Hsq|hY zgrmVf3>_2P38%R^GZCTLYX2$p0~4Ba9cMb=zA~e3{a)08*->#%{8_ScK^v2jS*XC4 zL#RsCL_s1@a$ev(OHzOl!h3#4pt>4z66@?~tAAFOB#3)TP#5T}2@yRU92&4Oz*@5V@zetT~ zqKUryql|a9q%=mN`!GBA-gD3WIP>$@*Y5y2xNjlH@L(inZk&kdwea**3HOaR^U~2< zSG@B@qGcSV?t!OL(N!u|777dx|089e823&YvqXk!DwOnsW1&(aJ$m+(fjws^3&Z;) z9tno6-ZJKl!+_chrCmRek<=ZAe6w}TP%wcq7%n(iL6M=-laY8a4TnMlVq0aE(C{iMggP9m{KMoTa zct%s6sF)TJKH_%ya3Z*Vp9sE?nTOLtHh+-C&h=0tt3kdT?)?U> C-r`08 diff --git a/lib/bin/main/dev/openfeature/javasdk/exceptions/TypeMismatchError.class b/lib/bin/main/dev/openfeature/javasdk/exceptions/TypeMismatchError.class deleted file mode 100644 index 72ced12e8de0ffb5f73a81b920f5567916334915..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 934 zcma)4TTc@~6#k|yy(}x#DtN~&SZsMBs`hvc4$ZUmf2~ef5CsF z#*k>D@BS#`nWX_Dsk#rdbI$qBcP`)j{Pp!afEMl-kYRW@5ED0wMR+8*9xLI#;S-(= z-n!zQCt@w5FmZeDW6_aGz_mBpQ7TdeJ~$`-Z)^$nLr5)mu$=-&#>5*p?EP4`a<=1 z-zVluJMySDrw+)TI`dm8jfE^KHp;L{xQgWhmKdu4Y{bSj6sctI@YT-i&R)0kq__Rd zG;za5!9;R;Bol^5GiUnSo@q>bDD>&r47GY=CetabS-@Qy-ze$&JRG`dq=+iRhy75A zB=RR>;CN9GOP?E!omfS*k>Igom3kxLXj0s{AiEQc6Ya<#CZq_pqX{X)5ece^j`tI- zxTl>!=utFq{?vZ+{3P{;Wnl$tX5sf3mg?=ZZo68^aM(1OTHR=@Jh3Z{ddn9Y+B8Y1 z(z>(sq%*LL@N}z~-P1oyXNkNF^JLWsVZJ%*GwhFa$zXxbJcU89#nc0`=nYI$T7)rC zd*c|FH$LIY7hFHfTu93nkt6zfDrFe#6FhF>7EormjXP7WRYDss>l;=ME6y=ie~`t_ N^-v_MM!pQze*=Na?rQ)5 diff --git a/lib/bin/test/dev/openfeature/javasdk/AlwaysBrokenProvider$1.class b/lib/bin/test/dev/openfeature/javasdk/AlwaysBrokenProvider$1.class deleted file mode 100644 index eae103937fe0b55b332ed5bdc72a247f5ad47f1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 892 zcmb7CO>fgc5Ph4NIB^XPp-{?KTQJ}jR5ud0qDr(Xq9UY-qDmY$_K>=Db|ZTe;Ae3_ zl|X_!KMFA$0XYyKYH3zGqc?Bgyz$RpU%vy`M(Cm(nC`3Nt#hk(TN<(A~}to zWgq0HVkg(9q+aKGoF z%D}Up-Qv!tsY=bZKs!8N>)Mfkv#S$oK;WVe7j+L+%=>7dDNqe9V7`+o>W&6I%HPUf zMgpylj%9Wv^VH^lijI{puz4;8L7U~feKK7+VB&>vtuwXn(B!G=Z@IWG5S3Zd)n%_%ffyZUqW)b-aa9?1KXP&M;;JM34{-W3@e_tuecQaWO#8%h4RG1gK zFj(RBRXHv|G@Evd{0~<+8t}L}$G0b(+lsgT=nMSyGhF&S!CdCE#u#u{i%)-Y_izOZ zoUvoL_K(57zzpB8_^!2dhMPY)t6<9D&0uhFXM$R0jevty+`|LDSzVUReh)b+Sp5wn C-sCF) diff --git a/lib/bin/test/dev/openfeature/javasdk/AlwaysBrokenProvider.class b/lib/bin/test/dev/openfeature/javasdk/AlwaysBrokenProvider.class deleted file mode 100644 index 2547cb6675ffc3e4a0592dd51b96cd3f01eeb473..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3088 zcmdT`ZBNrs7(JH_#>NyGFN*jAf-+vDBKXFZB|;z}PB5~Nkoe`YU1p)QOV>^KPnzf_ zj3jFO=#Mf!x9!%7Z5Uq&Ea}?bJolXEp6A@#=l7p)-vQ*1jiHTUx+Lm~Q4#u%;8x8P z$}X?-YH3e-seRyw)kV|T6Z#v|sH-Jm#t>z=CLt$tqdsh^#7&;in!*Es{+y(?g zM^@EUE5{H?Pi!(omyD7~AcC$WV(4V(&a1jutL<+Kv%t4C!H~)uMXqgfQZeFqWPO1!zQNV(2BJv+#_~CXhnET+sl-Y&w)9Fi9y( zAEmiy7@FYva-C~6ZmEXO@F|`5u9@hC(;*>+;V&&^EMI$p=3;)h+j5|BU`C@vap1M<<2^Xh6U$cb; z-$r)R%LVM8Lg9jBouy1Ry`s@JKzkRLbK;0y!*_8W(lM$Zu;B!Q8SBT zMU}nDV9*zQMjqaDUa#u9Fqbr5tqN*Yy4FOMS`XRSR51cNs_AN{UaW)e)cVkWoZb|= zGrG4=9wG6C9@>y}gMcWm&~wrWz*Th98?|KUp?^7f&ISeI$4G4vK;LH?^aI3v0P!Zk zb=;t+K|A)Q4fKwHWNwLL3~i-uAK~tg6G%Na(!3MpB2hfo&<18LG8Ru+9Jy6w%ufW4CFwVP- lPfn=%loWQXA+>)-Q4u`1tM&p5w)(UQ=q`U5x?~+ve*vMKh-v@; diff --git a/lib/bin/test/dev/openfeature/javasdk/DeveloperExperienceTest.class b/lib/bin/test/dev/openfeature/javasdk/DeveloperExperienceTest.class deleted file mode 100644 index 77d170a579d3fb5a6464f200d0bf0bdcca34cba1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1338 zcmb`G-%k@k5XZk;3T=;Cpo)lAJ%0laUQF~wlmrx_v7tne#K&uIT9)43UiS7Xee+-P z!H{U8@BUH7*&^bP+Nkm2_GWf>K0Du;-A|w2eE_h6TLt641r&=oB`_ZKyVNg1V5*F9Oz^)hW7^E3Cg~l&8IonI zmLKl=T3Y|>WZvw_RNzkiFQsr=GpUS{kk*t6$&WW!g24RqEH*NtU71QgWHpYJ@r_h5 zpHZtT-SPG_*1}^V4QbC$q-QI$T);Wb`9%D>)=C#~ULbi9Yf4qvqrh#cD3Rd+=q6h6 z3DJGmDedf$82RDv7 zxVrV!aWIFPE$u~t*@a&lVtX*z3c0K1iBerwR-&FC4(uYX2po>iIQ{=Ae_w%SCPS-! zlw#YgbCOM8$r#9 zi+(^pD(W3XMHXR!r91bbbM71;`{D8aFMxBLILHW`1~l{4Pl|t#)YF9gv7E^?xb;7) zo|=%p3FFaqqGn-0Nu}k$7AP8sAIW&+Uk%1I)DE%&WM zM-64vmq}>)#n3k51^jgcR9YEshru#iH?=f3pln9xhJ{Tz%x;Ox$|o54`#vHh#}BTYP3217?-@ z^yamTSJ>uG;5FVXHk@)cIIFbti&F+ms{4d$EvPo$&QW{V=WOEuhj`DG5oFew=a?gd FgMX*7#PI+C diff --git a/lib/bin/test/dev/openfeature/javasdk/DoSomethingProvider.class b/lib/bin/test/dev/openfeature/javasdk/DoSomethingProvider.class deleted file mode 100644 index cfcacbed9b95853ffe24892b87710287fc525538..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2699 zcmdT`T~8B16g>ll(xr+N5EMTa1!+N8jXu$)4?zx@$_515L07V!{3^A-)ylsdkcMrMgw=TZ;h9tEE?QDvfcV?DcZKhWfBR78!EtXOt)_ARgZbiPhyl|ISyvK3)_ca7%kYY z?H3t_v$=hS#HO&ghGC4Sk;E9oM9FsfZmUt{vSL;p&X6gIn(6GD(pK}{%LFm=7}iR0 z3rFzJGmO`{|BCyjW%?$=Vm23>-;c^CF-7bA$1;mgHDoZOzUL;xlWgn~Q52OX(?s%x z5Dqupt+wg3Oy3qR!^dnX(7xlk$iB6+!<70OG+WfaF4-y<4W!cr_C+BCK^rK=~PT_ zNRAjO~TTvE!&}H%I0+2(_5~^56SSBeki2wQ)U?1^r|<*CG%LS-Y=vORjmh)$_gE(z-b zF;V(!Wzmu~zHO_md@f?kTUURn4Cx)$<#N+8J&)7IKEBI6+Nsqsz{3LQxIotk9b86f zq=N$8Q#3PZWHgSfoIv|b4?{@zfsDA5oCDi;6dg?l3 diff --git a/lib/bin/test/dev/openfeature/javasdk/EvalContextTests.class b/lib/bin/test/dev/openfeature/javasdk/EvalContextTests.class deleted file mode 100644 index 98d47ef66b26d20da1a205748bf57a7fe478a4f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3604 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 WZ2lyv0AujA32<)&&fsBg_2@6+&@;IJ diff --git a/lib/bin/test/dev/openfeature/javasdk/HookSpecTests.class b/lib/bin/test/dev/openfeature/javasdk/HookSpecTests.class deleted file mode 100644 index 8154d80ecd9dbd13d07138060c6c4ea761a43603..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10440 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 X^No|m?^u)J(Zmu4{RQH5&|m)z?!jl= diff --git a/lib/bin/test/dev/openfeature/javasdk/MetadataTest.class b/lib/bin/test/dev/openfeature/javasdk/MetadataTest.class deleted file mode 100644 index faa9fac71ca484ef3803f82344fdca88a339948b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1250 zcmbVMT~8B16g|@x7HScwB4VqoiqN8V6?n3SK!_&BwkEbhlm{~1owftpoo091@Q-}v zMU9F60DqM6PFq_v7>(KN%-*jv=ia$@zkUDw6~H#OEW{XAJkfJhM+6PQbvG2wG4Jun zJ8{ZFbB}9Y6Op!%V3;!&$LB%Qc~w6au4b5gDg&vv8REJ8K0{(pc_N88rc;=}B*Sb; z2BOk!*F{+4bzd-~OUmW`J`bglhsuO*$%tXK^e zcoFnuBnf{v2$beps(|2ge}u1ggex1;9eC0K6Fu&CiS63Ig;2y~(9e>=+A3_AhpM5) zDb?uZo(eo^I6SdyEn&O96oIyXreHUu@I6}wwkBgssT12(feE$CZ>lxBF6>c;g%SKF zL-{w{PN;g)6XE|NFAa;ge?jT8B^5TE<1Sq`tsSXF=zk9b8Z*e@60NC$1MM>;0hh@d z$1Hv2$udXp{2^jHNE7sx2v@NX;o3-CG~#tEk-GuCLAyD(Ns?ibO=r?K6JN0WHlDs+ z{eZg%>9tSDAG}ARbk;w3kzyP=(9lXFLF)|WiNqpN$dG1CF*~IAn0)9j_RgX>g4iH2 GhRq+>PE70o diff --git a/lib/bin/test/dev/openfeature/javasdk/NoOpProviderTest.class b/lib/bin/test/dev/openfeature/javasdk/NoOpProviderTest.class deleted file mode 100644 index ade7a9c1a841796a94fcb508b7404f2c15cff121..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2838 zcmcguO;_7i5WUZKknO4kOl(2|1d=o{#EII{Z@V;vLgUmQX-IuevJ>#)3LMFmWLg&e z9sLvSqML-%oYT{Fe^gIr^npZdl{5=BvNUhrojZ4C-t*u8{P8D%Rdf`j1j@VeK(qSN zd@6N!U`uUJKhT}seXV7+`wwjEz}S`cBk8ybG6EC4s`YfUtF^cH zYumDV0y7T>rfWQt9m6pQaLqI=S9cA|B)r*%Wp}l`0a2u9-*Ba^>3u`vjH(I>0@q$A zU>=jmWl^Lo_vK+8)0k0kL0~e{<1TTLx~bwKE(s_HdT$`xPX$WlCrgbXw<;sfshG!Q zf%9GI2HQ7ypGRKcw{mRXmTMbkw;HnqJF1C_MOf>W>B^tnWY^7}-i_SbeNVmWQX+KN z7||X|Xc1QxT%j5!DLTAM#WlPukR<^+EEs7~j;rN28DZbRl7h0p!sv3YIgYeF(khm5 zQ$W={%f=4_y+>_uBQ9kC8j~`xaQ}+F!1ctu<3qs>D5+cml|=vHjA>WtWd9%b!x>on zA2_ub{jd{O2|Vq%b`~EBocqzT_Z@Dtk5znvPX(q(WxtK0vI+bemu9%jLQ7IjBdD`z zGJ!j9s8NsyOQaYy4P9yHQNyZ&FHVec-CyG|{*s5c9&g8B(Hq`16?d`j4{u|xx-jSOIU);s`@y9plZNAs&+^1uQ{!)N0d^&e9Mo)#lH2M{6U4DV=@AQ&F zo}Ro6a(IiLs_#I*Z_^j>4y~pzPH*frLB9<2Gl6n|#g~|T`~p*rn}ze4Bb0=Aj@c%^ zRi0zv2-i7C+6z)ZhTe0?(pQl}El>y!xZnc?0kfDv1-B?vku0}~aSHE|7t``B?~?`i zU?i=>fYw}$R$+xnebg+hBv2YBN|TsE0kiasD9s&HDh8CMi26xNzU4EI(&r;7jZ#WE zLX}C~X)4U=FVv3k)vHRCh}Jaae1R02iP2g-rgfT9UwgFfjimJpDaG};8Y=Y?bt>dH zO)6xCxiwmqTd$U|M4Lb=WidycFi!{aWn3Y8tl6>;cTDb5pxFdz`T*Y&m5Wq-Rxj-p Vv_uwv?cwp-7Oe?9BD55~`xl5B1C9Uy diff --git a/lib/bin/test/dev/openfeature/javasdk/Node.class b/lib/bin/test/dev/openfeature/javasdk/Node.class deleted file mode 100644 index 13ee5869388ffd13ab646081745a2e8f06bd7548..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 527 zcmaJ-O-sW-5PjPwjfvIPs#QTm@KQaPyA1&mJcW8_=zWuH)2%TnX;ScKc@jMM1N>3q zY^*|C=wavM&CHv(^Y#7l3Bbjfff~bkBo=ly6X{s+qRfRo%aJ9AB@%_F_6M8P=2~q0{o|J;2+G*?4YM*2#iLXVrn<_llElz+{JTwc?k0pwkVv|@dO8}E85Gs9L)Ki&E$sf+n-oEP thJ1^nd-4j=Z{E>vi~ zobkfy*tjSVIxCSMDl_-5GGleb-|vJ*%86Ftgp*YCH-j?*T@q^j*rZk&J5gcAMHyjr zh)_D!M%x~twLkpv9os~kdG}yKDD>liJ*;7)3J(=ReW(qOvS`Z5wVH-ZXb$6gJj#q`)1IgsFC^{&jB-s_@ zpe#2rLPcU#n4WNsNaT-r|G0kV##L7SaF)fc9SR;Wvi7Xmy!(#1xk!|hveAH zo$bypWdS)9{TF)dv6lip^-vf{iuRtrC%qQ^-t2NoIh3UYIpx6B&g|^_@xAxG_f}v2 z@AH2X(MR-~SvnzTG1SARO?2GVD$7&de58iTg^!!}Q#&-FPPY;rY-^XfS(*`afgd*` z75AE(yN`5`2@;8*x7QC7vtc)rk*J%3PTexG$vzTva$)hIpqbk?)HOOuXXa^^=4R=v zpf`^rsz&p4<}|^ed3u3P2|B-SV!e?Mc6GX~b|Wq5;<^n~^iZXS*X8C+);CVj)kEza z*;=^`qtC`_pgSrEv~xBUbg7-knHlJ{cxaq~@Z~tRnaYffA^Y;7vRS6-n!ulAFk){n zz*uTr0~ncp0zCh^-PbZH(U&I9blO#cmiHcPZOc%1;ipt`pfeS!jBnUyX;V2eur31| zX9_^aJ)C6YW!LB^oIE6LS7!T(mM%+it}gfbCg@8<9IoNCli2|?21%p`c;; zk1g2p2;Ag+JlBm>uQOCpt~*X67z@V>rb9Ge@UP+TQsZ3?=O5YFl2u2=v+&6k)*~wL z1BOTsN6vXwMp6Zi+p5ufvIxACL9_SK|UitainoIy?(BHmkJ=@samdD1>t499` zK@V=4b?%xLn5BCLOd8}a8w)d8QHIcE^C;qzT@|_gf+yhdtA!&YM}ak=u>)V}In3rj+pdUT7Ee?Kg^4CG;5^Egm*gGqt0Buvtn=ed z;f|B{+nW#9R$A>20PVC}%PTu|xw^i5$FEm6A8f4D<^ARMR;$x$w>R5$xxI70)w#E} zb#Hn5_FWI;oz_OHy}S-+U7Nqitb?;`Ibc&>uo8 z72xM>{Up%7WT53`0p9C18ZtG#e)h4TGee#Rr`BMSprG&x=_J zeN6dLn45K$s@P#T#KcrTm_OfH6Md${PWI2Sb{=j0_|T9N#=9Itw?AoOwyu~kFwwd^ zNg|_Beg-xL(}N&S{Yb_$`{daGEZ#*yFVEwdckkKhqMR^6ycvM^j-Y>SPm*ZjGh=yY z{FN~pb;kCmqxqX_T^YkOpWvft6r8QP{RkYiKm!G! zg7>2sJI2#6yr^y2JPq`!;ZMDnzV_AD;PIZ`zz5<sKE+dh zcHzoXs$Kbl=69abxqs66e_-zf{Q%c<{{1!ET|8&k>!S&{3;&yjAJA zgHvzgclmcT^T|lt0&82WmRERrwOZDB`HO1V;AQg&)83h4+NG(cEmfvXxc@HexPF9= z_onE$I#tK}({y~mIzIdsI+mvDxG_z~P1bSC>o|`v{fdEi_~*&=cusTZ)>LI5PgC{@ zD_cIop--oPc6+Lhl}g9rIA=~&Y0zSAtJU%jFYkU$`BkJOr==KkqR7+VPUsY6o(fvS J(G&FR{{uISZ5RLm diff --git a/lib/bin/test/dev/openfeature/javasdk/Specification.class b/lib/bin/test/dev/openfeature/javasdk/Specification.class deleted file mode 100644 index 25e70d348f72524e7e4d6ffb9c3e036f9b8a6d07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 357 zcma)2yKcfj5S(=YCy)n1G^wH#iAa$Mi%xuL-F8aoc>eT+ev*gM@XTgR z7@g3+HdBQAWpLi^d1Wh`X54aAgvX=JM|Ui_kiWE`g{WKWEXeZ7{H&*|=`(?FA=VYe cB9S1*B^oKNnurMfgCF2p;y`dWVz&l&e`qUZD*ylh diff --git a/lib/bin/test/dev/openfeature/javasdk/Specifications.class b/lib/bin/test/dev/openfeature/javasdk/Specifications.class deleted file mode 100644 index 9ce6b0e00dbe51a6c82400ef231c112ed9a6f067..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 233 zcmX^0Z`VEs1_nC@ZgvJHMh3N%)H412g4DdU)Wnj~qE!8?#InTVlx+Rrg4E>9w9Mqh zlFauHgLAqU2P!%p9OjVN}=Xfvi+xWME`q24YsAcNl@rV`tz1u^2dk IBohM{03E+WB>(^b