From f3c807d5e2e33d5ec9f663731add4a529f0c801b Mon Sep 17 00:00:00 2001 From: ayyoob Date: Mon, 7 Sep 2015 11:16:19 +0530 Subject: [PATCH] few changes on apim features --- .../customsequences/fault/json_fault.xml | 41 ++ .../in/json_to_xml_in_message.xml | 3 + .../customsequences/in/log_in_message.xml | 5 + .../in/preserve_accept_header.xml | 4 + .../in/xml_to_json_in_message.xml | 3 + .../out/apply_accept_header.xml | 5 + .../out/json_to_xml_out_message.xml | 3 + .../customsequences/out/log_out_message.xml | 5 + .../out/xml_to_json_out_message.xml | 3 + modules/distribution/pom.xml | 84 ++-- modules/distribution/src/assembly/bin.xml | 12 + .../org.jaggeryjs.jaggery.core-0.10.1.jar | Bin 69536 -> 0 bytes .../src/repository/conf/api-manager.xml | 464 +++++++++--------- modules/p2-profile-gen/pom.xml | 127 ++--- pom.xml | 39 +- 15 files changed, 444 insertions(+), 354 deletions(-) create mode 100644 modules/distribution/apim-resources/customsequences/fault/json_fault.xml create mode 100644 modules/distribution/apim-resources/customsequences/in/json_to_xml_in_message.xml create mode 100644 modules/distribution/apim-resources/customsequences/in/log_in_message.xml create mode 100644 modules/distribution/apim-resources/customsequences/in/preserve_accept_header.xml create mode 100644 modules/distribution/apim-resources/customsequences/in/xml_to_json_in_message.xml create mode 100644 modules/distribution/apim-resources/customsequences/out/apply_accept_header.xml create mode 100644 modules/distribution/apim-resources/customsequences/out/json_to_xml_out_message.xml create mode 100644 modules/distribution/apim-resources/customsequences/out/log_out_message.xml create mode 100644 modules/distribution/apim-resources/customsequences/out/xml_to_json_out_message.xml delete mode 100644 modules/distribution/src/patches/patch0023/org.jaggeryjs.jaggery.core-0.10.1.jar diff --git a/modules/distribution/apim-resources/customsequences/fault/json_fault.xml b/modules/distribution/apim-resources/customsequences/fault/json_fault.xml new file mode 100644 index 00000000..392990c2 --- /dev/null +++ b/modules/distribution/apim-resources/customsequences/fault/json_fault.xml @@ -0,0 +1,41 @@ + + + + + + + + + + $1 + Status report + Runtime Error + $2 + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + \ No newline at end of file diff --git a/modules/distribution/apim-resources/customsequences/in/json_to_xml_in_message.xml b/modules/distribution/apim-resources/customsequences/in/json_to_xml_in_message.xml new file mode 100644 index 00000000..ce9bc526 --- /dev/null +++ b/modules/distribution/apim-resources/customsequences/in/json_to_xml_in_message.xml @@ -0,0 +1,3 @@ + + + diff --git a/modules/distribution/apim-resources/customsequences/in/log_in_message.xml b/modules/distribution/apim-resources/customsequences/in/log_in_message.xml new file mode 100644 index 00000000..3975edfb --- /dev/null +++ b/modules/distribution/apim-resources/customsequences/in/log_in_message.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/modules/distribution/apim-resources/customsequences/in/preserve_accept_header.xml b/modules/distribution/apim-resources/customsequences/in/preserve_accept_header.xml new file mode 100644 index 00000000..7c79d6aa --- /dev/null +++ b/modules/distribution/apim-resources/customsequences/in/preserve_accept_header.xml @@ -0,0 +1,4 @@ + + + + diff --git a/modules/distribution/apim-resources/customsequences/in/xml_to_json_in_message.xml b/modules/distribution/apim-resources/customsequences/in/xml_to_json_in_message.xml new file mode 100644 index 00000000..c37a9e84 --- /dev/null +++ b/modules/distribution/apim-resources/customsequences/in/xml_to_json_in_message.xml @@ -0,0 +1,3 @@ + + + diff --git a/modules/distribution/apim-resources/customsequences/out/apply_accept_header.xml b/modules/distribution/apim-resources/customsequences/out/apply_accept_header.xml new file mode 100644 index 00000000..dc07e24a --- /dev/null +++ b/modules/distribution/apim-resources/customsequences/out/apply_accept_header.xml @@ -0,0 +1,5 @@ + + + diff --git a/modules/distribution/apim-resources/customsequences/out/json_to_xml_out_message.xml b/modules/distribution/apim-resources/customsequences/out/json_to_xml_out_message.xml new file mode 100644 index 00000000..5c8a060f --- /dev/null +++ b/modules/distribution/apim-resources/customsequences/out/json_to_xml_out_message.xml @@ -0,0 +1,3 @@ + + + diff --git a/modules/distribution/apim-resources/customsequences/out/log_out_message.xml b/modules/distribution/apim-resources/customsequences/out/log_out_message.xml new file mode 100644 index 00000000..65498564 --- /dev/null +++ b/modules/distribution/apim-resources/customsequences/out/log_out_message.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/modules/distribution/apim-resources/customsequences/out/xml_to_json_out_message.xml b/modules/distribution/apim-resources/customsequences/out/xml_to_json_out_message.xml new file mode 100644 index 00000000..8fb99684 --- /dev/null +++ b/modules/distribution/apim-resources/customsequences/out/xml_to_json_out_message.xml @@ -0,0 +1,3 @@ + + + diff --git a/modules/distribution/pom.xml b/modules/distribution/pom.xml index 07187467..50b69080 100644 --- a/modules/distribution/pom.xml +++ b/modules/distribution/pom.xml @@ -97,46 +97,46 @@ maven-antrun-plugin - - - 2-identity-h2-table-gen - package - - - - - - - - - - - - - - - - - - - - - - - run - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -516,10 +516,6 @@ - - - - diff --git a/modules/distribution/src/assembly/bin.xml b/modules/distribution/src/assembly/bin.xml index 10b806a8..12f9692b 100644 --- a/modules/distribution/src/assembly/bin.xml +++ b/modules/distribution/src/assembly/bin.xml @@ -484,6 +484,16 @@ + + + apim-resources/customsequences + ${pom.artifactId}-${pom.version}/repository/resources/customsequences + + **/**.xml + + + + + + diff --git a/modules/distribution/src/patches/patch0023/org.jaggeryjs.jaggery.core-0.10.1.jar b/modules/distribution/src/patches/patch0023/org.jaggeryjs.jaggery.core-0.10.1.jar deleted file mode 100644 index 133dad5c1612e042b5a22ccc9a0915eeadeefe9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69536 zcmbrmV|1lmvo;#rwr$(CZQHi3j%_C$+qR8P(y?tPr=NFwpS_>+z2{qF+<)#dXU&>x zRb5qARgI+}4Ge+;00993kd<&F2JoLgC;%V;vZ5-2w32dS^s<6-l47FDDs-}9UlRZT zC21RWSd0i^*9jissP5H$fv^yf6zIGnR+S{NQt;^AN7SR9!vxa7;vxf0Bf1_o!8ZlZb70 z@_Vv1%G_$kk(jD#wPQqb0#-6kaC?39|4gQd{-FW_@nwO))D%e(pRRv}Zz)r_$Y=oJ zg{{c&OHI903kqzUoEnywttYCeR?+NMM^I6(nAFp5T)*zNh`k;=zblQ642?55_ED_lcN!0YO-d)y96KzX7U|oX60vO8`DJotJ?f4OS%4XnoJI8me zVqeXjVm$Lz0IuFLuO(f4wGTyTV5LJCElL1BMUyguE6MnECidw^t>ZxmR^=#`)?oxX>f>d z3=8}fU;uzFcmM!}{}me`|KP;GV*~J?h2Ri>AqUXE!pHx<5%oWB6cJSrl@k$_6P6TJ zp2pU7&*FIM?iD(|7+gB0F|aAiIiZzZVACxd9~qa~_A*hh(Sd;h8qLw~Ro5plyx@=n zxA&G3?AT7Mskutwh3BmOx*xfp^OZwFL!FN*j5lL}v_uj~E_gshy^koMkw<5t$ZyPl zWsK`vJ$jhV zV#gOmi18zaq)Nh0QBOfkAm^W`*r~A2@i5Pomp@} zTO@$3*cj>)1I|sAg!q1~p?_2R!tOVf`zm!5(5R0NhYk5DFY9swx9OgEp^z9G28i`ecl<$P}%N#5Y<17|Fh2Z3q0a zF%pX$?wCJbGfr5}MsRE9ZOg8IzJgIs;Tsnn)c4q0Ix#xXvX)NL=+!cG6Iu;#ZD)zt zz!IB>To}}ECT%-~+>Mk>pg$JnlfP3rhdGs>qOo&gESLH~Iqjd{sz1Z`MCAqz;HH_; zSEcK<(>K6Gk#3RWgmm+CBD!6#O?dQmNRe-7iDG7)v!4VB<`~xwolTf!^=ywR3o|@b~ z#SI6PctAyCjJMFYWP&o#m3!EXUG1E4W|94>aj}R#y>S{Oz!X%2n}k}mm$^ao*XcR% zn+S4d62=yk-5mQgWZSY=Q*Q32rqUhYy;0;?mnK^0aL37dSX+Bf&ubJN-FF+#_NJb` zU$?lqKK#6lv$>tod$;S@0exey7#LJZ>|R0dqXEcB1+HDhM+I;bSnG_ zOy`+I6563A1Jq9OlWZaLq@q>fn{&DjTsf z!WgHv)`)m?;}Q&IHGmO^-rXqFdHHOl4OP@D~Q+^!qq{8d(EXU zHNPTLh(R{E_$_xWdIvOOWR!kM3v$~9sx}&*op(dyHE@P=@B*Cppq(#ZBfQ>J3+GGp9M4=_&qk;N-!&v9eLJSA{qgv~EMP{G4;0=pNxlf^mz{kL0<@D7$bC#m zr>AL!5eU6ptcrbBSuCVR@nir>Ts_GvhN_H7Yw1i{=CGXGz8jGd*)62MlNG(4sqf?G z^#mzgCf&S&cD2J{E{+eS2_+^!w6sQ=FCS*A#mVT$uZ)cp;7dj z)+9HME6Fv`8Xg(_Xw?C3_qEh-CO!v5r>U!B;1G2>8SPj0$DO_e%<5bYIC{Wzt6LjwUSe0kxLB@AdW<`vq^TZeH?DABhbczic{)viM zS@)Pz3^%F(wl?VthXV!<4DPQzf_!U9=6KO|FRVq@FAssF2}ss4y{L+UMk|H=PZJdPg&mTh{bf7l?f+y;IDwQ7&i<g{43|ps^T3Cy4Mh{@>|dbetuzbuX_aTXmRE8*SMPjcxR(@_}K zT{{}LT=srW5w|Kpq_=X+?VX^R)o+NOn5<^u~3{_fgVRSFD59bqN!;rd>q;cv?1u*{DdDJG+VdM zjc)emPrjKsU2j{{!WO86Z0xTZi5Jm+`)g6MI>@Ifn|%!vY*vHp88bzu#x`dFcp&LH zRWp2Tr}!4VXMtAA6?&NGSS@4_G}KtCS!)C&%I(V03TcULK;;8(_u{Bqx-P3SOqWV- z_peounNb9X9ueoO>$CvyyB|-h-oQV7Wxp1=w)47O^3g#(*CDbXE)R$OHO8Nm_BO^p z*V*TR#IC!CfUrYjyQk_paTYQJ;ht@C4>vs$ga&VkhFWyM9&Ueyz%6$^nt?}Jr7Cu$ zdi|KMF#4pzPaKI+$EUXILb7xSme-co%O{D1JJ~)L0ME=$@5}J9GeKvwRAs0Z`Kg!G zu@bdCoRO5c%uJ&|`}n(^z&aB{5ZI@kEO|AFK!ZP&fA=}4#d-Ir)smuDUt%1&sFnNSst86TM7YQK*V!mm0>NbR~&iy^mDc`;1G6?SB2Wqh;Y8t%J`N zW?1CUR_y+CkuN?K#T4?wcHg~vutLN*SH5Mq##}8|Co;wd#;DWawnEDn9M#2g$Ft~c zy^ZSG7U;Y)Kbz4}#_E;jX*$=!C1!fBOn07=jSDyDMWG*uhW=>>RQL+gwO9`Kop6qE z1>>~zZaRTSnLm98RipeD3V_iI`02OS>vKq3C@wv@tpgf9$c4Cnf_Q-Niagym zN8NDyiZ2ycy4Wd-9CK2)Z5=MsrYQTKUt{2XaD8$|88<9D)0_Ht-&%qYJI-87h2Lee zPRqi;x9|ayPZxUCja8pFuITP_1(e!@V{)soz3Ohq@d7A3kI zN6sB5qp~aCDrY`T1i!gX1{t1D<^UT}AsoV^KfK&cByqct>Cf7c=hm0`)+&lLn+2IXWA*!)ob>AzKwL;|Mbk5T^qP?@U4wD0?#gq0iVEL|l>K?@i!z%a zAH*{O<&rTql}C6{28P_Gl860yzUD7EwIAUtZvL@q&#%1|zKX)CKG#R-rN@Z;HulR_6MO^p;QkvF3(vmYXa9FG_gLH5*c-Hb8=yN4|67eI=wfS(zo`u`v4iY!6wGJD$&2;I|yBJ_Fhr?$sD9>*9xvOJ)Zjm{$$r* zE_>&%=RzN{ZbePtw~yzm+dS@c5M>a|brpE?U{&c>~^SidK_y#k@HYp?yZqKD6< zy1F%WX|L1Re>Qu#JCpNO)&9AvueZDN<1VeA?wqpveDWg@BFoM!%-)X z!FCUGn$!6oE$j%45@reflbdqVnmN{#9*0MD8?NK^&fU+#op#8QxQqsLt+ zUy(EhqSV~&swX^~tFebO)M^o*a`U(S?@hHN>+PmbSVfS&woBM7Z;*!lZ{h8ej zq)|ODPmkC1mfXNchJ)aO`#WHDTyFrICMnQJf(K%*1|dqp)Z`1yyh)S(Z2K}geOe!B zIl4!B;ooy)@Eur+si>Yl9)M?vP0MhofZf`cIG{YknB;)%ha^iYb=r`W5U0y{;#&5q z)m5Q~57x41-yzyfr3(%$lA5SERhqc*!ng}^cfX>4= zi3Rmw_!UAvY9HO29=O{|6fu1^ZN5MY94b35;68BMjBP0Rt*o_P>Nm&Xn&2RT6z4g8 zl)?fE?XkY=(Uj^uC3F~h^V1w%WF)fmjD;|jX7HV%69CKuYRSQ8=Aq@@`c5tt;EwHn zQqc}OoZK7xvpg+AQe5mxFQhv_5Yv_fTn#W90o9#;)N5%1#`8#QjmaY4@eh^&&7%O< zCG#bl421^R8Gw0k3}9Q%d49?UcGj|a$a!FkclBriTx z3*v!WWG%!lnZv7fs{~|J5z}9I`@The>8$B{mUnli%X(9L8D@HDtM3q#brP)c0V@C) z=qI7EHWYDBXsfOwd?Pd3`UYqRV(Q}x7G?b;ja6 zT51hMs7~PQaIEes8bVT)315(I{Azq=)CtyyV)RTH86tvawoTX$n@%n&hnAzM zHw%knKSDezSSm&hLQXY>c?J}9YA5Go;1XL?o{)v|WG^Tb=nfxRh%dqwMDP;~XT^wu zmTf?vQi*1lUoTiff4sQzxQ+GAD&=klMEtm%FEs+6ut6C@RuB`FfRj3YFD7w0Yen2E z>$jB#emZiB4Plq&2P>>S-m8`P>9Emy`x2-b`8YPbJbJcnMkd{elY*)unSd!l5E3vm zv=@O6z!{@6*#|qbXKT`B}>mduj z5o5w(67FoW^8lLL96mGnmK4a=H}JJiAJZ~?y1|?iOdwHUP#kul^!&Xh^EIF@xFPpz ze#9YYX!#E|*H|9-r~oSfzgK@i#TeW*MnrHP#iy!x1F~!w**-p~&WRrTx-Ax5j-0BP zwL?{E?27*1A2x0rbwrTk)!2@W!56M_TC(e!+5&lV^AxyN`nfOYS4h7M7Af@+0lxwg zMAYObEVpfP|VS zEXm@>{y{Kv;tW&ql9rBLWF9X#p&AB3tAfcxmYKvn16Sd2D=8=axMZ$(XQvlhz5O%)ZIJUsJJ2aE0LQY7%LGo_xAfk_*clBjW2*yiIR zC5&-o#u;lBIIcj*;XcySalMc`daU&V?CAJh<%MzCrFe!#O2+TfNR7~m9NQc?jbk?H zDY5mrIJ%^zKe+MWozl;2?@sUi7c)IGMXk&L2Z_=<)OMc|R%@pMqW3Ogm(yZ*OJNq> zq%Uz(5tXK672vWfQS?C!u}tW0u^Bse04X&XTST-^PAP8S`Gm`fm48%D5#$E2V+~bS zH~G}MY%5^9E_GR>Z zLvX!f9EA(dfyD|J7qcx_Zi`*o|ESC7zJW}2aiT==TiknOu>w{D`>i+t*iCJ;7?|`c z>D6YebcbCZb|x91Whw7?Pm0?r=VqY=4L{I7NEeO~vam7>n7wYv(>OZCAfQWPS~@cb zb=;8eSy$;1$aT1&-!VFqKX!jI(wW||1~i^uyK2~p7nz@CWzv=5YV`2)2Rr`N@aXW? zmXT|3mtJ&M=ZDtUQI1BHADX{@O-;a+MGv6g&}q3e`FseqDjS(Briil=ro$P4EL}zv z7Lhkpy}{J`;ph7~P*smtyH0nfcFmX9=i=j84+6jLcK0V@lg>w-PjA z(JDBa-pJ)19M043=bqfAUt4FlroMCY;l==%J(|Eb9^10Zxd1!!CaT;ZD37_UJ?nxq zmjmp4=nsVt(xK_25*}L@I1WTS_P%Dfkc*jQu9k6_v#;Eg()w4?b4%vQ`sXxGA2_mM z(d*{TlQ6p3G!0MCxjZ`pUJWpx<+(a!mk>E_?B^Zn1DNT8Vq>~2CK@d;Z;Jj83-fmGn0z?~Df4ELrULNPu>= z7ANkU-Tkv0DFH9ezDKC*mBtNo2?~N1pOgTQF!K%%!sF0C)$k1Llh}Q$N%td-VdLr% z?freRv?@-q7|d7fEl+c^woG{#y4-GLc&*)f>_Naz*3w_+WO=xLL4`JNdV9$Toc$3| zt4i!ehgKw6UKdF11w*p@GiX|-BA zJn8g3y$gVX#=*Bm>&E0m)g~+$>&(d6GvfA5F0yXeNSv*`Xa$5d-&lbx{S>FtGUQu@ zBqH)jg)}f9G8o=uy3BmW1I|53wr3VuQpT%Ol@QTrk?YBoe<6>NMfVA;8SmPgj(IYWzV!9jwwd(2`>a*Qo;=S~C_PYs( z{M-4^mRbN2UN^P$2entb_Qex?ze)SIKhfzZKCDp|Ers%z!5T({u=zqN#1gn(wSJa5 z0YQO~a0h>Z*;As599^X8n)&dcXT{pxYW} zwwN%y=@8DoiW6hObdMhV zffxcrr|08^XU=2ml`T1+QB0+ngUI#MOn8xr6LUROAXOORdA8f>4X^Fp%J&mVrIb{E zU@mVD?<4#7bHGM~m} z)c)z!QgZM7>Otoo{a>hhQ`26U?VqNj9?joT^*;;#qwy#wukweivrg3i>A4^P%zgIk ziQ&pL?d*|(79-@(79R*XF+N<=1}$pib;UlbsPXKKg&G`mrJe-uIPm1$a&CiX zCxUu}XfUF?O+$^Cq#czT9j3V`L*V*a?8?B!+N9lN#%`s5?~c%N5+@*E1xfT+Y>YTsEN&dY{{68uEH|IFm+tN8W**lmzxmcPy z>rT}}1v8)s%=7Bs_Oel?X|7w#y4Mt}ebnFE+OF&Z4s{Q=oN zc4?N`tC-8964hfk|Z(mg8CMf+BGcy>aNlGrSN1=td)W{!WsQD>bQi`CAN9wt3DyZ2;Pd!f~S`cP}y1qF; zNcgiXeYiGkB2}Q5Z&L*<(Di^JW28>BjU6pq-bc^#f-^n{6zLSfLKSuWPz8g-(?dLM z43~5yylhQn)6FtvGNd%>PnhR@aXq}+nvoHP^h?v2E@pGe)=9^b#pKtrlg7ZOX0=6$ z-_cliJjJJO#%ZPvswT5n+fT(hOhHLVU)L)!eU(jtpR6oDVI!ARz6;_uuyvH+vNGdN zXxU9)-F&Ex0KF@D;8fTE{PiRTCEiGIFqb?3tC+T#)?{nIb3fwN_Gi2}+X^?Ybevif zJZj!13dhg$8#ng^)~}}trv_B4H%gu1-PlOeoQK9uCF6+8lB{NFG12%3d20jxEGb4) zzv6}YiqbskQd(3+sKAF-+USTY$5`5?QGIF8zhzXj?+8S7ST>Z`)tW6!p>LB5GKO8WOI zlV;mjw-!gM=K&9Il%GLo6qtm1R`%CZfM`9FecrpRG0A#k*R8QxuQw*-x?-+Q@;uwL z6nvQ+@8=&J25*1Un}8}Mn`Ez=M4Ow}_&eRf|Ap4W?JzY;f96}(5&zD8k^hVP+MBrA zn9}{_lIgO4xn$V&C#vQZ#{!-@rBbst2x=3xL36h%Sq52YTuyTi+sAv3j{rcV5ft5F z{LoBR2Kk@|k5v2w#qkbg=71}CG87jcO2!fg6V<3S{)cO>IF{I>t%9d`oN6Ei6~ z0@fwH1x~QmTQgzMo!s@rp#Dwu#v_;#HfL?JUhBrDgu`7y<^#&yiQtXtel?m(VZ3tn zHR8|kD~Wy60?7p}64Ao3eGe9a7RZlD!L0sYE<3GgT0alHpIY!CeddD!n97JTwEziik&8%7>Vz7AHX(7B zy-{+GVv>cTs#Cj*qD@O?)HzpP5;Y@r?oqO^A2@PluBU*abP#!(X<)y5)M>v`xQGEE zBxoCUZc>*hr}E)l6b21^l8_g6^=IQWhU0X4`ap=AD{0V`q^yz7p)|G7vc;~D&d8=Z zqA8ufwHCOChMHnpNR=*+)5)bQp~}}_yfS0PRX`#us0mbWqN*@wDV7K(bb38>Vre4U z@$NG9e+~Fh4Wifmgs^@rz*2o0rc4(R!{&A5y$wWbY$r0kmQ$jlh?8=fdUE9T3fDA5 zHSV<4iFHz}kzq81Q)(|YAUg1L;o!;}x+NL5Q*H+h_B5R?5*}s(CNcw(aLy!=8OxXw zyMglIhuywxwJzh%@PP|^Mk?0%IDRpf3+%I+y@@5AebLIZWT>m2!{r5S} zKZgDvQP|no$Z$Auq2IrqN!C+wxzlJTn;NsmIqF>>ayH70-^(A?cMk%i zpl-VXeh}h>Emg-ex`v_dy&CP+=L>6t64SlwGt(q=9^>n_IUdjPL71&X#&A7E#4RE#QwBw+?VuujATdFB(?w}a_`z03 zGmD~tYH|wP1*n*_qnz#|${&g%VKan%7_dkX4#D2(9?JvPFz31mjJV+p?x?1(xHzzE zToOLKhB)@?mShZu#3d{yK=ahFd*|-*R*0+#oi(iioNeq9UXsVX!FA#!tx(4YSyd+^}TBrHAc6Morfq_%rLlB&}6C{(D#8HGuJDRK} z%B-kEjp~WlGh(f>b{&ZHmzK2QLBsJJ{HrlDWl#oc;>Xg&pXMw_LkrD=o!=0qn*$zJ zX%9o3t%X0#YzY1ABBN51R70%hd@-H)`m7Xx6iB_AhuunwJ)xT)_$S8KBDQ>#UsPkK zbeAYQFak!PFqRKrL`0j^F%gM7`S5FMR*BEaeL+noybiIzh8{<*qKI^!DHH{Mw>7WR;r3lUl_h+* znDKW?^U3+pL=-kreV8Q%gcE%3d52jw;$-sk_3HhXZ~e0vvp{rD%X590|9*FUTV3ca zW$_2))-r~y2LU!MPw{D3eq6{!x9K23ph2otC#?$yQgc<)`dUxjJW$47q}A?WC^wKo zuY>a>kto>Y)xjEM2eaEaZ=Tbw39*ME66&5@(i#;MZNSLNcxostyX7ieedd}}fz1x= z>Ep8IM%Ei%Fo>ipJB5q-4GK~y8xTGxMh>y-mnf$QeUTk9TGKYyXS-G@mg_`wDi1Ke z)=6-OTk=BKVRbIdWO^08?vd#wvoLlO4r3flV8w|!O1D9BJ{lso!49X&i~p#;Y0 z^VWD@f0V9&)r?sqRm;dvgPw_zIzcew3;5_G*YDLcc}%T?Wo5~Z2nQ`!z3L@l>PE=U zYlHBsoZN|ZC9dCqW2RDuiTl1mF?37&jBxStfes*`-|N7v-rb_EvX}6EU3fFfwd3j3 zmYh0Jz{~9$Te@z}RlE4u?~SO&wL-QEBJxOwP(bwbD(&4vDkOVM7^rqETs_Pvs?M0? zd1Tf0?WD-tzl$tWFe;E%H@bYo=mTc#lc;j*3TV@^35(o8j|>bTjl;hvj6-}J__Ywe zs>TUmMu$jBIDc^jY$zaxHyO^i1kqZ{ky;9;ElRX~H!~&EkV4lDu;$mG6T((>GA&3R zcP(Di01Se5GySqW9vlav=_YMw(s^$1U+F%f6-f5ZqTYY34hjHJ`iDIJM|k+}=#KtBq5Gd)=MT82D0IRNFu-iSLJbOO z&AWk1`2h^|1&Lq?NfMTWB&VkZ_>)^|sf1v(jq`1|b0vKgGbMwAk_31|)6D1$`Y`3z zxW#uAsyD#3(u85mVC#<@&HuWX7c-es|VIEK+hvS%)m;CD62lU|PD%6o!MCmBS zaRtuDmx8mST-npOk%>1MJ8{(?A~bawl1YEaUxdWkcSE5~H*7SOD6&Yl`Pi(yw(atx zWb@GG@r~5BG|FmBfbI!WEl6%t=_UNa^kck{QmcFIuV;DrDzxVN#JLYQFL@e#mbAJ5 z$FMW5Ksxc(pZiY({^xJ#zXwo|KP&z))qjfm!u{)>|9=D>?f|$u=;!N`IFYU}M%@qut3~in1jBN~^ovV|roi{{K!e)<@ zsL{#0k*1oHfouaam9A((HT5>A8cawy2{(s+t#d#%93&jL-8H@p!Qj6Deo%y|H{{ra z`51=X##9|=H(qmkKUICbz5n2kJRyu-wanyJP#xcIyLWIm>LL2Z0@sYxXc~R z5t-C_7|+y2(mw_{rt%oHdYsXZJB>)dDcm-oj4kCyfivEW5XOzfk_sZ+M6u9#*lP~N z4a4?*sKkgfat(~&2NmUujj~ZYqm47L62_Py57ZLl&PE%@_HAy}@X0Ew@}P>H7@yWJ zp;a8|SGr9y;Y_J%pvrZdZu}gx*iNk%s8JZ1zQVgW&Ks%EVB!uL#7UWClbXoIhM!iX z(p}}F=YI0Y80qv=V20kxKv55|@Sjb5Q1oY4p{PSv^T{mKmx!s#(}q4}zY?JrE#E~I zTxQ_NEi&*^O3RBz>^UlYw=i|w>cHt_q~tIsQV4yTdQ#V82s;{Qit#2KGsPAtV5Xs> zWl^2ECY7%lxE639#|ATGiR=y0p|a&oTBOHJ8jqU==`v>QD1&K%5w40Hq#seO>|(R0 zA2nkBqBxqxF5N9I_d6FD$jZ*fnwv}@&69++u3P`)FEc-yUY!Rvk=?>B)f?8L4gXN*S3wu*Kpn8)!u(2}8@dhDTYba5!wt0!x~=@8d*cn& z3*S@gfcp_R0N;mC^?~q_Fn}M-ulS;TV-DpH_a(F|zB3Bt59wEUqwZlmtPVH}M)Q~$ zsdoJ-chSl;)OW9BS*3_PJFN-ec$Vzf=)+gS_O-gJO%$!A@(%u2%z>1x;aK}auMffh z4pCYEc{uqO=txP{mR}M;8J%_5=m^^Ee+1G~0BlCRjT$OW6+)YITcnis_%%g0_^Y|8 z_|oV_gD>M{2mD4Db9TuM6T-kF_T<_P@2b%&r`3!D}=W2Ufq(QzTNN2?kKkTYcOiS&4E zj^j{8sViTrS8mzgmeUM-TF)pVJlFa$(=-cp$gHm&F{xYP{#2PLZ|O!;qt$h(Ecz3h?oi z@J978G}c*KaEUV!%^|nB9Y=(t7QK1o3U6MT3j7sm1Pr()flMveJ|>dvxPGP;-^a4= zEopZ%_)s(&AR{O2e0;kTxliMRcP8PuA$9F#M`AR%20B0cOR0Wm<3QUm~j)DS)j zAij1C4e*iN!X6k#ipPtS;tAuWc>sAT?NJ_BM%ojlk@SSRXzy{4xs&D!=BB*heIYu= zIr^mcqyz!J-vf_5FPXxP68Ql_Uk%=fTdr3i^MsLC%=&QA^$DCsr@>d?OZoq!Dr~`u zrjqi9iUd#~zV<)Y?( zeLa7N2jHx7-$$}@+efn_PY~h?ltI#*B6S46hqQn~L)lcV8$-}%lNr=Cj3`~;hN*}B zNrUkQ6-L+w#2;p`3@PN-aWQK`1STv_+SdL}QWRJ&zP z?=9{O*-1pYPQ2;#ktPG=h2M#F5l{D_y*s)TZYVIFRF?(;$d9d@-& zMqDtCP_e}aWU%vIMbzJq^fx}l=(N7e8B2LOhd<8EmD6A{lXnjDGDhjI#)S46O)#dS zV307A!{k)Mu2{0L+``GnZrR`Q_LBX)U?nn3Ev_F_1`Oral>UQg+OVP4cmGUb1xTc@@>4UXOVWLeft&Y!sv| z*jFfT5MqE;7I-gp*KicB$xv-|*aeK~tFTrvNT{~H^ic4#W`nsu>dL<-)~>iWo%{-u z%v<3s6j-&ya+GxsP!Lw7c?WKtgt7j9b}eydhz9wrDQ7+1MlH&~iXXxIWy!*v*~z5e z-!n%Pq=&W7lrDfDTL~|~4`xAz&mclU?t0BOEdDV_Fs}`}&lF1>7^Ub{vty-j zL0pJZ;&1(gO_axw$}5;WW<-7xMZoPI^22+{NBJIqZT;dr_Bc|Kqf*HGPvZK{Ceo1V&-k_HjJ2!y7 zYTc$L+o3Af&RV-GdcLMeh0icyCn3&oR_zIU+pfxw($B~LkZ@Wnne`6NbF;)HX;wr` zZ=y1vZhX~2#K8^sEk*z~@PH>j7yCm1d24Lr7yiri;8SU1(2wHBp9t`|mZ z3;&LP5Q+a|7=Xj z=FLXx!pyUr!>V=eLF_9x&{X3sV!#op&3Mz z6TXpbIljIh1dBjtC49Ca?156YdZXEjXBiWqrZw(aT-rmq;=c?T)JWl|sP>?X0EaZE zf-&$H74|wp+odb08q=0sH(ViV27kHIsBJmmju2+VCv&grI&F#iVwADG9{z)MPu|`ur2jE`hQG~#X#d{mmH$zuRWda+`L{rjqpYpG zD1h?S0$UuSFrj)yK1y}gTnGmLK5#=%r{ z{Y5d_xPbs-IC4u!Za#bEx9v{%e!tp!4M27)A`ETELJ*iWu!&@*MC`0>BLm4?Z6r2~ z3+wJEFAQwPI>b=6*AwLl>&T;Ut1wI)rZHUY#U`JI!NsJ#!aeDt!>miC{)xK1zw$&A ztjB#9rOkQ8NHSpD43VRdGac!#j!i6-4qpS^Sw@$^GRmov8~<6TW%emlu{&x z*mOL0*o7;lG$5z?2$Kjq8b*;_p03EEX^ir|6m`2{o3C*KFt4S__`cz~jnt^RG1@LP zXucRhFRerbGF{Q+C?+>5xlbBYYT|%Ugn)J^yMzs4G^*;Xffz#jONE~>sa(55TSmut&lhpMflj!6TR}4=h@?`O?>Nksk^1jNN|)05BkH-FcqWpiyAhp zCH_zp12ujUrs#W(GVJBl@=bcWRQq=80p*&z}wV7fmh() z>Ih+0=PMEti8b#_F@izsez>gHz*|m^O%8Btf<3+%nV->zbW)TvgN5+M2p}O3k*|qD zEa)9%7j8%WaLxLZ?-OK)lRu*XvWiz|?E48`{!O$DJ)q{|ZBT>akOZ-BapW)38eLZQKAAYPVI)ndjXqNw#bpGpI{zyhK; zPf%#6Tt=7ZN?e&4W|R9|eMT#@l7Y{Ct-0TrsmIQP^}zkQSKuS!dS1%4=pG1bxmou8 zm=j6Oy4qDtD34hr6RT6gi*>xj$1B){1U`0nCZ*39M(27N%n!%5Y4+@JQk(Rdq~Y-@ zzZ+%DXCE%->;mf*P=PU;vZXy&ahV}F2!FB@u(u0v5sSO138OEVoKUgaluaQl3s1yE z(0nV?*ZFkHty7TpC{U8gh@6qDSN?#cCU+ zO~ofpDL-W97^n9X%OShUv@TdN!LG-D@naz^WQP1QPrWd)AgI%5@JHm_+0Yl%m$`oPeA#b6hmQ$QVPm z0#{-TQW`MEZNk?K>x`NOt0HeW^PdmuLp=rOFk58`J^AeZaW7v}m`i!&O!iR1Ck15Z+$G5ZP_| z0ANZF8Hwx1KiCb48M#FLpO{wiw_f*u=^#x1<{;XC<#u1Cv^2Kp<^K<9?-ZO_6z%(_ zlaAGK^2N5lSRLE8ZQHhO+qP}nwmazH_TKxPTXi1Ju6^rP&4>B2=6o7!jq(4F@mt44 zd*Dh*3UR`}qFvXv?@r}8;y3;7`KoGe+ zXIfAHWIMX}e13g_^>M2dgdOU@agqUxK#iF~fF%Y{hMaP@mTB{PL%)WrLLdPrn4HGz z=!cDPlj^hdSZIw(2VeZcO(cU4UN-D4aa+ed3_EuNj}|PW!F4=rn?cN|rt2=&Z&8G~ z9a4E#!&_|do6M|R7Sbn0v(w#EM+kyO%hV1bJ5|>Ys?FV?FOMeuge2+DG>hwu-duB; zdL(+oAQ0Yz#ch=_lt0Oj)=49Kge_cg^0ww zgwWugbEGP%@h=gXeM?$D1LxBs^X_e6WdyQx4B^U`jFbUK?TO|`G435MNAq5Kp2Wp^ zh9yT%-Sz@ms&Q?ZzRsv1&DohqY>W=K!I>=*5uMR%MyBx1rP@$k$S7xy9wo!nnc9eA zNHA=?!I@>Nb!9Y!y}5M?Ju^l~xZ@VKF_40hMw=T+PyiT*p(VDFWt%-FH~yOnGa8meGgw4e1HQeEBIH^cgY?(E?0}5Xk4_>-X`buMOZI_W zfG_R~sql4chFk3A$azc7$8Z{8vrtIbRILw`AfVtNZe*~b1Z}k!)jw>Ly!jo~GopO{ z`k&>FThxg_%fBco{coe>_y4cY$bZGiwW_(BmNJ%)Z3}a|V?v90xQwJ_CY@A@$pXBS zLL_O?FEJRBe8Tbww#3b;qQvz5olIakEYuo!^9}5ZcO^x^k8Cm}m>M*#`2g4pzOVPS zQD1He@7Zo z2gRUBoQv#Y5nx*oAc;9e?8Tm=%QxBp>@;^S_&0O%;jXWDGXAdTZ5S`*e>#^>eVXrn z@J-z1;otTnJ#$p3;G?kD91?b^?s-dW|8=e!foAy&R`E9w6rV~Im$#}A0{{N7@HGwj z!yccP@J<|;KkJv9+Gwer!rmevkH3W!xnvoc&1$oW1$8tr5U|ohUfmxT&qO58j4FjeYQm+%A|$Gxe-VJ+(8yxZG$qGv!bO(9o{!h)>q@n3yx~HVZZ_+L zB2awo+^klzp9Tg9=>J1#xP%G2Ucv%k%a&WRSIEzN8>g|sWkHc?9MCk<1Xy4!?4s2h zP?jzNA+(GE`nsviyDp_^&>6#U>4r$m$3scQUB%Vw2sJCAS2T9U$iYmgY-UrN@1av+ zgIL1#@BkGzVqzH@JPSvuNxKAzmj$yKbf6WDS?QC^5Y}QHnW;;vY6}TU3`a@Ho9W#= zy`*Ws-1fw_%TirZbSs@1SZ&)db~chOD%NCz1-m;tdMq|!ala;ZMmjl>PVzgqJU{^a z>@sQud0eHn<_~f>Im*dzRg!e3M&6miWyger!zM(b5IH~%tyyYe2>FpqWCe|B7E#6N zf;V?^@kafR%$?ypy(!O*@`OjfrY z@E)mHfIZ{3xS`M#C;uEY(-8L)v0nwYx9&5^SrKUs@50x)|0NzD$ z#}&SNh=}Yvq_Pl02N-+z84>@+bDDss_i68wMD`uXWwFv=SDOAgQi&0v0LZ8TJ}}(T z;y3`S=n0}M*1Uun#RgfxM{rI8-hSu~K44L~h*lpF(g&OcmM}}dWawQRGl2w-X9Sy? zshvb*Ssph(lFUw`Crr9)R_NZg~x^ttcFYF>_Rt;O?7qn z+(^$ncVsv*`4iBf#L=4kyqBU!NOVGmCth<$l{~D5(q(j$KCd1ouCWEX)+C;^=x|-% zP0;q}(lsEN+`f>q{>X9#rPB`TJpVu$;a=YMwE!`m7*#tlN(DnBn-%df)8rauyp>PqG!O$-f zxiXV6OLtMm)0>2@T5Q_(oUzIDVU5<;`J%&3HyD@GBw{&mQ>4u2a-~;&0*q5Hd1Iy< zng|8rX63}YD}0E4;M?n(?IfVDwD+%v*0Lu{xrY}9x?%A;;AYl~lgaD6_m}1`HPHwc zb#UXE&nDJ3WX6_{P7DmZU?MrhhZaQr);8WWp|;;GNeAobOGLeVy{kTmZ1LyQ)=qkr zq1VrL)$nPpM>7}~rI)yr5zN#phT43ib>zCN57a%E?rUyCxN!gQ=<3(hdII(GN*AQA zlr1!a83u3yDkMteG=@5j*LS8*<(TFfppodHlZy5w3%Rv8p?S1MW;v7`#_;K2>qxQukANv5lVHdG3x2g0>f?%K7qluK9SdqXBN4wjgmuvFz$eJ%yWL@G z_ot;0&lKINLqhc{HT<-FNPUd^zTs4g?VV?_s&1++?J^bB6o;r^E(e$hK$-Ry7t}6g zWDK=uDS;u!hidq7=2lQ+lvXq&RsF{M5$7s-2j_|yv9bn>Kc)Xd+0LHIAEscKRX@6| z)6(zV+Nl3C4j5MMHic5Hgjs0Y6S^zSww;@-d8#*q7^=6UvOjjCwcD^(4_Q~ z^l;b?c(3}!w}hmvyQW>`brEw$wU^eSG3?2o|LoOT>FT*7b!#BKHz{1X@^}R3a7kY4 zU&Li~2YKv_ZHU9kZ9d-}VlwuG1DubyqfV8tAuLpt-XW2i5~!D7vF*2l3=DkJ**Dt; zJ-UK4?WnO9h1RdHs1L`~o%HB`zSw8o z=A9~Ap|(lprS3*%9b%lJtlh%P#6oqc@6m$VqP1afJy*x2W|QBsnt?)izU%V;)4h^H z#s*M(Pkb{E`f(ywzg8)H*vbv&sy~a|f>8N>XTT*8$SV+wXu!w2L5er(Ba`rJ6p2N6 zirGh^wu;{)DL5o$jELp_Ex(1L^hpBX6V&4s?GP8e%3JUVnBo%;$0i;ie&!yembS&3 zjFtES*m}U;9hRgEzM!je?G8Vr@XYpL7N_AM=f)Z$nhCmkmv!#x|D$w%qa>PU{D)}+ z|JPmce=nVh|NHdBTHi+h-^9WHr#=L(|Jjj(w$}enHYZZ9d zY%giR7S7mAQZ+=DnaFOwH6on~wAm;r?<8|hY;sY|{CMeRE3|In*u{X}>AdanoaK4R z`sO>`Dox$-xp4=%JVwGDy^DzH?L%BXrhkkN?OnKA<@|!+d)Tve{=lrYc;&)z!lf9R{cwmPAuG(ioyjj>E?k#)yuAuuq>E8x?X^-N3geJV^Ry;f6 zir&G(e;4mN<3285Jl^l(eJG4_e@O6rXqeygfxqf@-F|k29hoIuBBjRACX|M2j&jZ`^@=t>EDOKvQOYEOO2awRKkcbYM{qMu z6AxRQIT?pjcZI2Ho18HzN+?;TbWEufoR&q-5<5C;(cdb7)hrn2OsS@VU)bl9MFQ2U z3f0X!Lt7F_9i07Xl8rB(9h&XREt1U@Y7Pl}ipODaLyd|d=_`#@%Ihng@BaERPD&&tt;NnhLlvpVlu-gA^P*1e{*&eS}s;BQwGk=aa5|~f7h#%qXI$9vkx9b#A znEmyxW?I~5wj;l~=G0bV@2PDV-Df+^4!F7kqLjvveU8f!;mD@T&oF$>RJT*(L@%pZ z!%)}6!-{xJX$eUETy#;f-ql&$8o7_IW`WcI z-+3?WKjil%5ewE(fW8opzoFeXV|UKZD{^|eZ14tEb*|bjYV)X=TU+!Vl4^p86_O&Q zLx&Oh1CFBqeC5=kpuJzDw-{ER|+W`Vz}+|Woc0sp0;fQ9Nw=ntII5S6inf+%w9x8vC0Wr;3}7n zT<#@qBojstD!k7@)i#3YJZIB9x0}*sTbq{Oh|jSr+Acy{HBx5U!i{~+W_)s8_Ad#k z{)0m9xnY=(*9?|Ho>dT){)dXE+-^uWl?kO^Nh*5sS_b)DvO1Oglf0AotEjo>`?p|s z^|;(3T1!ztz9D>n8#uZ&D4ac2h&UjdgA`E8zCASG6nra5Ifh* z@*1_yJOhaq%Q_SLw=Q=6Y20kO<`dUZnNZ^RJl%hSCjn6*<)cxBL)A;m?_#gxXu-Mz zHbT7C!L>!Xw@Uhmg40r z2F*9kXdSMu%E;8%C@&GS1@qq|x-A^SLAS_}_meV;&1hx0pFphdgFzm5x7W zY~_h3C+DPJO+u@U`h^OM`Z2maf1&wBE#Vg^xo{qjOK%4 zaxo0y^gt34NO<#8a3m*71Hb~|l)NNae8JDj&`svG8msgRCXAT7JpWL8Y{C7d$2dZ5 zi%WeDi#^aBeT628#1*x!9c~+Bz$jce)Z=>;O?^D!qPn$n75T7L@5W9fp**3UX-O$i zo&I{8GIto>J$6n^yx9q+6>EWbR2@@_1p?q8kk%6+>fxWFTNx1XtT#r=Wlx7M%X%j9pVMm>X5S=$F)Z9I-w(d!*pcxR!8_!HYs{k=rl$$ zs0aYaaN{Y!m_INI^3vt%tuY)WK2QqYBp-%&Y0O|ciiL@Tu@`HghKo}Y|Nl9akVvJPGWV5>QmAgZW$$I zCyIiu!|NMY8O9n!8mR5@N$4Q5Jc7gA@18yCeg@9U9xWiVwl zW*v@DyO23lD!)i!BW0+gS1hJktc+THy_Nk9lmAmGL2Y5|&d)9<)@Z&;q&yD9nP|us z8f8D8qMUvgIKL{svz}ojOWZ`~K*zfsV->ZI#>&ekUH!7Fn56Q&GH7$MS{A{JZmQ91 zmXn{^9 zU5ZmjYq92HW;fHCSz-cq>R0)*7SA*Xe2(Aq`j{9CGX~Fe&#blg3h1n)UOHw4hqJBd zDo0yRl;$X53aZZPzs>CT0*~x!)@&e}NfN0>omDJfPZR0fSOA>m)O^@MIv00Y=kFWG zG^9uu)({b=e+IC4zP;w)1&kPswoR0=uu9qFBpH{k9nzS$56WTVaoeqQB?j802v%g5 zUOiUjy}Kq^;9J0ALP8KXa%FAJZ*+J@A;!by;Z@8TpQp<8p_l;^A}%z2{8{3AVwo$|B^h-`zxL7TKqhPsb5(h{>N~_Z3C+ z;&ERUEawzRsBV~^k*93A(eS3N(tbkpR;YoUfsp0jgE^KII6F3>m93hJ^P~7S=yJ@o z4&1QE$CriUA(FGt$MhN^;1|}x#7-8?KYzBR;C42gYN$nWd2d_EM{%p(fzchayg_Eq=ym%hu)LJ8U zoM?&eGL@6u`O)}ZI^goxV}S$=v)>!vVMJ7=NGXMl{}De$vgCY3_T8tk@0g{3p} zAec>M1F_9?GkwxOAx%2kLpFg1y>a@!+W*`DIca*^^1cJ-=8cuT9Np6Cip+TD?ryu_ zrUHEfOWR!u1?N?zM}Obya>FQB@u5e5+=(RpadTynJDKVWE$L|gHBtYV))J|`b9}5K z%O^pvM%Igs-_Lz>3+@%YGSz%#7q{}0$}BXRqMwY@o;hU?puy?KQg(EU-n6ID@y;pH z=C4v+kOh#~h=|Px$QokzL}^S^6)s)Ba=PsOT?^+E?LMw#hhd+I-MlCCC{9@E0drlL zp@ll6^O%+%_oS$Y1RSp(47Nf3)0*O`y^>a!E(fON41a=2qc&g< zZ+%(;4S8t`u8if9X0-VNMBkEPNAKDMlX4wW@pdY^j(@1~efW1J&)PbrwrR%}%yo{O zQrVyWF}wy@X?}a?y7ZK{$HIQEW6XPNN^ZY=uP?{Q^bUGrkwDsfn{4x2*cHY+Iu!Xg zwrR3Q7I4HM{i~=mX6~3!vfjkg{^JL)<$O7e>>Qy%^B2@9?V-}X<14puCsZ0aZR-(= zjO>1F`@TTH6>Jo&jYLii{eh&@E0*V=tznMwXKAS7D`<{AP1jhyT@Tw_?8M|6Q^F`N zjt`RW0o?9yW2M>?_@tM^4gSH)loV0gx#H+){gjZ2wb_#B>_@UusYAf=&Lt?_21hLk zz2Pahv1!IrW!o3On{w(4ge@A^T5mJ{GD&AA{-&ARj>VWIp!*L~4dRhwRL3Q6H~uER zkUxFyiz5YvZoPvtpNp2#*Nkg%Dlr*LD50{ zK;+RKf@276*F%c04^i3alh-^8wSahl2zls!>KX6D)sH(TOIL)$YL%P7g+rBPVDJhi z+{cE4p=T!ez!L1IhWo)s{OK#c@eN^0g7_l-V@5vkZ!sp~7-&{9lY)l(I}NcjBlGpDH*Lr_gdfPXKS41_M%Pso;gX5;*N9_U` z&(MO-N1T6sXqu$`bnTuyM44vTJBArjV8^X#&nuPsJqvmM`a(}m{2zD;F2i;DZ`vtB zKBGTq3T3|s*;u;D_B8=L)gI#5@VoPO3Alq$r>%AJgRU%IwlOa-;cCEsIM1pOKIQt` zzmB2ucgJvqK11--gUW8UU)@LtcejDRVE(4w-QaYMh3*Cef+PNO1ujuYDIO|Q#&cj< zYy}Q?@eY)Vo}Y}Gt&fUF&n5t5;{d174YNqUa>-G1NQ!cZ(t3Vdc*QThBA4I85jw}~ zd890z9Y^^LTylV#_>2!~KuG6|`t6HX+<$?uH)I(~+e*O~lvOpaBc zHS_B@K`@Emqbojt^iuGw9_^j0G}PYX=K)WX4rlf4zQ%7LKmFV94ZU57XEFbP!gZT$+ z?EL5P|KC*%*8jQWU~BV#s13s!&|XT*%Y3KCCOcD^sXs%U`}*=|#zCMX3E(^p2>4qP zKp;>t$>_)TjL2rB)V8dxX)Wq+hE?P{$%jocMP~ZeT%pc!|1KBrF+pvL;Z2;)M1nQduU#RHD#A#Y`ep+xoz|b0W3vO@Z*4iSWT8xz_G6*`{Yg`WyL4wemxp@lDaDM}+2f(dNB1?ink8 zs(GL%*ZC14y7usrC1Zds?8Nb4Q${}tyZggkr|LmkU~k&s2tC;rEqhbw)Ft_Lj-p@p z?t!jH5zbd0sEa(UZ8PKexJ`Ad@`e}Pa^DTO-KUQ{p{DXxE}VR|ELg96SPky_3)C3i z{RR70qBiz9Ft>{g@YO7={=mK8|3R-k{&(vmZ|^&90x|N`RoQ0Ijjy%R%dcG5UEBIN zqprMvE>w>W>^GEK9{i2=OFQYJnn6YGkrujc?qQq!H32hXol{4vv?d zX$HnPDFTO!lx-q0Y0oL7W{#|Z3(F3vM0xC;ZAXJ@q`hRgF+}cWl z7}hBOet#vcnZqs@ynCL^({UQtOj^{?_zt5yogB}GRlyI`Dt@ww>`$kvgbnoSn7tx? zS-Fs?;3^H_vN327Lt14 z1hk+YuB6dJU*We0`#Mx8Uff{YTvI*^oqIHAb$f8Nz*}atlVU;7Y`V})fk$+oiC==l`a$kpeI(^`QE#eb!W z2?u~okZ%G)K9K5oKf^vU=RMn#OeyJR8AFwLs~!;Tz2x6Se-}a#akVcn=wqfa6}e^e zbP_?>rpS{@9m)W(>hR(Mg$7I&P~qA!_bjKv4lBtANsAlsPs#LfFBXTj8R|X#H!3?S zd@H!98_C#^QpyhoQN6ZdvZnE~C2f%~c0$07ibE!1DYz14E_e}mOULML*5lKhn-(mN zY+%`hg?G=Z6sb-woanFT&*?feOShe3Wps<^8Ko~S+r!NbazP4A-@~}YRl`;e5Lw8I$`{$reX?zeH~WMuelg%u|B8mJDuY%F9r_JK3u_(8+v0QfiTrj3ur=JG z(6C%NtUmdMDIzJJ#Fx{+0 zjR{^CO}4oO3VF;n4n?Xp1(YWu0Xo2nW(6%;S75J7cU8%Gzr(5e&37^acD2}oE=v`# zght<8I0*N~=^fcqO${zVxVQxVqfrk|D6SCYypN1{&M)w{x1J?%8&!-A%U>xHDV$X( zKZ3nO5IkwMV?p-3mYUbtuLe#?Q1l#38>@c9;KL|M?pUh-jz$}+I*PwM`3GjB0G0H3g0O+wi$sXIgXvqr z1dF8o8Ikye)Wp?r>@lK}aaIi~HE97f6WX(y%=v_yaX^ifk_7Wjoc8<~cO2xo1QwBG zx>3iOk#>54)N*oTvUvxSHixLH2}oN~dK2U&bG5?8+g&L&;l5Skdq$YEaS9Xm+G=@$ zTrx)olWO`Z^k1geWqL#1q2Dm=AZa(3KDB{k*Kb1si?`;4D9#t=2wLm;II|nejNKK5 zjtj?S8O#brxE7fS;ngKBC?4!7EUkLqiOKi0^CTc@Dc!}TBz(iTCQYLQ6`tnvnT--L z1p*Tj?q%qwynkm@NuCaF(5lFn?aR4~YeT6C^M4_$w2Umyn-q?8DFAf0QXQMHVboA$ zy9u{XpvR2^+$^aW!CRzkB!(udfSN5tSla>DmcR?@BgjqDP(f985G`>XDVI0S<%Lc} z8q@UA2n}Mqn9|D2V??Os>;w^(Gb8m28FHrQ(Y%9;gquxpm2xYU9Xs#O2oktNDO*vE z8RyBJ>kz@T;b!3vx}fWS^C6woL53zZ#SkZe&=`5HFG$ynEbrY-R2kaDKLZ-82kaQB z+5W?%?R1k{^Gd~Cu#Bv14JD!e3k`c*} zA^gYOwrTRu1F43pcN<|0HO?BYQ0D3h&t&J%7RME2O4_Eg3_(BrAhQG{Q({N^kaS%l?>tSZ@+(K2wT%a<}o=cHEr8^fO|^-_KC? z(5~f}+hxYEVuIsb@Du7J99xrFSxK3mN!ivWakyGWf{rO$%od}DuSGRWzY~;ER_Cv2 zz(2x*A5GfqD)d0Akm3M4c($mYI9ZO0@iyY>3ooMYTBcDaYdm>`5@eO;>Lm7eu2LOc z0rSDNt{k@uWb*a-1x8wZnJ8!p3;w7qCP%lY$}X}FM&=8PwoBUNM&1!d4In~$=CMM-?uut?X#D9bLULl7@=FLw=qc{o{&jAk@;GjSTUu5 zC?jhD)S5_)mxSmnYFxf#f%(`cOnkx?4!s5jW0L9KmNB8T^M){OneZa2p~0+} zg9PW}xK=a`==R~u3DOuL#Zwq~szU+gpd4o8#ODlIEw;>=jUNNN_m#q{{r26H5x-bV zP7Q`Q=kwJ3tkkolrcJc{B}k0>Ef9T=gbK&R*^uKiL*`G<$qYKMc!F*Czg0TmZ+$wl zZ|X*S{l03dzR;g;r!Hg(q_;#SUpmih-nOJ)_BejozAWH1>59}M%Z@ZMwB@po?UD)u z-Txj1)#g3NgIxog6vqS=%l%3gRT&F17tbse#&npzOQ?Tl)Gm6XKXSN5d_(Yx#gJ2c z6L4JqNxUR<$ouxA&G&nln<2q4c`00ff`57l`)kZ-Y;PE@!azHy80G?jPgWclDTy#M zyD)8jK5`&IJ$lqtlQ=ug@y7M!*PK-;mRuo&h)2?VL(qQd#^;WZpu(ol=l+sNSLGV_ za5-{Y3W_ODL2=Y1ug~>-X|Z4dkcl+M$%Z_ni%$R}bCqmx+az~Y>f#YY)OTq~$1l0n z@X#h74XX&Kqc&=h_x(G)DgqX84XlfXXkOf71t34c54W;DKza`%EZA9%VKpc^#fjuG zBWEK>i|P#vP3}uln?ZR8h$zBK7io;?3P+kbr*v18MgMVi_$j^hYA7r)*z2E*GD~`h zDCft>9btYR1m;9G7;buSOj9xl^jIHa1vEyE>@l()-ErZSdi4&n)kH_Q#~)D`u)~AROt&^)oxo$E;R9>I2GlfIl?h5%Zkt^OZfh;;Bp`w){5n z(5#flLu=z6`syFH9mTQsK_{g4IZ*TZB^r@~jGJkjW9)oQ8VrIXyOVO4t^XGDXv(rQ z9Oa?pBTnL$Bp34``Hf5;!n6%jsnuWywyy;jlN)bO{Lb*VXF>h7}0qF{xtcR&cY z*y*bYPF^~U3ZUX~dQG+w;Z6G*$aRDs%Rv~syDj2~sAw)0`1Ahhz55z?EA#Nq!tFY* zsj}-EcQVL_{@Tn+_2N0-BoAJ;eekJe%*OFY{1_&0Qa=NEVplRlu9zvPO;_zy)QbiN z?G<*T%wn3qq6Wn_@@3JTaQpV&6Zg952!wXJkcDi}*z%)7_vO?Pn-+trMy)ZGC?8Z3 za(BWC7p7jqH@|leWcg^^Ibz1Af@g`pw?p;G^So**h-DqcNxTU5@OqH7r$5n+DuAE+ zAIftPdh-{iQ09Cm)D0%s6f3b8GSnSOo6>71>8IjVr$aCmiIS;fun*iG*R;k|tX`jt_% z7~Cj0P%A98f6ex!i6rIr7k8y-taW!0pJ2NmaUS2;tm9t{a#!saaq7s@gQ#gWAyp#f zmoF%LA#{t;_fM=E4AT>f@zf2gd4M~zRJr~9gtpbeY6~RnFZynj{-!z;hN>+II0S;m zPYOoFESe?jD4x@k#}oZpsjYlcP5vrbz&_}F6EE(qd@2cZ@`x%M+q`98QaH!IT_8&S zN|!sYekqs2T8A$BHirDFRN2G7&;I5^_>da%tO{E-DvAty2@5-w+Kq9Gg@Txdfq?%} zVNA616X|z|F4u2om=*(T?CMQtPMSHHXz;xyXxOG5eg73v8g^Q5RhluWI|(9N2v`|A zaQdIB+t=eM-U3`pim9C z>GxDcrI&dV(_+$|aVb4NY(npEOYcrg&ql)AX659zDIAQoa%x)>37ux;{HM+CbLP-9_Jbv55i;^OGWIXsD37t7gL6VjrHKY_ zGw%OHn_R>2*FEA9@#*{hvgcc?dDkm_t7d#^R5_s%*aN$9Ht@F-HK*1TO@Zpl3o-{! z?VFFxPugk`|LX0wf;Wo)VFu#7brf60ivQlVJ?D$U}BAP)^(44$*tk7K& zoSkHQHzYzGYze7V#2DMcurRA2UY$#0%b%YOW@dMu_;I9NYI_pweDj%g<9vDtz5|Rq z0gYYJk273AXxJ=&C+5%{Q5G*$mJ>**@WUp&n1qr0#8=&Jyof{2x& z+QSvr+2D`@i5@QjY!@3Co5*&c|7NEv?g#<2|P1~=0N zB&>#@vWCqv(y)#X1CX1YMEaY?RywHTux?<0Ghq4+i14ZqZn*Bgm78)85^?`~V9xkSuNtJq<`A4BYWi*M{oX@+WT-QlT{V2xfV zBC18@kz>wLK-6u~^C-ik^A87=(#BDFm8rEu`!t#vP1-|dm1bGIKqm6oGbZ~Au^XPZ z_tz-tPLyF1`3aJU+yDx~@CAYk3o$;ldj>hgQbxZaha}2KHxk+t`K2+_fizS308vT7 znxI{@ev}}>M+Vn6XHLq|GzKHQ1xb^t_^gFEcQJ~=YelI@?+Ekwlf#-5?38+qQCRn1 zCMwMVj?J+75>@XSf(ZV2GJP?Yag!mqseZV<;$6Dx64gl3y`9ij#^tR#(bnSyu- z<}@3Ta$ z5ZaU%WmK=xg4_Ctx}$6UTtc2Dstkx|f0Ya7e=JVFoD!FYehAFEbd*H%Zj0ouOOg_@ zx#9gb4wHU@{$ta>v)#W#yLKB0Nn1p*?H7h7yKl}0qCE6yzBeX`$@by_TO}pdhmZpj zm@+UuX$CSeLzE*xDmJ0`YLyY_;K3_f3WHh#>rO^{{A>BaN+UD~_t;^>zsMVGPLF(6 zu%9>gkHHlsZ)%PRk#9~aK|Z}eLrno&dq&K?`_+N*f~||eq)USCKV`$rg_z4P%_alU zhHftolKcSoN`z^(E@HMWWbY4=a7+sGmOulWT$SU3(BL2uIP7 zEbWgz%75!~FN1r>^I_auj{~z4yY9th_`5u~9`z8&^DWUY>UOR2;cYOVDFEviZ>-ur@BPo~c ztw}2TU=zuz6q}PS0C*09)1P0CD8GQt4maJWIjg5xj%>Z(Z;P`abc0EZ(M~^W_c{n}VI7F05JT<= zc_Z{N*^I09Q-U^`h{RwWMB`#fy@(c_MdCUGyr_sHouOYytj59)dV*$2j*O&;==Bu` zQi80Z5iyTCY_M5Qdroi|gc^;n>q}ICjYTK8n+%fX33Js%vzqXlr*MloLfMz_n|3*6 zmf2hhIOUFi?Sr{2Q_k-ML-kjZd6m3-GWeWj0fDRVi*_~)S~0y>9lZ_)nS>-;%uy!r ziMy6cFKylB*UD{T|0sqNEhg9pSImMl{_>`3(;6<~w3fxlt+`2;*Vz@Ctg4k6<@4g* zmyC}-IjvO{CTXa5cH%;F!-ixzXQ5+pH^P_w*j8(30^^Ddl*QFrDM6U)>6c8a%@aMw zs_yYNw)huaCzvUAJp198DH-eRp zhqsEv>ysxjgbZ0X&{L%P0{x&cFeY~V{WvFRQwJ;(GRbv?dxSl5b&;^BIRW(dXoE}Z z9=leU$waMaUhoagklFm^rZicwe}%zu{=!JG$LUc}93lx`<-+taeBVhqJK1nu0FVrK z=U75ZgO#Z!tbAXwYI1Ah7*@b-4Qr>I zD~=>`LAcIO5#Sat45uo8I$LN(txEOIQXNEQM|J*1C23)l)r~S|=!zf! zH9$S@ME(_cRs&3Kf;jj2QH$aoCn2e2c6W9K@6>*zWl@An6q#GI7v3I;;!?Q|Uf*E_s^eHQ_86v9VXKS)FQ zEg=ii7ka&+5De{DIa!F-jvR`_AI!mE6pSLQI~xs5bAzVvda{{n@>nEVng(6_p5S}p zAT9bLE_JbHhG$7vQF+Q&2-ahgmC`VIC!$Sb&Om}BD1rNcVWP@NRmgzGHKcY5?!V@H`W;Wr@R)oZ9M`L_+k=jU$B*W z$e)M=4y45UR6E6gf0;`y*n+QqBtTmZO!)QP3YW?S(m9U9i{AhAVuQPFSE%&;&yhLA z^5hoee|$ZQe|_oycQ^Mxc=i7Q;IsIDY4`tYNB^H7yZ_yjF8!aJ=Ktm9{_lC~WMy?l z6#iddWc(^A!bD*O3Q!RM(2lWVBwHbPvOJ+Of!q*dsK88Ii$?h;)pAlfQss+C#2miy z22-|Qazg zA>0Ls8bF&#!H-q=Ee5;AK3cF=tg6$k>x|SI%v0h1xg_nQ+4gIPTD?;+U5{X(pmiOA zq_#KQr}{C*m9P#4)c3K0xuGf71cpnzXO@hM%yhDLe5B0Ad&QHHUG~0?!|jRh;CYTo z8J4``&lW~%9!4Fy8JKUzTxY@8iTxYkOEIr%8Vi6IjAA|N6xw&_xHy4eW-sU7NjonH z07Enf@=$Tbb<|6{j@wTIU3xXSSFD|!;L&x}2?t4pCj0Zxl2OW96b)C!6prg@vM#D4 z39h!wkOD!ns0D3&gp!Mi0d+4SzTK&M41KV8$f{>x|CUnz(-hQzHkOKsCf;eYBGq2m zXyocuu zyD2QD9L*$V%ry@19M6+>%9E3^jubD*EKU6dWnoEQCyE#$N!&T>nrJUb|CCfjRPuG; zI_GS|*3PcIF?X7~^oZMuA{#=6=79mJ24Xycj-GJ^s3hPOZyR%tnp;afSNRot zsQ!|yCj25(;udL2LG_7%4-zfD#%N*jMcml)w#a!@W6BowKOpseBwcEc+pNQ3xAf0hex`n{fBbq`*HqDlP z-F(M=%?z>myy4f^C&Ygw4ceEP0rLMS488v?*yn%Pgz$GPkcE!L4K;SfJ*po)HaVRb4sZ03B}Z?LfmeZ-5G#jb zF!A4u^|bKFHNvaJ!mEkDuwClVT%ci#Ad)(wJ)v~625T7S#1P24l1J>`=4Ap=XPMGu zGPzX>%qhIr3M_fxe#23fYQ~v&_hF>plf~|ei(P&DnXg)WAI|wXmB*kuSs={0de)^@ zl5+NBnVov^guO0jIfshm1w)@WYbq4O`L;A!%HKw}>J~ghZoXwE$HI306e6dkK1KdW z^;Wgw7X6QGd5W5?v-+wOcoAGNQwqI2Yw^JmC^G=Xo>Oywddx;;QJt(3>7@a$G2SwA z3C9V(pXK~;$km@a_bM5&4=mUsyhMHwpRggL@CLu3<6WD#7ir_ zPIBrR%|X<}1+Eh*=+NX!!u2H4FTPPj=+3B`eJGO|Fj=BNb1CD-mMpqtP|nFI>n=7G zRCI(;s=10dc>{4`$u${*Uy&F(|0xT=g zvwOPoYtqNDWm_17FA~aI?3$Q27HmQ_6L4_}evL?BLxo%>2sjCSJ_wVqE@$P8cCF!R zXlaJ-Fto0!HMZ54m{TUM#9LiQL=Fw&Qg$-cyS4FdKwJ2isA&>qoJ;U`Eq|I~;FKjK z+(emaW@c|ViEw7wh!1lzyMQjN>%W*{{Q;KWdki~&3D_}eL8A{VNEI5Gn^w&0q&6&G zvxJ{*v~5oemG%k28icEv5GtCl`(Kq-2b@24BO?ASnP2A?gn*>im_tL@kd^ zR#Titq7IHUc(EbI)q}KfhQ?RXSaZuOF2e`ata08_Juf0`BMG?rAJNWEBZD`9GP!0G z_s?({#LVXvBT3cJ?6ENpw2khr9x|IrP?|qb$m9rhRX;Y087*GkGy@gb%aj=h&o45U%OAZTGZoYudJL+qP}nwrx$@)3$BD z-Mw?p*)L}!c4H%UBkBiKRb*CXJ@=K@<3^t^!tZ)@(xt&`Tz>TzeL;q2qz$#UHBt>% z<4&00b(X}bz*2?8Delrp)BAIg4!b6gCj*R5iZ0xfZ6m;yu)xLq{J{&V7^90RlFG*+ zYsC}y#2mVXJEsYY#(>>CkkNfsCgYPk6&zsc{y5K=TznR5`s-ugbH51VCDtsd^1TYs z32_`cwkv=hI4N*wtxLJQnfYQuQ_ygcP{24+oR<8T2Mt!yRY@;J@x50e1Foe4d%Us; z8?3lh7u(w)zGjj>lVL*W9;fNBQnz7=L-DboKu`&JlUBBjWok9gusxzW;x<&D%#J~lt)`49dM^=(V!!%^k?cRhBl1jW1u#yw zKh8I)JYC$&yvP)G$1B4Yo^mYu)FpR!j-TlE;7}IzCSSsa z4(BLIW!p0TiHIGl`6u6qQ$lAS#5!gBB|d*hOpN7+cJA zp@f-jgi{+kENpe7?A(#Fl^A7i*o8~>CztWfRKW!ENFZc>Hw>I00aQ%rebh_-B+fZM z^-S=e>NCpz4)KZlrJ5{7rd$Yr9UvxQGWbqS^a(fiR5>`ysy^R!{~J+*l-BW%(`C7_=@C3x z|0rF?FZ0LdLH`Xs`Sng;_8a$S`$+wrO$BZCeG~T@157xlmt;03q1eBIEK7ov1w`x^ zGu3wwUL}kas=AH-k7izkJ@dP(pK*ntz%fbk?vZ~60Hfdbf&X00gu?NcNUHmrZt~CQ zkJz?PgHP1fQAKjo=AL{TSam`&sd>n9n&1-?wJi_?zdqfd^QQ)o<6D%Nx+Na8MYP6?HiH-P^rEuvM;=8fk8s znkLK7bnRKRsL;hAR0S9joa>e<%&J9AP&wQV2(CQ>z6_df{@4h@37nO%L8RTQd>T`FbxoFVuN zvvN9h4$R>yk}untpqAY%7sMKKq|F_#Ll`o~FuP}>N53#=o$5F3K!opa^3Dui?ND(a zee50rv>$Hwh95a{w=`(V-PF`s^LB1+X{?Do^)`@FVLJC%kNCR+a$ydQNj*+|7JYr- z(vP<{UTK10FmL)ajC4_m#*n+)=mNpi@KaZVgW{bP24r4Y&=6qA!XEebXq4Nn8REbS z{T)i+!?GR*W9QxVQSDIJsuD4^l--Qjq_|IS+^&c;ihlS~C9UJja8vp}P%g^*n~z6m zz{f`$RW=Ma$DIfFcoD+{;7!!2`?6qZzz{~pW4y97`s@NofX`Z<8!0}6|BDMm+>D!F%3dx91dnG$} z4~K+HL-Gec@AVuTT_%%`T~v@0s#O+>_8wJd>phypqri{Ufn~PsIc}8FSJTOwJ_D`d zy`L_uBHkVL;!&6tv@_lqS^TV0p0`4EM|R(}cJaiJ&TOVNF;{`v@J${fM>Wiut+Agj;9$aJf6PJW>-y9Dg+LV;? znrHT^Uzc}3&lwcVN3yW}58C_`9_X=k1TJ9Zgr1nPP;2AdW3%S z9qm?H_+suh9*w&by<4!uhpUAz-6!0E;mE7HpqhzsEuVQm`4X>m=}EqVw)no)mId%K z7Lsj^@2h`5Zp&>TB>5ww6Zo-pL8Y`U%*5sJ;yGPl>3U+FZ=*rsY^&&~>+N3?Ib){Q z+>{#59J?ziBEr|#UzH)lFA)|tog?QTciYP)y2te|>ub57#y0tserF=rZY_FQ9EJMr zwB4@gqM=>)L_Nag;4Uz)RUo+81hCUspyY~(E0d@ypqgk!u9L^qjk(7zb|5>^1x;_B zV=M|7qI^ZT39M>1OvIn7Q7f7Mptg)S(dbTPw4~S-=gzyJ%!I_+1?Gt_x#Vmk{Bhz@ zi=mkNZL`AKC0xwI)+JqR2QXbb>1XuJ7vy_TI3qZnV>}tY?TNDEwxO9p=~e+lye(8> znyRQ}MKTC)hdo$>=Wo_Db!{O=8j?3uF9`j5Uz>qDqeB&n1ESdJBR^fpsf2SRj z9|vgFyzvfTm3ErYu%rarbEVGPb>Z>^vxa)5DkYFXhIvj()GXtYT*#8tDYha`AF&SgI3e%z~un2LF6Ay#ReJlR1GxdEa-NV8-rB zIftl>+GXt#ffwj;qnsf^$8}jAT(d&!uQ?iV$YSWE4qK6I(}{ZuxK7$~?Ztp-7jcf9 z7bKZKoepimT){R zE}ujZaBDSe%bF$$`iz0Q_yZiN7H?Jc-?1MTrUMd5}P3>`Ox;^(JW zRHc|_m`_;$a1HsOhkA!2Ya|Q;NJRLY?DJKN^F4jhenBimfhaD4WqahmuOPnt!!?LH z;|E*$ND+^3w3G86y${xwU%=jcF!tk#{)8&7!>~TLlCgPG40~IeJdeUz+!iM2TajVAEK{XTM}%4$SE=vQ5H8DB z)FJ^j=Y=OwLg#6E+@=cO9>U_W5A|yjM`asQ;er6X|V1xk3-`4B|WsfbuJnupEnz4sdq4|7Rc!&o3F`D`wO4#J<|D^!mNHOG3T3kBv8 z{%(Jq5~z~E!A+noI|o0(F0|Vi_UtS5TZ}Bhfx4qlYWUX_)^R%oX?FR8nZOpsWxGW$ z#AJ;Y3IlHy+3#Cbx_i?SmiW3R3FLP^(I;*#zo^I9Cy3t2KZb!*{7CjL$B)^gr*trs z>3&+BfK7)>^E*uIAITO(D{OGHf10;PEHaU7SXM9f*sn`tZpC7M>!+RH9^U~fWc9D| zwm*X4hb3*vMD2l@d|Ly^`s`*onbFu;C1jDWO;KV+nSD2bY2eVa{=)yfw)kV#w}cMDQU@%jNQZ-a<_P^5aJQQQjR zT`+?kp~`1@sU;quvu=ssKSTT9xD&^GDjB!Ivw8|2KtsL}DfdhT?df{JT3~;311{l8 zYF~kW;Ww9oXaQN%7$hR9NVZd`hh0s8z|#e$L;8Og2^@#2Fa-9Irn8owk=#)Qv0m@B zA`0LJgOS}WqV>>Yc*GL%!G^T!BAGP0iV})#QNh3Rnqg|iocvC}c1eVk6+5m#9Doqv z-S_#2HpF)sWFxMZ_W5%~H_vG1uz}6RNmv#pyv#opl9qoZoXp8S5y@VbI;#wEWByqI z(^6uvgcQ1jO|yGPN9xz08eR0yY1nXOPVQWr{$j}u{sf*;=;0lyF zn`(E6o2CDK< zz}^i!ySffXq*yWGswnzq0NudOVT!&B%k&+;T0YUw?$_rqp4!&zUO_`>PRcmu;Dn97cF|oUQ5uR6CqQJZkp|lr4Dk);$5wy z@YX@P&K8!WMAI?9f8dUe0ZlH};L3u2g>Jldq`KQKSzAsq=;qOl2ahX?KkVBeo+wP) z9uG9ws6&qOuW;BUq-Lc4E6){7<(FzihXN^5BX6Gii3ZbNrE=~)LYp8w4eo6Mx7yeJi1Ty zKJ*x+0{rg2ci28u*6{^%UoN-O;YUz5a||I`jn!U-nBmpTu*_7G?7lUlKof{O+p@x{ zL80L9@k+IEd#A92#%_^=C)3M!IQ95Vd^pfgN2V>_e_hT4pQS{0>)xz)5Fve7QjZC2Qs)+&TW>ix)EmeXwOgfb5-Di8$VP{Rr{a}1967w@j z<(YE!U1kYgJ^es!^FF(bNkvJ_6%2qP;JX=?ivlM}A&LG)5ywAZZVrZ* zx!~@fa=0zKsVFGsEAevEN$5R$v;Fn*^@s_yq#;{?neIx;RA(p@TuBl(!CCjmQHs0V zRcEx7vrhUbEKY4J<&F-%o$biQ#aL|kpVS`vDSZpOIr#YC!Wcr$$RfW{mxpw&(#0^k z|ETOb)3aR*HoB1E&8;rQa|}uQjvY+ceb8<6aKlaW&AR6bDT&qt!#&S&H|>!d3zp+L z02oee$2GKn@9q~;hz^~H-{{ssYSf*+JvjVS3$K30=GHMQOMdi&PHPv+%vhNd934+G zTqVgmQ%kCKTl3(2R+%ZB2y3(&jv)^&Y_qT#i6~AleD` z2ab>gDEMz=AK^DR3iK<7b|v>|X~Us(O_CB?TLa)%cv>TkVNg)SMiGlK0fH&!lf*y} zHLSX?bgwYfnJ-=2q9*$1iRFGm+~HBQk_Izz?1TZ&|wRH@8%!{{X+0z{lf1>0LK+3IzdaR{!Y7Deh{{Ew!)99g zAAcg26_q5akrnOmyycx|px!NuRZcd_ZhMnHB_=XTUTG!gh%V0))gx;#K9tVN)lWz@ zn_2Bk8%cONVAFbA;?oeREdsu;6Y3X$!2-lgumMQ;@eC<30Q{?^Amp2R4&;g;(s!_ExZ#@p=-Z#49xx`pI0N5=T;Gu zV7B+kT#)r8?VxZHaYM#t4YJ^k6Jr-=2n6$Thf&%8lIDtooHABDM7w?%KanA2-{h`3 z{0@X=ja3xjNbRdwE>Bd{z({A5NR!*qE9LqAPb@<2*8?SELhkb^Nz@q16FEks}I+p|j^!R@hj z)L+ZP#c7SuzeGl}t{|7Wd@ef|4^^ngYU#`U$7I%{Y5+pLD;QnS8ViKSk%mR;A(G^OZ*JM#35Y{$qMPDJYb3?RyU-po4KMny3^MNAF019I zI_5K`(E9aRk1I-EHewuIcpx_+z}8D;mM-zlhk zpJRM1qY=c~Qpem_2YV@TmZ#(YbIo^QM%8*{|8vd%8g{^vU5mriM<3qO&l8{KF5Beo zR>diixp7y6Su_^xb&Gu=8Iw64Cy9}}X#u&d#S`V0Q6?p91E6WK%02akS+)ylFi!vg z&})t+goznf3MWibpEg&4QyCG&q=`gvS@AR(q}egfA`)J*r}BkYr@O{`Bq$VEfPf<& zI92(?jdHMahH+;4G0LE*KuTqd;FO7h3?(5kD&lHd11YLk7W2e0Rh{Tr*?h|mIqA@* z>H{$x4rtOpIYj~OMIdE=6rI`~ArD)Y{#1!BD)0WM*g=}{EHv()J^TD04)nj@!Tw(| z1^;c#|JR7$_JuZ3S=qk**Z+;>)y%1x5y=3F(FUc7n%Y9(1t^fz0E02WNCEI`{9jS!cPQ%@{*45G)^Pkc|OS_$T^7Cu1*O>(x6s+&I_qJF4cy@j6 z{dS6LE#2SefQpz~r}w;^Jo6;|oH>|3vy5{(#TUT*>l3FbpQ>4AJ>MF%!~K_kkRP`= z!oi{-0NdsdQ5l}qWbhYS>bl>DA_B{3;}#n)cq(!k-UMGUoTmged{VJ&=5W99Te9^e z@Au5*`s0z09;AcnB=xt7bL&_NtjBI>81JmSbD)He)qC?FH1iB6CU^S%x%)ES zz_~6~)jY~exXx*LSd(5VTsZ85NBYwlwYOub^|NxB&M1D0`w?wehOw@Oqqzm&ILfZtiM0Q$N=MyCJa~vnjbd|%sx8!pl%P8Bij0(#{ zn#(jUp!v&{qCaTv+;Q!kc9Za)U`3^Oe3~lv4PDniRO&xYtsdh}ciTH{ zYRAOrKb)$U`D8-^viNT^9yr2$R#R>>AAFVl2BrXM<3F=0{T#>PIsnka@AxtRsyl&I z6k0!^84$rw_;|{&qdWWKai@>1nV<2Xto%L0z@O~Tal{XJ$^>jN^e6m0O)(tzzdhRb z1ElgK4csEiw~Dyr3p zcC1u(d`m-@v#p@6k}kwkl`Iu@QmQIlElp)6UtKZO6I)ky{BMeiD(nSEvB}ADR?|i4 z(y6LSx{3-zZC!4Bpr+m9Rb{HQGnZAKegfAr)CDV9!~tEtS?+vTDs>J#vbifi=$WZk&C1xt&_WX(19}uJQZ#5Wn*=_!@VK_{Y?7JP zy}Xo(!$r;SemxvGdd@KGBtKTf)D)hi>&-_xRz1uo`Rs5 zaYtWetb8B4c>OY-=H}Y6iu#B|!zwih!?;lS82MFYztj(-0V>9ATo2z&);dPrsj!T} zm1psDA_kt(blY4px-9@rNCZnt)^z5u#PuLJd>O4G=pK`M90aW#aN;3sc&^O02l~RW~FQ z1L2?);=+wq+Jw+uNB%MX$=E=}zvY%)ATiP>g}nzfR%-K8Q&`;nbZyAaFsh^TR5k{D zYG4g!rU|N0oyA_nvWLn;f1=<6+LgpBgE*gM3%k@X<1M>3R&p`8*;IBhVAnNJT$E?O zoh|E2y>A30pz@N1ti7tB(*b=6#RbtX+I-$c&rFnU_uknW^}1-EluL?ZWx7|! zgVm9#;y5_z9AN|OMsWp>pT_j%qQrXv4JYXdL_=X0!BF6Xkp;kveCUaPPrAy+S{+r^ zbhx=Gpb3(s#jGt{wMn|6+yQfvHn-SPY~uSk)O4NXKA~-8NU+80NP$pnAp(_fkOg5* z+pu|eqE9x0rk`Wp_VUb<&0|>(Uq577b+Cd7pm?$PEFr!MlUEq)6-X|ow{czmlSc!I zf9k^O*SWO&&!jX)!npWi98BeLmxcLX$M!d7BxvZCzAmzf_qW}j)*%ghYhYE|7*hUL z2uFM*D8F8;W9=YWSw;b!u5)dJq;+A9FzcKer3Ki zIwY|&N?f~EUQd)xq-NEs`(8!B?!ML+F-hQ~;ccn+9f*V|u~tsH^>>_Mki$!dn z((bYRM^W5;xcwG)QYjzWSUhqpuJA5ZZEOK}cM1-4EHWfGtSgT=esxh|!*#&BCpYM1t!vS=xp|3zbJ(Ep?S3Iyg^sZHhY&+T|tg-X{Bqq{&GF z#;@Iq4}=jULh{q2#8E(e)#cg}Ske5L7`b(-{>MpKzZg%W+v z$l*8ze67V%QO)*<{X1W*DN-JiF^R^)I>YT0J49$>J6Y595IY!8y&}<9LEBcx9LhWx~yR|3uw6fC0n_5{#OcZCokqfq?m{Fi%}uT+nk& zI-;%3M6xb%hI#$tN>8eorG1FLEi0W=4J$lj^54_A)$mO#ey3HbsHSHi56D=)nN&=K*~rD4H6!Nq@-AjwgT1cL z6s}E52)jA9ktv0mR-n?hs^oUK!(DS_814;tfgaXi$`hfnk2^zIZUZo+bBJbJM#v77 zgiST7`fL)mpl5%4fDRWwlJ+FDygw2X-$Th_AD6o@Uj zjJpDY6EdUCQ)jZ-Tj40VJP4tIh1s;MQn5@UZJ0W;*&|`UBls#K*!DkCYv&KGZPj=r z$H8ieq}?Iw zQWGtvXV=k)fll~k-H>=YswuSotSu3S+Z$?kBdp<2yJYJ&jU|VL+7&F9N7po87ST+t zj}t5#d$ceTJx!h^Mv9BrRwl1drE#kg75p}0I9OR+hAR zBT()}0iBMrrgP2WUQjBpW}$U0t)rb%nl7MOcH; zUHf&GK4eolwX7kmYgb9bD91}q&@v+7P~U|TL$rg^-?FTFVI>U^1+1XBvxL=vLFm*? z^m^M^S6I`!)^^P*tZH9CoXiP&$5{c75fp1kf2q_$x{p84Px!djfU^-Hh;i}UE8qY^ zFUCNb;KE5NZsN-92I;b!vuRzMyGE7TnLXJnHfdeE|1^$J94v8~yNUMAW4;hItN#^k z&I~Pd6e?#Q(*Yj_>mN{ZZ+MuA5e{Tzhgk@W`mBA+Exl23$G)(W-Y(wIWZJTh)Q@&w zBlwct0S)>W7&!GVyvvJ~vfc>zm5w3MO$JM>7GaQ9NuI|y; zbNJ_~Qa#jj&Q|N3SN*>T&C8b;@E*4a<`;XT`YA{?h}+&Nu}H@GH*Ez$UtP9M$Nuu? zh9a2V=2~pt6q0^po>JApRv9nKSD^5+7eW+_xz)<3$&itFIC2)(`MkfEZRS@Nc*3&k z2;Wl1ZQU+l`cPX@Zx~~{d#l%8aiI2KUW5ELPlj_F=mg=bfSMQ7US6UTJ*Ubq${~%t zQh_LSN8a;f%)#@{EA~+l82#t7w=#B`5gk@oWLtQ~yi(&E8&rmdLz6%|bO@4<8ilDZ zOHe$lK1PN6b4obW`^L_$E-u~;&P^o2z^=;V63(X5dvd-ySxw9?oHAZgiyg{K>m7=w z9AXHKpLjd6rzGNEu+q_hkg5n7pwzqS2oAJS>cZnru=@2`Et|W20q25>46Ty9jR6_P z;MGlbK;zEIlD7!joa=rnN&CIJ1$BjmkZpMMpckB$^{2-m(l z3eJB-`&xF#-;3^SF4b@L2N&Ph7I@rp z7d=6MgOi&n6J-zNN#68I=(>{Xr=M^$U3D{D2~wZFN2dZypMC&L7-vTou>BsI z+hzF{AA51(LwiL*dZlLFO0{ORDDpy9&$apL4R_=#b_p2zs0bCeS56(=F1PjW;GV*5 zzB1IlKCUPTxhRNBX1Di$N%rAI8DxTTJQlH&@jGS)~ilK5-W__eqEGw(rYWa!oS3uFdI; zy|t;p4!t4!-t5J?zXhdQE(0&ub|`m7AXT)oMNwNbv0ZCD{1^hHfhf`cmQKaQ?{url zWQ-@g`UECiXFT-wejak}<~ke&X5@f>B)RoNoe3lz@hRM{WiMRzIGM}I8vr4Cq`Y@* z(orFG*1W24HmFndRIi_j(SA9j$TohOfqf57c3Fgqv9tam_5&`W*$JC(V*istXhMr9 zTI_HGetfen=_pK)4y+@hvUV#Ov@N&rB`OJlpo9?U%BvP5cU;_oP(!%5juTC9V`7_b z*i8u?aUQ?H1`L?RmfU^;s$6g!~A+l1XpK4$B%bR>cFLc<)7 z^C9xW#~wDLkh4?yfSnsrBB>igGT9P=<$(txcO+8O#VgkJB!g6EXISBSf$NG{rE~&K z(7r}Ash2N@0@Y>Re>}Ml)cZO8NyCz6Yb#?`MSv_EH|MU&U(V9Ws>G>j?l|X(p3FiV zb;m+lnS|RZsi2Zpm{!>E{{hOF^ zOG#&_YbtaHekbVGgl(O^@C9!TR$sOU=@H&@26UVACQAT8qK+P??Ht1*UZtd?{bMq2 ziKwLfpPR4gwleZ;B*5apH!gG~^gRTjZ#;tbs;nQkiw!5!Gc#rRXGVy%w|6j?YXp;V ztu;!Rl~zsFVK#ray%2AEvv$0%&Zc5`TAp!r$qgdLqH9fBK{3S9zjOQt;wd%gyyeTS z2X}p5A%n`sZM9i;-2|p_>Rg=WA3H5TKWsVc8&ePrH`~uSkpetJ1#fR>S5a=!kx%-< z&NbINKQEd?mM&S$d2dc{BKf<%nFWOZUVD#HCq-_n{vaBQHBGbv%}99ILj1Cbh_40G zZe$S}nk8{=$R7bsC9vn|kPm_7Pts-oP|v`S4};}T@@2%aH$Pq1eNjG|!X3hAVCd(- z3__WVew=4P=w}KAehD}+-v|PJwC7;&2_etyK%hbT+Iu_@ zbfTnph>0BTERnKakvcxUT}&ky8xchk83d@| z2bY4Lz-9R4V;f5&`SbZvd9lFqjTAqXjytsV=Ah3r4_+J!S_8OGCZ4Jk?++_$=6^a8 zLAKBsL8&YRy8DxrqJ0JRDKtmL=FbXRY)#Oz&yIFe45TPZcO@zXQTs2c*f<#a3zC`H z4WBp93Vaa%PRG=*Qy>X|)>nEjDXxoUj()rSQ#j!-w`1`O`ZJ1B#hkY%EF3P}sVedN ztOB*Qnk-sYiP=u9ov^V2LvV7sKLMMpgt?iguM}cS~-@UD7r_ zM=U%oHpR*8S5O#6i4N+f2>cGuG>+s9uV@zGWXC2FN_0{f;y(x_%WXr#tYxJ>bMc>CZsyFDE#$=kwk}KAdh-KE1Rm>OOB|r4dh8XCX=h-pl z8PW#A*9!{1ECXoUYDLPsXCm55;EsPcrv2-a6ip=a?HI~Kuwm=Wo8SU;CNMB)M^WCgz zJH_`;zhw&%D{}nAVb5Q2;H9sUJAW}a3F;jM_53kpWmt(gWbOJ;sH{Mbo@b6Iix@Q^ zBXq-NNGmWgsK;~c;S7{Xue?etwJ>anC2fQampGr55jcosC&4a4(2yQEZu%NG1wL$Y zuZ{ik|iH7B_BA|4;<4En*Q_V50(C0$Jtk|3bAnHyWdp7 zqb_tUwC%Q7sC~v*P$LZyelQ^N148)&p`j04P`_{KBOJcip3r{FnnZm~r%Nj9mdLs; zx@dwaIZB@dqe~j=l;A>XYO#z(Z}lJdCkfWE9{@yu#W%p?SVQPALg?6`%L>XRTYCe5ff8)VB1oofp|vObW9pD~?v)tlU+jcEjaZ z3OQJ=Wo^Vrj)VSKSu5BL=HF?|wp4P|Vzi}^t(!s2%C?k(lpQUR%VPh{m+_asH@M7L zd2JUvuH+$63Ijn?{wqk0k&PkauON$I>(mC-jBUoK!;D_WD%s=|6%-R=L6K~e2n;-u zAJQa9;i3gz0uOlJJ?la^wP--qem(;Vs09_^Ap=YH)G$bc#SIl08xy<%CH5VjlA*zcs;ZkVmMb!QN`XX%+krsoK zS``|#Xf>(gabRPW5rfCfzz<`8?{Li<1lzc6eW5;G#`H?9)M;~Rh7k5AigC7o&z0{N z@Ms^Q><+xw(i_7%f)hjh=Z}(b&2x#1@!zG9b2+poG!28TBQPmvK4Tt>Sud%H=QvyQ zQa((n?tiY+V(49js^mG^L`W-#S>-gi|L6ZW{^NtAf%w3zP)){S;un zK4}PAS~)l}@C6FvMMgvM&z`(^gAM-L@pYz=x|7#gv2`DIy3{+zL8}9MrQCa(aCs}> zd82zwtb+X{P2cofJ$PlYBWTNILjkg&6msQ(MPN;ws7)GD;*nges?()Tiek@2Ia#9M zxx{g$OQK}DP(N2*iozU`;0fbeU9d`b1sXE)5r^lV6{G2eP`hYTXP}CRnKlLXZ?`s4 z#}QlVzr6G!=Uve~zDN}ze(M9RYmjTPj_b&stH^(iXkOtS%D7Dg6}x1;K}%ImlRG}g zCKdN7IxTZZ#Zk~-9OQ8>H(f^(lEI9uYx&BH()uB6z>P%aTjd%M69aNNF`aUSR+n&% zbUEa=Zg>!FrgV72l>7<;H&A~9%^q&!T_P~Jp*8@)Zi`?o@Hj2OV;1)h`v$OQ(lWpG zb@txm%8OEM6}^8QJpgjK@4E1F`g?Fs>kVf0rGwG6w4Yo1n zek3svFkP3}2IAm#a@i91bX>*Yhi`U z*rTppAcxGwFIwGm=0aQ0qi3IsEkp)9~KGuAbPI!Me}^+x=Q7Y#a<(m#cgaTnZu}7{f-mRqJYCcUUm%%9v0Jxcfkv zOGZ*kg+z6;gw%zoUJy)&?9FlLBxY#9x!FpM>f&@E=T$|KAB6Y7@z@gc9c6K-%M14S zE&qN19&z&TY`I=Z=K-b)nO+#p1I*nU^~eJow{(x(X*9>LEPL|3JE^_9@(mmP5^Q-O zXY=UifmpEZ+4&6RHTSpD1l)#0*#k3iBuFO{6;VCmts=fe7<}T?mxwSs z@H#f>DM^jgWKE^+N7V1r z`4%sv$HqbkUTxs7_-7Oc!A+vS3Kc?Qg1b%mS{R}|5w#}632*f)YggkJ2t|1SY0V*| z+7BApn1{J9;&U_^UX<`~@CmuEr14izz0VC=sUPvH-?2K&0=?nKECd%WK)A=pjUxOx zd`+Qt3-b0W0Sa*fn&py#@dbQ;%ny$W&o`Gy;}$+&kw8dlc5_acMaYH)!1^;CekS4{ zIqK#x6efKEFpaK^z4=3j@SzOz$f9}&zP9leH(ya~qPfrVV6bXlj6hvFFn!H{&Hb zH!YMK(OW>`UFM57&zKM#+m$KmQEB85%bG7{_9UL~52g*w9PQDtHEgs(hO8`SoUHL*1Tr@^}9I5 z+=Q#oON}uX75FRotFzL?5b2}883TfIDsr(Mj0J3b?u*M$53+6py>S8ALns>=_hr!l zCWlqv#!x^h_&ey=z>DQ@;GH4OI0S!v)pG%$MERu%kfOUIB=5a`PSdJxhKTH)e%dbq zdHjsLTI7m*S!Ryr_#2DT+bvmENRINzz6{!HbE{xMa_(M}$pRUoRk_ud$RQZj@qTFD zPvemWp+Dz2>S>t$C-tX1545@T0hIBn07AQ&r0C;conQ%SQ~M8` z1Kk<~aUTnBxk0;`PE=DJSdzkL`YKce;Zc()!i7WJNH5QjH-5zI!;UxNh=S5?Ln}AJ z@k1ONAnn{h!!C5J0FyO9_BoO5&(gUZ=Yh>7%h~TP_&jwc(?!Xr!Zm6?ghBo2yIV>8 zhT7um11b+v4Bf~(2V9>dR_?rSqP$S^Bw`^}MP5Yr9fm9ec}}uqnA;o5`FF0q9`yQ% zYi>#`x;#{dA$z9%8$B|;AxY(eK?u&kgZ4YeHEQgEp3udqn(F{Q@#Ml1HtY)Rvp3rC zDL*+kdEm_}bgw~BRM)&YO!a>Uq|Frl{{|ZUGQ9$!{#d6@Xh8&(KUwy0Iz|`nv5HuA zd3P1=L6#p*+1DrHGG`{fQO)v9PZJZ1EUl=av$<-wZrH@b=-* zcY)so>H*i|ImADF-eZ<-F~)8N#Z{x}>F}_nV^l~KyWPb^FFmc(pyKfZFbgsV-Jq=7F_g#@jWcR?X&t~ilOM(5Ns@4+>!ncFb0MluoW9sp#qY50Uf9p3;SN_RqRpX z@N2)sFOyT_JZ--7!*$%FWP0cA2BX=@KgEn1w!eUhNJa)?8vq zXnjzhIJyrui8<_ub1Ccc&ywO^zURFI&aL9#_MT`WO|$7TjKND5m#1o0%xC3rH_ zx36cMQNC?>ujvSdt3K5PI`@(Y7Q&5Rf5m{cWS$#J;wi1m=TGa~>J#07<`xC&b3;;y z0Waa*RE1!nNuEb_pS~z$VV`u%umIBtzK#(vLj1a2uSbYh(6QHs@wIW{8&CD}uFq~I zGpBtE#BL=o260EbZO+GgtMHX{LT5~%wKqowrq5qJD$dyJ$J@v&r#HXWVVIiXa2ZbHA!JQz9lfr%5E=n*q4dQ2|L&5L;G$T~;U z7y2s1cbYdWg|T?TUt@35k;L}%#GuMPVv6PHSsZ(UH5#Lw-h$BmNhJHiH6Sd9Qmb@w z(KgU#BGldjJm~iJ8Bub;NfVSeHWTyS*;<7A{I);Q;YX=5gJ*W{skHlzp@hD7T7u(? zt7{=NR`1$tu|2{#&K*RftfW2f;I@ZWKe#tTe^||NId@mZNgmEJGeU9jddy4HhB&5@BYDKmire_3q-(dGax-zX*xgB(cS?h?8RPtSXc93mnLX!r!2>kvO`&o=x%=pR zy9XhRSz^rW;yGyHu4%${-Q29ZYu&l6_O*@fYn^V-zz+s)LtK5Wn)k158r@s$;fcMq zb?v$DjX#rKTL<1HP<;=fw;{kr2{%I$9t7$3?bG(=T+ggS+Q!r@8HC15Z=$O|mztDU zrV)nwS02xkOiyu(0wk2Yu>xCLE9iG^dzqfKQ+#Z&NUJ+q8u66rNZDddVYf~<2wFDD z=L9Xre6!hK9@OnQE}3?a>_^bbx+?YU#5qZfInthRLCAOu+I?OS^At{R+xYEI$y?T^ z+dy`#@(Zp`oVn($`+BhGqe}B>LMdfZeLtq+05LW4m(aN-vP6(2_-`|P%C+x z#^!=;XDJLyAs9@Mk^6l8%*dtz@H~jMQsin>K&w$mx@7F-h@dOaeu52kf!5;^x)ZDM z?0fNqA?G8FBW@h+#ow!+Ib}gO1k?RK%BpvZ`lx10w(@0+0LC1?q+xpBsxlxXUiu2DiiQl<7<7 z$Z^*S!^b0z!Rw;+fES}Zr?r{xlsT-8k3uC{4zgJ|+np*X7+4E&+q}dPGBN%ztv()6 z>>!4wsU*;^??zl*wF7tgYp%zzI+Y@{4r*f^L~Bm&r;i)D_XjAO!$#3JIBiakw#*9b zY-RWlp5_h+iHV+(OozIxWP?OR#crL_qK}%Wu{SpJ^0zivS_jq-VqdenADFBymZXqU z&_HLOW8GVJziMt;aC*WTY1-M}d8s)`PD%jnU8!e#RHFUn#R49nD;7EUe`oO&H6)K~1rCWAcTXNswj-8;2yO23?yKfY{A z&RLj0A@>=Ck}*V6wt7Fo6uYHhXUb}(@-pkQy;c?{ghP|uDj{r6=?1uO;^CAB$mY-> zS=tJM))^52>OK`2tz>6a8y=D9HRzbM=+%?(zP~*0VQwovt8rG z<^FT)r5?$VYwS!=>zZ>coQ;^D2BMl!e)-Wk`|A3-i~*|le?dN@cy`nyPxf4 z$x}0s={`aS+Er_(S#e>NWVDN#U%6v7EgRrL*?mVB8*C-A*kP6!^G=v8WYi0YXeppQ zKEK`jG7pUrgeu4DngisO&}3x=aU7%HXJZt@;XJ=v>g*Zq^Xj#&G+-2tcdl zp(@SYF;1y{BYmjv6fMr)RDC#1OcnTPu;>#mxd1{>4z_?=cy1oVh8GmJGj1>xdAf5( zp=aP2d-eRGB@5y0MP1ud>->rH>aNS!eBaB(S{G3K#wtQdkHu64*h&04Cw;S$|Dpja zZWk7Pvy}f$fQ=CdPP>M}EiPB?hNa4*H3-Q%fx;~*SN?`J2*arjaz@nV=n&MafHRNmiH}O~sdz=%(0_xKM1>qw(#g zsiZ$9n)EHm?UyWWQeAwYEp76FGJUiVBVjy7$WpJJ5*!pJm8O=LCW2zSisjPQM=CkR zJ)8i)HG9D(VK!zjTdwO1Y~qTZLkT_zG8(RFa(PT2&s_0cF+y|098D~HK~*)&7k5hY z&L^`on-e(2I0CU!a!Mr2p-4Gopl5e;VZw4$uXEf-lk?a`@j1@iCsmex&3VIbfJP8s zTV)^dc5&Z?0WmwguwX)}MxR+y3iO+RgZ@-&eUzg_nOqfWFmoCAM6j(QUGU**TAS#A zS8kUyBrzvG$yL3pn^i&j^&18{B>7&dMTApb7MaSttkh!D`$O|!XXw=8%+geF*G-*e8$2o2sE}o!Y^7aT|fRwD)Ym$3N^-PI7A}>J^!VFzt_DEsSF2NBn z;p&VbBbLS^FWaym`OaI3wim1KPsV^0C6DI2=kvvg@2W<*>;ht#;1%&}J0S!$dRG%6 z@s}m+kU8}|*AV*Tz@r^tRVLe&CFw}cCp~fHmugn|-`3bQ(MlalBo6nQpdbW0q`sC{ znXS=1U_f*C1a~3|{5b3tdu+(yzojxSXC`&o&*rs<>St1-t?={`|AI)l{>6qO;V255 zJtYXkmbW9cGt~?k6TPuQtjnxIvkT08+M1f#WG-~plokF6y>`t3oo%b=ZH<3)))bQ) z4!87KsDJS(3g{PuD#4OlCVcbc+2!}W!T@2j6b`vTwHnL zH64{y%7@_{%p)&H)tnTGE>V8DVU~!S^2!9fS*aq(eSMTjrb3Z%Fba9{2fL1Ea1tFz!V4E&$Hl}5|MT=7+ zt_zvz#3OyJi?k6@tV@mNJu1F}y4ooEV!HDlTCrfAwd9rCl*?Tmes65lz?^t`FTE+W zq9csqp-vE4`R8e5Y;3EFD&)zj(2t5&@wTwLzIp2BgH6F^5h{fxkXx|&%44)ZJMkxB zYFqt}=Rq?oEirisUp3^OkL5EFbC_}SlI}L^iVa@GRIWdU;9x>c zydGt`zbe^ADHXDlFwaimZ*&%=-t7>e!HG+`Qhyh}av-oj$vc1{GMu$0qIqk>_Cj0Y z=dGlJz9WLMkx>9;V!bkqy*pxVw=ygV_~p1V?6Et7)v%hj!jW*^I6h)S;kn#>1vP5K z63%NPkNv?9<`tSZy*x7*_6Ol~c^9Z5+S1A(p>SvVIvaBV{>RXm#G$U=u(Qe1|^dmC?ct@a>m_YMiH!-gXfL7bN1$MerPh;YW3zY8_F@sfeVV)ecE|Z@#MaOmn`&@3wq|9OPP9c zmh_yRUP>F=2q#{hecN5Wdw@J#uB)YXsU8g>d+Cte+Unanda55!8sO}jIA0%OeDhH} zyLqt}BR;^>faik~GPu3P$X8kTi_$TpLi1hKK=!WA(@#>nlo66^(&>`BHq&C5#ak27 zUNVf1po$aPy+99?^OY08@mjSScm54>jGwe~A3d7Aq^J6+C2HIeqBxw%1@yTI8X=CDUC#)&$3@bNfBo z5bID;;7M|#_eW9vWffcsS;4O<7gdTAsJ5T)Sr@t+;&PPfy{pAQS2S=d8bjMD&IhU} zg=oPoi@dvts^BDF9}hNH4*IAmnl|voeA@KfYyPlms}RN%g+Q5*%@ICIgD6CLx$@de z!2qNc*^0uUKz7j99??lNt#0m|PFkq46A7V4uh;)mH#1Nx6%FFQ!4`aLQtrbR-~ zpS4JFHnP+M--$LmLLofN5h9fj$)(PTONrxe-jnq^+ajW|hL~LrZ8QVvaSJ zgkrSJq};kOgv7q2H(4&Jxy4Z(DUDT;api!4Z?O!gAjh6RZfGmDsI(@89LFECG-lHWZaw|sPRy!LbBdeR$xf8#WI*P>;V z?tX(I^*WKpN#IQ%G*QKAHXP0VsTA9zZ~)H1>07L4l>pBmYv%?enaAn&F?`xHQIPVD zUAAVFUK;#cC4gsLo51PGEj)1BWK3K5n!}?Jsue#i_KU$<8v$t_G}~hYTpQh~8nBiB znIg#4X`4>7#abGK;f52~vy@3IMu!2b7WtcXNJ!s2Qc9lmNL@Z&gy{`8WtbvEv7zl6Cv@*rdX= za>7Z1URPHXikwaVSW(n4gYdWu0V;JEgHU3H`b^o>9S72p(6e~5vhW%gyNuSHG{VR zoD+B{vxfuLa4%eLb;D(=k0VDy*nY#-7$KXj*~76*u3D-4pwq1|ag<#`7EzEq zew{dNn=LLk+?Fw=nGqbxk-B*Zd%0+V?e)ac#^<9gCxym1WkD8VSw}mg2QK#NnH~%a z@xIb6M~awnD|pmlEMa}n%GU_Z$PQ_hdRPOJk!^jZ#@c$m7;0nHMKQ%zWPaKxi-(YQW8FbhB9AXs39^mTFGbO)Vvf zTS}7j%l7UH=1D)8o0;TlIpddqLpIa&60Hh!W25r86~RXnPcy8iEik)UP=VKtu82@z?veV7+@E%-X*W! zZ_B4h%Ys&)LKe^{yNfK2DqdIfDRSk~!)79Nv{b?=U-iO)se`-HLyoJtkaOq_Z0*!h zVsByrNY9x*Tk%RBT$w!!jA7GG z>l09wRSo&}X1bodF}^&))iaXag7{54#=JJ6_>>V69o?EMV5j8}EDk&8qmqN{DQ(qr zJqOO(`J3R#awY874Bw(@7&z1eJ0({kIzbJ) zxl_bHz^E7unyTmxs;UTexwy@K460ul8XpGBS1)#Ku&?JI3Du#$XNKwpY@o#oa_9@k zkd0IY5r-#Lsg&7~UUS!1F+`bvVaTuPN0F=Dz*7uZx2w=zw>J4ogGr}!;BwPjE`?Pa z9rP87N!$-*KiD7Yn?P+8AG+P7bl9i#td4xRloRo}IjcdqxCd7`$3g0r+LYF`qKWlD zGM4@@N^YMm{>j~IiAF5e&MDobD)5N2p$#Pkn$>-A0VDFo`H85}EpsUtiR>>eo#S<8 zSbQ6t>{zH_smUGfTUuBhfA1Lki8oz>2l_aia?L z65;~*3OWjx%s6mCu6)-?hzW`@J)bOO&uUA}4$5Sc76l0l_me>aa%L8n>ubc{e|k8l z%$+@tNhX7QUswZ=7R{KaA)B9jmKX$n_P(QJL}YPr0a-F^e^Wn0LNm5q=Ui7ffQ$v2 zla50CLv=t)=aS`as#sb+W_&7{Q0yEThyI`phv|mg;8C}m<;CO|JdOM%{1ZExHA-NV zh&2l0^zmY;Z`P8QM^~}WK?B`WqFc<^35!hG-&W)>4EyQijw9J0{0@mpv|v9l@shtC zb}v7Ivs2><*|@f)^5EulLN!@fUP4pbw!iRz!WIMZ(?_8#*5aozG}SmX>-vgBd;|SK zmPz;^AK!9xyn&&iENW3<7TuL<08B?>($Z<6_1PlGv!7;L$nISk&n%7`tf|ZDUQI7X zfGc+>P!W1f9^5>Olj?vuPw`e|nY&E?H|_4~yP~E{l$B!SdzisIjmS(_=lF*ONvehf ztw=Xldfqffx+gil65*~kqNImIapE*G?cTSH@KskIh~4>PlKFIHwAYdNSE&iiJwV2VGJxEt%hY$V{i>*4Nv1fgN#+F~*e}I2_5&9ml!a;qT(b zuGh>`G}$g3As=j-F|CfcJmu~9%+z9Fn=p;X4rW~=txoe??jvKjU-{bu?$XmU!!;Zz>V88>TZ@iP}sH2mb!wj}5l(dgyw8{T8})G^@3$yV&*91fSyds$g7;cr4BB{bJQSj| zDj&&#ULAR)CBarORD(P2I9eH!91ffNr@h~FH%fD%KieK3IO%$Hh2TN5(Ue&RE{d0f z*ptrXlMdMUmMsUdKRB+S91#5teYvo-Y@cTfMijVYxkCsGQHXWaXTSyyK?-j%K^G}s z7c*Z6G2e~}n1K#DVUvE^w)u6OayU8Wb{JFwg8e#5yGqfAjgplBwV)^FG9O>@%@aq= z3x4ID_D^&(MmonO&ureD^}h6%Hc0C*(>jdbutf7euH;MyFlEAny`x~y$Avjwaz)Qc zHkHz|x3jPpXX)h%Gv=!(!`Mvkz4hNXUqcgr6Z>v9RZxYGl&z8jDRnkXqz{1%9(j!2 zi_A!-wHiD|;}!|j_FHdW7zu4Po;}Kxqbo`FRD;Z>Wqg3E^qKsKh%FQHtR72WCV>c( z!K*JQx$$DOIGdH9K86$yQMi*(^nK;` zY&qc7dle+K4f|$^8jE4?zZhA&AjlVe;Vg9f%qASciI9j|YI}10tx4@@Wt&ZUGA#LR zy)FbMcD*I-G+S(HWV&%ni07j8t=>Do3_!rxQ7o^k5Wb_z@Ku3w>$4MVq_*cqx)WVw z{?{2nqfU^APcOLR6uq4*sH*L^GU%z<&<`5}JT_n(VDhF%Nu%3G$k|QAPme_Iqz5jDa{VN)}el3Fh*~)iTox15EL&`Ox@8P08s^#mp z$>)S2Vn%`r_d{XE!U_)(*IYEDN4M-nrr1lfgNXFIt{YdQ@rV2_NsLD%!I*#5btX7GPu>&#^OSn z3xx--rL!^izK0m?;V|%$w z-#(nGkFNdb_)|%I*{0UEyb^JRARDRsm$KfQGxV!7p&-IxLXOJW3}r#%Wlw_3CSFNj7fh-UrcUv| zF>m@a$JjfYK4dlaU`~&`MLrI#(@=5H&=A$>58R+`m360Ui_OJ#vkg$Fd6U#mxeAMM z&XLGmgdZ+S4=Duv=0&NBsH93hjQ5f5&64erxf;L^+9Z!mpryN|?xyeTlh7vEv?58- zIi+4K<~DfPNAhSjJFu=lSVLYM&cOo1JPMeO$DM#{ZqC}`ozJB9d`>G1Qo7L|F)3N5 zi!M~E!q}(zR!91c0qM$$^qUjuw`#zJ%Xt&W1BVoMU;6|0(Y!y&Gy_JCDN>P z4Mxnm20HkRZ{Qh(eNS+I5kYn%<$P`cb|5w1_7u9kjvVi$fF?l8!{0g8mVy?WG?EAJ2p1x z5`HzFVhdK$*J`;>j+z+UL{hh}klK2I?8rthNd1xBS(0(iw7~JeJ-FZvoZE*!pyu*v zFUWrq@g~q_+h*V4@YvQ_aH|568-Pe`bazM5ZaiLpEuJITKHb&5soU6h5wY-XFVwOo zwI{x{eU&YA*2lou`{c^Nd=YOGAsW&RCoW5zST|n$TqB=y?4#KQjId=L^8GQIn;x#! z6`a+b$Uf&eb6T@PWF6X87>#U_gG_VUl|{q&MeyX58<@S`M;1q<%}lV9H+aT5+;xl(ED1|!(f%6imv{CwWt(@=~i}mQqKT)mBfO!E<10!!}<&Z1UOm_%kI_pet9=8 zC&y2mH`8}RGMCglXt!lvfSm81?{ex!?^srOX`Q^j2{_EwP-nnmI6r1pE~q@A8&-6SPUsnW|LnuJiR1ZOD9xK=7>}1X zKtT1xf49HF_P_40{2q??_wap+cS>)Ske;!F#9;_X&1|xO$-$yorEU036{dp`D+DXX z9fYxUtmzrjl5iJBEFE)>#vb3`$p%`Pg>iezWs* zv1-)@%<7Gkz1JOg#QI4GvIs&j8$w6EbB6S@jR0f0NIgoAW3GUmMrWe$8L8u%zp?S7 zD-yd6kvHU78q&_nn-&&^NV(cS~ zMOXDgDsy?`QW8UbLB7w4c7>!`F}S_ljU+=&AM@%0)94%QnyS<+OJ$ZjVLa}hw1b6M z9)_zfML~vMCZTtmllp+utQ!7$9?jLN)O~4-)yJk0yiWC|7@)z63Rb5@)wS+2EY6|~ zOsWOr+3$83magqP`zk246#%=0K*Ma$l4}mUL)KHFrfw^Y%w9n}Y_4AXSOr|M; zzah_|#50_Wx~>@>i8Xxaj`<|=ieG81hM*Q(S&24J&2%6{A8o#v3wGV)Mc!f?PL`BU zA6GB78!;I2J^z$q$G~a3)I}o&2c>ww@LF`JWjC5*8LTfRwA0gP@-EO0_R72=iaWHy zMgLGPOao!deSdy)P&B*xp791AS;&MA*n3JC7Y-@%xeY8Rk_#9rv&syLJ;8W6#hcJ1 z%Z^&AzD<>$ub5P0oX4c;dCm;#2*gODMzeNMXk)gq9s<1Y~5|$Eh0ul(RT|tpX@G=G^()65jF}VpIC{z|D8L^N$W4zw@dW)j z9sx_l@tsVJdN$uVezH=9o;Td!P@x2oaUL~KlhfpY#?_SoV|R!#Wp+{E&a{-V2uC}# zf-=tmzb;zS3+^f&ju>~=tLqP)n*DP^g$sd1e%a;)bL^xWPpG(Gsn>C3yO&8TnI)Q4 ze5Ka7BxnSZdi$)G`iR#-B%_bSrVskal2ZgZRalQN7_@ebuxX}L{FMr62rl0oA&x$V z_dc@ff-q!HnO}FN{rMB0PA0cFifWg^+fp4Jf`%IZ9&A}Y8oD{5WL8l( zYy#|vsXY)KPLW{rcET&hPEMivlMR?B_%w>@Ii(FU{^BqXDN_Bc;W_Uyx@{&X)XTfn z+_;PS4lu!E6YRzF?UV$!r0=}_1HL8KoVZagm(pDR? zfTwks@bX&>cYB!%iV094Aa9tzyKxZx{f)!PK-bPn&&t_*@qPR#_ZgQTvSRg;{p3tYp`cf^HOHlR)a z)`-~K@s9mTwF%jbBu(oE;Yc9lKoML5uo{nY7C9%vv zBG8ON*3gI7YjUsdlf1_i+`MRz-Fn^>u^ITwx%5#T2rko7sI#Q0j#P4{5gH6pAGj27 z034cUQa00#V(&`ayG-VWV3hJ^f@P@fZU%yHOof1`XO&zA?1lrDW)q;)U?C~F4Cdpx zC5~f?@c9^bDee6ET!wZo!c>EroWf+|Bwa7UP2@xT&4O0fb*9UevAZsxn^z&j6P$~1 z;h~n?)wj8#0-@lLKGL`8axj0jr-|Il5*)3>QQj8mps^g}?2=Yf0CO-L*>YITzNG7p zPg6_9q_lLBK6`5PNWsp!!}pwCOXqGVNLC`zrY56nWq3*7S9Qo(lxHftAb#6|JC-sX zSg-*`jW&7`gTYsTac?xoo*7Bzl0ALr7RC`)XMjPeQ)%l3o7BfKRTR_5Fj>FD@#V7u z-@6sy3tHw0)ZAr_Q`n33RGEY{-a3JfS(vB%A=nHScI~g!pigR$8{@@b4lW%|Me{dh zJdxqk@z8p=f-_ZN5*k9rOND;vfoK=}3@4|8Drxk^>l)I~l3h%95@L*Z0~+^^;@ZZj zy(#FDy24%WoAW+NiqbMs`eXwRlZQfeZNE%op@(n!fgW-f>5njK?M{QKp0xess^j81`a$gEou;Bp2IDRIB5!=S$$m{berY8n^E=<;JWH}#jev%X4A?X~Nm z@#j}ztk}h<716LIOEP5vRnwK8azN-0H3t#>1{bLK&aP5-UQ(O)dL9^!);RUJI^`o1 zq+|fKn)>c6ixyG1jvOr}Q3y(cQT>xzNH4gPMnF~kirbXW*Tf}z+qw<5Vq5>f3AV^3 zg_;a+nX~fQgAs2sx3Co03~yFm1Pd(dQmFd!O6T=VW=7-wk9es0Ny`^6uBrYix~TJV zahjV36I<1#JNqkk>|d&xVU(ipfL9$=vO%<}9}TB>7o7Sfx-PM9AY0bSfadAmrs(x6 zz>Y04AE>!u>iBXEg6#vB`52N&NHyfFi<`lS51YECXKPtaz0XmQDEG;mFW++}b`a`D zEB(No?Q5OvsG1qXz$!-Z)-Ih9WRS6xmnD6)grEvbC(sQ}%=h^N1^=6-3t>dr;A2VW*O+H{IM!~@B=&|GITR1CO+jd)>N7L~u7wN%DIziUl1S#W z%qA|yFk87%k2vX3-Mv;Ip7~eV!eyN?oC(s(*BU?5W9YI8;-Yp*g+fYR z(M#-(jqM|hfV1CNHr$pHgEYv5?_;JtWnjw~_}nUpmAPAUdAZW|-Qf{2P-OlN5W5)u zZ)b1ze>%}B0m8xA+36S=h*NSdX~}X75nT_M8;|>uySuT zl59UoRJS@5C=yfBtUgbSfP}dOHep3ldkj!fIXwxjc^cPn#)?l3m@+bf0jWGXH zcr~wO!W0+_FNx#pW1B!}5}pGXK8&*6&$}?ichKEqN3`8Two{n;~+C~m6 zCPNkSx)#}&oW7XH+RWGk`+sTG_pipjwU|zEG?|5%cl_LX+O;5iC2ZKAwl6421CKc&Q+DYM5|1`HxrhS(P5jX| z=Aq?Qk}#w5#3lzpto$nic30ZF5YvP34Q@|(u1%Vn z@m&;ga@&u*zePtA3@xz=AoMO5ICwZxV@RMyA6U<}4&i!2dP1h{zMKxiAmj>@$wrG_ zi3S|Z;9sXu_HySbk)GaScnYUI4HBnQ$9MI6&7+>m8`F=7MX=0jvw*@IX^08&J}o#L zBq53*Me?$fP}Fp917U+?yl9-(Pe=Twors{G(1aMmGWwRaMJY&=;HBCN{K4x4@wCP6 zQ-Mtj{4JQ_Fd)gE^;aPHBo>=!Z6sj+T~Z#eEnTT-^H{==lp0XZ(8WZi@dDFywoYr$ zkq{7*47m%eZ-HE_-$eSBUO>MO0mlf0++=`pi$n#K%ND9(O@JNaX3dqS*O9(y>{wKOr0fqgiGQe+|+EmBL$iUXc)b4MgzULnJQx^U&sGorUprF>XvNiY* z7CMs{?EnCDI^aj}PYS>lFaCej_9tALpI-gUVr^wXZEb61ZD4C}Vqo{9k&x?81bZ4_ z%47kZa~=T*i2El_PJoB{zZ>^o7XFFl|KfDEF#nY-n&J>W1kj#NZ-IaS-#^GBV8`fB zGAn%tfNT0M0N;nwca1;#1E9b^NI%&R0Csw|Cf4>pH{H@3I8rZ)W#lVN>GBv=OMj=TZ_diMhc5YR5oU!VZ0@e9bWHTii;fTa7E7ypmO z`&9$(CtA+mHU3%uMfpkhj`AP9^Sjy~w#WDhqvO9~{AD+Xlqh4J19Z7Gk?EbZ2_|<;KOepekfC_j4 zI>7gn5`T&sAhiOZYt#H`zdvm7TlxRZ@B{5%Q_LU}_A~$}IKY5_sQ<(VT*MFN1DfRf;Gp^e8VE=OFe&_v zZRCC%X|e`@^CbVJ+~3ju=r%+@K{xUKEws6boxOpjf$h)3`1?p8G$awO1YqU?N(;dF zLEiBFLrB0=Jdd@t9AKSkVr41*I};(@Uz^@JbceSVz*q1ed~|>r>2Iv_XBGaM@Av#r zzqZC58U6?zAR84ZV5olhp>{w(N`Ue5|Ihc=wfjy0sN8P?nDT#+Yni`gv(T{wEYfZN zW1=YPX`O=ttPGj}&Ha7R|EGw^{v$v>D+>U&zPO2{!B1QNzuL*RhqUAnFpslw0s(!` zj`F88>;7XRE6cy-fG>)xMFdRHrhxX~`jY@~1p`>s{7qZ@VV&P+4>8C~N~vA3v`$fSva>fF;yFXq%r|{>y0mF+0!CELmCqA1uFTq58Ei|9EKd z=T?c!{oh&sx>de+-@hK|`qO{Q@yE%*Ukm-CKlRVI)VhBL_@74+f2H{GBgOBI*?-FO z>OU&;zuNduH|<{ue%yNg{>kK@qIvc|68!B%@*VdNhPaJ{ysYajPw_q+Q0Js_>lYa#IEr453BIkdppu%pnxe42#6B!MGtt+Qw9Po Ht%3d@+RCD3 diff --git a/modules/distribution/src/repository/conf/api-manager.xml b/modules/distribution/src/repository/conf/api-manager.xml index ec166a68..6788569b 100755 --- a/modules/distribution/src/repository/conf/api-manager.xml +++ b/modules/distribution/src/repository/conf/api-manager.xml @@ -10,7 +10,7 @@ EMM + By default secure vault is disabled.--> false + JDBC connection string for the database. + --> + JDBC username for the database. + --> + JDBC password for the database. + --> + JDBC driver for the database. + --> @@ -52,11 +52,11 @@ - admin + ${admin.username} - admin + ${admin.password} + Fully qualified name of the class that will retrieve additional user claims + to be appended to the JWT. If not specified no claims will be appended.If user wants to add all user claims in the + jwt token, he needs to enable this parameter. + The DefaultClaimsRetriever class adds user claims from the default carbon user store. + --> + The dialectURI under which the claimURIs that need to be appended to the + JWT are defined. Not used with custom ClaimsRetriever implementations. The + same value is used in the keys for appending the default properties to the + JWT. + --> + Signature algorithm. Accepts "SHA256withRSA" or "NONE". To disable signing explicitly specify "NONE". + --> + Enable/Disable JWT generation. Default is false. + --> + This parameter specifies which implementation should be used for generating the Token. JWTGenerator is the + default implementation provided. + --> + org.wso2.carbon.apimgt.impl.token.JWTGenerator + + @@ -121,57 +128,64 @@ - + An API deployed on a 'production' type gateway will only support production keys + An API deployed on a 'sandbox' type gateway will only support sandbox keys + An API deployed on a 'hybrid' type gateway will support both production and sandbox keys --> + Production and Sandbox + Description of environment + Server URL of the API gateway. + --> https://${carbon.local.ip}:${mgt.transport.https.port}/services/ - admin + Admin username for the API gateway. + --> + ${admin.username} - admin + Admin password for the API gateway. + --> + ${admin.password} + Endpoint URLs for the APIs hosted in this API gateway. + --> http://${carbon.local.ip}:${http.nio.port},https://${carbon.local.ip}:${https.nio.port} false - + true + + referer + Enable/Disable Usage metering and billing for api usage + --> false - false + false - 7612 - - - tcp://localhost:7612/ - - - admin - - - admin - + false - - - - - - false - - - UA-XXXXXXXX-X - - + + + org.wso2.apimgt.statistics.request + 1.0.0 + + + org.wso2.apimgt.statistics.response + 1.0.0 + + + org.wso2.apimgt.statistics.fault + 1.0.0 + + + org_wso2_apimgt_statistics_destination + 1.0.0 + bam-profile + + + org.wso2.apimgt.statistics.throttle + 1.0.0 + + + org.wso2.apimgt.statistics.workflow + 1.0.0 + + - + @@ -246,12 +244,12 @@ - admin + ${admin.username} - admin + ${admin.password} @@ -270,6 +268,7 @@ -If you are at the Gateway node, you need to point "ThriftClientPort" value to the "ThriftServerPort" value given at KeyManager node. -If you need to start two API Manager instances in the same machine, you need to give different ports to "ThriftServerPort" value in two nodes. -ThriftServerHost - Allows to configure a hostname for the thrift server. It uses the carbon hostname by default. + -Gateway use this parameter to connect key validation thrift service. --> ThriftClient @@ -278,26 +277,63 @@ 10397 true + + + am_application_scope + - + org.wso2.carbon.apimgt.keymgt.handlers.DefaultKeyValidationHandler - + + + + - oauth2/token + /oauth2/token + + + https://${carbon.local.ip}:${https.nio.port}/revoke + Note: If changing this value to true, change the value of to + org.wso2.carbon.identity.oauth.tokenprocessor.EncryptionDecryptionPersistenceProcessor in the identity.xml --> false - + + + + + - - - true - - - subscriber - - true - + + + true + false + https://${carbon.local.ip}:${mgt.transport.https.port}/store false + + + --> true + --> true + This parameter specifies the expiration time of the TagCache. TagCache will + only be created when this element is uncommented. When the specified + time duration gets elapsed ,tag cache will get re-generated. + --> + + false + + false + https://${carbon.local.ip}:${mgt.transport.https.port}/publisher + + + + - - - - - - - - - - + Enable/Disable the API Startup Publisher + --> false - + Configuration to create APIs for local endpoints. + Endpoint will be computed as http://${carbon.local.ip}:${mgt.transport.http.port}/Context. + Define many LocalAPI elements as below to create many APIs + for local Endpoints. + IconPath should be relative to CARBON_HOME. + --> + + + + + + + + + + + + + /resource + http://localhost:9764/resource + admin + 1.0.0 + none + none + Any + + - - - - - - - https://localhost:9443,http://localhost:9763 + API Store addresses, which is needed for swagger to function.--> + * + + + GET,PUT,POST,DELETE,OPTIONS authorization,Access-Control-Allow-Origin,Content-Type - - GET,POST,PUT,DELETE,OPTIONS - + + - diff --git a/modules/p2-profile-gen/pom.xml b/modules/p2-profile-gen/pom.xml index 58d1e39f..0a2305b7 100644 --- a/modules/p2-profile-gen/pom.xml +++ b/modules/p2-profile-gen/pom.xml @@ -225,13 +225,13 @@ - - - + + org.wso2.carbon.identity:org.wso2.carbon.identity.oauth.common.feature:${carbon.identity.version} + - - - + + org.wso2.carbon.identity:org.wso2.carbon.idp.mgt.feature:${carbon.identity.version} + org.wso2.carbon.identity:org.wso2.carbon.security.mgt.feature:${carbon.identity.version} @@ -251,26 +251,26 @@ org.wso2.carbon.identity:org.wso2.carbon.identity.sso.saml.feature:${carbon.identity.version} - + + + org.wso2.carbon.identity:org.wso2.carbon.user.mgt.feature:${carbon.identity.version} org.wso2.carbon.identity:org.wso2.carbon.claim.mgt.feature:${carbon.identity.version} - - - + - - - + + org.wso2.carbon.identity:org.wso2.carbon.identity.authenticator.saml2.sso.feature:${carbon.identity.version} + + + + org.wso2.carbon.identity:org.wso2.carbon.identity.sso.saml.feature:${carbon.identity.version} + org.wso2.carbon.identity:org.wso2.carbon.identity.user.profile.feature:${carbon.identity.version} @@ -285,13 +285,13 @@ org.wso2.carbon.identity:org.wso2.carbon.identity.mgt.feature:${carbon.identity.version} - - - + + org.wso2.carbon.identity:org.wso2.carbon.identity.application.mgt.feature:${carbon.identity.version} + - - - + + org.wso2.carbon.identity:org.wso2.carbon.claim.mgt.server.feature:${carbon.identity.version} + org.wso2.carbon.identity:org.wso2.carbon.identity.core.feature:${carbon.identity.version} @@ -574,7 +574,9 @@ - + + org.wso2.carbon.mediation:org.apache.synapse.wso2.feature:${carbon.mediation.version} + @@ -777,36 +779,36 @@ ${carbon.platform.version} - - - - + + org.wso2.carbon.identity.application.authenticator.basicauth.server.feature.group + ${carbon.identity.version} + - - - - + + org.wso2.carbon.identity.application.authentication.framework.server.feature.group + ${carbon.identity.version} + - - - - + + org.wso2.carbon.identity.oauth.server.feature.group + ${carbon.identity.version} + - - - - + + org.wso2.carbon.identity.oauth.common.feature.group + ${carbon.identity.version} + - - - - + + org.wso2.carbon.idp.mgt.feature.group + ${carbon.identity.version} + - - - - + + org.wso2.carbon.identity.authenticator.saml2.sso.feature.group + ${carbon.identity.version} + org.wso2.carbon.identity.user.profile.feature.group @@ -825,20 +827,20 @@ ${carbon.identity.version} - - - - + + org.wso2.carbon.identity.application.mgt.feature.group + ${carbon.identity.version} + - - - - + + org.wso2.carbon.claim.mgt.server.feature.group + ${carbon.identity.version} + - - - - + + org.wso2.carbon.claim.mgt.feature.group + ${carbon.identity.version} + - + + org.apache.synapse.wso2.feature.group + ${carbon.mediation.version} + diff --git a/pom.xml b/pom.xml index 0ef6a1c0..66a06561 100644 --- a/pom.xml +++ b/pom.xml @@ -797,7 +797,8 @@ 4.4.1 - [4.4.0, 4.5.0) + [4.4.1, 4.5.0) + 4.4.1 1.5.4 @@ -806,11 +807,11 @@ 1.3 - 0.10.2 - 1.3.2 - 1.3.2 - 1.3.2 - 1.3.2 + 0.10.3 + 1.3.3 + 1.3.3 + 1.3.3 + 1.3.3 1.0.1 @@ -845,22 +846,23 @@ 1.1.1 - 4.4.4 + 4.4.6 - 4.4.1 + 4.5.0 - 4.5.4 + 4.5.5 4.4.1 - 4.4.5 + 4.4.6 + [4.4.1, 4.5.0) - 4.5.2 + 4.5.3 0.9.2-SNAPSHOT @@ -869,8 +871,12 @@ 1.0.0-SNAPSHOT + + 4.4.5 + 1.3.0-SNAPSHOT + 1.10.0-SNAPSHOT 7.0.59.wso2v1 @@ -884,6 +890,17 @@ 3.0.21 1.1.0-wso2v13 + + 1.0.3-SNAPSHOT + 5.0.1-SNAPSHOT + 3.0.0-SNAPSHOT + 4.3.1-SNAPSHOT + 1.0.0-wso2v3 + 1.0.0 + 1.0.1-SNAPSHOT + 2.0.4-SNAPSHOT + + 3.1.0.wso2v2 1.6.17 2.0.0