From fe3ff56d7bd47f17ce1bebe387326622b0597518 Mon Sep 17 00:00:00 2001 From: friendica Date: Sat, 11 Feb 2012 23:44:20 -0800 Subject: [PATCH] add numfriends plugin, update a couple of tgz's --- buildtgz | 4 +- editplain.tgz | Bin 1229 -> 1215 bytes editplain/editplain.php | 1 - numfriends.tgz | Bin 0 -> 1208 bytes numfriends/numfriends.css | 14 ++++++ numfriends/numfriends.php | 87 +++++++++++++++++++++++++++++++++++++ oembed.tgz | Bin 1949 -> 0 bytes oembed/oembed.js | 6 --- oembed/oembed.php | 89 -------------------------------------- oembed/oembed.png | Bin 417 -> 0 bytes oembed/settings.tpl | 7 --- openstreetmap.tgz | Bin 723 -> 944 bytes 12 files changed, 104 insertions(+), 104 deletions(-) create mode 100644 numfriends.tgz create mode 100755 numfriends/numfriends.css create mode 100755 numfriends/numfriends.php delete mode 100755 oembed.tgz delete mode 100755 oembed/oembed.js delete mode 100755 oembed/oembed.php delete mode 100755 oembed/oembed.png delete mode 100755 oembed/settings.tpl diff --git a/buildtgz b/buildtgz index dec535dd6..61dd5d71c 100755 --- a/buildtgz +++ b/buildtgz @@ -3,7 +3,7 @@ # without providing a Makefile in each one. # So we will just manually find any source # directories which contain any files that -# are newer than are .tgz file and rebuild +# are newer than our .tgz file and rebuild # it if any are found SUBDIRS=`ls -d [a-z]*/ | tr -d /` @@ -11,11 +11,13 @@ for a in $SUBDIRS; do TGZ=$a.tgz if [[ ! -f $TGZ ]]; then echo "Building: " $TGZ +# git log $a > $a/$a.log tar zcvf $TGZ $a else TOUCHED=`find $a -cnewer $TGZ` if [[ -n $TOUCHED ]]; then echo "Building: " $TGZ +# git log $a > $a/$a.log tar zcvf $TGZ $a fi fi diff --git a/editplain.tgz b/editplain.tgz index 51b57d0d1c57089cbc6c47af6a49063397726fa4..c99c7f63bab8821fe0d1df4cdbd74d75e14f5d25 100644 GIT binary patch literal 1215 zcmV;w1VH;AiwFQfY&TB;1MOFBZ`(Ey_E-B?+%%(-1IMymzXVR~qG*HdL$el0uzhF? zgO+HEup|m3Ug|+p5u|GK2u3ZSnSrG4PC@|JgoJH zgK@t<{%FuM<2h=*-ncg$jRt5^>-PHN;h+Y?=L@MsDisj`wTO5tCN?a7z%E%0 zN4=Ailb49;1wps^Z@+btAbHX?9?^d=?2UHxAEExk0e(RDNuziG|8xD%-k{nI_vokr zNAMeo=mgG-LeN9+sq_R(6yxy(-ZM!SAqBy_K+zio&J~MqFW#NEKvxeJu*82PRHYIU zE)|Pc+R5)!NaLW_>FVdVsS3E5zy(`VxG0E+vp}h2;<{TYIv$VQMDQgGsT-m3OwY!D z{Bs+P#xjjP9T{wEcg|v5J`9}}{Ml&K1zj{I@-8thCCiCbS8~;bN=b$2Lt4swxQhP&T#T5|PkdXP1N-BVO9#3PX=aAS3wgk!b;=og(*I2Su zDu|IQ56Ns86)+49_ed5~R@?`K-6O_nlC}w6i(F?*=O+lcN5Z*|1eO2x4RGkj$+Bse z{2t465iumT)oRqSj#VmRR1%%flPpGO*HPP+x2SJqw{0_B?|ZwApO|;<{B!Bt{@OB? z%i<+>KsoldnUo@=iBA;uJ9Y~?aQ^W_uHe3asPR_5Po}2evZO5PfaxQ?Z>Z(hJMQ(; zptzZtkQFT{{YO%rS4ilqrp)%tJwA82YSi6wZK-ZUDg%lt?<}f?zoy`kII9|CSwtA( zPJx(t)I?QplH-}4^Vtqm6b6*|_E+dk!9ELFyaqwTsa39G0jS%APAx5j>q%)rAn0;x z*~q4LwL&2mMAB5~2G9Z9eR%KTbUn?sAi_a1wUBuW+?gJnMh1K_zmhLJ|FQDGq%ypc?Q48LH4f&g?m4C5tYyx)H zFLPNWk0|_lb@8E4gx)Z@EuB0(nNjSs4R|4u5;@NGIbL9pYinkomS(|g!^vJjUv3+r zrtr+wHmCcZ83tNzyeyI9Ye5p+?fVOaWI@Bj_U4tPW8Zyg@?Y>9s|f7g;hdkt*~wf4 zX`Jn?%;F?fe_MI$Jg>F#ImRo(j-{pBUy36=Ed&-|p`5O}y=7eFW424T7gB;GWH0Po zK0NF<%%|8^vn~aTR4LrAk7|~gZ@Gn8o>vxs_V!-%$Hn+zZ`DW8+?q2z+?G%!EuL1I6Ty&cYFSdzH!f&KJb5Z>J=(fs8FFog$fla dRH#s)LWK$yDpaUYp~8O_e*sJaiJ$-|001SHV`KmT literal 1229 zcmV;;1Ty;{iwFQHtuRjj1MOE`Z{kK28_Nheb`;0 z!5;7k+hfg)NuqB4d+&@5hJ-ZQDoLf*M~M=T@7#}b?wtV|FqKAxC2sA-&_xV~gIaIU zANG3vT6b{VJMMdCy+FeCLYd0rP7h>Zlvh=Ja$vT=PaUbjK&ka z8-MY~Z8RG5Eb(<_u<6|?OE7#CIW73J(Wnc$U{X;r4LM&rb{b_1w2@Tl%%t50n*;&h z>iyj*&<3UJ&9>I*Q=X@~_PeGRKl8`0$lf?kj zi2EeM3=lt(rP-_97#1G7em;hu^8Gv)heXVO?Vr=LGvUI7t;+!~udC|t8Bf|%eW$V}iPwO14tTmgX#etAy$-0bO@9b%j&X`AGA z|J2#s`3X$7Om!yMRNub?F5NhJHSLn$Lz&HDhQzj7jXI8q%0z-nqVs8*=jd!ZYTNP_ z^^NVeZMN$p#ctzYth;djrF3q8Ynh>7$(%c&9D8$4l_F$mKoku+b_+Ui{^?_(;I4qE z@kYMSrl;Vtq%7`$IiiBVP|L5k-0RSwxY?PK1uZH4TT-1jNa&lU%*XKopW9qD>TVfZ zs@sUlkfO?4LACJL6nv88U1KcQ8AdoMkT9Q`tm;j2IMI8)*rAG}kdnau2Awh3XAw)5 zAZRqU$|x3qx=rcW(n7etloo`7&c~LGY-(2v6mmu+&4fN%I$*nx&mL~q+iVMBTqI)) znYX~5=tb+R_?lQnwZG`{ur@yvf+osbA6V6VtFv(s1T!~JUKLIBLjYq~{77r*Q>E#L z)L)vtjSY0UjTid-_sHlzYmBG9|9Qisd*A;C{oZl)`TsS5 zH`mYmj|F}A&m&IM2qHRHIB(Z1P~ixA-EMk=k1-K=cOK3-j!}%u1HF2;<8M9O4}9rc r`QI+RLWK$yDpaUYp+bcU6)IGyP@zJF3Kc3;_|M`mi@)j704M+edCX(Y diff --git a/editplain/editplain.php b/editplain/editplain.php index 61273edf2..7d91c2952 100755 --- a/editplain/editplain.php +++ b/editplain/editplain.php @@ -20,7 +20,6 @@ function editplain_install() { function editplain_uninstall() { - unregister_hook('post_local', 'addon/editplain/editplain.php', 'editplain_post_hook'); unregister_hook('plugin_settings', 'addon/editplain/editplain.php', 'editplain_settings'); unregister_hook('plugin_settings_post', 'addon/editplain/editplain.php', 'editplain_settings_post'); diff --git a/numfriends.tgz b/numfriends.tgz new file mode 100644 index 0000000000000000000000000000000000000000..df472580315dc3d582f1a0c4fb5a7182f093a437 GIT binary patch literal 1208 zcmV;p1V{THiwFQfY&TB;1MOE`Z`w!{GL^M#Xx~uI&(^g8g`_NWs zu*dc&_KY<%hM;Z!``)n)#`$QZDoG#eqeO!7o%?a_nLCDONgx^JzH(Ymg#ltRaa$wz zWHK6^vm^#l;biEJ$L?f2ZViSnhvQ)j+$YOu51GGEWs(kyfKQQ0_$aEy+6wcWth4U@%a29EuP9100iM}Tir}XC}XgoK&@gM)3 zcDo&9+%tJWrQ8MM*v~lbbm6~t`#{o=DNW@f65_IBr*RfCzED(a#zSTIz$U&gxO49* zFeZE6cRRbU9&)}&h0;GBq1cXL+6S=+Ln=E~SsL~C>b20~`W`AWUMC~tPfEu_?jMbi ziV;Z@vAUCwQqe{)Z;*i{@h%~dA^{ztG)tFYT*8*RzA-+`mvU7jdAarB;^T*lPe7z3 zo80DK3Tqa}kPwuw$|QcJ_KHF%G!R&knE8+?JRijKM8>t*L%0tt03}Rt5ScVF0v2YH zE+p*W*@Mi^Bcs%Bk{tdf(rQd4RGnIQA}!MF?7QmOYJ+V~?4Ip2mBwVVC_F9la_t`D8d)eK zecp>?f9)EjFdm2w=#E`YnyM#R>Jv@1GCY#AfY}ZGYiSLz?qvx>x=xtt+L*~ zO@UaQmq|&v#=5bK=02#jjz>c>vW&NNRbgNT;SY)}*Hh4`Ih)NOAhDvRDfK9$6ExrT zM~Q^O+fV23wymL8IKQ?cDzj7t*FIZ;7ZatB?6OhEOHB0An%l1`v*=|`OIBTIP$ENqB$R+Gg=qtWjZnQ(e?pYDpxZ(r?_> z+YEEBwcw1WnZ6l3U$piFX934oh*~CQAZE1C-*zxmkGqAqa*a8)fDY0!->2P+DM3bx z2X-kt%zuTcKV7%Vfbv91SuSD5dJhIv_GQA_dkb~VS_2Y0)x6^ra&l!LV>(kXMV zD!6X{?AO10-v9B~KVpoBe*X66nNGWTz1Xsbu7>xmSPyC;$M5A7btR literal 0 HcmV?d00001 diff --git a/numfriends/numfriends.css b/numfriends/numfriends.css new file mode 100755 index 000000000..c92ef8dce --- /dev/null +++ b/numfriends/numfriends.css @@ -0,0 +1,14 @@ + + + +#numfriends-label { + float: left; + width: 200px; + margin-bottom: 25px; +} + +#numfriends { + float: left; +} + + diff --git a/numfriends/numfriends.php b/numfriends/numfriends.php new file mode 100755 index 000000000..6ca7b3951 --- /dev/null +++ b/numfriends/numfriends.php @@ -0,0 +1,87 @@ + + * + * + */ + + +function numfriends_install() { + + register_hook('plugin_settings', 'addon/numfriends/numfriends.php', 'numfriends_settings'); + register_hook('plugin_settings_post', 'addon/numfriends/numfriends.php', 'numfriends_settings_post'); + + logger("installed numfriends"); +} + + +function numfriends_uninstall() { + + unregister_hook('plugin_settings', 'addon/numfriends/numfriends.php', 'numfriends_settings'); + unregister_hook('plugin_settings_post', 'addon/numfriends/numfriends.php', 'numfriends_settings_post'); + + + logger("removed numfriends"); +} + + + +/** + * + * Callback from the settings post function. + * $post contains the $_POST array. + * We will make sure we've got a valid user account + * and if so set our configuration setting for this person. + * + */ + +function numfriends_settings_post($a,$post) { + if(! local_user() || (! x($_POST,'numfriends-submit'))) + return; + + set_pconfig(local_user(),'system','display_friend_count',intval($_POST['numfriends'])); + info( t('Numfriends settings updated.') . EOL); +} + + +/** + * + * Called from the Plugin Setting form. + * Add our own settings info to the page. + * + */ + + + +function numfriends_settings(&$a,&$s) { + + if(! local_user()) + return; + + /* Add our stylesheet to the page so we can make our settings look nice */ + + $a->page['htmlhead'] .= '' . "\r\n"; + + /* Get the current state of our config variable */ + + $numfriends = get_pconfig(local_user(),'system','display_friend_count'); + if($numfriends === false) + $numfriends = 24; + + /* Add some HTML to the existing form */ + + $s .= '
'; + $s .= '

' . t('Numfriends Settings') . '

'; + $s .= '
'; + $s .= ''; + $s .= ''; + $s .= '
'; + + /* provide a submit button */ + + $s .= '
'; + +} diff --git a/oembed.tgz b/oembed.tgz deleted file mode 100755 index 733588cdc23882eba12bf6af9b28e9a92997207c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1949 zcmV;O2V(diiwFSh>wZoE1ML`VY#c}VT$SKE)Y3pjQ~zkE%hk6VpYIj>965Kk;@D{{ zoCk>mRF=E!WA1ixdpq0RS=%Sq0@5J0D5U`jk*ZQrA0XPONN#}gsDP?8{Gg;zpp{Ut z5C{nZ3K4CAN~PhO-Mfo(cd04Fwh;GO_U_Jnule3%ipwh2lcCjw6u`hhe<;)6H;~En zg;M?5OtvrWuU8?IPG{2t+4L6p38m7ROgbAv{i~`~6+D+I4nm=_q7{iVL#)f-*~R{B zdh6D$YoXH`0uB5hJQB85Tm>22!P#uzW&O|JFZF+4I-3fi)GFxG1pnv$zjxoB+pdXp zMd0Nd*C~4@4DRu{8#vI$B6jg94y|* z#y-Xl&;pxP92}aRolOv{wRDT`EbvVK79R#^Do{y zk=gh8PhaZtzORnK(X(Q)$mk<4OGPvrZLJ+^D(Bc*Sjed~K~z5JJ7 zJUM?l|Dt=YaxQ<%sjt58#1ozWykUFi!-GeD`q!QvM;A?H!=F0;@T}Cec;DxeZ@lY# zZpl9WCi!#pa8FMC?bKEA52`o6E`9UJH@;4v3*V9c=+006^6I6L>7C#C?DH?sQyZ5S z&%bfF6n^GYXGcEt-Q$TLcG<^LJqM*f-gvjsYn*vt^o1vH+C6^a$9rGC^UR}1maaeX z?0XKKJp1c!{owsy`Hb+l-*r8`Y2=2}CtvM2^P6k6;k@?l(=U~~7r%J#-;YIJ`~C5! zzO+fpJ(nu{?4j2$+_U@WsZIC06aOH`M>>D<_=T6A4u4|fo3Cts=+t|ohnKz}jo;nD z9Wy?*XY^|$A3wax{%^>C!(Ig$E98Ga)cbb+uM^~k!RL|W=FJhb8SPQZco6L!RvcDAE@9Y324nVMGRaFuH4HUcPICDl!H(<8PA4+_d%MRB>I|Ztib^QjLCc;+ zP_9Z}B2Lkvp6yfH4lNK9Cku+|khvisPDUaQzSAQPmZ_y-F-9!S^mM!|^kdStNTlFd zTA;MQE)xp^#56?-%}2rxE)thvM>Z%eiLpbJ$&6An7Dq8f*Qu3kN+-Tm<-}>^Itj>X zWM?ZyEE`zSvGWc%E~je6)bxtPl3mOgc**_u7}v3-ZD=KqvQ1s~&e#SdpzK1ky}_l+ zE$&%Y*yc?PuZ-23+5Y!-Uy0`xw)`bHVpNGoRcStg07yZ+1({S+Oxbg>BT7;v3{k;6 z$AY7i0utxMsJw6QfysDPV6W?`Wdf3bLpThaWm}_GffU8%Z0h=PO<_rff+AO_$2=9o zQWICX5l0$E#9}jwSw)<>9OASzn3A}k!o(_25iv1Vt!K4UBhS_q2C7IXfyVYuaO8!z zGn3d2ChCq-9;PcBDeBQe1?6k%7XK5AAbtX1#efg5ZZhWrOc)eeS428-EGXcjEc=_X zlt4nVrfq`RrhxdNq7)_ayh59bhGl4b4t2#SizCHxl!^#S$D&p5q5KfH)PbrmU=L?b~$&%IopFSt~C|jNN%UzB zGC&yutvNexbX9S&=Rk=HGO4vnwX##!hu5>H%EiYb;haupkY*~bn-@4%@2sQPHg*K$ zvWkiGf=*m;QDqQCX9zS(>TDCxP$Y~{j+Bd+P?|7l3&9CmRsyRiK$~WHA#fM+Jy`#O zZfFv%lotYYQ35$h5R^-ThC@(>Vy(|urn+b1T3-ypyhXYYi!h!lJ{~U>+=hx%oS8~b z=ku|;p<{lfh(egQjP8~-j#KfR#+pH!Bic5X#WVzHO>gYF5D|Wq`e6uj38TU6G8hE8 z6eNGRmBMPqsHzG90ICKOAV?vm9a0tzJeN_41qJE0F{np?1jR?XsAg4*s~>s%linqEBBJR3fGcwW5|(!$Xnvo(S&9RGf>pu$X^^1(821j}q{F|Q`;B|Kg1PK#cMP|UP2XiBgs*rt^ z-8;q-cn)hjXt}Idx)>{Kc-(^94%@HH?wZ^^5sMcT)5S38Px&&Yg&v<-k1&<2E}+_N jY`x9ZhBmaJ4Q*&c8`{u@HngD)|FiHfEjSHl04M+eAKcG4 diff --git a/oembed/oembed.js b/oembed/oembed.js deleted file mode 100755 index f8e957413..000000000 --- a/oembed/oembed.js +++ /dev/null @@ -1,6 +0,0 @@ -function oembed(){ - var reply = prompt("$oembed_message:"); - if(reply && reply.length) { - tinyMCE.execCommand('mceInsertRawHTML',false, "[embed]"+reply+"[/embed]" ); - } -} diff --git a/oembed/oembed.php b/oembed/oembed.php deleted file mode 100755 index 880e4992f..000000000 --- a/oembed/oembed.php +++ /dev/null @@ -1,89 +0,0 @@ - - */ - -require_once('include/oembed.php'); - -function oembed_install() { - register_hook('jot_tool', 'addon/oembed/oembed.php', 'oembed_hook_jot_tool'); - register_hook('page_header', 'addon/oembed/oembed.php', 'oembed_hook_page_header'); - register_hook('plugin_settings', 'addon/oembed/oembed.php', 'oembed_settings'); - register_hook('plugin_settings_post', 'addon/oembed/oembed.php', 'oembed_settings_post'); -} - -function oembed_uninstall() { - unregister_hook('jot_tool', 'addon/oembed/oembed.php', 'oembed_hook_jot_tool'); - unregister_hook('page_header', 'addon/oembed/oembed.php', 'oembed_hook_page_header'); - unregister_hook('plugin_settings', 'addon/oembed/oembed.php', 'oembed_settings'); - unregister_hook('plugin_settings_post', 'addon/oembed/oembed.php', 'oembed_settings_post'); -} - -function oembed_settings_post($a,$b){ - if(! local_user()) - return; - if (x($_POST,'oembed-submit')){ - set_pconfig(local_user(), 'oembed', 'use_for_youtube', (x($_POST,'oembed_use_for_youtube')? intval($_POST['oembed_use_for_youtube']):0)); - info( t('OEmbed settings updated') . EOL); - } -} - -function oembed_settings(&$a,&$o) { - if(! local_user()) - return; - $uofy = intval(get_pconfig(local_user(), 'oembed', 'use_for_youtube' )); - - $t = file_get_contents( dirname(__file__). "/settings.tpl" ); - $o .= replace_macros($t, array( - '$submit' => t('Submit'), - '$title' => "OEmbed", - '$useoembed' => array('oembed_use_for_youtube', t('Use OEmbed for YouTube videos'), $uofy, ""), - )); - -} - - -function oembed_hook_page_header($a, &$b){ - $a->page['htmlhead'] .= sprintf('', $a->get_baseurl()); -} - - -function oembed_hook_jot_tool($a, &$b) { - $b .= ' -
- Embed -
- '; -} - - -function oembed_module() { - return; -} - -function oembed_init(&$a) { - if ($a->argv[1]=='oembed.js'){ - $tpl = file_get_contents('addon/oembed/oembed.js'); - echo replace_macros($tpl, array( - '$oembed_message' => t('URL to embed:'), - )); - } - - if ($a->argv[1]=='b2h'){ - $url = array( "", trim(hex2bin($_GET['url']))); - echo oembed_replacecb($url); - } - - if ($a->argv[1]=='h2b'){ - $text = trim(hex2bin($_GET['text'])); - echo oembed_html2bbcode($text); - } - - killme(); - -} - -?> diff --git a/oembed/oembed.png b/oembed/oembed.png deleted file mode 100755 index 6fc3794bba5b1aa57c04469e384c301108d23892..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 417 zcmV;S0bc%zP)Yq{$FzW&zl)UA8YJ0`33Mi-f)=wY3w9|D?DQ2TLLU2VjuM>wuH5`Z^H>*F;_-_ z)db!`T}HZ&#msNU5#F)z`GRW+yn*UMOS_mZ#2RprFe_Cl=^2A)Eoj`CM9i%oO-ZZE zPu6kVqlDfRtHBFuv+CWrz!Rp5BKG4Nw-`bf&a?9Y+~5vlKRsgy&eClrv6qSWkP7tW zn6jT3V?4t!X3?JY|A -

$title

- {{ inc field_checkbox.tpl with $field=$useoembed }}{{ endinc }} -
- -
- diff --git a/openstreetmap.tgz b/openstreetmap.tgz index 9796235269b1ce1a80b44a2d707c21730d57273b..93dc874b6296c6227aacee15444b9b8f959ca357 100644 GIT binary patch literal 944 zcmV;h15f-PiwFQxmo!fR1MQVtZ`(E$fc>#y7*}B-Voen7WmiD3BUWy@* zDas}yi7G`k?biPH9?G&2x%Dz&X^LU|U<0CfcPA0fwVH5;2>*rc+g`7hwIV%!QV_5Ja6)z6!F=|{{FJr~#0PyR! zhF{nkWNH^pF-ppAepLV z0q<%~Z?liUQz!&vg2sxA0+c|3B4N_9+F;ge-;biT&(={AP;chZFrv&0gD{-Z&`)CO zO`;&B|00-ZPTV=haU4vXB+wZm>qi&(0se0O%We56HXgYDy}%3a&A;2szaN_ZXgvB5?+;A{E-)% z!+2I>eg1bQtL7{jyL!DJylZ~T&_Oz5pAiRus+yqo4)5W)3Pw zmuLpRmK!FAgVs1Zx(Eg+^!c>Qb%FSsS$qM{&bVUv&V8N^ ze}W+jW(+s=`?vPN?jIxg^a;9~R0x^i&S+%y`@0MO5>V0E;htZDZC~PxMzURX_lMuI zbOrVz2AuH?Q_F#l2^3cuTMld(!&e9Jojri9Wa)CycH`aM-T141cdp(owSrm)K}Ev8 zWn1f7oiwv>V%(f#AWb1KWkPyTvf|KmE+7Q_CXC+!^ZS3QD}0saJ1k`H(j4) z73=EL>P{%?>ba)|9dAS1syxHUmT*vbY3iwFS6lr&EO1MQVdZ`wc*$GPH9F}0%Djw1X>cnC02rC!q>s`e69(bg=+ zitTmR>pa@zyLZ+Ygp(k8NK#dupFm=FXXo*sSs@CZmr8Q3GFG^qSHVMu!+s~|pALiI zwBz*$!Qj-d_ZvFCKlJ;)ANbx$$MaA0G4x+2oi4*B*vcp2ZLa^)&BtdKMeZVfA2-2@8Li1|MU#IY`8~91{}dhmhmxs z!Xbdq^%TH4EA+t!UPdx0R3h>*d?`7!2Svyj7DB>2DT|cdC3y^~h?q7nd;0!YF3b9^ z-}ChPeWjK{j^RAH;uxb*9;QpBim~f%deMtS<`z;cl9am{8qf4?{Nl$o3}aE{k&e>N z=Q6?HEKO|(ei=qr@;E6KmzPT+u53&4e2$BCg4QuuY(5vcyXPrr!*-aB3ul61QW3{o z+GZ1+&)Z3vX!Ni<N2eJTr`p6W8(GDU}<;rfZI4}c${bDpe|6GZb zsmEHZGPv+oA{?e7-(lf57C(i^LVwhfYb%kJR=UauLw~T=_59RU&Z^k&HC=BULU2QniL)YbL$=m+4yB&_&ezx3T z;!SBwm8Do&2pfkJV?Flz#r^HS1%e<5f*=TjAP9mW2!bF8f*=TjAPC|g<2R`x`gZ^* F000L3X%GMa