;close(AD);close(AE);}sub
lz{my($en)=$_[0];my($ed,$am,$eo,@ep,$eq,%eb);my($dy,$eg,$er);
my($es);binmode(STDIN);if($en&&($ENV{$z[218]}||length$ENV{$z[219]})
>$en){die($z[220]."$en bytes\n");}($es)=$ENV{$z[221]}=~/boundary=(?:"?)(\S+?)(?:"?)$/;
if($ENV{$z[222]}eq$z[223]&&$ENV{$z[221]}=~m|^multipart/form-data|)
{my$eq;read(STDIN,$eq,$ENV{$z[218]});foreach(split(/\n/,$eq))
{if(/^--$es--/){$eq.="--$es";last;}else{$eq.=$_;}}@ep=split(/--$es/,$eq);
foreach$eo(@ep){unless($eo=~/^(\r\n|\n)Content-Disposition/)
{next;}($ed,$am)=$eo=~/^(?:\r\n|\n)(.*?)(?:\r\n|\n){2}(.*?)(?:\r\n|\n)$/s;
($eg)=$ed=~/filename="([^"]+)"/;($ed)=$ed=~/name="([^"]+)"/;
($dy)=$eg=~/([^\/\\]+)$/;($er)=$eg=~/\.(\w+)$/;if(!$eg){$ed
=~s/\r\n/\n/g;$am=~s/\r\n/\n/g;$ed=~s/\x00//g;$am=~s/\x00//g;
}$eb{$ed}=$am;$eb{$ed.$z[224]}=$eg;$eb{$ed.$z[225]}=$dy;$eb{$ed.$z[226]}
=$er;}}else{if($ENV{$z[222]}eq$z[223]){read(STDIN,$eq,$ENV{$z[218]});
}elsif($ENV{$z[222]}eq$z[227]){$eq=$ENV{$z[219]};}@ep=split(/&/,
$eq);foreach$eo(@ep){($ed,$am)=split(/=/,$eo);$ed=~tr/+/ /;
$am=~tr/+/ /;$ed=~s/%([A-F0-9]{2})/pack($z[145],hex($1))/egi;
$am=~s/%([A-F0-9]{2})/pack($z[145],hex($1))/egi;$ed=~s/\r\n/\n/g;
$am=~s/\r\n/\n/g;$ed=~s/\x00//g;$am=~s/\x00//g;if($ed=~/_multi$/)
{push@{$eb{$ed}},$am;}else{$eb{$ed}=$am;}}}foreach(keys%eb)
{if(/^(.*)(\.x|\.y)$/){$eb{$1}=$z[228];}}return%eb;}sub mz{
my($et)=$_[0];my($eu,$ev)=split(/@/,$et);if($et eq''){return
0;}if($et=~/[^A-Za-z0-9-_\.\@]/){return 0;}if($eu!~/^([\w\-]+[\w\-\.])*[\w\-]+$/)
{return 0;}if($ev!~/^([\w\-]+[\w\-\.])*[\w\-]+\.[A-Za-z]{2,8}$/)
{return 0;}return 1;}sub na{my($ew,$ex)=@_;unless($ew eq$z[229]
||$ew eq$z[230]||$ew eq$z[231]||$ew eq$z[232]){return undef;
}$ex=~s/[^\d]//g;my@ey=split//,$ex;unless(($ew eq$z[229]&&$ey[0]
==4)||($ew eq$z[230]&&$ey[0]==5)||($ew eq$z[231]&&$ey[0]==3)
||($ew eq$z[232]&&$ey[0]==6)){return undef;}unless(($ew eq$z[229]
&&($#ey==12||$#ey==15))||($ew eq$z[230]&&$#ey==15)||($ew eq
$z[231]&&$#ey==14)||($ew eq$z[232]&&$#ey==15)){return undef;
}my$ez;for(my$ec=($#ey+1)% 2;$ec<=$#ey;$ec+=2){if($ey[$ec]<
5){$ey[$ec]*=2;}else{$ey[$ec]=($ey[$ec]* 2)-9}}foreach(@ey)
{$ez+=$_;}unless($ez% 10==0){return undef;}return 1;}sub ac
{local(*AB);my($dy,%eb,$fa,$fb);%eb=%{$_[1]}if$_[1];my%fc;%fc
=($z[233]=>0,$z[234]=>0,$z[235]=>0,$z[236]=>0);foreach(split(/ /,$_[2]))
{if(undef$fc{$_}){die($z[237]."'$_'\n");}$fc{$_}=1;}if(!$_[0])
{die$z[238]."\n";}if(ref($_[1])ne$z[141]){die$z[239]."\n";}
if((!$fc{$z[234]}||!$av{$z[240]}{$z[234]}{$_[0]})){if(-e"$_[0]")
{$dy=$_[0];}else{foreach(grep/^templatedir/,sort keys%av){if
(-e"$av{$_}/$_[0]"){$dy="$av{$_}/$_[0]";last;}}if(!$dy){die
$z[241]."'$_[0]'".$z[242]."\n";}}}if($fc{$z[234]}&&$av{$z[240]}{$z[234]}{$_[0]})
{$fa=$av{$z[240]}{$z[234]}{$_[0]};}else{open(AB,"<$dy")||die
$z[243]."$dy! $!\n";binmode(AB)if($dy=~/gif$/i||$dy=~/jpg$/i);
read(AB,$fa,-s AB);close(AB);}if($fc{$z[235]}){return$fa;}if
($fc{$z[236]}){$av{$z[244]}||=$ENV{$z[245]};$av{$z[244]}||die("Template: webroot isn't defined!
\n");
while($fa=~//g){my$fd=$1;if(($fd
=~m!^/!)||(!$_[3])){$fd="$av{'webroot'}/$fd";}else{my@fe=split
$z[246],$dy;my$fe=join$z[246],@fe[0..$#fe-1];$fd="$fe/$fd";
}my$ff=&ac($fd,$_[1],$_[2],$z[247]);$fa=~s//$ff/;
}}if(!$fc{$z[234]}||!$av{$z[240]}{$z[234]}{$_[0]}){foreach$fb
($fa=~m//g){$av{$z[240]}{$z[248]}{$1}=$2
if($fa=~m/(?:\r\n|\n)?(.*?)/is);
}$fa=~s/(?:\r\n|\n)?(.*?)//gis;
if($fc{$z[234]}){$av{$z[240]}{$z[234]}{$_[0]}=$fa;}}$fa=~s//$1/gi;
$fa=~s[\$(\w+?)(_ue|_he|_nbsp|_je)?\$][my$am=defined$ae{$1}
?$ae{$1}:$eb{$1};if($2 eq$z[249]){$am=&fg($am);}if($2 eq$z[250])
{$am=&fh($am);}if($2 eq$z[251]){$am=&fh($am);$am=~s/ / /g;
}if($2 eq$z[252]){$am=&fi($am);}$am;]ge;return$fa;}sub af{if
(!$_[0]){die$z[253]."\n";}if(!defined$av{$z[240]}{$z[248]}{$_[0]})
{die$z[254]."'$_[0]'".$z[255]."\n";}if(ref($_[1])ne"HASH"){
die$z[256]."\n";}local(*AB);my(%eb);%eb=%{$_[1]}if$_[1];my($fa)
=$av{$z[240]}{$z[248]}{$_[0]};$fa=~s/(?:\r\n|\n)?(.*?)//gs;
$fa=~s//$1/gi;$fa=~s[\$(\w+?)(_ue|_he|_nbsp|_je)?\$][
my$am=defined$ae{$1}?$ae{$1}:$eb{$1};if($2 eq$z[249]){$am=&fg($am);
}if($2 eq$z[250]){$am=&fh($am);}if($2 eq$z[251]){$am=&fh($am);
$am=~s/ / /g;}if($2 eq$z[252]){$am=&fi($am);}$am;]ge;return
$fa;}sub nb{my($ag)=$_[0];my(@fj)=(($z[231]..$z[257],$z[258]..$z[259],0..9),$z[260],$z[246]);
my($ao)=unpack($z[261],$ag);$ao=~s/(\d{6}|\d+$)/$fj[ord(pack$z[261],"00$1")]/ge;
while(length($ao)%4){$ao.=$z[207];}return$ao;}sub nc{my($ag)
=$_[0];my(%fj);my($ao);my$cb;for(($z[231]..$z[257],$z[258]..$z[259],0..9),$z[260],$z[246]){
$fj{$_}=$cb++}$ag=$_[0]||return$z[262];$ag=~s/[^A-Za-z0-9+\/]//g;
$ag=~s/[A-Za-z0-9+\/]/unpack'B*',chr($fj{$&})/ge;$ag=~s/\d\d(\d{6})/$1/g;
$ag=~s/\d{8}/$ao.=pack($z[261],$&)/ge;return$ao;}sub fg{my($fk)
=$_[0];$fk=~s/([^A-Za-z0-9\*\.\@\_\-])/uc sprintf($z[263],ord($1))/egx;
$fk=~tr/ /+/;return$fk;}sub gc{my($fk)=$_[0];$fk=~tr/+/ /;$fk
=~s/%([A-F0-9]{2})/pack($z[145],hex($1))/egi;return$fk;}sub
lg{my($fl);my($ed,$am,$fm,$eg,$fn,$fo)=@_;my($fp);if($ed eq
''){die($z[264]."\n");}if($fm&&$fm ne int($fm)){die($z[265]."\n");
}$ax{$ed}=$am;if($fm){my($fq,$fr,$fs,$ft,$fu,$fv,$fw,$fx)=gmtime($fm);
($fq,$fr,$fs,$ft)=map{$_<10?$z[266].$_:$_}($fq,$fr,$fs,$ft);
$fp=join('',(qw(Sun Mon Tue Wed Thu Fri Sat Sun))[$fw],", $ft-",(qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec))[$fu],$z[154],1900+$fv,
" $fy$fz$fq GMT");}if($ed){$ed=&fg($ed);}if($am){$am=&fg($am);
}if($fm){$fl.=$z[267]."$fp; ";}if($eg){$fl.=$z[268]."$eg; ";
}if($fn){$fl.=$z[269]."$fn; ";}if($fo){$fl.=$z[270];}print$z
[271]."$ed=$am; $fl\n";}sub ma{my($ga,$ed,$am,%gb);foreach$ga
(split(/; /,$ENV{$z[272]})){($ed,$am)=split(/=/,$ga);foreach($ed,$am)
{$_=&gc($_);}$gb{$ed}=$am;}return%gb;}sub nd{my$gd=$_[0]||die("DateString: The first parameter must be a date or time format string\n");
$gd=~/\%/||die("DateString: The first parameter must contain a date format marker '%'\n");
my$ge=$_[1];my($fv,$fu,$ft,$gf,$fr,$fq,$fw,$fx);my@gg=(0,0,1,0,0,0);
my$gh=$_[-1]=~/^GMT$/i;pop(@_)if$gh;if(scalar(@_)>=3){die("DateString: Too many arguments\n")
if scalar(@_)>7;my$gi;foreach$gi(1..scalar(@_)-1){$gg[$gi-1]
=$_[$gi];}($fv,$fu,$ft,$gf,$fr,$fq)=@gg;if($ft>28){($fv,$fu,
$ft)=&gj($fv,$fu,$ft);}$ge=$gh?&gk($fq,$fr,$gf,$ft,$fu,$fv)
:&gl($fq,$fr,$gf,$ft,$fu,$fv);}else{}($fq,$fr,$gf,$ft,$fu,$fv,
$fw,$fx)=($gh?gmtime($ge):localtime($ge));my$gm;if(exists($av{DateString}{rhNames}))
{$gm=$av{DateString}{rhNames};}else{$gm={$z[273]=>exists($aw{$z[274]}{ampm})
?[split(/,/,$aw{$z[274]}{ampm})]:[qw(AM PM)],$z[275]=>exists($aw{$z[274]}{ordinals})
?[split(/,/,$aw{$z[274]}{ordinals})]:[$z[276],$z[277],$z[278],
$z[279],$z[280],$z[281],$z[282],$z[283],$z[284],$z[285],$z[286],
$z[287],$z[288],$z[289],$z[290],$z[291],$z[292],$z[293],$z[294],
$z[295],$z[296],$z[297],$z[298],$z[299],$z[300],$z[301],$z[302],
$z[303],$z[304],$z[305],$z[306],$z[307]],$z[308]=>exists($aw{$z[274]}{week_full})
?[split(/,/,$aw{$z[274]}{week_full})]:[qw(Sunday Monday Tuesday Wednesday Thursday Friday Saturday)],
$z[309]=>exists($aw{$z[274]}{week_abbr})?[split(/,/,$aw{$z[274]}{week_abbr})]
:[qw(Sun Mon Tue Wed Thu Fri Sat)],$z[310]=>exists($aw{$z[274]}{month_full})
?[split(/,/,$aw{$z[274]}{month_full})]:[qw(January February March April May June July August September October November December)],
$z[311]=>exists($aw{$z[274]}{month_abbr})?[split(/,/,$aw{$z[274]}{month_abbr})]
:[qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)],};$av{DateString}{rhNames}
=$gm;}my($gn,$go)=(0,1);my$gp={$z[312]=>$z[312],$z[258]=>$gm->{week_abbr}[$fw],
$z[231]=>$gm->{week_full}[$fw],$z[313]=>$gm->{month_abbr}[$fu],
$z[314]=>$gm->{month_full}[$fu],$z[315]=>$z[316],$z[145]=>$z[317],
$z[318]=>sprintf($z[319],$ft),$z[232]=>$z[320],$z[321]=>sprintf($z[322],
$ft),$z[323]=>$gm->{month_abbr}[$fu],$z[324]=>sprintf($z[319],
$gf),$z[325]=>sprintf($z[319],$gf% 12||12),$z[326]=>sprintf($z[327],$fx
+1),$z[328]=>sprintf($z[322],$gf),$z[329]=>sprintf($z[322],
$gf% 12||12),$z[330]=>sprintf($z[319],$fu+1),$z[230]=>sprintf($z[319],
$fr),$z[153]=>"\n",$z[331]=>$gm->{ordinals}[$ft],$z[332]=>$gm->{ampm}[$gf
>=12?1:0],$z[333]=>lc($gm->{ampm}[$gf>=12?1:0]),$z[334]=>int($fu
/3)+1,$z[335]=>$z[336],$z[337]=>$z[338],$z[339]=>$ge,$z[340]
=>sprintf($z[319],$fq),$z[341]=>"\t",$z[342]=>$z[343],$z[344]
=>&gq($gn,$fw,$fx),$z[345]=>$fw,$z[346]=>&gq($go,$fw,$fx),$z[347]
=>$z[320],$z[348]=>$z[343],$z[349]=>sprintf($z[319],$fv% 100),
$z[350]=>sprintf($z[351],$fv+1900),$z[257]=>'',$z[259]=>'',
};$gd=&gr($gp,$gd);return$gd;}sub gr{my($gp,$gd)=@_;$gd=~s/%(O?[%a-zA-Z])/&gs($gp,
$1)/sgeox;return$gd;}sub gs{my$gt=$_[1];return(exists($_[0]->{$gt}))
?($_[0]->{$gt}=~/\%/&&$gt ne$z[312]?&gr($_[0],$_[0]->{$gt})
:$_[0]->{$gt}):"\%$gt";}sub gq{my($gu,$fw,$fx)=@_;$fw=($fw+
7-$gu)% 7;return int(($fx-$fw+13)/7-1);}sub gj{my($fv,$fu,$gv)
=@_;return@_ if$gv<=28;my$gw;if($fu==1){if(($fv% 4==0)&&(!($fv
% 100==0)||($fv% 400==0))){$gw=29;}else{$gw=28;}}elsif($fu==
3||$fu==5||$fu==8||$fu==10){$gw=30;}else{$gw=31;}return($fv,
$fu,$gv<$gw?$gv:$gw);}sub ne{my$gx=$_[0];my$gy=$_[1]||die("DateString: The second argument must time()\n");
my$AF=$_[2];if($gy ne int($gy)){die($z[352]."\n");}my($fq,$fr,$fs,$gv,$fu,$fv,$fw);
if($AF){($fq,$fr,$fs,$gv,$fu,$fv,$fw)=gmtime($gy);}else{($fq,$fr,$fs,$gv,$fu,$fv,$fw)
=localtime($gy);}if($gy=~tr/://){($fv,$fu,$gv,$fs,$fr,$fq,$fw)
=split(/:/,$gy);$fv-=1900;$fu-=1;foreach($fv,$fu,$gv,$fs,$fr,$fq,$fw)
{$_||=0;}}my(%fw,%gz,%fu,%ha);my@fu=($z[353],$z[354],$z[355],$z[356],$z[357],$z[358],$z[359],$z[360],$z[361],$z[362],$z[363],$z[364]);
my@ha=($z[365],$z[366],$z[367],$z[368],$z[357],$z[369],$z[370],$z[371],$z[372],$z[373],$z[374],$z[375]);
my@fw=($z[376],$z[377],$z[378],$z[379],$z[380],$z[381],$z[382]);
my@gz=($z[383],$z[384],$z[385],$z[386],$z[387],$z[388],$z[389]);
foreach(@fw){$fw{lc$_}++;}foreach(@gz){$gz{lc$_}++;}foreach
(@fu){$fu{lc$_}++;}foreach(@ha){$ha{lc$_}++;}$gx=~s/\b[A-Za-z]{3,9}\b/
if($fw{lc$&}){if(uc($&)eq$&){uc$fw[$fw];}elsif(lc($&)eq$&){
lc$fw[$fw];}else{ucfirst lc$fw[$fw];}}elsif($gz{lc$&}){if(uc($&)
eq$&){uc$gz[$fw];}elsif(lc($&)eq$&){lc$gz[$fw];}else{ucfirst
lc$gz[$fw];}}elsif($fu{lc$&}){if(uc($&)eq$&){uc$fu[$fu];}elsif
(lc($&)eq$&){lc$fu[$fu];}else{ucfirst lc$fu[$fu];}}elsif($ha{lc
$&}){if(uc($&)eq$&){uc$ha[$fu];}elsif(lc($&)eq$&){lc$ha[$fu];
}else{ucfirst lc$ha[$fu];}}else{$&;}/ge;$gx=~s/\d{1,4}\b/if
(length$&==4){$fv+1900;}elsif(length$&<=2){if(substr($&,0,1)
eq 0){sprintf($z[319],$gv);}else{$gv;}}else{$&;}/ge;$gx=~s/(\d{1,2})(st|nd|rd|th)/
if($gv==1||$gv==21||$gv==31){$gv.$z[390];}elsif($gv==2||$gv
==22){$gv.$z[391];}elsif($gv==3||$gv==23){$gv.$z[392];}else
{$gv.$z[393];}/gei;$gx=~s/YYYY/sprintf($z[351],$fv+1900)/gei;
$gx=~s/YY/sprintf($z[319],$fv%100)/gei;$gx=~s/MO\b/sprintf($z[319],$fu+1)/gei;
$gx=~s/DD/sprintf($z[319],$gv)/gei;$gx=~s/SS/sprintf($z[319],$fq)/gei;
$gx=~s/MM/sprintf($z[319],$fr)/gei;$gx=~s/HH/sprintf($z[319],$fs)/gei;
return$gx;}sub cf{my($hb,$ce,$arrayref_nopack)=@_;my(@f_nopack,$cd,$hc,
$hd,$he,$cb);my($bz,$ca);$cb=0;foreach(split(/ /,$ce)){if(s/\#//g)
{$bz=1;}elsif(s/n//g){$bz=1;}else{$bz=0;}if(s/\-//g){$ca=$z[394];
}elsif(s/\+//g){$ca='';}else{$ca='';}s/[^0-9]//gs;push(@f_nopack,$_);
if($bz){$cd+=15;$hd.=$z[395];$he.=qq|$ca sprintf('%015s',int(substr(\$str[$cb]*100,0,15))),|;
}else{$cd+=50;$hd.=$z[396];$he.="$ca substr(\$str[$cb],0,50),";
}$cb++;}$hc.=qq|return map { substr(\$_,$cd) } sort map {\n|;
$hc.=qq| my \@str = (split(/\\$hb/,lc \$_))[\@f_nopack];\n|;
$hc.=qq| sprintf("$hd\%s" ,$he\$_);\n|;$hc.=qq| } \@\$arrayref_nopack;\n|;
eval$hc;}sub fi{my$hf=shift;$hf=~s/\\/\\\\/g;$hf=~s/'/\\'/g;
$hf=~s/\n/\\n/g;$hf=~s/\r/\\r/g;$hf=~s/\000//g;$hf=~s/-->/--'+'>/g;
$hf=~s!!!g;return$hf;}sub au{my$hg=shift;
$hg=~s/&/&/g;$hg=~s/"/"/g;$hg=~s/</g;$hg=~s/>/>/g;
return$hg;}sub fh{my$hg=shift;$hg=~s/&([^\w#]|$)/&$1/g;
$hg=~s/"/"/g;$hg=~s/</g;$hg=~s/>/>/g;return$hg;
}sub nf{my$hg=shift;$hg=~s/</g;$hg=~s/>/>/g;return$hg;
}sub ng{my$hh=shift;my%hi=map{$_,1}@_;return join($z[214],map
{$hi{$_}?():&fg($_).$z[207].&fg($hh->{$_})}keys%{$hh});}sub
nh{my$hh=shift;my%hi=map{$_,1}@_;return join("\n",map{$hi{$_}
?():$z[397].&au($_).$z[398].&au($hh->{$_}).$z[399]}keys%{$hh});
}sub ni{$_=$_[0];/\.gif$/i&&return(&hj($_[0]));(/\.jpeg$/i||
/\.jpg$/i)&&return(&hk($_[0]));/\.png$/i&&return(&hl($_[0]));
undef;}sub hl{my($hm)=@_;my($hn);open(PNG,$hm)||return(undef,
undef,"PNG - Couldn't Open $hm");binmode(PNG);seek(PNG,12,0);
read(PNG,$hn,4);if($hn ne"IHDR"){close PNG;return(undef,undef,
"PNG - Missing Image Header - $hn");}read(PNG,$hn,8);close
PNG;return unpack("NN",$hn);}sub hk{my($hm)=@_;my($hn,$ho,$hp,
$hq,$hr);open(JPEG,$hm)||return(undef,undef,"JPEG - Couldn't Open $hm");
binmode(JPEG);read(JPEG,$hn,2);while(1){read(JPEG,$ho,4);($hp,
$hq,$hr)=unpack("a a n",$ho);if($hp ne"\xFF"){close JPEG;return(undef,
undef,"JPEG - Marker not Found");}if((ord($hq)>=0xC0)&&(ord($hq)
<=0xC3)){read(JPEG,$hn,5);close(JPEG);my($hs,$ht)=unpack("xnn",
$hn);return($ht,$hs);}else{read(JPEG,$hn,$hr-2);}}}sub ib{my
($hu,$hv)=@_;my($hw);read($hu,$hw,$hv);while(1){if(eof($hu))
{close AG;return(undef);}read($hu,$hw,1);last if ord($hw)==
0;read($hu,$hw,ord($hw));}1;}sub hj{my($hm)=@_;my($hn,$eh,$hx,
$hy,$ht,$hz,$hs,$ia);open(AG,$hm)||return(undef,undef,"GIF - Couldn't Open $hm");
binmode(AG);read(AG,$eh,6);read(AG,$hn,7);if(length($hn)!=7)
{close AG;return(undef,undef,"GIF - Corrupted Header");}($ht)
=unpack("x4 C",$hn);if($ht&0x80){$hx=3*(2**(($ht&0x07)+1));
read(AG,$hy,$hx);if(!$hy){close AG;return(undef,undef,"GIF - Corrupted Colour Map");
}}while(1){if(eof(AG)){close AG;return(undef,undef,"GIF - EOF at BlockStart");
}read(AG,$hn,1);($ht)=unpack("C",$hn);if($ht==0x2c){read(AG,
$hn,8);if(length($hn)!=8){close AG;return(undef,undef,"GIF - Missing Image Header");
}($ht,$hz,$hs,$ia)=unpack("x4 C4",$hn);close(AG);return($ht
+$hz* 256,$hs+$ia* 256);}if($ht==0x21){read(AG,$hn,1);($ht)
=unpack("C",$hn);if($ht==0xF9){read(AG,$hn,6);}elsif($ht==0xFE)
{&ib(\*AG,0)||return(undef,undef,"GIF - Bad Block - skip=0");
}elsif($ht==0x01){&ib(\*AG,13)||return(undef,undef,"GIF - Bad Block - skip=13");
}elsif($ht==0xFF){&ib(\*AG,12)||return(undef,undef,"GIF - Bad Block - skip=12");
}else{close AG;return(undef,undef,"GIF - Unknown Block Extension");
}}else{close AG;return(undef,undef,"GIF - Unknown Block Type");
}}}sub nj{return($_[0]=~/(.+)/s)[0]||$_[0];}sub nk{my$ic;foreach
(split/\n/,shift){s!\\!\\\\!g;s!\"!\\\"!g;s!!<\\/!g;$ic.=
qq|document.write("$_\\n");\n|;}return$ic;}sub nl{my$id=$_[0];
my$ie=$_[1];my$ig=$_[2];my@ih;my$ii;my$ij=scalar@{$id};my$ik
=int($ij/$cols)+int(int($ij/$cols)<($ij/$cols));foreach(@{$id})
{if(++$ii>$ik){$ii=1;}push(@{$ih[$ii]},$_);}if(defined$ig){
foreach(0..$#ih){while(scalar@{$ih[$_]}<$ie){push(@{$ih[$_]},
$ig);}}}shift@ih;return@ih;}sub nm{my($il,%im,$AH);$il=$_[0];
%im=%{$_[1]};$AH="\x0D\x0A";local(*AI);if(!defined&in){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_parseheader'\n");
}if(!defined&io){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_debug'\n");
}if(!defined&ip){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_readline'\n");
}if(!defined&iq){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_pop3auth'\n");
}if(!defined&ir){die("SMTP_sendmail: Couldn't find required subroutine 'FH_readline'\n");
}if(!defined&is){die("SMTP_sendmail: Couldn't find required subroutine 'FH_can_read'\n");
}foreach(keys%{$av{$z[400]}}){defined$im{$_}&&next;$im{$_}=
$av{$z[400]}{$_};}my($ev,$it,$iu,$iv,$dv);$ev=$im{$z[401]};
$it=$im{$z[402]}||25;$iu=$im{$z[403]}||$z[404];$iv=$im{$z[405]}
||30;$dv=$im{$z[406]}||0;$iv+=time()if$iv<10**8&&$iv>0;if($ev
=~s/:(\d+)//){$it=$1;}if(!$ev){$av{$z[407]}="No SMTP host specified.\n";
return 0;}if(!$it){$av{$z[407]}="No SMTP port specified.\n";
return 0;}my($iw,@ix)=&in($il);$il=~tr/\r//d;$il=~s/\n/\r\n/gs;
$il=~s/^\s*bcc\s*:.*\n//mgi;if($im{$z[408]}){&iq(\%im)||return
0;}my($iy)=gethostbyname($ev)||do{$av{$z[407]}="Could not connect to SMTP server. Unknown host $ev\n";
return 0;};socket(AI,PF_INET,SOCK_STREAM,0)||do{$av{$z[407]}
="Could not connect to SMTP server. No Socket: $!\n";return
0;};connect(AI,pack"SnA4x8",PF_INET,$it,$iy)||do{if($!eq"Unknown error")
{$av{$z[407]}="Could not connect to SMTP server. SMTP server does not exist or is not responding.\n";
return 0;}else{$av{$z[407]}="Could not connect to SMTP server. Connect failed: $!\n";
return 0;}};select(AI);$|=1;select(STDOUT);binmode(AI);my$iz
=&ip(\*AI,$iv)||do{$av{$z[407]}="Timed out waiting for SMTP server to respond.\n";
return 0;};if($dv){&io($iz);}if(substr($iz,0,3)ne"220"){$av{$z[407]}
="An unknown error occured. Server response: $iz\n";return
0;}print AI"HELO $iu",$AH;if($dv){&io("HELO $iu",$AH);}$iz=
&ip(\*AI,$iv)||do{$av{$z[407]}="Timed out waiting for SMTP server to respond.\n";
return 0;};if($dv){&io($iz);}if(substr($iz,0,3)ne"250"){$av{$z[407]}
="An unknown error occured. Server response: $iz\n";return
0;}print AI"MAIL FROM:<$iw>",$AH;if($dv){&io("MAIL FROM:<$iw>",
$AH);}$iz=&ip(\*AI,$iv)||do{$av{$z[407]}="Timed out waiting for SMTP server to respond.\n";
return 0;};if($dv){&io($iz);}if(substr($iz,0,3)ne"250"){$av{$z[407]}
="An unknown error occured. Server response: $iz\n";return
0;}my$ix;foreach$ix(@ix){print AI"RCPT TO:<$ix>",$AH;if($dv)
{&io("RCPT TO:<$ix>",$AH);}$iz=&ip(\*AI,$iv)||do{$av{$z[407]}
="Timed out waiting for SMTP server to respond.\n";return 0;
};if($dv){&io($iz);}if(substr($iz,0,2)eq"55"){$av{$z[407]}=
"The server won't accept mail for '$ix'. Server response: $iz\n";
return 0;}if(substr($iz,0,2)ne"25"){$av{$z[407]}="An unknown error occured. Server response: $iz\n";
return 0;}}print AI"DATA",$AH;if($dv){&io("DATA",$AH);}$iz=
&ip(\*AI,$iv)||do{$av{$z[407]}="Timed out waiting for SMTP server to respond.\n";
return 0;};if($dv){&io($iz);}if(substr($iz,0,3)ne"354"){$av{$z[407]}
="An unknown error occured. Server response: $iz\n";return
0;}$il=~s/^\./\.\./gm;print AI$il,$AH;if($dv){&io($il,$AH);
}print AI".",$AH;if($dv){&io(".",$AH);}$iz=&ip(\*AI,$iv)||do
{$av{$z[407]}="Timed out waiting for SMTP server to respond.\n";
return 0;};if($dv){&io($iz);}if(substr($iz,0,3)ne"250"){$av{$z[407]}
="An unknown error occured. Server response: $iz\n";return
0;}print AI"QUIT",$AH;if($dv){&io("QUIT",$AH);}close(AI);return
1;}sub in{my($il,$ja,$jb,$jc,$db);$il=$_[0];$il=~tr/\r//d;$ja
=$z[409];$ja.=$z[410];if($il=~m/^(.*?)\n\n(.*)$/s){($jb,$jc)
=($1,$2);}else{die("SMTP_parseheader: couldn't find email header!\n");
}my($iw,@ix);foreach$db(split(/\n/,$jb)){foreach(qw(from to cc bcc))
{if($db=~/^\s*$_\s*:/i){my$jd=$_;foreach($db=~m/($ja)/g){if
($jd eq$z[411]){$iw=$_;}else{push@ix,$_;}}}}}$iw||die("SMTP_parseheader: couldn't find from: address in mail header\n");
$#ix>=0||die("SMTP_parseheader: couldn't find to: address in mail header\n");
return($iw,@ix);}sub ip{my$AJ=$_[0];my$iv=int($_[1]);if(!$iv)
{die("SMTP_readline: no timeout value specified!\n");}if($iv
<10**8){die("SMTP_readline: timeout value must be in time() format!\n");
}fileno($AJ)||die("SMTP_readline: invalid filehandle or filehandle not open!\n");
my($db,$je);while(!$db||substr($db,3,1)eq$z[154]){$db=&ir($AJ,$iv);
$je.=$db;}return$je;}sub io{my$dw=join'',@_;$dw=~s/\s+$//m;
my$jf=localtime();local*AK;if(!$dw){$jf="";$dw="\n";}if($dw
=~/^From:/i){$dw="[email content]";}if($dw=~/^PASS /i){$dw=
"PASS (not shown)";}$dw=~s/</g;$dw=~s/>/>/g;$dw=~s/\r\n|\n/
\n/g;
print"$dw
\n\n";}sub iq{my($il,%im,$AH);%im=%{$_[0]};
$AH="\x0D\x0A";local(*AI);if(!$im{$z[412]}){die("SMTP_pop3auth: POP3 username not defined'\n");
}if(!$im{$z[413]}){die("SMTP_pop3auth: POP3 password not defined'\n");
}if($av{$z[414]}{$z[415]}){return 1;}my($ev,$it,$eu,$jg,$iv,$dv);
$ev=$im{$z[416]}||$im{$z[401]};$it=$im{$z[417]}||110;$eu=$im{$z[412]};
$jg=$im{$z[413]};$iv=$im{$z[418]}||$im{$z[405]}||30;$dv=$im{$z[406]}
||0;$iv+=time()if$iv<10**8&&$iv>0;if($ev=~s/:(\d+)//){$it=$1;
}my($iy)=gethostbyname($ev)||do{$av{$z[407]}="Could not connect to POP3 server. Unknown host $ev\n";
return 0;};socket(AI,PF_INET,SOCK_STREAM,0)||do{$av{$z[407]}
="Could not connect to POP3 server. No Socket: $!\n";return
0;};connect(AI,pack"SnA4x8",PF_INET,$it,$iy)||do{if($!eq"Unknown error")
{$av{$z[407]}="Could not connect to POP3 server. POP3 server does not exist or is not responding.\n";
return 0;}else{$av{$z[407]}="Could not connect to POP3 server. Connect failed: $!\n";
return 0;}};select(AI);$|=1;select(STDOUT);binmode(AI);my$iz
=&ir(\*AI,$iv)||do{$av{$z[407]}="Timed out waiting for POP3 server to respond.\n";
return 0;};if($dv){&io($iz);}if(uc(substr($iz,0,3))ne"+OK")
{$av{$z[407]}="An unknown error occured. Server response: $iz\n";
return 0;}print AI"USER $eu",$AH;if($dv){&io("USER $eu",$AH);
}$iz=&ir(\*AI,$iv)||do{$av{$z[407]}="Timed out waiting for POP3 server to respond.\n";
return 0;};if($dv){&io($iz);}if(substr($iz,0,3)ne"+OK"){$av{$z[407]}
="The server didn't accept the login info for '$eu'. Server response: $iz\n";
return 0;}print AI"PASS $jg",$AH;if($dv){&io("PASS $jg",$AH);
}$iz=&ir(\*AI,$iv)||do{$av{$z[407]}="Timed out waiting for POP3 server to respond.\n";
return 0;};if($dv){&io($iz);}if(substr($iz,0,3)ne"+OK"){$av{$z[407]}
="The server didn't accept the login info for '$eu'. Server response: $iz\n";
return 0;}print AI"QUIT",$AH;if($dv){&io("QUIT",$AH);}close(AI);
$av{$z[414]}{$z[415]}=1;return 1;}sub is{my$AJ=$_[0];my$iv=
$_[1]||$z[266];my($jh,$ji,$jj,$jk,$jl,$jm,$jn);fileno($AJ)||
die("fh_can_read: invalid filehandle or filehandle not open!\n");
vec($jh,fileno($AJ),1)=1;$jn=select($ji=$jh,undef,undef,$iv);
return vec($ji,fileno($AJ),1);}sub ir{my$AJ=$_[0];my$iv=int($_[1]);
if(!$iv){die("FH_readline: no timeout value specified!\n");
}if($iv<10**8){die("FH_readline: timeout value must be in time() format!\n");
}fileno($AJ)||die("FH_readline: invalid filehandle or filehandle not open!\n");
my($db,$jo);while($iv>=time()){&is(\*AI,0.25)||next;sysread(\*AI,$jo,
1)||last;$db.=$jo;if($jo eq"\x0A"){last;}}return$db;}sub jy
{my$jp=$av{$z[419]}{$z[420]}||={};my$jq=int++$jp->{$z[421]};
my$ed="FH$jq";return eval"local *$ed";}sub dg{return unless
($aw{$z[422]});my$jp=$av{$z[419]}{$z[423]}||={};$jp->{$z[424]}
||=[];my($jr,$iv)=@_;$jr||=$z[179];$iv||=0;if($jr ne$z[179]
and$jr ne$z[425]){&az("lock: invalid lock type: '$jr'");}my
$js;if(@{$jp->{$z[424]}}>0){$js=$jp->{$z[424]}[-1];}if($js
eq$z[179]){$jr=$js;}if($js eq$jr){push(@{$jp->{$z[424]}},$jr);
return 1;}my$jt;if($js eq$z[425]and$jr eq$z[179]){&az("lock: cannot upgrade a 'shared' lock to an 'exclusive' lock");
}$jt=&ju('',$jr,$iv);if($jt){push(@{$jp->{$z[424]}},$jr);}return
$jt;}sub dh{return unless($aw{$z[422]});my$jp=$av{$z[419]}{$z[423]}
||={};$jp->{$z[424]}||=[];my($iv)=@_;$iv||=0;unless(@{$jp->{$z[424]}}
>0){&az($z[426])}my$js=pop(@{$jp->{$z[424]}});return if(@{$jp->{$z[424]}}
>0 and$jp->{$z[424]}[-1]eq$js);if(@{$jp->{$z[424]}}==0){&jv('');
}}sub ju{my$jp=$av{$z[419]}{$z[423]}||={};my($jw,$jr,$iv)=@_;
my$jx;if($jw){$jx="$av{'datadir'}$jw.lock";}else{$jx=$av{$z[427]};
}if(not exists$jp->{$z[428]}{$jw}){$jp->{$z[428]}{$jw}{$z[429]}
=$jx;$jp->{$z[428]}{$jw}{$z[430]}=&jy();sysopen($jp->{$z[428]}{$jw}{$z[430]},
$jp->{$z[428]}{$jw}{$z[429]},O_RDONLY|O_CREAT)||&az($z[427],"error opening $jr file lock $jp->{'lockinfo'}{$jw}{'filename'}: $!\n");
}else{&az("_lock_flock: already a lock for semaphore '$jw'");
}my$jz;if($jr eq$z[425]){$jz=LOCK_SH;}if($jr eq$z[179]){$jz
=LOCK_EX;}if($iv>0){$jz|=LOCK_NB;}my$ka=time()+$iv;until(flock($jp->{$z[428]}{$jw}{$z[430]},
$jz)){if(time()<$ka){sleep(1);}else{close($jp->{$z[428]}{$jw}{$z[430]});
&az($z[431]);}}return 1;}sub jv{my$jp=$av{$z[419]}{$z[423]}
||={};my($jw)=@_;unless(flock($jp->{$z[428]}{$jw}{$z[430]},
LOCK_UN)){&az($z[427],"error releasing a flock() on file lock $jp->{'lockinfo'}{$jw}{'filename'}: $!\n");
}unless(close($jp->{$z[428]}{$jw}{$z[430]})){&az($z[427],"error closing file lock $jp->{'lockinfo'}{$jw}{'filename'}: $!\n");
}delete$jp->{$z[428]}{$jw};return 1;}sub nn{my$eg=shift;$eg
=~s|\\|/|g;if($eg=~m|^/|){return$eg;}if($eg=~m|^\w:/|){return
$eg;}return&kb($av{$z[432]}.$z[246].$eg);}sub kb{my$eg=shift;
$eg=~s|\\|/|g;1 while$eg=~s|[^/]*/\.\./||;return$eg;}sub np
{my($kc,@im)=@_;$kc=~s/\s+//g;$kc=uc$kc;my$kd;my$ke=-1;my$kf;
foreach$kf(split(/,/,$kc)){$ke++;my$kg=shift@im;my$kh=$kf=~
s/\[|\]//g;if($kf eq$z[433]){@im=();last;}next if($kh and not
defined$kg);next if($kf eq$z[434]and defined$kg);next if($kf
=~/\bVALUE\b/and not ref($kg)and defined($kg));next if(uc(ref
$kg)=~/\b$kf\b/);next if($kf=~/\bINT\b/and$kg!~/[^0-9\.\e\-]/i
and$kg==int($kg));$kd.=", "if$kd;$kd.="\$_[$ke] must be ";$kd
.="either "if$kh;$kd.=$kf;$kd.=" or undefined"if$kh;$kd.=" ARG: $kg.";
}if(@im){$ke++;$kd.=", "if$kd;$kd.="extra argument(s) \@_["
.($ke)." .. ".($ke+$#im)."]";}return 1unless$kd;my$ek=(caller(1))[3];
$ek=~s/^main:://;&az("Invalid arguments passed to $ek".": $kd");
}1;;sub nq{$ae{$z[435]}=int sprintf($z[436],&ki($ad{$z[437]}));
$av{$z[438]}=&kj();if($ENV{$z[219]}eq$z[335]){&kk;}if($ad{$z[318]})
{&kl($z[439]);}my$km=$z[440].$z[441].$z[442].$z[443];("96351328555555555555555555555555238737:55555555555555555555555555211741355555555555555555555555555491816455555555555555555555555555","14759782872373089936976192946")
-$av{$z[438]}&&&kl(pack($z[261],$km));if(!$ad{$z[444]}){&kn;
}if(!$ae{$z[435]}){die("Invalid Product ID number $ad{'reg3'}\n");
}my($ko);($ko=lc$av{$z[432]})=~s/[^a-z0-9]//g;if($ad{$z[315]}
!=unpack$z[445],pack$z[446],$ko){$ad{$z[315]}=unpack$z[445],
pack$z[446],$ko;&da($as{$z[114]},\%ad,1);&kk;}if(&ki&&int(rand(50)+1)==1)
{print$z [447],"\n\n";exit;}}sub kn{&ac($z[448],{});my@kp=(
undef,\&kq,\&kr,\&ks,\&kt,\&ku,\&kv,\&kw,);if($ad{$z[449]}&&
$ad{$z[450]}&&$ad{$z[437]}&&&ki($ad{$z[437]})){if($ag{$z[451]})
{&kx;}if($ag{$z[452]}){&ky($z[453]);}if($ag{$z[454]}){&ky($z[455]);
}}my$kz=int($ag{$z[456]})||1;if($kz>$#kp){die("Install: Invalid step number!\n");
}$ae{$z[457]}=$kz;if(!$ag{$z[458]}&&$kz==1){&{$kp[1]};}else
{&{$kp[$kz]}($z[458]);$ae{$z[457]}=$kz+1;&{$kp[$kz+1]};}}sub
kq{my$la=shift;if(!$la){print"Content-type: text/html\n\n";
foreach($z[459],$z[460],$z[461]){print&af($_,{});}&lb();exit;
}undef;}sub kr{my$la=shift;if(!$la){print"Content-type: text/html\n\n";
foreach($z[459],$z[462],$z[461]){print&af($_,{});}&lb();exit;
}if($ag{$z[463]}){return;}else{print"Location: http://www.interactivetools.com/\n\n";
&lb();exit;}}sub ks{my$la=shift;if(!$la){$ae{$z[464]}||=$ENV{$z[465]}
||$ENV{$z[466]};print"Content-type: text/html\n\n";foreach($z[459],$z[467],$z[461])
{print&af($_,{});}&lb();exit;}$ag{$z[437]}=~s/\s+//g;if(!&ki($ag{$z[437]}))
{$ae{$z[407]}=$z[468];}if(!$ag{$z[437]}){$ae{$z[407]}=$z[469];
}if(!$ag{$z[450]}){$ae{$z[407]}=$z[470];}if(!$ag{$z[449]}){
$ae{$z[407]}=$z[471];}if($ae{$z[407]}){print"Content-type: text/html\n\n";
foreach($z[449],$z[450],$z[437]){$ae{$z[472].$_}=$ag{$_};}foreach
($z[459],$z[467],$z[461]){print&af($_,{});}&lb();exit;}&ar($as{$z[114]},
\%ad,1);foreach($z[449],$z[450],$z[437]){$ad{$_}=$ag{$_};}$ad{$z[4]}
=$av{$z[46]};&da($as{$z[114]},\%ad,1);}sub kt{my$la=shift;if
(!$la){$ae{$z[473]}=$ad{$z[473]};$ae{$z[473]}||=(&ld($z[474]))[0];
print"Content-type: text/html\n\n";foreach($z[459],$z[475],$z[461])
{print&af($_,{});}&lb();exit;}&ar($as{$z[114]},\%ad,1);$ad{$z[473]}
=$ag{$z[473]};if($ad{$z[473]}!~/\/$/){$ad{$z[473]}.=$z[246];
}&da($as{$z[114]},\%ad,1);}sub kx{my$la=shift;$ae{$z[476]}=
$ag{$z[477]};if($ae{$z[476]}!~/\/$/){$ae{$z[476]}.=$z[246];
}$ae{$z[478]}=$z[479];print"Content-type: text/html\n\n";foreach
($z[459],$z[451],$z[461]){print&af($_,{});}&lb();exit;}sub
ku{my$la=shift;if(!$la){($ae{$z[480]},$ae{$z[481]})=($ad{$z[480]},
$ad{$z[481]});unless($ae{$z[480]}||$ae{$z[481]}){($ae{$z[480]},
$ae{$z[481]})=&ld($z[482]);}($ae{$z[2]},$ae{$z[483]})=($ad{$z[2]},
$ad{$z[483]});unless($ae{$z[2]}||$ae{$z[483]}){($ae{$z[2]},
$ae{$z[483]})=&ld($z[484]);}$ae{$z[485]}=$ad{$z[485]};unless
($ae{$z[485]}){$ae{$z[485]}=$ENV{$z[486]};$ae{$z[485]}=~s|/[^/]+$|/search.cgi|;
$ae{$z[485]}=~s|^/||;$ae{$z[485]}=$z[487].($ENV{$z[465]}||$ENV{$z[466]}
||$ENV{$z[488]}).$z[246].$ae{$z[485]};}$ae{$z[489]}=$ad{$z[489]};
unless($ae{$z[489]}){$ae{$z[489]}=$ENV{$z[486]};$ae{$z[489]}
=~s|/[^/]+$|/view.cgi|;$ae{$z[489]}=~s|^/||;$ae{$z[489]}=$z[487].($ENV{$z[465]}
||$ENV{$z[466]}||$ENV{$z[488]}).$z[246].$ae{$z[489]};}print
"Content-type: text/html\n\n";foreach($z[459],$z[490],$z[461])
{print&af($_,{});}&lb();exit;}foreach(keys%ag){if(/^dir_/||
/^url_/){if(!$ag{$_}){next;}$ag{$_}=~tr|\\|/|;if(/^url_/&&index($ag{$_},$z[491])
>=0){next;}if(/^url_/&&index($ag{$_},$z[492])>=0){next;}if(substr($ag{$_},-1,1)
ne$z[246]){$ag{$_}.=$z[246];}}}&ar($as{$z[114]},\%ad,1);$ad{$z[485]}
=$ag{$z[485]};$ad{$z[489]}=$ag{$z[489]};$ad{$z[480]}=$ag{$z[480]};
$ad{$z[2]}=$ag{$z[2]};$ad{$z[481]}=$ag{$z[481]};$ad{$z[483]}
=$ag{$z[483]};&da($as{$z[114]},\%ad,1);}sub kv{my$la=shift;
if(!$la){print"Content-type: text/html\n\n";foreach($z[459],$z[493],$z[461])
{print&af($_,{});}&lb();exit;}my%le;if(!$ag{$z[494]}||!$ag{$z[495]})
{$ae{$z[407]}=$z[496];}elsif(&lf($as{$z[107]},\%le,$z[497],
$ag{$z[494]})){if($le{$z[498]}eq$ag{$z[495]}){return;}$ae{$z[407]}
=$z[499];}if($ae{$z[407]}){print$z [500]."\n\n";foreach($z[459],$z[493],$z[461])
{print&af($_,\%ag);}&lb();exit;}my%eu=($z[501]=>$^T,$z[502]
=>$^T,$z[36]=>$ag{$z[494]},$z[497]=>$ag{$z[494]},$z[498]=>$ag{$z[495]},
$z[503]=>$z[504]);&de($as{$z[107]},\%eu);}sub kw{if(!&ki($ad{$z[437]}))
{print"Location: $av{'cgiurl'}?step=1\n\n";exit;}if(!$ad{$z[437]})
{print"Location: $av{'cgiurl'}?step=1\n\n";exit;}if(!$ad{$z[450]})
{print"Location: $av{'cgiurl'}?step=1\n\n";exit;}if(!$ad{$z[449]})
{print"Location: $av{'cgiurl'}?step=1\n\n";exit;}my($ko);($ko
=lc$av{$z[432]})=~s/[^a-z0-9]//g;&ar($as{$z[114]},\%ad,1);$ad{$z[315]}
=unpack$z[445],pack$z[446],$ko;$ad{$z[444]}=1;&da($as{$z[114]},
\%ad,1);&lg($z[497],'');undef$ax{$z[497]};&lg($z[498],'');undef
$ax{$z[498]};&kk;}sub ld{&dv("guess_url_and_dir(@_)");my$lh
=shift;$lh=~s|^/||;(my$li=$lh)=~s|/[^/]+$|/|;(my$lj=$ENV{$z[486]})
=~s|/[^/]+$|/|;$lj=~s|^/||;$lj=$z[487].($ENV{$z[465]}||$ENV{$z[466]}
||$ENV{$z[488]}).$z[246].$lj;my$lk=$av{prog_name2};my@ll=qw( htdocs httpd www web html );
my@lm;push@lm,[$z[505],$z[505]];push@lm,[$z[506].$lk.$z[246],
$z[506].$lk.$z[246]];foreach(@ll){push@lm,[$z[506].$lk.$z[246],
$z[506].$_.$z[246].$lk.$z[246]];}foreach(@ll){push@lm,[$z[506],
$z[506].$_.$z[246]];}push@lm,[$z[506],$z[506]];foreach(@lm)
{my($ln,$lo)=@$_;&dv($z[507]."$av{'cgidir'}/$lo$lh
");if
(-e"$av{'cgidir'}/$lo$lh"){return(&lp("$lj$ln$li"),&lp("$av{'cgidir'}/$lo$li"));
}}return(&lp("$lj../$li"),&lp("$av{'cgidir'}/../$li"));}sub
lp{my$eg=shift;1 while($eg=~s|/[^/]+/\.\.||);return$eg;}sub
ki{my($ad,$cb,$lq,$lr,@ls)=(shift,(undef)x3,265,193);my%lt=map
{$_,$cb++}split(//,$z[508]);$ad=~s/-//g;my@ad=split(//,$ad);
for(0,1){my$lu;for(0..7){$lu*=33;$lu+=$lt{shift@ad}}$lq=$lu/($av{$z[52]}*
shift(@ls))-1261;($lq-int$lq||$lq<1||($lr&&$lq!=$lr))?return
undef:($lr=$lq)}$lq}sub kk{&dv("sub _register
");my($lv);
my$ev=$ENV{$z[465]}||$ENV{$z[466]}||$ENV{$z[488]};my$eg=$ENV{$z[486]}
||$ENV{$z[509]};$lv.=$z[510].&fg($ad{$z[449]});$lv.=$z[511]
.&fg($ad{$z[450]});$lv.=$z[512].&fg($ae{$z[435]});$lv.=$z[513]
.&fg($av{$z[48]});$lv.=$z[514].&fg($av{$z[50]});$lv.=$z[515]
.&fg("$ev$eg");$lv.=$z[516].&fg($av{$z[438]});&dv($lv);my$iy
=gethostbyname($z[517])||return;local(*AI);socket(AI,&PF_INET,
&SOCK_STREAM,0)||die("No Socket: $!");connect(AI,pack"SnA4x8",
&PF_INET,80,$iy)||return;select(AI);$|=1;select(STDOUT);print
AI"GET /register/register.cgi?$lv HTTP/1.0\n";print AI"Referer: $ENV{'HTTP_REFERER'}\n";
print AI"User-Agent: itools_software\n\n";my$lw=join("",);
close(AI);if($lw=~/itools\.license\.invalid/){$ad{$z[318]}=
1;}if($lw=~/itools\.license\.valid/){$ad{$z[318]}=0;}&dv($lw);
&da($as{$z[114]},\%ad,1);if($ad{$z[318]}){&kl($z[439]);}}sub
kj{local(*AB);open(AB,"<$av{'cgidir'}/$av{'cgifile'}");;
binmode(AB);my$je.=join'',;close(AB);$je=~tr/\r\n//d;$av{$z[438]}
=unpack$z[445],$je;}1;;%aw=&lx("$bc/config.ini");$ae{$z[518]}
=$aw{$z[519]}{$z[520]}||"#336699";$av{$z[521]}=$aw{$z[521]}
||$z[522];$av{$z[427]}=$aw{$z[427]}||$z[523];$av{$z[524]}=$aw{$z[519]}{$z[524]}
||$z[525];$av{$z[526]}=$aw{$z[519]}{$z[526]}||$z[527];$av{$z[528]}
=$aw{$z[519]}{$z[528]}||$z[343];&az("macftp")if$z[529]ne"\xA1";
&az($z[530])if$ENV{$z[531]}&&!$aw{$z[532]};%av=(%av,$z[432]
=>$bc,$z[533]=>$ba,$z[534]=>$ba,$z[535]=>$z[536],$z[537]=>$z[538],
$z[539]=>$z[540],$z[541]=>0,);foreach(qw(datadir filelock templatedir1 templatedir2 templatedir3 archive))
{if(ref($av{$_})){next;}$av{$_}="$bc/$av{$_}"if(index($av{$_},$z[542])
==0);$av{$_}=~s|\\|/|g;1 while$av{$_}=~s|/[^/]+/\.\./|/|;}&ar($as{$z[114]},
\%ad,1);if(!$ad{$z[444]}){&az($z[543]);}foreach(grep/^dir_/,
keys%ad){$ad{$_}="$av{'cgidir'}/$ad{$_}"if index($ad{$_},$z[542])
==0;$ad{$_}=~tr|\\|/|;1 while$ad{$_}=~s|/[^/]+/\.\.||;}if(!$ENV{$z[486]})
{if($ARGV[0]=~/^publish$/i){&ly();}print$z [544],"\n\n";exit;
}foreach(qw(prog_name prog_name2 prog_ver cgidir cgiurl)){$ae{$z[472].$_}
=$av{$_};}foreach(qw(url_help reg1 reg2 reg3)){$ae{$z[472].$_}
=$ad{$_};}$ae{$z[545]}=$ad{$z[473]};$ae{$z[546]}=join$z[547],
grep{$_}$av{$z[46]},$ad{$z[4]};$ae{$z[548]}||=$ad{$z[4]};%ag
=&lz;%ax=&ma;}sub az{my($mb)=$ae{$z[549]};my($eh,$mc,$md)=@_;
my(%me,$mf,$mg);$mc=&au($mc);$ae{$z[518]}||="#336699";%me=($z[550]
=>[("Can't find record # $mc","The program can't find the specified record number in the database. This is usually because the record has already been erased. Reload the record list and try again.")],
$z[551]=>[("Warning: File/Directory not writeable!","This web application needs to be able to create and update it's data files. Please ask your server administrator to make the following files and directories writeable:$mc")],
$z[427]=>[("Warning: Persistent Filelock!","This web application uses 'file locks' to ensure than only one user can update data at a time. The program was halted while in the middle of writing/accessing data because it could not obtain a filelock. Please ask your server administrator to fix the permissions (you need read-write access on your data directory).
For your reference, the filelock error was: '$mc'.")],
$z[431]=>[($z[552],$z[553])],$z[554]=>[("Warning: Program corrupted during upload!",
"This is usually caused by Mac FTP clients that have an \"Translate ISO characters\" setting enabled.
If you are using a Mac, try disabling this setting and re-uploading all the files, otherwise, contact support for assistance. ")],
$z[555]=>[("Publishing Error","The program cannot create or write to the file:
$mc
Please ask your server administrator to make sure the publish directory and publish file(s) are writable.")],
$z[530]=>[("Program doesn't support mod_perl","Your server is running $ENV{MOD_PERL}
This program doesn't support mod_perl. Please ask your server administrator to disable mod_perl for this program.")],
$z[556]=>[($z[557],$z[558])],$z[559]=>[("No such file or directory",
"The program can't find the file or directory it's looking for. Please make sure the following file or directory exists:
$mc")],
$z[560]=>[("Permission denied","The program doesn't have permission to access a required file. Please make sure the program has read and write access to the following directories and files:
$mc")],
$z[206]=>[("File System Error!","The program is unable to access a required file. Please contact your server administrator or technical support for assistance.
The error was: $mc",
$mh)],);my($mi)=$ae{$z[546]}||$me{$eh}[0]||"Program Message";
if($me{$eh}[0]){$mg=$me{$eh}[0];}elsif($mc&&$eh){$mg=&au($eh);
}else{$mg="Program Message";}$mf=$me{$eh}[1]||$mc||&au("@_");
if(!$me{$eh}[1]){$mf=~s/\n/
\n/g;}if(!$ENV{$z[486]})
{$mf=~s/(<.*?>)+/\n/g;print"\n\nFatal Error: $mg\n\n$mf\n\n";
exit;}if($av{$z[406]}){$mf.="
Stack Trace
";$mf
.="
";
my$cb=0;while(my($dy,$db,$ek)=(caller($cb++))[1,2,3]){$dy=~
s/^.*[\/\\]//;$ek=~s/^main:://;unless($ek=~s/__ANON__/(anonymous)/)
{$ek=$z[214].$ek;}$mf.=qq! $dy | !;
$mf.=qq! ($db) | !;
$mf.=qq! | !;
$mf.=qq! called $ek | !;
$mf.=qq!\n |
!;}$mf.="
";
}if(!$av{$z[541]}++){print"Cache-Control: no-cache\nPragma: no-cache\nExpires: -1\n";
print"Content-type: text/html\n\n";}my$mj=$z[561]if$md;print
qq|\n\n \n $mi\n \n \n\n\n|
;if($av{$z[406]}&&$av{$z[215]}){print"";
print"$av{'debug_output'}"if($av{$z[215]});print"
";
}if($av{$z[562]}){rmdir($av{$z[427]})&&undef$av{$z[562]};}printf($z[563]."\n",time()-$^T);
print$z [564]."\n\n";exit;}sub ai{my$mk=shift;my$bx=sub{my$aq
=shift;if(not$aq->{$z[565]}){my$an=($mk==$aq->{$z[421]})?$z[24]
:'';$ae{$z[566]}.=qq|\n|;
}};&ml($as{$z[35]},$bx);}sub nr{my$mm=shift;foreach(grep/^templatedir/,
sort keys%av){if(-e"$av{$_}/$mm"){return 1;}}return 0;}sub
ns{my($fb,$hh,@mn)=@_;my$mo;foreach$mo(@mn){if(defined$av{$z[240]}{$z[248]}{$fb
.$mo}){$fb.=$mo;}else{last;}}&af($fb,$hh);}sub ah{%at=($z[567]
=>$z[568],$z[569]=>$z[570],$z[571]=>$z[572],$z[573]=>$z[574],
$z[575]=>$z[576],$z[577]=>$z[578],);%aj=&lx("$av{'cgidir'}/../templates/syndicate/styles.ini");
$aj{$z[21]}={$z[15]=>$z[579],$z[580]=>$z[228],$z[581]=>$z[582],
$z[37]=>$z[567],$z[583]=>$z[584],$z[585]=>$z[586],$z[587]=>
$z[582],$z[588]=>$z[582],$z[589]=>$z[582],$z[38]=>$z[567],$z[590]
=>$z[591],$z[592]=>$z[593],$z[594]=>$z[582],$z[595]=>$z[582],
$z[596]=>$z[582],$z[39]=>$z[567],$z[597]=>$z[584],$z[598]=>
$z[593],$z[520]=>$z[599],};}sub al{my$mp=shift;foreach(keys
%{$mp}){if(!/\W/&&$mp->{$_}!~/\W/){$mp->{$_.$z[472].$mp->{$_}.$z[600]}
=$z[601];$mp->{$_.$z[472].$mp->{$_}.$z[602]}=$z[603];}}return
$mp;}sub ap{my%ao;foreach(keys%{$aj{$z[21]}}){$ao{$_}=$aj{$z[21]
}{$_};}if(defined$ag{$z[19]}&&$ag{$z[19]}ne$z[20]){$ao{$z[19]}
=$ag{$z[19]};foreach(keys%{$aj{$ag{$z[19]}}}){$ao{$_}=$aj{$ag{$z[19]}}{$_};
}}else{$ao{$z[19]}=$z[20];foreach(keys%{$aj{$z[21]}}){if($ag{$_})
{$ao{$_}=$ag{$_};}elsif(defined$ag{$_.$z[22]}){$ao{$_}=$ag{
$_.$z[22]};}}}foreach($z[8],$z[7],$z[604],$z[605],$z[606]){
if($ag{$_}){$ao{$_}=$ag{$_};}elsif(defined$ag{$_.$z[22]}){$ao{$_}
=$ag{$_.$z[22]};}}return%ao;}sub ak{my($el)=@_;my$mq={};my$mr;
foreach$mr(keys%$el){$mq->{$mr}=&fh($el->{$mr});}return$mq;
}
# ----------------------------------------------------------------------------
# Programming by interactivetools.com, inc.