<?php
/** Adminer - Compact database management
* @link http://www.adminer.org/
* @author Jakub Vrana, http://www.vrana.cz/
* @copyright 2007 Jakub Vrana
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2 (one or other)
* @version 4.1.0
*/error_reporting(6135);$nc=!preg_match('~^(unsafe_raw)?$~',ini_get("filter.default"));if($nc||ini_get("filter.default_flags")){foreach(array('_GET','_POST','_COOKIE','_SERVER')as$X){$xg=filter_input_array(constant("INPUT$X"),FILTER_UNSAFE_RAW);if($xg)$$X=$xg;}}if(function_exists("mb_internal_encoding"))mb_internal_encoding("8bit");if(isset($_GET["file"])){if($_SERVER["HTTP_IF_MODIFIED_SINCE"]){header("HTTP/1.1 304 Not Modified");exit;}header("Expires: ".gmdate("D, d M Y H:i:s",time()+365*24*60*60)." GMT");header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");if($_GET["file"]=="favicon.ico"){header("Content-Type: image/x-icon");echo
lzw_decompress("\0\0\0` \0<EFBFBD> \0\n @\0<EFBFBD> C<EFBFBD> <EFBFBD> \" \0`E<EFBFBD> Q<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ?<EFBFBD> tvM'<EFBFBD> Jd<EFBFBD> d\\<EFBFBD> b0\0<EFBFBD> \"<EFBFBD> <EFBFBD> fӈ<EFBFBD> <EFBFBD> s5<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> A<EFBFBD> X P a J<EFBFBD> 0<EFBFBD> <EFBFBD> <EFBFBD> 8<EFBFBD> #R<EFBFBD> T<EFBFBD> <EFBFBD> z`<EFBFBD> #.<EFBFBD> <EFBFBD> c<EFBFBD> X<EFBFBD> <EFBFBD> Ȁ?<EFBFBD> - \0<EFBFBD> Im?<EFBFBD> .<EFBFBD> M<EFBFBD> <EFBFBD> \0ȯ (̉ <EFBFBD> <EFBFBD> /( %<EFBFBD> \0");}elseif($_GET["file"]=="default.css"){header("Content-Type: text/css; charset=utf-8");echo
lzw_decompress("\n1̇ <EFBFBD> ٌ <EFBFBD> l7<EFBFBD> <EFBFBD> B1<EFBFBD> 4vb0<EFBFBD> <EFBFBD> fs<EFBFBD> <EFBFBD> <EFBFBD> n2B<EFBFBD> ѱ٘ <EFBFBD> n:<EFBFBD> # (<EFBFBD> b. \rD c)<EFBFBD> <EFBFBD> a7 E<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> l<EFBFBD> ñ<EFBFBD> <EFBFBD> i1̎ s<EFBFBD> <EFBFBD> <EFBFBD> -4<EFBFBD> <EFBFBD> f<EFBFBD> <EFBFBD> <EFBFBD> i7<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Fé<EFBFBD> vt2<EFBFBD> <EFBFBD> <EFBFBD> !<EFBFBD> r0<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> t~<EFBFBD> U<EFBFBD> '3M<EFBFBD> <EFBFBD> W<EFBFBD> B<EFBFBD> 'c<EFBFBD> P<EFBFBD> :6T\rc<EFBFBD> A<EFBFBD> zr _<EFBFBD> WK<EFBFBD> \r-<EFBFBD> VNFS%~<EFBFBD> c<EFBFBD> <EFBFBD> <EFBFBD> & <EFBFBD> \\^<EFBFBD> r<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> u<EFBFBD> ŎÞ<EFBFBD> ً 4'7k<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Q<EFBFBD> <EFBFBD> h<EFBFBD> 'g\rFB\ry T7SS<EFBFBD> P<EFBFBD> 1=Ǥ cI<EFBFBD> <EFBFBD> :<EFBFBD> d<EFBFBD> <EFBFBD> m><EFBFBD> S8 L<EFBFBD> J<EFBFBD> <EFBFBD> t. M<EFBFBD> <EFBFBD> <EFBFBD> ϋ`'C<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 8 89<EFBFBD> <EFBFBD> <EFBFBD> Q<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 2<EFBFBD> #8А<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 6 m<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> j<EFBFBD> <EFBFBD> h<EFBFBD> < <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 9/<EFBFBD> <EFBFBD> <EFBFBD> :<EFBFBD> J<EFBFBD> )ʂ<EFBFBD> \0d >!\0Z<EFBFBD> <EFBFBD> v<EFBFBD> <EFBFBD> n<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> o(<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> k<EFBFBD> 7<EFBFBD> <EFBFBD> s<EFBFBD> <EFBFBD> ><EFBFBD> <EFBFBD> <EFBFBD> !<EFBFBD> R \"*nS<EFBFBD> \0@P\"<EFBFBD> <EFBFBD> <EFBFBD> (<EFBFBD> # [<EFBFBD> <EFBFBD> <EFBFBD> @g<EFBFBD> o<EFBFBD> <EFBFBD> <EFBFBD> zn<EFBFBD> 9k<EFBFBD> 8<EFBFBD> n<EFBFBD> <EFBFBD> <EFBFBD> 1<EFBFBD> I *<EFBFBD> <EFBFBD> =<EFBFBD> n<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 0<EFBFBD> c(<EFBFBD> ;<EFBFBD> à<EFBFBD> <EFBFBD> !<EFBFBD> <EFBFBD> <EFBFBD> *c<EFBFBD> <EFBFBD> >Ύ<EFBFBD> E7D<EFBFBD> LJ<EFBFBD> <EFBFBD> 1<EFBFBD> J=<EFBFBD> <EFBFBD> <EFBFBD> 1L<EFBFBD> <EFBFBD> ?<EFBFBD> s =#`<EFBFBD> 3\$4<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> u ȱ<EFBFBD> <EFBFBD> zG<EFBFBD> C YA t<EFBFBD> ?;<EFBFBD> Q<EFBFBD> k&<EFBFBD> <EFBFBD> <EFBFBD> YP<EFBFBD> u<EFBFBD> <EFBFBD> ǯ}UaHV%G ; <EFBFBD> s<EFBFBD> <EFBFBD> < A \ 0 \ \ <EFBFBD> <EFBFBD> P <EFBFBD> \ \ <EFBFBD> <EFBFBD> & ª <EFBFBD> V <EFBFBD> <EFBFBD> \ n <EFBFBD> SU <EFBFBD> t <EFBFBD> <EFBFBD> <EFBFBD> r <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 2 <EFBFBD> l ^ <EFBFBD> Z6 <EFBFBD> ej <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> A <EFBFBD> d <EFBFBD> [ <EFBFBD> sն <EFBFBD> JP <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ҝ <EFBFBD> <EFBFBD> 8 <EFBFBD> = <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 6 # ˂ 74 * <EFBFBD> <EFBFBD> <EFBFBD> # e <EFBFBD> <EFBFBD> <EFBFBD> ! <EFBFBD> 7 { <EFBFBD> 6 <EFBFBD> <EFBFBD> < o <EFBFBD> C <EFBFBD> 9v [ <EFBFBD> M <EFBFBD> <EFBFBD> - ` <EFBFBD> <EFBFBD> k <EFBFBD> > <EFBFBD> l<EFBFBD> ڴ<EFBFBD> <EFBFBD> I<EFBFBD> <EFBFBD> H<EFBFBD> 3<EFBFBD> x<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> w0t6<EFBFBD> <EFBFBD> %MR%<EFBFBD> <EFBFBD> j h<EFBFBD> B<EFBFBD> < <EFBFBD> \0<EFBFBD> A Q< P < : <EFBFBD> <EFBFBD> u / <EFBFBD> ; \ \ > <EFBFBD> <EFBFBD> -<EFBFBD> <EFBFBD> ʈ<EFBFBD> <EFBFBD> QH\n v<EFBFBD> L+ v<EFBFBD> æ<EFBFBD> < <EFBFBD> \r<EFBFBD> <EFBFBD> v<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> \\*<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӵݢg<EFBFBD> <EFBFBD> n˩<EFBFBD> <EFBFBD> TЩ2P<EFBFBD> \r<EFBFBD> <EFBFBD> ߋ\"+z<EFBFBD> 8<EFBFBD> <EFBFBD> <EFBFBD> : #<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 2<EFBFBD> <EFBFBD> J[<EFBFBD> i<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ;z<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> r<EFBFBD> 3 #<EFBFBD> ى<EFBFBD> :<EFBFBD> n<EFBFBD> \r㽃e<EFBFBD> pd ݍ<EFBFBD> <EFBFBD> 2c<EFBFBD> <EFBFBD> 4<EFBFBD> k<EFBFBD> <EFBFBD> <EFBFBD> \r G<EFBFBD> <EFBFBD> E6_<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> މb<EFBFBD> <EFBFBD> /<EFBFBD> <EFBFBD> HB%<EFBFBD> 0<EFBFBD> <EFBFBD> ><EFBFBD> <EFBFBD> <EFBFBD> hoW<EFBFBD> nxl ֍<EFBFBD> 浃CQ^<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> \r<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 4lK{<EFBFBD> Z<EFBFBD> <EFBFBD> :<EFBFBD> <EFBFBD> <EFBFBD> Ã<EFBFBD> .<EFBFBD> p<EFBFBD> <EFBFBD> Ă<EFBFBD> J<EFBFBD> B-<EFBFBD> + B<EFBFBD> <EFBFBD> <EFBFBD> (<EFBFBD> T<EFBFBD> <EFBFBD> %<EFBFBD> <EFBFBD> J<EFBFBD> 0<EFBFBD> l<EFBFBD> T<EFBFBD> `+<EFBFBD> -<EFBFBD> <EFBFBD> @B<EFBFBD> <EFBFBD> ۄV<EFBFBD> <EFBFBD> <EFBFBD> \0<EFBFBD> <EFBFBD> C<EFBFBD> ,<EFBFBD> <EFBFBD> 0t<EFBFBD> <EFBFBD> <EFBFBD> F<EFBFBD> <EFBFBD> <EFBFBD> ?Ġ<EFBFBD> \na@Ɍ><EFBFBD> <EFBFBD> ZEC<EFBFBD> <EFBFBD> O<EFBFBD> -<EFBFBD> <EFBFBD> <EFBFBD> ^ Q<EFBFBD> & <EFBFBD> <EFBFBD> <EFBFBD> )I)<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> R<EFBFBD> ]\r<EFBFBD> <EFBFBD> 9<EFBFBD> 7_<EFBFBD> <EFBFBD> \r<EFBFBD> F80<EFBFBD> O b<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ><EFBFBD> <EFBFBD> <EFBFBD> \n R<EFBFBD> _<EFBFBD> <EFBFBD> 8<EFBFBD> <EFBFBD> <EFBFBD> ٫<EFBFBD> ov0<EFBFBD> b CA<EFBFBD> F!<EFBFBD> t<EFBFBD> <EFBFBD> ă% 0<EFBFBD> /<EFBFBD> zAYO( 4<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> '<EFBFBD> ] I<EFBFBD> <EFBFBD> 8hH<EFBFBD> 05<EFBFBD> 3<EFBFBD> @x& n<EFBFBD> <EFBFBD> |T<EFBFBD> <EFBFBD> <EFBFBD> ) `<EFBFBD> .<EFBFBD> s6e Y<EFBFBD> D<EFBFBD> z<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Jѓ<EFBFBD> <EFBFBD> .<EFBFBD> <EFBFBD> {GEb<EFBFBD> <EFBFBD> Ӌ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 2<EFBFBD> <EFBFBD> {\$**<EFBFBD> <EFBFBD> @<EFBFBD> C<EFBFBD> <EFBFBD> -:z YHZI<EFBFBD> <EFBFBD> 5F]<EFBFBD> <EFBFBD> Y<EFBFBD> <EFBFBD> C<EFBFBD> O<EFBFBD> A<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> `x'<EFBFBD> .*9t '{<EFBFBD> (<EFBFBD> <EFBFBD> wP<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> =<EFBFBD> *<EFBFBD> <EFBFBD> <EFBFBD> *<EFBFBD> xwr<EFBFBD> <EFBFBD> *c<EFBFBD> <EFBFBD> <EFBFBD> c|<EFBFBD> D<EFBFBD> <EFBFBD> <EFBFBD> V<EFBFBD> <EFBFBD> \r<EFBFBD> V.<EFBFBD> 0<EFBFBD> <EFBFBD> <EFBFBD> V<EFBFBD> d<EFBFBD> ?Ҁ<EFBFBD> <EFBFBD> ,E͝ `T<EFBFBD> <EFBFBD> 6ۈ-<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ڎT[ѐ<EFBFBD> z<EFBFBD> <EFBFBD> .Ar<EFBFBD> <EFBFBD> ̀ P<EFBFBD> <EFBFBD> n<EFBFBD> c= a<EFBFBD> 9 F<EFBFBD> n<EFBFBD> !<EFBFBD> u<EFBFBD> <EFBFBD> A<EFBFBD> <EFBFBD> <EFBFBD> 0i P<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> J6e<EFBFBD> T]V<EFBFBD> [\rX<EFBFBD> <EFBFBD> a<EFBFBD> <EFBFBD> v<EFBFBD> k <EFBFBD> \n+E<EFBFBD> <EFBFBD> <EFBFBD> ܕ*\0<EFBFBD> ~<EFBFBD> <EFBFBD> <EFBFBD> @g\"<EFBFBD> N CI\$<EFBFBD> <EFBFBD> Ɍ<EFBFBD> <EFBFBD> <EFBFBD> x@W<EFBFBD> y<EFBFBD> *vuD<EFBFBD> \0<EFBFBD> v<EFBFBD> 댆V\0<EFBFBD> V`G<EFBFBD> <EFBFBD> u<EFBFBD> E<EFBFBD> ֕ <EFBFBD> <EFBFBD> f<EFBFBD> l<EFBFBD> h<EFBFBD> @<EFBFBD> )0@<EFBFBD> T<EFBFBD> <EFBFBD> 7<EFBFBD> <EFBFBD> <EFBFBD> §RA<EFBFBD> ٷ<EFBFBD> <EFBFBD> 3ۘ <EFBFBD> <EFBFBD> /Q<EFBFBD> ]<EFBFBD> ,s<EFBFBD> {VR<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> F<EFBFBD> <EFBFBD> <EFBFBD> A<EFBFBD> <EFBFBD> < <EFBFBD> vץ<EFBFBD> <EFBFBD> %@9<EFBFBD> <EFBFBD> F<EFBFBD> <EFBFBD> 5t<EFBFBD> %<EFBFBD> +<EFBFBD> /<EFBFBD> 8;<EFBFBD> W<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> J<EFBFBD> <EFBFBD> o:<EFBFBD> N<EFBFBD> `<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> h<EFBFBD> <EFBFBD> { ܣ<EFBFBD> <EFBFBD> <EFBFBD> Ԑ8<EFBFBD> Eu<EFBFBD> & <EFBFBD> W| Ɇ<EFBFBD> <EFBFBD> <EFBFBD> U<EFBFBD> & \r\"<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> |-udž<EFBFBD> N<EFBFBD> <EFBFBD> :nc<EFBFBD> <EFBFBD> fV<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> # U 2 0<EFBFBD> >\"<EFBFBD> <EFBFBD> <EFBFBD> ><EFBFBD> `<EFBFBD> k]<EFBFBD> -<EFBFBD> <EFBFBD> x<EFBFBD> S<EFBFBD> ͇ Т<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> c<EFBFBD> <EFBFBD> <EFBFBD> B<EFBFBD> <EFBFBD> }<EFBFBD> & `<EFBFBD> <EFBFBD> r+E<EFBFBD> <EFBFBD> \$<EFBFBD> yN<EFBFBD> <EFBFBD> <EFBFBD> b,<EFBFBD> <EFBFBD> <EFBFBD> Wx <EFBFBD> <EFBFBD> -9<EFBFBD> <EFBFBD> r<EFBFBD> ,<EFBFBD> <EFBFBD> `<EFBFBD> +<EFBFBD> <EFBFBD> <EFBFBD> ˊ<EFBFBD> <EFBFBD> C<EFBFBD> <EFBFBD> )<EFBFBD> <EFBFBD> 7<EFBFBD> x\r<EFBFBD> <EFBFBD> W<EFBFBD> fM<EFBFBD> SR<EFBFBD> \\<EFBFBD> z<EFBFBD> <EFBFBD> Q<EFBFBD> ̓ <EFBFBD> <EFBFBD> u A<EFBFBD> <EFBFBD> <EFBFBD> 2<EFBFBD> <EFBFBD> <EFBFBD> 4<EFBFBD> L& <EFBFBD> Hi µ<EFBFBD> <EFBFBD> <EFBFBD> S\$)e<EFBFBD> <EFBFBD> <EFBFBD> g rȌ<EFBFBD> <EFBFBD> \$]Z<EFBFBD> iYs<EFBFBD> <EFBFBD> <EFBFBD> kW<EFBFBD> n><EFBFBD> 7E1k 8<EFBFBD> d<EFBFBD> r<EFBFBD> <EFBFBD> <EFBFBD> k<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> E<EFBFBD> <EFBFBD> <EFBFBD> w<EFBFBD> wc m<EFBFBD> Ty<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> a<EFBFBD> \$tx\rB<EFBFBD> <EFBFBD> =<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> *<EFBFBD> < <EFBFBD> <EFBFBD> <EFBFBD> l<EFBFBD> f<EFBFBD> K<EFBFBD> <EFBFBD> N/<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> l<EFBFBD> <EFBFBD> <EFBFBD> kH<EFBFBD> <EFBFBD> 8<EFBFBD> .<EFBFBD> <EFBFBD> <EFBFBD> ?f<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 6<EFBFBD> ч<EFBFBD> {gi/\"<EFBFBD> @<EFBFBD> <EFBFBD> K<EFBFBD> <EFBFBD> @2<EFBFBD> <EFBFBD> a|#,Z<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> w<EFBFBD> d<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 6w<EFBFBD> ^& <EFBFBD> <EFBFBD> t<EFBFBD> <EFBFBD> <EFBFBD> P<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ]<EFBFBD> <EFBFBD> <EFBFBD> .<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> T<EFBFBD> <EFBFBD> kro<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> \ro=<EFBFBD> %<EFBFBD> <EFBFBD> h`: \0᱂<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> |ꊣ<EFBFBD> a<EFBFBD> Ԯ 6*:<EFBFBD> <EFBFBD> *<EFBFBD> <EFBFBD> rO-^<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> n<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> M<EFBFBD> }<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Aya<EFBFBD> <EFBFBD> <EFBFBD> \n<EFBFBD> u^<EFBFBD> <EFBFBD> <EFBFBD> rnO\r<EFBFBD> <EFBFBD> <EFBFBD> `<EFBFBD> T~< /<EFBFBD> <EFBFBD> w<EFBFBD> y<EFBFBD> }<EFBFBD> :<EFBFBD> |<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̡ 6<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> v<EFBFBD> \rc< <EFBFBD> b#<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> \$<EFBFBD> s<EFBFBD> <EFBFBD> |燇 V)<EFBFBD> h<EFBFBD> T C<EFBFBD> <EFBFBD> (Ľ<EFBFBD> <EFBFBD> <EFBFBD> ]6<EFBFBD> <EFBFBD> 1<EFBFBD> !1M<EFBFBD> <EFBFBD> @a<EFBFBD> /<EFBFBD> `<EFBFBD> >ٸ<EFBFBD> ߣ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> C/<EFBFBD> 6ഷ #p @p<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> `Z<EFBFBD> <EFBFBD> <EFBFBD> ch<EFBFBD> <EFBFBD> \0<EFBFBD> <EFBFBD> \0o<EFBFBD> <EFBFBD> <EFBFBD> 4O<EFBFBD> O<EFBFBD> i\0-\n<EFBFBD> <EFBFBD> <EFBFBD> /<EFBFBD> \0<EFBFBD> D<EFBFBD> .<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> .<EFBFBD> Đ \0f i<EFBFBD> <EFBFBD> ȫ<EFBFBD> <EFBFBD> <EFBFBD> \0<EFBFBD> <EFBFBD> ID<EFBFBD> <EFBFBD> \0<EFBFBD> <EFBFBD> \r<EFBFBD> <EFBFBD> 0f<EFBFBD> <EFBFBD> o<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> G<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> e J|\r<EFBFBD> <EFBFBD> <EFBFBD> l <EFBFBD> 3<EFBFBD> ~<EFBFBD> i P<EFBFBD> <EFBFBD> & <EFBFBD> <EFBFBD> <EFBFBD> /<EFBFBD> \0<EFBFBD> 9 ^ \0r<EFBFBD> 0]<EFBFBD> <EFBFBD> <EFBFBD> o<EFBFBD> <EFBFBD> .<EFBFBD> \"<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> M<EFBFBD> <EFBFBD> <EFBFBD> v<EFBFBD> P<EFBFBD> Z<EFBFBD> <EFBFBD> m p<EFBFBD> P<EFBFBD> <EFBFBD> <EFBFBD> ڜ<EFBFBD> ޏ<EFBFBD> <EFBFBD> <EFBFBD> {<EFBFBD> <EFBFBD> C ?<EFBFBD> <EFBFBD> k<EFBFBD> <EFBFBD> ϼ}<EFBFBD> <EFBFBD> <EFBFBD> d<EFBFBD> <EFBFBD> ʏ<EFBFBD> ~=<EFBFBD> .<EFBFBD> <EFBFBD> - <EFBFBD> <EFBFBD> m 1> h<EFBFBD> <EFBFBD> <EFBFBD> Е 1; QI<EFBFBD> O P<EFBFBD> \r<EFBFBD> <EFBFBD> c<EFBFBD> pA pV<EFBFBD> k\rQ*<EFBFBD> Q}<EFBFBD> <EFBFBD> <EFBFBD> q><EFBFBD> <EFBFBD> u<EFBFBD> 15<EFBFBD> Bq Q[ 1f<EFBFBD> <EFBFBD> l<EFBFBD> <EFBFBD> <EFBFBD> a p<EFBFBD> <EFBFBD> <EFBFBD> \0<EFBFBD> <EFBFBD> *<EFBFBD> J<EFBFBD> Q=<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> G<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> _<EFBFBD> <EFBFBD> <EFBFBD> b<EFBFBD> GH F.<EFBFBD> 0<EFBFBD> <EFBFBD> = 2 P<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> P !<EFBFBD> # (3 \n<EFBFBD> !1& 7 2f<EFBFBD> <EFBFBD> `<EFBFBD> /<EFBFBD> <EFBFBD> \0<EFBFBD> <EFBFBD> \"P<EFBFBD> U<EFBFBD> \$<EFBFBD> \r 0<EFBFBD> <EFBFBD> <EFBFBD> , Q rU& 2f<EFBFBD> <EFBFBD> _<EFBFBD> X<EFBFBD> <EFBFBD> <EFBFBD> ]<EFBFBD> 9\"<EFBFBD> S'<EFBFBD> <EFBFBD> '<EFBFBD> y<EFBFBD> 8\r<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> k W)O<EFBFBD> )<EFBFBD> <EFBFBD> *Ra%<EFBFBD> \\ i<EFBFBD> %<EFBFBD> <EFBFBD> & ҳ+r<EFBFBD> <EFBFBD> 3<EFBFBD> S `<EFBFBD> ,<EFBFBD> v<EFBFBD> <EFBFBD> & 2<EFBFBD> L<EFBFBD> & Pu*<EFBFBD> <EFBFBD> -<EFBFBD> <EFBFBD> 0\"<EFBFBD> %HĬ Ԟ<EFBFBD> <EFBFBD> @ؓ <EFBFBD> <EFBFBD> H<EFBFBD> B<EFBFBD> P(<EFBFBD> <EFBFBD> \$p& <EFBFBD> ,1 M<EFBFBD> <EFBFBD> ح<EFBFBD> <EFBFBD> ;\rn<EFBFBD> .<EFBFBD> <EFBFBD> I<EFBFBD> .<EFBFBD> ',1<EFBFBD> <EFBFBD> )<EFBFBD> 4<EFBFBD> <EFBFBD> <EFBFBD> 2<EFBFBD> u+<EFBFBD> 3<EFBFBD> <EFBFBD> `<EFBFBD> S<EFBFBD> <EFBFBD> pL\nt<EFBFBD> <EFBFBD> _*<EFBFBD> S 3;6r<EFBFBD> 'h35<EFBFBD> 55䜋d 2q+6<EFBFBD> <EFBFBD> 8<EFBFBD> O7sC\"pm8ҭ<EFBFBD> <EFBFBD> 6<EFBFBD> <EFBFBD> 9<EFBFBD> m\n@e0<EFBFBD> < 8B <EFBFBD> 8 <EFBFBD> < , ( <EFBFBD> <EFBFBD> <EFBFBD> 8 <EFBFBD> <EFBFBD> \ 0 <EFBFBD> <EFBFBD> 0 <EFBFBD> J <EFBFBD> < @ <EFBFBD> <EFBFBD> I <EFBFBD> <EFBFBD> <EFBFBD> R6pԭm G <EFBFBD> \ " 11 <EFBFBD> 6 <EFBFBD> <EFBFBD> . \ " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 5̂ <EFBFBD> <EFBFBD> : <EFBFBD> <EFBFBD> 8b <EFBFBD> A1 <EFBFBD> ; <EFBFBD> ' ; <EFBFBD> ? < * \ $ <EFBFBD> , <EFBFBD> ̍ o= <EFBFBD> T <EFBFBD> <EFBFBD> / 3 <EFBFBD> # <EFBFBD> <EFBFBD> ҆ <EFBFBD> " ) ; } elseif ( $ _GET [ " file " ] = = " functions . js " ) { header ( " Content-Type: text / javascript ; charset = utf-8");echo
lzw_decompress("f:<EFBFBD> <EFBFBD> gCI<EFBFBD> <EFBFBD> \n0<EFBFBD> <EFBFBD> S<EFBFBD> <EFBFBD> a9<EFBFBD> <EFBFBD> S`<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> & <EFBFBD> (<EFBFBD> <EFBFBD> n0<EFBFBD> <EFBFBD> <EFBFBD> QI<EFBFBD> <EFBFBD> f<EFBFBD> <EFBFBD> \$<EFBFBD> At^ s<EFBFBD> G<EFBFBD> <EFBFBD> tf6e<EFBFBD> <EFBFBD> y<EFBFBD> <EFBFBD> () L<EFBFBD> S<EFBFBD> <EFBFBD> P'<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> R'<EFBFBD> f q]\"<EFBFBD> s> )<EFBFBD> <EFBFBD> `<EFBFBD> H2<EFBFBD> Eq9<EFBFBD> <EFBFBD> ?<EFBFBD> * )<EFBFBD> <EFBFBD> t'<EFBFBD> <EFBFBD> ϧ<EFBFBD> \n \r<EFBFBD> s< <EFBFBD> Pi2IN<EFBFBD> <EFBFBD> *(=2<EFBFBD> gX<EFBFBD> <EFBFBD> <EFBFBD> .3<EFBFBD> N<EFBFBD> Y 4<EFBFBD> B< <EFBFBD> L<EFBFBD> <EFBFBD> <EFBFBD> i<EFBFBD> ̥ 2<EFBFBD> <EFBFBD> z=<EFBFBD> 0 H<EFBFBD> <EFBFBD> <EFBFBD> '<EFBFBD> ꌚ<EFBFBD> u<EFBFBD> tt:<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> e<EFBFBD> ]`pX9<EFBFBD> <EFBFBD> o5<EFBFBD> g<EFBFBD> <EFBFBD> I<EFBFBD> <EFBFBD> ,2 O4<EFBFBD> <EFBFBD> х<EFBFBD> M<EFBFBD> S<EFBFBD> (<EFBFBD> a<EFBFBD> <EFBFBD> #<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> |<EFBFBD> G<EFBFBD> b<EFBFBD> <EFBFBD> <EFBFBD> x<EFBFBD> ^Z[<EFBFBD> <EFBFBD> <EFBFBD> G<EFBFBD> <EFBFBD> uTv<EFBFBD> (ҝ m@V<EFBFBD> <EFBFBD> (<EFBFBD> <EFBFBD> <EFBFBD> bN< <EFBFBD> <EFBFBD> `<EFBFBD> <EFBFBD> X<EFBFBD> <EFBFBD> 1<EFBFBD> +<EFBFBD> <EFBFBD> 9J8<EFBFBD> 2\r<EFBFBD> K<EFBFBD> 9<EFBFBD> h<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> `<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> I8䛱 S<EFBFBD> <EFBFBD> <EFBFBD> t<EFBFBD> 2<EFBFBD> +,<EFBFBD> <EFBFBD> I<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> p<EFBFBD> 9 a<EFBFBD> <EFBFBD> <EFBFBD> < \\8 Cz<EFBFBD> <EFBFBD> \r<EFBFBD> <EFBFBD> ^<EFBFBD> <EFBFBD> <EFBFBD> ]<EFBFBD> 1 \\7<EFBFBD> C8_ E p^<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> M1<EFBFBD> w\"' 4f<EFBFBD> S X9ES|䛅<EFBFBD> k 3<EFBFBD> B@<EFBFBD> <EFBFBD> <EFBFBD> Xa=No4t7<EFBFBD> <EFBFBD> dD3<EFBFBD> p<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> : ) \\;<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> \r)8H<EFBFBD> <EFBFBD> 44Pc=\n<EFBFBD> !pd<EFBFBD> <EFBFBD> QN\r<EFBFBD> H<EFBFBD> '<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 2<EFBFBD> # \" եm-<EFBFBD> b,<EFBFBD> <EFBFBD> M.<EFBFBD> <EFBFBD> <EFBFBD> -IK<EFBFBD> )<EFBFBD> <EFBFBD> e'<EFBFBD> <EFBFBD> \"<EFBFBD> <EFBFBD> <EFBFBD> >2X<EFBFBD> œe<EFBFBD> j:9^<EFBFBD> 1c<EFBFBD> <EFBFBD> <EFBFBD> ȝ<EFBFBD> :Y<EFBFBD> @<EFBFBD> u<EFBFBD> 㓛 4<EFBFBD> X<EFBFBD> & <EFBFBD> <EFBFBD> |<EFBFBD> )ђ<EFBFBD> <EFBFBD> -K<EFBFBD> x<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> S<EFBFBD> <EFBFBD> 1<EFBFBD> <EFBFBD> \$<EFBFBD> <EFBFBD> @\\<EFBFBD> !x]\0<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> F<EFBFBD> CO<EFBFBD> :<EFBFBD> 1 K<EFBFBD> <EFBFBD> *<EFBFBD> F4 a<EFBFBD> <EFBFBD> <EFBFBD> k<EFBFBD> <EFBFBD> <EFBFBD> KϚ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 2l<EFBFBD> p<EFBFBD> 3J< <EFBFBD> <EFBFBD> ,2<EFBFBD> <EFBFBD> 8#<EFBFBD> <EFBFBD> <EFBFBD> \r<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> h<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> F<EFBFBD> <EFBFBD> ݉ 2P<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> l (<EFBFBD> \$ְ \nJ۷-<EFBFBD> <EFBFBD> ǰcc~<EFBFBD> F<EFBFBD> <EFBFBD> <EFBFBD> r<EFBFBD> <EFBFBD> t b<EFBFBD> <EFBFBD> <EFBFBD> m{h<EFBFBD> .<EFBFBD> {<EFBFBD> t k<EFBFBD> B<EFBFBD> Kc<EFBFBD> z4<EFBFBD> C<EFBFBD> 9<EFBFBD> ۫ ~><EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> `Ɠ<EFBFBD> C <EFBFBD> s:<EFBFBD> <EFBFBD> <EFBFBD> !c<EFBFBD> <EFBFBD> <EFBFBD> ڵ<EFBFBD> *W<EFBFBD> HX:W<EFBFBD> <EFBFBD> ;N<EFBFBD> <EFBFBD> <EFBFBD> j*<EFBFBD> /(<EFBFBD> _p3<EFBFBD> <EFBFBD> HI<EFBFBD> Kl<EFBFBD> n! t r<EFBFBD> <EFBFBD> G㭺<EFBFBD> t C<EFBFBD> v<EFBFBD> ?m㤣<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> \0C<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> oܥcbf6I<EFBFBD> <EFBFBD> '\r<EFBFBD> b<EFBFBD> <EFBFBD> 7h<EFBFBD> `<EFBFBD> <EFBFBD> 9<EFBFBD> i<EFBFBD> d5<EFBFBD> <EFBFBD> taM<EFBFBD> ={ɩ<EFBFBD> <EFBFBD> `NoK<EFBFBD> !d4<EFBFBD> <EFBFBD> zWXd mH<EFBFBD> <EFBFBD> *<EFBFBD> <EFBFBD> <EFBFBD> S ]<EFBFBD> <EFBFBD> 3& \0ڰ d% A<EFBFBD> -<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Q<EFBFBD> }<EFBFBD> <EFBFBD> <EFBFBD> U !t7<EFBFBD> 䋆<EFBFBD> >x<EFBFBD> <EFBFBD> t{mY<EFBFBD> <EFBFBD> 0<EFBFBD> @^<EFBFBD> <EFBFBD> \"<EFBFBD> =<EFBFBD> <EFBFBD> <EFBFBD> @t\r<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> + Y<EFBFBD> .<EFBFBD> <EFBFBD> <EFBFBD> X<EFBFBD> \n<EFBFBD> I'KT<EFBFBD> <EFBFBD> ^ (<EFBFBD> D. @<EFBFBD> <EFBFBD> <EFBFBD> ++@<EFBFBD> 3<EFBFBD> <EFBFBD> <EFBFBD> X<EFBFBD> aE<EFBFBD> ! ,<EFBFBD> Y<EFBFBD> <EFBFBD> 2- 432Ԍ<EFBFBD> MO<EFBFBD> <EFBFBD> I\$q% ċG<EFBFBD> X9<EFBFBD> <EFBFBD> <EFBFBD> [R\0n<EFBFBD> <EFBFBD> и P<EFBFBD> Jy\r <EFBFBD> B<EFBFBD> p\\H<EFBFBD> pgSɼ<EFBFBD> F aejk<EFBFBD> . 4<EFBFBD> <EFBFBD> C.^<EFBFBD> yi<EFBFBD> <EFBFBD> 9<EFBFBD> PĈe\"ΔNY<EFBFBD> <EFBFBD> <EFBFBD> BH<EFBFBD> # 8<EFBFBD> B1\"<EFBFBD> j\\کx<EFBFBD> <EFBFBD> #<EFBFBD> <EFBFBD> @G 9<EFBFBD> 2<EFBFBD> <EFBFBD> f.Ќps r<EFBFBD> TJ<EFBFBD> x<EFBFBD> k<EFBFBD> <EFBFBD> <EFBFBD> 4KIl<EFBFBD> f<EFBFBD> 8z<EFBFBD> <EFBFBD> Kȇ>AK<EFBFBD> <EFBFBD> <EFBFBD> n^<EFBFBD> <EFBFBD> =& <EFBFBD> <EFBFBD> A<EFBFBD> <EFBFBD> * ?'<EFBFBD> <EFBFBD> ^%;<EFBFBD> <EFBFBD> 4܀<EFBFBD> <EFBFBD> <EFBFBD> 9<EFBFBD> <EFBFBD> Q<EFBFBD> <EFBFBD> h<EFBFBD> N<EFBFBD> <EFBFBD> >M<EFBFBD> = ['<EFBFBD> vHI<EFBFBD> J<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> v<EFBFBD> <EFBFBD> <EFBFBD> R<EFBFBD> t<EFBFBD> <EFBFBD> < <EFBFBD> <EFBFBD> Ҳ<EFBFBD> ^<EFBFBD> <EFBFBD> z<EFBFBD> B^<EFBFBD> h<EFBFBD> '<EFBFBD> <EFBFBD> ɩ<EFBFBD> )-'#<EFBFBD> <EFBFBD> 9JT<EFBFBD> )<EFBFBD> @jO!<EFBFBD> <EFBFBD> c,e<EFBFBD> j<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> @H,<EFBFBD> <EFBFBD> <EFBFBD> j<EFBFBD> a<EFBFBD> <EFBFBD> v<EFBFBD> Z<EFBFBD> ><EFBFBD> <EFBFBD> ҷ<EFBFBD> )E`\0\n<EFBFBD> <EFBFBD> T<EFBFBD> P<EFBFBD> 8L< <EFBFBD> c<EFBFBD> :F<EFBFBD> <EFBFBD> <EFBFBD> \$ \n<EFBFBD> <EFBFBD> 휆<EFBFBD> <EFBFBD> CHm \"<EFBFBD> j<EFBFBD> y<EFBFBD> A<EFBFBD> S<EFBFBD> <EFBFBD> <EFBFBD> S<EFBFBD> <EFBFBD> Q<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> { T']W<EFBFBD> <EFBFBD> U<EFBFBD> )_L<EFBFBD> <EFBFBD> i<EFBFBD> m<EFBFBD> O<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> P: g<EFBFBD> {<EFBFBD> <EFBFBD> Zė<EFBFBD> .<EFBFBD> {<EFBFBD> <EFBFBD> <EFBFBD> Dh\n<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> a<EFBFBD> \r]9<EFBFBD> t<EFBFBD> <EFBFBD> !XA<EFBFBD> [Ȱ<EFBFBD> <EFBFBD> <EFBFBD> C<EFBFBD> <EFBFBD> ׁ \n:<EFBFBD> <EFBFBD> ha<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> \"ݢa2Lm<EFBFBD> <EFBFBD> <EFBFBD> \\ <EFBFBD> <EFBFBD> p5<EFBFBD> @<EFBFBD> <EFBFBD> @m<EFBFBD> <EFBFBD> |W<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> %<EFBFBD> |u<EFBFBD> <EFBFBD> <EFBFBD> +hK<EFBFBD> L& <EFBFBD> <EFBFBD> <EFBFBD> 3<EFBFBD> .XW<EFBFBD> ٺ<EFBFBD> <EFBFBD> <EFBFBD> * q<EFBFBD> <EFBFBD> c<EFBFBD> <EFBFBD> <EFBFBD> %<EFBFBD> .K<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> _<EFBFBD> )<EFBFBD> u<EFBFBD> 2W\$O]<EFBFBD> d8<EFBFBD> <EFBFBD> <EFBFBD> g<EFBFBD> ?mFy<EFBFBD> ly<EFBFBD> %Ӊ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> D Q<EFBFBD> <EFBFBD> .uIJ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> L<EFBFBD> <EFBFBD> ,<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 3<EFBFBD> <EFBFBD> j<EFBFBD> 0t a<EFBFBD> < <EFBFBD> \0P r<EFBFBD> mNs8ٌ k>M9,<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> B<EFBFBD> <EFBFBD> <EFBFBD> x<EFBFBD> უzo<EFBFBD> <EFBFBD> <EFBFBD> uB ?`<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> & <EFBFBD> I<EFBFBD> < <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> e<EFBFBD> Y<EFBFBD> s<EFBFBD> <EFBFBD> z ԇ*<EFBFBD> .'t<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> z<EFBFBD> )m*4X=<EFBFBD> tI=<EFBFBD> nѦy<EFBFBD> ޚ<EFBFBD> <EFBFBD> c2<EFBFBD> <EFBFBD> `<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> .Y<EFBFBD> <EFBFBD> <EFBFBD> :<EFBFBD> <EFBFBD> K<EFBFBD> N<EFBFBD> <EFBFBD> r06<EFBFBD> _ rJ<EFBFBD> <EFBFBD> k<EFBFBD> t O<EFBFBD> |^͈ <EFBFBD> <EFBFBD> z\nϿ鱕<EFBFBD> < W <EFBFBD> 1n . <EFBFBD> X <EFBFBD> ` <EFBFBD> <EFBFBD> g <EFBFBD> VG4Z <EFBFBD> <EFBFBD> r <EFBFBD> ! <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Y [ <EFBFBD> <EFBFBD> <EFBFBD> z:L <EFBFBD> D <EFBFBD> <EFBFBD> @ T <EFBFBD> 0 <EFBFBD> ` <EFBFBD> <EFBFBD> <EFBFBD> p jS n \ " Y <EFBFBD> <EFBFBD> g <EFBFBD> ` <EFBFBD> } Ě <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> \ n \ n <EFBFBD> 4 <EFBFBD> <EFBFBD> \ rg <EFBFBD> <EFBFBD> O7ܿ b <EFBFBD> <EFBFBD> <EFBFBD> y <EFBFBD> <EFBFBD> ) <EFBFBD> E <EFBFBD> <EFBFBD> <EFBFBD> ) w > <EFBFBD> ~ur<EFBFBD> <EFBFBD> <EFBFBD> 29h<EFBFBD> t<EFBFBD> gB#<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> F<EFBFBD> p(<EFBFBD> @<EFBFBD> `u0<EFBFBD> у(f lG<EFBFBD> a0bZ 7J@<EFBFBD> I_ PZ<EFBFBD> <EFBFBD> yq^<EFBFBD> <EFBFBD> 7<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> G<EFBFBD> 3d<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 3<EFBFBD> 铄0<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> {ָ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> a6<EFBFBD> P<EFBFBD> <EFBFBD> 4W <EFBFBD> d:<EFBFBD> <EFBFBD> <EFBFBD> W\n<EFBFBD> t4<EFBFBD> <EFBFBD> <EFBFBD> .<EFBFBD> <EFBFBD> D<EFBFBD> y<EFBFBD> ȧ<EFBFBD> 85<EFBFBD> <EFBFBD> AM<EFBFBD> L<EFBFBD> Xw5<EFBFBD> ese<EFBFBD> <EFBFBD> <EFBFBD> C #<EFBFBD> <EFBFBD> <EFBFBD> rrY<EFBFBD> Ǯ!<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 唟@/\r<EFBFBD> <EFBFBD> 0<EFBFBD> w El\"<EFBFBD> O<EFBFBD> W<EFBFBD> < Q <EFBFBD> <EFBFBD> ۠ <EFBFBD> Ek <EFBFBD> <EFBFBD> SQi <EFBFBD> d <EFBFBD> <EFBFBD> \ \ k ٬ <EFBFBD> <EFBFBD> 8 <EFBFBD> <EFBFBD> <EFBFBD> H <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> \ " <EFBFBD> bL } <EFBFBD> % <EFBFBD> <EFBFBD> <EFBFBD> - ^ <EFBFBD> _ <EFBFBD> h \ nF <EFBFBD> - . <EFBFBD> 2nj <EFBFBD> <EFBFBD> <EFBFBD> VM <EFBFBD> xnj <EFBFBD> <EFBFBD> m \ \ \ $ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> * \ n <EFBFBD> <EFBFBD> <EFBFBD> ' <EFBFBD> ~ <EFBFBD> <EFBFBD> Z @ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> V <EFBFBD> <EFBFBD> <EFBFBD> L \ " <EFBFBD> <EFBFBD> <EFBFBD> p <EFBFBD> <EFBFBD> 5 <EFBFBD> <EFBFBD> O , <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ˹ \ 0 \ n <EFBFBD> <EFBFBD> -0 <EFBFBD> \ r4 <EFBFBD> p <EFBFBD> <EFBFBD> b <EFBFBD> 0f <EFBFBD> p <EFBFBD> mg <EFBFBD> i <EFBFBD> <EFBFBD> O <EFBFBD> . ( <EFBFBD> P9 <EFBFBD> A PH + <EFBFBD> NHpf <EFBFBD> <EFBFBD> 4 ? B <EFBFBD> M <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> JF <EFBFBD> <EFBFBD> . <EFBFBD> <EFBFBD> <EFBFBD> \ 0 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> i <EFBFBD> jƀP <EFBFBD> + ( <EFBFBD> & <EFBFBD> <EFBFBD> <EFBFBD> a <EFBFBD> <EFBFBD> % l ] ' <EFBFBD> <EFBFBD> l ^ @ ( <EFBFBD> 5 <EFBFBD> N fs <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> b z <EFBFBD> <EFBFBD> e > <EFBFBD> p<EFBFBD> <EFBFBD> <EFBFBD> k <EFBFBD> D<EFBFBD> \r 4a<EFBFBD> N<EFBFBD> <EFBFBD> Y ({<EFBFBD> D<EFBFBD> <EFBFBD> nƆ<EFBFBD> <EFBFBD> <EFBFBD> >jĨ1<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> < <EFBFBD> l-<EFBFBD> x<EFBFBD> <EFBFBD> \r<EFBFBD> G<EFBFBD> O Qw<EFBFBD> <EFBFBD> qw<EFBFBD> c<EFBFBD> P<EFBFBD> b\r<EFBFBD> ̶ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> d<EFBFBD> <EFBFBD> 6<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> s<EFBFBD> ࢎ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ж<EFBFBD> r<EFBFBD> <EFBFBD> j><EFBFBD> <EFBFBD> J<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ȯ<EFBFBD> b<EFBFBD> 3<EFBFBD> <EFBFBD> (F<EFBFBD> <EFBFBD> zސ<EFBFBD> <EFBFBD> r<EFBFBD> `O<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> X<EFBFBD> <EFBFBD> \rZ<EFBFBD> q<EFBFBD> \r <EFBFBD> 1 \$<EFBFBD> <EFBFBD> <EFBFBD> gk<EFBFBD> l<EFBFBD> <EFBFBD> r+<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> kf<EFBFBD> '<EFBFBD> 5<EFBFBD> 8<EFBFBD> 4<EFBFBD> 6<EFBFBD> \0<EFBFBD> -<EFBFBD> .i~4<EFBFBD> E< \$<EFBFBD> J<EFBFBD> lru2F;Bn< <EFBFBD> %#lq%<EFBFBD> <EFBFBD> b=<EFBFBD> <EFBFBD> #L<EFBFBD> (HJ1b%\r縼<EFBFBD> z<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> G2<EFBFBD> <EFBFBD> ^ 8w<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ^ %<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> G<EFBFBD> *g<EFBFBD> 7D\0^<EFBFBD> r<EFBFBD> c<EFBFBD> <EFBFBD> p<EFBFBD> <EFBFBD> L,<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> *<EFBFBD> Xr<EFBFBD> \$ <EFBFBD> 8<EFBFBD> <EFBFBD> ,<EFBFBD> *<EFBFBD> D<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> `<EFBFBD> \n<EFBFBD> <EFBFBD> <EFBFBD> Z<EFBFBD> <EFBFBD> <EFBFBD> s 1l<EFBFBD> 1<EFBFBD> \\{<EFBFBD> <EFBFBD> .I~ `<EFBFBD> *3<EFBFBD> <EFBFBD> <EFBFBD> ] 1<EFBFBD> F͑ 1 X -<EFBFBD> %#<EFBFBD> <EFBFBD> <EFBFBD> S 3L<EFBFBD> l 6 \$Cr<EFBFBD> C/<EFBFBD> <EFBFBD> \r<EFBFBD> %,<EFBFBD> |<EFBFBD> <EFBFBD> <EFBFBD> Ȇnj<EFBFBD> <EFBFBD> <EFBFBD> su8<EFBFBD> J<EFBFBD> <EFBFBD> <EFBFBD> 䬗9<EFBFBD> <EFBFBD> <EFBFBD> h<EFBFBD> <EFBFBD> <EFBFBD> N<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> .<EFBFBD> <EFBFBD> <EFBFBD> P<EFBFBD> F t<EFBFBD> <EFBFBD> \$<EFBFBD> 3\n<EFBFBD> FB/<EFBFBD> =4<EFBFBD> -<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͏ 9<EFBFBD> # O:I<EFBFBD> <EFBFBD> ]#<EFBFBD> 7B<EFBFBD> <EFBFBD> , :<EFBFBD> <EFBFBD> < <EFBFBD> N<EFBFBD> D<EFBFBD> @<EFBFBD> R<EFBFBD> <EFBFBD> \n<EFBFBD> <EFBFBD> #<EFBFBD> <EFBFBD> z<EFBFBD> %8i :\0<EFBFBD> z<EFBFBD> ' Y<EFBFBD> *<EFBFBD> & <EFBFBD> <EFBFBD> <EFBFBD> /K<EFBFBD> ֦ <EFBFBD> <EFBFBD> <EFBFBD> U4<EFBFBD> z<EFBFBD> a> 4<EFBFBD> \0<EFBFBD> f *\0<EFBFBD> *TK02<EFBFBD> < <EFBFBD> 0S f<EFBFBD> <EFBFBD> <EFBFBD> ?D<EFBFBD> a 4X-<EFBFBD> u<EFBFBD> j\$E 6\0N<EFBFBD> i<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> \n<EFBFBD> c 9<EFBFBD> H<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> HIb<EFBFBD> <EFBFBD> F<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> s<EFBFBD> R~t<EFBFBD> I<EFBFBD> <EFBFBD> <EFBFBD> 3<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> L<EFBFBD> ;% 0p.B<EFBFBD> FBnMK<EFBFBD> <EFBFBD> R<EFBFBD> sD<EFBFBD> '<EFBFBD> a<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> D \r1<EFBFBD> O<EFBFBD> \0<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> s<EFBFBD> gL^̅ <EFBFBD> <EFBFBD> <EFBFBD> O>l<EFBFBD> <EFBFBD> C< D<EFBFBD> H<EFBFBD> -4< <EFBFBD> <EFBFBD> <EFBFBD> \"V]`<EFBFBD> /B<EFBFBD> <EFBFBD> U&<EFBFBD> ӹ-#w; <EFBFBD> ^<EFBFBD> M<EFBFBD> <EFBFBD> r<EFBFBD> q<EFBFBD> 0<EFBFBD> -<EFBFBD> o<EFBFBD> ~pK<EFBFBD> <EFBFBD> <EFBFBD> p<EFBFBD> <EFBFBD> <EFBFBD> \nq<EFBFBD> ,4<EFBFBD> W<EFBFBD> \$F<EFBFBD> nl\0<EFBFBD> M<EFBFBD> L<EFBFBD> \n<EFBFBD> <EFBFBD> -<EFBFBD> m<EFBFBD> \0<EFBFBD> )<EFBFBD> Z@<EFBFBD> Z<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ^@<EFBFBD> <EFBFBD> <EFBFBD> & Սd<EFBFBD> <EFBFBD> <EFBFBD> ] `<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> t\r<EFBFBD> <EFBFBD> '\$^R<EFBFBD> '<EFBFBD> O]<EFBFBD> <EFBFBD> SЬ<EFBFBD> 3<EFBFBD> 5 ⓘF\"Q[u<EFBFBD> [<EFBFBD> H\$<EFBFBD> o`6 Zu<EFBFBD> <EFBFBD> mo[<EFBFBD> <EFBFBD> ]<EFBFBD> X<EFBFBD> T<EFBFBD> <EFBFBD> ]<EFBFBD> Ҟ<EFBFBD> <EFBFBD> \\c<EFBFBD> b<EFBFBD> :<EFBFBD> b<EFBFBD> U\0<EFBFBD> W2<EFBFBD> Vb<EFBFBD> <EFBFBD> e<EFBFBD> 2/<EFBFBD> d%< YRt7 <EFBFBD> ' f <EFBFBD> 0 <EFBFBD> u <EFBFBD> ru <EFBFBD> h <EFBFBD> U @ cTs <EFBFBD> V <EFBFBD> <EFBFBD> gF <EFBFBD> <EFBFBD> { _ -_P <EFBFBD> E <EFBFBD> <EFBFBD> T: { <EFBFBD> <EFBFBD> V <EFBFBD> d <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> - <EFBFBD> Ic <EFBFBD> <EFBFBD> <EFBFBD> ȁ <EFBFBD> <EFBFBD> M <EFBFBD> <EFBFBD> <EFBFBD> iv <EFBFBD> <EFBFBD> J <EFBFBD> \ 0m3 @ JX <EFBFBD> R MU_ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> p <EFBFBD> 5 ) k <EFBFBD> kl- \ $ , Ɠ \ r & <EFBFBD> \ r <EFBFBD> <EFBFBD> <EFBFBD> O <EFBFBD> ( o <EFBFBD> <EFBFBD> k + r <EFBFBD> <EFBFBD> \ \ <EFBFBD> P7 \ " * ^ <EFBFBD> P <EFBFBD> \ rc <EFBFBD> < > <EFBFBD> <EFBFBD> t #~R<EFBFBD> \"<EFBFBD> en<EFBFBD> <EFBFBD> <EFBFBD> s<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ;<EFBFBD> D <EFBFBD> It<EFBFBD> <EFBFBD> u p t @<EFBFBD> <EFBFBD> 8d \0<EFBFBD> @<EFBFBD> l Tw<EFBFBD> r <EFBFBD> ww<EFBFBD> ~ b<EFBFBD> <EFBFBD> <EFBFBD> J <EFBFBD> <EFBFBD> u<EFBFBD> \n<EFBFBD> <EFBFBD> , u;jַ 7s<EFBFBD> <EFBFBD> {*<EFBFBD> o<EFBFBD> >q<EFBFBD> < - \ 0 <EFBFBD> <EFBFBD> <EFBFBD> \ n <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> | ¹ r c <EFBFBD> <EFBFBD> v7 <EFBFBD> i7O { E C <EFBFBD> ( <EFBFBD> <EFBFBD> 1 <EFBFBD> p <EFBFBD> y <EFBFBD> ҇ n<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Z <EFBFBD> <EFBFBD> [ r > 8<EFBFBD> X<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> {<EFBFBD> <EFBFBD> ~j<EFBFBD> ~<EFBFBD> <EFBFBD> (<EFBFBD> <EFBFBD> <EFBFBD> (Y`<EFBFBD> <EFBFBD> 7_»z %v d<EFBFBD> '<EFBFBD> %.<EFBFBD> \$w/ .=<EFBFBD> p<EFBFBD> & <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 8V 5R=<EFBFBD> N<EFBFBD> 4
lzw_decompress("v0<EFBFBD> <EFBFBD> F<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ==<EFBFBD> <EFBFBD> FS <EFBFBD> <EFBFBD> _6 MƳ<EFBFBD> <EFBFBD> <EFBFBD> r:<EFBFBD> E<EFBFBD> CI<EFBFBD> <EFBFBD> o:<EFBFBD> C<EFBFBD> <EFBFBD> Xc<EFBFBD> <EFBFBD> \r<EFBFBD> J(:=<EFBFBD> E<EFBFBD> <EFBFBD> <EFBFBD> a28<EFBFBD> x<EFBFBD> <EFBFBD> ?<EFBFBD> '<EFBFBD> i<EFBFBD> SA NN<EFBFBD> <EFBFBD> <EFBFBD> xs<EFBFBD> N B<EFBFBD> <EFBFBD> Vl0<EFBFBD> <EFBFBD> <EFBFBD> S <EFBFBD> <EFBFBD> U l<EFBFBD> (D|҄ <EFBFBD> <EFBFBD> P<EFBFBD> <EFBFBD> ><EFBFBD> E<EFBFBD> 㩶yH c h<EFBFBD> <EFBFBD> -3 Eb<EFBFBD> <EFBFBD> <EFBFBD> b<EFBFBD> <EFBFBD> pE<EFBFBD> p<EFBFBD> 9.<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ~\n<EFBFBD> ? Kb<EFBFBD> iw |<EFBFBD> `<EFBFBD> <EFBFBD> d.<EFBFBD> x8EN<EFBFBD> <EFBFBD> !<EFBFBD> <EFBFBD> 2<EFBFBD> <EFBFBD> 3<EFBFBD> <EFBFBD> <EFBFBD> \r<EFBFBD> <EFBFBD> <EFBFBD> Y<EFBFBD> <EFBFBD> <EFBFBD> y6 GFmY<EFBFBD> 8o7\n\r<EFBFBD> 0<EFBFBD> <EFBFBD> \0<EFBFBD> Dbc<EFBFBD> !<EFBFBD> Q 7 Шd8<EFBFBD> <EFBFBD> <EFBFBD> ~<EFBFBD> <EFBFBD> N)<EFBFBD> Eг`<EFBFBD> Ns<EFBFBD> <EFBFBD> `<EFBFBD> S)<EFBFBD> O<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> /<EFBFBD> < <EFBFBD> x<EFBFBD> 9<EFBFBD> o<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 3 n<EFBFBD> <EFBFBD> 2<EFBFBD> !r<EFBFBD> :;<EFBFBD> +<EFBFBD> 9<EFBFBD> CȨ<EFBFBD> <EFBFBD> <EFBFBD> \n< <EFBFBD> <EFBFBD> `<EFBFBD> <EFBFBD> <EFBFBD> b<EFBFBD> \\<EFBFBD> ?<EFBFBD> `<EFBFBD> 4\r#`<EFBFBD> < <EFBFBD> Be<EFBFBD> B#<EFBFBD> N <EFBFBD> <EFBFBD> \r.D`<EFBFBD> <EFBFBD> j<EFBFBD> 4<EFBFBD> <EFBFBD> <EFBFBD> p<EFBFBD> ar<EFBFBD> <EFBFBD> 㢺<EFBFBD> ><EFBFBD> 8<EFBFBD> \$<EFBFBD> c<EFBFBD> <EFBFBD> 1<EFBFBD> c<EFBFBD> <EFBFBD> <EFBFBD> c<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> {n7<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> A<EFBFBD> N<EFBFBD> RLi \r1<EFBFBD> <EFBFBD> <EFBFBD> !<EFBFBD> (<EFBFBD> j´<EFBFBD> +<EFBFBD> <EFBFBD> 62<EFBFBD> X<EFBFBD> 8+<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> .\r<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> !x<EFBFBD> <EFBFBD> <EFBFBD> h<EFBFBD> '<EFBFBD> <EFBFBD> <EFBFBD> 6S<EFBFBD> \0R<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> O<EFBFBD> \n<EFBFBD> <EFBFBD> 1(W0<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 7 q<EFBFBD> <EFBFBD> :N<EFBFBD> E:68n+<EFBFBD> <EFBFBD> մ 5_(<EFBFBD> s<EFBFBD> \r<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> /m<EFBFBD> 6P<EFBFBD> @<EFBFBD> EQ<EFBFBD> <EFBFBD> <EFBFBD> 9 \n<EFBFBD> V-<EFBFBD> <EFBFBD> <EFBFBD> \"<EFBFBD> . :<EFBFBD> J<EFBFBD> <EFBFBD> 8we<EFBFBD> q<EFBFBD> |؇<EFBFBD> X<EFBFBD> ]<EFBFBD> <EFBFBD> Y X<EFBFBD> e<EFBFBD> zW<EFBFBD> <EFBFBD> <EFBFBD> 7<EFBFBD> <EFBFBD> Z1<EFBFBD> <EFBFBD> hQf<EFBFBD> <EFBFBD> u<EFBFBD> j<EFBFBD> 4Z{p\\AU<EFBFBD> J< <EFBFBD> <EFBFBD> k<EFBFBD> <EFBFBD> @<EFBFBD> ɍ<EFBFBD> <EFBFBD> @<EFBFBD> }& <EFBFBD> <EFBFBD> <EFBFBD> L7 U<EFBFBD> wuYh<EFBFBD> <EFBFBD> 2<EFBFBD> <EFBFBD> @<EFBFBD> u<EFBFBD> P<EFBFBD> 7<EFBFBD> A<EFBFBD> h<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 3 Û<EFBFBD> <EFBFBD> XEͅ Z<EFBFBD> ]<EFBFBD> l<EFBFBD> @Mp l v<EFBFBD> )<EFBFBD> <EFBFBD> <EFBFBD> HW<EFBFBD> <EFBFBD> <EFBFBD> y ><EFBFBD> Y <EFBFBD> -<EFBFBD> Y<EFBFBD> <EFBFBD> /<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> hC<EFBFBD> [*<EFBFBD> <EFBFBD> F<EFBFBD> <EFBFBD> #~<EFBFBD> !<EFBFBD> `<EFBFBD> \r#0P<EFBFBD> C˝<EFBFBD> f<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> \\ <EFBFBD> <EFBFBD> <EFBFBD> ^<EFBFBD> %B< <EFBFBD> \\<EFBFBD> f<EFBFBD> ޱ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> & /<EFBFBD> O<EFBFBD> <EFBFBD> L \\jF<EFBFBD> <EFBFBD> jZ<EFBFBD> 1<EFBFBD> \\:ƴ><EFBFBD> N<EFBFBD> <EFBFBD> XaF<EFBFBD> A<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> f<EFBFBD> h{\"s\n<EFBFBD> 64<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ?<EFBFBD> 8<EFBFBD> ^p<EFBFBD> \"띰<EFBFBD> ȸ\\<EFBFBD> e(<EFBFBD> P<EFBFBD> N<EFBFBD> <EFBFBD> q[g<EFBFBD> <EFBFBD> r<EFBFBD> & <EFBFBD> }Ph<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> W<EFBFBD> <EFBFBD> *<EFBFBD> <EFBFBD> r _s<EFBFBD> P<EFBFBD> h<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> \n<EFBFBD> <EFBFBD> <EFBFBD> om<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> #<EFBFBD> <EFBFBD> <EFBFBD> .<EFBFBD> \0@<EFBFBD> pdW <EFBFBD> \$Һ<EFBFBD> Q۽T l0<EFBFBD> <EFBFBD> <EFBFBD> HdH<EFBFBD> )<EFBFBD> <EFBFBD> ۏ<EFBFBD> <EFBFBD> )P<EFBFBD> <EFBFBD> <EFBFBD> H<EFBFBD> g<EFBFBD> <EFBFBD> U<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> B<EFBFBD> e\r<EFBFBD> t:<EFBFBD> <EFBFBD> \0)\"<EFBFBD> t<EFBFBD> ,<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> [<EFBFBD> ( D<EFBFBD> O\nR8!<EFBFBD> Ƭ֚ <EFBFBD> <EFBFBD> lA<EFBFBD> V<EFBFBD> <EFBFBD> 4<EFBFBD> h<EFBFBD> <EFBFBD> S q< <EFBFBD> <EFBFBD> @}<EFBFBD> <EFBFBD> <EFBFBD> gK<EFBFBD> ]<EFBFBD> <EFBFBD> <EFBFBD> ]<EFBFBD> =90<EFBFBD> <EFBFBD> '<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> w A< <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> a<EFBFBD> ~<EFBFBD> <EFBFBD> W<EFBFBD> <EFBFBD> <EFBFBD> D| A<EFBFBD> <EFBFBD> <EFBFBD> 2<EFBFBD> X<EFBFBD> U2<EFBFBD> <EFBFBD> y Ŋ<EFBFBD> <EFBFBD> =<EFBFBD> p)<EFBFBD> \0P <EFBFBD> s<EFBFBD> <EFBFBD> n<EFBFBD> 3<EFBFBD> <EFBFBD> r<EFBFBD> f\0<EFBFBD> F<EFBFBD> <EFBFBD> <EFBFBD> v<EFBFBD> <EFBFBD> G<EFBFBD> <EFBFBD> I@<EFBFBD> %<EFBFBD> <EFBFBD> <EFBFBD> +<EFBFBD> <EFBFBD> _I`<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> \r .<EFBFBD> <EFBFBD> N<EFBFBD> <EFBFBD> <EFBFBD> KI<EFBFBD> [<EFBFBD> ʖSJ<EFBFBD> <EFBFBD> <EFBFBD> a Uf<EFBFBD> Sz<EFBFBD> <EFBFBD> <EFBFBD> M<EFBFBD> <EFBFBD> <EFBFBD> %<EFBFBD> <EFBFBD> \"Q|9<EFBFBD> <EFBFBD> Bc<EFBFBD> a<EFBFBD> q\0<EFBFBD> 8<EFBFBD> #<EFBFBD> < a <EFBFBD> <EFBFBD> :z1Uf <EFBFBD> <EFBFBD> > <EFBFBD> Z<EFBFBD> l<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> e5#U@iUG <EFBFBD> <EFBFBD> n<EFBFBD> %Ұ s<EFBFBD> <EFBFBD> <EFBFBD> ;gxL<EFBFBD> p P<EFBFBD> ?B<EFBFBD> <EFBFBD> <EFBFBD> Q<EFBFBD> \\<EFBFBD> b<EFBFBD> <EFBFBD> 龒Q<EFBFBD> =7<EFBFBD> :<EFBFBD> <EFBFBD> ݡQ<EFBFBD> \r:<EFBFBD> t<EFBFBD> <EFBFBD> :y(<EFBFBD> <EFBFBD> \n<EFBFBD> d)<EFBFBD> <EFBFBD> <EFBFBD> \n<EFBFBD> X;<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> CaA<EFBFBD> \r<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> P<EFBFBD> GH<EFBFBD> !<EFBFBD> <EFBFBD> <EFBFBD> @<EFBFBD> 9\n\nAl~H<EFBFBD> <EFBFBD> <EFBFBD> V\n s<EFBFBD> <EFBFBD> ի<EFBFBD> Ư<EFBFBD> bBr<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 3<EFBFBD> \r<EFBFBD> P<EFBFBD> %<EFBFBD> ф\r}b/<EFBFBD> Α\$<EFBFBD> 5<EFBFBD> P<EFBFBD> C<EFBFBD> \"w<EFBFBD> B_<EFBFBD> <EFBFBD> <EFBFBD> U<EFBFBD> gAt<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 夅<EFBFBD> ^Q<EFBFBD> <EFBFBD> U<EFBFBD> <EFBFBD> <EFBFBD> j<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Bvh졄4<EFBFBD> )<EFBFBD> <EFBFBD> +<EFBFBD> )< <EFBFBD> j ^<EFBFBD> < L <EFBFBD> <EFBFBD> 4U * <EFBFBD> <EFBFBD> <EFBFBD> Bg <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> * n <EFBFBD> ʖ <EFBFBD> - <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 9 O \ $ <EFBFBD> <EFBFBD> طzyM <EFBFBD> 3 <EFBFBD> \ \ 9 <EFBFBD> <EFBFBD> <EFBFBD> . o <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> E ( i <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 7 tߚ <EFBFBD> <EFBFBD> - & <EFBFBD> \ n j ! \ r <EFBFBD> <EFBFBD> y <EFBFBD> y <EFBFBD> D1g <EFBFBD> <EFBFBD> <EFBFBD> ] <EFBFBD> <EFBFBD> yR <EFBFBD> 7 \ " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ~ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ) TZ0E9M <EFBFBD> YZ t Xe ! <EFBFBD> f <EFBFBD> @ <EFBFBD> { Ȭyl 8 <EFBFBD> ; <EFBFBD> <EFBFBD> <EFBFBD> R { <EFBFBD> <EFBFBD> 8 <EFBFBD> Į <EFBFBD> e <EFBFBD> + U L <EFBFBD> ' <EFBFBD> F <EFBFBD> 1 <EFBFBD> <EFBFBD> <EFBFBD> 8PE5- <EFBFBD> _ ! <EFBFBD> 7 <EFBFBD> <EFBFBD> <EFBFBD> [ 2 <EFBFBD> J <EFBFBD> <EFBFBD> ; <EFBFBD> HR <EFBFBD> <EFBFBD> ǹ <EFBFBD> 8 p痲݇ @ <EFBFBD> <EFBFBD> 0 , ծpsK0 \ r <EFBFBD> 4 <EFBFBD> <EFBFBD> \ $ sJ <EFBFBD> <EFBFBD> <EFBFBD> 4 <EFBFBD> DZ <EFBFBD> <EFBFBD> I <EFBFBD> <EFBFBD> ' \ $ cL <EFBFBD> R <EFBFBD> <EFBFBD> MpY & <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> i <EFBFBD> z3G <EFBFBD> zҚJ % <EFBFBD> <EFBFBD> P <EFBFBD> - <EFBFBD> <EFBFBD> [ <EFBFBD> / x <EFBFBD> <EFBFBD> T <EFBFBD> { p <EFBFBD> <EFBFBD> z <EFBFBD> C <EFBFBD> v <EFBFBD> <EFBFBD> <EFBFBD> : <EFBFBD> V ' <EFBFBD> \ \ <EFBFBD> <EFBFBD> KJa <EFBFBD> <EFBFBD> M <EFBFBD> & <EFBFBD> <EFBFBD> <EFBFBD> Ӿ \ " <EFBFBD> <EFBFBD> e <EFBFBD> o ^ Q + h ^ <EFBFBD> <EFBFBD> iT <EFBFBD> <EFBFBD> 1 <EFBFBD> OR <EFBFBD> l <EFBFBD> , 5 [ ݘ \ $ <EFBFBD> <EFBFBD> ) <EFBFBD> <EFBFBD> N <EFBFBD> \ n <EFBFBD> <EFBFBD> [ <EFBFBD> b <EFBFBD> <EFBFBD> <EFBFBD> | ; <EFBFBD> <EFBFBD> <EFBFBD> p <EFBFBD> 74 <EFBFBD> ܔ ¢ <EFBFBD> <EFBFBD> I <EFBFBD> C <EFBFBD> \ \ <EFBFBD> <EFBFBD> X <EFBFBD> <EFBFBD> \ n % <EFBFBD> h <EFBFBD> I <EFBFBD> <EFBFBD> 4 <EFBFBD> g <EFBFBD> P: < <EFBFBD> <EFBFBD> <EFBFBD> k <EFBFBD> 1Q <EFBFBD> + \ \ <EFBFBD> <EFBFBD> ^ 咠 <EFBFBD> V <EFBFBD> <EFBFBD> C <EFBFBD> <EFBFBD> <EFBFBD> W <EFBFBD> <EFBFBD> ` 83B-9F @ <EFBFBD> n <EFBFBD> T > <EFBFBD> <EFBFBD> <EFBFBD> lj -<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> & <EFBFBD> <EFBFBD> `9q<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> P<EFBFBD> y6<EFBFBD> <EFBFBD> \r.y<EFBFBD> & <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ả <EFBFBD> <EFBFBD> E8<EFBFBD> 0<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> kA<EFBFBD> <EFBFBD> V<EFBFBD> T7<EFBFBD> p<EFBFBD> <EFBFBD> x<EFBFBD> )ޡ~<EFBFBD> M<EFBFBD> <EFBFBD> <EFBFBD> !<EFBFBD> E t<EFBFBD> <EFBFBD> <EFBFBD> P\\<EFBFBD> <EFBFBD> ϗm~c<EFBFBD> B<EFBFBD> \\\n<EFBFBD> m<EFBFBD> v{<EFBFBD> <EFBFBD> <EFBFBD> 9`G[<EFBFBD> <EFBFBD> ~xsL<EFBFBD> \\<EFBFBD> I<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Xwy\n<EFBFBD> <EFBFBD> <EFBFBD> u<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> S<EFBFBD> c<EFBFBD> <EFBFBD> <EFBFBD> 1?A<EFBFBD> *<EFBFBD> <EFBFBD> <EFBFBD> {<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϳ<EFBFBD> |9 /<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> E<EFBFBD> <EFBFBD> 4<EFBFBD> <EFBFBD> /<EFBFBD> W<EFBFBD> [ȳ><EFBFBD> <EFBFBD> ]<EFBFBD> r<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> v<EFBFBD> ~B<EFBFBD> P B`T<EFBFBD> H> 0<EFBFBD> B<EFBFBD> <EFBFBD> )<EFBFBD> <EFBFBD> ><EFBFBD> N !4\"<EFBFBD> <EFBFBD> <EFBFBD> xW-<EFBFBD> X)<EFBFBD> 0<EFBFBD> BhA0<EFBFBD> <EFBFBD> J2P@ ><EFBFBD> A A )<EFBFBD> S<EFBFBD> <EFBFBD> n<EFBFBD> <EFBFBD> n<EFBFBD> O<EFBFBD> Q<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> b<EFBFBD> r<EFBFBD> <EFBFBD> <EFBFBD> Ҧ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> h<EFBFBD> <EFBFBD> @ȋ<EFBFBD> <EFBFBD> <EFBFBD> (<EFBFBD> <EFBFBD> \n<EFBFBD> <EFBFBD> F<EFBFBD> <EFBFBD> ϖ<EFBFBD> ƙ<EFBFBD> (<EFBFBD> γ<EFBFBD> <EFBFBD> P\0<EFBFBD> N<EFBFBD> <EFBFBD> o}<EFBFBD> <EFBFBD> l<EFBFBD> < <EFBFBD> n<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> l<EFBFBD> oq\0/Q\0of*ʑ N<EFBFBD> <EFBFBD> P<EFBFBD> \r /<EFBFBD> pA<EFBFBD> Y\0p\\<EFBFBD> <EFBFBD> ~<EFBFBD> <EFBFBD> b<EFBFBD> Lh <EFBFBD> !<EFBFBD> <EFBFBD> <EFBFBD> P<EFBFBD> <EFBFBD> d<EFBFBD> .<EFBFBD> <EFBFBD> y\no\0<EFBFBD> <EFBFBD> <EFBFBD> ж<EFBFBD> P pt<EFBFBD> P<EFBFBD> ov<EFBFBD> Ђkn<EFBFBD> <EFBFBD> \0z +<EFBFBD> <EFBFBD> l6<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 0<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> P<EFBFBD> o F<EFBFBD> N<EFBFBD> <EFBFBD> F<EFBFBD> <EFBFBD> O p<EFBFBD> <EFBFBD> N `<EFBFBD> <EFBFBD> <EFBFBD> \rog<EFBFBD> <EFBFBD> 0} P<EFBFBD> \n<EFBFBD> <EFBFBD> @<EFBFBD> <EFBFBD> <EFBFBD> 15\r<EFBFBD> 9 \$M\r<EFBFBD> \\<EFBFBD> \ng g<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> \$Q \r<EFBFBD> <EFBFBD> Dd<EFBFBD> <EFBFBD> <EFBFBD> 8\$<EFBFBD> <EFBFBD> k<EFBFBD> D<EFBFBD> j֢ Ԇ<EFBFBD> & <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> b Ѭ<EFBFBD> 갿<EFBFBD> <EFBFBD> <EFBFBD> =\n0<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Pؠ~ج6 e<EFBFBD> <EFBFBD> <EFBFBD> 2%<EFBFBD> x\"p<EFBFBD> @X<EFBFBD> <EFBFBD> ~<EFBFBD> <EFBFBD> <EFBFBD> ?<EFBFBD> цZelf\0<EFBFBD> Z), ,^<EFBFBD> `<EFBFBD> \0<EFBFBD> 8& <EFBFBD> <EFBFBD> <EFBFBD> ٩<EFBFBD> <EFBFBD> r<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> k FJ<EFBFBD> <EFBFBD> P> V<EFBFBD> <EFBFBD> ԍp<EFBFBD> <EFBFBD> 8%2><EFBFBD> B m<EFBFBD> <EFBFBD> <EFBFBD> @<EFBFBD> <EFBFBD> G(<EFBFBD> <EFBFBD> <EFBFBD> s\$<EFBFBD> <EFBFBD> d<EFBFBD> ̜ v<EFBFBD> \"<EFBFBD> p<EFBFBD> w<EFBFBD> <EFBFBD> 6<EFBFBD> <EFBFBD> } (V<EFBFBD> Kˠ<EFBFBD> K<EFBFBD> L ¾<EFBFBD> <EFBFBD> <EFBFBD> W<EFBFBD> <EFBFBD> q<EFBFBD> \r<EFBFBD> <EFBFBD> <EFBFBD> ̤ ʀQ<EFBFBD> L%<EFBFBD> P<EFBFBD> dJ<EFBFBD> <EFBFBD> H<EFBFBD> NxK:\n<EFBFBD> <EFBFBD> <EFBFBD> %fn<EFBFBD> <EFBFBD> <EFBFBD> %Ҍ<EFBFBD> D<EFBFBD> M<EFBFBD> <EFBFBD> [#<EFBFBD> T\r<EFBFBD> <EFBFBD> r<EFBFBD> .<EFBFBD> LL<EFBFBD> & W/> h6 @<EFBFBD> E<EFBFBD> <EFBFBD> <EFBFBD> LP<EFBFBD> v<EFBFBD> C<EFBFBD> <EFBFBD> 6 O:Yh^ mn6<EFBFBD> n<EFBFBD> j>7`z `N<EFBFBD> \\<EFBFBD> j\rg<EFBFBD> \r<EFBFBD> i2I\$\"@<EFBFBD> [` <EFBFBD> hM<EFBFBD> 3 q3d<EFBFBD> <EFBFBD> \0ֵ <EFBFBD> <EFBFBD> ys\$ `<EFBFBD> D<EFBFBD> <EFBFBD> \$\0<EFBFBD> QOf1<EFBFBD> & <EFBFBD> \"~0<EFBFBD> <EFBFBD> `<EFBFBD> <EFBFBD> \"@Z G<EFBFBD> ) Y:S<EFBFBD> <EFBFBD> <EFBFBD> D.S %͈ <EFBFBD> <EFBFBD> <EFBFBD> 3<EFBFBD> <EFBFBD> d<EFBFBD> <EFBFBD> m<EFBFBD> U5<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> < <EFBFBD> S<EFBFBD> SZ 3<EFBFBD> %r<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> {<EFBFBD> e3Cu6<EFBFBD> o73 <EFBFBD> d<EFBFBD> L\"<EFBFBD> c7<EFBFBD> LN<EFBFBD> <EFBFBD> Y<EFBFBD> <EFBFBD> <EFBFBD> k<EFBFBD> ><EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> .<EFBFBD> p<EFBFBD> <EFBFBD> 2<EFBFBD> Q<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 3<EFBFBD> VذWB<EFBFBD> Dt Cq#C @<EFBFBD> I<EFBFBD> P<EFBFBD> DT_D<EFBFBD> :<EFBFBD> <EFBFBD> Q< <EFBFBD> UF<EFBFBD> =<EFBFBD> 1<EFBFBD> @ \$<EFBFBD> <EFBFBD> 6<EFBFBD> < c <EFBFBD> r <EFBFBD> f % <EFBFBD> <EFBFBD> , | <EFBFBD> 27 # w7 <EFBFBD> Tq <EFBFBD> <EFBFBD> 6s <EFBFBD> l-1cP <EFBFBD> m <EFBFBD> q <EFBFBD> <EFBFBD> \ n @ <EFBFBD> <EFBFBD> <EFBFBD> 5 \ 0P ! ` \ \ \ r @ <EFBFBD> \ " C <EFBFBD> - \ 0RR <EFBFBD> tFH8 <EFBFBD> | N <EFBFBD> <EFBFBD> - <EFBFBD> <EFBFBD> d <EFBFBD> g <EFBFBD> <EFBFBD> <EFBFBD> \ r <EFBFBD> <EFBFBD> ) F <EFBFBD> * h <EFBFBD> ` <EFBFBD> <EFBFBD> <EFBFBD> CK4 <EFBFBD> 1 <EFBFBD> ʍkMKCRf @ w4B <EFBFBD> J <EFBFBD> <EFBFBD> 2 \ " 䌴 <EFBFBD> \ r1 Q4 <EFBFBD> 2 , \ " <EFBFBD> <EFBFBD> ' <EFBFBD> <EFBFBD> x <EFBFBD> <EFBFBD> y <EFBFBD> R <EFBFBD> % RēS <EFBFBD> 5 K <EFBFBD> <EFBFBD> IFz # XP <EFBFBD> > <EFBFBD> <EFBFBD> f<EFBFBD> <EFBFBD> -WX\r<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> pU<EFBFBD> <EFBFBD> D<EFBFBD> t& 7@<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ?<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> }O1<EFBFBD> 2<EFBFBD> <EFBFBD> 2<EFBFBD> #UK *<EFBFBD> )<EFBFBD> 긋<EFBFBD> 0o< ><EFBFBD> ]H<EFBFBD> <EFBFBD> <EFBFBD> ƿr<EFBFBD> <EFBFBD> LGN<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> W%<EFBFBD> <EFBFBD> M^<EFBFBD> <EFBFBD> 9X :<EFBFBD> ɥN<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> s<EFBFBD> E<EFBFBD> <EFBFBD> @xy<EFBFBD> (H<EFBFBD> ƙMd<EFBFBD> 5< 52B <EFBFBD> <EFBFBD> <EFBFBD> k ! > \r ^J`<EFBFBD> I<EFBFBD> S<EFBFBD> N<EFBFBD> <EFBFBD> 4'ƚ*<EFBFBD> *`<EFBFBD> ><EFBFBD> <EFBFBD> `|<EFBFBD> 0,<EFBFBD> DJ<EFBFBD> F xb<EFBFBD> <EFBFBD> <EFBFBD> 4lTؕ <EFBFBD> [<EFBFBD> <EFBFBD> [<EFBFBD> <EFBFBD> \\<EFBFBD> <EFBFBD> <EFBFBD> Ԡ<EFBFBD> \\{<EFBFBD> <EFBFBD> 6\\ޖ<EFBFBD> <EFBFBD> <EFBFBD> (#mJԣ,<EFBFBD> `<EFBFBD> I<EFBFBD> <EFBFBD> J<EFBFBD> խ<EFBFBD> <EFBFBD> <EFBFBD> l<EFBFBD> <EFBFBD> <EFBFBD> j<EFBFBD> j֟ ?֣ kG<EFBFBD> k<EFBFBD> T9<EFBFBD> <EFBFBD> ]3ohuJ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> W<EFBFBD> \rk<EFBFBD> <EFBFBD> )\0<EFBFBD> 3<EFBFBD> <EFBFBD> @x<EFBFBD> <EFBFBD> ,<EFBFBD> -<EFBFBD> 5B<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> =<EFBFBD> <EFBFBD> ࣐#<EFBFBD> gf<EFBFBD> <EFBFBD> & <EFBFBD> <EFBFBD> <EFBFBD> Z`<EFBFBD> #<EFBFBD> o<EFBFBD> <EFBFBD> Xf<EFBFBD> <EFBFBD> \r <EFBFBD> Jh<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 5r qnz<EFBFBD> <EFBFBD> <EFBFBD> s<EFBFBD> ,6<EFBFBD> o<EFBFBD> t D<EFBFBD> y<EFBFBD> <EFBFBD> <EFBFBD> b<EFBFBD> <EFBFBD> h<EFBFBD> <EFBFBD> Ctn<EFBFBD> 9 n<EFBFBD> <EFBFBD> <EFBFBD> `<EFBFBD> X<EFBFBD> & <EFBFBD> \r' tpL<EFBFBD> 7<EFBFBD> Η<EFBFBD> & <EFBFBD> <EFBFBD> <EFBFBD> l<EFBFBD> Z-<EFBFBD> <EFBFBD> w<EFBFBD> { r<EFBFBD> <EFBFBD> @iUzM<EFBFBD> {r xא<EFBFBD> m<EFBFBD> SB<EFBFBD> \r@<EFBFBD> H*BD.7<EFBFBD> (<EFBFBD> <EFBFBD> 3 XCV <EFBFBD> < W <EFBFBD> у <EFBFBD> | d <EFBFBD> q * @ <EFBFBD> <EFBFBD> @ <EFBFBD> <EFBFBD> <EFBFBD> + x <EFBFBD> <EFBFBD> ̼ ` <EFBFBD> <EFBFBD> <EFBFBD> ^ <EFBFBD> ̘ ߬ __<EFBFBD> <EFBFBD> ND <EFBFBD> X \ 0Q_D ] } t <EFBFBD> Y <EFBFBD> <EFBFBD> p <EFBFBD> f <EFBFBD> w <EFBFBD> <EFBFBD> \ " <EFBFBD> 3
require_once '../inc/global.inc.php';
if (!isset($_configuration['db_manager_enabled']) || !$_configuration['db_manager_enabled']) {
die('Setting db_manager_enabled must be set to true in configuration.php to access this DB manager');
}
if (!api_is_global_platform_admin()) {
die('Please connect as a global administrator to access this DB manager');
}
function
connection(){global$e;return$e;}function
adminer(){global$b;return$b;}function
idf_unescape($Jc){$fd=substr($Jc,-1);return
str_replace($fd.$fd,$fd,substr($Jc,1,-1));}function
escape_string($X){return
substr(q($X),1,-1);}function
remove_slashes($Me,$nc=false){if(get_magic_quotes_gpc()){while(list($y,$X)=each($Me)){foreach($X
as$Zc=>$W){unset($Me[$y][$Zc]);if(is_array($W)){$Me[$y][stripslashes($Zc)]=$W;$Me[]=&$Me[$y][stripslashes($Zc)]; }else$Me[$y][stripslashes($Zc)]=($nc?$W:stripslashes($W));}}}}function
bracket_escape($Jc,$_a=false){static$lg=array(':'=>':1',']'=>':2','['=>':3');return
strtr($Jc,($_a?array_flip($lg):$lg));}function
h($Ff){return
htmlspecialchars(str_replace("\0","",$Ff),ENT_QUOTES);}function
nbsp($Ff){return(trim($Ff)!=""?h($Ff):" ");}function
nl_br($Ff){return
str_replace("\n","< br > ",$Ff);}function
checkbox($E,$Y,$Ma,$dd="",$Yd="",$Qa=""){$K="< input type = 'checkbox' name = '$E' value = '".h($Y)."' " . ( $ Ma ? " checked " : " " ) . ( $ Yd ? ' onclick = "'.h($Yd).'" ' : ' ' ) . " > ";return($dd!=""||$Qa?"< label " . ( $ Qa ? " class = '$Qa' " : " " ) . " > $K".h($dd)."< / label > ":$K);}function
optionlist($ce,$qf=null,$Dg=false){$K="";foreach($ce
as$Zc=>$W){$de=array($Zc=>$W);if(is_array($W)){$K.='< optgroup label = "'.h($Zc).'" > ';$de=$W;}foreach($de
as$y=>$X)$K.='< option ' . ( $ Dg | | is_string ( $ y ) ? ' value = "'.h($y).'" ' : ' ' ) . ( ( $ Dg | | is_string ( $ y ) ? ( string ) $ y: $ X ) = = = $ qf ? ' selected ' : ' ' ) . ' > '.h($X);if(is_array($W))$K.='< / optgroup > ';}return$K;}function
html_select($E,$ce,$Y="",$Xd=true){if($Xd)return"< select name = '".h($E)."' " . ( is_string ( $ Xd ) ? ' onchange = "'.h($Xd).'" ' : " " ) . " > ".optionlist($ce,$Y)."< / select > ";$K="";foreach($ce
as$y=>$X)$K.="< label > < input type = 'radio' name = '".h($E)."' value = '".h($y)."' " . ( $ y = =$Y?" checked " : " " ) . " > ".h($X)."< / label > ";return$K;}function
select_input($wa,$ce,$Y="",$_e=""){return($ce?"< select $ wa > < option value = '' > $_e".optionlist($ce,$Y,true)."< / select > ":"< input $ wa size = '10' value = '".h($Y)."' placeholder = '$_e' > ");}function
confirm(){return" onclick=\"return confirm('".'Are you sure?'."');\"";}function
print_fieldset($t,$kd,$Lg=false,$Yd=""){echo"< fieldset > < legend > < a href = '#fieldset-$t' onclick = \"".h($Yd)."return ! toggle ( ' fieldset- $ t ' ) ; \ " > $kd< / a > < / legend > < div id = 'fieldset-$t' " . ( $ Lg ? " " : " class = 'hidden' " ) . " > \n";}function
bold($Ga,$Qa=""){return($Ga?" class='active $Qa'":($Qa?" class='$Qa'":""));}function
odd($K=' class="odd"'){static$s=0;if(!$K)$s=-1;return($s++%2?$K:'');}function
js_escape($Ff){return
addcslashes($Ff,"\r\n'\\/");}function
json_row($y,$X=null){static$oc=true;if($oc)echo"{";if($y!=""){echo($oc?"":",")."\n\t\"".addcslashes($y,"\r\n\"\\/").'": '.($X!==null?'"'.addcslashes($X,"\r\n\"\\/").'"':'undefined');$oc=false;}else{echo"\n}\n";$oc=true;}}function
ini_bool($Nc){$X=ini_get($Nc);return(preg_match('~^(on|true|yes)$~i',$X)||(int)$X);}function
sid(){static$K;if($K===null)$K=(SID&&!($_COOKIE&&ini_bool("session.use_cookies"))); return$K;}function
set_password($Ig,$O,$V,$G){$_SESSION["pwds"][$Ig][$O][$V]=($_COOKIE["adminer_key"]&&is_string($G)?array(encrypt_string($G,$_COOKIE["adminer_key"])):$G); }function
get_password(){$K=get_session("pwds");if(is_array($K))$K=($_COOKIE["adminer_key"]?decrypt_string($K[0],$_COOKIE["adminer_key"]):false);return$K;}function
q($Ff){global$i;return$i->quote($Ff);}function
get_vals($I,$c=0){global$e;$K=array();$J=$e->query($I);if(is_object($J)){while($L=$J->fetch_row())$K[]=$L[$c];}return$K;}function
get_key_vals($I,$f=null,$bg=0){global$e;if(!is_object($f))$f=$e;$K=array();$f->timeout=$bg;$J=$f->query($I);$f->timeout=0;if(is_object($J)){while($L=$J->fetch_row())$K[$L[0]]=$L[1];}return$K;}function
get_rows($I,$f=null,$j="< p class = 'error' > "){global$e;$db=(is_object($f)?$f:$e);$K=array();$J=$db->query($I);if(is_object($J)){while($L=$J->fetch_assoc())$K[]=$L;}elseif(!$J&&!is_object($f)&&$j&&defined("PAGE_HEADER"))echo$j.error()."\n"; return$K;}function
unique_array($L,$v){foreach($v
as$u){if(preg_match("~PRIMARY|UNIQUE~",$u["type"])){$K=array();foreach($u["columns"]as$y){if(!isset($L[$y]))continue
2;$K[$y]=$L[$y];}return$K;}}}function
where($Z,$l=array()){global$x;$K=array();$wc='(^[\w\(]+('.str_replace("_",".*",preg_quote(idf_escape("_"))).')?\)+$)';foreach((array)$Z["where"]as$y=>$X){$y=bracket_escape($y,1);$c=(preg_match($wc,$y)?$y:idf_escape($y));$K[]=$c.(($x=="sql"& & preg_match('~^[0-9]*\\.[0-9]*$~',$X))||$x=="mssql"?" LIKE ".q(addcslashes($X,"%_\\")):" = ".unconvert_field((isset($l[$y])?$l[$y]:null),q($X)));if($x=="sql"& & preg_match('~char|text~',(isset($l[$y])?$l[$y]["type"]:null))& & preg_match("~[^ -@]~",$X))$K[]="$c = ".q($X)." COLLATE utf8_bin";}foreach((array)(isset($Z["null"])?$Z["null"]:null)as$y)$K[]=(preg_match($wc,$y)?$y:idf_escape($y))." IS NULL";return
implode(" AND ",$K);}function
where_check($X,$l=array()){parse_str($X,$La);remove_slashes(array(&$La)); return
where($La,$l);}function
where_link($s,$c,$Y,$Zd="="){return"& where%5B$s%5D%5Bcol%5D=".urlencode($c)."& where%5B$s%5D%5Bop%5D=".urlencode(($Y!==null?$Zd:"IS NULL"))."&where%5B$s%5D%5Bval%5D=".urlencode($Y); }function
convert_fields($d,$l,$N=array()){$K="";foreach($d
as$y=>$X){if($N&&!in_array(idf_escape($y),$N))continue; $ua=convert_field($l[$y]);if($ua)$K.=", $ua AS ".idf_escape($y);}return$K;}function
cookie($E,$Y,$nd=2592000){global$ba;$qe=array($E,(preg_match("~\n~",$Y)?"":$Y),($nd?time()+$nd:0),preg_replace('~\\?.*~','',$_SERVER["REQUEST_URI"]),"",$ba);if(version_compare(PHP_VERSION,'5.2.0')>=0)$qe[]=true;return
call_user_func_array('setcookie',$qe);}function
restart_session(){if(!ini_bool("session.use_cookies"))session_start();}function
stop_session(){if(!ini_bool("session.use_cookies"))session_write_close();}function& get_session($y){ if(isset($_GET["username"])) return $_SESSION[$y][DRIVER][SERVER][$_GET["username"]];}function
set_session($y,$X){$_SESSION[$y][DRIVER][SERVER][$_GET["username"]]=$X;}function
auth_url($Ig,$O,$V,$h=null){global$Db;preg_match('~([^?]*)\\??(.*)~',remove_from_uri(implode("|",array_keys($Db))."|username|".($h!==null?"db|":"").session_name()),$B);return"$B[1]?".(sid()?SID."&":"").($Ig!="server"||$O!=""?urlencode($Ig)."=".urlencode($O)."&":"")."username=".urlencode($V).($h!=""?"&db=".urlencode($h):"").($B[2]?"&$B[2]":""); }function
is_ajax(){return((isset($_SERVER["HTTP_X_REQUESTED_WITH"])?$_SERVER["HTTP_X_REQUESTED_WITH"]:null)=="XMLHttpRequest");}function
redirect($A,$C=null){if($C!==null){restart_session();$_SESSION["messages"][preg_replace('~^[^?]*~','',($A!==null?$A:$_SERVER["REQUEST_URI"]))][]=$C;}if($A!==null){if($A=="")$A=".";header("Location: $A");exit;}}function
query_redirect($I,$A,$C,$Ue=true,$bc=true,$hc=false,$ag=""){global$e,$j,$b;if($bc){$Bf=microtime(true);$hc=!$e->query($I);$ag=format_time($Bf);}$Af="";if($I)$Af=$b->messageQuery($I,$ag);if($hc){$j=error().$Af;return
false;}if($Ue)redirect($A,$C.$Af);return
true;}function
queries($I){global$e;static$Pe=array();static$Bf;if(!$Bf)$Bf=microtime(true);if($I===null)return
array(implode("\n",$Pe),format_time($Bf));$Pe[]=(preg_match('~;$~',$I)?"DELIMITER ;;\n$I;\nDELIMITER ":$I).";";return$e->query($I);}function
apply_queries($I,$S,$Xb='table'){foreach($S
as$Q){if(!queries("$I ".$Xb($Q)))return
false;}return
true;}function
queries_redirect($A,$C,$Ue){list($Pe,$ag)=queries(null);return
query_redirect($Pe,$A,$C,$Ue,false,!$Ue,$ag);}function
format_time($Bf){return
sprintf('%.3f s',max(0,microtime(true)-$Bf));}function
remove_from_uri($pe=""){return
substr(preg_replace("~(?< =[?&])($pe".(SID?"":"|".session_name()).")=[^&]*&~",'',"$_SERVER[REQUEST_URI]&"),0,-1); }function
pagination($F,$nb){return" ".($F==$nb?$F+1:'< a href = "'.h(remove_from_uri(" page " ) . ( $ F ? " & page = $F".($_GET["next"]?"&next=".urlencode($_GET["next"]):""):"")).'" > '.($F+1)."< / a > ");}function
get_file($y,$ub=false){$lc=$_FILES[$y];if(!$lc)return
null;foreach($lc
as$y=>$X)$lc[$y]=(array)$X;$K='';foreach($lc["error"]as$y=>$j){if($j)return$j;$E=$lc["name"][$y];$ig=$lc["tmp_name"][$y];$eb=file_get_contents($ub&&preg_match('~\\.gz$~',$E)?"compress.zlib://$ig":$ig); if($ub){$Bf=substr($eb,0,3);if(function_exists("iconv")&&preg_match("~^\xFE\xFF|^\xFF\xFE~",$Bf,$af))$eb=iconv("utf-16","utf-8",$eb); elseif($Bf=="\xEF\xBB\xBF")$eb=substr($eb,3);$K.=$eb."\n\n";}else$K.=$eb;}return$K;}function
upload_error($j){$xd=($j==UPLOAD_ERR_INI_SIZE?ini_get("upload_max_filesize"):0);return($j?'Unable to upload a file.'.($xd?" ".sprintf('Maximum allowed file size is %sB.',$xd):""):'File does not exist.');}function
repeat_pattern($ye,$ld){return
str_repeat("$ye{0,65535}",$ld/65535)."$ye{0,".($ld%65535)."}";}function
is_utf8($X){return(preg_match('~~u',$X)&&!preg_match('~[\\0-\\x8\\xB\\xC\\xE-\\x1F]~',$X)); }function
shorten_utf8($Ff,$ld=80,$Jf=""){if(!preg_match("(^(".repeat_pattern("[\t\r\n -\x{FFFF}]",$ld).")($)?)u",$Ff,$B))preg_match("(^(".repeat_pattern("[\t\r\n -~]",$ld).")($)?)",$Ff,$B);return
h($B[1]).$Jf.(isset($B[2])?"":"< i > ...< / i > ");}function
format_number($X){return
strtr(number_format($X,0,".",','),preg_split('~~u','0123456789',-1,PREG_SPLIT_NO_EMPTY));}function
friendly_url($X){return
preg_replace('~[^a-z0-9_]~i','-',$X);}function
hidden_fields($Me,$Kc=array()){while(list($y,$X)=each($Me)){if(!in_array($y,$Kc)){if(is_array($X)){foreach($X
as$Zc=>$W)$Me[$y."[$Zc]"]=$W;}else
echo'< input type = "hidden" name = "'.h($y).'" value = "'.h($X).'" > ';}}}function
hidden_fields_get(){echo(sid()?'< input type = "hidden" name = "'.session_name().'" value = "'.h(session_id()).'" > ':''),(SERVER!==null?'< input type = "hidden" name = "'.DRIVER.'" value = "'.h(SERVER).'" > ':""),'< input type = "hidden" name = "username" value = "'.h($_GET[" username " ] ) . ' " > ';}function
table_status1($Q,$ic=false){$K=table_status($Q,$ic);return($K?$K:array("Name"=>$Q));}function
column_foreign_keys($Q){global$b;$K=array();foreach($b->foreignKeys($Q)as$m){foreach($m["source"]as$X)$K[$X][]=$m;}return$K;}function
enum_input($U,$wa,$k,$Y,$Rb=null){global$b;preg_match_all("~'((?:[^']|'')*)'~",$k["length"],$sd);$K=($Rb!==null?"< label > < input type = '$U' $ wa value = '$Rb' " . ( ( is_array ( $ Y ) ? in_array ( $ Rb , $ Y ) : $ Y = ==0)?" checked " : " " ) . " > < i > ".'empty'."< / i > < / label > ":"");foreach($sd[1]as$s=>$X){$X=stripcslashes(str_replace("''","'",$X));$Ma=(is_int($Y)?$Y==$s+1:(is_array($Y)?in_array($s+1,$Y):$Y===$X));$K.=" < label > < input type = '$U' $ wa value = '".($s+1)."' " . ( $ Ma ? ' checked ' : ' ' ) . ' > '.h($b->editVal($X,$k)).'< / label > ';}return$K;}function
input($k,$Y,$p){global$e,$sg,$b,$x;$E=h(bracket_escape($k["field"]));echo"< td class = 'function' > ";if(is_array($Y)&&!$p){$ta=array($Y); if(version_compare(PHP_VERSION,5.4)>=0)$ta[]=JSON_PRETTY_PRINT;$Y=call_user_func_array('json_encode',$ta);$p="json";}$cf=($x=="mssql"&&$k["auto_increment"]); if($cf&&!$_POST["save"])$p=null; $xc=(isset($_GET["select"])||$cf?array("orig"=>'original'):array())+$b->editFunctions($k);$wa=" name='fields[$E]'";if($k["type"]=="enum")echo
nbsp($xc[""])."< td > ".$b->editInput($_GET["edit"],$k,$wa,$Y);else{$oc=0;foreach($xc
as$y=>$X){if($y===""||!$X)break;$oc++;}$Xd=($oc?" onchange=\"var f = this.form['function[".h(js_escape(bracket_escape($k["field"])))."]']; if ($oc > f.selectedIndex) f.selectedIndex = $oc;\" onkeyup='keyupChange.call(this);'":"");$wa.=$Xd;$Cc=(in_array($p,$xc)||isset($xc[$p]));echo(count($xc)>1?"< select name = 'function[$E]' onchange = 'functionChange(this);' " . on_help ( " getTarget ( event ) . value . replace ( / ^ SQL \ $ / , ' ' ) " , 1 ) . " > ".optionlist($xc,$p===null||$Cc?$p:"")."< / select > ":nbsp(reset($xc))).'< td > ';$Pc=$b->editInput($_GET["edit"],$k,$wa,$Y);if($Pc!="")echo$Pc;elseif($k["type"]=="set"){preg_match_all("~'((?:[^']|'')*)'~",$k["length"],$sd);foreach($sd[1]as$s=>$X){$X=stripcslashes(str_replace("''","'",$X));$Ma=(is_int($Y)?($Y>>$s)&1:in_array($X,explode(",",$Y),true)); echo" < label > < input type = 'checkbox' name = 'fields[$E][$s]' value = '".(1<<$s)."' " . ( $ Ma ? ' checked ' : ' ' ) . " $ Xd > ".h($b->editVal($X,$k)).'< / label > ';}}elseif(preg_match('~blob|bytea|raw|file~',$k["type"])& & ini_bool("file_uploads"))echo"< input type = 'file' name = 'fields-$E' $ Xd > ";elseif(($Yf=preg_match('~text|lob~',$k["type"]))||preg_match("~\n~",$Y)){if($Yf& & $x!="sqlite")$wa.=" cols='50' rows='12'";else{$M=min(12,substr_count($Y,"\n")+1);$wa.=" cols='30' rows='$M'".($M==1?" style='height: 1.2em;'":"");}echo"< textarea $ wa > ".h($Y).'< / textarea > ';}elseif($p=="json")echo"< textarea $ wa cols = '50' rows = '12' class = 'jush-js' > ".h($Y).'< / textarea > ';else{$zd=(!preg_match('~int~',$k["type"])&&preg_match('~^(\\d+)(,(\\d+))?$~',$k["length"],$B)?((preg_match("~binary~",$k["type"])?2:1)*$B[1]+($B[3]?1:0)+($B[2]&&!$k["unsigned"]?1:0)):($sg[$k["type"]]?$sg[$k["type"]]+($k["unsigned"]?0:1):0)); if($x=='sql'&&$e->server_info>=5.6&&preg_match('~time~',$k["type"]))$zd+=7; echo"< input " . ( ( ! $ Cc | | $ p = =="")&&preg_match('~(?<!o)int~',$k["type"])?" type = 'number' " : " " ) . " value = '".h($Y)."' " . ( $ zd ? " maxlength = '$zd' " : " " ) . ( preg_match ( ' ~ char | binary ~ ' , $ k [ " type " ] ) & & $ zd > 20?" size='40'":"")."$wa>";}}}function
process_input($k){global$b;$Jc=bracket_escape($k["field"]);$p=$_POST["function"][$Jc];$Y=$_POST["fields"][$Jc];if($k["type"]=="enum"){if($Y==-1)return
false;if($Y=="")return"NULL";return+$Y;}if($k["auto_increment"]& & $Y=="")return
null;if($p=="orig")return($k["on_update"]=="CURRENT_TIMESTAMP"?idf_escape($k["field"]):false);if($p=="NULL")$Y=null;if($k["type"]=="set")return
array_sum((array)$Y);if($p=="json"){$p="";$Y=json_decode($Y,true);if(!is_array($Y))return
false;return$Y;}if(preg_match('~blob|bytea|raw|file~',$k["type"])&&ini_bool("file_uploads")){$lc=get_file("fields-$Jc"); if(!is_string($lc))return
false;return
q($lc);}return$b->processInput($k,$Y,$p);}function
fields_from_edit(){global$i;$K=array();foreach((array)$_POST["field_keys"]as$y=>$X){if($X!=""){$X=bracket_escape($X);$_POST["function"][$X]=$_POST["field_funs"][$y];$_POST["fields"][$X]=$_POST["field_vals"][$y];}}foreach((array)$_POST["fields"]as$y=>$X){$E=bracket_escape($y,1);$K[$E]=array("field"=>$E,"privileges"=>array("insert"=>1,"update"=>1),"null"=>1,"auto_increment"=>($y==$i->primary),);}return$K;}function
search_tables(){global$b,$e;$_GET["where"][0]["op"]="LIKE %%";$_GET["where"][0]["val"]=$_POST["query"];$tc=false;foreach(table_status('',true)as$Q=>$R){$E=$b->tableName($R);if(isset($R["Engine"])& & $E!=""& & (!$_POST["tables"]||in_array($Q,$_POST["tables"]))){$J=$e->query("SELECT".limit("1 FROM ".table($Q)," WHERE ".implode(" AND ",$b->selectSearchProcess(fields($Q),array())),1));if(!$J||$J->fetch_row()){if(!$tc){echo"< ul > \n";$tc=true;}echo"< li > ".($J?"< a href = '".h(ME."select=".urlencode($Q)."&where[0][op]=".urlencode($_GET["where"][0]["op"])."&where[0][val]=".urlencode($_GET["where"][0]["val"]))."' > $E< / a > \n":"$E: < span class = 'error' > ".error()."< / span > \n");}}}echo($tc?"< / ul > ":"< p class = 'message' > ".'No tables.')."\n";}function
dump_headers($Ic,$Fd=false){global$b;$K=$b->dumpHeaders($Ic,$Fd);$ne=$_POST["output"];if($ne!="text")header("Content-Disposition: attachment; filename=".$b->dumpFilename($Ic).".$K".($ne!="file"&&!preg_match('~[^0-9a-z]~',$ne)?".$ne":"")); session_write_close();ob_flush();flush();return$K;}function
dump_csv($L){foreach($L
as$y=>$X){if(preg_match("~[\"\n,;\t]~",$X)||$X==="")$L[$y]='"'.str_replace('"','""',$X).'"';}echo
implode(($_POST["format"]=="csv"?",":($_POST["format"]=="tsv"?"\t":";")),$L)."\r\n";}function
apply_sql_function($p,$c){return($p?($p=="unixepoch"?"DATETIME($c, '$p')":($p=="count distinct"?"COUNT(DISTINCT ":strtoupper("$p("))."$c)"):$c);}function
get_temp_dir(){$K=ini_get("upload_tmp_dir");if(!$K){if(function_exists('sys_get_temp_dir'))$K=sys_get_temp_dir();else{$mc=@tempnam("","");if(!$mc)return
false;$K=dirname($mc);unlink($mc);}}return$K;}function
password_file($jb){$mc=get_temp_dir()."/adminer.key";$K=@file_get_contents($mc);if($K||!$jb)return$K;$o=@fopen($mc,"w");if($o){$K=rand_string();fwrite($o,$K);fclose($o);}return$K;}function
rand_string(){return
md5(uniqid(mt_rand(),true));}function
select_value($X,$_,$k,$Zf){global$b,$ba;if(is_array($X)){$K="";foreach($X
as$Zc=>$W)$K.="< tr > ".($X!=array_values($X)?"< th > ".h($Zc):"")."< td > ".select_value($W,$_,$k,$Zf);return"< table cellspacing = '0' > $K< / table > ";}if(!$_)$_=$b->selectLink($X,$k);if($_===null){if(is_mail($X))$_="mailto:$X";if($Oe=is_url($X))$_=(($Oe=="http"&&$ba)||preg_match('~WebKit~i',$_SERVER["HTTP_USER_AGENT"])?$X:"$Oe://www.adminer.org/redirect/?url=".urlencode($X)); }$K=$b->editVal($X,$k);if($K!==null){if($K==="")$K=" ";elseif($Zf!=""&&is_shortable($k)&&is_utf8($K))$K=shorten_utf8($K,max(0,+$Zf)); else$K=h($K);}return$b->selectVal($K,$_,$k,$X);}function
is_mail($Ob){$va='[-a-z0-9!#$%&\'*+/=?^_`{|}~]'; $Cb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';$ye="$va+(\\.$va+)*@($Cb?\\.)+$Cb";return
is_string($Ob)&&preg_match("(^$ye(,\\s*$ye)*\$)i",$Ob); }function
is_url($Ff){$Cb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';return(preg_match("~^(https?)://($Cb?\\.)+$Cb(:\\d+)?(/.*)?(\\?.*)?(#.*)?\$~i",$Ff,$B)?strtolower($B[1]):"");}function
is_shortable($k){return
preg_match('~char|text|lob|geometry|point|linestring|polygon|string~',$k["type"]);}function
count_rows($Q,$Z,$Vc,$r){global$x;$I=" FROM ".table($Q).($Z?" WHERE ".implode(" AND ",$Z):"");return($Vc& & ($x=="sql"||count($r)==1)?"SELECT COUNT(DISTINCT ".implode(", ",$r).")$I":"SELECT COUNT(*)".($Vc?" FROM (SELECT 1$I$zc) x":$I));}function
slow_query($I){global$b,$T;$h=$b->database();$bg=$b->queryTimeout();if(support("kill")& & is_object($f=connect())& & ($h==""||$f->select_db($h))){$bd=$f->result("SELECT CONNECTION_ID()");echo'< script type = "text/javascript" >
var timeout = setTimeout(function () {
ajax(\'',js_escape(ME),'script=kill\', function () {
}, \'token=',$T,'&kill=',$bd,'\');
}, ',1000*$bg,');
< / script >
';}else$f=null;ob_flush();flush();$K=@get_key_vals($I,$f,$bg);if($f){echo"< script type = 'text/javascript' > clearTimeout ( timeout ) ; < / script > \n";ob_flush();flush();}return
array_keys($K);}function
get_token(){$Se=rand(1,1e6);return($Se^$_SESSION["token"]).":$Se";}function
verify_token(){list($T,$Se)=explode(":",$_POST["token"]);return($Se^$_SESSION["token"])==$T;}function
lzw_decompress($Da){$_b=256;$Ea=8;$Sa=array();$df=0;$ef=0;for($s=0;$s< strlen ( $ Da ) ; $ s + + ) { $ df = ($df<<8)+ord($Da[$s]);$ef+=8;if($ef > =$Ea){$ef-=$Ea;$Sa[]=$df>>$ef;$df&=(1<<$ef)-1; $_b++;if($_b>>$Ea)$Ea++;}}$zb=range("\0","\xFF");$K="";foreach($Sa
as$s=>$Ra){$Nb=$zb[$Ra];if(!isset($Nb))$Nb=$Pg.$Pg[0];$K.=$Nb;if($s)$zb[]=$Pg.$Nb[0];$Pg=$Nb;}return$K;}function
on_help($Ya,$xf=0){return" onmouseover='helpMouseover(this, event, ".h($Ya).", $xf);' onmouseout='helpMouseout(this, event);'";}function
edit_form($a,$l,$L,$_g){global$b,$x,$T,$j;$Of=$b->tableName(table_status1($a,true));page_header(($_g?'Edit':'Insert'),$j,array("select"=>array($a,$Of)),$Of);if($L===false)echo"< p class = 'error' > ".'No rows.'."\n";echo'< div id = "message" > < / div >
< form action = "" method = "post" enctype = "multipart/form-data" id = "form" >
';if(!$l)echo"< p class = 'error' > ".'You have no privileges to update this table.'."\n";else{echo"< table cellspacing = '0' onkeydown = 'return editingKeydown(event);' > \n";foreach($l
as$E=>$k){echo"< tr > < th > ".$b->fieldName($k);$vb=(isset($_GET["set"])?$_GET["set"][bracket_escape($E)]:null);if($vb===null){$vb=$k["default"];if($k["type"]=="bit"&&preg_match("~^b'([01]*)'\$~",$vb,$af))$vb=$af[1]; }$Y=($L!==null?(!empty($L[$E])&&$x=="sql"&&preg_match("~enum|set~",$k["type"])?(is_array($L[$E])?array_sum($L[$E]):+$L[$E]):$L[$E]):(!$_g&&$k["auto_increment"]?"":(isset($_GET["select"])?false:$vb))); if(empty($_POST["save"])&&is_string($Y))$Y=$b->editVal($Y,$k); $p=(!empty($_POST["save"])?(string)$_POST["function"][$E]:($_g&&$k["on_update"]=="CURRENT_TIMESTAMP"?"now":($Y===false?null:($Y!==null?'':'NULL')))); if(preg_match("~time~",$k["type"])&&$Y=="CURRENT_TIMESTAMP"){$Y=""; $p="now";}input($k,$Y,$p);echo"\n";}if(!support("table"))echo"< tr > "."< th > < input name = 'field_keys[]' onkeyup = 'keyupChange.call(this);' onchange = 'fieldChange(this);' value = '' > "."< td class = 'function' > ".html_select("field_funs[]",$b->editFunctions(array("null"=>isset($_GET["select"]))))."< td > < input name = 'field_vals[]' > "."\n";echo"< / table > \n";}echo"< p > \n";if($l){echo"< input type = 'submit' value = '".' Save ' . " ' > \n";if(!isset($_GET["select"]))echo"< input type = 'submit' name = 'insert' value = '".($_g?' Save and continue edit ' . " ' onclick = 'return !ajaxForm(this.form, \"".' Saving ' . ' . . . " , this ) ' : ' Save and insert next ' ) . " ' title = 'Ctrl+Shift+Enter' > \n";}echo($_g?"< input type = 'submit' name = 'delete' value = '".' Delete ' . " ' " . confirm ( ) . " > \n":($_POST||!$l?"":"< script type = 'text/javascript' > focus ( document . getElementById ( 'form' ) . getElementsByTagName ( 'td' ) [ 1 ] . firstChild ) ; < / script > \n"));if(isset($_GET["select"]))hidden_fields(array("check"=>(array)$_POST["check"],"clone"=>$_POST["clone"],"all"=>$_POST["all"]));echo'< input type = "hidden" name = "referer" value = "',h(isset($_POST[" referer " ] ) ? $ _POST [ " referer " ] : $ _SERVER [ " HTTP_REFERER " ] ) , ' " >
< input type = "hidden" name = "save" value = "1" >
< input type = "hidden" name = "token" value = "',$T,'" >
< / form >
';}global$b,$e,$Db,$Kb,$Ub,$j,$xc,$_c,$ba,$Oc,$x,$ca,$ed,$Wd,$ze,$Gf,$Dc,$T,$ng,$sg,$zg,$ga;if(!$_SERVER["REQUEST_URI"])$_SERVER["REQUEST_URI"]=$_SERVER["ORIG_PATH_INFO"];if(!strpos($_SERVER["REQUEST_URI"],'?')&&$_SERVER["QUERY_STRING"]!="")$_SERVER["REQUEST_URI"].="?$_SERVER[QUERY_STRING]"; $ba=(isset($_SERVER["HTTPS"])?true:false)&&strcasecmp($_SERVER["HTTPS"],"off"); @ini_set("session.use_trans_sid",false);session_cache_limiter("");if(!defined("SID")){session_name("adminer_sid");$qe=array(0,preg_replace('~\\?.*~','',$_SERVER["REQUEST_URI"]),"",$ba);if(version_compare(PHP_VERSION,'5.2.0')>=0)$qe[]=true;call_user_func_array('session_set_cookie_params',$qe);session_start();}remove_slashes(array(&$_GET,&$_POST,&$_COOKIE),$nc); if(get_magic_quotes_runtime())set_magic_quotes_runtime(false);@set_time_limit(0);@ini_set("zend.ze1_compatibility_mode",false);@ini_set("precision",20);function
get_langx(){return'en';}function
lang($mg,$Nd=null){if(is_array($mg)){$Be=($Nd==1?0:1);$mg=$mg[$Be];}$mg=str_replace("%d","%s",$mg);$Nd=format_number($Nd);return
sprintf($mg,$Nd);}if(extension_loaded('pdo')){class
Min_PDO
extends
PDO{var$_result,$server_info,$affected_rows,$errno,$error;function
__construct(){global$b;$Be=array_search("SQL",$b->operators);if($Be!==false)unset($b->operators[$Be]);}function
dsn($Hb,$V,$G){try{parent::__construct($Hb,$V,$G);}catch(Exception$Zb){auth_error($Zb->getMessage());}$this->setAttribute(13,array('Min_PDOStatement'));$this->server_info=$this->getAttribute(4);}function
query($I,$tg=false){$J=parent::query($I);$this->error="";if(!$J){list(,$this->errno,$this->error)=$this->errorInfo();return
false;}$this->store_result($J);return$J;}function
multi_query($I){return$this->_result=$this->query($I);}function
store_result($J=null){if(!$J){$J=$this->_result;if(!$J)return
false;}if($J->columnCount()){$J->num_rows=$J->rowCount();return$J;}$this->affected_rows=$J->rowCount();return
true;}function
next_result(){if(!$this->_result)return
false;$this->_result->_offset=0;return@$this->_result->nextRowset();}function
result($I,$k=0){$J=$this->query($I);if(!$J)return
false;$L=$J->fetch();return$L[$k];}}class
Min_PDOStatement
extends
PDOStatement{var$_offset=0,$num_rows;function
fetch_assoc(){return$this->fetch(2);}function
fetch_row(){return$this->fetch(3);}function
fetch_field(){$L=(object)$this->getColumnMeta($this->_offset++);$L->orgtable=$L->table;$L->orgname=$L->name;$L->charsetnr=(in_array("blob",(array)$L->flags)?63:0);return$L;}}}$Db=array();class
Min_SQL{var$_conn;function
Min_SQL($e){$this->_conn=$e;}function
quote($Y){return($Y===null?"NULL":$this->_conn->quote($Y));}function
select($Q,$N,$Z,$r,$ee=array(),$z=1,$F=0,$Ie=false){global$b,$x;$Vc=(count($r)< count ( $ N ) ) ; $ I = $b- > selectQueryBuild($N,$Z,$r,$ee,$z,$F);if(!$I)$I="SELECT".limit(((isset($_GET["page"])?$_GET["page"]:null)!="last"& & +$z& & $r& & $Vc& & $x=="sql"?"SQL_CALC_FOUND_ROWS ":"").implode(", ",$N)."\nFROM ".table($Q),($Z?"\nWHERE ".implode(" AND ",$Z):"").($r& & $Vc?"\nGROUP BY ".implode(", ",$r):"").($ee?"\nORDER BY ".implode(", ",$ee):""),($z!=""?+$z:null),($F?$z*$F:0),"\n");$Bf=microtime(true);$K=$this->_conn->query($I);if($Ie)echo$b->selectQuery($I,format_time($Bf));return$K;}function
delete($Q,$Qe,$z=0){$I="FROM ".table($Q);return
queries("DELETE".($z?limit1($I,$Qe):" $I$Qe"));}function
update($Q,$P,$Qe,$z=0,$sf="\n"){$Gg=array();foreach($P
as$y=>$X)$Gg[]="$y = $X";$I=table($Q)." SET$sf".implode(",$sf",$Gg);return
queries("UPDATE".($z?limit1($I,$Qe):" $I$Qe"));}function
insert($Q,$P){return
queries("INSERT INTO ".table($Q).($P?" (".implode(", ",array_keys($P)).")\nVALUES (".implode(", ",$P).")":" DEFAULT VALUES"));}function
insertUpdate($Q,$M,$He){return
false;}function
begin(){return
queries("BEGIN");}function
commit(){return
queries("COMMIT");}function
rollback(){return
queries("ROLLBACK");}}$Db=array("server"=>"MySQL")+$Db;if(!defined("DRIVER")){$Ee=array("MySQLi","MySQL","PDO_MySQL");define("DRIVER","server");if(extension_loaded("mysqli")){class
Min_DB
extends
MySQLi{var$extension="MySQLi";function
Min_DB(){parent::init();}function
connect($O=null,$V=null,$G=null,$ignore1=null,$ignore2=null,$ignore3=null){mysqli_report(MYSQLI_REPORT_OFF);@list($Gc,$Ae)=explode(":",$O,2);$K=@$this->real_connect(($O!=""?$Gc:ini_get("mysqli.default_host")),($O.$V!=""?$V:ini_get("mysqli.default_user")),($O.$V.$G!=""?$G:ini_get("mysqli.default_pw")),null,(is_numeric($Ae)?$Ae:ini_get("mysqli.default_port")),(!is_numeric($Ae)?$Ae:null));if($K){if(method_exists($this,'set_charset'))$this->set_charset("utf8");else$this->query("SET NAMES utf8");}return$K;}function
result($I,$k=0){$J=$this->query($I);if(!$J)return
false;$L=$J->fetch_array();return$L[$k];}function
quote($Ff){return"'".$this->escape_string($Ff)."'";}}}elseif(extension_loaded("mysql")& & !(ini_get("sql.safe_mode")& & extension_loaded("pdo_mysql"))){class
Min_DB{var$extension="MySQL",$server_info,$affected_rows,$errno,$error,$_link,$_result;function
connect($O,$V,$G){$this->_link=@mysql_connect(($O!=""?$O:ini_get("mysql.default_host")),("$O$V"!=""?$V:ini_get("mysql.default_user")),("$O$V$G"!=""?$G:ini_get("mysql.default_password")),true,131072);if($this->_link){$this->server_info=mysql_get_server_info($this->_link);if(function_exists('mysql_set_charset'))mysql_set_charset("utf8",$this->_link);else$this->query("SET NAMES utf8");}else$this->error=mysql_error();return(bool)$this->_link;}function
quote($Ff){return"'".mysql_real_escape_string($Ff,$this->_link)."'";}function
select_db($qb){return
mysql_select_db($qb,$this->_link);}function
query($I,$tg=false){$J=@($tg?mysql_unbuffered_query($I,$this->_link):mysql_query($I,$this->_link));$this->error="";if(!$J){$this->errno=mysql_errno($this->_link);$this->error=mysql_error($this->_link);return
false;}if($J===true){$this->affected_rows=mysql_affected_rows($this->_link);$this->info=mysql_info($this->_link);return
true;}return
new
Min_Result($J);}function
multi_query($I){return$this->_result=$this->query($I);}function
store_result(){return$this->_result;}function
next_result(){return
false;}function
result($I,$k=0){$J=$this->query($I);if(!$J||!$J->num_rows)return
false;return
mysql_result($J->_result,0,$k);}}class
Min_Result{var$num_rows,$_result,$_offset=0;function
Min_Result($J){$this->_result=$J;$this->num_rows=mysql_num_rows($J);}function
fetch_assoc(){return
mysql_fetch_assoc($this->_result);}function
fetch_row(){return
mysql_fetch_row($this->_result);}function
fetch_field(){$K=mysql_fetch_field($this->_result,$this->_offset++);$K->orgtable=$K->table;$K->orgname=$K->name;$K->charsetnr=($K->blob?63:0);return$K;}function
__destruct(){mysql_free_result($this->_result);}}}elseif(extension_loaded("pdo_mysql")){class
Min_DB
extends
Min_PDO{var$extension="PDO_MySQL";function
connect($O,$V,$G){$this->dsn("mysql:charset=utf8;host=".str_replace(":",";unix_socket=",preg_replace('~:(\\d)~',';port=\\1',$O)),$V,$G);$this->query("SET NAMES utf8");return
true;}function
select_db($qb){return$this->query("USE ".idf_escape($qb));}function
query($I,$tg=false){$this->setAttribute(1000,!$tg);return
parent::query($I,$tg);}}}class
Min_Driver
extends
Min_SQL{function
insert($Q,$P){return($P?parent::insert($Q,$P):queries("INSERT INTO ".table($Q)." ()\nVALUES ()"));}function
insertUpdate($Q,$M,$He){$d=array_keys(reset($M));$Fe="INSERT INTO ".table($Q)." (".implode(", ",$d).") VALUES\n";$Gg=array();foreach($d
as$y)$Gg[$y]="$y = VALUES($y)";$Jf="\nON DUPLICATE KEY UPDATE ".implode(", ",$Gg);$Gg=array();$ld=0;foreach($M
as$P){$Y="(".implode(", ",$P).")";if($Gg& & (strlen($Fe)+$ld+strlen($Y)+strlen($Jf)>1e6)){if(!queries($Fe.implode(",\n",$Gg).$Jf))return
false;$Gg=array();$ld=0;}$Gg[]=$Y;$ld+=strlen($Y)+2;}return
queries($Fe.implode(",\n",$Gg).$Jf);}}function
idf_escape($Jc){return"`".str_replace("`","``",$Jc)."`";}function
table($Jc){return
idf_escape($Jc);}function
connect(){global$b;$e=new
Min_DB;$mb=$b->credentials();if($e->connect($mb[0],$mb[1],$mb[2])){$e->query("SET sql_quote_show_create = 1, autocommit = 1");return$e;}$K=$e->error;if(function_exists('iconv')&&!is_utf8($K)&&strlen($lf=iconv("windows-1250","utf-8",$K))>strlen($K))$K=$lf; return$K;}function
get_databases($pc){global$e;$K=get_session("dbs");if($K===null){$I=($e->server_info>=5?"SELECT SCHEMA_NAME FROM information_schema.SCHEMATA":"SHOW DATABASES");$K=($pc?slow_query($I):get_vals($I));restart_session();set_session("dbs",$K);stop_session();}return$K;}function
limit($I,$Z,$z,$Pd=0,$sf=" "){return" $I$Z".($z!==null?$sf."LIMIT $z".($Pd?" OFFSET $Pd":""):"");}function
limit1($I,$Z){return
limit($I,$Z,1);}function
db_collation($h,$Wa){global$e;$K=null;$jb=$e->result("SHOW CREATE DATABASE ".idf_escape($h),1);if(preg_match('~ COLLATE ([^ ]+)~',$jb,$B))$K=$B[1];elseif(preg_match('~ CHARACTER SET ([^ ]+)~',$jb,$B))$K=$Wa[$B[1]][-1];return$K;}function
engines(){$K=array();foreach(get_rows("SHOW ENGINES")as$L){if(preg_match("~YES|DEFAULT~",$L["Support"]))$K[]=$L["Engine"];}return$K;}function
logged_user(){global$e;return$e->result("SELECT USER()");}function
tables_list(){global$e;return
get_key_vals($e->server_info>=5?"SELECT TABLE_NAME, TABLE_TYPE FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() ORDER BY TABLE_NAME":"SHOW TABLES");}function
count_tables($g){$K=array();foreach($g
as$h)$K[$h]=count(get_vals("SHOW TABLES IN ".idf_escape($h)));return$K;}function
table_status($E="",$ic=false){global$e;$K=array();foreach(get_rows($ic& & $e->server_info>=5?"SELECT TABLE_NAME AS Name, Engine, TABLE_COMMENT AS Comment FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() ".($E!=""?"AND TABLE_NAME = ".q($E):"ORDER BY Name"):"SHOW TABLE STATUS".($E!=""?" LIKE ".q(addcslashes($E,"%_\\")):""))as$L){if($L["Engine"]=="InnoDB")$L["Comment"]=preg_replace('~(?:(.+); )?InnoDB free: .*~','\\1',$L["Comment"]);if(!isset($L["Engine"]))$L["Comment"]="";if($E!="")return$L;$K[$L["Name"]]=$L;}return$K;}function
is_view($R){return$R["Engine"]===null;}function
fk_support($R){return
preg_match('~InnoDB|IBMDB2I~i',$R["Engine"]);}function
fields($Q){$K=array();foreach(get_rows("SHOW FULL COLUMNS FROM ".table($Q))as$L){preg_match('~^([^( ]+)(?:\\((.+)\\))?( unsigned)?( zerofill)?$~',$L["Type"],$B);$K[$L["Field"]]=array("field"=>$L["Field"],"full_type"=>$L["Type"],"type"=>isset($B[1])?$B[1]:null,"length"=>isset($B[2])?$B[2]:null,"unsigned"=>ltrim((isset($B[3])?$B[3]:'').(isset($B[4])?$B[4]:'')),"default"=>($L["Default"]!=""||preg_match("~char|set~",$B[1])?$L["Default"]:null),"null"=>($L["Null"]=="YES"),"auto_increment"=>($L["Extra"]=="auto_increment"),"on_update"=>(preg_match('~^on update (.+)~i',$L["Extra"],$B)?$B[1]:""),"collation"=>$L["Collation"],"privileges"=>array_flip(preg_split('~, *~',$L["Privileges"])),"comment"=>$L["Comment"],"primary"=>($L["Key"]=="PRI"),);}return$K;}function
indexes($Q,$f=null){$K=array();foreach(get_rows("SHOW INDEX FROM ".table($Q),$f)as$L){$K[$L["Key_name"]]["type"]=($L["Key_name"]=="PRIMARY"?"PRIMARY":($L["Index_type"]=="FULLTEXT"?"FULLTEXT":($L["Non_unique"]?"INDEX":"UNIQUE")));$K[$L["Key_name"]]["columns"][]=$L["Column_name"];$K[$L["Key_name"]]["lengths"][]=$L["Sub_part"];$K[$L["Key_name"]]["descs"][]=null;}return$K;}function
foreign_keys($Q){global$e,$Wd;static$ye='`(?:[^`]|``)+`';$K=array();$kb=$e->result("SHOW CREATE TABLE ".table($Q),1);if($kb){preg_match_all("~CONSTRAINT ($ye) FOREIGN KEY \\(((?:$ye,? ?)+)\\) REFERENCES ($ye)(?:\\.($ye))? \\(((?:$ye,? ?)+)\\)(?: ON DELETE ($Wd))?(?: ON UPDATE ($Wd))?~",$kb,$sd,PREG_SET_ORDER);foreach($sd
as$B){preg_match_all("~$ye~",$B[2],$zf);preg_match_all("~$ye~",$B[5],$Uf);$K[idf_unescape($B[1])]=array("db"=>idf_unescape($B[4]!=""?$B[3]:$B[4]),"table"=>idf_unescape($B[4]!=""?$B[4]:$B[3]),"source"=>array_map('idf_unescape',$zf[0]),"target"=>array_map('idf_unescape',$Uf[0]),"on_delete"=>($B[6]?$B[6]:"RESTRICT"),"on_update"=>($B[7]?$B[7]:"RESTRICT"),);}}return$K;}function
view($E){global$e;return
array("select"=>preg_replace('~^(?:[^`]|`[^`]*`)*\\s+AS\\s+~isU','',$e->result("SHOW CREATE VIEW ".table($E),1)));}function
collations(){$K=array();foreach(get_rows("SHOW COLLATION")as$L){if($L["Default"])$K[$L["Charset"]][-1]=$L["Collation"];else$K[$L["Charset"]][]=$L["Collation"];}ksort($K);foreach($K
as$y=>$X)asort($K[$y]);return$K;}function
information_schema($h){global$e;return($e->server_info>=5&&$h=="information_schema")||($e->server_info>=5.5&&$h=="performance_schema"); }function
error(){global$e;return
h(preg_replace('~^You have an error.*syntax to use~U',"Syntax error",$e->error));}function
error_line(){global$e;if(preg_match('~ at line ([0-9]+)$~',$e->error,$af))return$af[1]-1;}function
create_database($h,$Va){set_session("dbs",null);return
queries("CREATE DATABASE ".idf_escape($h).($Va?" COLLATE ".q($Va):""));}function
drop_databases($g){restart_session();set_session("dbs",null);return
apply_queries("DROP DATABASE",$g,'idf_escape');}function
rename_database($E,$Va){if(create_database($E,$Va)){$bf=array();foreach(tables_list()as$Q=>$U)$bf[]=table($Q)." TO ".idf_escape($E).".".table($Q);if(!$bf||queries("RENAME TABLE ".implode(", ",$bf))){queries("DROP DATABASE ".idf_escape(DB));return
true;}}return
false;}function
auto_increment(){$za=" PRIMARY KEY";if($_GET["create"]!=""&&$_POST["auto_increment_col"]){foreach(indexes($_GET["create"])as$u){if(in_array($_POST["fields"][$_POST["auto_increment_col"]]["orig"],$u["columns"],true)){$za=""; break;}if($u["type"]=="PRIMARY")$za=" UNIQUE";}}return" AUTO_INCREMENT$za";}function
alter_table($Q,$E,$l,$qc,$ab,$Sb,$Va,$ya,$ue){$sa=array();foreach($l
as$k)$sa[]=($k[1]?($Q!=""?($k[0]!=""?"CHANGE ".idf_escape($k[0]):"ADD"):" ")." ".implode($k[1]).($Q!=""?$k[2]:""):"DROP ".idf_escape($k[0]));$sa=array_merge($sa,$qc);$Cf="COMMENT=".q($ab).($Sb?" ENGINE=".q($Sb):"").($Va?" COLLATE ".q($Va):"").($ya!=""?" AUTO_INCREMENT=$ya":"").$ue;if($Q=="")return
queries("CREATE TABLE ".table($E)." (\n".implode(",\n",$sa)."\n) $Cf");if($Q!=$E)$sa[]="RENAME TO ".table($E);$sa[]=$Cf;return
queries("ALTER TABLE ".table($Q)."\n".implode(",\n",$sa));}function
alter_indexes($Q,$sa){foreach($sa
as$y=>$X)$sa[$y]=($X[2]=="DROP"?"\nDROP INDEX ".idf_escape($X[1]):"\nADD $X[0] ".($X[0]=="PRIMARY"?"KEY ":"").($X[1]!=""?idf_escape($X[1])." ":"")."(".implode(", ",$X[2]).")");return
queries("ALTER TABLE ".table($Q).implode(",",$sa));}function
truncate_tables($S){return
apply_queries("TRUNCATE TABLE",$S);}function
drop_views($Kg){return
queries("DROP VIEW ".implode(", ",array_map('table',$Kg)));}function
drop_tables($S){return
queries("DROP TABLE ".implode(", ",array_map('table',$S)));}function
move_tables($S,$Kg,$Uf){$bf=array();foreach(array_merge($S,$Kg)as$Q)$bf[]=table($Q)." TO ".idf_escape($Uf).".".table($Q);return
queries("RENAME TABLE ".implode(", ",$bf));}function
copy_tables($S,$Kg,$Uf){queries("SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'");foreach($S
as$Q){$E=($Uf==DB?table("copy_$Q"):idf_escape($Uf).".".table($Q));if(!queries("\nDROP TABLE IF EXISTS $E")||!queries("CREATE TABLE $E LIKE ".table($Q))||!queries("INSERT INTO $E SELECT * FROM ".table($Q)))return
false;}foreach($Kg
as$Q){$E=($Uf==DB?table("copy_$Q"):idf_escape($Uf).".".table($Q));$Jg=view($Q);if(!queries("DROP VIEW IF EXISTS $E")||!queries("CREATE VIEW $E AS $Jg[select]"))return
false;}return
true;}function
trigger($E){if($E=="")return
array();$M=get_rows("SHOW TRIGGERS WHERE `Trigger` = ".q($E));return
reset($M);}function
triggers($Q){$K=array();foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($Q,"%_\\")))as$L)$K[$L["Trigger"]]=array($L["Timing"],$L["Event"]);return$K;}function
trigger_options(){return
array("Timing"=>array("BEFORE","AFTER"),"Event"=>array("INSERT","UPDATE","DELETE"),"Type"=>array("FOR EACH ROW"),);}function
routine($E,$U){global$e,$Ub,$Oc,$sg;$qa=array("bool","boolean","integer","double precision","real","dec","numeric","fixed","national char","national varchar");$rg="((".implode("|",array_merge(array_keys($sg),$qa)).")\\b(?:\\s*\\(((?:[^'\")]|$Ub)++)\\))?\\s*(zerofill\\s*)?(unsigned(?:\\s+zerofill)?)?)(?:\\s*(?:CHARSET|CHARACTER\\s+SET)\\s*['\"]?([^'\"\\s]+)['\"]?)?";$ye="\\s*(".($U=="FUNCTION"?"":$Oc).")?\\s*(?:`((?:[^`]|``)*)`\\s*|\\b(\\S+)\\s+)$rg";$jb=$e->result("SHOW CREATE $U ".idf_escape($E),2);preg_match("~\\(((?:$ye\\s*,?)*)\\)\\s*".($U=="FUNCTION"?"RETURNS\\s+$rg\\s+":"")."(.*)~is",$jb,$B);$l=array();preg_match_all("~$ye\\s*,?~is",$B[1],$sd,PREG_SET_ORDER);foreach($sd
as$pe){$E=str_replace("``","`",$pe[2]).$pe[3];$l[]=array("field"=>$E,"type"=>strtolower($pe[5]),"length"=>preg_replace_callback("~$Ub~s",'normalize_enum',$pe[6]),"unsigned"=>strtolower(preg_replace('~\\s+~',' ',trim("$pe[8] $pe[7]"))),"null"=>1,"full_type"=>$pe[4],"inout"=>strtoupper($pe[1]),"collation"=>strtolower($pe[9]),);}if($U!="FUNCTION")return
array("fields"=>$l,"definition"=>$B[11]);return
array("fields"=>$l,"returns"=>array("type"=>$B[12],"length"=>$B[13],"unsigned"=>$B[15],"collation"=>$B[16]),"definition"=>$B[17],"language"=>"SQL",);}function
routines(){return
get_rows("SELECT ROUTINE_NAME, ROUTINE_TYPE, DTD_IDENTIFIER FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = ".q(DB));}function
routine_languages(){return
array();}function
last_id(){global$e;return$e->result("SELECT LAST_INSERT_ID()");}function
explain($e,$I){return$e->query("EXPLAIN ".($e->server_info>=5.1?"PARTITIONS ":"").$I);}function
found_rows($R,$Z){return($Z||$R["Engine"]!="InnoDB"?null:$R["Rows"]);}function
types(){return
array();}function
schemas(){return
array();}function
get_schema(){return"";}function
set_schema($nf){return
true;}function
create_sql($Q,$ya){global$e;$K=$e->result("SHOW CREATE TABLE ".table($Q),1);if(!$ya)$K=preg_replace('~ AUTO_INCREMENT=\\d+~','',$K);return$K;}function
truncate_sql($Q){return"TRUNCATE ".table($Q);}function
use_sql($qb){return"USE ".idf_escape($qb);}function
trigger_sql($Q,$Hf){$K="";foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($Q,"%_\\")),null,"-- ")as$L)$K.="\n".($Hf=='CREATE+ALTER'?"DROP TRIGGER IF EXISTS ".idf_escape($L["Trigger"]).";;\n":"")."CREATE TRIGGER ".idf_escape($L["Trigger"])." $L[Timing] $L[Event] ON ".table($L["Table"])." FOR EACH ROW\n$L[Statement];;\n";return$K;}function
show_variables(){return
get_key_vals("SHOW VARIABLES");}function
process_list(){return
get_rows("SHOW FULL PROCESSLIST");}function
show_status(){return
get_key_vals("SHOW STATUS");}function
convert_field($k){if(preg_match("~binary~",$k["type"]))return"HEX(".idf_escape($k["field"]).")";if($k["type"]=="bit")return"BIN(".idf_escape($k["field"])." + 0)";if(preg_match("~geometry|point|linestring|polygon~",$k["type"]))return"AsWKT(".idf_escape($k["field"]).")";}function
unconvert_field($k,$K){if(preg_match("~binary~",$k["type"]))$K="UNHEX($K)";if($k["type"]=="bit")$K="CONV($K, 2, 10) + 0";if(preg_match("~geometry|point|linestring|polygon~",$k["type"]))$K="GeomFromText($K)";return$K;}function
support($jc){global$e;return!preg_match("~scheme|sequence|type|view_trigger".($e->server_info< 5.1 ? " | event | partitioning " . ( $ e- > server_info< 5 ? " | routine | trigger | view " : " " ) : " " ) . " ~ " , $ jc ) ; } $ x = "sql" ; $ sg = array();$Gf=array();foreach(array('Numbers'= > array("tinyint"=>3,"smallint"=>5,"mediumint"=>8,"int"=>10,"bigint"=>20,"decimal"=>66,"float"=>12,"double"=>21),'Date and time'=>array("date"=>10,"datetime"=>19,"timestamp"=>19,"time"=>10,"year"=>4),'Strings'=>array("char"=>255,"varchar"=>65535,"tinytext"=>255,"text"=>65535,"mediumtext"=>16777215,"longtext"=>4294967295),'Lists'=>array("enum"=>65535,"set"=>64),'Binary'=>array("bit"=>20,"binary"=>255,"varbinary"=>65535,"tinyblob"=>255,"blob"=>65535,"mediumblob"=>16777215,"longblob"=>4294967295),'Geometry'=>array("geometry"=>0,"point"=>0,"linestring"=>0,"polygon"=>0,"multipoint"=>0,"multilinestring"=>0,"multipolygon"=>0,"geometrycollection"=>0),)as$y=>$X){$sg+=$X;$Gf[$y]=array_keys($X);}$zg=array("unsigned","zerofill","unsigned zerofill");$ae=array("=","< ",">","< =",">=","!=","LIKE","LIKE %%","REGEXP","IN","IS NULL","NOT LIKE","NOT REGEXP","NOT IN","IS NOT NULL","SQL");$xc=array("char_length","date","from_unixtime","lower","round","sec_to_time","time_to_sec","upper");$_c=array("avg","count","count distinct","group_concat","max","min","sum");$Kb=array(array("char"=>"md5/sha1/password/encrypt/uuid","binary"=>"md5/sha1","date|time"=>"now",),array("(^|[^o])int|float|double|decimal"=>"+/-","date"=>"+ interval/- interval","time"=>"addtime/subtime","char|text"=>"concat",));}define("SERVER",$_GET[DRIVER]);define("DB",$_GET["db"]);define("ME",preg_replace('~^[^?]*/([^?]*).*~','\\1',$_SERVER["REQUEST_URI"]).'?'.(sid()?SID.'&':'').(SERVER!==null?DRIVER."=".urlencode(SERVER).'&':'').(isset($_GET["username"])?"username=".urlencode($_GET["username"]).'&':'').(DB!=""?'db='.urlencode(DB).'&'.(isset($_GET["ns"])?"ns=".urlencode($_GET["ns"])."&":""):'')); $ga="4.1.0";class
Adminer{var$operators;function
name(){return"< a href = 'http://www.adminer.org/' target = '_blank' id = 'h1' > Adminer< / a > ";}function
credentials(){return
array(SERVER,$_GET["username"],get_password());}function
permanentLogin($jb=false){return
password_file($jb);}function
bruteForceKey(){return$_SERVER["REMOTE_ADDR"];}function
database(){return
DB;}function
databases($pc=true){return
get_databases($pc);}function
schemas(){return
schemas();}function
queryTimeout(){return
5;}function
headers(){return
true;}function
head(){return
true;}function
loginForm(){global$Db;echo'< table cellspacing = "0" >
< tr > < th > System< td > ',html_select("auth[driver]",$Db,DRIVER,"loginDriver(this);"),'< tr > < th > Server< td > < input name = "auth[server]" value = "',h(SERVER),'" title = "hostname[:port]" placeholder = "localhost" autocapitalize = "off" >
< tr > < th > Username< td > < input name = "auth[username]" id = "username" value = "',h((isset($_GET[" username " ] ) ? $ _GET [ " username " ] : ' ' ) ) , ' " autocapitalize = "off" >
< tr > < th > Password< td > < input type = "password" name = "auth[password]" >
< tr > < th > Database< td > < input name = "auth[db]" value = "',h((isset($_GET[" db " ] ) ? $ _GET [ " db " ] : ' ' ) ) ; ? > " autocapitalize="off">
< / table >
< script type = "text/javascript" >
var username = document.getElementById('username');
focus(username);
username.form['auth[driver]'].onchange();
< / script >
<?php
echo"< p > < input type = 'submit' value = '".' Login ' . " ' > \n",checkbox("auth[permanent]",1,(isset($_COOKIE["adminer_permanent"])?$_COOKIE["adminer_permanent"]:false),'Permanent login')."\n";}function
login($qd,$G){return
true;}function
tableName($Nf){return
h($Nf["Name"]);}function
fieldName($k,$ee=0){return'< span title = "'.h($k[" full_type " ] ) . ' " > '.h($k["field"]).'< / span > ';}function
selectLinks($Nf,$P=""){echo'< p class = "links" > ';$pd=array("select"=>'Select data');if(support("table")||support("indexes"))$pd["table"]='Show structure';if(support("table")){if(is_view($Nf))$pd["view"]='Alter view';else$pd["create"]='Alter table';}if($P!==null)$pd["edit"]='New item';foreach($pd
as$y=>$X)echo" < a href = '".h(ME)."$y=".urlencode($Nf["Name"]).($y=="edit"?$P:"")."' " . bold ( isset ( $ _GET [ $ y ] ) ) . " > $X< / a > ";echo"\n";}function
foreignKeys($Q){return
foreign_keys($Q);}function
backwardKeys($Q,$Mf){return
array();}function
backwardKeysPrint($Aa,$L){}function
selectQuery($I,$ag){global$x;return"< p > < code class = 'jush-$x' > ".h(str_replace("\n"," ",$I))."< / code > < span class = 'time' > ($ag)< / span > ".(support("sql")?" < a href = '".h(ME)."sql=".urlencode($I)."' > ".'Edit'."< / a > ":"")."< / p > ";}function
rowDescription($Q){return"";}function
rowDescriptions($M,$rc){return$M;}function
selectLink($X,$k){}function
selectVal($X,$_,$k,$le){$K=($X===null?"< i > NULL< / i > ":(preg_match("~char|binary~",$k["type"])&&!preg_match("~var~",$k["type"])?"<code>$X</code>":$X)); if(preg_match('~blob|bytea|raw|file~',$k["type"])& & !is_utf8($X))$K=lang(array('%d byte','%d bytes'),strlen($le));return($_?"< a href = '".h($_)."' " . ( is_url ( $ _ ) ? " rel = 'noreferrer' " : " " ) . " > $K< / a > ":$K);}function
editVal($X,$k){return$X;}function
selectColumnsPrint($N,$d){global$xc,$_c;print_fieldset("select",'Select',$N);$s=0;$N[""]=array();foreach($N
as$y=>$X){$X=$_GET["columns"][$y];$c=select_input(" name='columns[$s][col]' onchange='".($y!==""?"selectFieldChange(this.form)":"selectAddRow(this)").";'",$d,$X["col"]);echo"< div > ".($xc||$_c?"< select name = 'columns[$s][fun]' onchange = 'helpClose();".($y!==""?"":" this.nextSibling.nextSibling.onchange();")."' " . on_help ( " getTarget ( event ) . value & & getTarget ( event ) . value . replace ( / | \ $ / , ' ( ' ) + ' ) ' " , 1 ) . " > ".optionlist(array(-1=>"")+array_filter(array('Functions'=>$xc,'Aggregation'=>$_c)),$X["fun"])."< / select > "."($c)":$c)."< / div > \n";$s++;}echo"< / div > < / fieldset > \n";}function
selectSearchPrint($Z,$d,$v){print_fieldset("search",'Search',$Z);foreach($v
as$s=>$u){if($u["type"]=="FULLTEXT"){echo"(< i > ".implode("< / i > , < i > ",array_map('h',$u["columns"]))."< / i > ) AGAINST"," < input type = 'search' name = 'fulltext[$s]' value = '".h($_GET["fulltext"][$s])."' onchange = 'selectFieldChange(this.form);' > ",checkbox("boolean[$s]",1,isset($_GET["boolean"][$s]),"BOOL"),"< br > \n";}}$_GET["where"]=(array)$_GET["where"];reset($_GET["where"]);$Ka="this.nextSibling.onchange();";for($s=0;$s< =count($_GET["where"]);$s++){list(,$X)=each($_GET["where"]);if(!$X||("$X[col]$X[val]"!=""& & in_array($X["op"],$this->operators))){echo"< div > ".select_input(" name='where[$s][col]' onchange='$Ka'",$d,$X["col"],"(".'anywhere'.")"),html_select("where[$s][op]",$this->operators,$X["op"],$Ka),"< input type = 'search' name = 'where[$s][val]' value = '".h($X["val"])."' onchange = '".($X?"selectFieldChange(this.form)":"selectAddRow(this)").";' onkeydown = 'selectSearchKeydown(this, event);' onsearch = 'selectSearchSearch(this);' > < / div > \n";}}echo"< / div > < / fieldset > \n";}function
selectOrderPrint($ee,$d,$v){print_fieldset("sort",'Sort',$ee);$s=0;foreach((array)$_GET["order"]as$y=>$X){if($X!=""){echo"< div > ".select_input(" name='order[$s]' onchange='selectFieldChange(this.form);'",$d,$X),checkbox("desc[$s]",1,isset($_GET["desc"][$y]),'descending')."< / div > \n";$s++;}}echo"< div > ".select_input(" name='order[$s]' onchange='selectAddRow(this);'",$d),checkbox("desc[$s]",1,false,'descending')."< / div > \n","< / div > < / fieldset > \n";}function
selectLimitPrint($z){echo"< fieldset > < legend > ".'Limit'."< / legend > < div > ";echo"< input type = 'number' name = 'limit' class = 'size' value = '".h($z)."' onchange = 'selectFieldChange(this.form);' > ","< / div > < / fieldset > \n";}function
selectLengthPrint($Zf){if($Zf!==null){echo"< fieldset > < legend > ".'Text length'."< / legend > < div > ","< input type = 'number' name = 'text_length' class = 'size' value = '".h($Zf)."' > ","< / div > < / fieldset > \n";}}function
selectActionPrint($v){echo"< fieldset > < legend > ".'Action'."< / legend > < div > ","< input type = 'submit' value = '".' Select ' . " ' > "," < span id = 'noindex' title = '".' Full table scan ' . " ' > < / span > ","< script type = 'text/javascript' > \ n " , " v a r i n d e x C o l u m n s = " ; $ d = a r r a y ( ) ; f o r e a c h ( $ v
as$u){if($u["type"]!="FULLTEXT")$d[reset($u["columns"])]=1;}$d[""]=1;foreach($d
as$y=>$X)json_row($y);echo";\n","selectFieldChange(document.getElementById('form'));\n","< / script > \n","< / div > < / fieldset > \n";}function
selectCommandPrint(){return!information_schema(DB);}function
selectImportPrint(){return!information_schema(DB);}function
selectEmailPrint($Pb,$d){}function
selectColumnsProcess($d,$v){global$xc,$_c;$N=array();$r=array();foreach((array)(isset($_GET["columns"])?$_GET["columns"]:null)as$y=>$X){if($X["fun"]=="count"||($X["col"]!=""&&(!$X["fun"]||in_array($X["fun"],$xc)||in_array($X["fun"],$_c)))){$N[$y]=apply_sql_function($X["fun"],($X["col"]!=""?idf_escape($X["col"]):"*")); if(!in_array($X["fun"],$_c))$r[]=$N[$y];}}return
array($N,$r);}function
selectSearchProcess($l,$v){global$x;$K=array();foreach($v
as$s=>$u){if($u["type"]=="FULLTEXT"& & $_GET["fulltext"][$s]!="")$K[]="MATCH (".implode(", ",array_map('idf_escape',$u["columns"])).") AGAINST (".q($_GET["fulltext"][$s]).(isset($_GET["boolean"][$s])?" IN BOOLEAN MODE":"").")";}foreach((array)(isset($_GET["where"])?$_GET["where"]:null)as$X){if("$X[col]$X[val]"!=""& & in_array($X["op"],$this->operators)){$cb=" $X[op]";if(preg_match('~IN$~',$X["op"])){$Lc=process_length($X["val"]);$cb.=" ".($Lc!=""?$Lc:"(NULL)");}elseif($X["op"]=="SQL")$cb=" $X[val]";elseif($X["op"]=="LIKE %%")$cb=" LIKE ".$this->processInput($l[$X["col"]],"%$X[val]%");elseif(!preg_match('~NULL$~',$X["op"]))$cb.=" ".$this->processInput($l[$X["col"]],$X["val"]);if($X["col"]!="")$K[]=idf_escape($X["col"]).$cb;else{$Xa=array();foreach($l
as$E=>$k){$Xc=preg_match('~char|text|enum|set~',$k["type"]);if((is_numeric($X["val"])||!preg_match('~(^|[^o])int|float|double|decimal|bit~',$k["type"]))&&(!preg_match("~[\x80-\xFF]~",$X["val"])||$Xc)){$E=idf_escape($E); $Xa[]=($x=="sql"& & $Xc& & !preg_match('~^utf8~',$k["collation"])?"CONVERT($E USING utf8)":$E);}}$K[]=($Xa?"(".implode("$cb OR ",$Xa)."$cb)":"0");}}}return$K;}function
selectOrderProcess($l,$v){$K=array();foreach((array)(isset($_GET["order"])?$_GET["order"]:null)as$y=>$X){if($X!="")$K[]=(preg_match('~^((COUNT\\(DISTINCT |[A-Z0-9_]+\\()(`(?:[^`]|``)+`|"(?:[^"]|"")+")\\)|COUNT\\(\\*\\))$~',$X)?$X:idf_escape($X)).(isset($_GET["desc"][$y])?" DESC":"");}return$K;}function
selectLimitProcess(){return(isset($_GET["limit"])?$_GET["limit"]:"50");}function
selectLengthProcess(){return(isset($_GET["text_length"])?$_GET["text_length"]:"100");}function
selectEmailProcess($Z,$rc){return
false;}function
selectQueryBuild($N,$Z,$r,$ee,$z,$F){return"";}function
messageQuery($I,$ag){global$x;restart_session();$Ec=&get_session("queries"); $t="sql-".count($Ec[$_GET["db"]]);if(strlen($I)>1e6)$I=preg_replace('~[\x80-\xFF]+$~','',substr($I,0,1e6))."\n...";$Ec[$_GET["db"]][]=array($I,time(),$ag);return" < span class = 'time' > ".@date("H:i:s")."< / span > < a href = '#$t' onclick = \"return ! toggle ( ' $ t ' ) ; \ " > ".'SQL command'."< / a > "."< div id = '$t' class = 'hidden' > < pre > < code class = 'jush-$x' > ".shorten_utf8($I,1000).'< / code > < / pre > '.($ag?" < span class = 'time' > ($ag)< / span > ":'').(support("sql")?'< p > < a href = "'.h(str_replace(" db = ".urlencode(DB)," db = ".urlencode($_GET[" db " ] ) , ME ) . ' sql = &history='.(count($Ec[$_GET["db"]])-1)).'" > '.'Edit'.'< / a > ':'').'< / div > ';}function
editFunctions($k){global$Kb;$K=($k["null"]?"NULL/":"");foreach($Kb
as$y=>$xc){if(!$y||(!isset($_GET["call"])& & (isset($_GET["select"])||where($_GET)))){foreach($xc
as$ye=>$X){if(!$ye||preg_match("~$ye~",$k["type"]))$K.="/$X";}if($y&&!preg_match('~set|blob|bytea|raw|file~',$k["type"]))$K.="/SQL"; }}if($k["auto_increment"]& & !isset($_GET["select"])& & !where($_GET))$K='Auto Increment';return
explode("/",$K);}function
editInput($Q,$k,$wa,$Y){if($k["type"]=="enum")return(isset($_GET["select"])?"< label > < input type = 'radio' $ wa value = '-1' checked > < i > ".'original'."< / i > < / label > ":"").($k["null"]?"< label > < input type = 'radio' $ wa value = '' " . ( $ Y ! = = null | | isset ( $ _GET [ " select " ] ) ? " " : " checked " ) . " > < i > NULL< / i > < / label > ":"").enum_input("radio",$wa,$k,$Y,0);return"";}function
processInput($k,$Y,$p=""){if($p=="SQL")return$Y;$E=$k["field"];$K=q($Y);if(preg_match('~^(now|getdate|uuid)$~',$p))$K="$p()";elseif(preg_match('~^current_(date|timestamp)$~',$p))$K=$p;elseif(preg_match('~^([+-]|\\|\\|)$~',$p))$K=idf_escape($E)." $p $K";elseif(preg_match('~^[+-] interval$~',$p))$K=idf_escape($E)." $p ".(preg_match("~^(\\d+|'[0-9.: -]') [A-Z_]+$~i",$Y)?$Y:$K);elseif(preg_match('~^(addtime|subtime|concat)$~',$p))$K="$p(".idf_escape($E).", $K)";elseif(preg_match('~^(md5|sha1|password|encrypt)$~',$p))$K="$p($K)";return
unconvert_field($k,$K);}function
dumpOutput(){$K=array('text'=>'open','file'=>'save');if(function_exists('gzencode'))$K['gz']='gzip';return$K;}function
dumpFormat(){return
array('sql'=>'SQL','csv'=>'CSV,','csv;'=>'CSV;','tsv'=>'TSV');}function
dumpDatabase($h){}function
dumpTable($Q,$Hf,$Yc=0){if($_POST["format"]!="sql"){echo"\xef\xbb\xbf";if($Hf)dump_csv(array_keys(fields($Q)));}elseif($Hf){if($Yc==2){$l=array();foreach(fields($Q)as$E=>$k)$l[]=idf_escape($E)." $k[full_type]";$jb="CREATE TABLE ".table($Q)." (".implode(", ",$l).")";}else$jb=create_sql($Q,$_POST["auto_increment"]);if($jb){if($Hf=="DROP+CREATE"||$Yc==1)echo"DROP ".($Yc==2?"VIEW":"TABLE")." IF EXISTS ".table($Q).";\n";if($Yc==1)$jb=remove_definer($jb);echo"$jb;\n\n";}}}function
dumpData($Q,$Hf,$I){global$e,$x;$ud=($x=="sqlite"?0:1048576);if($Hf){if($_POST["format"]=="sql"){if($Hf=="TRUNCATE+INSERT")echo
truncate_sql($Q).";\n";$l=fields($Q);}$J=$e->query($I,1);if($J){$Qc="";$Ia="";$ad=array();$Jf="";$kc=($Q!=''?'fetch_assoc':'fetch_row');while($L=$J->$kc()){if(!$ad){$Gg=array();foreach($L
as$X){$k=$J->fetch_field();$ad[]=$k->name;$y=idf_escape($k->name);$Gg[]="$y = VALUES($y)";}$Jf=($Hf=="INSERT+UPDATE"?"\nON DUPLICATE KEY UPDATE ".implode(", ",$Gg):"").";\n";}if($_POST["format"]!="sql"){if($Hf=="table"){dump_csv($ad);$Hf="INSERT";}dump_csv($L);}else{if(!$Qc)$Qc="INSERT INTO ".table($Q)." (".implode(", ",array_map('idf_escape',$ad)).") VALUES";foreach($L
as$y=>$X){$k=$l[$y];$L[$y]=($X!==null?unconvert_field($k,preg_match('~(^|[^o])int|float|double|decimal~',$k["type"])&&$X!=''?$X:q($X)):"NULL"); }$lf=($ud?"\n":" ")."(".implode(",\t",$L).")";if(!$Ia)$Ia=$Qc.$lf;elseif(strlen($Ia)+4+strlen($lf)+strlen($Jf)< $ud)$Ia.=",$lf";else{echo$Ia.$Jf;$Ia=$Qc.$lf;}}}if($Ia)echo$Ia.$Jf;}elseif($_POST["format"]=="sql")echo"-- ".str_replace("\n"," ",$e->error)."\n";}}function
dumpFilename($Ic){return
friendly_url($Ic!=""?$Ic:(SERVER!=""?SERVER:"localhost"));}function
dumpHeaders($Ic,$Fd=false){$ne=$_POST["output"];$fc=(preg_match('~sql~',$_POST["format"])?"sql":($Fd?"tar":"csv"));header("Content-Type: ".($ne=="gz"?"application/x-gzip":($fc=="tar"?"application/x-tar":($fc=="sql"||$ne!="file"?"text/plain":"text/csv")."; charset=utf-8")));if($ne=="gz")ob_start('ob_gzencode',1e6);return$fc;}function
homepage(){echo'< p class = "links" > '.(empty($_GET["ns"])& & support("database")?'< a href = "'.h(ME).'database=" > '.'Alter database'."< / a > \n":""),(support("scheme")?"< a href = '".h(ME)."scheme=' > ".(!empty($_GET["ns"])?'Alter schema':'Create schema')."< / a > \n":""),(!empty($_GET["ns"])?'< a href = "'.h(ME).'schema=" > '.'Database schema'."< / a > \n":""),(support("privileges")?"< a href = '".h(ME)."privileges=' > ".'Privileges'."< / a > \n":"");return
true;}function
navigation($Ed){global$ga,$x,$Db,$e;echo'< h1 >
',$this->name(),' < span class = "version" > ',$ga,'< / span >
< a href = "http://www.adminer.org/#download" target = "_blank" id = "version" > ',(version_compare($ga,$_COOKIE["adminer_version"])< 0 ? h ( $ _COOKIE [ " adminer_version " ] ) : " " ) , ' < / a >
< / h1 >
';if($Ed=="auth"){$oc=true;foreach((array)$_SESSION["pwds"]as$Ig=>$vf){foreach($vf
as$O=>$Eg){foreach($Eg
as$V=>$G){if($G!==null){if($oc){echo"< p id = 'logins' onmouseover = 'menuOver(this, event);' onmouseout = 'menuOut(this);' > \n";$oc=false;}$tb=$_SESSION["db"][$Ig][$O][$V];foreach(($tb?array_keys($tb):array(""))as$h)echo"< a href = '".h(auth_url($Ig,$O,$V,$h))."' > ($Db[$Ig]) ".h($V.($O!=""?"@$O":"").($h!=""?" - $h":""))."< / a > < br > \n";}}}}}else{if((isset($_GET["ns"])?$_GET["ns"]:null)!==""&&!$Ed&&DB!=""){$e->select_db(DB); $S=table_status('',true);}if(support("sql")){echo'< script type = "text/javascript" src = "',h(preg_replace(" ~ \ \ ? . * ~ " , " " , ME ) ) . " ? file = jush.js&version=4.1.0&driver=mysql",'" > < / script >
< script type = "text/javascript" >
';if($S){$pd=array();foreach($S
as$Q=>$U)$pd[]=preg_quote($Q,'/');echo"var jushLinks = { $x: [ '".js_escape(ME).(support("table")?"table=":"select=")."\$& ', /\\b(".implode("|",$pd).")\\b/g ] };\n";foreach(array("bac","bra","sqlite_quo","mssql_bra")as$X)echo"jushLinks.$X = jushLinks.$x;\n";}echo'bodyLoad(\'',(is_object($e)?substr($e->server_info,0,3):""),'\');
< / script >
';}$this->databasesPrint($Ed);if(DB==""||!$Ed){echo"< p class = 'links' > ".(support("sql")?"< a href = '".h(ME)."sql=' " . bold ( isset ( $ _GET [ " sql " ] ) & & ! isset ( $ _GET [ " import " ] ) ) . " > ".'SQL command'."< / a > \n< a href = '".h(ME)."import=' " . bold ( isset ( $ _GET [ " import " ] ) ) . " > ".'Import'."< / a > \n":"")."";if(support("dump"))echo"< a href = '".h(ME)."dump=".urlencode(isset($_GET["table"])?$_GET["table"]:$_GET["select"])."' id = 'dump' " . bold ( isset ( $ _GET [ " dump " ] ) ) . " > ".'Dump'."< / a > \n";}if((isset($_GET["ns"])?$_GET["ns"]:null)!==""& & !$Ed& & DB!=""){echo'< a href = "'.h(ME).'create=" ' . bold ( ( isset ( $ _GET [ " create " ] ) ? $ _GET [ " create " ] :null ) = = = " " ) . " > ".'Create table'."< / a > \n";if(!$S)echo"< p class = 'message' > ".'No tables.'."\n";else$this->tablesPrint($S);}}}function
databasesPrint($Ed){global$b,$e;$g=$this->databases();echo'< form action = "" >
< p id = "dbs" >
';hidden_fields_get();$rb=" onmousedown='dbMouseDown(event, this);' onchange='dbChange(this);'";echo"< span title = '".' database ' . " ' > DB< / span > : ".($g?"< select name = 'db' $ rb > ".optionlist(array(""=>"")+$g,DB)."< / select > ":'< input name = "db" value = "'.h(DB).'" autocapitalize = "off" > '),"< input type = 'submit' value = '".' Use ' . " ' " . ( $ g ? " class = 'hidden' " : " " ) . " > \n";if($Ed!="db"& & DB!=""& & $e->select_db(DB)){}echo(isset($_GET["sql"])?'< input type = "hidden" name = "sql" value = "" > ':(isset($_GET["schema"])?'< input type = "hidden" name = "schema" value = "" > ':(isset($_GET["dump"])?'< input type = "hidden" name = "dump" value = "" > ':(isset($_GET["privileges"])?'< input type = "hidden" name = "privileges" value = "" > ':"")))),"< / p > < / form > \n";}function
tablesPrint($S){echo"< p id = 'tables' onmouseover = 'menuOver(this, event);' onmouseout = 'menuOut(this);' > \n";foreach($S
as$Q=>$Cf){echo'< a href = "'.h(ME).'select='.urlencode($Q).'" ' . bold ( ( isset ( $ _GET [ " select " ] ) ? $ _GET [ " select " ] :null ) = = $ Q | | ( isset ( $ _GET [ " edit " ] ) ? $ _GET [ " edit " ] :null ) = = $ Q ) . " > ".'select'."< / a > ";$E=$this->tableName($Cf);echo(support("table")||support("indexes")?'< a href = "'.h(ME).'table='.urlencode($Q).'" ' . bold ( in_array ( $ Q , array ( isset ( $ _GET [ " table " ] ) ? $ _GET [ " table " ] :null , isset ( $ _GET [ " create " ] ) ? $ _GET [ " create " ] :null , isset ( $ _GET [ " indexes " ] ) ? $ _GET [ " indexes " ] :null , isset ( $ _GET [ " foreign " ] ) ? $ _GET [ " foreign " ] :null , isset ( $ _GET [ " trigger " ] ) ? $ _GET [ " trigger " ] :null ) ) , ( is_view ( $ Cf ) ? " view " : " " ) ) . " title = '".' Show structure ' . " ' > $E< / a > ":"< span > $E< / span > ")."< br > \n";}}}$b=(function_exists('adminer_object')?adminer_object():new
Adminer);if($b->operators===null)$b->operators=$ae;function
page_header($dg,$j="",$Ha=array(),$eg=""){global$ca,$ga,$b,$Db,$x;page_headers();$fg=$dg.($eg!=""?": $eg":"");$gg=strip_tags($fg.(SERVER!=""& & SERVER!="localhost"?h(" - ".SERVER):"")." - ".$b->name());echo'<!DOCTYPE html>
< html lang = "en" dir = "ltr" >
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" >
< meta http-equiv = "Content-Script-Type" content = "text/javascript" >
< meta name = "robots" content = "noindex" >
< title > ',$gg,'< / title >
< link rel = "stylesheet" type = "text/css" href = "',h(preg_replace(" ~ \ \ ? . * ~ " , " " , ME ) ) . " ? file = default.css&version=4.1.0&driver=mysql",'" >
< script type = "text/javascript" src = "',h(preg_replace(" ~ \ \ ? . * ~ " , " " , ME ) ) . " ? file = functions.js&version=4.1.0&driver=mysql",'" > < / script >
';if($b->head()){echo'< link rel = "shortcut icon" type = "image/x-icon" href = "',h(preg_replace(" ~ \ \ ? . * ~ " , " " , ME ) ) . " ? file = favicon.ico&version=4.1.0&driver=mysql",'" >
< link rel = "apple-touch-icon" href = "',h(preg_replace(" ~ \ \ ? . * ~ " , " " , ME ) ) . " ? file = favicon.ico&version=4.1.0&driver=mysql",'" >
';if(file_exists("adminer.css")){echo'< link rel = "stylesheet" type = "text/css" href = "adminer.css" >
';}}echo'
< body class = "ltr nojs" onkeydown = "bodyKeydown(event);" onclick = "bodyClick(event);" ' , ( isset ( $ _COOKIE [ " adminer_version " ] ) ? " " : " onload = \"verifyVersion('$ga');\""),' >
< script type = "text/javascript" >
document.body.className = document.body.className.replace(/ nojs/, \' js\');
< / script >
< div id = "help" class = "jush-',$x,' jsonly hidden" onmouseover = "helpOpen = 1;" onmouseout = "helpMouseout(this, event);" > < / div >
< div id = "content" >
';if($Ha!==null){$_=substr(preg_replace('~\b(username|db|ns)=[^&]*&~','',ME),0,-1); echo'< p id = "breadcrumb" > < a href = "'.h($_?$_:" . " ) . ' " > '.$Db[DRIVER].'< / a > » ';$_=substr(preg_replace('~\b(db|ns)=[^&]*&~','',ME),0,-1); $O=(SERVER!=""?h(SERVER):'Server');if($Ha===false)echo"$O\n";else{echo"< a href = '".($_?h($_):".")."' accesskey = '1' title = 'Alt+Shift+1' > $O< / a > » ";if(!empty($_GET["ns"])||(DB!=""& & is_array($Ha)))echo'< a href = "'.h($_." & db = ".urlencode(DB).(support(" scheme " ) ? " & ns = ":" " ) ) . ' " > '.h(DB).'< / a > » ';if(is_array($Ha)){if(!empty($_GET["ns"]))echo'< a href = "'.h(substr(ME,0,-1)).'" > '.h($_GET["ns"]).'< / a > » ';foreach($Ha
as$y=>$X){$xb=(is_array($X)?$X[1]:h($X));if($xb!="")echo"< a href = '".h(ME."$y=").urlencode(is_array($X)?$X[0]:$X)."' > $xb< / a > » ";}}echo"$dg\n";}}echo"< h2 > $fg< / h2 > \n";restart_session();page_messages($j);$g=get_session("dbs");if(DB!=""&&$g&&!in_array(DB,$g,true))$g=null; stop_session();define("PAGE_HEADER",1);}function
page_headers(){global$b;header("Content-Type: text/html; charset=utf-8");header("Cache-Control: no-cache");if($b->headers()){header("X-Frame-Options: deny");header("X-XSS-Protection: 0");}}function
page_messages($j){$Ag=preg_replace('~^[^?]*~','',$_SERVER["REQUEST_URI"]);$Cd=((isset($_SESSION["messages"]) & & isset($_SESSION["messages"][$Ag]))?$_SESSION["messages"][$Ag]:false);if($Cd){echo"< div class = 'message' > ".implode("< / div > \n< div class = 'message' > ",$Cd)."< / div > \n";unset($_SESSION["messages"][$Ag]);}if($j)echo"< div class = 'error' > $j< / div > \n";}function
page_footer($Ed=""){global$b,$T;echo'< / div >
';if($Ed!="auth"){echo'< form action = "" method = "post" >
< p class = "logout" >
< input type = "submit" name = "logout" value = "Logout" id = "logout" >
< input type = "hidden" name = "token" value = "',$T,'" >
< / p >
< / form >
';}echo'< div id = "menu" >
';$b->navigation($Ed);echo'< / div >
< script type = "text/javascript" > setupSubmitHighlight ( document ) ; < / script >
';}function
int32($D){while($D>=2147483648)$D-=4294967296;while($D< =-2147483649)$D+=4294967296;return(int)$D;}function
long2str($W,$Mg){$lf='';foreach($W
as$X)$lf.=pack('V',$X);if($Mg)return
substr($lf,0,end($W));return$lf;}function
str2long($lf,$Mg){$W=array_values(unpack('V*',str_pad($lf,4*ceil(strlen($lf)/4),"\0")));if($Mg)$W[]=strlen($lf);return$W;}function
xxtea_mx($Rg,$Qg,$Kf,$Zc){return
int32((($Rg>>5&0x7FFFFFF)^$Qg<<2)+(($Qg>>3&0x1FFFFFFF)^$Rg<<4))^int32(($Kf^$Qg)+($Zc^$Rg)); }function
encrypt_string($Ef,$y){if($Ef=="")return"";$y=array_values(unpack("V*",pack("H*",md5($y))));$W=str2long($Ef,true);$D=count($W)-1;$Rg=$W[$D];$Qg=$W[0];$H=floor(6+52/($D+1));$Kf=0;while($H-->0){$Kf=int32($Kf+0x9E3779B9);$Jb=$Kf>>2&3; for($oe=0;$oe< $D;$oe++){$Qg=$W[$oe+1];$Gd=xxtea_mx($Rg,$Qg,$Kf,$y[$oe&3^$Jb]); $Rg=int32($W[$oe]+$Gd);$W[$oe]=$Rg;}$Qg=$W[0];$Gd=xxtea_mx($Rg,$Qg,$Kf,$y[$oe&3^$Jb]); $Rg=int32($W[$D]+$Gd);$W[$D]=$Rg;}return
long2str($W,false);}function
decrypt_string($Ef,$y){if($Ef=="")return"";if(!$y)return
false;$y=array_values(unpack("V*",pack("H*",md5($y))));$W=str2long($Ef,false);$D=count($W)-1;$Rg=$W[$D];$Qg=$W[0];$H=floor(6+52/($D+1));$Kf=int32($H*0x9E3779B9);while($Kf){$Jb=$Kf>>2&3; for($oe=$D;$oe>0;$oe--){$Rg=$W[$oe-1];$Gd=xxtea_mx($Rg,$Qg,$Kf,$y[$oe&3^$Jb]); $Qg=int32($W[$oe]-$Gd);$W[$oe]=$Qg;}$Rg=$W[$D];$Gd=xxtea_mx($Rg,$Qg,$Kf,$y[$oe&3^$Jb]); $Qg=int32($W[0]-$Gd);$W[0]=$Qg;$Kf=int32($Kf-0x9E3779B9);}return
long2str($W,true);}$e='';$Dc=$_SESSION["token"];if(!$Dc)$_SESSION["token"]=rand(1,1e6);$T=get_token();$ze=array();if(isset($_COOKIE["adminer_permanent"])?$_COOKIE["adminer_permanent"]:false){foreach(explode(" ",$_COOKIE["adminer_permanent"])as$X){list($y)=explode(":",$X);$ze[$y]=$X;}}function
add_invalid_login(){global$b;$mc=get_temp_dir()."/adminer.invalid";$o=@fopen($mc,"r+");if(!$o){$o=@fopen($mc,"w");if(!$o)return;}flock($o,LOCK_EX);$Tc=unserialize(stream_get_contents($o));$ag=time();if($Tc){foreach($Tc
as$Uc=>$X){if($X[0]< $ag)unset($Tc[$Uc]);}}$Sc=&$Tc[$b->bruteForceKey()]; if(!$Sc)$Sc=array($ag+30*60,0);$Sc[1]++;$tf=serialize($Tc);rewind($o);fwrite($o,$tf);ftruncate($o,strlen($tf));flock($o,LOCK_UN);fclose($o);}$xa=(isset($_POST["auth"])?$_POST["auth"]:false);if($xa){$Tc=unserialize(@file_get_contents(get_temp_dir()."/adminer.invalid"));$Sc=$Tc[$b->bruteForceKey()];$Ld=($Sc[1]>30?$Sc[0]-time():0);if($Ld>0)auth_error(lang(array('Too many unsuccessful logins, try again in %d minute.','Too many unsuccessful logins, try again in %d minutes.'),ceil($Ld/60)));session_regenerate_id();$i=$xa["driver"];$O=$xa["server"];$V=$xa["username"];$G=(string)$xa["password"];$h=$xa["db"];set_password($i,$O,$V,$G);$_SESSION["db"][$i][$O][$V][$h]=true;if($xa["permanent"]){$y=base64_encode($i)."-".base64_encode($O)."-".base64_encode($V)."-".base64_encode($h);$Je=$b->permanentLogin(true);$ze[$y]="$y:".base64_encode($Je?encrypt_string($G,$Je):"");cookie("adminer_permanent",implode(" ",$ze));}if(count($_POST)==1||DRIVER!=$i||SERVER!=$O||$_GET["username"]!==$V||DB!=$h)redirect(auth_url($i,$O,$V,$h));}elseif(isset($_POST["logout"])?$_POST["logout"]:false){if($Dc& & !verify_token()){page_header('Logout','Invalid CSRF token. Send the form again.');page_footer("db");exit;}else{foreach(array("pwds","db","dbs","queries")as$y)set_session($y,null);unset_permanent();redirect(substr(preg_replace('~\b(username|db|ns)=[^& ]*& ~','',ME),0,-1),'Logout successful.');}}elseif($ze&&!$_SESSION["pwds"]){session_regenerate_id(); $Je=$b->permanentLogin();foreach($ze
as$y=>$X){list(,$Pa)=explode(":",$X);list($Ig,$O,$V,$h)=array_map('base64_decode',explode("-",$y));set_password($Ig,$O,$V,decrypt_string(base64_decode($Pa),$Je));$_SESSION["db"][$Ig][$O][$V][$h]=true;}}function
unset_permanent(){global$ze;foreach($ze
as$y=>$X){list($Ig,$O,$V,$h)=array_map('base64_decode',explode("-",$y));if($Ig==DRIVER&&$O==SERVER&&$V==$_GET["username"]&&$h==DB)unset($ze[$y]); }cookie("adminer_permanent",implode(" ",$ze));}function
auth_error($j){global$b,$Dc;$wf=session_name();if(!$_COOKIE[$wf]& & $_GET[$wf]& & ini_bool("session.use_only_cookies"))$j='Session support must be enabled.';elseif(isset($_GET["username"])){if(($_COOKIE[$wf]||$_GET[$wf])& & !$Dc)$j='Session expired, please login again.';else{add_invalid_login();$G=get_password();if($G!==null){if($G===false)$j.='< br > '.sprintf('Master password expired. < a href = "http://www.adminer.org/en/extension/" target = "_blank" > Implement< / a > %s method to make it permanent.','< code > permanentLogin()< / code > ');set_password(DRIVER,SERVER,$_GET["username"],null);}unset_permanent();}}$qe=session_get_cookie_params();cookie("adminer_key",($_COOKIE["adminer_key"]?$_COOKIE["adminer_key"]:rand_string()),$qe["lifetime"]);page_header('Login',$j,null);echo"< form action = '' method = 'post' > \n";$b->loginForm();echo"< div > ";hidden_fields($_POST,array("auth"));echo"< / div > \n","< / form > \n";page_footer("auth");exit;}if(isset($_GET["username"])){if(!class_exists("Min_DB")){unset($_SESSION["pwds"][DRIVER]);unset_permanent();page_header('No extension',sprintf('None of the supported PHP extensions (%s) are available.',implode(", ",$Ee)),false);page_footer("auth");exit;}$e=connect();}$i=new
Min_Driver($e);if(!is_object($e)||!$b->login($_GET["username"],get_password()))auth_error((is_string($e)?$e:'Invalid credentials.'));if($xa&&$_POST["token"])$_POST["token"]=$T; $j='';if($_POST){if(!verify_token()){$Nc="max_input_vars";$yd=ini_get($Nc);if(extension_loaded("suhosin")){foreach(array("suhosin.request.max_vars","suhosin.post.max_vars")as$y){$X=ini_get($y);if($X&&(!$yd||$X<$yd)){$Nc=$y; $yd=$X;}}}$j=(!$_POST["token"]& & $yd?sprintf('Maximum number of allowed fields exceeded. Please increase %s.',"'$Nc'"):'Invalid CSRF token. Send the form again.');}}elseif($_SERVER["REQUEST_METHOD"]=="POST"){$j=sprintf('Too big POST data. Reduce the data or increase the %s configuration directive.',"'post_max_size'");if(isset($_GET["sql"]))$j.=' '.'You can upload a big SQL file via FTP and import it from server.';}if(!ini_bool("session.use_cookies")||@ini_set("session.use_cookies",false)!==false)session_write_close();function
select($J,$f=null,$he=array()){global$x;$pd=array();$v=array();$d=array();$Fa=array();$sg=array();$K=array();odd('');for($s=0;$L=$J->fetch_row();$s++){if(!$s){echo"< table cellspacing = '0' class = 'nowrap' > \n","< thead > < tr > ";for($w=0;$w< count ( $ L ) ; $ w + + ) { $ k = $J- > fetch_field();$E=$k->name;$ge=$k->orgtable;$fe=$k->orgname;$K[$k->table]=$ge;if($he&&$x=="sql")$pd[$w]=($E=="table"?"table=":($E=="possible_keys"?"indexes=":null)); elseif($ge!=""){if(!isset($v[$ge])){$v[$ge]=array();foreach(indexes($ge,$f)as$u){if($u["type"]=="PRIMARY"){$v[$ge]=array_flip($u["columns"]);break;}}$d[$ge]=$v[$ge];}if(isset($d[$ge][$fe])){unset($d[$ge][$fe]);$v[$ge][$fe]=$w;$pd[$w]=$ge;}}if($k->charsetnr==63)$Fa[$w]=true;$sg[$w]=$k->type;echo"< th " . ( $ ge ! = " " | | $ k- > name!=$fe?" title='".h(($ge!=""?"$ge.":"").$fe)."'":"").">".h($E).($he?doc_link(array('sql'=>"explain-output.html#explain_".strtolower($E))):"");}echo"< / thead > \n";}echo"< tr " . odd ( ) . " > ";foreach($L
as$y=>$X){if($X===null)$X="< i > NULL< / i > ";elseif($Fa[$y]& & !is_utf8($X))$X="< i > ".lang(array('%d byte','%d bytes'),strlen($X))."< / i > ";elseif(!strlen($X))$X=" ";else{$X=h($X);if($sg[$y]==254)$X="< code > $X< / code > ";}if(isset($pd[$y])&&!$d[$pd[$y]]){if($he&&$x=="sql"){$Q=$L[array_search("table=",$pd)]; $_=$pd[$y].urlencode($he[$Q]!=""?$he[$Q]:$Q);}else{$_="edit=".urlencode($pd[$y]);foreach($v[$pd[$y]]as$Ta=>$w)$_.="&where".urlencode("[".bracket_escape($Ta)."]")."=".urlencode($L[$w]); }$X="< a href = '".h(ME.$_)."' > $X< / a > ";}echo"< td > $X";}}echo($s?"< / table > ":"< p class = 'message' > ".'No rows.')."\n";return$K;}function
referencable_primary($rf){$K=array();foreach(table_status('',true)as$Of=>$Q){if($Of!=$rf&&fk_support($Q)){foreach(fields($Of)as$k){if($k["primary"]){if($K[$Of]){unset($K[$Of]); break;}$K[$Of]=$k;}}}}return$K;}function
textarea($E,$Y,$M=10,$Xa=80){global$x;echo"< textarea name = '$E' rows = '$M' cols = '$Xa' class = 'sqlarea jush-$x' spellcheck = 'false' wrap = 'off' > ";if(is_array($Y)){foreach($Y
as$X)echo
h($X[0])."\n\n\n";}else
echo
h($Y);echo"< / textarea > ";}function
edit_type($y,$k,$Wa,$n=array()){global$Gf,$sg,$zg,$Wd;$U=$k["type"];echo'< td > < select name = "',$y,'[type]" class = "type" onfocus = "lastType = selectValue(this);" onchange = "editingTypeChange(this);" ' , on_help ( " getTarget ( event ) . value " , 1 ) , ' > ';if($U&&!isset($sg[$U])&&!isset($n[$U]))array_unshift($Gf,$U); if($n)$Gf['Foreign keys']=$n;echo
optionlist($Gf,$U),'< / select >
< td > < input name = "',$y,'[length]" value = "',h($k[" length " ] ) , ' " size = "3" onfocus = "editingLengthFocus(this);" ' , ( ! $ k [ " length " ] & & preg_match ( ' ~ var ( char | binary ) $ ~ ' , $ U ) ? " class = 'required' " : " " ) , ' onchange = "editingLengthChange(this);" onkeyup = "this.onchange();" > < td class = "options" > ';echo"< select name = '$y"."[collation]' " . ( preg_match ( ' ~ ( char | text | enum | set ) $ ~ ' , $ U ) ? " " : " class = 'hidden' " ) . ' > < option value = "" > ('.'collation'.')'.optionlist($Wa,$k["collation"]).'< / select > ',($zg?"< select name = '$y"."[unsigned]' " . ( ! $ U | | preg_match ( ' ~ ( ( ^ | [ ^ o ] ) int | float | double | decimal ) $ ~ ' , $ U ) ? " " : " class = 'hidden' " ) . ' > < option > '.optionlist($zg,$k["unsigned"]).'< / select > ':''),(isset($k['on_update'])?"< select name = '$y"."[on_update]' " . ( preg_match ( ' ~ timestamp | datetime ~ ' , $ U ) ? " " : " class = 'hidden' " ) . ' > '.optionlist(array(""=>"(".'ON UPDATE'.")","CURRENT_TIMESTAMP"),$k["on_update"]).'< / select > ':''),($n?"< select name = '$y"."[on_delete]' " . ( preg_match ( " ~ ` ~ " , $ U ) ? " " : " class = 'hidden' " ) . " > < option value = '' > (".'ON DELETE'.")".optionlist(explode("|",$Wd),$k["on_delete"])."< / select > ":" ");}function
process_length($ld){global$Ub;return(preg_match("~^\\s*\\(?\\s*$Ub(?:\\s*,\\s*$Ub)*+\\s*\\)?\\s*\$~",$ld)&&preg_match_all("~$Ub~",$ld,$sd)?"(".implode(",",$sd[0]).")":preg_replace('~^[0-9].*~','(\0)',preg_replace('~[^-0-9,+()[\]]~','',$ld))); }function
process_type($k,$Ua="COLLATE"){global$zg;return" $k[type]".process_length($k["length"]).(preg_match('~(^|[^o])int|float|double|decimal~',$k["type"])& & in_array($k["unsigned"],$zg)?" $k[unsigned]":"").(preg_match('~char|text|enum|set~',$k["type"])& & $k["collation"]?" $Ua ".q($k["collation"]):"");}function
process_field($k,$qg){global$x;$vb=$k["default"];return
array(idf_escape(trim($k["field"])),process_type($qg),($k["null"]?" NULL":" NOT NULL"),(isset($vb)?" DEFAULT ".((preg_match('~time~',$k["type"])& & preg_match('~^CURRENT_TIMESTAMP$~i',$vb))||($k["type"]=="bit"& & preg_match("~^([0-9]+|b'[0-1]+')\$~",$vb))||($x=="pgsql"& & preg_match("~^[a-z]+\\(('[^']*')+\\)\$~",$vb))?$vb:q($vb)):""),(preg_match('~timestamp|datetime~',$k["type"])& & $k["on_update"]?" ON UPDATE $k[on_update]":""),(support("comment")& & $k["comment"]!=""?" COMMENT ".q($k["comment"]):""),($k["auto_increment"]?auto_increment():null),);}function
type_class($U){foreach(array('char'=>'text','date'=>'time|year','binary'=>'blob','enum'=>'set',)as$y=>$X){if(preg_match("~$y|$X~",$U))return" class='$y'";}}function
edit_fields($l,$Wa,$U="TABLE",$n=array(),$bb=false){global$e,$Oc;echo'< thead > < tr class = "wrap" >
';if($U=="PROCEDURE"){echo'< td > ';}echo'< th > ',($U=="TABLE"?'Column name':'Parameter name'),'< td > Type< textarea id = "enum-edit" rows = "4" cols = "12" wrap = "off" style = "display: none;" onblur = "editingLengthBlur(this);" > < / textarea >
< td > Length
< td > Options
';if($U=="TABLE"){echo'< td > NULL
< td > < input type = "radio" name = "auto_increment_col" value = "" > < acronym title = "Auto Increment" > AI< / acronym > ',doc_link(array('sql'=>"example-auto-increment.html",'sqlite'=>"autoinc.html",'pgsql'=>"datatype.html#DATATYPE-SERIAL",'mssql'=>"ms186775.aspx",)),'< td > Default values
',(support("comment")?"< td " . ( $ bb ? " " : " class = 'hidden' " ) . " > ".'Comment':"");}echo'< td > ',"< input type = 'image' class = 'icon' name = 'add[".(support("move_col")?0:count($l))."]' src = '".h(preg_replace("~\\?.*~","",ME))."?file=plus.gif&version=4.1.0&driver=mysql' alt = '+' title = '".' Add next ' . " ' > ",'< script type = "text/javascript" > row _count = ',count($l),' ; < / script >
< / thead >
< tbody onkeydown = "return editingKeydown(event);" >
';foreach($l
as$s=>$k){$s++;$ie=$k[($_POST?"orig":"field")];$Ab=(isset($_POST["add"][$s-1])||(isset($k["field"])&&!$_POST["drop_col"][$s]))&&(support("drop_col")||$ie==""); echo'< tr ' , ( $ Ab ? " " : " style = 'display: none;' " ) , ' >
',($U=="PROCEDURE"?"< td > ".html_select("fields[$s][inout]",explode("|",$Oc),$k["inout"]):""),'< th > ';if($Ab){echo'< input name = "fields[',$s,'][field]" value = "',h($k[" field " ] ) , ' " onchange = "editingNameChange(this);',($k[" field " ] ! = " " | | count ( $ l ) > 1?'':' editingAddRow(this);" onkeyup="if (this.value) editingAddRow(this);'),'" maxlength="64" autocapitalize="off">';}echo'< input type = "hidden" name = "fields[',$s,'][orig]" value = "',h($ie),'" >
';edit_type("fields[$s]",$k,$Wa,$n);if($U=="TABLE"){echo'< td > ',checkbox("fields[$s][null]",1,$k["null"],"","","block"),'< td >< label class = "block" >< input type = "radio" name = "auto_increment_col" value = "',$s,'" '; if ($ k [" auto_increment "]){ echo ' checked ';}? > onclick="var field = this.form['fields[' + this.value + '][field]']; if (!field.value) { field.value = 'id'; field.onchange(); }"></ label >< td > <?php
echo
checkbox("fields[$s][has_default]",1,$k["has_default"]),'< input name = "fields[',$s,'][default]" value = "',h($k[" default " ] ) , ' " onkeyup = "keyupChange.call(this);" onchange = "this.previousSibling.checked = true;" >
',(support("comment")?"< td " . ( $ bb ? " " : " class = 'hidden' " ) . " > < input name = 'fields[$s][comment]' value = '".h($k["comment"])."' maxlength = '".($e->server_info>=5.5?1024:255)."' > ":"");}echo"< td > ",(support("move_col")?"< input type = 'image' class = 'icon' name = 'add[$s]' src = '".h(preg_replace("~\\?.*~","",ME))."?file=plus.gif&version=4.1.0&driver=mysql' alt = '+' title = '".' Add next ' . " ' onclick = 'return !editingAddRow(this, 1);' > "."< input type = 'image' class = 'icon' name = 'up[$s]' src = '".h(preg_replace("~\\?.*~","",ME))."?file=up.gif&version=4.1.0&driver=mysql' alt = '^' title = '".' Move up ' . " ' > "."< input type = 'image' class = 'icon' name = 'down[$s]' src = '".h(preg_replace("~\\?.*~","",ME))."?file=down.gif&version=4.1.0&driver=mysql' alt = 'v' title = '".' Move down ' . " ' > ":""),($ie==""||support("drop_col")?"< input type = 'image' class = 'icon' name = 'drop_col[$s]' src = '".h(preg_replace("~\\?.*~","",ME))."?file=cross.gif&version=4.1.0&driver=mysql' alt = 'x' title = '".' Remove ' . " ' onclick = \"return ! editingRemoveRow ( this , ' fields \ $ 1 [ field ] ' ) ; \ " > ":""),"\n";}}function
process_fields(&$l){ksort($l); $Pd=0;if($_POST["up"]){$fd=0;foreach($l
as$y=>$k){if(key($_POST["up"])==$y){unset($l[$y]);array_splice($l,$fd,0,array($k));break;}if(isset($k["field"]))$fd=$Pd;$Pd++;}}elseif($_POST["down"]){$tc=false;foreach($l
as$y=>$k){if(isset($k["field"])&&$tc){unset($l[key($_POST["down"])]); array_splice($l,$Pd,0,array($tc));break;}if(key($_POST["down"])==$y)$tc=$k;$Pd++;}}elseif($_POST["add"]){$l=array_values($l);array_splice($l,key($_POST["add"]),0,array(array()));}elseif(!$_POST["drop_col"])return
false;return
true;}function
normalize_enum($B){return"'".str_replace("'","''",addcslashes(stripcslashes(str_replace($B[0][0].$B[0][0],$B[0][0],substr($B[0],1,-1))),'\\'))."'";}function
grant($q,$Le,$d,$Vd){if(!$Le)return
true;if($Le==array("ALL PRIVILEGES","GRANT OPTION"))return($q=="GRANT"?queries("$q ALL PRIVILEGES$Vd WITH GRANT OPTION"):queries("$q ALL PRIVILEGES$Vd")& & queries("$q GRANT OPTION$Vd"));return
queries("$q ".preg_replace('~(GRANT OPTION)\\([^)]*\\)~','\\1',implode("$d, ",$Le).$d).$Vd);}function
drop_create($Eb,$jb,$Fb,$Xf,$Gb,$A,$Bd,$_d,$Ad,$Sd,$Jd){if($_POST["drop"])query_redirect($Eb,$A,$Bd);elseif($Sd=="")query_redirect($jb,$A,$Ad);elseif($Sd!=$Jd){$lb=queries($jb);queries_redirect($A,$_d,$lb&&queries($Eb)); if($lb)queries($Fb);}else
queries_redirect($A,$_d,queries($Xf)&&queries($Gb)&&queries($Eb)&&queries($jb)); }function
create_trigger($Vd,$L){global$x;$cg=" $L[Timing] $L[Event]".($L["Event"]=="UPDATE OF"?" ".idf_escape($L["Of"]):"");return"CREATE TRIGGER ".idf_escape($L["Trigger"]).($x=="mssql"?$Vd.$cg:$cg.$Vd).rtrim(" $L[Type]\n$L[Statement]",";").";";}function
create_routine($if,$L){global$Oc;$P=array();$l=(array)$L["fields"];ksort($l);foreach($l
as$k){if($k["field"]!="")$P[]=(preg_match("~^($Oc)\$~",$k["inout"])?"$k[inout] ":"").idf_escape($k["field"]).process_type($k,"CHARACTER SET");}return"CREATE $if ".idf_escape(trim($L["name"]))." (".implode(", ",$P).")".(isset($_GET["function"])?" RETURNS".process_type($L["returns"],"CHARACTER SET"):"").($L["language"]?" LANGUAGE $L[language]":"").rtrim("\n$L[definition]",";").";";}function
remove_definer($I){return
preg_replace('~^([A-Z =]+) DEFINER=`'.preg_replace('~@(.*)~','`@`(%|\\1)',logged_user()).'`~','\\1',$I);}function
format_foreign_key($m){global$Wd;return" FOREIGN KEY (".implode(", ",array_map('idf_escape',$m["source"])).") REFERENCES ".table($m["table"])." (".implode(", ",array_map('idf_escape',$m["target"])).")".(preg_match("~^($Wd)\$~",$m["on_delete"])?" ON DELETE $m[on_delete]":"").(preg_match("~^($Wd)\$~",$m["on_update"])?" ON UPDATE $m[on_update]":"");}function
tar_file($mc,$hg){$K=pack("a100a8a8a8a12a12",$mc,644,0,0,decoct($hg->size),decoct(time()));$Oa=8*32;for($s=0;$s< strlen ( $ K ) ; $ s + + ) $ Oa + = ord ( $ K [ $ s ] ) ; $ K . = sprintf ( " % 06o " , $ Oa ) . " \ 0 " ; echo $ K , str_repeat ( " \ 0 " , 512-strlen ( $ K ) ) ; $ hg- > send();echo
str_repeat("\0",511-($hg->size+511)%512);}function
ini_bytes($Nc){$X=ini_get($Nc);switch(strtolower(substr($X,-1))){case'g':$X*=1024;case'm':$X*=1024;case'k':$X*=1024;}return$X;}function
doc_link($xe){global$x,$e;$Bg=array('sql'=>"http://dev.mysql.com/doc/refman/".substr($e->server_info,0,3)."/en/",'sqlite'=>"http://www.sqlite.org/",'pgsql'=>"http://www.postgresql.org/docs/".substr($e->server_info,0,3)."/static/",'mssql'=>"http://msdn.microsoft.com/library/",'oracle'=>"http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/",);return($xe[$x]?"< a href = '$Bg[$x]$xe[$x]' target = '_blank' rel = 'noreferrer' > < sup > ?< / sup > < / a > ":"");}function
ob_gzencode($Ff){return
gzencode($Ff);}function
db_size($h){global$e;if(!$e->select_db($h))return"?";$K=0;foreach(table_status()as$R)$K+=$R["Data_length"]+$R["Index_length"];return
format_number($K);}function
connect_error(){global$b,$e,$T,$j,$Db;if(DB!=""){header("HTTP/1.1 404 Not Found");page_header('Database'.": ".h(DB),'Invalid database.',true);}else{if($_POST["db"]& & !$j)queries_redirect(substr(ME,0,-1),'Databases have been dropped.',drop_databases($_POST["db"]));page_header('Select database',$j,false);echo"< p class = 'links' > \n";foreach(array('database'=>'Create new database','privileges'=>'Privileges','processlist'=>'Process list','variables'=>'Variables','status'=>'Status',)as$y=>$X){if(support($y))echo"< a href = '".h(ME)."$y=' > $X< / a > \n";}echo"< p > ".sprintf('%s version: %s through PHP extension %s',$Db[DRIVER],"< b > ".h($e->server_info)."< / b > ","< b > $e->extension< / b > ")."\n","< p > ".sprintf('Logged as: %s',"< b > ".h(logged_user())."< / b > ")."\n";$g=$b->databases();if($g){$of=support("scheme");$Wa=collations();echo"< form action = '' method = 'post' > \n","< table cellspacing = '0' class = 'checkable' onclick = 'tableClick(event);' ondblclick = 'tableClick(event, true);' > \n","< thead > < tr > ".(support("database")?"< td > ":"")."< th > ".'Database'." - < a href = '".h(ME)."refresh=1' > ".'Refresh'."< / a > "."< td > ".'Collation'."< td > ".'Tables'."< td > ".'Size'." - < a href = '".h(ME)."dbsize=1' onclick = \"return ! ajaxSetHtml ( ' " . js_escape ( ME ) . " script = connect');\" > ".'Compute'."< / a > "."< / thead > \n";$g=($_GET["dbsize"]?count_tables($g):array_flip($g));foreach($g
as$h=>$S){$hf=h(ME)."db=".urlencode($h);echo"< tr " . odd ( ) . " > ".(support("database")?"< td > ".checkbox("db[]",$h,in_array($h,(array)$_POST["db"])):""),"< th > < a href = '$hf' > ".h($h)."< / a > ";$Va=nbsp(db_collation($h,$Wa));echo"< td > ".(support("database")?"< a href = '$hf".($of?"&ns=":"")."&database=' title = '".' Alter database ' . " ' > $Va< / a > ":$Va),"< td align = 'right' > < a href = '$hf&schema=' id = 'tables-".h($h)."' title = '".' Database schema ' . " ' > ".($_GET["dbsize"]?$S:"?")."< / a > ","< td align = 'right' id = 'size-".h($h)."' > ".($_GET["dbsize"]?db_size($h):"?"),"\n";}echo"< / table > \n",(support("database")?"< fieldset > < legend > ".'Selected'." < span id = 'selected' > < / span > < / legend > < div > \n"."< input type = 'hidden' name = 'all' value = '' onclick = \"selectCount('selected', formChecked ( this , / ^ db / ) ) ; \ " > \n"."< input type = 'submit' name = 'drop' value = '".' Drop ' . " ' " . confirm ( ) . " > \n"."< / div > < / fieldset > \n":""),"< script type = 'text/javascript' > tableCheck ( ) ; < / script > \n","< input type = 'hidden' name = 'token' value = '$T' > \n","< / form > \n";}}page_footer("db");}if(isset($_GET["status"]))$_GET["variables"]=$_GET["status"];if(isset($_GET["import"]))$_GET["sql"]=$_GET["import"];if(!(DB!=""?$e->select_db(DB):isset($_GET["sql"])||isset($_GET["dump"])||isset($_GET["database"])||isset($_GET["processlist"])||isset($_GET["privileges"])||isset($_GET["user"])||isset($_GET["variables"])||$_GET["script"]=="connect"||$_GET["script"]=="kill")){if(DB!=""||$_GET["refresh"]){restart_session();set_session("dbs",null);}connect_error();exit;}$Wd="RESTRICT|NO ACTION|CASCADE|SET NULL|SET DEFAULT";class
TmpFile{var$handler;var$size;function
TmpFile(){$this->handler=tmpfile();}function
write($fb){$this->size+=strlen($fb);fwrite($this->handler,$fb);}function
send(){fseek($this->handler,0);fpassthru($this->handler);fclose($this->handler);}}$Ub="'(?:''|[^'\\\\]|\\\\.)*'";$Oc="IN|OUT|INOUT";if(isset($_GET["select"])&&((isset($_POST["edit"])?$_POST["edit"]:null)||(isset($_POST["clone"])?$_POST["clone"]:null))&&!$_POST["save"])$_GET["edit"]=$_GET["select"]; if(isset($_GET["callf"]))$_GET["call"]=$_GET["callf"];if(isset($_GET["function"]))$_GET["procedure"]=$_GET["function"];if(isset($_GET["download"])){$a=$_GET["download"];$l=fields($a);header("Content-Type: application/octet-stream");header("Content-Disposition: attachment; filename=".friendly_url("$a-".implode("_",$_GET["where"])).".".friendly_url($_GET["field"]));$N=array(idf_escape($_GET["field"]));$J=$i->select($a,$N,array(where($_GET,$l)),$N);$L=($J?$J->fetch_row():array());echo$L[0];exit;}elseif(isset($_GET["table"])){$a=$_GET["table"];$l=fields($a);if(!$l)$j=error();$R=table_status1($a,true);page_header(($l& & is_view($R)?'View':'Table').": ".h($a),$j);$b->selectLinks($R);$ab=$R["Comment"];if($ab!="")echo"< p > ".'Comment'.": ".h($ab)."\n";if($l){echo"< table cellspacing = '0' > \n","< thead > < tr > < th > ".'Column'."< td > ".'Type'.(support("comment")?"< td > ".'Comment':"")."< / thead > \n";foreach($l
as$k){echo"< tr " . odd ( ) . " > < th > ".h($k["field"]),"< td title = '".h($k["collation"])."' > ".h($k["full_type"]).($k["null"]?" < i > NULL< / i > ":"").($k["auto_increment"]?" < i > ".'Auto Increment'."< / i > ":""),(isset($k["default"])?" [< b > ".h($k["default"])."< / b > ]":""),(support("comment")?"< td > ".nbsp($k["comment"]):""),"\n";}echo"< / table > \n";}if(!is_view($R)){if(support("indexes")){echo"< h3 id = 'indexes' > ".'Indexes'."< / h3 > \n";$v=indexes($a);if($v){echo"< table cellspacing = '0' > \n";foreach($v
as$E=>$u){ksort($u["columns"]);$Ie=array();foreach($u["columns"]as$y=>$X)$Ie[]="< i > ".h($X)."< / i > ".($u["lengths"][$y]?"(".$u["lengths"][$y].")":"").($u["descs"][$y]?" DESC":"");echo"< tr title = '".h($E)."' > < th > $u[type]< td > ".implode(", ",$Ie)."\n";}echo"< / table > \n";}echo'< p class = "links" > < a href = "'.h(ME).'indexes='.urlencode($a).'" > '.'Alter indexes'."< / a > \n";}if(fk_support($R)){echo"< h3 id = 'foreign-keys' > ".'Foreign keys'."< / h3 > \n";$n=foreign_keys($a);if($n){echo"< table cellspacing = '0' > \n","< thead > < tr > < th > ".'Source'."< td > ".'Target'."< td > ".'ON DELETE'."< td > ".'ON UPDATE'."< td > < / thead > \n";foreach($n
as$E=>$m){echo"< tr title = '".h($E)."' > ","< th > < i > ".implode("< / i > , < i > ",array_map('h',$m["source"]))."< / i > ","< td > < a href = '".h($m["db"]!=""?preg_replace(' ~ db = [^&]*~',"db=".urlencode($m["db"]),ME):($m["ns"]!=""?preg_replace('~ns=[^&]*~',"ns=".urlencode($m["ns"]),ME):ME))."table=".urlencode($m["table"])."' > ".($m["db"]!=""?"< b > ".h($m["db"])."< / b > .":"").($m["ns"]!=""?"< b > ".h($m["ns"])."< / b > .":"").h($m["table"])."< / a > ","(< i > ".implode("< / i > , < i > ",array_map('h',$m["target"]))."< / i > )","< td > ".nbsp($m["on_delete"])."\n","< td > ".nbsp($m["on_update"])."\n",'< td > < a href = "'.h(ME.'foreign='.urlencode($a).'&name='.urlencode($E)).'" > '.'Alter'.'< / a > ';}echo"< / table > \n";}echo'< p class = "links" > < a href = "'.h(ME).'foreign='.urlencode($a).'" > '.'Add foreign key'."< / a > \n";}}if(support(is_view($R)?"view_trigger":"trigger")){echo"< h3 id = 'triggers' > ".'Triggers'."< / h3 > \n";$pg=triggers($a);if($pg){echo"< table cellspacing = '0' > \n";foreach($pg
as$y=>$X)echo"< tr valign = 'top' > < td > ".h($X[0])."< td > ".h($X[1])."< th > ".h($y)."< td > < a href = '".h(ME.' trigger = '.urlencode($a).' & name = '.urlencode($y))."' > ".'Alter'."< / a > \n";echo"< / table > \n";}echo'< p class = "links" > < a href = "'.h(ME).'trigger='.urlencode($a).'" > '.'Add trigger'."< / a > \n";}}elseif(isset($_GET["schema"])){page_header('Database schema',"",array(),h(DB.($_GET["ns"]?".$_GET[ns]":"")));$Pf=array();$Qf=array();$E="adminer_schema";$ea=($_GET["schema"]?$_GET["schema"]:$_COOKIE[($_COOKIE["$E-".DB]?"$E-".DB:$E)]);preg_match_all('~([^:]+):([-0-9.]+)x([-0-9.]+)(_|$)~',$ea,$sd,PREG_SET_ORDER);foreach($sd
as$s=>$B){$Pf[$B[1]]=array($B[2],$B[3]);$Qf[]="\n\t'".js_escape($B[1])."': [ $B[2], $B[3] ]";}$jg=0;$Ca=-1;$nf=array();$Ye=array();$jd=array();foreach(table_status('',true)as$Q=>$R){if(is_view($R))continue;$Be=0;$nf[$Q]["fields"]=array();foreach(fields($Q)as$E=>$k){$Be+=1.25;$k["pos"]=$Be;$nf[$Q]["fields"][$E]=$k;}$nf[$Q]["pos"]=($Pf[$Q]?$Pf[$Q]:array($jg,0));foreach($b->foreignKeys($Q)as$X){if(!$X["db"]){$hd=$Ca;if($Pf[$Q][1]||$Pf[$X["table"]][1])$hd=min(floatval($Pf[$Q][1]),floatval($Pf[$X["table"]][1]))-1;else$Ca-=.1;while($jd[(string)$hd])$hd-=.0001;$nf[$Q]["references"][$X["table"]][(string)$hd]=array($X["source"],$X["target"]);$Ye[$X["table"]][$Q][(string)$hd]=$X["target"];$jd[(string)$hd]=true;}}$jg=max($jg,$nf[$Q]["pos"][0]+2.5+$Be);}echo'< div id = "schema" style = "height: ',$jg,'em;" onselectstart = "return false;" >
< script type = "text/javascript" >
var tablePos = {',implode(",",$Qf)."\n",'};
var em = document.getElementById(\'schema\').offsetHeight / ',$jg,';
document.onmousemove = schemaMousemove;
document.onmouseup = function (ev) {
schemaMouseup(ev, \'',js_escape(DB),'\');
};
< / script >
';foreach($nf
as$E=>$Q){echo"< div class = 'table' style = 'top: ".$Q["pos"][0]."em; left: ".$Q["pos"][1]."em;' onmousedown = 'schemaMousedown(this, event);' > ",'< a href = "'.h(ME).'table='.urlencode($E).'" > < b > '.h($E)."< / b > < / a > ";foreach($Q["fields"]as$k){$X='< span ' . type_class ( $ k [ " type " ] ) . ' title = "'.h($k[" full_type " ] . ( $ k [ " null " ] ? " NULL " : ' ' ) ) . ' " > '.h($k["field"]).'< / span > ';echo"< br > ".($k["primary"]?"< i > $X< / i > ":$X);}foreach((array)$Q["references"]as$Vf=>$Ze){foreach($Ze
as$hd=>$Ve){$id=$hd-$Pf[$E][1];$s=0;foreach($Ve[0]as$zf)echo"\n< div class = 'references' title = '".h($Vf)."' id = 'refs$hd-".($s++)."' style = 'left: $id"."em; top: ".$Q["fields"][$zf]["pos"]."em; padding-top: .5em;' > < div style = 'border-top: 1px solid Gray; width: ".(-$id)."em;' > < / div > < / div > ";}}foreach((array)$Ye[$E]as$Vf=>$Ze){foreach($Ze
as$hd=>$d){$id=$hd-$Pf[$E][1];$s=0;foreach($d
as$Uf)echo"\n< div class = 'references' title = '".h($Vf)."' id = 'refd$hd-".($s++)."' style = 'left: $id"."em; top: ".$Q["fields"][$Uf]["pos"]."em; height: 1.25em; background: url(".h(preg_replace("~\\?.*~","",ME))."?file=arrow.gif) no-repeat right center;&version=4.1.0&driver=mysql' > < div style = 'height: .5em; border-bottom: 1px solid Gray; width: ".(-$id)."em;' > < / div > < / div > ";}}echo"\n< / div > \n";}foreach($nf
as$E=>$Q){foreach((array)$Q["references"]as$Vf=>$Ze){foreach($Ze
as$hd=>$Ve){$Dd=$jg;$wd=-10;foreach($Ve[0]as$y=>$zf){$Ce=$Q["pos"][0]+$Q["fields"][$zf]["pos"];$De=$nf[$Vf]["pos"][0]+$nf[$Vf]["fields"][$Ve[1][$y]]["pos"];$Dd=min($Dd,$Ce,$De);$wd=max($wd,$Ce,$De);}echo"< div class = 'references' id = 'refl$hd' style = 'left: $hd"."em; top: $Dd"."em; padding: .5em 0;' > < div style = 'border-right: 1px solid Gray; margin-top: 1px; height: ".($wd-$Dd)."em;' > < / div > < / div > \n";}}}echo'< / div >
< p class = "links" > < a href = "',h(ME." schema = ".urlencode($ea)),'" id = "schema-link" > Permanent link< / a >
';}elseif(isset($_GET["dump"])){$a=$_GET["dump"];if($_POST&&!$j){$ib=""; foreach(array("output","format","db_style","routines","events","table_style","auto_increment","triggers","data_style")as$y)$ib.="&$y=".urlencode($_POST[$y]); cookie("adminer_export",substr($ib,1));$S=array_flip((array)$_POST["tables"])+array_flip((array)$_POST["data"]);$fc=dump_headers((count($S)==1?key($S):DB),(DB==""||count($S)>1));$Wc=preg_match('~sql~',$_POST["format"]);if($Wc){echo"-- Adminer $ga ".$Db[DRIVER]." dump\n\n";if($x=="sql"){echo"SET NAMES utf8;
SET time_zone = '+00:00';
".($_POST["data_style"]?"SET foreign_key_checks = 0;
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
":"")."
";$e->query("SET time_zone = '+00:00';");}}$Hf=$_POST["db_style"];$g=array(DB);if(DB==""){$g=$_POST["databases"];if(is_string($g))$g=explode("\n",rtrim(str_replace("\r","",$g),"\n"));}foreach((array)$g
as$h){$b->dumpDatabase($h);if($e->select_db($h)){if($Wc& & preg_match('~CREATE~',$Hf)& & ($jb=$e->result("SHOW CREATE DATABASE ".idf_escape($h),1))){if($Hf=="DROP+CREATE")echo"DROP DATABASE IF EXISTS ".idf_escape($h).";\n";echo"$jb;\n";}if($Wc){if($Hf)echo
use_sql($h).";\n\n";$me="";if($_POST["routines"]){foreach(array("FUNCTION","PROCEDURE")as$if){foreach(get_rows("SHOW $if STATUS WHERE Db = ".q($h),null,"-- ")as$L)$me.=($Hf!='DROP+CREATE'?"DROP $if IF EXISTS ".idf_escape($L["Name"]).";;\n":"").remove_definer($e->result("SHOW CREATE $if ".idf_escape($L["Name"]),2)).";;\n\n";}}if($_POST["events"]){foreach(get_rows("SHOW EVENTS",null,"-- ")as$L)$me.=($Hf!='DROP+CREATE'?"DROP EVENT IF EXISTS ".idf_escape($L["Name"]).";;\n":"").remove_definer($e->result("SHOW CREATE EVENT ".idf_escape($L["Name"]),3)).";;\n\n";}if($me)echo"DELIMITER ;;\n\n$me"."DELIMITER ;\n\n";}if($_POST["table_style"]||$_POST["data_style"]){$Kg=array();foreach(table_status('',true)as$E=>$R){$Q=(DB==""||in_array($E,(array)$_POST["tables"]));$ob=(DB==""||in_array($E,(array)$_POST["data"]));if($Q||$ob){if($fc=="tar"){$hg=new
TmpFile;ob_start(array($hg,'write'),1e5);}$b->dumpTable($E,($Q?$_POST["table_style"]:""),(is_view($R)?2:0));if(is_view($R))$Kg[]=$E;elseif($ob){$l=fields($E);$b->dumpData($E,$_POST["data_style"],"SELECT *".convert_fields($l,$l)." FROM ".table($E));}if($Wc& & $_POST["triggers"]& & $Q& & ($pg=trigger_sql($E,$_POST["table_style"])))echo"\nDELIMITER ;;\n$pg\nDELIMITER ;\n";if($fc=="tar"){ob_end_flush();tar_file((DB!=""?"":"$h/")."$E.csv",$hg);}elseif($Wc)echo"\n";}}foreach($Kg
as$Jg)$b->dumpTable($Jg,$_POST["table_style"],1);if($fc=="tar")echo
pack("x512");}}}if($Wc)echo"-- ".$e->result("SELECT NOW()")."\n";exit;}page_header('Export',$j,($_GET["export"]!=""?array("table"=>$_GET["export"]):array()),h(DB));echo'
< form action = "" method = "post" >
< table cellspacing = "0" >
';$sb=array('','USE','DROP+CREATE','CREATE');$Rf=array('','DROP+CREATE','CREATE');$pb=array('','TRUNCATE+INSERT','INSERT');if($x=="sql")$pb[]='INSERT+UPDATE';parse_str($_COOKIE["adminer_export"],$L);if(!$L)$L=array("output"=>"text","format"=>"sql","db_style"=>(DB!=""?"":"CREATE"),"table_style"=>"DROP+CREATE","data_style"=>"INSERT");if(!isset($L["events"])){$L["routines"]=$L["events"]=($_GET["dump"]=="");$L["triggers"]=$L["table_style"];}echo"< tr > < th > ".'Output'."< td > ".html_select("output",$b->dumpOutput(),$L["output"],0)."\n";echo"< tr > < th > ".'Format'."< td > ".html_select("format",$b->dumpFormat(),$L["format"],0)."\n";echo($x=="sqlite"?"":"< tr > < th > ".'Database'."< td > ".html_select('db_style',$sb,$L["db_style"]).(support("routine")?checkbox("routines",1,$L["routines"],'Routines'):"").(support("event")?checkbox("events",1,$L["events"],'Events'):"")),"< tr > < th > ".'Tables'."< td > ".html_select('table_style',$Rf,$L["table_style"]).checkbox("auto_increment",1,$L["auto_increment"],'Auto Increment').(support("trigger")?checkbox("triggers",1,$L["triggers"],'Triggers'):""),"< tr > < th > ".'Data'."< td > ".html_select('data_style',$pb,$L["data_style"]),'< / table >
< p > < input type = "submit" value = "Export" >
< input type = "hidden" name = "token" value = "',$T,'" >
< table cellspacing = "0" >
';$Ge=array();if(DB!=""){$Ma=($a!=""?"":" checked");echo"< thead > < tr > ","< th style = 'text-align: left;' > < label class = 'block' > < input type = 'checkbox' id = 'check-tables' $ Ma onclick = 'formCheck(this, /^tables\\[/);' > ".'Tables'."< / label > ","< th style = 'text-align: right;' > < label class = 'block' > ".'Data'."< input type = 'checkbox' id = 'check-data' $ Ma onclick = 'formCheck(this, /^data\\[/);' > < / label > ","< / thead > \n";$Kg="";$Sf=tables_list();foreach($Sf
as$E=>$U){$Fe=preg_replace('~_.*~','',$E);$Ma=($a==""||$a==(substr($a,-1)=="%"?"$Fe%":$E));$Ie="< tr > < td > ".checkbox("tables[]",$E,$Ma,$E,"checkboxClick(event, this); formUncheck('check-tables');","block");if($U!==null&&!preg_match('~table~i',$U))$Kg.="$Ie\n"; else
echo"$Ie< td align = 'right' > < label class = 'block' > < span id = 'Rows-".h($E)."' > < / span > ".checkbox("data[]",$E,$Ma,"","checkboxClick(event, this); formUncheck('check-data');")."< / label > \n";$Ge[$Fe]++;}echo$Kg;if($Sf)echo"< script type = 'text/javascript' > ajaxSetHtml ( '".js_escape(ME)."script=db' ) ; < / script > \n";}else{echo"< thead > < tr > < th style = 'text-align: left;' > < label class = 'block' > < input type = 'checkbox' id = 'check-databases' " . ( $ a = =""?" checked " : " " ) . " onclick = 'formCheck(this, /^databases\\[/);' > ".'Database'."< / label > < / thead > \n";$g=$b->databases();if($g){foreach($g
as$h){if(!information_schema($h)){$Fe=preg_replace('~_.*~','',$h);echo"< tr > < td > ".checkbox("databases[]",$h,$a==""||$a=="$Fe%",$h,"formUncheck('check-databases');","block")."\n";$Ge[$Fe]++;}}}else
echo"< tr > < td > < textarea name = 'databases' rows = '10' cols = '20' > < / textarea > ";}echo'< / table >
< / form >
';$oc=true;foreach($Ge
as$y=>$X){if($y!=""& & $X>1){echo($oc?"< p > ":" ")."< a href = '".h(ME)."dump=".urlencode("$y%")."' > ".h($y)."< / a > ";$oc=false;}}}elseif(isset($_GET["privileges"])){page_header('Privileges');$J=$e->query("SELECT User, Host FROM mysql.".(DB==""?"user":"db WHERE ".q(DB)." LIKE Db")." ORDER BY Host, User");$q=$J;if(!$J)$J=$e->query("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', 1) AS User, SUBSTRING_INDEX(CURRENT_USER, '@', -1) AS Host");echo"< form action = '' > < p > \n";hidden_fields_get();echo"< input type = 'hidden' name = 'db' value = '".h(DB)."' > \n",($q?"":"< input type = 'hidden' name = 'grant' value = '' > \n"),"< table cellspacing = '0' > \n","< thead > < tr > < th > ".'Username'."< th > ".'Server'."< th > < / thead > \n";while($L=$J->fetch_assoc())echo'< tr ' . odd ( ) . ' > < td > '.h($L["User"])."< td > ".h($L["Host"]).'< td > < a href = "'.h(ME.'user='.urlencode($L[" User " ] ) . ' & host = '.urlencode($L["Host"])).' " > '.'Edit'."< / a > \n";if(!$q||DB!="")echo"< tr " . odd ( ) . " > < td > < input name = 'user' autocapitalize = 'off' > < td > < input name = 'host' value = 'localhost' autocapitalize = 'off' > < td > < input type = 'submit' value = '".' Edit ' . " ' > \n";echo"< / table > \n","< / form > \n",'< p class = "links" > < a href = "'.h(ME).'user=" > '.'Create user'."< / a > ";}elseif(isset($_GET["sql"])){if(!$j&&$_POST["export"]){dump_headers("sql"); $b->dumpTable("","");$b->dumpData("","table",$_POST["query"]);exit;}restart_session();$Fc=&get_session("queries"); $Ec=&$Fc[DB]; if(!$j&&$_POST["clear"]){$Ec=array(); redirect(remove_from_uri("history"));}page_header((isset($_GET["import"])?'Import':'SQL command'),$j);if(!$j&&$_POST){$o=false; if(!isset($_GET["import"]))$I=$_POST["query"];elseif($_POST["webfile"]){$o=@fopen((file_exists("adminer.sql")?"adminer.sql":"compress.zlib://adminer.sql.gz"),"rb");$I=($o?fread($o,1e6):false);}else$I=get_file("sql_file",true);if(is_string($I)){if(function_exists('memory_get_usage'))@ini_set("memory_limit",max(ini_bytes("memory_limit"),2*strlen($I)+memory_get_usage()+8e6));if($I!=""&&strlen($I)<1e6){$H=$I.(preg_match("~; [ \t\r\n]*\$~",$I)?"":";");if(!$Ec||reset(end($Ec))!=$H){restart_session();$Ec[]=array($H,time());set_session("queries",$Fc);stop_session();}}$_f="(?:\\s|/\\*.*\\*/|(?:#|-- )[^\n]*\n|--\r?\n)";$wb=";";$Pd=0;$Rb=true;$f=connect();if(is_object($f)&&DB!="")$f->select_db(DB); $Za=0;$Wb=array();$od=0;$re='[\'"'.($x=="sql"?'`#':($x=="sqlite"?'`[':($x=="mssql"?'[':''))).']|/\\*|-- |$'.($x=="pgsql"?'|\\$[^$]*\\$':'');$kg=microtime(true);parse_str($_COOKIE["adminer_export"],$la);$Ib=$b->dumpFormat();unset($Ib["sql"]);while($I!=""){if(!$Pd&&preg_match("~^$_f*DELIMITER\\s+(\\S+)~i",$I,$B)){$wb=$B[1]; $I=substr($I,strlen($B[0]));}else{preg_match('('.preg_quote($wb)."\\s*|$re)",$I,$B,PREG_OFFSET_CAPTURE,$Pd);list($tc,$Be)=$B[0];if(!$tc&&$o&&!feof($o))$I.=fread($o,1e5); else{if(!$tc&&rtrim($I)=="")break; $Pd=$Be+strlen($tc);if($tc& & rtrim($tc)!=$wb){while(preg_match('('.($tc=='/*'?'\\*/':($tc=='['?']':(preg_match('~^-- |^#~',$tc)?"\n":preg_quote($tc)."|\\\\."))).'|$)s',$I,$B,PREG_OFFSET_CAPTURE,$Pd)){$lf=$B[0][0];if(!$lf&&$o&&!feof($o))$I.=fread($o,1e5); else{$Pd=$B[0][1]+strlen($lf);if($lf[0]!="\\")break;}}}else{$Rb=false;$H=substr($I,0,$Be);$Za++;$Ie="< pre id = 'sql-$Za' > < code class = 'jush-$x' > ".shorten_utf8(trim($H),1000)."< / code > < / pre > \n";if(!$_POST["only_errors"]){echo$Ie;ob_flush();flush();}$Bf=microtime(true);if($e->multi_query($H)&&is_object($f)&&preg_match("~^$_f*USE\\b~isU",$H))$f->query($H); do{$J=$e->store_result();$ag=" < span class = 'time' > (".format_time($Bf).")< / span > ".(strlen($H)< 1000 ? " < a href = '".h(ME)."sql=".urlencode(trim($H))."' > ".'Edit'."< / a > ":"");if($e->error){echo($_POST["only_errors"]?$Ie:""),"< p class = 'error' > ".'Error in query'.($e->errno?" ($e->errno)":"").": ".error()."\n";$Wb[]=" < a href = '#sql-$Za' > $Za< / a > ";if($_POST["error_stops"])break
2;}elseif(is_object($J)){$he=select($J,$f);if(!$_POST["only_errors"]){echo"< form action = '' method = 'post' > \n","< p > ".($J->num_rows?lang(array('%d row','%d rows'),$J->num_rows):"").$ag;$t="export-$Za";$ec=", < a href = '#$t' onclick = \"return ! toggle ( ' $ t ' ) ; \ " > ".'Export'."< / a > < span id = '$t' class = 'hidden' > : ".html_select("output",$b->dumpOutput(),$la["output"])." ".html_select("format",$Ib,$la["format"])."< input type = 'hidden' name = 'query' value = '".h($H)."' > "." < input type = 'submit' name = 'export' value = '".' Export ' . " ' > < input type = 'hidden' name = 'token' value = '$T' > < / span > \n";if($f&&preg_match("~^($_f|\\()*SELECT\\b~isU",$H)&&($dc=explain($f,$H))){$t="explain-$Za"; echo", < a href = '#$t' onclick = \"return ! toggle ( ' $ t ' ) ; \ " > EXPLAIN< / a > $ec","< div id = '$t' class = 'hidden' > \n";select($dc,$f,$he);echo"< / div > \n";}else
echo$ec;echo"< / form > \n";}}else{if(preg_match("~^$_f*(CREATE|DROP|ALTER)$_f+(DATABASE|SCHEMA)\\b~isU",$H)){restart_session();set_session("dbs",null);stop_session();}if(!$_POST["only_errors"])echo"< p class = 'message' title = '".h($e->info)."' > ".lang(array('Query executed OK, %d row affected.','Query executed OK, %d rows affected.'),$e->affected_rows)."$ag\n";}$Bf=microtime(true);}while($e->next_result());$od+=substr_count($H.$tc,"\n");$I=substr($I,$Pd);$Pd=0;}}}}if($Rb)echo"< p class = 'message' > ".'No commands to execute.'."\n";elseif($_POST["only_errors"]){echo"< p class = 'message' > ".lang(array('%d query executed OK.','%d queries executed OK.'),$Za-count($Wb))," < span class = 'time' > (".format_time($kg).")< / span > \n";}elseif($Wb& & $Za>1)echo"< p class = 'error' > ".'Error in query'.": ".implode("",$Wb)."\n";}else
echo"< p class = 'error' > ".upload_error($I)."\n";}echo'
< form action = "" method = "post" enctype = "multipart/form-data" id = "form" >
';$bc="< input type = 'submit' value = '".' Execute ' . " ' title = 'Ctrl+Enter' > ";if(!isset($_GET["import"])){$H=$_GET["sql"];if($_POST)$H=$_POST["query"];elseif($_GET["history"]=="all")$H=$Ec;elseif($_GET["history"]!="")$H=$Ec[$_GET["history"]][0];echo"< p > ";textarea("query",$H,20);echo($_POST?"":"< script type = 'text/javascript' > focus ( document . getElementsByTagName ( 'textarea' ) [ 0 ] ) ; < / script > \n"),"< p > $bc\n";}else{echo"< fieldset > < legend > ".'File upload'."< / legend > < div > ",(ini_bool("file_uploads")?'< input type = "file" name = "sql_file[]" multiple > (< '.ini_get("upload_max_filesize").'B)':'File uploads are disabled.'),"\n$bc","< / div > < / fieldset > \n","< fieldset > < legend > ".'From server'."< / legend > < div > ",sprintf('Webserver file %s',"< code > adminer.sql".(extension_loaded("zlib")?"[.gz]":"")."< / code > "),' < input type = "submit" name = "webfile" value = "'.'Run file'.'" > ',"< / div > < / fieldset > \n","< p > ";}echo
checkbox("error_stops",1,($_POST?$_POST["error_stops"]:isset($_GET["import"])),'Stop on error')."\n",checkbox("only_errors",1,($_POST?$_POST["only_errors"]:isset($_GET["import"])),'Show only errors')."\n","< input type = 'hidden' name = 'token' value = '$T' > \n";if(!isset($_GET["import"])&&$Ec){print_fieldset("history",'History',$_GET["history"]!=""); for($X=end($Ec);$X;$X=prev($Ec)){$y=key($Ec);list($H,$ag,$Mb)=$X;echo'< a href = "'.h(ME." sql = &history=$y").'" > '.'Edit'."< / a > "." < span class = 'time' title = '".@date(' Y-m-d ' , $ ag ) . " ' > ".@date("H:i:s",$ag)."< / span > "." < code class = 'jush-$x' > ".shorten_utf8(ltrim(str_replace("\n"," ",str_replace("\r","",preg_replace('~^(#|-- ).*~m','',$H)))),80,"< / code > ").($Mb?" < span class = 'time' > ($Mb)< / span > ":"")."< br > \n";}echo"< input type = 'submit' name = 'clear' value = '".' Clear ' . " ' > \n","< a href = '".h(ME."sql=&history=all")."' > ".'Edit all'."< / a > \n","< / div > < / fieldset > \n";}echo'< / form >
';}elseif(isset($_GET["edit"])){$a=$_GET["edit"];$l=fields($a);$Z=(isset($_GET["select"])?(count($_POST["check"])==1?where_check($_POST["check"][0],$l):""):where($_GET,$l));$_g=(isset($_GET["select"])?$_POST["edit"]:$Z);foreach($l
as$E=>$k){if(!isset($k["privileges"][$_g?"update":"insert"])||$b->fieldName($k)=="")unset($l[$E]);}if($_POST&&!$j&&!isset($_GET["select"])){$A=$_POST["referer"]; if($_POST["insert"])$A=($_g?null:$_SERVER["REQUEST_URI"]);elseif(!preg_match('~^.+&select=.+$~',$A))$A=ME."select=".urlencode($a); $v=indexes($a);$vg=unique_array($_GET["where"],$v);$Re="\nWHERE $Z";if(isset($_POST["delete"]))queries_redirect($A,'Item has been deleted.',$i->delete($a,$Re,!$vg));else{$P=array();foreach($l
as$E=>$k){$X=process_input($k);if($X!==false&&$X!==null)$P[idf_escape($E)]=$X; }if($_g){if(!$P)redirect($A);queries_redirect($A,'Item has been updated.',$i->update($a,$P,$Re,!$vg));if(is_ajax()){page_headers();page_messages($j);exit;}}else{$J=$i->insert($a,$P);$gd=($J?last_id():0);queries_redirect($A,sprintf('Item%s has been inserted.',($gd?" $gd":"")),$J);}}}$L=null;if($_POST["save"])$L=(array)$_POST["fields"];elseif($Z){$N=array();foreach($l
as$E=>$k){if(isset($k["privileges"]["select"])){$ua=convert_field($k);if(!empty($_POST["clone"])&&!empty($k["auto_increment"]))$ua="''"; if($x=="sql"&&preg_match("~enum|set~",$k["type"]))$ua="1*".idf_escape($E); $N[]=($ua?"$ua AS ":"").idf_escape($E);}}$L=array();if(!support("table"))$N=array("*");if($N){$J=$i->select($a,$N,array($Z),$N,array(),(isset($_GET["select"])?2:1));$L=$J->fetch_assoc();if(!$L)$L=false;if(isset($_GET["select"])&&(!$L||$J->fetch_assoc()))$L=null; }}if(!support("table")&&!$l){if(!$Z){$J=$i->select($a,array("*"),$Z,array("*")); $L=($J?$J->fetch_assoc():false);if(!$L)$L=array($i->primary=>"");}if($L){foreach($L
as$y=>$X){if(!$Z)$L[$y]=null;$l[$y]=array("field"=>$y,"null"=>($y!=$i->primary),"auto_increment"=>($y==$i->primary));}}}edit_form($a,$l,$L,$_g);}elseif(isset($_GET["create"])){$a=$_GET["create"];$se=array();foreach(array('HASH','LINEAR HASH','KEY','LINEAR KEY','RANGE','LIST')as$y)$se[$y]=$y;$Xe=referencable_primary($a);$n=array();foreach($Xe
as$Of=>$k)$n[str_replace("`","``",$Of)."`".str_replace("`","``",$k["field"])]=$Of;$ke=array();$R=array();if($a!=""){$ke=fields($a);$R=table_status($a);if(!$R)$j='No tables.';}$L=$_POST;$L["fields"]=(array)$L["fields"];if($L["auto_increment_col"])$L["fields"][$L["auto_increment_col"]]["auto_increment"]=true;if($_POST& & !process_fields($L["fields"])& & !$j){if($_POST["drop"])queries_redirect(substr(ME,0,-1),'Table has been dropped.',drop_tables(array($a)));else{$l=array();$ra=array();$Cg=false;$qc=array();ksort($L["fields"]);$je=reset($ke);$pa=" FIRST";foreach($L["fields"]as$y=>$k){$m=$n[$k["type"]];$qg=($m!==null?$Xe[$m]:$k);if($k["field"]!=""){if(!$k["has_default"])$k["default"]=null;if($y==$L["auto_increment_col"])$k["auto_increment"]=true;$Ne=process_field($k,$qg);$ra[]=array($k["orig"],$Ne,$pa);if($Ne!=process_field($je,$je)){$l[]=array($k["orig"],$Ne,$pa);if($k["orig"]!=""||$pa)$Cg=true;}if($m!==null)$qc[idf_escape($k["field"])]=($a!=""& & $x!="sqlite"?"ADD":" ").format_foreign_key(array('table'=>$n[$k["type"]],'source'=>array($k["field"]),'target'=>array($qg["field"]),'on_delete'=>$k["on_delete"],));$pa=" AFTER ".idf_escape($k["field"]);}elseif($k["orig"]!=""){$Cg=true;$l[]=array($k["orig"]);}if($k["orig"]!=""){$je=next($ke);if(!$je)$pa="";}}$ue="";if($se[$L["partition_by"]]){$ve=array();if($L["partition_by"]=='RANGE'||$L["partition_by"]=='LIST'){foreach(array_filter($L["partition_names"])as$y=>$X){$Y=$L["partition_values"][$y];$ve[]="\n PARTITION ".idf_escape($X)." VALUES ".($L["partition_by"]=='RANGE'?"LESS THAN":"IN").($Y!=""?" ($Y)":" MAXVALUE");}}$ue.="\nPARTITION BY $L[partition_by]($L[partition])".($ve?" (".implode(",",$ve)."\n)":($L["partitions"]?" PARTITIONS ".(+$L["partitions"]):""));}elseif(support("partitioning")& & preg_match("~partitioned~",$R["Create_options"]))$ue.="\nREMOVE PARTITIONING";$C='Table has been altered.';if($a==""){cookie("adminer_engine",$L["Engine"]);$C='Table has been created.';}$E=trim($L["name"]);queries_redirect(ME.(support("table")?"table=":"select=").urlencode($E),$C,alter_table($a,$E,($x=="sqlite"&&($Cg||$qc)?$ra:$l),$qc,$L["Comment"],($L["Engine"]&&$L["Engine"]!=$R["Engine"]?$L["Engine"]:""),($L["Collation"]&&$L["Collation"]!=$R["Collation"]?$L["Collation"]:""),($L["Auto_increment"]!=""?+$L["Auto_increment"]:""),$ue)); }}page_header(($a!=""?'Alter table':'Create table'),$j,array("table"=>$a),h($a));if(!$_POST){$L=array("Engine"=>$_COOKIE["adminer_engine"],"fields"=>array(array("field"=>"","type"=>(isset($sg["int"])?"int":(isset($sg["integer"])?"integer":"")))),"partition_names"=>array(""),);if($a!=""){$L=$R;$L["name"]=$a;$L["fields"]=array();if(!$_GET["auto_increment"])$L["Auto_increment"]="";foreach($ke
as$k){$k["has_default"]=isset($k["default"]);$L["fields"][]=$k;}if(support("partitioning")){$vc="FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = ".q(DB)." AND TABLE_NAME = ".q($a);$J=$e->query("SELECT PARTITION_METHOD, PARTITION_ORDINAL_POSITION, PARTITION_EXPRESSION $vc ORDER BY PARTITION_ORDINAL_POSITION DESC LIMIT 1");list($L["partition_by"],$L["partitions"],$L["partition"])=$J->fetch_row();$ve=get_key_vals("SELECT PARTITION_NAME, PARTITION_DESCRIPTION $vc AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION");$ve[""]="";$L["partition_names"]=array_keys($ve);$L["partition_values"]=array_values($ve);}}}$Wa=collations();$Tb=engines();foreach($Tb
as$Sb){if(!strcasecmp($Sb,$L["Engine"])){$L["Engine"]=$Sb;break;}}echo'
< form action = "" method = "post" id = "form" >
< p >
';if(support("columns")||$a==""){echo'Table name: < input name = "name" maxlength = "64" value = "',h($L[" name " ] ) , ' " autocapitalize = "off" >
';if($a==""&& !$_POST){?>< script type = 'text/javascript' > focus ( document . getElementById ( 'form' )[ 'name' ]);</ script > <?php } echo ( $Tb ? "<select name='Engine' onchange='helpClose();'" . on_help ( "getTarget(event).value" , 1 ) . ">" . optionlist ( array ( "" => "(" . 'engine' . ")" ) + $Tb , $L [ "Engine" ]) . "</select>" : "" ), ' ' ,( $Wa &&! preg_match ( "~sqlite|mssql~" , $x ) ? html_select ( "Collation" , array ( "" => "(" . 'collation' . ")" ) + $Wa , $L [ "Collation" ]) : "" ), ' < input type = "submit" value = "Save" >
';}echo'
';if(support("columns")){echo'< table cellspacing = "0" id = "edit-fields" class = "nowrap" >
';$bb=($_POST?$_POST["comments"]:$L["Comment"]!="");if(!$_POST&&!$bb){foreach($L["fields"]as$k){if($k["comment"]!=""){$bb=true; break;}}}edit_fields($L["fields"],$Wa,"TABLE",$n,$bb);echo'< / table >
< p >
Auto Increment: < input type = "number" name = "Auto_increment" size = "6" value = "',h($L[" Auto_increment " ] ) , ' " >
',checkbox("defaults",1,true,'Default values',"columnShow(this.checked, 5)","jsonly");if(!$_POST["defaults"]){echo'< script type = "text/javascript" > editingHideDefaults ( ) < / script > ';}echo(support("comment")?"< label > < input type = 'checkbox' name = 'comments' value = '1' class = 'jsonly' onclick = \"columnShow(this.checked, 6 ) ; toggle ( ' Comment ' ) ; if ( this . checked ) this . form [ ' Comment ' ] . focus ( ) ; \ " " . ( $ bb ? " checked " : " " ) . " > ".'Comment'."< / label > ".' < input name = "Comment" id = "Comment" value = "'.h($L[" Comment " ] ) . ' " maxlength = "'.($e->server_info>=5.5?2048:60).'" ' . ( $ bb ? ' ' : ' class = "hidden" ' ) . ' > ':''),'< p >
< input type = "submit" value = "Save" >
';}echo'
';if($a!=""){echo'< input type = "submit" name = "drop" value = "Drop" ' , confirm ( ) , ' > ';}if(support("partitioning")){$te=preg_match('~RANGE|LIST~',$L["partition_by"]);print_fieldset("partition",'Partition by',$L["partition_by"]);echo'< p >
',"< select name = 'partition_by' onchange = 'partitionByChange(this);' " . on_help ( " getTarget ( event ) . value . replace ( / . / , ' PARTITION BY \ $ & ' ) " , 1 ) . " > ".optionlist(array(""=>"")+$se,$L["partition_by"])."< / select > ",'(< input name = "partition" value = "',h($L[" partition " ] ) , ' " > )
Partitions: < input type = "number" name = "partitions" class = "size',($te||!$L[" partition_by " ] ? " hidden " : " " ) , ' " value = "',h($L[" partitions " ] ) , ' " >
< table cellspacing = "0" id = "partition-table" ' , ( $ te ? " " : " class = 'hidden' " ) , ' >
< thead > < tr > < th > Partition name< th > Values< / thead >
';foreach($L["partition_names"]as$y=>$X){echo'< tr > ','< td > < input name = "partition_names[]" value = "'.h($X).'" ' . ( $ y = =count($L["partition_names"])-1?' onchange = "partitionNameChange(this);" ' : ' ' ) . ' autocapitalize = "off" > ','< td > < input name = "partition_values[]" value = "'.h($L[" partition_values " ] [ $ y ] ) . ' " > ';}echo'< / table >
< / div > < / fieldset >
';}echo'< input type = "hidden" name = "token" value = "',$T,'" >
< / form >
';}elseif(isset($_GET["indexes"])){$a=$_GET["indexes"];$Mc=array("PRIMARY","UNIQUE","INDEX");$R=table_status($a,true);if(preg_match('~MyISAM|M?aria'.($e->server_info>=5.6?'|InnoDB':'').'~i',$R["Engine"]))$Mc[]="FULLTEXT";$v=indexes($a);$He=array();if($x=="mongo"){$He=$v["_id_"];unset($Mc[0]);unset($v["_id_"]);}$L=$_POST;if($_POST&&!$j&&!$_POST["add"]&&!$_POST["drop_col"]){$sa=array(); foreach($L["indexes"]as$u){$E=$u["name"];if(in_array($u["type"],$Mc)){$d=array();$md=array();$yb=array();$P=array();ksort($u["columns"]);foreach($u["columns"]as$y=>$c){if($c!=""){$ld=$u["lengths"][$y];$xb=$u["descs"][$y];$P[]=idf_escape($c).($ld?"(".(+$ld).")":"").($xb?" DESC":"");$d[]=$c;$md[]=($ld?$ld:null);$yb[]=$xb;}}if($d){$cc=$v[$E];if($cc){ksort($cc["columns"]);ksort($cc["lengths"]);ksort($cc["descs"]);if($u["type"]==$cc["type"]&&array_values($cc["columns"])===$d&&(!$cc["lengths"]||array_values($cc["lengths"])===$md)&&array_values($cc["descs"])===$yb){unset($v[$E]); continue;}}$sa[]=array($u["type"],$E,$P);}}}foreach($v
as$E=>$cc)$sa[]=array($cc["type"],$E,"DROP");if(!$sa)redirect(ME."table=".urlencode($a));queries_redirect(ME."table=".urlencode($a),'Indexes have been altered.',alter_indexes($a,$sa));}page_header('Indexes',$j,array("table"=>$a),h($a));$l=array_keys(fields($a));if($_POST["add"]){foreach($L["indexes"]as$y=>$u){if($u["columns"][count($u["columns"])]!="")$L["indexes"][$y]["columns"][]="";}$u=end($L["indexes"]);if($u["type"]||array_filter($u["columns"],'strlen'))$L["indexes"][]=array("columns"=>array(1=>""));}if(!$L){foreach($v
as$y=>$u){$v[$y]["name"]=$y;$v[$y]["columns"][]="";}$v[]=array("columns"=>array(1=>""));$L["indexes"]=$v;}?>
< form action = "" method = "post" >
< table cellspacing = "0" class = "nowrap" >
< thead > < tr >
< th > Index Type
< th > < input type = "submit" style = "left: -1000px; position: absolute;" > Column (length)
< th > Name
< th > < noscript > < input type = 'image' class = 'icon' name = 'add[0]' src = '" . h(preg_replace("~\\?.*~", "", ME)) . "?file=plus.gif&version=4.1.0&driver=mysql' alt = '+' title = 'Add next' > < / noscript >
< / thead >
<?php
if($He){echo"< tr > < td > PRIMARY< td > ";foreach($He["columns"]as$y=>$c){echo
select_input(" disabled",$l,$c),"< label > < input disabled type = 'checkbox' > ".'descending'."< / label > ";}echo"< td > < td > \n";}$w=1;foreach($L["indexes"]as$u){if(!$_POST["drop_col"]||$w!=key($_POST["drop_col"])){echo"< tr > < td > ".html_select("indexes[$w][type]",array(-1=>"")+$Mc,$u["type"],($w==count($L["indexes"])?"indexesAddRow(this);":1)),"< td > ";ksort($u["columns"]);$s=1;foreach($u["columns"]as$y=>$c){echo"< span > ".select_input(" name='indexes[$w][columns][$s]' onchange=\"".($s==count($u["columns"])?"indexesAddColumn":"indexesChangeColumn")."(this, '".js_escape($x=="sql"?"":$_GET["indexes"]."_")."');\"",($l?array_combine($l,$l):$l),$c),($x=="sql"||$x=="mssql"?"< input type = 'number' name = 'indexes[$w][lengths][$s]' class = 'size' value = '".h($u["lengths"][$y])."' > ":""),($x!="sql"?checkbox("indexes[$w][descs][$s]",1,$u["descs"][$y],'descending'):"")," < / span > ";$s++;}echo"< td > < input name = 'indexes[$w][name]' value = '".h($u["name"])."' autocapitalize = 'off' > \n","< td > < input type = 'image' class = 'icon' name = 'drop_col[$w]' src = '".h(preg_replace("~\\?.*~","",ME))."?file=cross.gif&version=4.1.0&driver=mysql' alt = 'x' title = '".' Remove ' . " ' onclick = \"return ! editingRemoveRow ( this , ' indexes \ $ 1 [ type ] ' ) ; \ " > \n";}$w++;}echo'< / table >
< p >
< input type = "submit" value = "Save" >
< input type = "hidden" name = "token" value = "',$T,'" >
< / form >
';}elseif(isset($_GET["database"])){$L=$_POST;if($_POST&&!$j&&!isset($_POST["add_x"])){restart_session(); $E=trim($L["name"]);if($_POST["drop"]){$_GET["db"]="";queries_redirect(remove_from_uri("db|database"),'Database has been dropped.',drop_databases(array(DB)));}elseif(DB!==$E){if(DB!=""){$_GET["db"]=$E;queries_redirect(preg_replace('~\bdb=[^& ]*& ~','',ME)."db=".urlencode($E),'Database has been renamed.',rename_database($E,$L["collation"]));}else{$g=explode("\n",str_replace("\r","",$E));$If=true;$fd="";foreach($g
as$h){if(count($g)==1||$h!=""){if(!create_database($h,$L["collation"]))$If=false;$fd=$h;}}queries_redirect(ME."db=".urlencode($fd),'Database has been created.',$If);}}else{if(!$L["collation"])redirect(substr(ME,0,-1));query_redirect("ALTER DATABASE ".idf_escape($E).(preg_match('~^[a-z0-9_]+$~i',$L["collation"])?" COLLATE $L[collation]":""),substr(ME,0,-1),'Database has been altered.');}}page_header(DB!=""?'Alter database':'Create database',$j,array(),h(DB));$Wa=collations();$E=DB;if($_POST)$E=$L["name"];elseif(DB!="")$L["collation"]=db_collation(DB,$Wa);elseif($x=="sql"){foreach(get_vals("SHOW GRANTS")as$q){if(preg_match('~ ON (`(([^\\\\`]|``|\\\\.)*)%`\\.\\*)?~',$q,$B)&&$B[1]){$E=stripcslashes(idf_unescape("`$B[2]`")); break;}}}echo'
< form action = "" method = "post" >
< p >
',($_POST["add_x"]||strpos($E,"\n")?'< textarea id = "name" name = "name" rows = "10" cols = "40" > '.h($E).'< / textarea > < br > ':'< input name = "name" id = "name" value = "'.h($E).'" maxlength = "64" autocapitalize = "off" > ')."\n".($Wa?html_select("collation",array(""=>"(".'collation'.")")+$Wa,$L["collation"]).doc_link(array('sql'=>"charset-charsets.html",'mssql'=>"ms187963.aspx",)):"");?>
< script type = 'text/javascript' > focus ( document . getElementById ( 'name' ) ) ; < / script >
< input type = "submit" value = "Save" >
<?php
if(DB!="")echo"< input type = 'submit' name = 'drop' value = '".' Drop ' . " ' " . confirm ( ) . " > \n";elseif(!$_POST["add_x"]& & $_GET["db"]=="")echo"< input type = 'image' class = 'icon' name = 'add' src = '".h(preg_replace("~\\?.*~","",ME))."?file=plus.gif&version=4.1.0&driver=mysql' alt = '+' title = '".' Add next ' . " ' > \n";echo'< input type = "hidden" name = "token" value = "',$T,'" >
< / form >
';}elseif(isset($_GET["call"])){$da=$_GET["call"];page_header('Call'.": ".h($da),$j);$if=routine($da,(isset($_GET["callf"])?"FUNCTION":"PROCEDURE"));$Lc=array();$me=array();foreach($if["fields"]as$s=>$k){if(substr($k["inout"],-3)=="OUT")$me[$s]="@".idf_escape($k["field"])." AS ".idf_escape($k["field"]);if(!$k["inout"]||substr($k["inout"],0,2)=="IN")$Lc[]=$s;}if(!$j&&$_POST){$Ja=array(); foreach($if["fields"]as$y=>$k){if(in_array($y,$Lc)){$X=process_input($k);if($X===false)$X="''";if(isset($me[$y]))$e->query("SET @".idf_escape($k["field"])." = $X");}$Ja[]=(isset($me[$y])?"@".idf_escape($k["field"]):$X);}$I=(isset($_GET["callf"])?"SELECT":"CALL")." ".idf_escape($da)."(".implode(", ",$Ja).")";echo"< p > < code class = 'jush-$x' > ".h($I)."< / code > < a href = '".h(ME)."sql=".urlencode($I)."' > ".'Edit'."< / a > \n";if(!$e->multi_query($I))echo"< p class = 'error' > ".error()."\n";else{$f=connect();if(is_object($f))$f->select_db(DB);do{$J=$e->store_result();if(is_object($J))select($J,$f);else
echo"< p class = 'message' > ".lang(array('Routine has been called, %d row affected.','Routine has been called, %d rows affected.'),$e->affected_rows)."\n";}while($e->next_result());if($me)select($e->query("SELECT ".implode(", ",$me)));}}echo'
< form action = "" method = "post" >
';if($Lc){echo"< table cellspacing = '0' > \n";foreach($Lc
as$y){$k=$if["fields"][$y];$E=$k["field"];echo"< tr > < th > ".$b->fieldName($k);$Y=$_POST["fields"][$E];if($Y!=""){if($k["type"]=="enum")$Y=+$Y;if($k["type"]=="set")$Y=array_sum($Y);}input($k,$Y,(string)$_POST["function"][$E]);echo"\n";}echo"< / table > \n";}echo'< p >
< input type = "submit" value = "Call" >
< input type = "hidden" name = "token" value = "',$T,'" >
< / form >
';}elseif(isset($_GET["foreign"])){$a=$_GET["foreign"];$E=$_GET["name"];$L=$_POST;if($_POST& & !$j& & !$_POST["add"]& & !$_POST["change"]& & !$_POST["change-js"]){$C=($_POST["drop"]?'Foreign key has been dropped.':($E!=""?'Foreign key has been altered.':'Foreign key has been created.'));$A=ME."table=".urlencode($a);$L["source"]=array_filter($L["source"],'strlen');ksort($L["source"]);$Uf=array();foreach($L["source"]as$y=>$X)$Uf[$y]=$L["target"][$y];$L["target"]=$Uf;if($x=="sqlite")queries_redirect($A,$C,recreate_table($a,$a,array(),array(),array(" $E"=>($_POST["drop"]?"":" ".format_foreign_key($L)))));else{$sa="ALTER TABLE ".table($a);$Eb="\nDROP ".($x=="sql"?"FOREIGN KEY ":"CONSTRAINT ").idf_escape($E);if($_POST["drop"])query_redirect($sa.$Eb,$A,$C);else{query_redirect($sa.($E!=""?"$Eb,":"")."\nADD".format_foreign_key($L),$A,$C);$j='Source and target columns must have the same data type, there must be an index on the target columns and referenced data must exist.'."< br > $j";}}}page_header('Foreign key',$j,array("table"=>$a),h($a));if($_POST){ksort($L["source"]);if($_POST["add"])$L["source"][]="";elseif($_POST["change"]||$_POST["change-js"])$L["target"]=array();}elseif($E!=""){$n=foreign_keys($a);$L=$n[$E];$L["source"][]="";}else{$L["table"]=$a;$L["source"]=array("");}$zf=array_keys(fields($a));$Uf=($a===$L["table"]?$zf:array_keys(fields($L["table"])));$We=array_keys(array_filter(table_status('',true),'fk_support'));echo'
< form action = "" method = "post" >
< p >
';if($L["db"]==""& & $L["ns"]==""){echo'Target table:
',html_select("table",$We,$L["table"],"this.form['change-js'].value = '1'; this.form.submit();"),'< input type = "hidden" name = "change-js" value = "" >
< noscript > < p > < input type = "submit" name = "change" value = "Change" > < / noscript >
< table cellspacing = "0" >
< thead > < tr > < th > Source< th > Target< / thead >
';$w=0;foreach($L["source"]as$y=>$X){echo"< tr > ","< td > ".html_select("source[".(+$y)."]",array(-1=>"")+$zf,$X,($w==count($L["source"])-1?"foreignAddRow(this);":1)),"< td > ".html_select("target[".(+$y)."]",$Uf,$L["target"][$y]);$w++;}echo'< / table >
< p >
ON DELETE: ',html_select("on_delete",array(-1=>"")+explode("|",$Wd),$L["on_delete"]),' ON UPDATE: ',html_select("on_update",array(-1=>"")+explode("|",$Wd),$L["on_update"]),doc_link(array('sql'=>"innodb-foreign-key-constraints.html",'pgsql'=>"sql-createtable.html#SQL-CREATETABLE-REFERENCES",'mssql'=>"ms174979.aspx",'oracle'=>"clauses002.htm#sthref2903",)),'< p >
< input type = "submit" value = "Save" >
< noscript > < p > < input type = "submit" name = "add" value = "Add column" > < / noscript >
';}if($E!=""){echo'< input type = "submit" name = "drop" value = "Drop" ' , confirm ( ) , ' > ';}echo'< input type = "hidden" name = "token" value = "',$T,'" >
< / form >
';}elseif(isset($_GET["view"])){$a=$_GET["view"];$L=$_POST;if($_POST&&!$j){$E=trim($L["name"]); $ua=" AS\n$L[select]";$A=ME."table=".urlencode($E);$C='View has been altered.';if(!$_POST["drop"]& & $a==$E& & $x!="sqlite")query_redirect(($x=="mssql"?"ALTER":"CREATE OR REPLACE")." VIEW ".table($E).$ua,$A,$C);else{$Wf=$E."_adminer_".uniqid();drop_create("DROP VIEW ".table($a),"CREATE VIEW ".table($E).$ua,"DROP VIEW ".table($E),"CREATE VIEW ".table($Wf).$ua,"DROP VIEW ".table($Wf),($_POST["drop"]?substr(ME,0,-1):$A),'View has been dropped.',$C,'View has been created.',$a,$E);}}if(!$_POST&&$a!=""){$L=view($a); $L["name"]=$a;if(!$j)$j=$e->error;}page_header(($a!=""?'Alter view':'Create view'),$j,array("table"=>$a),h($a));echo'
< form action = "" method = "post" >
< p > Name: < input name = "name" value = "',h($L[" name " ] ) , ' " maxlength = "64" autocapitalize = "off" >
< p > ';textarea("select",$L["select"]);echo'< p >
< input type = "submit" value = "Save" >
';if($_GET["view"]!=""){echo'< input type = "submit" name = "drop" value = "Drop" ' , confirm ( ) , ' > ';}echo'< input type = "hidden" name = "token" value = "',$T,'" >
< / form >
';}elseif(isset($_GET["event"])){$aa=$_GET["event"];$Rc=array("YEAR","QUARTER","MONTH","DAY","HOUR","MINUTE","WEEK","SECOND","YEAR_MONTH","DAY_HOUR","DAY_MINUTE","DAY_SECOND","HOUR_MINUTE","HOUR_SECOND","MINUTE_SECOND");$Df=array("ENABLED"=>"ENABLE","DISABLED"=>"DISABLE","SLAVESIDE_DISABLED"=>"DISABLE ON SLAVE");$L=$_POST;if($_POST& & !$j){if($_POST["drop"])query_redirect("DROP EVENT ".idf_escape($aa),substr(ME,0,-1),'Event has been dropped.');elseif(in_array($L["INTERVAL_FIELD"],$Rc)& & isset($Df[$L["STATUS"]])){$mf="\nON SCHEDULE ".($L["INTERVAL_VALUE"]?"EVERY ".q($L["INTERVAL_VALUE"])." $L[INTERVAL_FIELD]".($L["STARTS"]?" STARTS ".q($L["STARTS"]):"").($L["ENDS"]?" ENDS ".q($L["ENDS"]):""):"AT ".q($L["STARTS"]))." ON COMPLETION".($L["ON_COMPLETION"]?"":" NOT")." PRESERVE";queries_redirect(substr(ME,0,-1),($aa!=""?'Event has been altered.':'Event has been created.'),queries(($aa!=""?"ALTER EVENT ".idf_escape($aa).$mf.($aa!=$L["EVENT_NAME"]?"\nRENAME TO ".idf_escape($L["EVENT_NAME"]):""):"CREATE EVENT ".idf_escape($L["EVENT_NAME"]).$mf)."\n".$Df[$L["STATUS"]]." COMMENT ".q($L["EVENT_COMMENT"]).rtrim(" DO\n$L[EVENT_DEFINITION]",";").";"));}}page_header(($aa!=""?'Alter event'.": ".h($aa):'Create event'),$j);if(!$L& & $aa!=""){$M=get_rows("SELECT * FROM information_schema.EVENTS WHERE EVENT_SCHEMA = ".q(DB)." AND EVENT_NAME = ".q($aa));$L=reset($M);}echo'
< form action = "" method = "post" >
< table cellspacing = "0" >
< tr > < th > Name< td > < input name = "EVENT_NAME" value = "',h($L[" EVENT_NAME " ] ) , ' " maxlength = "64" autocapitalize = "off" >
< tr > < th title = "datetime" > Start< td > < input name = "STARTS" value = "',h(" $ L [ EXECUTE_AT ] $ L [ STARTS ] " ) , ' " >
< tr > < th title = "datetime" > End< td > < input name = "ENDS" value = "',h($L[" ENDS " ] ) , ' " >
< tr > < th > Every< td > < input type = "number" name = "INTERVAL_VALUE" value = "',h($L[" INTERVAL_VALUE " ] ) , ' " class = "size" > ',html_select("INTERVAL_FIELD",$Rc,$L["INTERVAL_FIELD"]),'< tr > < th > Status< td > ',html_select("STATUS",$Df,$L["STATUS"]),'< tr > < th > Comment< td > < input name = "EVENT_COMMENT" value = "',h($L[" EVENT_COMMENT " ] ) , ' " maxlength = "64" >
< tr > < th > < td > ',checkbox("ON_COMPLETION","PRESERVE",$L["ON_COMPLETION"]=="PRESERVE",'On completion preserve'),'< / table >
< p > ';textarea("EVENT_DEFINITION",$L["EVENT_DEFINITION"]);echo'< p >
< input type = "submit" value = "Save" >
';if($aa!=""){echo'< input type = "submit" name = "drop" value = "Drop" ' , confirm ( ) , ' > ';}echo'< input type = "hidden" name = "token" value = "',$T,'" >
< / form >
';}elseif(isset($_GET["procedure"])){$da=$_GET["procedure"];$if=(isset($_GET["function"])?"FUNCTION":"PROCEDURE");$L=$_POST;$L["fields"]=(array)$L["fields"];if($_POST&&!process_fields($L["fields"])&&!$j){$Wf="$L[name]_adminer_".uniqid(); drop_create("DROP $if ".idf_escape($da),create_routine($if,$L),"DROP $if ".idf_escape($L["name"]),create_routine($if,array("name"=>$Wf)+$L),"DROP $if ".idf_escape($Wf),substr(ME,0,-1),'Routine has been dropped.','Routine has been altered.','Routine has been created.',$da,$L["name"]);}page_header(($da!=""?(isset($_GET["function"])?'Alter function':'Alter procedure').": ".h($da):(isset($_GET["function"])?'Create function':'Create procedure')),$j);if(!$_POST&&$da!=""){$L=routine($da,$if); $L["name"]=$da;}$Wa=get_vals("SHOW CHARACTER SET");sort($Wa);$jf=routine_languages();echo'
< form action = "" method = "post" id = "form" >
< p > Name: < input name = "name" value = "',h($L[" name " ] ) , ' " maxlength = "64" autocapitalize = "off" >
',($jf?'Language'.": ".html_select("language",$jf,$L["language"]):""),'< input type = "submit" value = "Save" >
< table cellspacing = "0" class = "nowrap" >
';edit_fields($L["fields"],$Wa,$if);if(isset($_GET["function"])){echo"< tr > < td > ".'Return type';edit_type("returns",$L["returns"],$Wa);}echo'< / table >
< p > ';textarea("definition",$L["definition"]);echo'< p >
< input type = "submit" value = "Save" >
';if($da!=""){echo'< input type = "submit" name = "drop" value = "Drop" ' , confirm ( ) , ' > ';}echo'< input type = "hidden" name = "token" value = "',$T,'" >
< / form >
';}elseif(isset($_GET["trigger"])){$a=$_GET["trigger"];$E=$_GET["name"];$og=trigger_options();$L=(array)trigger($E)+array("Trigger"=>$a."_bi");if($_POST){if(!$j& & in_array($_POST["Timing"],$og["Timing"])& & in_array($_POST["Event"],$og["Event"])& & in_array($_POST["Type"],$og["Type"])){$Vd=" ON ".table($a);$Eb="DROP TRIGGER ".idf_escape($E).($x=="pgsql"?$Vd:"");$A=ME."table=".urlencode($a);if($_POST["drop"])query_redirect($Eb,$A,'Trigger has been dropped.');else{if($E!="")queries($Eb);queries_redirect($A,($E!=""?'Trigger has been altered.':'Trigger has been created.'),queries(create_trigger($Vd,$_POST)));if($E!="")queries(create_trigger($Vd,$L+array("Type"=>reset($og["Type"]))));}}$L=$_POST;}page_header(($E!=""?'Alter trigger'.": ".h($E):'Create trigger'),$j,array("table"=>$a));echo'
< form action = "" method = "post" id = "form" >
< table cellspacing = "0" >
< tr > < th > Time< td > ',html_select("Timing",$og["Timing"],$L["Timing"],"triggerChange(/^".preg_quote($a,"/")."_[ba][iud]$/, '".js_escape($a)."', this.form);"),'< tr > < th > Event< td > ',html_select("Event",$og["Event"],$L["Event"],"this.form['Timing'].onchange();"),(in_array("UPDATE OF",$og["Event"])?" < input name = 'Of' value = '".h($L["Of"])."' class = 'hidden' > ":""),'< tr > < th > Type< td > ',html_select("Type",$og["Type"],$L["Type"]),'< / table >
< p > Name: < input name = "Trigger" value = "',h($L[" Trigger " ] ) ; ? > " maxlength="64" autocapitalize="off">
< script type = "text/javascript" > document . getElementById ( 'form' ) [ 'Timing' ] . onchange ( ) ; < / script >
< p > <?php textarea ( "Statement" , $L [ "Statement" ]); echo ' < p >
< input type = "submit" value = "Save" >
';if($E!=""){echo'< input type = "submit" name = "drop" value = "Drop" ' , confirm ( ) , ' > ';}echo'< input type = "hidden" name = "token" value = "',$T,'" >
< / form >
';}elseif(isset($_GET["user"])){$fa=$_GET["user"];$Le=array(""=>array("All privileges"=>""));foreach(get_rows("SHOW PRIVILEGES")as$L){foreach(explode(",",($L["Privilege"]=="Grant option"?"":$L["Context"]))as$gb)$Le[$gb][$L["Privilege"]]=$L["Comment"];}$Le["Server Admin"]+=$Le["File access on server"];$Le["Databases"]["Create routine"]=$Le["Procedures"]["Create routine"];unset($Le["Procedures"]["Create routine"]);$Le["Columns"]=array();foreach(array("Select","Insert","Update","References")as$X)$Le["Columns"][$X]=$Le["Tables"][$X];unset($Le["Server Admin"]["Usage"]);foreach($Le["Tables"]as$y=>$X)unset($Le["Databases"][$y]);$Id=array();if($_POST){foreach($_POST["objects"]as$y=>$X)$Id[$X]=(array)$Id[$X]+(array)$_POST["grants"][$y];}$yc=array();$Td="";if(isset($_GET["host"])& & ($J=$e->query("SHOW GRANTS FOR ".q($fa)."@".q($_GET["host"])))){while($L=$J->fetch_row()){if(preg_match('~GRANT (.*) ON (.*) TO ~',$L[0],$B)& & preg_match_all('~ *([^(,]*[^ ,(])( *\\([^)]+\\))?~',$B[1],$sd,PREG_SET_ORDER)){foreach($sd
as$X){if($X[1]!="USAGE")$yc["$B[2]$X[2]"][$X[1]]=true;if(preg_match('~ WITH GRANT OPTION~',$L[0]))$yc["$B[2]$X[2]"]["GRANT OPTION"]=true;}}if(preg_match("~ IDENTIFIED BY PASSWORD '([^']+)~",$L[0],$B))$Td=$B[1];}}if($_POST&&!$j){$Ud=(isset($_GET["host"])?q($fa)."@".q($_GET["host"]):"''"); if($_POST["drop"])query_redirect("DROP USER $Ud",ME."privileges=",'User has been dropped.');else{$Kd=q($_POST["user"])."@".q($_POST["host"]);$we=$_POST["pass"];if($we!=''& & !$_POST["hashed"]){$we=$e->result("SELECT PASSWORD(".q($we).")");$j=!$we;}$lb=false;if(!$j){if($Ud!=$Kd){$lb=queries(($e->server_info< 5 ? " GRANT USAGE ON * . * TO " : " CREATE USER " ) . " $ Kd IDENTIFIED BY PASSWORD " . q ( $ we ) ) ; $ j = !$lb;}elseif($we!=$Td)queries("SET PASSWORD FOR $ Kd = ".q($we));}if(!$j){$ff=array();foreach($Id
as$Od=>$q){if(isset($_GET["grant"]))$q=array_filter($q);$q=array_keys($q);if(isset($_GET["grant"]))$ff=array_diff(array_keys(array_filter($Id[$Od],'strlen')),$q);elseif($Ud==$Kd){$Rd=array_keys((array)$yc[$Od]);$ff=array_diff($Rd,$q);$q=array_diff($q,$Rd);unset($yc[$Od]);}if(preg_match('~^(.+)\\s*(\\(.*\\))?$~U',$Od,$B)& & (!grant("REVOKE",$ff,$B[2]," ON $B[1] FROM $Kd")||!grant("GRANT",$q,$B[2]," ON $B[1] TO $Kd"))){$j=true;break;}}}if(!$j& & isset($_GET["host"])){if($Ud!=$Kd)queries("DROP USER $Ud");elseif(!isset($_GET["grant"])){foreach($yc
as$Od=>$ff){if(preg_match('~^(.+)(\\(.*\\))?$~U',$Od,$B))grant("REVOKE",array_keys($ff),$B[2]," ON $B[1] FROM $Kd");}}}queries_redirect(ME."privileges=",(isset($_GET["host"])?'User has been altered.':'User has been created.'),!$j);if($lb)$e->query("DROP USER $Kd");}}page_header((isset($_GET["host"])?'Username'.": ".h("$fa@$_GET[host]"):'Create user'),$j,array("privileges"=>array('','Privileges')));if($_POST){$L=$_POST;$yc=$Id;}else{$L=$_GET+array("host"=>$e->result("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)"));$L["pass"]=$Td;if($Td!="")$L["hashed"]=true;$yc[(DB==""||$yc?"":idf_escape(addcslashes(DB,"%_\\"))).".*"]=array();}echo'< form action = "" method = "post" >
< table cellspacing = "0" >
< tr > < th > Server< td > < input name = "host" maxlength = "60" value = "',h($L[" host " ] ) , ' " autocapitalize = "off" >
< tr > < th > Username< td > < input name = "user" maxlength = "16" value = "',h($L[" user " ] ) , ' " autocapitalize = "off" >
< tr > < th > Password< td > < input name = "pass" id = "pass" value = "',h($L[" pass " ] ) , ' " >
';if(!$L["hashed"]){echo'< script type = "text/javascript" > typePassword ( document . getElementById ( \ 'pass\' ) ) ; < / script > ';}echo
checkbox("hashed",1,$L["hashed"],'Hashed',"typePassword(this.form['pass'], this.checked);"),'< / table >
';echo"< table cellspacing = '0' > \n","< thead > < tr > < th colspan = '2' > ".'Privileges'.doc_link(array('sql'=>"grant.html#priv_level"));$s=0;foreach($yc
as$Od=>$q){echo'< th > '.($Od!="*.*"?"< input name = 'objects[$s]' value = '".h($Od)."' size = '10' autocapitalize = 'off' > ":"< input type = 'hidden' name = 'objects[$s]' value = '*.*' size = '10' > *.*");$s++;}echo"< / thead > \n";foreach(array(""=>"","Server Admin"=>'Server',"Databases"=>'Database',"Tables"=>'Table',"Columns"=>'Column',"Procedures"=>'Routine',)as$gb=>$xb){foreach((array)$Le[$gb]as$Ke=>$ab){echo"< tr " . odd ( ) . " > < td " . ( $ xb ? " > $xb< td " : " colspan = '2' " ) . ' lang = "en" title = "'.h($ab).'" > '.h($Ke);$s=0;foreach($yc
as$Od=>$q){$E="'grants[$s][".h(strtoupper($Ke))."]'";$Y=$q[strtoupper($Ke)];if($gb=="Server Admin"&&$Od!=(isset($yc["*.*"])?"*.*":".*"))echo"<td> ";elseif(isset($_GET["grant"]))echo"< td > < select name = $E > < option > < option value = '1' " . ( $ Y ? " selected " : " " ) . " > ".'Grant'."< option value = '0' " . ( $ Y = ="0"?" selected " : " " ) . " > ".'Revoke'."< / select > ";else
echo"< td align = 'center' > < label class = 'block' > < input type = 'checkbox' name = $E value = '1' " . ( $ Y ? " checked " : " " ) . ( $ Ke = ="All privileges " ? " id = 'grants-$s-all' " : ( $ Ke = ="Grant option " ? " " : " onclick = \"if ( this . checked ) formUncheck ( ' grants- $ s-all ' ) ; \ " " ) ) . " > < / label > ";$s++;}}}echo"< / table > \n",'< p >
< input type = "submit" value = "Save" >
';if(isset($_GET["host"])){echo'< input type = "submit" name = "drop" value = "Drop" ' , confirm ( ) , ' > ';}echo'< input type = "hidden" name = "token" value = "',$T,'" >
< / form >
';}elseif(isset($_GET["processlist"])){if(support("kill")&&$_POST&&!$j){$cd=0; foreach((array)$_POST["kill"]as$X){if(queries("KILL ".(+$X)))$cd++;}queries_redirect(ME."processlist=",lang(array('%d process has been killed.','%d processes have been killed.'),$cd),$cd||!$_POST["kill"]);}page_header('Process list',$j);echo'
< form action = "" method = "post" >
< table cellspacing = "0" onclick = "tableClick(event);" ondblclick = "tableClick(event, true);" class = "nowrap checkable" >
';$s=-1;foreach(process_list()as$s=>$L){if(!$s){echo"< thead > < tr lang = 'en' > ".(support("kill")?"< th > ":"");foreach($L
as$y=>$X)echo"< th > $y".doc_link(array('sql'=>"show-processlist.html#processlist_".strtolower($y),'pgsql'=>"monitoring-stats.html#PG-STAT-ACTIVITY-VIEW",'oracle'=>"../b14237/dynviews_2088.htm",));echo"< / thead > \n";}echo"< tr " . odd ( ) . " > ".(support("kill")?"< td > ".checkbox("kill[]",$L["Id"],0):"");foreach($L
as$y=>$X)echo"< td > ".(($x=="sql"& & $y=="Info"& & preg_match("~Query|Killed~",$L["Command"])& & $X!="")||($x=="pgsql"& & $y=="current_query"& & $X!="< IDLE > ")||($x=="oracle"& & $y=="sql_text"& & $X!="")?"< code class = 'jush-$x' > ".shorten_utf8($X,100,"< / code > ").' < a href = "'.h(ME.($L[" db " ] ! = " " ? " db = ".urlencode($L[" db " ] ) . " & " : " " ) . " sql = ".urlencode($X)).'" > '.'Clone'.'< / a > ':nbsp($X));echo"\n";}echo'< / table >
< script type = \'text/javascript\' > tableCheck ( ) ; < / script >
< p >
';if(support("kill")){echo($s+1)."/".sprintf('%d in total',$e->result("SELECT @@max_connections")),"< p > < input type = 'submit' value = '".' Kill ' . " ' > \n";}echo'< input type = "hidden" name = "token" value = "',$T,'" >
< / form >
';}elseif(isset($_GET["select"])){$a=$_GET["select"];$R=table_status1($a);$v=indexes($a);$l=fields($a);$n=column_foreign_keys($a);$Qd="";if(!empty($R["Oid"])){$Qd=($x=="sqlite"?"rowid":"oid");$v[]=array("type"=>"PRIMARY","columns"=>array($Qd));}parse_str((isset($_COOKIE["adminer_import"])?$_COOKIE["adminer_import"]:null),$ma);$gf=array();$d=array();$Zf=null;foreach($l
as$y=>$k){$E=$b->fieldName($k);if(isset($k["privileges"]["select"])&&$E!=""){$d[$y]=html_entity_decode(strip_tags($E),ENT_QUOTES); if(is_shortable($k))$Zf=$b->selectLengthProcess();}$gf+=$k["privileges"];}list($N,$r)=$b->selectColumnsProcess($d,$v);$Vc=count($r)< count ( $ N ) ; $ Z = $b- > selectSearchProcess($l,$v);$ee=$b->selectOrderProcess($l,$v);$z=$b->selectLimitProcess();$vc=($N?implode(", ",$N):"*".($Qd?", $Qd":"")).convert_fields($d,$l,$N)."\nFROM ".table($a);$zc=($r& & $Vc?"\nGROUP BY ".implode(", ",$r):"").($ee?"\nORDER BY ".implode(", ",$ee):"");if((isset($_GET["val"])?$_GET["val"]:false)& & is_ajax()){header("Content-Type: text/plain; charset=utf-8");foreach($_GET["val"]as$wg=>$L){$ua=convert_field($l[key($L)]);$N=array($ua?$ua:idf_escape(key($L)));$Z[]=where_check($wg,$l);$K=$i->select($a,$N,$Z,$N);if($K)echo
reset($K->fetch_row());}exit;}if($_POST&&!$j){$Og=$Z; if(!$_POST["all"]&&is_array($_POST["check"])){$Na=array(); foreach($_POST["check"]as$La)$Na[]=where_check($La,$l);$Og[]="((".implode(") OR (",$Na)."))";}$Og=($Og?"\nWHERE ".implode(" AND ",$Og):"");$He=$yg=null;foreach($v
as$u){if($u["type"]=="PRIMARY"){$He=array_flip($u["columns"]);$yg=($N?$He:array());break;}}foreach((array)$yg
as$y=>$X){if(in_array(idf_escape($y),$N))unset($yg[$y]);}if($_POST["export"]){cookie("adminer_import","output=".urlencode($_POST["output"])."&format=".urlencode($_POST["format"])); dump_headers($a);$b->dumpTable($a,"");if(!is_array($_POST["check"])||$yg===array())$I="SELECT $vc$Og$zc";else{$ug=array();foreach($_POST["check"]as$X)$ug[]="(SELECT".limit($vc,"\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$l).$zc,1).")";$I=implode(" UNION ALL ",$ug);}$b->dumpData($a,"table",$I);exit;}if(!$b->selectEmailProcess($Z,$n)){if($_POST["save"]||$_POST["delete"]){$J=true;$na=0;$P=array();if(!$_POST["delete"]){foreach($d
as$E=>$X){$X=process_input($l[$E]);if($X!==null&&($_POST["clone"]||$X!==false))$P[idf_escape($E)]=($X!==false?$X:idf_escape($E)); }}if($_POST["delete"]||$P){if($_POST["clone"])$I="INTO ".table($a)." (".implode(", ",array_keys($P)).")\nSELECT ".implode(", ",$P)."\nFROM ".table($a);if($_POST["all"]||($yg===array()& & is_array($_POST["check"]))||$Vc){$J=($_POST["delete"]?$i->delete($a,$Og):($_POST["clone"]?queries("INSERT $I$Og"):$i->update($a,$P,$Og)));$na=$e->affected_rows;}else{foreach((array)$_POST["check"]as$X){$Ng="\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$l);$J=($_POST["delete"]?$i->delete($a,$Ng,1):($_POST["clone"]?queries("INSERT".limit1($I,$Ng)):$i->update($a,$P,$Ng)));if(!$J)break;$na+=$e->affected_rows;}}}$C=lang(array('%d item has been affected.','%d items have been affected.'),$na);if($_POST["clone"]&&$J&&$na==1){$gd=last_id(); if($gd)$C=sprintf('Item%s has been inserted.'," $gd");}queries_redirect(remove_from_uri($_POST["all"]&&$_POST["delete"]?"page":""),$C,$J); if(!$_POST["delete"]){edit_form($a,$l,(array)$_POST["fields"],!$_POST["clone"]);page_footer();exit;}}elseif(!$_POST["import"]){if(!$_POST["val"])$j='Ctrl+click on a value to modify it.';else{$J=true;$na=0;foreach($_POST["val"]as$wg=>$L){$P=array();foreach($L
as$y=>$X){$y=bracket_escape($y,1);$P[idf_escape($y)]=(preg_match('~char|text~',$l[$y]["type"])||$X!=""?$b->processInput($l[$y],$X):"NULL");}$J=$i->update($a,$P," WHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($wg,$l),!($Vc||$yg===array())," ");if(!$J)break;$na+=$e->affected_rows;}queries_redirect(remove_from_uri(),lang(array('%d item has been affected.','%d items have been affected.'),$na),$J);}}elseif(!is_string($lc=get_file("csv_file",true)))$j=upload_error($lc);elseif(!preg_match('~~u',$lc))$j='File must be in UTF-8 encoding.';else{cookie("adminer_import","output=".urlencode($ma["output"])."&format=".urlencode($_POST["separator"])); $J=true;$Xa=array_keys($l);preg_match_all('~(?>"[^"]*"|[^"\\r\\n]+)+~',$lc,$sd);$na=count($sd[0]);$i->begin();$sf=($_POST["separator"]=="csv"?",":($_POST["separator"]=="tsv"?"\t":";"));$M=array();foreach($sd[0]as$y=>$X){preg_match_all("~((?>\"[^\"]*\")+|[^$sf]*)$sf~",$X.$sf,$td);if(!$y&&!array_diff($td[1],$Xa)){$Xa=$td[1]; $na--;}else{$P=array();foreach($td[1]as$s=>$Ta)$P[idf_escape($Xa[$s])]=($Ta==""&&$l[$Xa[$s]]["null"]?"NULL":q(str_replace('""','"',preg_replace('~^"|"$~','',$Ta)))); $M[]=$P;}}$J=(!$M||$i->insertUpdate($a,$M,$He));if($J)$i->commit();queries_redirect(remove_from_uri("page"),lang(array('%d row has been imported.','%d rows have been imported.'),$na),$J);$i->rollback();}}}$Of=$b->tableName($R);if(is_ajax()){page_headers();ob_start();}else
page_header('Select'.": $Of",$j);$P=null;if(isset($gf["insert"])||!support("table")){$P="";foreach((array)(isset($_GET["where"])?$_GET["where"]:null)as$X){if(count($n[$X["col"]])==1&&($X["op"]=="="||(!$X["op"]&&!preg_match('~[_%]~',$X["val"]))))$P.="&set".urlencode("[".bracket_escape($X["col"])."]")."=".urlencode($X["val"]); }}$b->selectLinks($R,$P);if(!$d& & support("table"))echo"< p class = 'error' > ".'Unable to select the table'.($l?".":": ".error())."\n";else{echo"< form action = '' id = 'form' > \n","< div style = 'display: none;' > ";hidden_fields_get();echo(DB!=""?'< input type = "hidden" name = "db" value = "'.h(DB).'" > '.(isset($_GET["ns"])?'< input type = "hidden" name = "ns" value = "'.h($_GET[" ns " ] ) . ' " > ':""):"");echo'< input type = "hidden" name = "select" value = "'.h($a).'" > ',"< / div > \n";$b->selectColumnsPrint($N,$d);$b->selectSearchPrint($Z,$d,$v);$b->selectOrderPrint($ee,$d,$v);$b->selectLimitPrint($z);$b->selectLengthPrint($Zf);$b->selectActionPrint($v);echo"< / form > \n";$F=(isset($_GET["page"])?$_GET["page"]:null);if($F=="last"){$uc=$e->result(count_rows($a,$Z,$Vc,$r));$F=floor(max(0,$uc-1)/$z);}$pf=$N;if(!$pf){$pf[]="*";if($Qd)$pf[]=$Qd;}$hb=convert_fields($d,$l,$N);if($hb)$pf[]=substr($hb,2);$J=$i->select($a,$pf,$Z,$r,$ee,$z,$F,true);if(!$J)echo"< p class = 'error' > ".error()."\n";else{if($x=="mssql"&&$F)$J->seek($z*$F); $Qb=array();echo"< form action = '' method = 'post' enctype = 'multipart/form-data' > \n";$M=array();while($L=$J->fetch_assoc()){if($F&&$x=="oracle")unset($L["RNUM"]); $M[]=$L;}if((isset($_GET["page"])?$_GET["page"]:null)!="last"& & +$z& & $r& & $Vc& & $x=="sql")$uc=$e->result(" SELECT FOUND_ROWS()");if(!$M)echo"< p class = 'message' > ".'No rows.'."\n";else{$Ba=$b->backwardKeys($a,$Of);echo"< table id = 'table' cellspacing = '0' class = 'nowrap checkable' onclick = 'tableClick(event);' ondblclick = 'tableClick(event, true);' onkeydown = 'return editingKeydown(event);' > \n","< thead > < tr > ".(!$r& & $N?"":"< td > < input type = 'checkbox' id = 'all-page' onclick = 'formCheck(this, /check/);' > < a href = '".h((isset($_GET["modify"])?$_GET["modify"]:null)?remove_from_uri("modify"):$_SERVER["REQUEST_URI"]."&modify=1")."' > ".'Modify'."< / a > ");$Hd=array();$xc=array();reset($N);$Te=1;foreach((isset($M[0])?$M[0]:null)as$y=>$X){if($y!=$Qd){$X=(isset($_GET["columns"])?$_GET["columns"][key($N)]:null);$k=$l[$N?($X?$X["col"]:current($N)):$y];$E=($k?$b->fieldName($k,$Te):($X["fun"]?"*":$y));if($E!=""){$Te++;$Hd[$y]=$E;$c=idf_escape($y);$Hc=remove_from_uri('(order|desc)[^=]*|page').'&order%5B0%5D='.urlencode($y); $xb="&desc%5B0%5D=1"; echo'< th onmouseover = "columnMouse(this);" onmouseout = "columnMouse(this, \' hidden\');" > ','< a href = "'.h($Hc.((isset($ee[0])?$ee[0]:null)==$c||(isset($ee[0])?$ee[0]:null)==$y||(!$ee&&$Vc&&$r[0]==$c)?$xb:'')).'" > ';echo
apply_sql_function($X["fun"],$E)."< / a > ";echo"< span class = 'column hidden' > ","< a href = '".h($Hc.$xb)."' title = '".' descending ' . " ' class = 'text' > ↓< / a > ";if(!$X["fun"])echo'< a href = "#fieldset-search" onclick = "selectSearch(\''.h(js_escape($y)).'\'); return false;" title = "'.'Search'.'" class = "text jsonly" > =< / a > ';echo"< / span > ";}$xc[$y]=$X["fun"];next($N);}}$md=array();if((isset($_GET["modify"])?$_GET["modify"]:null)){foreach($M
as$L){foreach($L
as$y=>$X)$md[$y]=max($md[$y],min(40,strlen(utf8_decode($X))));}}echo($Ba?"< th > ".'Relations':"")."< / thead > \n";if(is_ajax()){if($z%2==1&&$F%2==1)odd(); ob_end_clean();}foreach($b->rowDescriptions($M,$n)as$D=>$L){$vg=unique_array($M[$D],$v);if(!$vg){$vg=array();foreach($M[$D]as$y=>$X){if(!preg_match('~^(COUNT\\((\\*|(DISTINCT )?`(?:[^`]|``)+`)\\)|(AVG|GROUP_CONCAT|MAX|MIN|SUM)\\(`(?:[^`]|``)+`\\))$~',$y))$vg[$y]=$X;}}$wg="";foreach($vg
as$y=>$X){if(($x=="sql"||$x=="pgsql")&&strlen($X)>64){$y="MD5(".(strpos($y,'(')?$y:idf_escape($y)).")"; $X=md5($X);}$wg.="&".($X!==null?urlencode("where[".bracket_escape($y)."]")."=".urlencode($X):"null%5B%5D=".urlencode($y)); }echo"< tr " . odd ( ) . " > ".(!$r& & $N?"":"< td > ".checkbox("check[]",substr($wg,1),in_array(substr($wg,1),(array)(isset($_POST["check"])?$_POST["check"]:null)),"","this.form['all'].checked = false; formUncheck('all-page');").($Vc||information_schema(DB)?"":" < a href = '".h(ME."edit=".urlencode($a).$wg)."' > ".'edit'."< / a > "));foreach($L
as$y=>$X){if(isset($Hd[$y])){$k=$l[$y];if($X!=""&&(!isset($Qb[$y])||$Qb[$y]!=""))$Qb[$y]=(is_mail($X)?$Hd[$y]:""); $_="";if(preg_match('~blob|bytea|raw|file~',$k["type"])&&$X!="")$_=ME.'download='.urlencode($a).'&field='.urlencode($y).$wg; if(!$_&&$X!==null){foreach((array)(isset($n[$y])?$n[$y]:null)as$m){if(count($n[$y])==1||end($m["source"])==$y){$_=""; foreach($m["source"]as$s=>$zf)$_.=where_link($s,$m["target"][$s],$M[$D][$zf]);$_=($m["db"]!=""?preg_replace('~([?&]db=)[^&]+~','\\1'.urlencode($m["db"]),ME):ME).'select='.urlencode($m["table"]).$_; if(count($m["source"])==1)break;}}}if($y=="COUNT(*)"){$_=ME."select=".urlencode($a);$s=0;foreach((array)$_GET["where"]as$W){if(!array_key_exists($W["col"],$vg))$_.=where_link($s++,$W["col"],$W["val"],$W["op"]);}foreach($vg
as$Zc=>$W)$_.=where_link($s++,$Zc,$W);}$X=select_value($X,$_,$k,$Zf);$t=h("val[$wg][".bracket_escape($y)."]");$Y=(isset($_POST["val"])?$_POST["val"][$wg][bracket_escape($y)]:null);$Lb=!is_array($L[$y])&&is_utf8($X)&&$M[$D][$y]==$L[$y]&&!$xc[$y]; $Yf=preg_match('~text|lob~',$k["type"]);if(((isset($_GET["modify"])?$_GET["modify"]:null)&&$Lb)||$Y!==null){$Ac=h($Y!==null?$Y:$L[$y]); echo"< td > ".($Yf?"< textarea name = '$t' cols = '30' rows = '".(substr_count($L[$y],"\n")+1)."' > $Ac< / textarea > ":"< input name = '$t' value = '$Ac' size = '$md[$y]' > ");}else{$rd=strpos($X,"< i > ...< / i > ");echo"< td id = '$t' onclick = \"selectClick(this, event , " . ( $ rd ? 2: ( $ Yf ? 1:0 ) ) . ( $ Lb ? " " : " , ' " . h ( ' Use edit link to modify this value . ' ) . " ' " ) . " ) ; \ " > $X";}}}if($Ba)echo"< td > ";$b->backwardKeysPrint($Ba,$M[$D]);echo"< / tr > \n";}if(is_ajax())exit;echo"< / table > \n";}if(($M||$F)&&!is_ajax()){$ac=true; if((isset($_GET["page"])?$_GET["page"]:null)!="last"){if(!+$z)$uc=count($M);elseif($x!="sql"||!$Vc){$uc=($Vc?false:found_rows($R,$Z));if($uc< max ( 1e4 , 2 * ( $ F + 1 ) * $ z ) ) $ uc = reset(slow_query(count_rows($a,$Z,$Vc,$r)));else$ac=false;}}if(+$z&&($uc===false||$uc > $z||$F)){echo"< p class = 'pages' > ";$vd=($uc===false?$F+(count($M)>=$z?2:1):floor(($uc-1)/$z));if($x!="simpledb"){echo'< a href = "'.h(remove_from_uri(" page " ) ) . " \ " onclick = \"pageClick(this.href, + prompt ( ' " . ' Page ' . " ' , ' " . ( $ F + 1 ) . " ' ) , event ) ; return false ; \ " > ".'Page'."< / a > :",pagination(0,$F).($F>5?" ...":"");for($s=max(1,$F-4);$s< min ( $ vd , $ F + 5 ) ; $ s + + ) echo
pagination($s,$F);if($vd>0){echo($F+5< $vd?" ...":""),($ac& & $uc!==false?pagination($vd,$F):" < a href = '".h(remove_from_uri("page")."&page=last")."' title = '~$vd' > ".'last'."< / a > ");}echo(($uc===false?count($M)+1:$uc-$F*$z)>$z?' < a href = "'.h(remove_from_uri(" page " ) . " & page = ".($F+1)).'" onclick = "return !selectLoadMore(this, '.(+$z).', \''.'Loading'.'...\');" class = "loadmore" > '.'Load more data'.'< / a > ':'');}else{echo'Page'.":",pagination(0,$F).($F>1?" ...":""),($F?pagination($F,$F):""),($vd>$F?pagination($F+1,$F).($vd>$F+1?" ...":""):"");}}echo"< p class = 'count' > \n",($uc!==false?"(".($ac?"":"~ ").lang(array('%d row','%d rows'),$uc).") ":"");$Bb=($ac?"":"~ ").$uc;echo
checkbox("all",1,0,'whole result',"var checked = formChecked(this, /check/); selectCount('selected', this.checked ? '$Bb' : checked); selectCount('selected2', this.checked || !checked ? '$Bb' : checked);")."\n";if($b->selectCommandPrint()){echo'< fieldset ' , ( ! empty ( $ _GET [ " modify " ] ) ? ' ' : ' class = "jsonly" ' ) , ' > < legend > Modify< / legend > < div >
< input type = "submit" value = "Save" ' , ( ! empty ( $ _GET [ " modify " ] ) ? ' ' : ' title = "'.'Ctrl+click on a value to modify it.'.'" ' ) , ' >
< / div > < / fieldset >
< fieldset > < legend > Selected < span id = "selected" > < / span > < / legend > < div >
< input type = "submit" name = "edit" value = "Edit" >
< input type = "submit" name = "clone" value = "Clone" >
< input type = "submit" name = "delete" value = "Delete" ' , confirm ( ) , ' >
< / div > < / fieldset >
';}$sc=$b->dumpFormat();foreach((array)(isset($_GET["columns"])?$_GET["columns"]:null)as$c){if($c["fun"]){unset($sc['sql']);break;}}if($sc){print_fieldset("export",'Export'." < span id = 'selected2' > < / span > ");$ne=$b->dumpOutput();echo($ne?html_select("output",$ne,$ma["output"])." ":""),html_select("format",$sc,$ma["format"])," < input type = 'submit' name = 'export' value = '".' Export ' . " ' > \n","< / div > < / fieldset > \n";}echo(!$r& & $N?"":"< script type = 'text/javascript' > tableCheck ( ) ; < / script > \n");}if($b->selectImportPrint()){print_fieldset("import",'Import',!$M);echo"< input type = 'file' name = 'csv_file' > ",html_select("separator",array("csv"=>"CSV,","csv;"=>"CSV;","tsv"=>"TSV"),$ma["format"],1);echo" < input type = 'submit' name = 'import' value = '".' Import ' . " ' > ","< / div > < / fieldset > \n";}$b->selectEmailPrint(array_filter($Qb,'strlen'),$d);echo"< p > < input type = 'hidden' name = 'token' value = '$T' > < / p > \n","< / form > \n";}}if(is_ajax()){ob_end_clean();exit;}}elseif(isset($_GET["variables"])){$Cf=isset($_GET["status"]);page_header($Cf?'Status':'Variables');$Hg=($Cf?show_status():show_variables());if(!$Hg)echo"< p class = 'message' > ".'No rows.'."\n";else{echo"< table cellspacing = '0' > \n";foreach($Hg
as$y=>$X){echo"< tr > ","< th > < code class = 'jush-".$x.($Cf?"status":"set")."' > ".h($y)."< / code > ","< td > ".nbsp($X);}echo"< / table > \n";}}elseif(isset($_GET["script"])){header("Content-Type: text/javascript; charset=utf-8");if($_GET["script"]=="db"){$Lf=array("Data_length"=>0,"Index_length"=>0,"Data_free"=>0);foreach(table_status()as$E=>$R){$t=js_escape($E);json_row("Comment-$t",nbsp($R["Comment"]));if(!is_view($R)){foreach(array("Engine","Collation")as$y)json_row("$y-$t",nbsp($R[$y]));foreach($Lf+array("Auto_increment"=>0,"Rows"=>0)as$y=>$X){if($R[$y]!=""){$X=format_number($R[$y]);json_row("$y-$t",($y=="Rows"& & $X& & $R["Engine"]==($Af=="pgsql"?"table":"InnoDB")?"~ $X":$X));if(isset($Lf[$y]))$Lf[$y]+=($R["Engine"]!="InnoDB"||$y!="Data_free"?$R[$y]:0);}elseif(array_key_exists($y,$R))json_row("$y-$t");}}}foreach($Lf
as$y=>$X)json_row("sum-$y",format_number($X));json_row("");}elseif($_GET["script"]=="kill")$e->query("KILL ".(+$_POST["kill"]));else{foreach(count_tables($b->databases())as$h=>$X){json_row("tables-$h",$X);json_row("size-$h",db_size($h));}json_row("");}exit;}else{$Tf=array_merge((array)(isset($_POST["tables"])?$_POST["tables"]:null),(array)(isset($_POST["views"])?$_POST["views"]:null));if($Tf&&!$j&&!$_POST["search"]){$J=true; $C="";if($x=="sql"& & count($_POST["tables"])>1& & ($_POST["drop"]||$_POST["truncate"]||$_POST["copy"]))queries("SET foreign_key_checks = 0");if($_POST["truncate"]){if($_POST["tables"])$J=truncate_tables($_POST["tables"]);$C='Tables have been truncated.';}elseif($_POST["move"]){$J=move_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$C='Tables have been moved.';}elseif($_POST["copy"]){$J=copy_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$C='Tables have been copied.';}elseif($_POST["drop"]){if($_POST["views"])$J=drop_views($_POST["views"]);if($J&&$_POST["tables"])$J=drop_tables($_POST["tables"]); $C='Tables have been dropped.';}elseif($x!="sql"){$J=($x=="sqlite"?queries("VACUUM"):apply_queries("VACUUM".($_POST["optimize"]?"":" ANALYZE"),$_POST["tables"]));$C='Tables have been optimized.';}elseif(!$_POST["tables"])$C='No tables.';elseif($J=queries(($_POST["optimize"]?"OPTIMIZE":($_POST["check"]?"CHECK":($_POST["repair"]?"REPAIR":"ANALYZE")))." TABLE ".implode(", ",array_map('idf_escape',$_POST["tables"])))){while($L=$J->fetch_assoc())$C.="< b > ".h($L["Table"])."< / b > : ".h($L["Msg_text"])."< br > ";}queries_redirect(substr(ME,0,-1),$C,$J);}page_header((empty($_GET["ns"])?'Database'.": ".h(DB):'Schema'.": ".h(empty($_GET["ns"])?null:$_GET["ns"])),$j,true);if($b->homepage()){if((isset($_GET["ns"])?$_GET["ns"]:null)!==""){echo"< h3 id = 'tables-views' > ".'Tables and views'."< / h3 > \n";$Sf=tables_list();if(!$Sf)echo"< p class = 'message' > ".'No tables.'."\n";else{echo"< form action = '' method = 'post' > \n";if(support("table")){echo"< fieldset > < legend > ".'Search data in tables'." < span id = 'selected2' > < / span > < / legend > < div > ","< input type = 'search' name = 'query' value = '".h($_POST["query"])."' > < input type = 'submit' name = 'search' value = '".' Search ' . " ' > \n","< / div > < / fieldset > \n";if($_POST["search"]&&$_POST["query"]!="")search_tables(); }echo"< table cellspacing = '0' class = 'nowrap checkable' onclick = 'tableClick(event);' ondblclick = 'tableClick(event, true);' > \n",'< thead > < tr class = "wrap" > < td > < input id = "check-all" type = "checkbox" onclick = "formCheck(this, /^(tables|views)\[/);" > ','< th > '.'Table','< td > '.'Engine','< td > '.'Collation','< td > '.'Data Length','< td > '.'Index Length','< td > '.'Data Free','< td > '.'Auto Increment','< td > '.'Rows',(support("comment")?'< td > '.'Comment':''),"< / thead > \n";$S=0;foreach($Sf
as$E=>$U){$Jg=($U!==null&&!preg_match('~table~i',$U)); echo'< tr ' . odd ( ) . ' > < td > '.checkbox(($Jg?"views[]":"tables[]"),$E,in_array($E,$Tf,true),"","formUncheck('check-all');"),'< th > '.(support("table")||support("indexes")?'< a href = "'.h(ME).'table='.urlencode($E).'" title = "'.'Show structure'.'" > '.h($E).'< / a > ':h($E));if($Jg){echo'< td colspan = "6" > < a href = "'.h(ME)." view = ".urlencode($E).'" title = "'.'Alter view'.'" > '.'View'.'< / a > ','< td align = "right" > < a href = "'.h(ME)." select = ".urlencode($E).'" title = "'.'Select data'.'" > ?< / a > ';}else{foreach(array("Engine"=>array(),"Collation"=>array(),"Data_length"=>array("create",'Alter table'),"Index_length"=>array("indexes",'Alter indexes'),"Data_free"=>array("edit",'New item'),"Auto_increment"=>array("auto_increment=1& create",'Alter table'),"Rows"=>array("select",'Select data'),)as$y=>$_){$t=" id='$y-".h($E)."'";echo($_?"< td align = 'right' > ".(support("table")||$y=="Rows"||(support("indexes")& & $y!="Data_length")?"< a href = '".h(ME."$_[0]=").urlencode($E)."' $ t title = '$_[1]' > ?< / a > ":"< span $ t > ?< / span > "):"< td id = '$y-".h($E)."' > ");}$S++;}echo(support("comment")?"< td id = 'Comment-".h($E)."' > ":"");}echo"< tr > < td > < th > ".sprintf('%d in total',count($Sf)),"< td > ".nbsp($x=="sql"?$e->result("SELECT @@storage_engine"):""),"< td > ".nbsp(db_collation(DB,collations()));foreach(array("Data_length","Index_length","Data_free")as$y)echo"< td align = 'right' id = 'sum-$y' > ";echo"< / table > \n";if(!information_schema(DB)){$Fg="< input type = 'submit' value = '".' Vacuum ' . " ' " . on_help ( " ' VACUUM ' " ) . " > ";$be="< input type = 'submit' name = 'optimize' value = '".' Optimize ' . " ' " . on_help ( $ x = ="sql"?"'OPTIMIZE TABLE ' " : " ' VACUUM OPTIMIZE ' " ) . " > ";echo"< fieldset > < legend > ".'Selected'." < span id = 'selected' > < / span > < / legend > < div > ".($x=="sqlite"?$Fg:($x=="pgsql"?$Fg.$be:($x=="sql"?"< input type = 'submit' value = '".' Analyze ' . " ' " . on_help ( " ' ANALYZE TABLE ' " ) . " > ".$be."< input type = 'submit' name = 'check' value = '".' Check ' . " ' " . on_help ( " ' CHECK TABLE ' " ) . " > "."< input type = 'submit' name = 'repair' value = '".' Repair ' . " ' " . on_help ( " ' REPAIR TABLE ' " ) . " > ":"")))."< input type = 'submit' name = 'truncate' value = '".' Truncate ' . " ' " . confirm ( ) . on_help ( $ x = ="sqlite"?"'DELETE'":"'TRUNCATE".($x=="pgsql"?"'":" TABLE ' " ) ) . " > "."< input type = 'submit' name = 'drop' value = '".' Drop ' . " ' " . confirm ( ) . on_help ( " ' DROP TABLE ' " ) . " > \n";$g=(support("scheme")?$b->schemas():$b->databases());if(count($g)!=1&&$x!="sqlite"){$h=(isset($_POST["target"])?$_POST["target"]:(support("scheme")?$_GET["ns"]:DB)); echo"< p > ".'Move to other database'.": ",($g?html_select("target",$g,$h):'< input name = "target" value = "'.h($h).'" autocapitalize = "off" > ')," < input type = 'submit' name = 'move' value = '".' Move ' . " ' > ",(support("copy")?" < input type = 'submit' name = 'copy' value = '".' Copy ' . " ' > ":""),"\n";}echo"< input type = 'hidden' name = 'all' value = '' onclick = \"selectCount('selected', formChecked ( this , / ^ ( tables | views ) \ [ / ) ) ; " . ( support ( " table " ) ? " selectCount ( ' selected2 ' , formChecked ( this , / ^ tables \ [ / ) | | $ S ) ; " : " " ) . " \ " > \n";echo"< input type = 'hidden' name = 'token' value = '$T' > \n","< / div > < / fieldset > \n";}echo"< / form > \n","< script type = 'text/javascript' > tableCheck ( ) ; < / script > \n";}echo'< p class = "links" > < a href = "'.h(ME).'create=" > '.'Create table'."< / a > \n",(support("view")?'< a href = "'.h(ME).'view=" > '.'Create view'."< / a > \n":"");if(support("routine")){echo"< h3 id = 'routines' > ".'Routines'."< / h3 > \n";$kf=routines();if($kf){echo"< table cellspacing = '0' > \n",'< thead > < tr > < th > '.'Name'.'< td > '.'Type'.'< td > '.'Return type'."< td > < / thead > \n";odd('');foreach($kf
as$L){echo'< tr ' . odd ( ) . ' > ','< th > < a href = "'.h(ME).($L[" ROUTINE_TYPE " ] ! = " PROCEDURE " ? ' callf = ':' call = ').urlencode($L["ROUTINE_NAME"]).' " > '.h($L["ROUTINE_NAME"]).'< / a > ','< td > '.h($L["ROUTINE_TYPE"]),'< td > '.h($L["DTD_IDENTIFIER"]),'< td > < a href = "'.h(ME).($L[" ROUTINE_TYPE " ] ! = " PROCEDURE " ? ' function = ':' procedure = ').urlencode($L["ROUTINE_NAME"]).' " > '.'Alter'."< / a > ";}echo"< / table > \n";}echo'< p class = "links" > '.(support("procedure")?'< a href = "'.h(ME).'procedure=" > '.'Create procedure'.'< / a > ':'').'< a href = "'.h(ME).'function=" > '.'Create function'."< / a > \n";}if(support("event")){echo"< h3 id = 'events' > ".'Events'."< / h3 > \n";$M=get_rows("SHOW EVENTS");if($M){echo"< table cellspacing = '0' > \n","< thead > < tr > < th > ".'Name'."< td > ".'Schedule'."< td > ".'Start'."< td > ".'End'."< td > < / thead > \n";foreach($M
as$L){echo"< tr > ","< th > ".h($L["Name"]),"< td > ".($L["Execute at"]?'At given time'."< td > ".$L["Execute at"]:'Every'." ".$L["Interval value"]." ".$L["Interval field"]."< td > $L[Starts]"),"< td > $L[Ends]",'< td > < a href = "'.h(ME).'event='.urlencode($L[" Name " ] ) . ' " > '.'Alter'.'< / a > ';}echo"< / table > \n";$Yb=$e->result("SELECT @@event_scheduler");if($Yb& & $Yb!="ON")echo"< p class = 'error' > < code class = 'jush-sqlset' > event_scheduler< / code > : ".h($Yb)."\n";}echo'< p class = "links" > < a href = "'.h(ME).'event=" > '.'Create event'."< / a > \n";}if($Sf)echo"< script type = 'text/javascript' > ajaxSetHtml ( '".js_escape(ME)."script=db' ) ; < / script > \n";}}}page_footer();