PK]IO'!QUnleashClient/__init__.pyYmo6_zq];pn9 nsNaw!eDd@>893$L*TbI$mMǸHZ2u8״f*p%uohM.Ԁ! ~ekGo"[vYߖȵ#Kn6;\;+}c Ƕ&Xl/jJZ:jN6TC^uG8e%-rŭp6m yE9 7 ՓOC`H 醒AyմG&d^ \=WY/Wk]!@U3}Q*}E&yY oj@5r˛E&p\4Y/i=˕)Ilj9m~y 7ZrL&/PÆJ܂Y/NKSpL a6_jMS׌k^*4 9m uz]+'Ukt9&(HNˁ7G<5|䖵)fN*06wq$>Al=xD÷ bk Kf7E(S ɚ|Kp Y@9@6?ӲNI~>.!W//)d|K,6F9GDbIȪ9M%Hͦ&H ?5ճ0ǍqwUATö,f;uxvP/ 5[="4\_7qD2M 9kd]?Z.-[QkK f-X,9;R:F[E8^JK3fK%Fq n-u;u`J\q Ũ|::Cud?-(puC0YHE@8[ bdQyl082k /[ F0tOkhK4[m$S tڊnzҨ-!@Bߌ!h7{y֥`piB?+9"M;{_i8F'J3AP1 %F7Q&%{&;f 9$Iu\SJe#«sY|o5'KcC4bRMa5bV X,B -š H*ΑzD}}zhAL_b62WkW$$/!ϋ*}QBWrwRZc2zIX50 =Eoξ;H8\5!𙉹oT[ZBޫ'xɛ$7w fpF8<צO]l7|C|#qX!N0%}!Sx|l^Xl̪2q ,vkGڡ(a'J&*n9Ӱde; Xeqܨ)9YE9 OQEҮ!ɉ;*VN-zH==볨E=mW-3WW:c~@F8؅H{~2Gpe!nxAkbAwHl{Kv A #@ EOE=XbGIjv΀zXuپ%s d 5}ꉐL!;X4G=j, \ЎMLaK\2ƚk{J =PnP3vѾ=B.>,K=n+@Z m Twp?@9!|xU9Gb̾&EDqŠWL?mXF5vŶ0#&CW?FHi=FQ.9@XsZ-hl:1AvwYߩ:?a$LFșBWse"3N`yڀye8k!j "Wi>Z FQ,2×-jf~+Xضɺ~xPM}+ZӤ#R ;1|Ǫ4ִTTL)xdpiqÈ:3h|=VHRk{+(kb+%2 d.fHfiY{4C3hb|g"]BN@zx*6k[3[{IC6ع4[)ivA%i'A1E`qaֆ\7&rȀ6*w)㫳O=wlN>W'N?3V"DIamFO%ž]࿌%Sls$Wn5gݍ#VR!`wc;GM;m&6 eME5cnO@w2A9 .G 3=rV(QH/PK]IOcUnleashClient/utils.pymNK@) EHwNhJ?Tcdk0$9N _LaxҀl=GJퟻv(_\hM@K,vV&YB!7+Pq: 7<7F9qcvonI= Q hۍKr/XPKjN\0'JrUnleashClient/api/__init__.py= 0 CL )b y[ݿP~rPQqqD~OgVPVNՆH |˽4Rt+]`\ZzPKB'O0(WUnleashClient/api/features.pyTMo@+&zDr$+%Im8 x5KwQ7N]_̲of޼7ܔU%dFo * V ]XY-xU1 'phhy,CERq/P*YYh^KrR G3TIB;8Oe\ ɦc@&%(R4I.Ir-. s]_"/h2%r>VF(h^xNЄM6y`[% ZU FC MpO綐ZlR*_"BcukY B)׊ ]@c59Ȭ\s[cFpWlܛ5|9f/#\To 72׽X,ƦƜU<"^"#އyӣ;0iq}0[]̞{&ǁ*-wm%w+K_0LJO`<uE_>e@0ֿf7{6?ٰ`Fnz'> 0=cGFH6t@zZ?-eg0-OۻPKB'Oqa4)UUnleashClient/api/metrics.pyT]o@|Wl*.AQ\Jib).MLJ[JyYdYdlg֔ =(hb/x!~Z',?=wk\'*]/ϱ,Ձ6^z#%_ +r,PileFڪm۫?R1 (M>{0Stbt1\~1*j3M*6nZabjMu!QQ+CІ.IkWW-‹T 6lwQ%(]TUEl-07:K\bF3K{%\[AΡtމNe.n%vJ]rvH݋Z"1w|b {Ӧj˶8ucb*, q^t<'gw|Ŵ0ˊF7ig2drf~DzDS_p?5qb| 6%V;NUzSJ& &F9-k/}-aֺAOI<ݩky{ zPKB'O6"=UnleashClient/api/register.pyUn@}+&TKPG$WXͭKU ݥnj;\6rʃ ;gfwΙi.JdF,E ӨykKmCWdh4 TZ~YLvB)20_gWo~q{cn|wwWOқD],}o<,v+4On/.ao Nx]bO Ξ`) 1F1J *Ф JKۀy@xvRԒ*áhOz" "L%<D1*):!ɻ-8OB$nhf?ӜԢ j`ZPJǨn1TT\$0: GT1](EˆZ%JvHxBYZk`YX0r5'ӱ$0RHX xwNX TM͙֜d)Ut/h79bjFu!3,LV@%q/tD"W@ڧr l2"t;^*lZDۧQG"tb!S';w[pVZ ێ6'I;hÕhԚhWnT#g˦yrlkq>[ee!Z5*̴F.Dwrw|tfDE؞haNbt:r#^Wj) =;]MȨZCN=ja6kd0sOA{Ō'4LkY\v1.^З&Mщ9 V胊zs0PK]IO$O'UnleashClient/constraints/Constraint.pyTMk0WzY@[Cl).{(Ũ%!KWN:Ċg޼7o$FUW dv%%5qaWZcY %-%U` Y%,[X >%+xN)%|;%1?6h6*JF j%|m kۢ=P|{ ĕ!Kc?v y'T%. K;@lnh{z_(Ȕ34S51[#ճ=8ީx`”h5|2.)r2Rt*h~G׋"jT ?!>v'Э^44ʟ Sɯ˩Ӥw:7^;56S@LJ-0!Z*VB}bDgrXUDӦ)fyPO{Uΐ(N,!"-,zS5}W/G^Tdr`Yxgh@xQ)`H2dSVs~SI+W/PK]IO>#UnleashClient/strategies/Default.pym;0D{b*  |8k-{#f<){ F驴NCYneS R szr0)TbA-.1P](TU+ɘ$@tL}ο{a϶PK]IOs$3UnleashClient/strategies/FlexibleRolloutStrategy.pyTn0+A ըC0qeHKqe;{(/͙ٙ!e]*W» ~Yц)?A5ZhѿQK!r#~1FdytEa1X>߃Ƿch@Y] wu"&Y"ـaJY_3jV#[BJGj9!Bݛ&ST&&MϺ>DhgAOѠ풉$ؕwM Z"nU[㹂w2qtm!ecB4pQCy ^Hq+&o _pvAyޥٓ8 Y/3 ~o-(8Jzxv,50 A(؈e7yR ԾlOPK]IOm0UnleashClient/strategies/GradualRolloutRandom.pymn0 Ew})RY&Kn\t*:6 hv^Cν<Χ( aތ=|&?/(hUPirm=B׿1g^qn]5Pf0%>2>_mapb N#oe#%4n ~57 ljAtU zRi[c K59)UnleashClient/strategies/RemoteAddress.pyUK0W *empK!RKlC%'" J~{v:XEa(Y}J"_@2r; {%^@TqT Io7( uU3n$)pR"7V DŽrO 1-a C0&j ;m!<-bIlW镯݆#v޳Y' 8{+2n "n̈́Gmq ')a?  GiA/w='V۴klv7vrJ؞ffUGn˞2 ,W{-t/CINNV8کK9))lrfP7gN+,Ak!cL' ైrxȁ p* ө*[~_ox:jt ;OX3_lӽ+tx;prmrB{VI}HSvk`>Uk>"byP3۫?$A阉狾a&S;'x?CPK]IOd6w7 $UnleashClient/strategies/Strategy.pyVmk0_q&vA6tclebTkS$Ofc}'/r~ԑNw={Pm nحE MR&&ju;%+3YjoR 3(m+if@c~-M&\0c+ڞNt_Rih䵱фM:?HXDAgЀ)U- PRlA"` j 8^Bqm[P(5ZְDfkޛi<[{lRi+ gG5(~yDoF {wĎཁOJ6yxsym˷{N}! M-a?ZoRowγ=fifcN⇹W9l _E!nCW@1i$Esh"fzǗ"Z`}G:x7fIݜ jׁxo;9{#u/0u#I`3*lNUsGmӱc^[#KUNna?Pk̙+UmGYaHҵԭRb&/ t:37[[ud@w^kbo*.[eƒ{J=$n/]0s?]Jo"ag{|tԎ仒+arx aba-ʧe%|bHieG$5׎Tf<{z|G| WnFbWTq&}EFnnw f0wr&o "*eɻo&X툦d&a.Q(چ.猑E^>>9x\W)ꉀJ8z}{ SkP PK]IO&UnleashClient/strategies/UserWithId.pymn0~/$ KJ\zhz@d:5(}Vη3u ΒerM_cy7DŽ_)UZ#Pt\U٭/WQ M џY;vL9^^aY8ؿH6m}D v7`i(Q>uU%z[H|o4!.QLX;{흮A'i`AC͞"| cow6]XjGҽ]$OL10٫i?_PK]IO|n+$UnleashClient/strategies/__init__.pyuM! Fs N&1lU:N2^TpZfr~(Ν}-ZH*-c~4/I# H3OKŚڀ)9/nii, KGrW|Ix*ҎpvշpPKjNtests/__init__.pyPKjN%tests/specification_tests/__init__.pyPKjN.ĸ4tests/specification_tests/test_01_simple_examples.pyWmk0_!ySN=}bsYV]tU;6fT WnBcasFF:fXs:Ҳ6fScH؈b~PKjN^Z%W:tests/specification_tests/test_02_user_with_id_strategy.pyVmo0_qT4}*!AZ}%<'@(0Jm@^?6Q My`l]Fb6'I5%LƑLZ$õFșP딄+>zPT(98;mzV#tVu,ÑNxgs.ƾ~u_/<˲.ڍOnj@-r#AN፭FUYV"蘡eN%l-`XeN'MPp䨢bؐ7\2,ըp5 +uV-&oܷX73ffa}M.Ρ.MoH`Bb}6if]ݓຮ ''hl>>#"gt%4#oR=5e)T$ir(ue͇Ʊ͈d++n|yfRW`)Y8x UM0q,F+~20S[[)ʫQb07 rKD A$V;U2~]GD2Ȃ2]=[s2.mnJe=v]{a<'h +Wovg&Zf^8KÔI@OU6Q=ڲsZ1 r,pDVG@ }~t7^C}w;4Cf#=63v} 7=M"LT2Xx`їp 6`K6 #Y`K?a >wx~X~@n,+lWPKjN=E|&&Etests/specification_tests/test_03_gradual_rollout_user_id_strategy.pyW]o0}ϯ2U  J4F[4Mɵ*l'@vp K?9u2.ELzPwǸ=M8t#hlM$9YzXL8)~SrjJ202JLfTSE/_Y+LP/o,l3B!Ӭc j#?ky WIH\W(|Å fA䆰q) ~ǤjMS&zr(> !iQ>{99%H# ߜ8 | 3 { #*@fSZ\b*TDžap;Q}4u G@X:H qG1Mpe߃o+۶g %3jFM T ?l Z/Mݴk0H>wE@Ʉ 0f h' {([H/s@&|rI# ɀ¤"Ey`eD UrX;( UĄR ܀d9Nm,~,u[٘Vi}ՖnCy2w/sBוbז(8Xo)$uVYz44XהD1~ҍT-dJAhXR=3UEU%ȄxJ5`:_oNyaC! p䝦'pYVM)F$z*"aSUjF! ~Tx00ef!RuIU.{&U2wdc$G `(uI?!R+虅BfQTYn$H5Tτ[wkC]yH#^ժZ^_gIE`ԌH 4P `ic6f!^YQE:@wDs(술B(;8J$*_ Gp ~StZ#t:ِwO 5e9beCtH!FWi$D-Pul o}|M0zmePK NE` Dtests/specification_tests/test_05_gradual_rollout_random_strategy.pyU[k0~ &-K!4qK>aTKN5--dDZV7e>4.GG;wȪ`\H9)Xk8^ Cq7T6b]jRlOFM͓\D|ZM|b3+}pD$D,B3'2y՞\_'󼋫ޣ ,3 (wc`~~WX/f8"夐?-H\R 2p@Jp,$/{s%HA3J1[^]ޝ7;:pihzwS6?`S{gD8y=xף^;}Ha١48! AEDtì+wLQn1@N[ 3H[dcϥm2=BJQKRjA؞tW8(NFZH V:"VS4>(Ozć)57Yru2T{MMEOS^c̱nNsи`7/FGi l7?n@E*1>:jOng' "p>Zìr0=&)y3fPl_"r4{YgVo;z2jwZ9D M;R;m)X=L TT*~gދ-PPKjNh7-N<tests/specification_tests/test_06_remote_address_strategy.pyVn0}WXBu4҉m-TEnb`GS];!XJlp}||n$B4Co٬)"լ'L8D:#'vL S(y! (̔8[Ë?.?k;uC{NGz1UHO)PV|qκA5ν{CǨ^*U// 4{ 2ኴrkPDeUL"x4<5j>dQ0AR Șڹ( B Iz;O-N48yT*GH|nx4 544ʝ-^Og̸ 82EN:Lҙ:9ΗNW^8IJsfOE$Qs?K<ؓhϘo*ժ$R^ _ ~ 2 7p 즡QnDA8*6nN&Y0*$y i^؞daCe! 혁RQTzfH~ZCJeqШ> /`͋9dj qrVYfPWӆȭ DK'>iv,ePX!M芼-_]\[e@q 5f f$, %,-'M,dr*fisR_N;V;4X1Hx 7FpڢlԏYw粴@k證3\G\rk%z PKjN,͏' r8tests/specification_tests/test_07_multiple_strategies.pyV]O0}ϯ2!Z R(nch-R;Fg;P*EcڇvO1KP9l|!uc3*p%0aF0WyBJQ88'8&(:qt:OXJ, I2" :KË,r<p]׹spo0Qt,..sܓ7/2IƒCg:;C)',1݈« #0e2($zlq? QjnEB;+Y̲2yk"sUTTm Tvٴp+S@x U=֭Z_u>ި΅<8'Lm3B zݭ"3o[28JVsw7RӓԈzdfڣJi-< .[>y o4HqBP_&}gӏ~@-ЃWS -U1 `*ɍ)Yrג}Fˬ YR cnx'&ҤҊn, '

጖߱LfPK]IO09tests/specification_tests/test_09_strategy_constraints.py]8+TUAFWHHE#ZÌCdb"+$$L72Ik CXz$,j[{"H\t~֒{`0Y|ܾ7lr|1%Ca3%ژlj3GTiċV@GIE0d`0+ZoN!ԅ:݁4Nôz w('-t@gYa)$-5p5}^Kt]jd3 o'΃h\2tp iVrII{ߧ)@xB }[V+0G >Mܺ/zBp4XHnSZćzСX&-vgJfByk f_,A߿ xւ:B g\,+$'-&1t5^:JeBb4g?1qpKip>􏯮܋s0˓o"40NGQLIwd~4S]0IG+ͦ⫴#R8}8%/v^W&`tKh RPJ CM1Wmi  Ox֚Oh@E@z滫!YєO鬁 q"VU_h-\HYk97/qR7 %* va#9NiWm1qBX}zoD98d(i݃]bȆE\%Ifp Te)~cM%'U_ }eN Wh-slS5o0:(Kwq1si+l^yhiB̺zLji5rithSjIA(m=X>X^ &[|G2;b9O8ݑ?PKjNtests/unit_tests/__init__.pyPK]IOHNs%tests/unit_tests/test_client.pyYmOF_r?$Q/NRE@UQ2lpO;w;N-X<3;;I".|/"I̞8 ": йLj-F'QJSy@ mIn(jCI@g`V'ssx<l|b tfdzdGa}0/[ub*?Z㟎 R0SknMέ ` ʟOV+߹Me ON'?#c+fY8f5`͑qcfS#xt:@wG@X^v?]bwTP߃a>1*dB.N]>(lРG D=8HťFvN, 0Vy\H4B3# ׾ 4MJCtJ[ l,NN{,tC&BkLє-D_mV|]&H5+"!?&/UQ `'OOToUk|A!Ӓ> S06I : ]KԱ%,qϣQ*&#J[<p?ⵖ # hCNJZ-",fOX*lj\3'&:@'7+e H9 _(3[WlMZR;k:^rkklیk3z҆lc5;-H>hh܂8SW-LVu>gu7oa%sp%E .tCJ@5:gt5Z&;Xǔz *M`Qz *?#4]'rUmoE$ b(s^tvjBzlu}4@2jKj<@ /Y7`A2 dȰ=ܢ`ǧTӾ2QRDu zEiOp˄x9P&3)#pTn ۻ!O J,o} q%ME7ZExgZ|SǦzω_(䆌p],C^"U.mH.UmPCKyj<{*8zvE,kU>cf/v4ċ?uk_i56vZ JΊxLG|aYVȱR0:0|]&g.1Aq"7L1)̥8 >gJ/:MgbDžL,‹q#inl%SA[OIĽ86s2Mu 5p)sIܶmW0:CgU^=֤)hyJMsc dI=;U[ӭr N+6/:Xfgrx\P9GorD.\u3mYe! SeTv-ZRX?q"J{(8j2 :Y-x:U~> u1#Gjkk{اcF`C>JY=jѨo۵Nf ʲMxZ4SCovWB8VwذDk~6FfF`~r)`Eu ;x4 jf!BT;Nc@.x(5;J;3Lͦbr'466I8㾱4x}ylHRrtUwàs^a ̄lXI.|e=jn/+\TbGaF66};5J3߶ PKjNq=!tests/unit_tests/test_features.py]K0+BRaBT((PcDahŠ쿛~tLS{Ӧ}s>Ri$j'7o,CDnֻ5GXO "Il3 O(iW= +Pd] PU!"39ҳj-"+iKTM8<^^D7j@.&W/zУa`w7,X*VUPx ueA3i/+]rs@&|:S}TO`Vw+dIeD0pT96q4yٽi^e7ӟY|ʎ'lF~@"&_3Hh7/%;B" C210FC*1E3,F}i3FLT~\=lRNߒs+|Zܘ-Om FqjKJ?nG`|PK]IOTptests/unit_tests/test_loader.pyT]k0}ދ &P(l[IAhu#*K$e}gm{,{<˕$VKZ `fw)8H;% PMB7o{ށ4K &JUص}Dd. $Hu2D+i,0]/cͨ\pGZ˷tXnئ򞞸bEVjvLno] $+Lҭ}д"qa,DgtodJ^!!8 "aB 6%pWS?иS5TaDVH&5XC z M^8gV=`jTIԀ̐!Zy- 5vhs`>@Bsѧ8ϕ#9C܎Ќ㖨r:=RL_F ¤duHȦ˅MGؑ8An39F;^!iʸ@wA?c+öF`G~PKjN tests/unit_tests/api/__init__.pyPKB'Or- $tests/unit_tests/api/test_feature.pyRj0}W ~0I/CFiTPٍ%^W٘z<̙9gFUYQWeQS]P0 1J"G7F*i$j?/ӧO(Lc~߳0NYt"Ʋ86bDa&両|n.݊U-;vx׶R_() R 㿢 *9BhFܔ糲rl6FKA2{L/R#ArۚwޢOtEmW .{:,WWȿfjpqֲ, M֎Ggܿ~S@TfOB*Ey$S7T&w*ey7]7Y>¥.IhXےtiކηmw°׃B5ڭTX KR&<v-PKB'O.=$tests/unit_tests/api/test_metrics.pyQo0)NBJLSڂF)iАV-t{[(tLvGU>ɗryYW_m~7w[~تaW-Z#rIVަy;Y^R dg*8J28MYǧLB>U5 ޝ 93gfx^aбPN ًM@!$!9| ~%%<=?S^\So^a$0}]1ADXBHeO0;EsÜMB~.ߎhv7|_wTs.8ar93i—nΟ1L8'н5*3\ 35D$~4/DPKB'O8v%tests/unit_tests/api/test_register.pySQo0~8eR)RQB2D`&ry#l35gHHSD :}R*5jUAm@;~QCZuVeU(U(- ǴXQfՍ(_9q<#ZPRTޚ䛒rGRAxZ!K-\3TK@5ۄ%gsW J+<皃r+&Ъ[-'-t6 gQ<>8d~ F2"3Q0DL=sBoxA NFQL`8C0{(LyB5S/˲2e" ؁.x0t&CJsvR(M@9̵aɄ"~5Jߨ/u_,)l?g_/;MGC Z!]*߻**$PhZ+ j*JlJK7U'0!g Zf}W3U=+N 忚Bv @=ZLE NӾNuB#=ֻx{^C)'=uHG wlQa:NdJ>DO sexKVi%Kuv'kL^@l֦Y27 ՜^?ŜPKB'O0tests/unit_tests/periodic/test_fetch_and_load.pyU0OPQTT(1iԄDUUY`T]k!lBPSa<3rQ((TI!2yJRFEzE$"'wnWӂEXV%TE{LxSAbPʢ6TrT*2Ũe"zhn}ƿb-x|ԿK5g5{n笑 Korn,BvKdN -h-%4Qh#)YnGr0 7\޴HVRkw cD 1Mjvgu?L&@ Q4njfx:0zq@ =] >*xl[+-ג5]GQ^YԀKz $#=g{~wn0Rf)N&>'5 TpSr>^ﲈR]vd5-:,OX2v}e0PKjNE5Atests/utilities/__init__.pyK+UKI,IOOK-J,/R-/*Q '畤V DRs3ss2KPKjNc!tests/utilities/data_generator.py}Qj0+]"Ы!FcW`ZJ.D!mudJcLHAbԉ >$w^,#WBV[!:R C N hE7klL@0рAJяaVES2N#Y5pH05O. NY49rʤjuv=P6'nrz 7;)PKPNtests/utilities/decorators.pyRj0+t qS!PcPJF^QI6 꿯eIqCO TfV3#Iw~DHd9' \TFTFAmO`X 3:*O ^Y ,s(D Ncq/]h%UQ(L !A3k; iR1:2+(e;=˨˻2'`G Y2Ma (@wխS֢ؗ:1Րnp;/rX~PK]IOpH$tests/utilities/testing_constants.pySQ0~h+A`niEAS.K^ڤi2s_ ^IևR}wv>M))gRT(gTBvlj`4mbuȑpFwʆ eK89[IUGPXF9h#0yd`ΘkEòZe9 `D+*ۺڱz]awh5'EJcJn+80"?[9F٢pu,KT\EKo0FQ8UzM7YJ gūehJNPtMJJ*|&GOC۝`NgӀ ^J7SA&x%/)cDfQN;+H$Rb$_ߝ8'۽yg$}h<1z l^4 `f]PHuidjdGn y痽A5jUm$nSb*XhN٣Bpnȿ<3xiik8p 39#A\:B[tm&tV:8܆7PK]IOgM8*tests/utilities/mocks/mock_all_features.pymo0SxyM Iv֦UjҶr1Y*}6!-A".>}^\ܟMK| m$$CxZ1pǁ`.f} Va~7K`+ g,ᇀbƒ͜ 7EJ^^e3a"\!/.!ƞČCC;׌upppڰ0i=^ݽ0S.W 2<6hNƓJ3SӀrA-WnŅ a$83n \ W=vՀń9$ؓka/ϔ>Q }?7$~*NDdXwf_Jyc4g{oc\6!lvć^NG&X$L]WiI+ ( 5IzvKjT 5KTh"}0m#>Ҥ54,HSuȂL7?(7CONtOm% $$>0{#8M>Z6;TՊ;w:!|Rpy#em>BW8i)C#rLոbN^C:V>Q(*_&bNRRg%ȫM-VwWꯕhdX~7j2d{<2jr{d4zE|̫.Lu?4x9hf>l9Hk1b6^SZfel@b=PK]IO 1}-tests/utilities/mocks/mock_custom_strategy.pyTk0~(y(Y(e0;d"ў]M$I_Ru=,rwG}f ~w<n;uaW, -AHr-l{D%ve|^N7츸[5i=Km$+]!,˹tG6%+D ϹUs\сi i aFeuO<; bHՓ~:c_<)RvE\)m7mԢK2VNm4&3b>UPKPNec1L&tests/utilities/mocks/mock_features.py_k0YU R_ˆHv6Vw_j`uL\C9lr9 Q8=CrG6-]R+]WRXTk p}`qlb i.-q'Ձ& M#d!贰#R^ؘV8lʢ!-1*c&uPEVFx04e \ZZPK]IOzC) &tests/utilities/old_code/StrategyV2.pymTۊ0}W &%v>R(ޠ/=WӤޑu.3gyQ[;oPᡲ@g4B+2>kf{NE~4L=je Jpi]ّe%UiQw4)4:7Ԕ_fd'3(:X'NȳG0D%x~VfS֛l<6FAZ |Mz"yMkyB$|sC$^RR奤#]-բņ{ 1zPʼnCˇU?O:N]{߿~ŌPXlv:dwpm~LB`W8) q`E'c4L;0!ηw p{ X"5CF[ ..a!N%<wt7C g G߹=}t .)tw@y)'vdp{n!'Zh(P$.$41Ǖ͊lB{? BZ?vIevY}DW tUoЛa- uq8ɇwffc>C#z@y {F\k *VmᗨZQօXUVsQ=#*^Q Z ިo*[=Bm,s)0"[LAVl8H[jP5fŊFA&O+ +Yǂ_0TV0Q=%E%4vu1eZȊbd )T O)BJiBDIW+ >]Gn;!" 5PK=6JOD33&UnleashClient-3.1.0.dist-info/METADATAWmo6_qu?,*)M0Yƒ4hC0DK\(Q3E9͌6^u-˙e'P9kə)്d7tUt;֖KLi%uaƙuUE!9X^=ޫ +JimcFiZ[i* ʩq7RtG0N9 1#|+9]A+׆b:B2V+ǒ#f# s" rYLD/kprt90}k%p9j|6_Bu.&C FT'kz'kNɴh(sm}.FlQښQ39i!}Ͻ !ߋvstu:`f)h`\IOZ ݺFaJ; r9> ؒ8I1V)[l6GOp s܂gG N/Zd^#:br xfQk',5 uýuFYetj:L46Nmް얈 |uCpTEї/_F4غAޒk<V0) Lcif݀ s3LOɵui`Yۏ0 %wOa.xr Jgظȿ 9b^9w _|wqOaohӵߏt|o[%9rZ-6\]^NI}-DPK=6JO&\\#UnleashClient-3.1.0.dist-info/WHEEL HM K-*ϳR03rOK-J,/RHJ,./Q0363 /, (-JLR()*M ILR(4KM̫PK<6JOGa2k+UnleashClient-3.1.0.dist-info/top_level.txt IM,pL+*I-.)PK=6JO܌ $UnleashClient-3.1.0.dist-info/RECORDXIں"77E:',UNLrpߝ+׊kbGhe̢zu:\SO( ]L𳜈Fp2KfLzڐe4u?x?ARuP\=F\ +=-cV!yg)V.>O~;rZyn\xGDМV']g wz?ik"`ޜA4SD#$g/#c(s LKnA7&j}H߮?6o[E06n۪aU>[BZ9|b4 q\J*Qda[Sdugp.Kȇ$+t_m}x.l~4yLpQKKJ v-f&u3~^$>ugDVsk'@]c>a* Ꝁ`Ca$۪LWSnACD>xä h5WAR_~]lOfr"~L"G6 \ "1Wa_Ik/`0Yv>{$hv#dHE/?_ɢ 5DqτXDMrm-^ hE9?s->(fGY9ptJ ]=7l#V@QW;GPe ##+"c"67&!5wxm&Aj*`GF#2&9+*^B/Ow"*5ڢYHyQx;i0_~$bL3ea@p(H Xty>w5`5de6|6s X)il͡֌L Q37'<7h{C?pRKK2"sFn\b6$Ջg(h~`>W\DK`A 4./AN-X%#?+,N6\ RXV:~-UzvD ޵V;wYNbF8% ,!a ,ke֒ewXn?/iH7vͣݞ:-b?m'/ͼOݶP%FaJRH Z% >?VB  du# [Nѹ: N!4tc.ĤmpNZ < ,5̫ny4K/xoHgnO0_DZv^0BK>.WKЛk@{>|cjֹDNiDx <4W{LDLD/|aI-9Oi W6Scuaи_ PK]IO'!QUnleashClient/__init__.pyPK&6JOS<,UnleashClient/constants.pyPK]IO%y% UnleashClient/deprecation_warnings.pyPK]IO"uB T UnleashClient/loader.pyPK]IOc+UnleashClient/utils.pyPKjN\0'JrUnleashClient/api/__init__.pyPKB'O0(WUnleashClient/api/features.pyPKB'Oqa4)U1UnleashClient/api/metrics.pyPKB'O6"=UnleashClient/api/register.pyPK]IO$O'UnleashClient/constraints/Constraint.pyPK]IO0#%<UnleashClient/constraints/__init__.pyPK]IO_!UnleashClient/features/Feature.pyPK]IO"0"yUnleashClient/features/__init__.pyPKjNh֟Gi(UnleashClient/periodic_tasks/__init__.pyPKB'ODaS._UnleashClient/periodic_tasks/fetch_and_load.pyPKB'O_|n, UnleashClient/periodic_tasks/send_metrics.pyPK]IO\/#UnleashClient/strategies/ApplicationHostname.pyPK]IO>#h$UnleashClient/strategies/Default.pyPK]IOs$3;%UnleashClient/strategies/FlexibleRolloutStrategy.pyPK]IOm0U'UnleashClient/strategies/GradualRolloutRandom.pyPK]IO  3v(UnleashClient/strategies/GradualRolloutSessionId.pyPK]IOIժ 0)UnleashClient/strategies/GradualRolloutUserId.pyPK]IO>59)*+UnleashClient/strategies/RemoteAddress.pyPK]IOd6w7 $-UnleashClient/strategies/Strategy.pyPK]IO&c1UnleashClient/strategies/UserWithId.pyPK]IO|n+$2UnleashClient/strategies/__init__.pyPKjN3tests/__init__.pyPKjN%3tests/specification_tests/__init__.pyPKjN.ĸ44tests/specification_tests/test_01_simple_examples.pyPKjN^Z%W:M7tests/specification_tests/test_02_user_with_id_strategy.pyPKjN=E|&&E:tests/specification_tests/test_03_gradual_rollout_user_id_strategy.pyPKjNu-HS>tests/specification_tests/test_04_gradual_rollout_session_id_strategy.pyPK NE` DAtests/specification_tests/test_05_gradual_rollout_random_strategy.pyPKjNh7-N<Etests/specification_tests/test_06_remote_address_strategy.pyPKjN,͏' r8Htests/specification_tests/test_07_multiple_strategies.pyPK]IO09Ktests/specification_tests/test_09_strategy_constraints.pyPK]IO\5 Qtests/specification_tests/test_10_flexible_rollout.pyPKjNTtests/unit_tests/__init__.pyPK]IOHNs% Utests/unit_tests/test_client.pyPK]IOshBm$[tests/unit_tests/test_constraints.pyPK]IO(]tests/unit_tests/test_custom_strategy.pyPKjNq=!`tests/unit_tests/test_features.pyPK]IOTpubtests/unit_tests/test_loader.pyPKjN "etests/unit_tests/api/__init__.pyPKB'Or- $betests/unit_tests/api/test_feature.pyPKB'O.=$Tgtests/unit_tests/api/test_metrics.pyPKB'O8v%Hitests/unit_tests/api/test_register.pyPKjN%nktests/unit_tests/periodic/__init__.pyPKB'O+{s<ktests/unit_tests/periodic/test_aggregate_and_send_metrics.pyPKB'O0ntests/unit_tests/periodic/test_fetch_and_load.pyPKjNE5Aptests/utilities/__init__.pyPKjNc!9qtests/utilities/data_generator.pyPKPNertests/utilities/decorators.pyPK]IOpH$stests/utilities/testing_constants.pyPKjNC{!utests/utilities/mocks/__init__.pyPK]IOgM8*vtests/utilities/mocks/mock_all_features.pyPK]IO 1}-ytests/utilities/mocks/mock_custom_strategy.pyPKPNec1L&{tests/utilities/mocks/mock_features.pyPKjNOï%T}tests/utilities/mocks/mock_metrics.pyPK]IOzC) &F~tests/utilities/old_code/StrategyV2.pyPK]IO$tests/utilities/old_code/__init__.pyPK=6JObs*(UnleashClient-3.1.0.dist-info/LICENSE.mdPK=6JOD33&UnleashClient-3.1.0.dist-info/METADATAPK=6JO&\\#ډUnleashClient-3.1.0.dist-info/WHEELPK<6JOGa2k+wUnleashClient-3.1.0.dist-info/top_level.txtPK=6JO܌ $֊UnleashClient-3.1.0.dist-info/RECORDPKBB